diff options
Diffstat (limited to 'js/src/jit-test/tests/wasm/stealing.js')
-rw-r--r-- | js/src/jit-test/tests/wasm/stealing.js | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/wasm/stealing.js b/js/src/jit-test/tests/wasm/stealing.js new file mode 100644 index 000000000..2da431e28 --- /dev/null +++ b/js/src/jit-test/tests/wasm/stealing.js @@ -0,0 +1,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); |