From 6fce8c79807e69cfe475b5291e892567c869fbcc Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Wed, 25 Oct 2023 16:52:37 -0700 Subject: Don't try compacting ivars on Classes that are "too complex" Too complex classes use a hash table to store ivs, and should always pin their IVs. We shouldn't touch those classes in compaction. --- yjit/src/cruby_bindings.inc.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'yjit/src') diff --git a/yjit/src/cruby_bindings.inc.rs b/yjit/src/cruby_bindings.inc.rs index 431314ff86..5eb96e9993 100644 --- a/yjit/src/cruby_bindings.inc.rs +++ b/yjit/src/cruby_bindings.inc.rs @@ -983,6 +983,7 @@ extern "C" { pub fn rb_gvar_get(arg1: ID) -> VALUE; pub fn rb_gvar_set(arg1: ID, arg2: VALUE) -> VALUE; pub fn rb_ensure_iv_list_size(obj: VALUE, len: u32, newsize: u32); + pub fn rb_vm_barrier(); pub fn rb_obj_as_string_result(str_: VALUE, obj: VALUE) -> VALUE; pub fn rb_str_concat_literals(num: usize, strary: *const VALUE) -> VALUE; pub fn rb_ec_str_resurrect(ec: *mut rb_execution_context_struct, str_: VALUE) -> VALUE; @@ -1005,7 +1006,6 @@ extern "C" { pub fn rb_iseq_line_no(iseq: *const rb_iseq_t, pos: usize) -> ::std::os::raw::c_uint; pub fn rb_iseqw_to_iseq(iseqw: VALUE) -> *const rb_iseq_t; pub fn rb_iseq_label(iseq: *const rb_iseq_t) -> VALUE; - pub fn rb_vm_barrier(); pub fn rb_profile_frames( start: ::std::os::raw::c_int, limit: ::std::os::raw::c_int, -- cgit v1.2.3