summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/structured-clone/transferable-across-segments.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/structured-clone/transferable-across-segments.js')
-rw-r--r--js/src/jit-test/tests/structured-clone/transferable-across-segments.js13
1 files changed, 13 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/structured-clone/transferable-across-segments.js b/js/src/jit-test/tests/structured-clone/transferable-across-segments.js
new file mode 100644
index 0000000000..9b31260ae7
--- /dev/null
+++ b/js/src/jit-test/tests/structured-clone/transferable-across-segments.js
@@ -0,0 +1,13 @@
+// Default capacity is 4096 bytes and each entry requires 24 bytes, so when
+// the transferables list contains >170 entries, more than one segment is
+// used, because 171 * 24 = 4104 and 4104 > 4096.
+
+const transferables = [];
+for (let i = 0; i < 170 + 1; ++i) {
+ transferables.push(new ArrayBuffer(1));
+}
+
+// Just don't crash.
+serialize([], transferables, {
+ scope: "DifferentProcess",
+});