aboutsummaryrefslogtreecommitdiffstats
path: root/yjit/src/stats.rs
diff options
context:
space:
mode:
authorTakashi Kokubun <takashikkbn@gmail.com>2023-04-14 16:49:44 -0700
committerGitHub <noreply@github.com>2023-04-14 19:49:44 -0400
commit45c6b58768c53b5021a780c7e5fec2382e940b04 (patch)
tree79aab5c04be99b78bcc4dccd32c21e7c61871cc5 /yjit/src/stats.rs
parent87c7de55e0ef34ea5a3ee1238216316035959b90 (diff)
downloadruby-45c6b58768c53b5021a780c7e5fec2382e940b04.tar.gz
YJIT: Add a counter to all side exits (#7720)
Diffstat (limited to 'yjit/src/stats.rs')
-rw-r--r--yjit/src/stats.rs43
1 files changed, 38 insertions, 5 deletions
diff --git a/yjit/src/stats.rs b/yjit/src/stats.rs
index f624cf8f0a..cc7f71b9bc 100644
--- a/yjit/src/stats.rs
+++ b/yjit/src/stats.rs
@@ -281,6 +281,10 @@ make_counters! {
send_iseq_has_rest_and_splat_not_equal,
send_is_a_class_mismatch,
send_instance_of_class_mismatch,
+ send_interrupted,
+ send_not_fixnums,
+ send_not_string,
+ send_mid_mismatch,
send_bmethod_ractor,
send_bmethod_block_arg,
@@ -308,20 +312,37 @@ make_counters! {
getivar_se_self_not_heap,
getivar_idx_out_of_range,
getivar_megamorphic,
+ getivar_not_heap,
setivar_se_self_not_heap,
setivar_idx_out_of_range,
setivar_val_heapobject,
setivar_name_not_mapped,
- setivar_not_object,
+ setivar_not_heap,
setivar_frozen,
setivar_megamorphic,
- // Not using "getivar_" to exclude this from exit reasons
- get_ivar_max_depth,
+ definedivar_not_heap,
+ definedivar_megamorphic,
+
+ setlocal_wb_required,
+
+ opt_plus_overflow,
+ opt_minus_overflow,
+
+ opt_mod_zero,
+ opt_div_zero,
+
+ opt_aref_argc_not_one,
+ opt_aref_arg_not_fixnum,
+ opt_aref_not_array,
+ opt_aref_not_hash,
- oaref_argc_not_one,
- oaref_arg_not_fixnum,
+ opt_aset_not_array,
+ opt_aset_not_fixnum,
+ opt_aset_not_hash,
+
+ opt_case_dispatch_megamorphic,
opt_getinlinecache_miss,
@@ -330,9 +351,18 @@ make_counters! {
expandarray_not_array,
expandarray_rhs_too_small,
+ gbp_wb_required,
gbpp_block_param_modified,
+ gbpp_block_handler_not_none,
gbpp_block_handler_not_iseq,
+ branchif_interrupted,
+ branchunless_interrupted,
+ branchnil_interrupted,
+ jump_interrupted,
+
+ objtostring_not_string,
+
binding_allocations,
binding_set,
@@ -361,6 +391,9 @@ make_counters! {
constant_state_bumps,
+ // Not using "getivar_" to exclude this from exit reasons
+ get_ivar_max_depth,
+
// Currently, it's out of the ordinary (might be impossible) for YJIT to leave gaps in
// executable memory, so this should be 0.
exec_mem_non_bump_alloc,