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

Issue 1620253003: Implement the function.sent proposal. (Closed)

Created:
4 years, 11 months ago by neis
Modified:
4 years, 10 months ago
Reviewers:
Jarin, rossberg, adamk
CC:
v8-reviews_googlegroups.com, Michael Hablich
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

Implement the function.sent proposal. The body of a generator function can now refer to the generator's input value via a new "function.sent" expression. We extend the proposal at https://github.com/allenwb/ESideas/blob/master/Generator%20metaproperty.md in the obvious way to also apply to GeneratorResumeAbrupt. This will enable us to desugar yield*. The new syntax is behind a new --harmony-function-sent flag. BUG=v8:4700 LOG=n Committed: https://crrev.com/e2466bb5ff5288610383cffb5ab698bed1da75c8 Cr-Commit-Position: refs/heads/master@{#33574}

Patch Set 1 #

Total comments: 9

Patch Set 2 : Address some comments. #

Patch Set 3 : Other archs. #

Patch Set 4 : Improve a test. #

Patch Set 5 : Undo slight change in yield* behavior (it's not in proposal). #

Patch Set 6 : Ignore last patch. Rebase now. #

Patch Set 7 : (Undo slight change in yield* ...) #

Patch Set 8 : Add TODO #

Unified diffs Side-by-side diffs Delta from patch set Stats (+192 lines, -1 line) Patch
M src/bootstrapper.cc View 1 2 3 4 2 chunks +2 lines, -0 lines 0 comments Download
M src/flag-definitions.h View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M src/full-codegen/arm/full-codegen-arm.cc View 1 2 3 4 6 1 chunk +7 lines, -0 lines 0 comments Download
M src/full-codegen/arm64/full-codegen-arm64.cc View 1 2 3 4 6 1 chunk +7 lines, -0 lines 0 comments Download
M src/full-codegen/ia32/full-codegen-ia32.cc View 1 2 3 4 6 1 chunk +6 lines, -0 lines 0 comments Download
M src/full-codegen/mips/full-codegen-mips.cc View 1 2 3 4 6 1 chunk +7 lines, -0 lines 0 comments Download
M src/full-codegen/mips64/full-codegen-mips64.cc View 1 2 3 4 6 2 chunks +8 lines, -0 lines 0 comments Download
M src/full-codegen/ppc/full-codegen-ppc.cc View 1 2 3 4 6 1 chunk +7 lines, -0 lines 0 comments Download
M src/full-codegen/x64/full-codegen-x64.cc View 1 2 3 4 6 1 chunk +7 lines, -0 lines 0 comments Download
M src/full-codegen/x87/full-codegen-x87.cc View 1 2 3 4 6 1 chunk +6 lines, -0 lines 0 comments Download
M src/messages.h View 1 1 chunk +2 lines, -0 lines 0 comments Download
M src/objects.h View 1 2 3 4 2 chunks +5 lines, -1 line 0 comments Download
M src/objects-inl.h View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M src/parsing/parser.h View 1 2 1 chunk +2 lines, -0 lines 0 comments Download
M src/parsing/parser.cc View 1 2 3 4 1 chunk +13 lines, -0 lines 0 comments Download
M src/parsing/parser-base.h View 1 2 3 4 5 6 7 1 chunk +18 lines, -0 lines 0 comments Download
M src/parsing/preparser.h View 1 2 1 chunk +6 lines, -0 lines 0 comments Download
M src/runtime/runtime.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M src/runtime/runtime-generator.cc View 1 chunk +10 lines, -0 lines 0 comments Download
A test/mjsunit/harmony/function-sent.js View 1 2 3 4 6 1 chunk +76 lines, -0 lines 0 comments Download

Messages

Total messages: 33 (14 generated)
neis
PTAL. If this looks good, I will modify the other parts of full-codegen.
4 years, 11 months ago (2016-01-22 14:00:10 UTC) #3
rossberg
https://codereview.chromium.org/1620253003/diff/1/src/messages.h File src/messages.h (right): https://codereview.chromium.org/1620253003/diff/1/src/messages.h#newcode498 src/messages.h:498: T(UnexpectedFunctionSent, "function.sent expression is not allowed here") \ "...not ...
4 years, 11 months ago (2016-01-22 14:13:07 UTC) #5
adamk
According to https://github.com/tc39/ecma262, function.sent is only at stage 2. I'd prefer to avoid implementing things ...
4 years, 11 months ago (2016-01-23 00:55:15 UTC) #8
rossberg
On 2016/01/23 00:55:15, adamk wrote: > According to https://github.com/tc39/ecma262, function.sent is only at stage 2. ...
4 years, 11 months ago (2016-01-25 11:16:11 UTC) #9
adamk
Thanks for the background/ Not sure how I missed this in the CL description. Carry ...
4 years, 11 months ago (2016-01-25 19:16:07 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/1620253003/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1620253003/40001
4 years, 11 months ago (2016-01-26 10:13:21 UTC) #12
neis
On 2016/01/22 14:13:07, rossberg wrote: > https://codereview.chromium.org/1620253003/diff/1/src/parsing/parser-base.h#newcode2596 > src/parsing/parser-base.h:2596: if (!is_generator()) { > This may ...
4 years, 11 months ago (2016-01-26 10:27:18 UTC) #13
rossberg
On 2016/01/26 10:27:18, neis wrote: > On 2016/01/22 14:13:07, rossberg wrote: > > > https://codereview.chromium.org/1620253003/diff/1/src/parsing/parser-base.h#newcode2596 ...
4 years, 11 months ago (2016-01-26 19:13:39 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/1620253003/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1620253003/140001
4 years, 11 months ago (2016-01-27 16:08:00 UTC) #16
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 11 months ago (2016-01-27 16:34:41 UTC) #18
neis
Please have another look. When this lands, I'll immediately upload the yield* desugaring. https://codereview.chromium.org/1620253003/diff/1/src/messages.h File ...
4 years, 11 months ago (2016-01-27 16:49:40 UTC) #19
rossberg
lgtm
4 years, 11 months ago (2016-01-27 17:13:10 UTC) #20
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1620253003/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1620253003/140001
4 years, 10 months ago (2016-01-28 07:53:53 UTC) #22
commit-bot: I haz the power
Try jobs failed on following builders: v8_presubmit on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_presubmit/builds/10250)
4 years, 10 months ago (2016-01-28 07:56:26 UTC) #24
neis
On 2016/01/28 07:56:26, commit-bot: I haz the power wrote: > Try jobs failed on following ...
4 years, 10 months ago (2016-01-28 07:59:27 UTC) #26
Jarin
full-code stuff lgtm.
4 years, 10 months ago (2016-01-28 08:52:19 UTC) #27
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1620253003/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1620253003/140001
4 years, 10 months ago (2016-01-28 08:53:05 UTC) #29
commit-bot: I haz the power
Committed patchset #8 (id:140001)
4 years, 10 months ago (2016-01-28 08:54:33 UTC) #31
commit-bot: I haz the power
4 years, 10 months ago (2016-01-28 08:55:04 UTC) #33
Message was sent while issue was closed.
Patchset 8 (id:??) landed as
https://crrev.com/e2466bb5ff5288610383cffb5ab698bed1da75c8
Cr-Commit-Position: refs/heads/master@{#33574}

Powered by Google App Engine
This is Rietveld 408576698