diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/ldo.js | 3 | ||||
-rw-r--r-- | src/lvm.js | 6 |
2 files changed, 3 insertions, 6 deletions
@@ -89,8 +89,7 @@ const luaD_precall = function(L, off, nresults) { ci.nresults = nresults; ci.func = func; ci.l_base = base; - ci.top = base + fsize; - L.top = ci.top; + L.top = ci.top = base + fsize; ci.l_savedpc = p.code; ci.pcOff = 0; ci.callstatus = lstate.CIST_LUA; @@ -489,14 +489,12 @@ const luaV_execute = function(L) { L.stack[ofuncOff + aux] = L.stack[nfuncOff + aux]; oci.func = nci.func; oci.l_base = ofuncOff + (nci.l_base - nfuncOff); - L.top = ofuncOff + (L.top - nfuncOff); - oci.top = L.top; + oci.top = L.top = ofuncOff + (L.top - nfuncOff); oci.l_savedpc = nci.l_savedpc; oci.pcOff = nci.pcOff; oci.callstatus |= lstate.CIST_TAIL; oci.next = null; - L.ci = oci; - ci = L.ci; + ci = L.ci = oci; L.ciOff--; assert(L.top === oci.l_base + L.stack[ofuncOff].value.p.maxstacksize); |