blob: bfe8913e79f77cf8d6fc5042d6d296b2f5286f39 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
load(libdir + "asm.js");
function f(stdlib, foreign, buffer)
{
"use asm";
var i32 = new stdlib.Int32Array(buffer);
function set(v)
{
v=v|0;
i32[5] = v;
}
return set;
}
if (isAsmJSCompilationAvailable())
assertEq(isAsmJSModule(f), true);
var i32 = new Int32Array(65536);
var buffer = i32.buffer;
var set = f(this, null, buffer);
if (isAsmJSCompilationAvailable())
assertEq(isAsmJSFunction(set), true);
try
{
set({ valueOf() { detachArrayBuffer(buffer); return 17; } });
}
catch (e) { /* if an exception thrown, swallow */ }
|