diff options
author | Aaron Patterson <tenderlove@ruby-lang.org> | 2023-10-25 16:52:37 -0700 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2023-11-20 16:09:48 -0800 |
commit | 6fce8c79807e69cfe475b5291e892567c869fbcc (patch) | |
tree | 42419f2e00fea8e2d05674873dcbfccb511b83f4 /yjit/src | |
parent | 7164715666cfbffd5540ee374eee2a5568342d2d (diff) | |
download | ruby-6fce8c79807e69cfe475b5291e892567c869fbcc.tar.gz |
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.
Diffstat (limited to 'yjit/src')
-rw-r--r-- | yjit/src/cruby_bindings.inc.rs | 2 |
1 files changed, 1 insertions, 1 deletions
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, |