diff --git a/src/types.def b/src/types.def index 904d70559c..dc0360433e 100644 --- a/src/types.def +++ b/src/types.def @@ -48,7 +48,7 @@ (array uint8_t body)) (type frame - (object code) + (object method) (object next) (uint32_t ip) (uint32_t stackBase) diff --git a/src/vm.cpp b/src/vm.cpp index 5278801e6e..c0f1464a47 100644 --- a/src/vm.cpp +++ b/src/vm.cpp @@ -373,7 +373,7 @@ run(Thread* t) case lreturn: { t->frame = frameNext(t->frame); if (t->frame) { - t->code = frameCode(t->frame); + t->code = methodCode(frameMethod(t->frame)); ip = frameIp(t->frame); goto loop; } else { @@ -1478,7 +1478,7 @@ run(Thread* t) case return_: { t->frame = frameNext(t->frame); if (t->frame) { - t->code = frameCode(t->frame); + t->code = methodCode(frameMethod(t->frame)); ip = frameIp(t->frame); goto loop; } else { @@ -1608,7 +1608,7 @@ run(Thread* t) throw_: for (; t->frame; t->frame = frameNext(t->frame)) { - t->code = frameCode(t->frame); + t->code = methodCode(frameMethod(t->frame)); object eht = codeExceptionHandlerTable(t->code); if (eht) { for (unsigned i = 0; i < exceptionHandleTableLength(eht); ++i) {