| // 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. |
| |
| // Flags: --allow-natives-syntax |
| |
| function f(string, radix) { |
| // Use a phi to force radix into heap number representation. |
| radix = radix == 0 ? radix : radix >> 0; |
| if (radix != 2) return NaN; |
| return %StringParseInt(string, radix); |
| }; |
| %PrepareFunctionForOptimization(f); |
| assertEquals(2, -4294967294 >> 0); |
| assertEquals(3, f("11", -4294967294)); |
| assertEquals(NaN, f("11", -2147483650)); |
| %OptimizeFunctionOnNextCall(f); |
| assertEquals(3, f("11", -4294967294)); |