summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/wasm/memory-cloning-new-global.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/wasm/memory-cloning-new-global.js')
-rw-r--r--js/src/jit-test/tests/wasm/memory-cloning-new-global.js12
1 files changed, 12 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/wasm/memory-cloning-new-global.js b/js/src/jit-test/tests/wasm/memory-cloning-new-global.js
new file mode 100644
index 0000000000..a7b632f3fd
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/memory-cloning-new-global.js
@@ -0,0 +1,12 @@
+// |jit-test| skip-if: !wasmThreadsEnabled()
+
+// Ensure we create the WebAssembly.Memory prototype object when deserializing a
+// WebAssembly.Memory object in a new global.
+
+let mem1 = new WebAssembly.Memory({initial: 1, maximum: 1, shared: true});
+let buf = serialize(mem1, [], {SharedArrayBuffer: "allow"});
+
+let g = newGlobal({sameCompartmentAs: this});
+let mem2 = g.deserialize(buf, {SharedArrayBuffer: "allow"});
+assertEq(mem2.buffer.byteLength, 65536);
+assertEq(Object.getPrototypeOf(mem2), g.WebAssembly.Memory.prototype);