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
3// found in the LICENSE file.
4
5// Flags: --allow-natives-syntax
6
7function f(string, radix) {
8  // Use a phi to force radix into heap number representation.
9  radix = (radix == 0) ? radix : (radix >> 0);
10  if (radix != 2) return NaN;
11  return %StringParseInt(string, radix);
12}
13
14assertEquals(2, (-4294967294) >> 0);
15assertEquals(3, f("11", -4294967294));
16assertEquals(NaN, f("11", -2147483650));
17%OptimizeFunctionOnNextCall(f);
18assertEquals(3, f("11", -4294967294));
19