lua

A copy of the Lua development repository
Log | Files | Refs | README

commit eea6d10866f04a7062d8d7d02984770b220d940e
parent 019ebcb85fa5ab03f424e21f6758d8533a5b3126
Author: Roberto Ierusalimschy <roberto@inf.puc-rio.br>
Date:   Fri, 22 May 2009 12:19:30 -0300

details (use ci->base instead of L->base when possible)

Diffstat:
Mlvm.c | 12++++++------
1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/lvm.c b/lvm.c @@ -1,5 +1,5 @@ /* -** $Id: lvm.c,v 2.86 2009/04/17 22:00:01 roberto Exp roberto $ +** $Id: lvm.c,v 2.87 2009/04/30 17:42:21 roberto Exp roberto $ ** Lua virtual machine ** See Copyright Notice in lua.h */ @@ -364,7 +364,7 @@ void luaV_finishOp (lua_State *L) { case OP_ADD: case OP_SUB: case OP_MUL: case OP_DIV: case OP_MOD: case OP_POW: case OP_UNM: case OP_LEN: case OP_GETGLOBAL: case OP_GETTABLE: case OP_SELF: { - setobjs2s(L, L->base + GETARG_A(inst), --L->top); + setobjs2s(L, ci->base + GETARG_A(inst), --L->top); break; } case OP_LE: case OP_LT: case OP_EQ: { @@ -373,7 +373,7 @@ void luaV_finishOp (lua_State *L) { /* metamethod should not be called when operand is K */ lua_assert(!ISK(GETARG_B(inst))); if (GET_OPCODE(inst) == OP_LE && /* "<=" using "<" instead? */ - ttisnil(luaT_gettmbyobj(L, L->base + GETARG_B(inst), TM_LE))) + ttisnil(luaT_gettmbyobj(L, ci->base + GETARG_B(inst), TM_LE))) res = !res; /* invert result */ lua_assert(GET_OPCODE(*ci->u.l.savedpc) == OP_JMP); if (res != GETARG_A(inst)) /* condition failed? */ @@ -382,7 +382,7 @@ void luaV_finishOp (lua_State *L) { } case OP_CONCAT: { StkId top = L->top - 1; /* top when __concat was called */ - int last = cast_int(top - L->base) - 2; /* last element and ... */ + int last = cast_int(top - ci->base) - 2; /* last element and ... */ int b = GETARG_B(inst); /* ... first element to concatenate */ int total = last - b + 1; /* number of elements to concatenate */ setobj2s(L, top - 2, top); /* put TM result in proper position */ @@ -390,7 +390,7 @@ void luaV_finishOp (lua_State *L) { if (total > 1) /* are there elements to concat? */ luaV_concat(L, total, last); /* concat them (may yield again) */ /* move final result to final position */ - setobj2s(L, L->base + GETARG_A(inst), L->base + b); + setobj2s(L, ci->base + GETARG_A(inst), ci->base + b); break; } case OP_TFORCALL: { @@ -670,7 +670,7 @@ void luaV_execute (lua_State *L) { for (aux = 0; nfunc+aux < L->top; aux++) /* move frame down */ setobjs2s(L, ofunc + aux, nfunc + aux); oci->top = L->top = ofunc + aux; /* correct top */ - lua_assert(L->top == L->base + clvalue(ofunc)->l.p->maxstacksize); + lua_assert(L->top == oci->base + clvalue(ofunc)->l.p->maxstacksize); oci->u.l.savedpc = nci->u.l.savedpc; oci->u.l.tailcalls++; /* one more call lost */ ci = L->ci = oci; /* remove new frame */