| 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 |