summaryrefslogtreecommitdiff
path: root/rjit_c.c
diff options
context:
space:
mode:
authorTakashi Kokubun <takashikkbn@gmail.com>2023-03-11 21:10:44 -0800
committerTakashi Kokubun <takashikkbn@gmail.com>2023-03-11 21:26:40 -0800
commit58f7e8b7f83babeefb39d1a919d43de237c36c8a (patch)
treeba59a593ad5f7fc16aa25261d2d8471d77162c06 /rjit_c.c
parent47a6cfca720729d1ae3af534521cbe2a2f93cd50 (diff)
downloadruby-58f7e8b7f83babeefb39d1a919d43de237c36c8a.tar.gz
RJIT: Automate function pointer imports
Diffstat (limited to 'rjit_c.c')
-rw-r--r--rjit_c.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/rjit_c.c b/rjit_c.c
index 90f39de883..0df65d53d9 100644
--- a/rjit_c.c
+++ b/rjit_c.c
@@ -288,8 +288,20 @@ rjit_for_each_iseq(rb_execution_context_t *ec, VALUE self, VALUE block)
return Qnil;
}
-extern bool rb_simple_iseq_p(const rb_iseq_t *iseq);
+// bindgen funcs
extern ID rb_get_symbol_id(VALUE name);
+extern VALUE rb_fix_aref(VALUE fix, VALUE idx);
+extern VALUE rb_str_getbyte(VALUE str, VALUE index);
+extern VALUE rb_vm_concat_array(VALUE ary1, VALUE ary2st);
+extern VALUE rb_vm_get_ev_const(rb_execution_context_t *ec, VALUE orig_klass, ID id, VALUE allow_nil);
+extern VALUE rb_vm_getclassvariable(const rb_iseq_t *iseq, const rb_control_frame_t *cfp, ID id, ICVARC ic);
+extern VALUE rb_vm_opt_newarray_min(rb_execution_context_t *ec, rb_num_t num, const VALUE *ptr);
+extern VALUE rb_vm_splat_array(VALUE flag, VALUE array);
+extern bool rb_simple_iseq_p(const rb_iseq_t *iseq);
+extern bool rb_vm_defined(rb_execution_context_t *ec, rb_control_frame_t *reg_cfp, rb_num_t op_type, VALUE obj, VALUE v);
+extern bool rb_vm_ic_hit_p(IC ic, const VALUE *reg_ep);
+extern rb_event_flag_t rb_rjit_global_events;
+extern void rb_vm_setinstancevariable(const rb_iseq_t *iseq, VALUE obj, ID id, VALUE val, IVC ic);
#include "rjit_c.rbinc"