fix condition and add another debug counter
mc_inline_miss_same_def is added to check same method or not. Also the mc_inline_miss_same_cc calculation was fixed.
This commit is contained in:
parent
e889c02550
commit
7060d6b721
@ -21,6 +21,7 @@ RB_DEBUG_COUNTER(mc_inline_miss_invalidated) // IMC miss by invalidated ME
|
|||||||
RB_DEBUG_COUNTER(mc_inline_miss_empty) // IMC miss because prev is empty slot
|
RB_DEBUG_COUNTER(mc_inline_miss_empty) // IMC miss because prev is empty slot
|
||||||
RB_DEBUG_COUNTER(mc_inline_miss_same_cc) // IMC miss, but same CC
|
RB_DEBUG_COUNTER(mc_inline_miss_same_cc) // IMC miss, but same CC
|
||||||
RB_DEBUG_COUNTER(mc_inline_miss_same_cme) // IMC miss, but same CME
|
RB_DEBUG_COUNTER(mc_inline_miss_same_cme) // IMC miss, but same CME
|
||||||
|
RB_DEBUG_COUNTER(mc_inline_miss_same_def) // IMC miss, but same definition
|
||||||
RB_DEBUG_COUNTER(mc_inline_miss_diff) // IMC miss, different methods
|
RB_DEBUG_COUNTER(mc_inline_miss_diff) // IMC miss, different methods
|
||||||
|
|
||||||
RB_DEBUG_COUNTER(mc_cme_complement) // number of acquiring complement CME
|
RB_DEBUG_COUNTER(mc_cme_complement) // number of acquiring complement CME
|
||||||
|
@ -1694,12 +1694,16 @@ rb_vm_search_method_slowpath(VALUE cd_owner, struct rb_call_data *cd, VALUE klas
|
|||||||
// empty
|
// empty
|
||||||
RB_DEBUG_COUNTER_INC(mc_inline_miss_empty);
|
RB_DEBUG_COUNTER_INC(mc_inline_miss_empty);
|
||||||
}
|
}
|
||||||
else if (old_cc == cd->cc) {
|
else if (old_cc == cc) {
|
||||||
RB_DEBUG_COUNTER_INC(mc_inline_miss_same_cc);
|
RB_DEBUG_COUNTER_INC(mc_inline_miss_same_cc);
|
||||||
}
|
}
|
||||||
else if (vm_cc_cme(old_cc) == vm_cc_cme(cc)) {
|
else if (vm_cc_cme(old_cc) == vm_cc_cme(cc)) {
|
||||||
RB_DEBUG_COUNTER_INC(mc_inline_miss_same_cme);
|
RB_DEBUG_COUNTER_INC(mc_inline_miss_same_cme);
|
||||||
}
|
}
|
||||||
|
else if (vm_cc_cme(old_cc) && vm_cc_cme(cc) &&
|
||||||
|
vm_cc_cme(old_cc)->def == vm_cc_cme(cc)->def) {
|
||||||
|
RB_DEBUG_COUNTER_INC(mc_inline_miss_same_def);
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
RB_DEBUG_COUNTER_INC(mc_inline_miss_diff);
|
RB_DEBUG_COUNTER_INC(mc_inline_miss_diff);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user