diff options
Diffstat (limited to 'deps/v8/test/mjsunit/asm/atomics-sub.js')
-rw-r--r-- | deps/v8/test/mjsunit/asm/atomics-sub.js | 45 |
1 files changed, 27 insertions, 18 deletions
diff --git a/deps/v8/test/mjsunit/asm/atomics-sub.js b/deps/v8/test/mjsunit/asm/atomics-sub.js index d737811790..2ad97e479b 100644 --- a/deps/v8/test/mjsunit/asm/atomics-sub.js +++ b/deps/v8/test/mjsunit/asm/atomics-sub.js @@ -4,14 +4,14 @@ // Flags: --harmony-sharedarraybuffer -function Module(stdlib, foreign, heap) { +function Module(stdlib, foreign, heap, offset) { "use asm"; - var MEM8 = new stdlib.Int8Array(heap); - var MEM16 = new stdlib.Int16Array(heap); - var MEM32 = new stdlib.Int32Array(heap); - var MEMU8 = new stdlib.Uint8Array(heap); - var MEMU16 = new stdlib.Uint16Array(heap); - var MEMU32 = new stdlib.Uint32Array(heap); + var MEM8 = new stdlib.Int8Array(heap, offset); + var MEM16 = new stdlib.Int16Array(heap, offset); + var MEM32 = new stdlib.Int32Array(heap, offset); + var MEMU8 = new stdlib.Uint8Array(heap, offset); + var MEMU16 = new stdlib.Uint16Array(heap, offset); + var MEMU32 = new stdlib.Uint32Array(heap, offset); var sub = stdlib.Atomics.sub; var fround = stdlib.Math.fround; @@ -61,9 +61,6 @@ function Module(stdlib, foreign, heap) { }; } -var sab = new SharedArrayBuffer(16); -var m = Module(this, {}, sab); - function clearArray() { var ui8 = new Uint8Array(sab); for (var i = 0; i < sab.byteLength; ++i) { @@ -71,10 +68,10 @@ function clearArray() { } } -function testElementType(taConstr, f) { +function testElementType(taConstr, f, offset) { clearArray(); - var ta = new taConstr(sab); + var ta = new taConstr(sab, offset); var name = Object.prototype.toString.call(ta); ta[0] = 30; assertEquals(30, f(0, 10), name); @@ -86,9 +83,21 @@ function testElementType(taConstr, f) { assertEquals(0, f(ta.length, 0), name); } -testElementType(Int8Array, m.subi8); -testElementType(Int16Array, m.subi16); -testElementType(Int32Array, m.subi32); -testElementType(Uint8Array, m.subu8); -testElementType(Uint16Array, m.subu16); -testElementType(Uint32Array, m.subu32); +function testElement(m, offset) { + testElementType(Int8Array, m.subi8, offset); + testElementType(Int16Array, m.subi16, offset); + testElementType(Int32Array, m.subi32, offset); + testElementType(Uint8Array, m.subu8, offset); + testElementType(Uint16Array, m.subu16, offset); + testElementType(Uint32Array, m.subu32, offset); +} + +var offset = 0; +var sab = new SharedArrayBuffer(16); +var m1 = Module(this, {}, sab, offset); +testElement(m1, offset); + +offset = 32; +sab = new SharedArrayBuffer(64); +var m2 = Module(this, {}, sab, offset); +testElement(m2, offset); |