summaryrefslogtreecommitdiff
path: root/yjit
diff options
context:
space:
mode:
authorJemma Issroff <jemmaissroff@gmail.com>2022-11-08 14:09:43 -0500
committerPeter Zhu <peter@peterzhu.ca>2022-11-10 10:11:34 -0500
commitc726c48a3dacd9ca1cb0d96fee98890cb74b37d3 (patch)
treef2bbd9f9797ee63e8666fffd18c47e04571b7a6f /yjit
parent5246f4027ec574e77809845e1b1f7822cc2a5cef (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.rs8
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));