perform function metatable calls outside of current stack frame.
This commit is contained in:
@@ -930,10 +930,11 @@ public class LuaState extends Lua {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (h.isFunction()) {
|
if (h.isFunction()) {
|
||||||
LFunction f = (LFunction) h;
|
|
||||||
int oldtop = top;
|
int oldtop = top;
|
||||||
int oldbase = base;
|
int oldbase = base;
|
||||||
try {
|
try {
|
||||||
|
base = base + this.calls[cc].closure.p.maxstacksize;
|
||||||
|
top = base;
|
||||||
pushlvalue(h);
|
pushlvalue(h);
|
||||||
pushlvalue(table);
|
pushlvalue(table);
|
||||||
pushlvalue(key);
|
pushlvalue(key);
|
||||||
@@ -972,10 +973,11 @@ public class LuaState extends Lua {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (h.isFunction()) {
|
if (h.isFunction()) {
|
||||||
LFunction f = (LFunction) h;
|
|
||||||
int oldtop = top;
|
int oldtop = top;
|
||||||
int oldbase = base;
|
int oldbase = base;
|
||||||
try {
|
try {
|
||||||
|
base = base + this.calls[cc].closure.p.maxstacksize;
|
||||||
|
top = base;
|
||||||
pushlvalue(h);
|
pushlvalue(h);
|
||||||
pushlvalue(table);
|
pushlvalue(table);
|
||||||
pushlvalue(key);
|
pushlvalue(key);
|
||||||
|
|||||||
Reference in New Issue
Block a user