Which Atomics operations are restricted to memory backed by a SharedArrayBuffer, versus also allowed on a non-shared ArrayBuffer?
const ab = new ArrayBuffer(8); // non-shared
const i32 = new Int32Array(ab);
Atomics.add(i32, 0, 1); // line A
Atomics.wait(i32, 0, 0); // line B