From 36d22d82aa202bb199967e9512281e9a53db42c9 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 21:33:14 +0200 Subject: Adding upstream version 115.7.0esr. Signed-off-by: Daniel Baumann --- js/src/jit-test/tests/ion/bug684384.js | 58 ++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 js/src/jit-test/tests/ion/bug684384.js (limited to 'js/src/jit-test/tests/ion/bug684384.js') diff --git a/js/src/jit-test/tests/ion/bug684384.js b/js/src/jit-test/tests/ion/bug684384.js new file mode 100644 index 0000000000..b3f3f45437 --- /dev/null +++ b/js/src/jit-test/tests/ion/bug684384.js @@ -0,0 +1,58 @@ +// Labeled break tests. +function f1() { + foo: + if ([1]) { + bar: + for (var i=0; i<100; i++) { + if (i > 60) + break foo; + } + assertEq(0, 1); + } + assertEq(i, 61); + return true; +} +assertEq(f1(), true); + +// Label with no breaks. +function f2() { + foo: + if ([1]) { + for (var i=0; i<100; i++) { + } + } + assertEq(i, 100); + return true; +} +assertEq(f2(), true); + +// No breaks and early return. +function f3() { + foo: { + if (true) { + for (var i=0; i<100; i++) { + } + } + return false; + } + assertEq(i, 100); + return true; +} +assertEq(f3(), false); + +// Multiple breaks. +function f4() { + foo: { + if (true) { + for (var i=0; i<100; i++) + if (i > 70) + break foo; + if (i > 80) + break foo; + } + break foo; + } + assertEq(i, 71); + return true; +} +assertEq(f4(), true); -- cgit v1.2.3