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, buffer) { | 5 function Module(stdlib, foreign, buffer) { |
6 "use asm"; | 6 "use asm"; |
7 function f(i) { | 7 function f(i) { |
8 var j; | |
9 i = i|0; | 8 i = i|0; |
| 9 var j = 0; |
10 do { | 10 do { |
11 if (i > 0) { | 11 if ((i | 0) > 0) { |
12 j = i != 0; | 12 j = (i | 0) != 0; |
13 i = (i - 1) | 0; | 13 i = (i - 1) | 0; |
14 } else { | 14 } else { |
15 j = 0; | 15 j = 0; |
16 } | 16 } |
17 } while (j); | 17 } while (j); |
18 return i; | 18 return i | 0; |
19 } | 19 } |
20 return {f:f}; | 20 return {f:f}; |
21 } | 21 } |
22 | 22 |
23 var m = Module(this, {}, new ArrayBuffer(64*1024)); | 23 var m = Module(this, {}, new ArrayBuffer(64*1024)); |
24 | 24 |
25 assertEquals(-1, m.f("-1")); | 25 assertEquals(-1, m.f("-1")); |
26 assertEquals(0, m.f(-Math.infinity)); | 26 assertEquals(0, m.f(-Math.infinity)); |
27 assertEquals(0, m.f(undefined)); | 27 assertEquals(0, m.f(undefined)); |
28 assertEquals(0, m.f(0)); | 28 assertEquals(0, m.f(0)); |
29 assertEquals(0, m.f(1)); | 29 assertEquals(0, m.f(1)); |
30 assertEquals(0, m.f(100)); | 30 assertEquals(0, m.f(100)); |
OLD | NEW |