summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/ion/bug860838-4.js
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
commit36d22d82aa202bb199967e9512281e9a53db42c9 (patch)
tree105e8c98ddea1c1e4784a60a5a6410fa416be2de /js/src/jit-test/tests/ion/bug860838-4.js
parentInitial commit. (diff)
downloadfirefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.tar.xz
firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.zip
Adding upstream version 115.7.0esr.upstream/115.7.0esr
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'js/src/jit-test/tests/ion/bug860838-4.js')
-rw-r--r--js/src/jit-test/tests/ion/bug860838-4.js54
1 files changed, 54 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/ion/bug860838-4.js b/js/src/jit-test/tests/ion/bug860838-4.js
new file mode 100644
index 0000000000..88804d2b4c
--- /dev/null
+++ b/js/src/jit-test/tests/ion/bug860838-4.js
@@ -0,0 +1,54 @@
+function DiagModule(stdlib, foreign) {
+ "use asm";
+
+ var sqrt = stdlib.Math.sqrt;
+ var test = foreign.test;
+ var foo = foreign.foo;
+
+ function square(x) {
+ x = x|0;
+ return ((x|0)+(x|0))|0;
+ }
+
+ function diag() {
+ var x = 0.0;
+ while(1) {
+ test(1, x);
+ x = x+1.0
+ if (x > 15.0)
+ return 0;
+ }
+ return 0;
+ }
+
+ function diag_1() {
+ foo();
+ return 0;
+ }
+
+
+ return { diag: diag, diag_1:diag_1 };
+}
+
+var foreign = {
+ test:function(a,b) {
+ print(a+":"+b)
+ var c = [0.0];
+ if (b > 10)
+ return c[1];
+ return c[0];
+ },
+ foo:function() {
+ with({}) {};
+ gc();
+ }
+}
+
+// make sure foreign is compiled
+
+var fast = DiagModule(this, foreign); // produces AOT-compiled version
+print(fast.diag_1()); // 5
+gc()
+print(fast.diag()); // 5
+
+