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

Issue 1780043004: [crankshaft] Fixing ES6 tail call elimination. (Closed)

Created:
4 years, 9 months ago by Igor Sheludko
Modified:
4 years, 9 months 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

[crankshaft] Fixing ES6 tail call elimination. In case when F inlined normal call to G which tail calls H we should not write translation for G for the tail call site. Otherwise we will see G in a stack trace inside H. This CL also enables all existing tests related to ES6 tail call elimination and adds more combinations. TBR=bmeurer@chromium.org BUG=v8:4698 LOG=N Committed: https://crrev.com/689980f7d4dfd4c29492f616d7b616b86ec9af91 Cr-Commit-Position: refs/heads/master@{#34830} Committed: https://crrev.com/acbb968dedd2b02b5447215a579cf4cdc99bc69a Cr-Commit-Position: refs/heads/master@{#34920}

Patch Set 1 #

Patch Set 2 : Other ports plus some cleanup #

Patch Set 3 : Ok, Ignition is not ready for TCO yet... #

Patch Set 4 : Ignition crash is not related to TCE, issue number updated #

Total comments: 2

Patch Set 5 : Ignition related mjsunit.status change reverted #

Patch Set 6 : Rebasing #

Patch Set 7 : Rebasing again #

Patch Set 8 : Fixing gc-stress issue, adding more tests and comments #

Total comments: 1

Patch Set 9 : Rebasing #

