diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2011-04-07 15:14:12 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2011-04-07 15:14:12 -0300 |
commit | 427ee519db76b7a0747b5fc1d5dcf97092b5c0bf (patch) | |
tree | 9c4000cbd08211ddc5de55db60dde2c8ba1dd16e /ldebug.c | |
parent | a958b711f511e4f533d27cc6c27196e87b8cf346 (diff) | |
download | lua-427ee519db76b7a0747b5fc1d5dcf97092b5c0bf.tar.gz lua-427ee519db76b7a0747b5fc1d5dcf97092b5c0bf.tar.bz2 lua-427ee519db76b7a0747b5fc1d5dcf97092b5c0bf.zip |
new instruction OP_LOADKX (to replace OP_LOADK with extra argument)
Diffstat (limited to 'ldebug.c')
-rw-r--r-- | ldebug.c | 9 |
1 files changed, 5 insertions, 4 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: ldebug.c,v 2.75 2010/11/30 17:17:51 roberto Exp roberto $ | 2 | ** $Id: ldebug.c,v 2.76 2011/01/26 16:30:02 roberto Exp roberto $ |
3 | ** Debug Interface | 3 | ** Debug Interface |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -342,10 +342,11 @@ static const char *getobjname (lua_State *L, CallInfo *ci, int reg, | |||
342 | } | 342 | } |
343 | break; | 343 | break; |
344 | } | 344 | } |
345 | case OP_LOADK: { | 345 | case OP_LOADK: |
346 | case OP_LOADKX: { | ||
346 | if (reg == a) { | 347 | if (reg == a) { |
347 | int b = GETARG_Bx(i); | 348 | int b = (op == OP_LOADK) ? GETARG_Bx(i) |
348 | b = (b > 0) ? b - 1 : GETARG_Ax(p->code[pc + 1]); | 349 | : GETARG_Ax(p->code[pc + 1]); |
349 | if (ttisstring(&p->k[b])) { | 350 | if (ttisstring(&p->k[b])) { |
350 | what = "constant"; | 351 | what = "constant"; |
351 | *name = svalue(&p->k[b]); | 352 | *name = svalue(&p->k[b]); |