From 6c618cb78922b1666210c9289cd242f87186517f Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Thu, 5 Jan 2023 17:13:08 -0800 Subject: [PATCH] Use a different name for megamorphic setivar exits We should differentiate between set and get for megamorphic exits. This patch fixes the megamorphic exit name in gen_setinstancevariable so that we can tell the difference between megamorphic get / set sites --- yjit/src/codegen.rs | 2 +- yjit/src/stats.rs | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/yjit/src/codegen.rs b/yjit/src/codegen.rs index 0347f6fc89..67ac1007b6 100644 --- a/yjit/src/codegen.rs +++ b/yjit/src/codegen.rs @@ -2276,7 +2276,7 @@ fn gen_setinstancevariable( asm.comment("guard shape"); asm.cmp(shape_opnd, Opnd::UImm(expected_shape as u64)); - let megamorphic_side_exit = counted_exit!(ocb, side_exit, getivar_megamorphic).into(); + let megamorphic_side_exit = counted_exit!(ocb, side_exit, setivar_megamorphic).into(); jit_chain_guard( JCC_JNE, jit, diff --git a/yjit/src/stats.rs b/yjit/src/stats.rs index 91e4ec078f..8fc9245364 100644 --- a/yjit/src/stats.rs +++ b/yjit/src/stats.rs @@ -256,6 +256,7 @@ make_counters! { setivar_name_not_mapped, setivar_not_object, setivar_frozen, + setivar_megamorphic, oaref_argc_not_one, oaref_arg_not_fixnum,