Ejemplo n.º 1
0
VALUE rb_str_new_cstr(const char *string) {
  if (truffle_is_truffle_object((VALUE) string)) {
    return (VALUE) truffle_invoke(RUBY_CEXT, "to_ruby_string", string);
  } else {
    return (VALUE) truffle_invoke(RUBY_CEXT, "rb_str_new_cstr", truffle_read_string(string));
  }
}
Ejemplo n.º 2
0
VALUE rb_str_new(const char *string, long length) {
  if (string == NULL) {
    return (VALUE) truffle_invoke(RUBY_CEXT, "rb_str_new_nul", length);
  } else if (truffle_is_truffle_object((VALUE) string)) {
    return (VALUE) truffle_invoke(RUBY_CEXT, "rb_str_new", string, length);
  } else {
    return (VALUE) truffle_invoke(RUBY_CEXT, "rb_str_new_cstr", truffle_read_n_string(string, length));
  }
}
Ejemplo n.º 3
0
SEXP Rf_allocVector3(SEXPTYPE t, R_xlen_t len, R_allocator_t* allocator) {
    if (allocator != NULL) {
	    return unimplemented("RF_allocVector with custom allocator");
    }
	IMPORT_CALLHELPER();
	return truffle_invoke(obj, "Rf_allocateVector", t, len);
}
Ejemplo n.º 4
0
void rb_warning(const char *format, ...) {
  if (truffle_invoke(RUBY_CEXT, "verbose") == Qtrue) {
    va_list args;
    va_start(args, format);
    vfprintf(stderr, format, args);
    va_end(args);
  }
}
Ejemplo n.º 5
0
void rb_warn(const char *format, ...) {
  if (!truffle_invoke_b(truffle_invoke(RUBY_CEXT, "verbose"), "nil?")) {
    va_list args;
    va_start(args, format);
    vfprintf(stderr, format, args);
    va_end(args);
  }
}
Ejemplo n.º 6
0
char *ensure_truffle_chararray_n(const char *x, int n) {
	if (truffle_is_truffle_object(x)) {
		return x;
	} else {
		IMPORT_CALLHELPER();
		return truffle_invoke(obj, "bytesToNativeCharArray", truffle_read_n_bytes(x, n));
	}
}
Ejemplo n.º 7
0
void Rprintf(const char *format, ...) {
	char buf[8192];
	va_list(ap);
	va_start(ap,format);
	Rvsnprintf(buf, BUFSIZE - 1, format, ap);
	va_end(ap);
	void *str = truffle_read_string(buf);
	IMPORT_CALLHELPER();
	truffle_invoke(obj, "printf", str);
}
Ejemplo n.º 8
0
int rb_nativethread_lock_initialize(rb_nativethread_lock_t *lock) {
  *lock = truffle_invoke(RUBY_CEXT, "rb_nativethread_lock_initialize");
  return 0;
}
Ejemplo n.º 9
0
VALUE rb_gc_disable() {
  return (VALUE) truffle_invoke(RUBY_CEXT, "rb_gc_disable");
}
Ejemplo n.º 10
0
VALUE rb_mutex_sleep(VALUE mutex, VALUE timeout) {
  return (VALUE) truffle_invoke(RUBY_CEXT, "rb_mutex_sleep", mutex, timeout);
}
Ejemplo n.º 11
0
VALUE rb_mutex_locked_p(VALUE mutex) {
  return (VALUE) truffle_invoke(RUBY_CEXT, "rb_mutex_locked_p", mutex);
}
Ejemplo n.º 12
0
VALUE rb_complex_set_imag(VALUE complex, VALUE imag) {
  return (VALUE) truffle_invoke(RUBY_CEXT, "rb_complex_set_imag", complex, imag);
}
Ejemplo n.º 13
0
VALUE rb_complex_polar(VALUE r, VALUE theta) {
  return (VALUE) truffle_invoke(RUBY_CEXT, "rb_complex_polar", r, theta);
}
Ejemplo n.º 14
0
void rb_attr(VALUE ruby_class, ID name, int read, int write, int ex) {
  truffle_invoke(RUBY_CEXT, "rb_attr", ruby_class, name, read, write, ex);
}
Ejemplo n.º 15
0
void rb_undef(VALUE module, ID name) {
  truffle_invoke(RUBY_CEXT, "rb_undef", module, name);
}
Ejemplo n.º 16
0
VALUE rb_Complex(VALUE real, VALUE imag) {
  return (VALUE) truffle_invoke(RUBY_CEXT, "rb_Complex", real, imag);
}
Ejemplo n.º 17
0
VALUE rb_complex_raw(VALUE real, VALUE imag) {
  return (VALUE) truffle_invoke(RUBY_CEXT, "rb_complex_raw", real, imag);
}
Ejemplo n.º 18
0
void rb_define_alloc_func(VALUE ruby_class, rb_alloc_func_t alloc_function) {
  truffle_invoke(RUBY_CEXT, "rb_define_alloc_func", ruby_class, truffle_address_to_function(alloc_function));
}
Ejemplo n.º 19
0
VALUE rb_complex_set_real(VALUE complex, VALUE real) {
  return (VALUE) truffle_invoke(RUBY_CEXT, "rb_complex_set_real", complex, real);
}
Ejemplo n.º 20
0
VALUE rb_Rational(VALUE num, VALUE den) {
  return (VALUE) truffle_invoke(RUBY_CEXT, "rb_Rational", num, den);
}
Ejemplo n.º 21
0
VALUE rb_mutex_new(void) {
  return (VALUE) truffle_invoke(RUBY_CEXT, "rb_mutex_new");
}
Ejemplo n.º 22
0
VALUE rb_rational_new(VALUE num, VALUE den) {
  return (VALUE) truffle_invoke(RUBY_CEXT, "rb_rational_new", num, den);
}
Ejemplo n.º 23
0
VALUE rb_mutex_unlock(VALUE mutex) {
  return (VALUE) truffle_invoke(RUBY_CEXT, "rb_mutex_unlock", mutex);
}
Ejemplo n.º 24
0
VALUE rb_rational_num(VALUE rat) {
  return (VALUE) truffle_invoke((void *)rat, "numerator");
}
Ejemplo n.º 25
0
VALUE rb_mutex_synchronize(VALUE mutex, VALUE (*func)(VALUE arg), VALUE arg) {
  return (VALUE) truffle_invoke(RUBY_CEXT, "rb_mutex_synchronize", mutex, func, arg);
}
Ejemplo n.º 26
0
VALUE rb_rational_den(VALUE rat) {
  return (VALUE) truffle_invoke((void *)rat, "denominator");
}
Ejemplo n.º 27
0
rb_nativethread_id_t rb_nativethread_self() {
  return (VALUE) truffle_invoke(RUBY_CEXT, "rb_nativethread_self");
}
Ejemplo n.º 28
0
VALUE rb_flt_rationalize_with_prec(VALUE value, VALUE precision) {
  return (VALUE) truffle_invoke((void *)value, "rationalize", precision);
}
Ejemplo n.º 29
0
int rb_nativethread_lock_unlock(rb_nativethread_lock_t *lock) {
  truffle_invoke((void *)lock, "unlock");
  return 0;
}
Ejemplo n.º 30
0
VALUE rb_flt_rationalize(VALUE value) {
  return (VALUE) truffle_invoke((void *)value, "rationalize");
}