LibJS: Use TRY(push_execution_context()) in places where we can recover

This commit is contained in:
Linus Groh 2022-03-17 22:42:41 +00:00 committed by Andreas Kling
parent 9422ae9bb2
commit 29964dc152
3 changed files with 4 additions and 4 deletions

View file

@ -74,7 +74,7 @@ ThrowCompletionOr<Value> Interpreter::run(Script& script_record)
// FIXME: 9. Suspend the currently running execution context.
// 10. Push scriptContext onto the execution context stack; scriptContext is now the running execution context.
vm.push_execution_context(script_context, global_object);
TRY(vm.push_execution_context(script_context, global_object));
// 11. Let scriptBody be scriptRecord.[[ECMAScriptCode]].
auto& script_body = script_record.parse_node();

View file

@ -404,7 +404,7 @@ Completion SourceTextModule::initialize_environment(VM& vm)
// Note: We're already working on that one.
// 17. Push moduleContext onto the execution context stack; moduleContext is now the running execution context.
vm.push_execution_context(m_execution_context, realm().global_object());
TRY(vm.push_execution_context(m_execution_context, realm().global_object()));
// 18. Let code be module.[[ECMAScriptCode]].
@ -657,7 +657,7 @@ Completion SourceTextModule::execute_module(VM& vm, Optional<PromiseCapability>
// a. Assert: capability is not present.
VERIFY(!capability.has_value());
// b. Push moduleContext onto the execution context stack; moduleContext is now the running execution context.
vm.push_execution_context(module_context, realm().global_object());
TRY(vm.push_execution_context(module_context, realm().global_object()));
// c. Let result be the result of evaluating module.[[ECMAScriptCode]].
auto result = m_ecmascript_code->execute(vm.interpreter(), realm().global_object());

View file

@ -98,7 +98,7 @@ ThrowCompletionOr<Promise*> JS::SyntheticModule::evaluate(VM& vm)
module_context.lexical_environment = environment();
// 8. Push moduleContext on to the execution context stack; moduleContext is now the running execution context.
vm.push_execution_context(module_context, realm().global_object());
TRY(vm.push_execution_context(module_context, realm().global_object()));
// 9. Let result be the result of performing module.[[EvaluationSteps]](module).
auto result = m_evaluation_steps(*this);