diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2018-01-09 12:23:40 -0200 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2018-01-09 12:23:40 -0200 |
commit | ad960095bfc10e9b7172ac8bd6ae785d798b850f (patch) | |
tree | 931d6d95460696a524d264130d8fd0a9d4d4af07 /lvm.c | |
parent | 33e3774f447cbcfa4fe43b8b47d0306e52937428 (diff) | |
download | lua-ad960095bfc10e9b7172ac8bd6ae785d798b850f.tar.gz lua-ad960095bfc10e9b7172ac8bd6ae785d798b850f.tar.bz2 lua-ad960095bfc10e9b7172ac8bd6ae785d798b850f.zip |
avoid jumping into a variable scope (C++ does not allow that)
Diffstat (limited to 'lvm.c')
-rw-r--r-- | lvm.c | 16 |
1 files changed, 8 insertions, 8 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lvm.c,v 2.330 2017/12/28 15:42:57 roberto Exp roberto $ | 2 | ** $Id: lvm.c,v 2.331 2017/12/30 20:46:18 roberto Exp roberto $ |
3 | ** Lua virtual machine | 3 | ** Lua virtual machine |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -1401,12 +1401,7 @@ void luaV_execute (lua_State *L, CallInfo *ci) { | |||
1401 | vmcase(OP_EQ) { | 1401 | vmcase(OP_EQ) { |
1402 | TValue *rb = vRB(i); | 1402 | TValue *rb = vRB(i); |
1403 | Protect(cond = luaV_equalobj(L, vra, rb)); | 1403 | Protect(cond = luaV_equalobj(L, vra, rb)); |
1404 | condjump: | 1404 | goto condjump; |
1405 | if (cond != GETARG_k(i)) | ||
1406 | pc++; /* skip next jump */ | ||
1407 | else | ||
1408 | donextjump(ci); | ||
1409 | vmbreak; | ||
1410 | } | 1405 | } |
1411 | vmcase(OP_LT) { | 1406 | vmcase(OP_LT) { |
1412 | TValue *rb = vRB(i); | 1407 | TValue *rb = vRB(i); |
@@ -1472,7 +1467,12 @@ void luaV_execute (lua_State *L, CallInfo *ci) { | |||
1472 | } | 1467 | } |
1473 | vmcase(OP_TEST) { | 1468 | vmcase(OP_TEST) { |
1474 | cond = !l_isfalse(vra); | 1469 | cond = !l_isfalse(vra); |
1475 | goto condjump; | 1470 | condjump: |
1471 | if (cond != GETARG_k(i)) | ||
1472 | pc++; /* skip next jump */ | ||
1473 | else | ||
1474 | donextjump(ci); | ||
1475 | vmbreak; | ||
1476 | } | 1476 | } |
1477 | vmcase(OP_TESTSET) { | 1477 | vmcase(OP_TESTSET) { |
1478 | TValue *rb = vRB(i); | 1478 | TValue *rb = vRB(i); |