| Index: test/mjsunit/asm/atomics-and.js | 
| diff --git a/test/mjsunit/asm/atomics-and.js b/test/mjsunit/asm/atomics-and.js | 
| index 5660f508b0a4006d86b5c8a1f70406417d2e9df1..2e7de75c2e32e3fb8d7eff45c820b971efc335d1 100644 | 
| --- a/test/mjsunit/asm/atomics-and.js | 
| +++ b/test/mjsunit/asm/atomics-and.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 and = stdlib.Atomics.and; | 
| 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] = 0x7f; | 
| assertEquals(0x7f, f(0, 0xf), name); | 
| @@ -86,9 +83,21 @@ function testElementType(taConstr, f) { | 
| assertEquals(0, f(ta.length, 0), name); | 
| } | 
|  | 
| -testElementType(Int8Array, m.andi8); | 
| -testElementType(Int16Array, m.andi16); | 
| -testElementType(Int32Array, m.andi32); | 
| -testElementType(Uint8Array, m.andu8); | 
| -testElementType(Uint16Array, m.andu16); | 
| -testElementType(Uint32Array, m.andu32); | 
| +function testElement(m, offset) { | 
| +  testElementType(Int8Array, m.andi8, offset); | 
| +  testElementType(Int16Array, m.andi16, offset); | 
| +  testElementType(Int32Array, m.andi32, offset); | 
| +  testElementType(Uint8Array, m.andu8, offset); | 
| +  testElementType(Uint16Array, m.andu16, offset); | 
| +  testElementType(Uint32Array, m.andu32, 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); | 
|  |