Fix argument expectation Runtime_StringParseInt.
R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/230693002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20614 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
936a77087b
commit
4df132a878
@ -6312,7 +6312,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_StringParseInt) {
|
||||
SealHandleScope shs(isolate);
|
||||
|
||||
CONVERT_ARG_CHECKED(String, s, 0);
|
||||
CONVERT_SMI_ARG_CHECKED(radix, 1);
|
||||
CONVERT_NUMBER_CHECKED(int, radix, Int32, args[1]);
|
||||
|
||||
s->TryFlatten();
|
||||
|
||||
|
18
test/mjsunit/regress/regress-parseint.js
Normal file
18
test/mjsunit/regress/regress-parseint.js
Normal file
@ -0,0 +1,18 @@
|
||||
// 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);
|
||||
}
|
||||
|
||||
assertEquals(2, (-4294967294) >> 0);
|
||||
assertEquals(3, f("11", -4294967294));
|
||||
assertEquals(NaN, f("11", -2147483650));
|
||||
%OptimizeFunctionOnNextCall(f);
|
||||
assertEquals(3, f("11", -4294967294));
|
Loading…
Reference in New Issue
Block a user