summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/jaeger/recompile/nativemulti.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/jaeger/recompile/nativemulti.js')
-rw-r--r--js/src/jit-test/tests/jaeger/recompile/nativemulti.js21
1 files changed, 21 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/jaeger/recompile/nativemulti.js b/js/src/jit-test/tests/jaeger/recompile/nativemulti.js
new file mode 100644
index 0000000000..d611586970
--- /dev/null
+++ b/js/src/jit-test/tests/jaeger/recompile/nativemulti.js
@@ -0,0 +1,21 @@
+
+/* Recompilation that requires patching the same native stub multiple times. */
+
+var first = 0;
+var second = 0;
+
+function foreachweird(a, f, vfirst, vsecond)
+{
+ a.forEach(f);
+ assertEq(first, vfirst);
+ assertEq(second, vsecond);
+}
+
+function weird() {
+ eval("first = 'one';");
+ eval("second = 'two';");
+}
+
+foreachweird([0], function() {}, 0, 0);
+foreachweird([0], function() {}, 0, 0);
+foreachweird([0], weird, 'one', 'two');