Unified diffs Side-by-side diffs Delta from patch set Stats (+500 lines, -202 lines) Patch
M src/crankshaft/arm/lithium-arm.h View 1 2 3 4 5 6 7 2 chunks +9 lines, -0 lines 0 comments Download
M src/crankshaft/arm/lithium-arm.cc View 1 2 3 4 5 6 7 4 chunks +38 lines, -13 lines 0 comments Download
M src/crankshaft/arm64/lithium-arm64.h View 1 2 3 4 5 6 7 2 chunks +9 lines, -0 lines 0 comments Download
M src/crankshaft/arm64/lithium-arm64.cc View 1 2 3 4 5 6 7 3 chunks +38 lines, -13 lines 0 comments Download
M src/crankshaft/hydrogen.h View 1 2 3 4 5 6 7 8 1 chunk +3 lines, -0 lines 0 comments Download
M src/crankshaft/hydrogen.cc View 1 2 3 4 5 6 7 8 16 chunks +46 lines, -36 lines 0 comments Download
M src/crankshaft/hydrogen-instructions.h View 1 2 3 4 5 7 chunks +51 lines, -20 lines 0 comments Download
M src/crankshaft/hydrogen-instructions.cc View 2 chunks +17 lines, -1 line 0 comments Download
M src/crankshaft/ia32/lithium-ia32.h View 1 2 3 4 5 6 7 2 chunks +9 lines, -0 lines 0 comments Download
M src/crankshaft/ia32/lithium-ia32.cc View 1 2 3 4 5 6 7 4 chunks +38 lines, -12 lines 0 comments Download
M src/crankshaft/lithium.h View 1 chunk +5 lines, -0 lines 0 comments Download
M src/crankshaft/lithium.cc View 1 chunk +8 lines, -0 lines 0 comments Download
M src/crankshaft/mips/lithium-mips.h View 1 2 3 4 5 6 7 2 chunks +9 lines, -0 lines 0 comments Download
M src/crankshaft/mips/lithium-mips.cc View 1 2 3 4 5 6 7 4 chunks +38 lines, -13 lines 0 comments Download
M src/crankshaft/mips64/lithium-mips64.h View 1 2 3 4 5 6 7 2 chunks +9 lines, -0 lines 0 comments Download
M src/crankshaft/mips64/lithium-mips64.cc View 1 2 3 4 5 6 7 4 chunks +38 lines, -13 lines 0 comments Download
M src/crankshaft/x64/lithium-x64.h View 1 2 3 4 5 6 7 2 chunks +9 lines, -0 lines 0 comments Download
M src/crankshaft/x64/lithium-x64.cc View 1 2 3 4 5 6 7 4 chunks +38 lines, -12 lines 0 comments Download
M test/mjsunit/es6/tail-call.js View 1 chunk +0 lines, -2 lines 0 comments Download
M test/mjsunit/es6/tail-call-megatest.js View 1 2 3 4 5 6 7 18 chunks +88 lines, -42 lines 0 comments Download
M test/mjsunit/es6/tail-call-megatest-shard0.js View 1 chunk +0 lines, -2 lines 0 comments Download
M test/mjsunit/es6/tail-call-megatest-shard1.js View 1 chunk +0 lines, -2 lines 0 comments Download
M test/mjsunit/es6/tail-call-megatest-shard2.js View 1 chunk +0 lines, -2 lines 0 comments Download
M test/mjsunit/es6/tail-call-megatest-shard3.js View 1 chunk +0 lines, -2 lines 0 comments Download
M test/mjsunit/es6/tail-call-megatest-shard4.js View 1 chunk +0 lines, -2 lines 0 comments Download
M test/mjsunit/es6/tail-call-megatest-shard5.js View 1 chunk +0 lines, -2 lines 0 comments Download
M test/mjsunit/es6/tail-call-megatest-shard6.js View 1 chunk +0 lines, -2 lines 0 comments Download
M test/mjsunit/es6/tail-call-megatest-shard7.js View 1 chunk +0 lines, -2 lines 0 comments Download
M test/mjsunit/es6/tail-call-megatest-shard8.js View 1 chunk +0 lines, -2 lines 0 comments Download
M test/mjsunit/es6/tail-call-megatest-shard9.js View 1 chunk +0 lines, -2 lines 0 comments Download
M test/mjsunit/es6/tail-call-simple.js View 1 chunk +0 lines, -2 lines 0 comments Download
M test/mjsunit/mjsunit.status View 1 2 3 4 5 6 7 8 1 chunk +0 lines, -3 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 61 (34 generated)
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1780043004/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1780043004/80001
4 years, 9 months ago (2016-03-11 13:51:15 UTC) #6
Igor Sheludko
PTAL
4 years, 9 months ago (2016-03-11 13:51:36 UTC) #8
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: v8_linux_arm64_rel on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux_arm64_rel/builds/16784)
4 years, 9 months ago (2016-03-11 14:06:20 UTC) #10
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1780043004/100001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1780043004/100001
4 years, 9 months ago (2016-03-11 14:20:48 UTC) #12
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: v8_linux64_asan_rel on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux64_asan_rel/builds/15113) v8_linux_arm64_rel on ...
4 years, 9 months ago (2016-03-11 14:22:21 UTC) #14
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1780043004/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1780043004/120001
4 years, 9 months ago (2016-03-11 14:27:26 UTC) #17
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 9 months ago (2016-03-11 15:09:09 UTC) #19
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1780043004/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1780043004/140001
4 years, 9 months ago (2016-03-14 08:10:42 UTC) #21
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 9 months ago (2016-03-14 08:36:40 UTC) #23
Michael Starzinger
LGTM. https://codereview.chromium.org/1780043004/diff/140001/test/mjsunit/mjsunit.status File test/mjsunit/mjsunit.status (right): https://codereview.chromium.org/1780043004/diff/140001/test/mjsunit/mjsunit.status#newcode817 test/mjsunit/mjsunit.status:817: 'es6/tail-call': [SKIP], Mythri's CL fixing this issue is ...
4 years, 9 months ago (2016-03-16 15:18:27 UTC) #24
Igor Sheludko
Thanks! https://codereview.chromium.org/1780043004/diff/140001/test/mjsunit/mjsunit.status File test/mjsunit/mjsunit.status (right): https://codereview.chromium.org/1780043004/diff/140001/test/mjsunit/mjsunit.status#newcode817 test/mjsunit/mjsunit.status:817: 'es6/tail-call': [SKIP], On 2016/03/16 15:18:27, Michael Starzinger wrote: ...
4 years, 9 months ago (2016-03-16 15:25:37 UTC) #25
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1780043004/160001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1780043004/160001
4 years, 9 months ago (2016-03-16 15:25:58 UTC) #27
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1780043004/180001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1780043004/180001
4 years, 9 months ago (2016-03-16 16:02:46 UTC) #30
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: v8_linux64_avx2_rel on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux64_avx2_rel/builds/11730) v8_linux_arm64_rel on ...
4 years, 9 months ago (2016-03-16 16:04:53 UTC) #33
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1780043004/200001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1780043004/200001
4 years, 9 months ago (2016-03-16 16:10:21 UTC) #35
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 9 months ago (2016-03-16 16:36:46 UTC) #37
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1780043004/200001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1780043004/200001
4 years, 9 months ago (2016-03-16 17:03:15 UTC) #40
commit-bot: I haz the power
Committed patchset #7 (id:200001)
4 years, 9 months ago (2016-03-16 17:05:24 UTC) #42
commit-bot: I haz the power
Patchset 7 (id:??) landed as https://crrev.com/689980f7d4dfd4c29492f616d7b616b86ec9af91 Cr-Commit-Position: refs/heads/master@{#34830}
4 years, 9 months ago (2016-03-16 17:06:53 UTC) #44
Michael Achenbach
A revert of this CL (patchset #7 id:200001) has been created in https://codereview.chromium.org/1814433002/ by machenbach@chromium.org. ...
4 years, 9 months ago (2016-03-16 18:11:58 UTC) #45
Benedikt Meurer
LGTM on patchset 8.
4 years, 9 months ago (2016-03-21 07:48:04 UTC) #47
Igor Sheludko
Fixing GC stress issue (lazy deopt case). https://codereview.chromium.org/1780043004/diff/220001/src/crankshaft/ia32/lithium-ia32.cc File src/crankshaft/ia32/lithium-ia32.cc (right): https://codereview.chromium.org/1780043004/diff/220001/src/crankshaft/ia32/lithium-ia32.cc#newcode935 src/crankshaft/ia32/lithium-ia32.cc:935: // therefore ...
4 years, 9 months ago (2016-03-21 07:48:59 UTC) #48
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1780043004/240001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1780043004/240001
4 years, 9 months ago (2016-03-21 08:17:01 UTC) #52
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 9 months ago (2016-03-21 08:45:39 UTC) #54
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1780043004/240001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1780043004/240001
4 years, 9 months ago (2016-03-21 08:46:17 UTC) #57
commit-bot: I haz the power
Committed patchset #9 (id:240001)
4 years, 9 months ago (2016-03-21 08:48:23 UTC) #59
commit-bot: I haz the power
4 years, 9 months ago (2016-03-21 08:48:45 UTC) #61
Message was sent while issue was closed.
Patchset 9 (id:??) landed as
https://crrev.com/acbb968dedd2b02b5447215a579cf4cdc99bc69a
Cr-Commit-Position: refs/heads/master@{#34920}

Powered by Google App Engine
This is Rietveld 408576698