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

Issue 1709583002: [turbofan] Fixing ES6 tail calls in Turbofan. (Closed)

Created:
4 years, 10 months ago by Igor Sheludko
Modified:
4 years, 10 months ago
Reviewers:
Jarin
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] Fixing ES6 tail calls in Turbofan. 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 adds a "megatest" which tests product of the following cases: 1) tail caller is inlined/not-inlined 2) tail callee is inlined/not-inlined 3) tail caller has an arguments adaptor frame above or not 4) tail callee has an arguments adaptor frame above or not 5) tail callee is a normal/bound/proxy function Note that tests for not yet supported cases are not run for now. BUG=v8:4698 LOG=N Committed: https://crrev.com/c67b5096cd81af4bdf62591f36e5eb72a1c7446a Cr-Commit-Position: refs/heads/master@{#34108}

Patch Set 1 #

Total comments: 2

Patch Set 2 : Addressing comments #

Total comments: 2

Patch Set 3 : Addressing comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+294 lines, -50 lines) Patch
M src/compiler/instruction-selector.cc View 1 chunk +19 lines, -3 lines 0 comments Download
M test/mjsunit/es6/tail-call.js View 26 chunks +100 lines, -47 lines 0 comments Download
A test/mjsunit/es6/tail-call-megatest.js View 1 2 1 chunk +175 lines, -0 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 30 (16 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/1709583002/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1709583002/1
4 years, 10 months ago (2016-02-17 17:19:57 UTC) #4
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 10 months ago (2016-02-17 17:47:22 UTC) #6
Igor Sheludko
PTAL
4 years, 10 months ago (2016-02-17 19:00:29 UTC) #11
Jarin
Looking good, but the megatests are a bit confusing. https://codereview.chromium.org/1709583002/diff/1/test/mjsunit/es6/tail-call-megatest-generator.js File test/mjsunit/es6/tail-call-megatest-generator.js (right): https://codereview.chromium.org/1709583002/diff/1/test/mjsunit/es6/tail-call-megatest-generator.js#newcode194 test/mjsunit/es6/tail-call-megatest-generator.js:194: ...
4 years, 10 months ago (2016-02-18 07:51:42 UTC) #13
Igor Sheludko
https://codereview.chromium.org/1709583002/diff/1/test/mjsunit/es6/tail-call-megatest-generator.js File test/mjsunit/es6/tail-call-megatest-generator.js (right): https://codereview.chromium.org/1709583002/diff/1/test/mjsunit/es6/tail-call-megatest-generator.js#newcode194 test/mjsunit/es6/tail-call-megatest-generator.js:194: generate_test(); On 2016/02/18 07:51:41, Jarin wrote: > How about ...
4 years, 10 months ago (2016-02-18 07:56:32 UTC) #14
Jarin
On 2016/02/18 07:56:32, Igor Sheludko wrote: > https://codereview.chromium.org/1709583002/diff/1/test/mjsunit/es6/tail-call-megatest-generator.js > File test/mjsunit/es6/tail-call-megatest-generator.js (right): > > https://codereview.chromium.org/1709583002/diff/1/test/mjsunit/es6/tail-call-megatest-generator.js#newcode194 ...
4 years, 10 months ago (2016-02-18 08:12:07 UTC) #15
Igor Sheludko
I addressed comments. PTAL
4 years, 10 months ago (2016-02-18 08:54:52 UTC) #16
Jarin
lgtm. https://codereview.chromium.org/1709583002/diff/20001/test/mjsunit/es6/tail-call-megatest.js File test/mjsunit/es6/tail-call-megatest.js (right): https://codereview.chromium.org/1709583002/diff/20001/test/mjsunit/es6/tail-call-megatest.js#newcode38 test/mjsunit/es6/tail-call-megatest.js:38: // Don't inline. Don't inline. Don't inline. Don't ...
4 years, 10 months ago (2016-02-18 09:08:08 UTC) #17
Igor Sheludko
https://codereview.chromium.org/1709583002/diff/20001/test/mjsunit/es6/tail-call-megatest.js File test/mjsunit/es6/tail-call-megatest.js (right): https://codereview.chromium.org/1709583002/diff/20001/test/mjsunit/es6/tail-call-megatest.js#newcode38 test/mjsunit/es6/tail-call-megatest.js:38: // Don't inline. Don't inline. Don't inline. Don't inline. ...
4 years, 10 months ago (2016-02-18 09:30:12 UTC) #18
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1709583002/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1709583002/40001
4 years, 10 months ago (2016-02-18 09:45:26 UTC) #20
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 10 months ago (2016-02-18 10:06:29 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1709583002/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1709583002/40001
4 years, 10 months ago (2016-02-18 10:11:47 UTC) #26
commit-bot: I haz the power
Committed patchset #3 (id:40001)
4 years, 10 months ago (2016-02-18 10:13:02 UTC) #28
commit-bot: I haz the power
4 years, 10 months ago (2016-02-18 10:13:29 UTC) #30
Message was sent while issue was closed.
Patchset 3 (id:??) landed as
https://crrev.com/c67b5096cd81af4bdf62591f36e5eb72a1c7446a
Cr-Commit-Position: refs/heads/master@{#34108}

Powered by Google App Engine
This is Rietveld 408576698