aboutsummaryrefslogtreecommitdiffstats
path: root/yjit/src
diff options
context:
space:
mode:
authorTakashi Kokubun <takashikkbn@gmail.com>2023-07-27 16:35:30 -0700
committerGitHub <noreply@github.com>2023-07-27 19:35:30 -0400
commitcf0c907bc7f7f435887a50b350a8b489aa7ff7f8 (patch)
treeea321d4d101859cb25cb36a020fbea2bd0b98a95 /yjit/src
parent437a4ccbf2e944a7029fc55df789e0fbb945f162 (diff)
downloadruby-cf0c907bc7f7f435887a50b350a8b489aa7ff7f8.tar.gz
YJIT: Count setivar too-complex exits (#8131)
Diffstat (limited to 'yjit/src')
-rw-r--r--yjit/src/codegen.rs1
-rw-r--r--yjit/src/stats.rs1
2 files changed, 2 insertions, 0 deletions
diff --git a/yjit/src/codegen.rs b/yjit/src/codegen.rs
index 204726181d..cc2f33ef63 100644
--- a/yjit/src/codegen.rs
+++ b/yjit/src/codegen.rs
@@ -2287,6 +2287,7 @@ fn gen_setinstancevariable(
let new_shape_id = unsafe { rb_shape_id(dest_shape) };
if new_shape_id == OBJ_TOO_COMPLEX_SHAPE_ID {
+ gen_counter_incr(asm, Counter::setivar_too_complex);
return None;
}
diff --git a/yjit/src/stats.rs b/yjit/src/stats.rs
index b1773df359..13ba19660f 100644
--- a/yjit/src/stats.rs
+++ b/yjit/src/stats.rs
@@ -323,6 +323,7 @@ make_counters! {
setivar_not_heap,
setivar_frozen,
setivar_megamorphic,
+ setivar_too_complex,
definedivar_not_heap,
definedivar_megamorphic,