diff options
Diffstat (limited to 'vm.c')
-rw-r--r-- | vm.c | 16 |
1 files changed, 8 insertions, 8 deletions
@@ -540,7 +540,7 @@ rb_vm_pop_cfunc_frame(void) EXEC_EVENT_HOOK(th, RUBY_EVENT_C_RETURN, cfp->self, me->def->original_id, me->called_id, me->owner, Qnil); RUBY_DTRACE_CMETHOD_RETURN_HOOK(th, me->owner, me->def->original_id); - vm_pop_frame(th, cfp, cfp->ep); + vm_pop_frame(th->ec, cfp, cfp->ep); } void @@ -552,7 +552,7 @@ rb_vm_rewind_cfp(rb_thread_t *th, rb_control_frame_t *cfp) printf("skipped frame: %s\n", vm_frametype_name(th->ec->cfp)); #endif if (VM_FRAME_TYPE(th->ec->cfp) != VM_FRAME_MAGIC_CFUNC) { - rb_vm_pop_frame(th); + rb_vm_pop_frame(th->ec); } else { /* unlikely path */ rb_vm_pop_cfunc_frame(); @@ -963,7 +963,7 @@ rb_binding_add_dynavars(VALUE bindval, rb_binding_t *bind, int dyncount, const I vm_set_eval_stack(th, iseq, 0, base_block); vm_bind_update_env(bindval, bind, envval = vm_make_env_object(th->ec, th->ec->cfp)); - rb_vm_pop_frame(th); + rb_vm_pop_frame(th->ec); env = (const rb_env_t *)envval; return env->env; @@ -1830,7 +1830,7 @@ vm_exec(rb_thread_t *th) rb_vm_frame_method_entry(th->ec->cfp)->owner, rb_vm_frame_method_entry(th->ec->cfp)->def->original_id); } - rb_vm_pop_frame(th); + rb_vm_pop_frame(th->ec); } cfp = th->ec->cfp; @@ -1864,7 +1864,7 @@ vm_exec(rb_thread_t *th) result = THROW_DATA_VAL(err); THROW_DATA_CATCH_FRAME_SET(err, cfp + 1); hook_before_rewind(th, th->ec->cfp, TRUE, state, err); - rb_vm_pop_frame(th); + rb_vm_pop_frame(th->ec); goto finish_vme; } } @@ -2008,13 +2008,13 @@ vm_exec(rb_thread_t *th) hook_before_rewind(th, th->ec->cfp, FALSE, state, err); if (VM_FRAME_FINISHED_P(th->ec->cfp)) { - rb_vm_pop_frame(th); + rb_vm_pop_frame(th->ec); th->ec->errinfo = (VALUE)err; TH_TMPPOP_TAG(); TH_JUMP_TAG(th, state); } else { - rb_vm_pop_frame(th); + rb_vm_pop_frame(th->ec); goto exception_handler; } } @@ -2115,7 +2115,7 @@ rb_vm_call_cfunc(VALUE recv, VALUE (*func)(VALUE), VALUE arg, val = (*func)(arg); - rb_vm_pop_frame(th); + rb_vm_pop_frame(th->ec); return val; } |