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 f1(i) { | 7 function f1(i) { |
8 i = i|0; | 8 i = i|0; |
9 return i % 3; | 9 return ((i | 0) % 3) | 0; |
10 } | 10 } |
11 function f2(i) { | 11 function f2(i) { |
12 i = i|0; | 12 i = i|0; |
13 return i % 9; | 13 return ((i | 0) % 9) | 0; |
14 } | 14 } |
15 function f3(i) { | 15 function f3(i) { |
16 i = i|0; | 16 i = i|0; |
17 return i % 1024; | 17 return ((i | 0) % 1024) | 0; |
18 } | 18 } |
19 function f4(i) { | 19 function f4(i) { |
20 i = i|0; | 20 i = i|0; |
21 return i % 3133335; | 21 return ((i | 0) % 3133335) | 0; |
22 } | 22 } |
23 return { f1: f1, f2: f2, f3: f3, f4: f4 }; | 23 return { f1: f1, f2: f2, f3: f3, f4: f4 }; |
24 } | 24 } |
25 | 25 |
26 var m = Module(this, {}, new ArrayBuffer(1024)); | 26 var m = Module(this, {}, new ArrayBuffer(1024)); |
27 | 27 |
28 for (var i = -2147483648; i < 2147483648; i += 3999773) { | 28 for (var i = -2147483648; i < 2147483648; i += 3999773) { |
29 assertEquals(i % 3, m.f1(i)); | 29 assertEquals((i % 3) | 0, m.f1(i)); |
30 assertEquals(i % 9, m.f2(i)); | 30 assertEquals((i % 9) | 0, m.f2(i)); |
31 assertEquals(i % 1024, m.f3(i)); | 31 assertEquals((i % 1024) | 0, m.f3(i)); |
32 assertEquals(i % 3133335, m.f4(i)); | 32 assertEquals((i % 3133335) | 0, m.f4(i)); |
33 } | 33 } |
OLD | NEW |