diff --git a/spec.html b/spec.html index faf19a97c5..7716d6b46d 100644 --- a/spec.html +++ b/spec.html @@ -23903,10 +23903,8 @@

FunctionBody : FunctionStatementList - 1. Perform ? FunctionDeclarationInstantiation(_functionObject_, _argumentsList_). - 1. Let _result_ be Completion(Evaluation of |FunctionStatementList|). - 1. Let _env_ be the running execution context's LexicalEnvironment. - 1. Return ? DisposeResources(_env_.[[DisposeCapability]], _result_). + 1. Perform ! FunctionDeclarationInstantiation(_functionObject_, _argumentsList_). + 1. Return ? Evaluation of |FunctionStatementList|). @@ -24006,6 +24004,13 @@

Runtime Semantics: Evaluation

1. Return *undefined*. + FunctionStatementList : StatementList + + 1. Let _result_ be Completion(Evaluation of |StatementList|). + 1. Let _env_ be the running execution context's LexicalEnvironment. + 1. Assert: _env_ is a Declarative Environment Record. + 1. Return ? DisposeResources(_env_.[[DisposeCapability]], _result_). + @@ -48711,14 +48716,12 @@

1. Set the Generator component of _genContext_ to _generator_. 1. Let _closure_ be a new Abstract Closure with no parameters that captures _generatorBody_ and performs the following steps when called: 1. Let _acGenContext_ be the running execution context. - 1. Let _env_ be _acGenContext_'s LexicalEnvironment. 1. Let _acGenerator_ be the Generator component of _acGenContext_. 1. If _generatorBody_ is a Parse Node, then 1. Let _result_ be Completion(Evaluation of _generatorBody_). 1. Else, 1. Assert: _generatorBody_ is an Abstract Closure with no parameters. 1. Let _result_ be _generatorBody_(). - 1. Set _result_ to Completion(DisposeResources(_env_.[[DisposeCapability]], _result_)). 1. Assert: If we return here, the generator either threw an exception or performed either an implicit or explicit return. 1. Remove _acGenContext_ from the execution context stack and restore the execution context that is at the top of the execution context stack as the running execution context. 1. Set _acGenerator_.[[GeneratorState]] to ~completed~. @@ -49070,14 +49073,12 @@

1. Set the Generator component of _genContext_ to _generator_. 1. Let _closure_ be a new Abstract Closure with no parameters that captures _generatorBody_ and performs the following steps when called: 1. Let _acGenContext_ be the running execution context. - 1. Let _env_ be _acGenContext_'s LexicalEnvironment. 1. Let _acGenerator_ be the Generator component of _acGenContext_. 1. If _generatorBody_ is a Parse Node, then 1. Let _result_ be Completion(Evaluation of _generatorBody_). 1. Else, 1. Assert: _generatorBody_ is an Abstract Closure with no parameters. 1. Let _result_ be Completion(_generatorBody_()). - 1. Set _result_ to Completion(DisposeResources(_env_.[[DisposeCapability]], _result_)). 1. Assert: If we return here, the async generator either threw an exception or performed either an implicit or explicit return. 1. Remove _acGenContext_ from the execution context stack and restore the execution context that is at the top of the execution context stack as the running execution context. 1. Set _acGenerator_.[[AsyncGeneratorState]] to ~completed~. @@ -49461,9 +49462,7 @@

1. Let _runningContext_ be the running execution context. 1. Let _closure_ be a new Abstract Closure with no parameters that captures _promiseCapability_ and _asyncBody_ and performs the following steps when called: 1. Let _acAsyncContext_ be the running execution context. - 1. Let _env_ be _acAsyncContext_'s LexicalEnvironment. 1. Let _result_ be Completion(Evaluation of _asyncBody_). - 1. Set _result_ to Completion(DisposeResources(_env_.[[DisposeCapability]], _result_)). 1. Assert: If we return here, the async function either threw an exception or performed an implicit or explicit return; all awaiting is done. 1. Remove _acAsyncContext_ from the execution context stack and restore the execution context that is at the top of the execution context stack as the running execution context. 1. If _result_ is a normal completion, then