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