summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/asm.js/testBullet.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/asm.js/testBullet.js')
-rw-r--r--js/src/jit-test/tests/asm.js/testBullet.js19
1 files changed, 19 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/asm.js/testBullet.js b/js/src/jit-test/tests/asm.js/testBullet.js
new file mode 100644
index 000000000..64a6377e7
--- /dev/null
+++ b/js/src/jit-test/tests/asm.js/testBullet.js
@@ -0,0 +1,19 @@
+// Test a big fat asm.js module. First load/compile/cache bullet.js in a
+// separate process and then load it again in this process, which should be a
+// cache hit.
+
+setCachingEnabled(true);
+if (!isAsmJSCompilationAvailable())
+ quit();
+
+// Note: if you get some failure in this test, it probably has to do with
+// bullet.js and not the nestedShell() call, so try first commenting out
+// nestedShell() (and the loadedFromCache assertion) to see if the error
+// reproduces.
+var code = "setIonCheckGraphCoherency(false); setCachingEnabled(true); load('" + libdir + "bullet.js'); runBullet()";
+nestedShell("--js-cache", "--no-js-cache-per-process", "--execute=" + code);
+setIonCheckGraphCoherency(false);
+load(libdir + 'bullet.js');
+var results = runBullet();
+assertEq(results.asmJSValidated, true);
+assertEq(results.loadedFromCache, true);