OLD | NEW |
(Empty) | |
| 1 // Copyright 2014 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 function Module(stdlib, foreign, heap) { |
| 6 "use asm"; |
| 7 var MEM32 = new stdlib.Int32Array(heap); |
| 8 function load(i) { |
| 9 i = i|0; |
| 10 i = MEM32[i >> 2] | 0; |
| 11 return i; |
| 12 } |
| 13 function store(i, v) { |
| 14 i = i|0; |
| 15 v = v|0; |
| 16 MEM32[i >> 2] = v; |
| 17 } |
| 18 return { load: load, store: store }; |
| 19 } |
| 20 |
| 21 var m = Module(this, {}, new ArrayBuffer(1024)); |
| 22 |
| 23 m.store(0, 0x12345678); |
| 24 m.store(4, -1); |
| 25 m.store(8, -1); |
| 26 for (var i = 0; i < 4; ++i) { |
| 27 assertEquals(0x12345678, m.load(i)); |
| 28 } |
| 29 for (var i = 4; i < 12; ++i) { |
| 30 assertEquals(-1, m.load(i)); |
| 31 } |
| 32 for (var j = 4; j < 8; ++j) { |
| 33 m.store(j, 0x11223344); |
| 34 for (var i = 0; i < 4; ++i) { |
| 35 assertEquals(0x12345678, m.load(i)); |
| 36 } |
| 37 for (var i = 4; i < 8; ++i) { |
| 38 assertEquals(0x11223344, m.load(i)); |
| 39 } |
| 40 for (var i = 8; i < 12; ++i) { |
| 41 assertEquals(-1, m.load(i)); |
| 42 } |
| 43 } |
OLD | NEW |