summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/ion/bug1072691.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/ion/bug1072691.js')
-rw-r--r--js/src/jit-test/tests/ion/bug1072691.js58
1 files changed, 58 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/ion/bug1072691.js b/js/src/jit-test/tests/ion/bug1072691.js
new file mode 100644
index 0000000000..84204bc9f0
--- /dev/null
+++ b/js/src/jit-test/tests/ion/bug1072691.js
@@ -0,0 +1,58 @@
+// Testcase 1.
+try {
+ function g(x) {
+ (x | 0 && 0)()
+ }
+ (function(f, s) {
+ f()
+ })(g, [])
+} catch (e) {}
+
+// Testcase 2.
+function g2(f, inputs) {
+ for (var j = 0; j < 49; ++j) {
+ for (var k = 0; k < 49; ++k) {
+ try {
+ f()
+ } catch (e) {}
+ }
+ }
+}
+function f1(x, y) {
+ (x | 0 ? Number.MAX_VALUE | 0 : x | 0)();
+};
+function f2(y) {
+ f1(y | 0)();
+};
+g2(f2, [Number])
+
+// Testcase 3.
+function h(f) {
+ for (var j = 0; j < 99; ++j) {
+ for (var k = 0; k < 99; ++k) {
+ try {
+ f()
+ } catch (e) {}
+ }
+ }
+}
+function g3(x) {
+ (x | 0 ? Number.MAX_VALUE | 0 : x | 0)
+}
+h(g3, [Number])
+
+// Testcase 4.
+function m(f) {
+ f()
+}
+function g4(x) {
+ return x ? Math.fround(-Number.MIN_VALUE) : x
+}
+m(g4)
+function h2(M) {
+ try {
+ (g4(-0 + M))()
+ } catch (e) {}
+}
+m(h2, [Math - Number])
+