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 #
Depends on Patchset: Messages
Total messages: 13 (12 generated)
|