|
1 load(libdir + "asm.js"); |
|
2 |
|
3 if (!isAsmJSCompilationAvailable()) |
|
4 quit(); |
|
5 |
|
6 var module = "'use asm';\n"; |
|
7 for (var i = 0; i < 100; i++) { |
|
8 module += "function f" + i + "(i) {\n"; |
|
9 module += " i=i|0; var j=0; j=(i+1)|0; i=(j-4)|0; i=(i+j)|0; return i|0\n"; |
|
10 module += "}\n"; |
|
11 } |
|
12 module += "return f0"; |
|
13 var script = "(function() {\n" + module + "})"; |
|
14 |
|
15 for (var i = 0; i < 10; i++) { |
|
16 try { |
|
17 offThreadCompileScript(script); |
|
18 var f = new Function(module); |
|
19 var g = runOffThreadScript(); |
|
20 assertEq(isAsmJSModule(f), true); |
|
21 assertEq(isAsmJSModule(g), true); |
|
22 } catch (e) { |
|
23 // ignore spurious error when offThreadCompileScript can't run in |
|
24 // parallel |
|
25 } |
|
26 } |