From d1fb6595475707986356fd2533fa3f2a650ea39b Mon Sep 17 00:00:00 2001 From: Takashi Kokubun Date: Tue, 15 Nov 2022 14:50:12 -0800 Subject: [PATCH] YJIT: Count getivar side exits by receiver flag changes (#6735) --- yjit/src/codegen.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 {