diff --git a/debug_counter.h b/debug_counter.h index 9f7a81720e6534..752a3de02b475b 100644 --- a/debug_counter.h +++ b/debug_counter.h @@ -123,6 +123,7 @@ RB_DEBUG_COUNTER(ivar_set_ic_hit) RB_DEBUG_COUNTER(ivar_set_ic_miss) RB_DEBUG_COUNTER(ivar_set_ic_miss_serial) RB_DEBUG_COUNTER(ivar_set_ic_miss_unset) +RB_DEBUG_COUNTER(ivar_set_ic_miss_iv_hit) RB_DEBUG_COUNTER(ivar_set_ic_miss_noobject) RB_DEBUG_COUNTER(ivar_get_base) RB_DEBUG_COUNTER(ivar_set_base) diff --git a/vm_insnhelper.c b/vm_insnhelper.c index ea25de629f8d67..74e992a5000bae 100644 --- a/vm_insnhelper.c +++ b/vm_insnhelper.c @@ -1246,6 +1246,7 @@ vm_setivar(VALUE obj, ID id, VALUE val, const rb_iseq_t *iseq, IVC ic, const str ptr = ROBJECT_IVPTR(obj); } RB_OBJ_WRITE(obj, &ptr[index], val); + RB_DEBUG_COUNTER_INC(ivar_set_ic_miss_iv_hit); return val; }