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

Issue 535873002: Encapsulate megamorphic load/tail-call in hydrogen (Closed)

Created:
6 years, 3 months ago by mvstanton
Modified:
6 years, 3 months ago
Reviewers:
Yang
CC:
v8-dev
Project:
v8
Visibility:
Public.

Description

To aid vector-based load ic work, we need to be able to handle the megamorphic load case in hydrogen. A simple approach is to wrap the probe activity in a hydrogen instruction. The instruction is novel in that it always tail-calls away. R=yangguo@chromium.org Committed: https://code.google.com/p/v8/source/detail?r=23772

Patch Set 1 #

Patch Set 2 : Starting to pass tests. #

Patch Set 3 : New approach, simply wrap the probe in an instruction. #

Patch Set 4 : Cleanup and tail call directly to miss handler. #

Patch Set 5 : Cleanup and ports. #

Total comments: 2

Patch Set 6 : REBASE. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+540 lines, -267 lines) Patch
M src/arm/lithium-arm.h View 1 2 3 4 2 chunks +21 lines, -0 lines 0 comments Download
M src/arm/lithium-arm.cc View 1 2 3 4 5 1 chunk +13 lines, -0 lines 0 comments Download
M src/arm/lithium-codegen-arm.cc View 1 2 3 4 2 chunks +29 lines, -0 lines 0 comments Download
M src/arm64/lithium-arm64.h View 1 2 3 4 2 chunks +22 lines, -0 lines 0 comments Download
M src/arm64/lithium-arm64.cc View 1 2 3 4 5 1 chunk +13 lines, -0 lines 0 comments Download
M src/arm64/lithium-codegen-arm64.cc View 1 2 3 4 2 chunks +29 lines, -0 lines 0 comments Download
M src/code-stubs.h View 1 2 3 4 5 2 chunks +22 lines, -0 lines 0 comments Download
M src/code-stubs.cc View 1 2 3 4 5 1 chunk +7 lines, -0 lines 0 comments Download
M src/code-stubs-hydrogen.cc View 1 2 3 4 5 1 chunk +21 lines, -0 lines 0 comments Download
M src/hydrogen-instructions.h View 1 2 3 4 5 3 chunks +161 lines, -130 lines 0 comments Download
M src/hydrogen-instructions.cc View 1 2 3 4 5 2 chunks +10 lines, -0 lines 0 comments Download
M src/ia32/lithium-codegen-ia32.cc View 1 2 3 4 5 3 chunks +29 lines, -4 lines 0 comments Download
M src/ia32/lithium-ia32.h View 1 2 3 4 5 3 chunks +24 lines, -1 line 0 comments Download
M src/ia32/lithium-ia32.cc View 1 2 3 4 5 1 chunk +13 lines, -0 lines 0 comments Download
M src/ic/arm/ic-arm.cc View 1 2 3 4 2 chunks +2 lines, -20 lines 0 comments Download
M src/ic/arm/stub-cache-arm.cc View 1 2 3 4 5 chunks +11 lines, -9 lines 0 comments Download
M src/ic/arm64/ic-arm64.cc View 1 2 3 4 2 chunks +2 lines, -20 lines 0 comments Download
M src/ic/arm64/stub-cache-arm64.cc View 1 2 3 4 5 chunks +13 lines, -10 lines 0 comments Download
M src/ic/ia32/ic-ia32.cc View 1 2 3 2 chunks +1 line, -19 lines 0 comments Download
M src/ic/ia32/stub-cache-ia32.cc View 1 2 6 chunks +13 lines, -7 lines 0 comments Download
M src/ic/ic.h View 1 2 3 4 5 1 chunk +0 lines, -1 line 0 comments Download
M src/ic/ic.cc View 1 2 3 4 5 1 chunk +2 lines, -2 lines 0 comments Download
M src/ic/ic-compiler.h View 1 2 3 1 chunk +0 lines, -1 line 0 comments Download
M src/ic/ic-compiler.cc View 1 2 3 4 5 2 chunks +0 lines, -10 lines 0 comments Download
M src/ic/stub-cache.h View 1 2 3 2 chunks +6 lines, -3 lines 0 comments Download
M src/ic/x64/ic-x64.cc View 1 2 3 2 chunks +1 line, -18 lines 0 comments Download
M src/ic/x64/stub-cache-x64.cc View 1 2 5 chunks +11 lines, -7 lines 0 comments Download
M src/x64/lithium-codegen-x64.cc View 1 2 3 4 5 3 chunks +27 lines, -4 lines 0 comments Download
M src/x64/lithium-x64.h View 1 2 3 4 3 chunks +24 lines, -1 line 0 comments Download
M src/x64/lithium-x64.cc View 1 2 3 4 5 1 chunk +13 lines, -0 lines 0 comments Download

Messages

Total messages: 8 (3 generated)
mvstanton
Hi Yang, Thanks for the look at this one. I've verified perf neutrality across benchmarks. ...
6 years, 3 months ago (2014-09-05 11:51:42 UTC) #4
Yang
On 2014/09/05 11:51:42, mvstanton wrote: > Hi Yang, > Thanks for the look at this ...
6 years, 3 months ago (2014-09-08 08:42:47 UTC) #5
Yang
... with a comment though. https://codereview.chromium.org/535873002/diff/120001/src/code-stubs.h File src/code-stubs.h (right): https://codereview.chromium.org/535873002/diff/120001/src/code-stubs.h#newcode1990 src/code-stubs.h:1990: virtual Major MajorKey() const ...
6 years, 3 months ago (2014-09-08 08:43:01 UTC) #6
mvstanton
Updated, thanks very much! --Michael https://codereview.chromium.org/535873002/diff/120001/src/code-stubs.h File src/code-stubs.h (right): https://codereview.chromium.org/535873002/diff/120001/src/code-stubs.h#newcode1990 src/code-stubs.h:1990: virtual Major MajorKey() const ...
6 years, 3 months ago (2014-09-08 12:35:20 UTC) #7
mvstanton
6 years, 3 months ago (2014-09-08 12:51:54 UTC) #8
Message was sent while issue was closed.
Committed patchset #6 (id:140001) manually as 23772 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698