blob: 082563f3410b73ebd7db6a33cf5e58010b715a48 [file] [log] [blame]
var sab = new SharedArrayBuffer(1);
var a = new Int8Array(sab);
var result = Atomics.store(a, 0, 1000);
if (result != 1000)
throw new Error("bad result: " + result);
sab = new SharedArrayBuffer(4);
a = new Uint32Array(sab);
result = Atomics.store(a, 0, 4000000000);
if (result != 4000000000)
throw new Error("bad result: " + result);
if (a[0] != 4000000000)
throw new Error("bad value read back: " + a[0]);
result = Atomics.store(a, 0, -4000000000);
if (result != -4000000000)
throw new Error("bad result: " + result);
if (a[0] != 294967296)
throw new Error("bad value read back: " + a[0]);
var count = 0;
result = Atomics.store(a, 0, { valueOf() { count++; return 42; } });
if (result != 42)
throw new Error("bad result: " + result);
if (count != 1)
throw new Error("bad count: " + count);