blob: f2e2196129f651acc1096cfc5526e8b6c75e95ad [file] [log] [blame]
//@ skip if $model == "Apple Watch Series 3" # added by mark-jsc-stress-test.py
//@ requireOptions("--useExecutableAllocationFuzz=false")
// Source in wasm/stress/memcpy-wasm
if (typeof WebAssembly === "object") {
function eq(a, b) {
if (a !== b)
throw new Error("Not equal: " + a + " " + b);
}
let memory = new WebAssembly.Memory({initial:1, maximum:1});
let i32 = new Int32Array(memory.buffer);
for (let i = 0; i < 10; i++) {
i32[i] = i;
}
try {
const $1 = new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([
0,97,115,109,1,0,0,0,1,7,1,96,3,127,127,127,0,2,12,1,2,106,115,3,109,101,109,2,1,1,1,3,2,1,0,6,1,0,7,13,1,9,100,111,95,109,101,109,99,112,121,0,0,10,57,1,55,1,1,127,65,0,33,3,3,64,2,64,32,2,32,3,70,13,0,32,1,65,4,108,32,3,65,4,108,106,32,0,32,3,65,4,108,106,40,0,0,54,0,0,32,3,65,1,106,33,3,12,1,11,11,11
])), { js: { mem: memory } });
for (let i=0; i<1000000; ++i)
$1.exports.do_memcpy(0,5,5);
eq(i32[0], 0);
eq(i32[1], 1);
eq(i32[2], 2);
eq(i32[3], 3);
eq(i32[4], 4);
eq(i32[5], 0);
eq(i32[6], 1);
eq(i32[7], 2);
eq(i32[8], 3);
eq(i32[9], 4);
} catch (e) {
if (jscOptions().useExecutableAllocationFuzz === false)
throw e
}
}