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

Issue 2124023003: [turbofan] Add MachineType to LinkageLocation (Closed)

Created:
4 years, 5 months ago by danno
Modified:
4 years, 5 months ago
CC:
v8-reviews_googlegroups.com, v8-mips-ports_googlegroups.com, v8-x87-ports_googlegroups.com, v8-ppc-ports_googlegroups.com
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[turbofan] Add MachineType to LinkageLocation By adding MachineType to LinkageLocation, it is possible not only to reason about the location of a LinkageLocation on the stack, but also about it's size. This will be useful in follow-on CLs that attempt to merge some of the parameter passing logic of tail calls and normal (non-tail) calls. As a nice side-effect, it is no longer necessary to separately keep a MachineSignature in a CallDescriptor, because the MachineTypes contianed in LinkageLocation for all of the Descriptor's parameters and return types are sufficient. This CL therefore removes the MachineSignature from the CallDescriptor and adjusts all the calling code accordingly, simplifying and de-duplicating code in a bunch of places. R=titzer@chromium.org, bmeurer@chromium.org LOG=N Committed: https://crrev.com/3e2085eba411515969e988d55fa8767e1d05f714 Cr-Commit-Position: refs/heads/master@{#37633}

Patch Set 1 #

Patch Set 2 : Last tweaks #

Patch Set 3 : Fix test #

Total comments: 6

Patch Set 4 : Review feedback #

Patch Set 5 : Rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+246 lines, -292 lines) Patch
M src/compiler/arm/instruction-selector-arm.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/compiler/c-linkage.cc View 5 chunks +8 lines, -9 lines 0 comments Download
M src/compiler/ia32/instruction-selector-ia32.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/compiler/instruction-selector.cc View 1 7 chunks +15 lines, -23 lines 0 comments Download
M src/compiler/instruction-selector-impl.h View 5 chunks +9 lines, -15 lines 0 comments Download
M src/compiler/linkage.h View 1 2 3 10 chunks +45 lines, -25 lines 0 comments Download
M src/compiler/linkage.cc View 1 2 3 12 chunks +72 lines, -76 lines 0 comments Download
M src/compiler/mips/instruction-selector-mips.cc View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M src/compiler/mips64/instruction-selector-mips64.cc View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M src/compiler/ppc/instruction-selector-ppc.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/compiler/raw-machine-assembler.h View 1 chunk +1 line, -4 lines 0 comments Download
M src/compiler/raw-machine-assembler.cc View 3 chunks +3 lines, -6 lines 0 comments Download
M src/compiler/s390/instruction-selector-s390.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/compiler/simplified-lowering.cc View 2 chunks +4 lines, -6 lines 0 comments Download
M src/compiler/wasm-linkage.cc View 1 2 3 9 chunks +30 lines, -44 lines 0 comments Download
M src/compiler/x64/instruction-selector-x64.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/compiler/x87/instruction-selector-x87.cc View 1 chunk +1 line, -1 line 0 comments Download
M test/cctest/compiler/test-multiple-return.cc View 1 2 2 chunks +4 lines, -8 lines 0 comments Download
M test/cctest/compiler/test-run-machops.cc View 1 chunk +0 lines, -1 line 0 comments Download
M test/cctest/compiler/test-run-native-calls.cc View 1 6 chunks +8 lines, -11 lines 0 comments Download
M test/unittests/compiler/effect-control-linearizer-unittest.cc View 1 chunk +4 lines, -6 lines 0 comments Download
M test/unittests/compiler/instruction-selector-unittest.h View 2 chunks +4 lines, -3 lines 0 comments Download
M test/unittests/compiler/linkage-tail-call-unittest.cc View 1 chunk +12 lines, -15 lines 0 comments Download
M test/unittests/compiler/tail-call-optimization-unittest.cc View 6 chunks +19 lines, -32 lines 0 comments Download

Messages

Total messages: 14 (6 generated)
danno
PTAL
4 years, 5 months ago (2016-07-07 11:07:17 UTC) #2
danno
4 years, 5 months ago (2016-07-07 13:07:09 UTC) #4
titzer
lgtm! Nice simplification. Should have been that way from the beginning. https://codereview.chromium.org/2124023003/diff/40001/src/compiler/linkage.cc File src/compiler/linkage.cc (right): ...
4 years, 5 months ago (2016-07-08 07:46:23 UTC) #5
danno
Feedback addressed, landing... https://codereview.chromium.org/2124023003/diff/40001/src/compiler/linkage.cc File src/compiler/linkage.cc (right): https://codereview.chromium.org/2124023003/diff/40001/src/compiler/linkage.cc#newcode260 src/compiler/linkage.cc:260: regloc(kRuntimeCallArgCountRegister, MachineType::Pointer())); On 2016/07/08 07:46:22, titzer ...
4 years, 5 months ago (2016-07-08 15:22:10 UTC) #6
Benedikt Meurer
Nice, LGTM. On a related note: We should replace the use of Type* in CallInterfaceDescriptor ...
4 years, 5 months ago (2016-07-09 17:54:48 UTC) #7
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/2124023003/80001
4 years, 5 months ago (2016-07-11 10:02:27 UTC) #10
commit-bot: I haz the power
Committed patchset #5 (id:80001)
4 years, 5 months ago (2016-07-11 10:37:30 UTC) #12
commit-bot: I haz the power
4 years, 5 months ago (2016-07-11 10:39:44 UTC) #14
Message was sent while issue was closed.
Patchset 5 (id:??) landed as
https://crrev.com/3e2085eba411515969e988d55fa8767e1d05f714
Cr-Commit-Position: refs/heads/master@{#37633}

Powered by Google App Engine
This is Rietveld 408576698