diff --git a/ldebug.c b/ldebug.c index 062fd304..f9c30ce0 100644 --- a/ldebug.c +++ b/ldebug.c @@ -1,5 +1,5 @@ /* -** $Id: ldebug.c,v 2.84 2011/08/12 20:01:44 roberto Exp roberto $ +** $Id: ldebug.c,v 2.85 2011/09/13 17:40:20 roberto Exp roberto $ ** Debug Interface ** See Copyright Notice in lua.h */ @@ -385,16 +385,15 @@ static const char *getobjname (Proto *p, int lastpc, int reg, OpCode op = GET_OPCODE(i); switch (op) { case OP_MOVE: { - int a = GETARG_A(i); int b = GETARG_B(i); /* move from 'b' to 'a' */ - lua_assert(reg == a); - if (b < a) + if (b < GETARG_A(i)) return getobjname(p, pc, b, name); /* get name for 'b' */ + break; } case OP_GETTABUP: case OP_GETTABLE: { int k = GETARG_C(i); /* key index */ - int t = GETARG_B(i); + int t = GETARG_B(i); /* table index */ const char *vn = (op == OP_GETTABLE) /* name of indexed variable */ ? luaF_getlocalname(p, t + 1, pc) : upvalname(p, t); @@ -402,8 +401,7 @@ static const char *getobjname (Proto *p, int lastpc, int reg, return (vn && strcmp(vn, LUA_ENV) == 0) ? "global" : "field"; } case OP_GETUPVAL: { - int u = GETARG_B(i); /* upvalue index */ - *name = upvalname(p, u); + *name = upvalname(p, GETARG_B(i)); return "upvalue"; } case OP_LOADK: @@ -414,6 +412,7 @@ static const char *getobjname (Proto *p, int lastpc, int reg, *name = svalue(&p->k[b]); return "constant"; } + break; } case OP_SELF: { int k = GETARG_C(i); /* key index */