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;
53bool rb_yjit_enabled_p(
void);
54unsigned rb_yjit_call_threshold(
void);
56void rb_yjit_invalidate_all_method_lookup_assumptions(
void);
57void rb_yjit_method_lookup_change(VALUE klass, ID mid);
58void rb_yjit_cme_invalidate(VALUE cme);
59void rb_yjit_collect_vm_usage_insn(
int insn);
60void rb_yjit_collect_binding_alloc(
void);
61void rb_yjit_collect_binding_set(
void);
64void rb_yjit_bop_redefined(VALUE klass,
const rb_method_entry_t *me,
enum ruby_basic_operators bop);
65void rb_yjit_constant_state_changed(
void);
69void rb_yjit_before_ractor_spawn(
void);
70void rb_yjit_constant_ic_update(
const rb_iseq_t *
const iseq,
IC ic);
71void rb_yjit_tracing_invalidate_all(
void);