Fix setup of RD when dispatching to function headers after exit.

This commit is contained in:
Mike Pall
2010-04-09 14:26:18 +02:00
parent db756430ee
commit fbe092c22d
7 changed files with 1822 additions and 1805 deletions

View File

@@ -254,16 +254,13 @@ const BCIns *lj_snap_restore(jit_State *J, void *exptr)
GCfunc *fn = ir_kfunc(ir);
if (isluafunc(fn)) {
MSize framesize = funcproto(fn)->framesize;
TValue *fs;
L->base = ++o;
if (LJ_UNLIKELY(o + framesize > L->maxstack)) { /* Grow again? */
ptrdiff_t fsave = savestack(L, frame);
L->top = o;
lj_state_growstack(L, framesize);
frame = restorestack(L, fsave);
o = L->top;
}
fs = o + framesize;
}
}
}