diff options
author | Michaël Zasso <targos@protonmail.com> | 2017-06-12 10:27:03 +0200 |
---|---|---|
committer | Michaël Zasso <targos@protonmail.com> | 2017-06-20 15:24:57 +0200 |
commit | 7cdcca7623aba835ef23a15d4bf76cd2dcfc2130 (patch) | |
tree | 15bc54eb339180efca3e00ebbd20e78dc7f202f2 /deps/v8/src/builtins | |
parent | 8f907b6baf59fe08c8f7cbc279ea7dec71f42c8c (diff) | |
download | android-node-v8-7cdcca7623aba835ef23a15d4bf76cd2dcfc2130.tar.gz android-node-v8-7cdcca7623aba835ef23a15d4bf76cd2dcfc2130.tar.bz2 android-node-v8-7cdcca7623aba835ef23a15d4bf76cd2dcfc2130.zip |
deps: cherry-pick 866ee63 from upstream V8
Original commit message:
[string] Re-enable result caching for String.p.split
Runtime::kStringSplit's result caching is only enabled when limit equals
kMaxUInt32.
BUG=v8:6463
Review-Url: https://codereview.chromium.org/2923183002
Cr-Commit-Position: refs/heads/master@{#45724}
PR-URL: https://github.com/nodejs/node/pull/13630
Fixes: https://github.com/nodejs/node/issues/13445
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Diffstat (limited to 'deps/v8/src/builtins')
-rw-r--r-- | deps/v8/src/builtins/builtins-string-gen.cc | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/deps/v8/src/builtins/builtins-string-gen.cc b/deps/v8/src/builtins/builtins-string-gen.cc index 25bf14ce2b..ed559eadfd 100644 --- a/deps/v8/src/builtins/builtins-string-gen.cc +++ b/deps/v8/src/builtins/builtins-string-gen.cc @@ -1190,14 +1190,11 @@ TF_BUILTIN(StringPrototypeSplit, StringBuiltinsAssembler) { }); // String and integer conversions. - // TODO(jgruber): The old implementation used Uint32Max instead of SmiMax - - // but AFAIK there should not be a difference since arrays are capped at Smi - // lengths. Callable tostring_callable = CodeFactory::ToString(isolate()); Node* const subject_string = CallStub(tostring_callable, context, receiver); Node* const limit_number = - Select(IsUndefined(limit), [=]() { return SmiConstant(Smi::kMaxValue); }, + Select(IsUndefined(limit), [=]() { return NumberConstant(kMaxUInt32); }, [=]() { return ToUint32(context, limit); }, MachineRepresentation::kTagged); Node* const separator_string = |