summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--yjit/src/cruby_bindings.inc.rs6
-rw-r--r--zjit/src/codegen.rs11
2 files changed, 17 insertions, 0 deletions
diff --git a/yjit/src/cruby_bindings.inc.rs b/yjit/src/cruby_bindings.inc.rs
index 4213a20452..5ce28cb029 100644
--- a/yjit/src/cruby_bindings.inc.rs
+++ b/yjit/src/cruby_bindings.inc.rs
@@ -1139,8 +1139,12 @@ extern "C" {
) -> ::std::os::raw::c_int;
pub fn rb_jit_cont_each_iseq(callback: rb_iseq_callback, data: *mut ::std::os::raw::c_void);
pub fn rb_yjit_mark_writable(mem_block: *mut ::std::os::raw::c_void, mem_size: u32) -> bool;
+ pub fn rb_zjit_mark_writable(mem_block: *mut ::std::os::raw::c_void, mem_size: u32) -> bool;
pub fn rb_yjit_mark_executable(mem_block: *mut ::std::os::raw::c_void, mem_size: u32);
+ pub fn rb_zjit_mark_executable(mem_block: *mut ::std::os::raw::c_void, mem_size: u32);
+ pub fn rb_yjit_vm_insns_count() -> u64;
pub fn rb_yjit_mark_unused(mem_block: *mut ::std::os::raw::c_void, mem_size: u32) -> bool;
+ pub fn rb_zjit_mark_unused(mem_block: *mut ::std::os::raw::c_void, mem_size: u32) -> bool;
pub fn rb_yjit_array_len(a: VALUE) -> ::std::os::raw::c_long;
pub fn rb_yjit_icache_invalidate(
start: *mut ::std::os::raw::c_void,
@@ -1152,7 +1156,9 @@ extern "C" {
samples_len: ::std::os::raw::c_int,
) -> VALUE;
pub fn rb_yjit_get_page_size() -> u32;
+ pub fn rb_zjit_get_page_size() -> u32;
pub fn rb_yjit_reserve_addr_space(mem_size: u32) -> *mut u8;
+ pub fn rb_zjit_reserve_addr_space(mem_size: u32) -> *mut u8;
pub fn rb_c_method_tracing_currently_enabled(ec: *const rb_execution_context_t) -> bool;
pub fn rb_full_cfunc_return(ec: *mut rb_execution_context_t, return_value: VALUE);
pub fn rb_iseq_encoded_size(iseq: *const rb_iseq_t) -> ::std::os::raw::c_uint;
diff --git a/zjit/src/codegen.rs b/zjit/src/codegen.rs
index 22028e1c94..7b9d1bf2d7 100644
--- a/zjit/src/codegen.rs
+++ b/zjit/src/codegen.rs
@@ -62,5 +62,16 @@ impl ZJITState {
CodeBlock::new(mem_block.clone())
};
+
+ #[cfg(not(test))]
+ let zjit_state = ZJITState {
+ inline_cb: cb,
+ };
+
+ // Initialize the codegen globals instance
+ #[cfg(not(test))]
+ unsafe {
+ ZJIT_STATE = Some(zjit_state);
+ }
}
}