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

Issue 1455833004: [turbofan]: Implement tail calls with more callee than caller parameters (Closed)

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

Description

[turbofan]: Implement tail calls with more callee than caller parameters * Adds a PrepareForTailCall instruction that bumps the stack in the case that the number of parameters passed to the callee causes the stack to exceed the calleer's frame size. * Uses the gap resolver to move the saved caller return address and frame pointer to the approprate location in the tail-called frame. BUG=v8:4076 LOG=n Committed: https://crrev.com/c6d310da4d86ce2d8178a49f4d34b66ad6143432 Cr-Commit-Position: refs/heads/master@{#32151}

Patch Set 1 #

Patch Set 2 : Platform ports #

Patch Set 3 : Platform ports #

Patch Set 4 : Fix build #

Patch Set 5 : Fix build again #

Patch Set 6 : Cleanup UseLocation #

Patch Set 7 : Fix comment #

Patch Set 8 : Remove stray change #

Total comments: 4

Patch Set 9 : Review feedback #

Total comments: 8

Patch Set 10 : Final review feedback #

Patch Set 11 : Improve comment #

Unified diffs Side-by-side diffs Delta from patch set Stats (+222 lines, -69 lines) Patch
M src/compiler/arm/code-generator-arm.cc View 1 2 3 4 5 6 7 8 9 2 chunks +22 lines, -6 lines 0 comments Download
M src/compiler/arm64/code-generator-arm64.cc View 1 2 3 4 5 6 7 8 9 2 chunks +18 lines, -6 lines 0 comments Download
M src/compiler/code-generator.h View 1 2 3 4 5 6 7 8 9 10 2 chunks +9 lines, -0 lines 0 comments Download
M src/compiler/code-generator.cc View 1 2 3 4 5 6 7 8 9 1 chunk +16 lines, -0 lines 0 comments Download
M src/compiler/ia32/code-generator-ia32.cc View 1 2 3 4 5 6 7 8 9 2 chunks +17 lines, -9 lines 0 comments Download
M src/compiler/instruction-codes.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/compiler/instruction-selector.cc View 1 2 3 4 5 6 7 8 9 2 chunks +37 lines, -0 lines 0 comments Download
M src/compiler/instruction-selector-impl.h View 1 2 3 4 5 6 7 8 9 2 chunks +20 lines, -2 lines 0 comments Download
M src/compiler/linkage.h View 1 2 3 4 5 6 7 8 9 1 chunk +20 lines, -1 line 0 comments Download
M src/compiler/linkage.cc View 1 2 3 4 5 6 7 8 9 3 chunks +3 lines, -6 lines 0 comments Download
M src/compiler/mips/code-generator-mips.cc View 1 2 3 4 5 6 7 8 9 2 chunks +18 lines, -12 lines 0 comments Download
M src/compiler/mips64/code-generator-mips64.cc View 1 2 3 4 5 6 7 8 9 2 chunks +18 lines, -12 lines 0 comments Download
M src/compiler/x64/code-generator-x64.cc View 1 2 3 4 5 6 7 8 9 2 chunks +17 lines, -9 lines 0 comments Download
M test/unittests/compiler/linkage-tail-call-unittest.cc View 1 2 3 4 5 6 7 8 9 4 chunks +6 lines, -6 lines 0 comments Download

Messages

Total messages: 13 (6 generated)
danno
PTAL
5 years, 1 month ago (2015-11-19 09:58:57 UTC) #3
Benedikt Meurer
LGTM with two beefs. https://codereview.chromium.org/1455833004/diff/80002/src/compiler/instruction-selector-impl.h File src/compiler/instruction-selector-impl.h (right): https://codereview.chromium.org/1455833004/diff/80002/src/compiler/instruction-selector-impl.h#newcode157 src/compiler/instruction-selector-impl.h:157: UnallocatedOperand::cast(TempLocation(from_location, kMachPtr)); Is kMachPtr really ...
5 years, 1 month ago (2015-11-20 10:06:43 UTC) #6
Jarin
lgtm with questions. https://codereview.chromium.org/1455833004/diff/140001/src/compiler/arm/code-generator-arm.cc File src/compiler/arm/code-generator-arm.cc (right): https://codereview.chromium.org/1455833004/diff/140001/src/compiler/arm/code-generator-arm.cc#newcode362 src/compiler/arm/code-generator-arm.cc:362: if (stack_param_delta != 0) { Is ...
5 years, 1 month ago (2015-11-20 10:56:10 UTC) #7
danno
Feedback addressed and new version uploaded. I shall land it if the commit queue bots ...
5 years, 1 month ago (2015-11-20 14:43:24 UTC) #8
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1455833004/180001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1455833004/180001
5 years, 1 month ago (2015-11-20 14:52:53 UTC) #11
commit-bot: I haz the power
Committed patchset #11 (id:180001)
5 years, 1 month ago (2015-11-20 15:03:53 UTC) #12
commit-bot: I haz the power
5 years, 1 month ago (2015-11-20 15:04:39 UTC) #13
Message was sent while issue was closed.
Patchset 11 (id:??) landed as
https://crrev.com/c6d310da4d86ce2d8178a49f4d34b66ad6143432
Cr-Commit-Position: refs/heads/master@{#32151}

Powered by Google App Engine
This is Rietveld 408576698