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

Issue 2313093002: [stubs] Port StoreTransitionStub and ElementsTransitionAndStoreStub to TurboFan. (Closed)

Created:
4 years, 3 months ago by Igor Sheludko
Modified:
4 years, 3 months ago
CC:
v8-reviews_googlegroups.com, v8-mips-ports_googlegroups.com, v8-x87-ports_googlegroups.com, v8-ppc-ports_googlegroups.com
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[stubs] Port StoreTransitionStub and ElementsTransitionAndStoreStub to TurboFan. This CL also cleans up related interface descriptors: 1) unused StoreTransitionDescriptor is removed and VectorStoreTransitionDescriptor is renamed to StoreTransitionDescriptor. 2) on ia32/x87 architectures slot and vector are passed on the stack (dispatcher/handlers cleanup will be addressed in a separate CL). These two stub ports have to be combined in one CL because: 1) without changing the StoreTransitionDescriptor TF was not able to compile them on ia32/x87 (because of lack of registers), 2) it was not possible to change the descriptor first because Crankshaft was not able to deal with the stack allocated parameters in case of a stub failure. TBR=jkummerow@chromium.org BUG=v8:5269 Committed: https://crrev.com/130d989355d78c4c00e7f3c096bf23d9788162c3 Cr-Commit-Position: refs/heads/master@{#39476}

Patch Set 1 : StoreTransitionDescriptor cleanup #

Patch Set 2 : Port of StoreTransitionStub #

Patch Set 3 : Port of ElementsTransitionAndStoreStub #

Total comments: 4

Patch Set 4 : Addressing comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+538 lines, -591 lines) Patch
M src/arm/code-stubs-arm.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/arm/interface-descriptors-arm.cc View 1 chunk +3 lines, -7 lines 0 comments Download
M src/arm64/code-stubs-arm64.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/arm64/interface-descriptors-arm64.cc View 1 chunk +3 lines, -7 lines 0 comments Download
M src/code-stub-assembler.h View 1 2 2 chunks +11 lines, -0 lines 0 comments Download
M src/code-stub-assembler.cc View 1 2 3 2 chunks +129 lines, -0 lines 0 comments Download
M src/code-stubs.h View 1 2 10 chunks +33 lines, -95 lines 0 comments Download
M src/code-stubs.cc View 1 2 2 chunks +101 lines, -11 lines 0 comments Download
M src/code-stubs-hydrogen.cc View 1 2 2 chunks +0 lines, -99 lines 0 comments Download
M src/crankshaft/hydrogen.cc View 1 2 1 chunk +0 lines, -42 lines 0 comments Download
M src/full-codegen/full-codegen.cc View 1 1 chunk +1 line, -0 lines 0 comments Download
M src/ia32/code-stubs-ia32.cc View 1 2 2 chunks +12 lines, -3 lines 0 comments Download
M src/ia32/interface-descriptors-ia32.cc View 1 chunk +3 lines, -11 lines 0 comments Download
M src/ic/arm/handler-compiler-arm.cc View 1 2 3 chunks +11 lines, -8 lines 0 comments Download
M src/ic/arm64/handler-compiler-arm64.cc View 1 2 3 chunks +11 lines, -8 lines 0 comments Download
M src/ic/handler-compiler.h View 1 2 2 chunks +3 lines, -4 lines 0 comments Download
M src/ic/handler-compiler.cc View 1 2 4 chunks +28 lines, -20 lines 0 comments Download
M src/ic/ia32/handler-compiler-ia32.cc View 1 2 3 chunks +17 lines, -15 lines 0 comments Download
M src/ic/ic.cc View 1 2 11 chunks +16 lines, -58 lines 0 comments Download
M src/ic/mips/handler-compiler-mips.cc View 1 2 3 chunks +11 lines, -8 lines 0 comments Download
M src/ic/mips64/handler-compiler-mips64.cc View 1 2 3 chunks +11 lines, -8 lines 0 comments Download
M src/ic/ppc/handler-compiler-ppc.cc View 1 2 3 chunks +11 lines, -8 lines 0 comments Download
M src/ic/s390/handler-compiler-s390.cc View 1 2 3 chunks +12 lines, -7 lines 0 comments Download
M src/ic/x64/handler-compiler-x64.cc View 1 2 3 chunks +11 lines, -8 lines 0 comments Download
M src/ic/x87/handler-compiler-x87.cc View 1 2 3 chunks +17 lines, -15 lines 0 comments Download
M src/interface-descriptors.h View 2 chunks +3 lines, -27 lines 0 comments Download
M src/interface-descriptors.cc View 2 chunks +20 lines, -44 lines 0 comments Download
M src/mips/code-stubs-mips.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/mips/interface-descriptors-mips.cc View 1 chunk +3 lines, -7 lines 0 comments Download
M src/mips64/code-stubs-mips64.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/mips64/interface-descriptors-mips64.cc View 1 chunk +3 lines, -7 lines 0 comments Download
M src/ppc/code-stubs-ppc.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/ppc/interface-descriptors-ppc.cc View 1 chunk +3 lines, -7 lines 0 comments Download
M src/runtime/runtime.h View 1 2 1 chunk +23 lines, -24 lines 0 comments Download
M src/s390/code-stubs-s390.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/s390/interface-descriptors-s390.cc View 1 chunk +3 lines, -5 lines 0 comments Download
M src/x64/code-stubs-x64.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/x64/interface-descriptors-x64.cc View 1 chunk +3 lines, -7 lines 0 comments Download
M src/x87/code-stubs-x87.cc View 1 2 2 chunks +12 lines, -3 lines 0 comments Download
M src/x87/interface-descriptors-x87.cc View 1 chunk +3 lines, -11 lines 0 comments Download

