diff options
author | Jean Boussier <[email protected]> | 2025-04-21 16:16:07 +0900 |
---|---|---|
committer | Jean Boussier <[email protected]> | 2025-05-08 07:58:05 +0200 |
commit | f48e45d1e9c4412d5f3ee49241d0b9359651ce7c () | |
tree | 88e53f6ef5e926b87f6ab620ca6ff23bf15380f3 /yjit/src/cruby_bindings.inc.rs | |
parent | d34c15054708c84e9d3305ede0752820b42ac498 (diff) |
Move `object_id` in object fields.
And get rid of the `obj_to_id_tbl` It's no longer needed, the `object_id` is now stored inline in the object alongside instance variables. We still need the inverse table in case `_id2ref` is invoked, but we lazily build it by walking the heap if that happens. The `object_id` concern is also no longer a GC implementation concern, but a generic implementation. Co-Authored-By: Matt Valentine-House <[email protected]>
Notes: Merged: https://.com/ruby/ruby/pull/13159
-rw-r--r-- | yjit/src/cruby_bindings.inc.rs | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -227,7 +227,7 @@ pub const RUBY_FL_FINALIZE: ruby_fl_type = 128; pub const RUBY_FL_TAINT: ruby_fl_type = 0; pub const RUBY_FL_SHAREABLE: ruby_fl_type = 256; pub const RUBY_FL_UNTRUSTED: ruby_fl_type = 0; -pub const RUBY_FL_SEEN_OBJ_ID: ruby_fl_type = 512; pub const RUBY_FL_EXIVAR: ruby_fl_type = 1024; pub const RUBY_FL_FREEZE: ruby_fl_type = 2048; pub const RUBY_FL_USER0: ruby_fl_type = 4096; @@ -651,6 +651,7 @@ pub struct rb_shape { pub capacity: attr_index_t, pub type_: u8, pub heap_index: u8, pub parent_id: shape_id_t, pub ancestor_index: *mut redblack_node_t, } |