diff options
Diffstat (limited to 'js/src/jit-test/tests/latin1/asm.js')
-rw-r--r-- | js/src/jit-test/tests/latin1/asm.js | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/latin1/asm.js b/js/src/jit-test/tests/latin1/asm.js new file mode 100644 index 000000000..ace4e7f52 --- /dev/null +++ b/js/src/jit-test/tests/latin1/asm.js @@ -0,0 +1,33 @@ +load(libdir + "asm.js"); + +setCachingEnabled(true); +if (!isAsmJSCompilationAvailable() || !isCachingEnabled()) + quit(); + +// Test Latin1 and TwoByte PropertyName serialization. + +// Latin1 +var body1 = "'use asm'; function funName() { return 42 } return funName"; +var m = new Function(body1); +assertEq(isAsmJSModule(m), true); +assertEq(m()(), 42); +var m = new Function(body1); +assertEq(isAsmJSModuleLoadedFromCache(m), true); +assertEq(m()(), 42); + +var f = m(); +assertEq(isLatin1(f.name), true); +assertEq(f.name, "funName"); + +// TwoByte +var body1 = "'use asm'; function funName\u1200() { return 42 } return funName\u1200"; +var m = new Function(body1); +assertEq(isAsmJSModule(m), true); +assertEq(m()(), 42); +var m = new Function(body1); +assertEq(isAsmJSModuleLoadedFromCache(m), true); +assertEq(m()(), 42); + +var f = m(); +assertEq(isLatin1(f.name), false); +assertEq(f.name, "funName\u1200"); |