7#include "ruby/internal/config.h"
8#include "ruby_assert.h"
15# define YJIT_STATS RUBY_DEBUG
18#if USE_YJIT && !defined(MJIT_HEADER)
21#if defined(_WIN32) ? defined(_M_AMD64) : (defined(__x86_64__) || defined(__aarch64__))
24# error YJIT unsupported platform
28bool rb_yjit_enabled_p(
void);
29unsigned rb_yjit_call_threshold(
void);
30void rb_yjit_invalidate_all_method_lookup_assumptions(
void);
32void rb_yjit_collect_vm_usage_insn(
int insn);
33void rb_yjit_collect_binding_alloc(
void);
34void rb_yjit_collect_binding_set(
void);
36void rb_yjit_init(
void);
37void rb_yjit_bop_redefined(
int redefined_flag,
enum ruby_basic_operators bop);
38void rb_yjit_constant_state_changed(
ID id);
39void rb_yjit_iseq_mark(
void *payload);
40void rb_yjit_iseq_update_references(
void *payload);
41void rb_yjit_iseq_free(
void *payload);
42void rb_yjit_before_ractor_spawn(
void);
43void rb_yjit_constant_ic_update(
const rb_iseq_t *
const iseq,
IC ic,
unsigned insn_idx);
44void rb_yjit_tracing_invalidate_all(
void);
50static inline bool rb_yjit_enabled_p(
void) {
return false; }
51static inline unsigned rb_yjit_call_threshold(
void) {
return UINT_MAX; }
52static inline void rb_yjit_invalidate_all_method_lookup_assumptions(
void) {}
54static inline void rb_yjit_collect_vm_usage_insn(
int insn) {}
55static inline void rb_yjit_collect_binding_alloc(
void) {}
56static inline void rb_yjit_collect_binding_set(
void) {}
58static inline void rb_yjit_init(
void) {}
59static inline void rb_yjit_bop_redefined(
int redefined_flag,
enum ruby_basic_operators bop) {}
60static inline void rb_yjit_constant_state_changed(
ID id) {}
61static inline void rb_yjit_iseq_mark(
void *payload) {}
62static inline void rb_yjit_iseq_update_references(
void *payload) {}
63static inline void rb_yjit_iseq_free(
void *payload) {}
64static inline void rb_yjit_before_ractor_spawn(
void) {}
65static inline void rb_yjit_constant_ic_update(
const rb_iseq_t *
const iseq,
IC ic,
unsigned insn_idx) {}
66static inline void rb_yjit_tracing_invalidate_all(
void) {}
uintptr_t ID
Type that represents a Ruby identifier such as a variable name.