Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(105)

Issue 2232063002: [builtins] WIP: Array indexOf in TurboFan/Runtime (Closed)

Created:
4 years, 4 months ago by mattloring
Modified:
4 years ago
CC:
v8-reviews_googlegroups.com, Jakob Kummerow
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[builtins] Array indexOf in TurboFan/Runtime Includes fast paths in the runtime for DictionaryElementsAccessor, FastSmiOrObjectElementsAccessor, FastDoubleElementsAccessor, TypedElementsAccessor, and SloppyArgumentsElementsAccessor. BUG= Committed: https://crrev.com/da5d713d73d43aec66ff45c29d06b4857182578b Cr-Commit-Position: refs/heads/master@{#38800}

Patch Set 1 #

Total comments: 16

Patch Set 2 : Rebase #

Patch Set 3 : Address comments #

Patch Set 4 : Introducing the TF builtin #

Patch Set 5 : Update test to look for new error message #

Total comments: 4

Patch Set 6 : Add elements fastpaths #

Total comments: 58

Patch Set 7 : Punctuation and improved error message #

Patch Set 8 : Fix receiver dcheck #

Patch Set 9 : Address remaining comments #

Patch Set 10 : Fix improper use of Maybe #

Patch Set 11 : Specialization for FastDoubleElementsAccessor #

Total comments: 10

Patch Set 12 : Eliminate specialized numeric path #

Patch Set 13 : Move fast path FastElements -> FastSmiOrObjectElements #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1371 lines, -83 lines) Patch
M src/builtins/builtins.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M src/builtins/builtins-array.cc View 1 2 3 1 chunk +376 lines, -0 lines 0 comments Download
M src/elements.h View 1 2 3 4 5 6 7 8 9 1 chunk +7 lines, -0 lines 0 comments Download
M src/elements.cc View 1 2 3 4 5 6 7 8 9 10 11 12 7 chunks +242 lines, -0 lines 0 comments Download
M src/js/array.js View 5 chunks +2 lines, -70 lines 0 comments Download
M src/js/i18n.js View 9 chunks +7 lines, -9 lines 0 comments Download
M src/js/string.js View 3 chunks +1 line, -3 lines 0 comments Download
M src/runtime/runtime.h View 1 1 chunk +2 lines, -1 line 0 comments Download
M src/runtime/runtime-array.cc View 1 2 3 4 5 6 7 8 9 2 chunks +101 lines, -0 lines 0 comments Download
A test/mjsunit/array-indexing-receiver.js View 1 2 3 1 chunk +632 lines, -0 lines 0 comments Download

Messages

