summaryrefslogtreecommitdiff
path: root/src/ldo.js
diff options
context:
space:
mode:
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;