LibJS: Remove GlobalObject from execute() and related AST functions

This is a continuation of the previous four commits.

Passing a global object here is largely redundant, we definitely need
the interpreter but can get the VM and (later) current active realm from
there - and also the global object while we still need it, although I'd
like to remove Interpreter::global_object() in the future.

This now matches the bytecode interpreter's execute_impl() functions.
This commit is contained in:
Linus Groh 2022-08-16 19:28:17 +01:00
commit 5398dcc55e
Notes: sideshowbarker 2024-07-17 20:58:35 +09:00
10 changed files with 409 additions and 357 deletions

View file

@ -712,7 +712,7 @@ ThrowCompletionOr<Value> perform_eval(GlobalObject& global_object, Value x, Call
eval_result = result;
} else {
auto& ast_interpreter = vm.interpreter();
eval_result = TRY(program->execute(ast_interpreter, global_object));
eval_result = TRY(program->execute(ast_interpreter));
}
// 30. If result.[[Type]] is normal and result.[[Value]] is empty, then