summaryrefslogtreecommitdiff
path: root/vm_insnhelper.c
diff options
context:
space:
mode:
Diffstat (limited to 'vm_insnhelper.c')
-rw-r--r--vm_insnhelper.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/vm_insnhelper.c b/vm_insnhelper.c
index 6548233257..890cbf6659 100644
--- a/vm_insnhelper.c
+++ b/vm_insnhelper.c
@@ -1422,14 +1422,15 @@ rb_vm_search_method_slowpath(struct rb_call_data *cd, VALUE klass)
struct rb_call_cache *cc = &cd->cc;
const rb_callable_method_entry_t *me =
rb_callable_method_entry(klass, ci->mid);
+ const vm_call_handler call = calccall(cd, me);
struct rb_call_cache buf = {
GET_GLOBAL_METHOD_STATE(),
{ RCLASS_SERIAL(klass) },
me,
me ? me->def : NULL,
- calccall(cd, me),
+ call,
};
- if (buf.call != vm_call_general) {
+ if (call != vm_call_general) {
for (int i = 0; i < numberof(cc->class_serial) - 1; i++) {
buf.class_serial[i + 1] = cc->class_serial[i];
}