| // Copyright 2014 the V8 project authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| function Module(stdlib, foreign, buffer) { |
| "use asm"; |
| function f(i) { |
| i = i|0; |
| var j = 0; |
| do { |
| if ((i | 0) > 0) { |
| j = (i | 0) != 0; |
| i = (i - 1) | 0; |
| } else { |
| j = 0; |
| } |
| } while (j); |
| return i | 0; |
| } |
| return {f:f}; |
| } |
| |
| var m = Module(this, {}, new ArrayBuffer(64*1024)); |
| |
| assertEquals(-1, m.f("-1")); |
| assertEquals(0, m.f(-Math.infinity)); |
| assertEquals(0, m.f(undefined)); |
| assertEquals(0, m.f(0)); |
| assertEquals(0, m.f(1)); |
| assertEquals(0, m.f(100)); |