diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2005-10-13 09:21:26 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2005-10-13 09:21:26 -0300 |
commit | cd12ab2597cd604eb2c00d73a1c2fea1e6cb472f (patch) | |
tree | 7304349157fc968dd847059959f27fe273410108 | |
parent | e251e84e0f4e63c4a8d092fd9b95f35dc1f50b2a (diff) | |
download | lua-cd12ab2597cd604eb2c00d73a1c2fea1e6cb472f.tar.gz lua-cd12ab2597cd604eb2c00d73a1c2fea1e6cb472f.tar.bz2 lua-cd12ab2597cd604eb2c00d73a1c2fea1e6cb472f.zip |
details (more uniform coding)
-rw-r--r-- | lvm.c | 21 |
1 files changed, 10 insertions, 11 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lvm.c,v 2.55 2005/09/09 18:23:35 roberto Exp roberto $ | 2 | ** $Id: lvm.c,v 2.56 2005/10/03 14:01:26 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 | */ |
@@ -593,18 +593,18 @@ void luaV_execute (lua_State *L, int nexeccalls) { | |||
593 | continue; | 593 | continue; |
594 | } | 594 | } |
595 | case OP_TEST: { | 595 | case OP_TEST: { |
596 | if (l_isfalse(ra) == GETARG_C(i)) pc++; | 596 | if (l_isfalse(ra) != GETARG_C(i)) |
597 | else | 597 | dojump(L, pc, GETARG_sBx(*pc)); |
598 | dojump(L, pc, GETARG_sBx(*pc) + 1); | 598 | pc++; |
599 | continue; | 599 | continue; |
600 | } | 600 | } |
601 | case OP_TESTSET: { | 601 | case OP_TESTSET: { |
602 | TValue *rb = RB(i); | 602 | TValue *rb = RB(i); |
603 | if (l_isfalse(rb) == GETARG_C(i)) pc++; | 603 | if (l_isfalse(rb) != GETARG_C(i)) { |
604 | else { | ||
605 | setobjs2s(L, ra, rb); | 604 | setobjs2s(L, ra, rb); |
606 | dojump(L, pc, GETARG_sBx(*pc) + 1); | 605 | dojump(L, pc, GETARG_sBx(*pc)); |
607 | } | 606 | } |
607 | pc++; | ||
608 | continue; | 608 | continue; |
609 | } | 609 | } |
610 | case OP_CALL: { | 610 | case OP_CALL: { |
@@ -710,12 +710,11 @@ void luaV_execute (lua_State *L, int nexeccalls) { | |||
710 | Protect(luaD_call(L, cb, GETARG_C(i))); | 710 | Protect(luaD_call(L, cb, GETARG_C(i))); |
711 | L->top = L->ci->top; | 711 | L->top = L->ci->top; |
712 | cb = RA(i) + 3; /* previous call may change the stack */ | 712 | cb = RA(i) + 3; /* previous call may change the stack */ |
713 | if (ttisnil(cb)) /* break loop? */ | 713 | if (!ttisnil(cb)) { /* continue loop? */ |
714 | pc++; /* skip jump (break loop) */ | ||
715 | else { | ||
716 | setobjs2s(L, cb-1, cb); /* save control variable */ | 714 | setobjs2s(L, cb-1, cb); /* save control variable */ |
717 | dojump(L, pc, GETARG_sBx(*pc) + 1); /* jump back */ | 715 | dojump(L, pc, GETARG_sBx(*pc)); /* jump back */ |
718 | } | 716 | } |
717 | pc++; | ||
719 | continue; | 718 | continue; |
720 | } | 719 | } |
721 | case OP_SETLIST: { | 720 | case OP_SETLIST: { |