change in opcode OP_LOADNIL: B is used as a counter instead of a

register. (Avoids an assignment to R(B), not present in any other
instruction.)
This commit is contained in:
Roberto Ierusalimschy
2011-04-19 13:22:13 -03:00
parent a4e644add2
commit 4758113043
5 changed files with 22 additions and 18 deletions

View File

@@ -1,5 +1,5 @@
/*
** $Id: ldebug.c,v 2.78 2011/04/18 15:02:37 roberto Exp roberto $
** $Id: ldebug.c,v 2.79 2011/04/18 19:49:13 roberto Exp roberto $
** Debug Interface
** See Copyright Notice in lua.h
*/
@@ -355,8 +355,8 @@ static const char *getobjname (lua_State *L, CallInfo *ci, int reg,
break;
}
case OP_LOADNIL: {
int b = GETARG_B(i); /* move from 'b' to 'a' */
if (a <= reg && reg <= b) /* set registers from 'a' to 'b' */
int b = GETARG_B(i);
if (a <= reg && reg <= a + b) /* set registers from 'a' to 'a+b' */
what = NULL;
break;
}