summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Patterson <tenderlove@ruby-lang.org>2023-01-05 17:13:08 -0800
committerAaron Patterson <aaron.patterson@gmail.com>2023-01-05 17:49:30 -0800
commit6c618cb78922b1666210c9289cd242f87186517f (patch)
tree3e3da7975157d52cc955b107f0e03300ef5efd71
parent979dd02e2f0a70f3f30d47c6115780d8fac6147e (diff)
downloadruby-6c618cb78922b1666210c9289cd242f87186517f.tar.gz
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
-rw-r--r--yjit/src/codegen.rs2
-rw-r--r--yjit/src/stats.rs1
2 files changed, 2 insertions, 1 deletions
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,