diff options
author | Mike Pall <mike> | 2010-04-09 14:26:18 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2010-04-09 14:26:18 +0200 |
commit | fbe092c22d5df462d84749bada5a1e6bff4bf464 (patch) | |
tree | 91fefb38e5c5afbd27f60a08b46341992b0938f6 /src/lj_snap.c | |
parent | db756430ee4da7bf46ba73d09a7a57905ba29377 (diff) | |
download | luajit-fbe092c22d5df462d84749bada5a1e6bff4bf464.tar.gz luajit-fbe092c22d5df462d84749bada5a1e6bff4bf464.tar.bz2 luajit-fbe092c22d5df462d84749bada5a1e6bff4bf464.zip |
Fix setup of RD when dispatching to function headers after exit.
Diffstat (limited to 'src/lj_snap.c')
-rw-r--r-- | src/lj_snap.c | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/src/lj_snap.c b/src/lj_snap.c index 743f05cf..33ac50f5 100644 --- a/src/lj_snap.c +++ b/src/lj_snap.c | |||
@@ -254,16 +254,13 @@ const BCIns *lj_snap_restore(jit_State *J, void *exptr) | |||
254 | GCfunc *fn = ir_kfunc(ir); | 254 | GCfunc *fn = ir_kfunc(ir); |
255 | if (isluafunc(fn)) { | 255 | if (isluafunc(fn)) { |
256 | MSize framesize = funcproto(fn)->framesize; | 256 | MSize framesize = funcproto(fn)->framesize; |
257 | TValue *fs; | ||
258 | L->base = ++o; | 257 | L->base = ++o; |
259 | if (LJ_UNLIKELY(o + framesize > L->maxstack)) { /* Grow again? */ | 258 | if (LJ_UNLIKELY(o + framesize > L->maxstack)) { /* Grow again? */ |
260 | ptrdiff_t fsave = savestack(L, frame); | 259 | ptrdiff_t fsave = savestack(L, frame); |
261 | L->top = o; | 260 | L->top = o; |
262 | lj_state_growstack(L, framesize); | 261 | lj_state_growstack(L, framesize); |
263 | frame = restorestack(L, fsave); | 262 | frame = restorestack(L, fsave); |
264 | o = L->top; | ||
265 | } | 263 | } |
266 | fs = o + framesize; | ||
267 | } | 264 | } |
268 | } | 265 | } |
269 | } | 266 | } |