summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/ion/bug860838-2.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/ion/bug860838-2.js')
-rw-r--r--js/src/jit-test/tests/ion/bug860838-2.js28
1 files changed, 28 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/ion/bug860838-2.js b/js/src/jit-test/tests/ion/bug860838-2.js
new file mode 100644
index 0000000000..df1e47e086
--- /dev/null
+++ b/js/src/jit-test/tests/ion/bug860838-2.js
@@ -0,0 +1,28 @@
+function func1() { return "123" }
+function func2(a,b,c,d,e) { return "123" }
+var imp = { func1:func1, func2:func2 };
+
+function FFI1(stdlib, foreign) {
+ "use asm";
+
+ var func1 = foreign.func1;
+ var func2 = foreign.func2;
+
+ function g() {
+ return func1()|0
+ }
+
+ function h() {
+ return func2()|0
+ }
+
+ return {g:g, h:h};
+}
+
+var f = FFI1(this, imp); // produces AOT-compiled version
+
+assertEq(f.g(), 123);
+assertEq(f.g(), 123);
+
+assertEq(f.h(), 123);
+assertEq(f.h(), 123);