details
This commit is contained in:
5
lvm.c
5
lvm.c
@@ -64,7 +64,7 @@ int luaV_tostring (lua_State *L, TObject *obj) {
|
|||||||
static void traceexec (lua_State *L, lua_Hook linehook) {
|
static void traceexec (lua_State *L, lua_Hook linehook) {
|
||||||
CallInfo *ci = L->ci;
|
CallInfo *ci = L->ci;
|
||||||
int *lineinfo = ci_func(ci)->l.p->lineinfo;
|
int *lineinfo = ci_func(ci)->l.p->lineinfo;
|
||||||
int pc = (*ci->pc - ci_func(ci)->l.p->code) - 1;
|
int pc = (int)(*ci->pc - ci_func(ci)->l.p->code) - 1;
|
||||||
int newline;
|
int newline;
|
||||||
if (pc == 0) { /* may be first time? */
|
if (pc == 0) { /* may be first time? */
|
||||||
ci->line = 1;
|
ci->line = 1;
|
||||||
@@ -97,7 +97,7 @@ static void callTM (lua_State *L, const TObject *f,
|
|||||||
setobj(base+3, p3); /* 3th argument */
|
setobj(base+3, p3); /* 3th argument */
|
||||||
L->top++;
|
L->top++;
|
||||||
}
|
}
|
||||||
luaD_call(L, base, (result ? 1 : 0));
|
luaD_call(L, base, 1);
|
||||||
if (result) { /* need a result? */
|
if (result) { /* need a result? */
|
||||||
setobj(result, base); /* get it */
|
setobj(result, base); /* get it */
|
||||||
}
|
}
|
||||||
@@ -326,6 +326,7 @@ StkId luaV_execute (lua_State *L) {
|
|||||||
traceexec(L, linehook);
|
traceexec(L, linehook);
|
||||||
lua_assert(L->top == L->ci->top || GET_OPCODE(i) == OP_CALL ||
|
lua_assert(L->top == L->ci->top || GET_OPCODE(i) == OP_CALL ||
|
||||||
GET_OPCODE(i) == OP_RETURN || GET_OPCODE(i) == OP_SETLISTO);
|
GET_OPCODE(i) == OP_RETURN || GET_OPCODE(i) == OP_SETLISTO);
|
||||||
|
lua_assert(L->ci->savedpc == NULL);
|
||||||
switch (GET_OPCODE(i)) {
|
switch (GET_OPCODE(i)) {
|
||||||
case OP_MOVE: {
|
case OP_MOVE: {
|
||||||
setobj(ra, RB(i));
|
setobj(ra, RB(i));
|
||||||
|
|||||||
Reference in New Issue
Block a user