Total messages: 68 (51 generated)
Benedikt Meurer
Adding Camillo for Array builtins review. I suspect he wants you to an ElementsAccessor version ...
4 years, 4 months ago (2016-08-11 04:02:24 UTC) #4
mattloring
https://codereview.chromium.org/2232063002/diff/1/src/js/typedarray.js File src/js/typedarray.js (right): https://codereview.chromium.org/2232063002/diff/1/src/js/typedarray.js#newcode573 src/js/typedarray.js:573: On 2016/08/11 04:02:24, Benedikt Meurer wrote: > You could ...
4 years, 4 months ago (2016-08-11 17:32:57 UTC) #5
Camillo Bruni
some nits https://codereview.chromium.org/2232063002/diff/1/src/runtime/runtime-array.cc File src/runtime/runtime-array.cc (right): https://codereview.chromium.org/2232063002/diff/1/src/runtime/runtime-array.cc#newcode556 src/runtime/runtime-array.cc:556: isolate, object, Object::ToObject(isolate, handle(args[0], isolate))); nit: use ...
4 years, 4 months ago (2016-08-12 10:46:49 UTC) #6
mattloring
https://codereview.chromium.org/2232063002/diff/1/src/runtime/runtime-array.cc File src/runtime/runtime-array.cc (right): https://codereview.chromium.org/2232063002/diff/1/src/runtime/runtime-array.cc#newcode378 src/runtime/runtime-array.cc:378: if (object->WouldConvertToSlowElements(index)) { On 2016/08/11 04:02:24, Benedikt Meurer wrote: ...
4 years, 4 months ago (2016-08-15 17:31:09 UTC) #7
Camillo Bruni
LGTM on the C++ slow-path. Please send follow-up CLs / patches to jkummerow@ he has ...
4 years, 4 months ago (2016-08-16 11:29:18 UTC) #8
mattloring
https://codereview.chromium.org/2232063002/diff/80001/test/webkit/fast/js/array-prototype-properties-expected.txt File test/webkit/fast/js/array-prototype-properties-expected.txt (right): https://codereview.chromium.org/2232063002/diff/80001/test/webkit/fast/js/array-prototype-properties-expected.txt#newcode44 test/webkit/fast/js/array-prototype-properties-expected.txt:44: PASS Array.prototype.indexOf.call(undefined, 0) threw exception TypeError: Cannot convert undefined ...
4 years, 4 months ago (2016-08-16 16:57:32 UTC) #13
Jakob Kummerow
Patch set 6 needs more work. High-level comment: if you need excessive elements kind checks ...
4 years, 4 months ago (2016-08-17 15:42:59 UTC) #23
mattloring
Addressed first half of patch set 6 comments. https://codereview.chromium.org/2232063002/diff/1/src/runtime/runtime-array.cc File src/runtime/runtime-array.cc (right): https://codereview.chromium.org/2232063002/diff/1/src/runtime/runtime-array.cc#newcode603 src/runtime/runtime-array.cc:603: // ...
4 years, 4 months ago (2016-08-17 23:27:21 UTC) #24
mattloring
https://codereview.chromium.org/2232063002/diff/100001/src/elements.cc File src/elements.cc (right): https://codereview.chromium.org/2232063002/diff/100001/src/elements.cc#newcode1630 src/elements.cc:1630: return Just(static_cast<int32_t>(k)); On 2016/08/17 15:42:58, Jakob wrote: > Who ...
4 years, 4 months ago (2016-08-18 19:03:11 UTC) #33
Jakob Kummerow
LGTM with two more suggestions, and two non-actionable remarks. https://codereview.chromium.org/2232063002/diff/200001/src/elements.cc File src/elements.cc (right): https://codereview.chromium.org/2232063002/diff/200001/src/elements.cc#newcode2195 src/elements.cc:2195: ...
4 years, 4 months ago (2016-08-19 09:49:56 UTC) #46
mattloring
https://codereview.chromium.org/2232063002/diff/200001/src/elements.cc File src/elements.cc (right): https://codereview.chromium.org/2232063002/diff/200001/src/elements.cc#newcode2195 src/elements.cc:2195: if (!value->IsNumber()) { On 2016/08/19 09:49:56, Jakob wrote: > ...
4 years, 4 months ago (2016-08-19 17:22:33 UTC) #47
Jakob Kummerow
LGTM, but please move that method to the FastSmiOrObjectElementsAccessor class. Also, please don't forget to ...
4 years, 4 months ago (2016-08-22 09:54:10 UTC) #52
mattloring
On 2016/08/22 09:54:10, Jakob wrote: > LGTM, but please move that method to the FastSmiOrObjectElementsAccessor ...
4 years, 4 months ago (2016-08-22 17:06:55 UTC) #57
mattloring
https://codereview.chromium.org/2232063002/diff/200001/src/elements.cc File src/elements.cc (right): https://codereview.chromium.org/2232063002/diff/200001/src/elements.cc#newcode2195 src/elements.cc:2195: if (!value->IsNumber()) { On 2016/08/22 09:54:10, Jakob wrote: > ...
4 years, 4 months ago (2016-08-22 17:07:03 UTC) #58
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2232063002/240001
4 years, 4 months ago (2016-08-22 18:30:02 UTC) #63
commit-bot: I haz the power
Committed patchset #13 (id:240001)
4 years, 4 months ago (2016-08-22 18:36:54 UTC) #65
commit-bot: I haz the power
4 years, 4 months ago (2016-08-22 18:37:13 UTC) #67
Message was sent while issue was closed.
Patchset 13 (id:??) landed as
https://crrev.com/da5d713d73d43aec66ff45c29d06b4857182578b
Cr-Commit-Position: refs/heads/master@{#38800}

Powered by Google App Engine
This is Rietveld 408576698