diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/class.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/class.c b/src/class.c index c65038b87..986af5531 100644 --- a/src/class.c +++ b/src/class.c @@ -1398,6 +1398,7 @@ mrb_method_search_vm(mrb_state *mrb, struct RClass **cp, mrb_sym mid) struct mrb_cache_entry *mc = &mrb->cache[h]; if (mc->c == c && mc->mid == mid) { + *cp = mc->c0; return mc->m; } #endif @@ -1413,6 +1414,7 @@ mrb_method_search_vm(mrb_state *mrb, struct RClass **cp, mrb_sym mid) *cp = c; #ifdef MRB_METHOD_CACHE mc->c = oc; + mc->c0 = c; mc->mid = mid; mc->m = m; #endif |
