diff options
author | Jemma Issroff <jemmaissroff@gmail.com> | 2022-11-08 14:09:43 -0500 |
---|---|---|
committer | Peter Zhu <peter@peterzhu.ca> | 2022-11-10 10:11:34 -0500 |
commit | c726c48a3dacd9ca1cb0d96fee98890cb74b37d3 (patch) | |
tree | f2bbd9f9797ee63e8666fffd18c47e04571b7a6f /yjit | |
parent | 5246f4027ec574e77809845e1b1f7822cc2a5cef (diff) |
Remove numiv from RObject
Since object shapes store the capacity of an object, we no longer
need the numiv field on RObjects. This gives us one extra slot which
we can use to give embedded objects one more instance variable (for a
total of 3 ivs). This commit removes the concept of numiv from RObject.
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/6699
Diffstat (limited to 'yjit')
-rw-r--r-- | yjit/src/codegen.rs | 8 |
1 files changed, 0 insertions, 8 deletions
diff --git a/yjit/src/codegen.rs b/yjit/src/codegen.rs index 7a1673c5cb..530bcf9eda 100644 --- a/yjit/src/codegen.rs +++ b/yjit/src/codegen.rs @@ -2100,14 +2100,6 @@ fn gen_get_ivar( } else { // Compile time value is *not* embedded. - if USE_RVARGC == 0 { - // Check that the extended table is big enough - // Check that the slot is inside the extended table (num_slots > index) - let num_slots = Opnd::mem(32, recv, ROBJECT_OFFSET_NUMIV); - asm.cmp(num_slots, Opnd::UImm(ivar_index as u64)); - asm.jbe(counted_exit!(ocb, side_exit, getivar_idx_out_of_range).into()); - } - // Get a pointer to the extended table let tbl_opnd = asm.load(Opnd::mem(64, recv, ROBJECT_OFFSET_AS_HEAP_IVPTR)); |