blob: f05c81b170f789fb84b95fbc5d81274bd1ffd66f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
load(libdir + "asm.js");
load(libdir + "asserts.js");
if (!isAsmJSCompilationAvailable())
quit();
var code = USE_ASM + "var i32 = new stdlib.Int32Array(buf); function f() { return i32[0]|0 } return f";
var ab = new ArrayBuffer(BUF_MIN);
new Int32Array(ab)[0] = 42;
var f = asmLink(asmCompile('stdlib', 'ffi', 'buf', code), this, null, ab);
assertEq(f(), 42);
assertThrowsInstanceOf(() => detachArrayBuffer(ab), Error);
assertEq(f(), 42);
assertThrowsInstanceOf(() => serialize(ab, [ab]), Error);
assertEq(f(), 42);
|