LJ_GC64: Fix frame unwinding.

This commit is contained in:
Mike Pall 2015-05-20 16:43:41 +02:00
parent bca5da8849
commit 4a146cac9a

View File

@ -119,7 +119,7 @@ static void *err_unwind(lua_State *L, void *stopcf, int errcode)
if (errcode) {
L->base = frame_prevd(frame) + 1;
L->cframe = cframe_prev(cf);
unwindstack(L, frame);
unwindstack(L, frame - LJ_FR2);
} else if (cf != stopcf) {
cf = cframe_prev(cf);
frame = frame_prevd(frame);
@ -144,7 +144,7 @@ static void *err_unwind(lua_State *L, void *stopcf, int errcode)
if (errcode) {
L->base = frame_prevd(frame) + 1;
L->cframe = cframe_prev(cf);
unwindstack(L, frame);
unwindstack(L, frame - LJ_FR2);
}
return cf;
case FRAME_CONT: /* Continuation frame. */