blob: ace4e7f52c41bae97cfd7b3ddf3411c20f0f54a7 [file] [log] [blame]
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");