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

Issue 257563004: Unify and simplify the FastCloneShallowArrayStub (Closed)

Created:
6 years, 8 months ago by danno
Modified:
6 years, 8 months ago
Reviewers:
mvstanton
CC:
v8-dev
Visibility:
Public.

Description

Unify and simplify the FastCloneShallowArrayStub - Don't bake in length/capacity into full codegen calls of stubs, allowing boilerplates to increase their capacity without regenerating code. - Unify all variants of the clone stub into a single, length-independent version. - Various tweaks to make sure that the clone stub doesn't spill and therefore need an eager stack frame. - Handle all lengths of array literals in the fast case. R=mvstanton@chromium.org Committed: https://code.google.com/p/v8/source/detail?r=20974

Patch Set 1 #

Patch Set 2 : Remove redundancy #

Patch Set 3 : Implement all platforms #

Patch Set 4 : Fix arm64 #

Total comments: 7

Patch Set 5 : Review feedback #

Unified diffs Side-by-side diffs Delta from patch set Stats (+347 lines, -326 lines) Patch
M src/arm/code-stubs-arm.cc View 1 2 3 4 3 chunks +14 lines, -0 lines 0 comments Download
M src/arm/full-codegen-arm.cc View 1 2 3 4 1 chunk +2 lines, -23 lines 0 comments Download
M src/arm64/code-stubs-arm64.cc View 1 2 3 4 3 chunks +14 lines, -0 lines 0 comments Download
M src/arm64/full-codegen-arm64.cc View 1 2 3 4 1 chunk +2 lines, -25 lines 0 comments Download
M src/code-stubs.h View 1 2 3 4 3 chunks +6 lines, -46 lines 0 comments Download
M src/code-stubs.cc View 1 2 3 4 2 chunks +2 lines, -3 lines 0 comments Download
M src/code-stubs-hydrogen.cc View 1 2 3 4 3 chunks +37 lines, -45 lines 0 comments Download
M src/hydrogen.h View 1 2 3 4 3 chunks +29 lines, -8 lines 0 comments Download
M src/hydrogen.cc View 1 2 3 4 5 chunks +207 lines, -110 lines 0 comments Download
M src/ia32/code-stubs-ia32.cc View 1 2 3 4 3 chunks +14 lines, -0 lines 0 comments Download
M src/ia32/full-codegen-ia32.cc View 1 2 3 4 2 chunks +2 lines, -33 lines 0 comments Download
M src/mips/full-codegen-mips.cc View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M src/v8-counters.h View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M src/x64/code-stubs-x64.cc View 1 2 3 4 3 chunks +14 lines, -0 lines 0 comments Download
M src/x64/full-codegen-x64.cc View 1 2 3 4 2 chunks +2 lines, -32 lines 0 comments Download

Messages

Total messages: 4 (0 generated)
danno
PTAL
6 years, 8 months ago (2014-04-24 16:55:32 UTC) #1
mvstanton
Neat! With comments addressed, LGTM. https://codereview.chromium.org/257563004/diff/60001/src/hydrogen.cc File src/hydrogen.cc (right): https://codereview.chromium.org/257563004/diff/60001/src/hydrogen.cc#newcode2580 src/hydrogen.cc:2580: // register pressure in ...
6 years, 8 months ago (2014-04-25 08:25:17 UTC) #2
danno
Committed patchset #5 manually as r20974 (presubmit successful).
6 years, 8 months ago (2014-04-25 11:54:16 UTC) #3
danno
6 years, 8 months ago (2014-04-25 16:56:42 UTC) #4
Message was sent while issue was closed.
https://codereview.chromium.org/257563004/diff/60001/src/hydrogen.cc
File src/hydrogen.cc (right):

https://codereview.chromium.org/257563004/diff/60001/src/hydrogen.cc#newcode2633
src/hydrogen.cc:2633: HValue* HGraphBuilder::BuildCloneShallowArrayNoElements(
On 2014/04/25 08:25:17, mvstanton wrote:
> I don't like the name that much, it surprises me that a function with them
name
> would leave 1/2 of the JSArray uninitialized. 

Done.

https://codereview.chromium.org/257563004/diff/60001/src/hydrogen.cc#newcode2657
src/hydrogen.cc:2657: for (int i = 0; i < JSArray::kElementsOffset; i +=
kPointerSize) {
On 2014/04/25 08:25:17, mvstanton wrote:
> This is simply a map store, can we eliminate the loop and just store the map?

Done.

https://codereview.chromium.org/257563004/diff/60001/src/hydrogen.cc#newcode2658
src/hydrogen.cc:2658: if (i != JSArray::kElementsOffset) {
On 2014/04/25 08:25:17, mvstanton wrote:
> As written, this check would always succeed.

Done.

Powered by Google App Engine
This is Rietveld 408576698