7 #include "ruby/internal/config.h"
8 #include "ruby_assert.h"
15 # define YJIT_STATS RUBY_DEBUG
19 #if defined(__x86_64__) && !defined(_WIN32)
20 # define YJIT_SUPPORTED_P 1
22 # define YJIT_SUPPORTED_P 0
30 unsigned exec_mem_size;
34 unsigned call_threshold;
37 bool greedy_versioning;
44 unsigned max_versions;
53 bool rb_yjit_enabled_p(
void);
54 unsigned rb_yjit_call_threshold(
void);
56 void rb_yjit_invalidate_all_method_lookup_assumptions(
void);
57 void rb_yjit_method_lookup_change(
VALUE klass,
ID mid);
58 void rb_yjit_cme_invalidate(
VALUE cme);
59 void rb_yjit_collect_vm_usage_insn(
int insn);
60 void rb_yjit_collect_binding_alloc(
void);
61 void rb_yjit_collect_binding_set(
void);
65 void rb_yjit_constant_state_changed(
void);
69 void rb_yjit_before_ractor_spawn(
void);
70 void rb_yjit_constant_ic_update(
const rb_iseq_t *
const iseq,
IC ic);
71 void rb_yjit_tracing_invalidate_all(
void);
uintptr_t ID
Type that represents a Ruby identifier such as a variable name.
uintptr_t VALUE
Type that represents a Ruby object.