LibJS+LibWeb: Remove now-unused lexical environment override

In our current bytecode interpreter, this override cannot work anyways.
This commit is contained in:
Timothy Flynn 2024-10-29 13:51:55 -04:00
parent ae1c58fad1
commit d39f6975f9
4 changed files with 5 additions and 9 deletions

View file

@ -182,7 +182,7 @@ ALWAYS_INLINE Value Interpreter::do_yield(Value value, Optional<Label> continuat
} }
// 16.1.6 ScriptEvaluation ( scriptRecord ), https://tc39.es/ecma262/#sec-runtime-semantics-scriptevaluation // 16.1.6 ScriptEvaluation ( scriptRecord ), https://tc39.es/ecma262/#sec-runtime-semantics-scriptevaluation
ThrowCompletionOr<Value> Interpreter::run(Script& script_record, JS::GCPtr<Environment> lexical_environment_override) ThrowCompletionOr<Value> Interpreter::run(Script& script_record)
{ {
auto& vm = this->vm(); auto& vm = this->vm();
@ -207,10 +207,6 @@ ThrowCompletionOr<Value> Interpreter::run(Script& script_record, JS::GCPtr<Envir
// 7. Set the LexicalEnvironment of scriptContext to globalEnv. // 7. Set the LexicalEnvironment of scriptContext to globalEnv.
script_context->lexical_environment = &global_environment; script_context->lexical_environment = &global_environment;
// Non-standard: Override the lexical environment if requested.
if (lexical_environment_override)
script_context->lexical_environment = lexical_environment_override;
// 8. Set the PrivateEnvironment of scriptContext to null. // 8. Set the PrivateEnvironment of scriptContext to null.
// NOTE: This isn't in the spec, but we require it. // NOTE: This isn't in the spec, but we require it.

View file

@ -30,7 +30,7 @@ public:
VM& vm() { return m_vm; } VM& vm() { return m_vm; }
VM const& vm() const { return m_vm; } VM const& vm() const { return m_vm; }
ThrowCompletionOr<Value> run(Script&, JS::GCPtr<Environment> lexical_environment_override = nullptr); ThrowCompletionOr<Value> run(Script&);
ThrowCompletionOr<Value> run(SourceTextModule&); ThrowCompletionOr<Value> run(SourceTextModule&);
ThrowCompletionOr<Value> run(Bytecode::Executable& executable, Optional<size_t> entry_point = {}, Value initial_accumulator_value = {}) ThrowCompletionOr<Value> run(Bytecode::Executable& executable, Optional<size_t> entry_point = {}, Value initial_accumulator_value = {})

View file

@ -75,7 +75,7 @@ JS::NonnullGCPtr<ClassicScript> ClassicScript::create(ByteString filename, Strin
} }
// https://html.spec.whatwg.org/multipage/webappapis.html#run-a-classic-script // https://html.spec.whatwg.org/multipage/webappapis.html#run-a-classic-script
JS::Completion ClassicScript::run(RethrowErrors rethrow_errors, JS::GCPtr<JS::Environment> lexical_environment_override) JS::Completion ClassicScript::run(RethrowErrors rethrow_errors)
{ {
// 1. Let settings be the settings object of script. // 1. Let settings be the settings object of script.
auto& settings = settings_object(); auto& settings = settings_object();
@ -97,7 +97,7 @@ JS::Completion ClassicScript::run(RethrowErrors rethrow_errors, JS::GCPtr<JS::En
auto timer = Core::ElapsedTimer::start_new(); auto timer = Core::ElapsedTimer::start_new();
// 6. Otherwise, set evaluationStatus to ScriptEvaluation(script's record). // 6. Otherwise, set evaluationStatus to ScriptEvaluation(script's record).
evaluation_status = vm().bytecode_interpreter().run(*m_script_record, lexical_environment_override); evaluation_status = vm().bytecode_interpreter().run(*m_script_record);
// FIXME: If ScriptEvaluation does not complete because the user agent has aborted the running script, leave evaluationStatus as null. // FIXME: If ScriptEvaluation does not complete because the user agent has aborted the running script, leave evaluationStatus as null.

View file

@ -33,7 +33,7 @@ public:
No, No,
Yes, Yes,
}; };
JS::Completion run(RethrowErrors = RethrowErrors::No, JS::GCPtr<JS::Environment> lexical_environment_override = {}); JS::Completion run(RethrowErrors = RethrowErrors::No);
MutedErrors muted_errors() const { return m_muted_errors; } MutedErrors muted_errors() const { return m_muted_errors; }