summaryrefslogtreecommitdiff
path: root/src/ldo.js
diff options
context:
space:
mode:
authordaurnimator <quae@daurnimator.com>2017-05-12 15:22:37 +1000
committerdaurnimator <quae@daurnimator.com>2017-05-12 16:54:56 +1000
commit266c0a526374274b1b07187e52aec6b40d0cab00 (patch)
treec9552495b9a6f53f75253d732c1a38b3729ad86b /src/ldo.js
parentf47e66cf8d6e433a1036113a69ec421966d3509c (diff)
downloadfengari-266c0a526374274b1b07187e52aec6b40d0cab00.tar.gz
fengari-266c0a526374274b1b07187e52aec6b40d0cab00.tar.bz2
fengari-266c0a526374274b1b07187e52aec6b40d0cab00.zip
Move adhoc code into proper luaE_extendCI
Diffstat (limited to 'src/ldo.js')
-rw-r--r--src/ldo.js22
1 files changed, 4 insertions, 18 deletions
diff --git a/src/ldo.js b/src/ldo.js
index da110e7..57400ab 100644
--- a/src/ldo.js
+++ b/src/ldo.js
@@ -53,17 +53,10 @@ const luaD_precall = function(L, off, nresults) {
case CT.LUA_TLCF: {
let f = func.type === CT.LUA_TCCL ? func.value.f : func.value;
- // next_ci
- let ci = new lstate.CallInfo(off);
- L.ci.next = ci;
- ci.previous = L.ci;
- ci.next = null;
- L.ci = ci;
- L.ciOff++;
-
+ let ci = lstate.luaE_extendCI(L);
+ ci.funcOff = off;
ci.nresults = nresults;
ci.func = func;
- ci.funcOff = off;
ci.top = L.top + defs.LUA_MINSTACK;
ci.callstatus = 0;
if (L.hookmask & defs.LUA_MASKCALL)
@@ -91,17 +84,10 @@ const luaD_precall = function(L, off, nresults) {
base = off + 1;
}
- // next_ci
- let ci = new lstate.CallInfo(off);
- L.ci.next = ci;
- ci.previous = L.ci;
- ci.next = null;
- L.ci = ci;
- L.ciOff++;
-
+ let ci = lstate.luaE_extendCI(L);
+ ci.funcOff = off;
ci.nresults = nresults;
ci.func = func;
- ci.funcOff = off;
ci.l_base = base;
ci.top = base + fsize;
L.top = ci.top;