summaryrefslogtreecommitdiff
path: root/js/src/jit-test/tests/wasm/stealing.js
blob: 2da431e28bb3fd1ed112b5008e2759016aa53033 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
load(libdir + "wasm.js");

var exp = wasmEvalText(`(module
    (memory 1)
    (export "mem" memory)
    (func $f (result i32) (i32.load (i32.const 0)))
    (export "f" $f)
)`).exports;

var ab = exp.mem.buffer;
new Int32Array(ab)[0] = 42;

assertEq(exp.f(), 42);

assertThrowsInstanceOf(() => detachArrayBuffer(ab), Error);
assertEq(exp.f(), 42);

assertThrowsInstanceOf(() => serialize(ab, [ab]), Error);
assertEq(exp.f(), 42);