Parcourir la source

LibJS+LibWeb: Remove now-unused lexical environment override

In our current bytecode interpreter, this override cannot work anyways.
Timothy Flynn il y a 8 mois
Parent
commit
7b3a3c2066

+ 1 - 5
Userland/Libraries/LibJS/Bytecode/Interpreter.cpp

@@ -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
-ThrowCompletionOr<Value> Interpreter::run(Script& script_record, JS::GCPtr<Environment> lexical_environment_override)
+ThrowCompletionOr<Value> Interpreter::run(Script& script_record)
 {
     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.
     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.
 
     // NOTE: This isn't in the spec, but we require it.

+ 1 - 1
Userland/Libraries/LibJS/Bytecode/Interpreter.h

@@ -30,7 +30,7 @@ public:
     VM& vm() { 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(Bytecode::Executable& executable, Optional<size_t> entry_point = {}, Value initial_accumulator_value = {})

+ 2 - 2
Userland/Libraries/LibWeb/HTML/Scripting/ClassicScript.cpp

@@ -75,7 +75,7 @@ JS::NonnullGCPtr<ClassicScript> ClassicScript::create(ByteString filename, Strin
 }
 
 // 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.
     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();
 
         // 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.
 

+ 1 - 1
Userland/Libraries/LibWeb/HTML/Scripting/ClassicScript.h

@@ -33,7 +33,7 @@ public:
         No,
         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; }