OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 function Module(stdlib, foreign, heap) { | 5 function Module(stdlib, foreign, heap) { |
6 "use asm"; | 6 "use asm"; |
| 7 function f0(i) { |
| 8 i = i|0; |
| 9 return i % 2 | 0; |
| 10 } |
7 function f1(i) { | 11 function f1(i) { |
8 i = i|0; | 12 i = i|0; |
9 return i % 3 | 0; | 13 return i % 3 | 0; |
10 } | 14 } |
11 function f2(i) { | 15 function f2(i) { |
12 i = i|0; | 16 i = i|0; |
13 return i % 9 | 0; | 17 return i % 9 | 0; |
14 } | 18 } |
15 function f3(i) { | 19 function f3(i) { |
16 i = i|0; | 20 i = i|0; |
17 return i % 1024 | 0; | 21 return i % 1024 | 0; |
18 } | 22 } |
19 function f4(i) { | 23 function f4(i) { |
20 i = i|0; | 24 i = i|0; |
21 return i % 3333339 | 0; | 25 return i % 3333339 | 0; |
22 } | 26 } |
23 return { f1: f1, f2: f2, f3: f3, f4: f4 }; | 27 return { f0: f0, f1: f1, f2: f2, f3: f3, f4: f4 }; |
24 } | 28 } |
25 | 29 |
26 var m = Module(this, {}, new ArrayBuffer(1024)); | 30 var m = Module(this, {}, new ArrayBuffer(1024)); |
27 | 31 |
28 for (var i = -2147483648; i < 2147483648; i += 3999773) { | 32 for (var i = -2147483648; i < 2147483648; i += 3999773) { |
| 33 assertEquals(i % 2 | 0, m.f0(i)); |
29 assertEquals(i % 3 | 0, m.f1(i)); | 34 assertEquals(i % 3 | 0, m.f1(i)); |
30 assertEquals(i % 9 | 0, m.f2(i)); | 35 assertEquals(i % 9 | 0, m.f2(i)); |
31 assertEquals(i % 1024 | 0, m.f3(i)); | 36 assertEquals(i % 1024 | 0, m.f3(i)); |
32 assertEquals(i % 3333339 | 0, m.f4(i)); | 37 assertEquals(i % 3333339 | 0, m.f4(i)); |
33 } | 38 } |
OLD | NEW |