aboutsummaryrefslogtreecommitdiff
path: root/testes/code.lua
diff options
context:
space:
mode:
Diffstat (limited to 'testes/code.lua')
-rw-r--r--testes/code.lua19
1 files changed, 7 insertions, 12 deletions
diff --git a/testes/code.lua b/testes/code.lua
index ad484485..9b3f2b68 100644
--- a/testes/code.lua
+++ b/testes/code.lua
@@ -297,7 +297,7 @@ check(function ()
297 b[a], a = c, b 297 b[a], a = c, b
298 a, b = c, a 298 a, b = c, a
299 a = a 299 a = a
300end, 300end,
301 'LOADNIL', 301 'LOADNIL',
302 'MOVE', 'MOVE', 'SETTABLE', 302 'MOVE', 'MOVE', 'SETTABLE',
303 'MOVE', 'MOVE', 'MOVE', 'SETTABLE', 303 'MOVE', 'MOVE', 'MOVE', 'SETTABLE',
@@ -329,18 +329,13 @@ checkequal(function (l) local a; return 0 <= a and a <= l end,
329 function (l) local a; return not (not(a >= 0) or not(a <= l)) end) 329 function (l) local a; return not (not(a >= 0) or not(a <= l)) end)
330 330
331 331
332-- if-goto optimizations 332-- if-break optimizations
333check(function (a, b, c, d, e) 333check(function (a, b)
334 if a == b then goto l1; 334 while a do
335 elseif a == c then goto l2; 335 if b then break else a = a + 1 end
336 elseif a == d then goto l2;
337 else if a == e then goto l3;
338 else goto l3
339 end
340 end 336 end
341 ::l1:: ::l2:: ::l3:: ::l4:: 337 end,
342end, 'EQ', 'JMP', 'EQ', 'JMP', 'EQ', 'JMP', 'EQ', 'JMP', 'JMP', 338'TEST', 'JMP', 'TEST', 'JMP', 'ADDI', 'JMP', 'RETURN0')
343'CLOSE', 'CLOSE', 'CLOSE', 'CLOSE', 'RETURN0')
344 339
345checkequal( 340checkequal(
346function (a) while a < 10 do a = a + 1 end end, 341function (a) while a < 10 do a = a + 1 end end,