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

Issue 17091002: Hydrogen array constructor cleanup and improvements (Closed)

Created:
7 years, 6 months ago by mvstanton
Modified:
7 years, 5 months ago
Reviewers:
danno
Visibility:
Public.

Description

Hydrogen array constructor cleanup and improvements * Cleanup of LCallNewArray::PrintDataTo() method * Created HCallNewArray::PrintDataTo() * Created many more tests in array-constructor-feedback.js * Removed redundant instructions in GenerateRecordCallTarget * Bugfix in CreateArrayDispatchOneArgument: on a call to new Array(0), we'd like to set the type feedback cell to a packed elements kind, but we shouldn't do it if the cell contains the megamorphic sentinel. * When used from crankshaft, ArrayConstructorStubs can avoid verifying that the function being called is the array function from the current native context, relying instead on the fact that crankshaft issues an HCheckFunction to protect the constructor call. (this new minor key is used in LCodeGen::DoCallNewArray(), and influences code generation in CodeStubGraphBuilderBase::BuildArrayConstructor()). * Optimization: the array constructor specialized for FAST_SMI_ELEMENTS can save some instructions by looking up the correct map on the passed in constructor, rather than indexing into the array of cached maps per element kind. BUG= R=danno@chromium.org Committed: https://code.google.com/p/v8/source/detail?r=15383

Patch Set 1 #

Patch Set 2 : Ports and fixes #

Patch Set 3 : REBASE #

Total comments: 12

Patch Set 4 : REBASE #

Patch Set 5 : Review comment updates #

Patch Set 6 : One more code comment in GenerateRecordCallTarget #

Total comments: 2

Patch Set 7 : Fixed nit #

Unified diffs Side-by-side diffs Delta from patch set Stats (+325 lines, -100 lines) Patch
M src/arm/code-stubs-arm.cc View 1 2 3 4 5 3 chunks +13 lines, -6 lines 0 comments Download
M src/arm/lithium-arm.cc View 1 2 3 1 chunk +1 line, -2 lines 0 comments Download
M src/arm/lithium-codegen-arm.cc View 1 2 3 4 5 6 2 chunks +10 lines, -7 lines 0 comments Download
M src/bootstrapper.cc View 1 2 3 4 1 chunk +5 lines, -0 lines 0 comments Download
M src/code-stubs.h View 1 2 3 4 5 chunks +46 lines, -13 lines 0 comments Download
M src/code-stubs-hydrogen.cc View 1 2 3 4 6 chunks +22 lines, -13 lines 0 comments Download
M src/hydrogen.h View 1 2 3 4 1 chunk +2 lines, -1 line 0 comments Download
M src/hydrogen.cc View 1 2 3 4 3 chunks +18 lines, -11 lines 0 comments Download
M src/hydrogen-instructions.h View 1 2 3 1 chunk +2 lines, -0 lines 0 comments Download
M src/hydrogen-instructions.cc View 1 2 3 1 chunk +7 lines, -0 lines 0 comments Download
M src/ia32/code-stubs-ia32.cc View 1 2 3 4 5 3 chunks +14 lines, -7 lines 0 comments Download
M src/ia32/lithium-codegen-ia32.cc View 1 2 3 4 5 6 2 chunks +10 lines, -7 lines 0 comments Download
M src/ia32/lithium-ia32.cc View 1 2 3 1 chunk +1 line, -2 lines 0 comments Download
M src/x64/code-stubs-x64.cc View 1 2 3 4 5 3 chunks +13 lines, -6 lines 0 comments Download
M src/x64/lithium-codegen-x64.cc View 1 2 3 4 5 6 2 chunks +10 lines, -7 lines 0 comments Download
M src/x64/lithium-x64.cc View 1 2 3 1 chunk +1 line, -2 lines 0 comments Download
M test/mjsunit/allocation-site-info.js View 1 2 2 chunks +18 lines, -2 lines 0 comments Download
M test/mjsunit/array-constructor-feedback.js View 1 2 1 chunk +132 lines, -14 lines 0 comments Download

Messages

Total messages: 7 (0 generated)
mvstanton
Hi Danno, here is the cleanup/new test CL
7 years, 5 months ago (2013-06-26 08:34:45 UTC) #1
danno
https://codereview.chromium.org/17091002/diff/5001/src/code-stubs-hydrogen.cc File src/code-stubs-hydrogen.cc (right): https://codereview.chromium.org/17091002/diff/5001/src/code-stubs-hydrogen.cc#newcode109 src/code-stubs-hydrogen.cc:109: bool ensure_context, Turn this boolean parameter into an enum, ...
7 years, 5 months ago (2013-06-27 08:53:04 UTC) #2
mvstanton
Hi Danno, thanks for the good comments thus far. The enum change is noisy in ...
7 years, 5 months ago (2013-06-27 15:33:29 UTC) #3
mvstanton
Oops, I forgot the code comments from an abandoned CL, thanks for that. Now uploaded. ...
7 years, 5 months ago (2013-06-27 16:10:58 UTC) #4
danno
lgtm with comment https://codereview.chromium.org/17091002/diff/26001/src/ia32/lithium-codegen-ia32.cc File src/ia32/lithium-codegen-ia32.cc (right): https://codereview.chromium.org/17091002/diff/26001/src/ia32/lithium-codegen-ia32.cc#newcode4180 src/ia32/lithium-codegen-ia32.cc:4180: ? DISABLE_ALLOCATION_SITES nit: indent this line ...
7 years, 5 months ago (2013-06-27 20:35:54 UTC) #5
mvstanton
Committed patchset #7 manually as r15383 (presubmit successful).
7 years, 5 months ago (2013-06-28 13:16:28 UTC) #6
mvstanton
7 years, 5 months ago (2013-06-28 13:52:45 UTC) #7
Message was sent while issue was closed.
thanks again, submitted.

https://codereview.chromium.org/17091002/diff/26001/src/ia32/lithium-codegen-...
File src/ia32/lithium-codegen-ia32.cc (right):

https://codereview.chromium.org/17091002/diff/26001/src/ia32/lithium-codegen-...
src/ia32/lithium-codegen-ia32.cc:4180: ? DISABLE_ALLOCATION_SITES
On 2013/06/27 20:35:54, danno wrote:
> nit: indent this line and the next 4 spaces

Done.

Powered by Google App Engine
This is Rietveld 408576698