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

Issue 2667983004: [async-await] don't eagerly resolve Promise before finally blocks have executed

Created:
3 years, 10 months ago by caitp
Modified:
3 years, 10 months ago
CC:
v8-reviews_googlegroups.com, rmcilroy
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[async-await] don't eagerly resolve Promise before finally blocks have executed Previously, ReturnStatements in async functions were desugared in the parser to resolve a Promise. This change moves Promise resolution into BytecodeGenerator, in order to take advantage of the ControlScope state machine which will defer promise resolution until the last step. This is a blocker for the implementation of for-await-of in async functions. BUG=v8:5896, v8:4483 R=littledan@chromium.org, neis@chromium.org, rmcilroy@chromium.org

Patch Set 1 #

Patch Set 2 : fix return desugaring in async functions #

Patch Set 3 : clean merge #

Unified diffs Side-by-side diffs Delta from patch set Stats (+200 lines, -3 lines) Patch
M src/interpreter/bytecode-generator.cc View 1 2 1 chunk +20 lines, -0 lines 0 comments Download
M src/parsing/parser.cc View 1 3 chunks +3 lines, -3 lines 0 comments Download
A test/mjsunit/es8/async-function-try-finally.js View 1 chunk +177 lines, -0 lines 0 comments Download

Depends on Patchset:

Messages

Total messages: 13 (12 generated)
caitp
3 years, 10 months ago (2017-01-31 20:51:44 UTC) #5
On 2017/01/31 20:08:18, commit-bot: I haz the power wrote:
> Dry run: CQ is trying da patch. Follow status at
>  
>
https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...

This isn't quite ready yet.

Powered by Google App Engine
This is Rietveld 408576698