Description[parsing] Fix context allocation for async functions.
For generator-based functions (e.g. async functions) we force variables to be
context-allocated. Due to a bug in the parser, this didn't always work
correctly. For instance, in "async function foo([a]) { ... }" the variable "a"
could become stack-allocated due to context allocation being forced on the wrong
scope.
Besides fixing this, I'm also cleaning up some related code in the async parsing
setup and adding some guards.
R=adamk@chromium.org, littledan@chromium.org
BUG=
Committed: https://crrev.com/80567914c70ab6538bdfa452913a84e929f3cc25
Cr-Commit-Position: refs/heads/master@{#41635}
Patch Set 1 #
Total comments: 8
Patch Set 2 : Turn conditional into DCHECK. #
Total comments: 1
Patch Set 3 : Add comment and rebase. #
Messages
Total messages: 16 (5 generated)
|