aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Pall <mike>2015-05-20 16:43:41 +0200
committerMike Pall <mike>2015-05-20 16:43:41 +0200
commit4a146cac9a00f5a1a7877db847ff5ba03e7b7256 (patch)
tree040900d773a8d86ad6eff39af05cb880e4b8aedb /src
parentbca5da8849fb3585be86ddb2463f3b6d3a9d63f3 (diff)
downloadluajit-4a146cac9a00f5a1a7877db847ff5ba03e7b7256.tar.gz
luajit-4a146cac9a00f5a1a7877db847ff5ba03e7b7256.tar.bz2
luajit-4a146cac9a00f5a1a7877db847ff5ba03e7b7256.zip
LJ_GC64: Fix frame unwinding.
Diffstat (limited to 'src')
-rw-r--r--src/lj_err.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lj_err.c b/src/lj_err.c
index 4f134941..26210f54 100644
--- a/src/lj_err.c
+++ b/src/lj_err.c
@@ -119,7 +119,7 @@ static void *err_unwind(lua_State *L, void *stopcf, int errcode)
119 if (errcode) { 119 if (errcode) {
120 L->base = frame_prevd(frame) + 1; 120 L->base = frame_prevd(frame) + 1;
121 L->cframe = cframe_prev(cf); 121 L->cframe = cframe_prev(cf);
122 unwindstack(L, frame); 122 unwindstack(L, frame - LJ_FR2);
123 } else if (cf != stopcf) { 123 } else if (cf != stopcf) {
124 cf = cframe_prev(cf); 124 cf = cframe_prev(cf);
125 frame = frame_prevd(frame); 125 frame = frame_prevd(frame);
@@ -144,7 +144,7 @@ static void *err_unwind(lua_State *L, void *stopcf, int errcode)
144 if (errcode) { 144 if (errcode) {
145 L->base = frame_prevd(frame) + 1; 145 L->base = frame_prevd(frame) + 1;
146 L->cframe = cframe_prev(cf); 146 L->cframe = cframe_prev(cf);
147 unwindstack(L, frame); 147 unwindstack(L, frame - LJ_FR2);
148 } 148 }
149 return cf; 149 return cf;
150 case FRAME_CONT: /* Continuation frame. */ 150 case FRAME_CONT: /* Continuation frame. */