diff options
author | Takashi Kokubun <[email protected]> | 2022-11-15 14:50:12 -0800 |
---|---|---|
committer | GitHub <[email protected]> | 2022-11-15 14:50:12 -0800 |
commit | d1fb6595475707986356fd2533fa3f2a650ea39b (patch) | |
tree | 9e5d4e4234a2ddfd9155cae6ddcf63ba5f693e97 | |
parent | 1125274c4e8aeffd8609ced41c05d26d45b9b5ad (diff) |
YJIT: Count getivar side exits by receiver flag changes (#6735)
Notes
Notes:
Merged-By: k0kubun <[email protected]>
-rw-r--r-- | yjit/src/codegen.rs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/yjit/src/codegen.rs b/yjit/src/codegen.rs index 72488f399c..6a3f0a3c36 100644 --- a/yjit/src/codegen.rs +++ b/yjit/src/codegen.rs @@ -2051,6 +2051,7 @@ fn gen_get_ivar( asm.comment("guard shape, embedded, and T_OBJECT"); let flags_opnd = asm.and(flags_opnd, Opnd::UImm(expected_flags_mask as u64)); asm.cmp(flags_opnd, Opnd::UImm(expected_flags as u64)); + let megamorphic_side_exit = counted_exit!(ocb, side_exit, getivar_megamorphic).into(); jit_chain_guard( JCC_JNE, jit, @@ -2058,7 +2059,7 @@ fn gen_get_ivar( asm, ocb, max_chain_depth, - side_exit, + megamorphic_side_exit, ); match ivar_index { |