Messages

Total messages: 61 (47 generated)
Igor Sheludko
PTAL. To ease the reviewing I split the CL into three independent parts, each in ...
4 years, 3 months ago (2016-09-08 20:18:21 UTC) #25
Igor Sheludko
Michael, PTAL. To ease the reviewing I split the CL into three independent parts, each ...
4 years, 3 months ago (2016-09-15 11:04:34 UTC) #38
mvstanton
Nice cleanup! LGTM. https://codereview.chromium.org/2313093002/diff/300001/src/code-stub-assembler.cc File src/code-stub-assembler.cc (right): https://codereview.chromium.org/2313093002/diff/300001/src/code-stub-assembler.cc#newcode4927 src/code-stub-assembler.cc:4927: Comment("Not simple map change transition"); nit: ...
4 years, 3 months ago (2016-09-16 13:24:06 UTC) #41
mvstanton
still lgtm after look at patchsets 1-2.
4 years, 3 months ago (2016-09-16 13:30:44 UTC) #42
mvstanton
still lgtm after look at patchsets 1-2.
4 years, 3 months ago (2016-09-16 13:30:45 UTC) #43
mvstanton
still lgtm after look at patchsets 1-2.
4 years, 3 months ago (2016-09-16 13:30:47 UTC) #44
Igor Sheludko
Landing... https://codereview.chromium.org/2313093002/diff/300001/src/code-stub-assembler.cc File src/code-stub-assembler.cc (right): https://codereview.chromium.org/2313093002/diff/300001/src/code-stub-assembler.cc#newcode4927 src/code-stub-assembler.cc:4927: Comment("Not simple map change transition"); On 2016/09/16 13:24:06, ...
4 years, 3 months ago (2016-09-16 13:56:10 UTC) #45
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/2313093002/320001
4 years, 3 months ago (2016-09-16 13:56:28 UTC) #48
commit-bot: I haz the power
Try jobs failed on following builders: v8_presubmit on master.tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_presubmit/builds/24273)
4 years, 3 months ago (2016-09-16 14:01:36 UTC) #50
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/2313093002/320001
4 years, 3 months ago (2016-09-16 14:04:05 UTC) #53
commit-bot: I haz the power
Committed patchset #4 (id:320001)
4 years, 3 months ago (2016-09-16 14:23:32 UTC) #56
commit-bot: I haz the power
Patchset 4 (id:??) landed as https://crrev.com/130d989355d78c4c00e7f3c096bf23d9788162c3 Cr-Commit-Position: refs/heads/master@{#39476}
4 years, 3 months ago (2016-09-16 14:24:21 UTC) #58
danno
Please use the tracking bug https://bugs.chromium.org/p/chromium/issues/detail?id=608675 for CLs like this that port Hydrogen stubs, since ...
4 years, 3 months ago (2016-09-16 15:12:08 UTC) #60
Jakob Kummerow
4 years, 3 months ago (2016-09-21 22:53:35 UTC) #61
Message was sent while issue was closed.
Two late comments, otherwise LGTM.

https://codereview.chromium.org/2313093002/diff/300001/src/code-stub-assemble...
File src/code-stub-assembler.cc (right):

https://codereview.chromium.org/2313093002/diff/300001/src/code-stub-assemble...
src/code-stub-assembler.cc:4980: // If the object is in new space, we need to
check whether it is and
nit: this sentence is a little garbled.

https://codereview.chromium.org/2313093002/diff/300001/src/code-stub-assemble...
src/code-stub-assembler.cc:4987: Branch(WordEqual(object_page,
memento_end_page), &map_check,
This is slightly imprecise, right? |memento_end| points right after the memento,
which may well be on the next page if the memento ends exactly at the page
boundary.

Powered by Google App Engine
This is Rietveld 408576698