aboutsummaryrefslogtreecommitdiffstats
path: root/yjit/src
diff options
context:
space:
mode:
authorAaron Patterson <tenderlove@ruby-lang.org>2023-10-25 16:52:37 -0700
committerAaron Patterson <aaron.patterson@gmail.com>2023-11-20 16:09:48 -0800
commit6fce8c79807e69cfe475b5291e892567c869fbcc (patch)
tree42419f2e00fea8e2d05674873dcbfccb511b83f4 /yjit/src
parent7164715666cfbffd5540ee374eee2a5568342d2d (diff)
downloadruby-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.rs2
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,