From 99a8742067ba262eb324615bfac770d1aea53b07 Mon Sep 17 00:00:00 2001 From: Koichi Sasada Date: Thu, 13 Feb 2020 03:28:40 +0900 Subject: should be compared with called_id me->called_id and me->def->original_id can be different sometimes so we should compare with called_id, which is mtbl's key. (fix GH-PR #2869) --- vm_insnhelper.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'vm_insnhelper.c') diff --git a/vm_insnhelper.c b/vm_insnhelper.c index 9404b0d74a..acd5de4d5e 100644 --- a/vm_insnhelper.c +++ b/vm_insnhelper.c @@ -3161,7 +3161,7 @@ vm_search_super_method(const rb_control_frame_t *reg_cfp, struct rb_call_data *c if (LIKELY(RB_DEBUG_COUNTER_INC_UNLESS(mc_global_state_miss, GET_GLOBAL_METHOD_STATE() == cc->method_state) && cc->class_serial[0] == RCLASS_SERIAL(klass)) && - cc->me && ci->mid == cc->me->def->original_id) { + cc->me && ci->mid == cc->me->called_id) { VM_ASSERT(cc->call != NULL); RB_DEBUG_COUNTER_INC(mc_inline_hit); return; -- cgit v1.2.3