Skip to content

Commit 3ccac0c

Browse files
committed
LibJS: Remove unused realm parameter from run_and_return_frame()
1 parent d6e9596 commit 3ccac0c

File tree

9 files changed

+15
-17
lines changed

9 files changed

+15
-17
lines changed

Userland/Libraries/LibJS/Bytecode/Interpreter.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ ThrowCompletionOr<Value> Interpreter::run(Script& script_record, JS::GCPtr<Envir
105105
executable->dump();
106106

107107
// a. Set result to the result of evaluating script.
108-
auto result_or_error = run_and_return_frame(script_record.realm(), *executable, nullptr);
108+
auto result_or_error = run_and_return_frame(*executable, nullptr);
109109
if (result_or_error.value.is_error())
110110
result = result_or_error.value.release_error();
111111
else
@@ -165,7 +165,7 @@ ThrowCompletionOr<Value> Interpreter::run(SourceTextModule& module)
165165
return js_undefined();
166166
}
167167

168-
Interpreter::ValueAndFrame Interpreter::run_and_return_frame(Realm&, Executable& executable, BasicBlock const* entry_point, CallFrame* in_frame)
168+
Interpreter::ValueAndFrame Interpreter::run_and_return_frame(Executable& executable, BasicBlock const* entry_point, CallFrame* in_frame)
169169
{
170170
dbgln_if(JS_BYTECODE_DEBUG, "Bytecode::Interpreter will run unit {:p}", &executable);
171171

Userland/Libraries/LibJS/Bytecode/Interpreter.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,17 +45,17 @@ class Interpreter {
4545
ThrowCompletionOr<Value> run(Script&, JS::GCPtr<Environment> lexical_environment_override = nullptr);
4646
ThrowCompletionOr<Value> run(SourceTextModule&);
4747

48-
ThrowCompletionOr<Value> run(Realm& realm, Bytecode::Executable& executable, Bytecode::BasicBlock const* entry_point = nullptr)
48+
ThrowCompletionOr<Value> run(Bytecode::Executable& executable, Bytecode::BasicBlock const* entry_point = nullptr)
4949
{
50-
auto value_and_frame = run_and_return_frame(realm, executable, entry_point);
50+
auto value_and_frame = run_and_return_frame(executable, entry_point);
5151
return move(value_and_frame.value);
5252
}
5353

5454
struct ValueAndFrame {
5555
ThrowCompletionOr<Value> value;
5656
OwnPtr<CallFrame> frame;
5757
};
58-
ValueAndFrame run_and_return_frame(Realm&, Bytecode::Executable&, Bytecode::BasicBlock const* entry_point, CallFrame* = nullptr);
58+
ValueAndFrame run_and_return_frame(Bytecode::Executable&, Bytecode::BasicBlock const* entry_point, CallFrame* = nullptr);
5959

6060
ALWAYS_INLINE Value& accumulator() { return reg(Register::accumulator()); }
6161
ALWAYS_INLINE Value& saved_return_value() { return reg(Register::saved_return_value()); }

Userland/Libraries/LibJS/Runtime/AbstractOperations.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -708,7 +708,7 @@ ThrowCompletionOr<Value> perform_eval(VM& vm, Value x, CallerMode strict_caller,
708708
executable->name = "eval"sv;
709709
if (Bytecode::g_dump_bytecode)
710710
executable->dump();
711-
auto result_or_error = vm.bytecode_interpreter().run_and_return_frame(eval_realm, *executable, nullptr);
711+
auto result_or_error = vm.bytecode_interpreter().run_and_return_frame(*executable, nullptr);
712712
if (result_or_error.value.is_error())
713713
return result_or_error.value.release_error();
714714

Userland/Libraries/LibJS/Runtime/AsyncGenerator.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ void AsyncGenerator::execute(VM& vm, Completion completion)
199199
else
200200
bytecode_interpreter.accumulator() = completion_object;
201201

202-
auto next_result = bytecode_interpreter.run_and_return_frame(realm, *m_generating_function->bytecode_executable(), next_block, frame);
202+
auto next_result = bytecode_interpreter.run_and_return_frame(*m_generating_function->bytecode_executable(), next_block, frame);
203203

204204
if (!m_frame.has_value())
205205
m_frame = move(*next_result.frame);

Userland/Libraries/LibJS/Runtime/ECMAScriptFunctionObject.cpp

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -626,7 +626,7 @@ ThrowCompletionOr<void> ECMAScriptFunctionObject::function_declaration_instantia
626626
} else if (i < execution_context_arguments.size() && !execution_context_arguments[i].is_undefined()) {
627627
argument_value = execution_context_arguments[i];
628628
} else if (parameter.default_value) {
629-
auto value_and_frame = vm.bytecode_interpreter().run_and_return_frame(realm, *m_default_parameter_bytecode_executables[default_parameter_index - 1], nullptr);
629+
auto value_and_frame = vm.bytecode_interpreter().run_and_return_frame(*m_default_parameter_bytecode_executables[default_parameter_index - 1], nullptr);
630630
if (value_and_frame.value.is_error())
631631
return value_and_frame.value.release_error();
632632
// Resulting value is in the accumulator.
@@ -998,7 +998,7 @@ void async_block_start(VM& vm, T const& async_body, PromiseCapability const& pro
998998
auto& running_context = vm.running_execution_context();
999999

10001000
// 3. Set the code evaluation state of asyncContext such that when evaluation is resumed for that execution context the following steps will be performed:
1001-
auto execution_steps = NativeFunction::create(realm, "", [&realm, &async_body, &promise_capability, &async_context](auto& vm) -> ThrowCompletionOr<Value> {
1001+
auto execution_steps = NativeFunction::create(realm, "", [&async_body, &promise_capability, &async_context](auto& vm) -> ThrowCompletionOr<Value> {
10021002
Completion result;
10031003

10041004
// a. If asyncBody is a Parse Node, then
@@ -1009,12 +1009,10 @@ void async_block_start(VM& vm, T const& async_body, PromiseCapability const& pro
10091009
if (maybe_executable.is_error())
10101010
result = maybe_executable.release_error();
10111011
else
1012-
result = vm.bytecode_interpreter().run_and_return_frame(realm, *maybe_executable.value(), nullptr).value;
1012+
result = vm.bytecode_interpreter().run_and_return_frame(*maybe_executable.value(), nullptr).value;
10131013
}
10141014
// b. Else,
10151015
else {
1016-
(void)realm;
1017-
10181016
// i. Assert: asyncBody is an Abstract Closure with no parameters.
10191017
static_assert(IsCallableWithArguments<T, Completion>);
10201018

@@ -1126,7 +1124,7 @@ Completion ECMAScriptFunctionObject::ordinary_call_evaluate_body()
11261124
}
11271125
}
11281126

1129-
auto result_and_frame = vm.bytecode_interpreter().run_and_return_frame(realm, *m_bytecode_executable, nullptr);
1127+
auto result_and_frame = vm.bytecode_interpreter().run_and_return_frame(*m_bytecode_executable, nullptr);
11301128

11311129
VERIFY(result_and_frame.frame != nullptr);
11321130
if (result_and_frame.value.is_error())

Userland/Libraries/LibJS/Runtime/GeneratorObject.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ ThrowCompletionOr<Value> GeneratorObject::execute(VM& vm, Completion const& comp
120120
else
121121
bytecode_interpreter.accumulator() = completion_object;
122122

123-
auto next_result = bytecode_interpreter.run_and_return_frame(realm, *m_generating_function->bytecode_executable(), next_block, frame);
123+
auto next_result = bytecode_interpreter.run_and_return_frame(*m_generating_function->bytecode_executable(), next_block, frame);
124124

125125
vm.pop_execution_context();
126126

Userland/Libraries/LibJS/Runtime/ShadowRealm.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ ThrowCompletionOr<Value> perform_shadow_realm_eval(VM& vm, StringView source_tex
178178
else {
179179
auto executable = maybe_executable.release_value();
180180

181-
auto value_and_frame = vm.bytecode_interpreter().run_and_return_frame(eval_realm, *executable, nullptr);
181+
auto value_and_frame = vm.bytecode_interpreter().run_and_return_frame(*executable, nullptr);
182182
if (value_and_frame.value.is_error()) {
183183
result = value_and_frame.value.release_error();
184184
} else {

Userland/Libraries/LibJS/Runtime/VM.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,7 @@ ThrowCompletionOr<void> VM::binding_initialization(NonnullRefPtr<BindingPattern
306306
ThrowCompletionOr<Value> VM::execute_ast_node(ASTNode const& node)
307307
{
308308
auto executable = TRY(Bytecode::compile(*this, node, FunctionKind::Normal, ""sv));
309-
auto result_or_error = bytecode_interpreter().run_and_return_frame(*current_realm(), *executable, nullptr);
309+
auto result_or_error = bytecode_interpreter().run_and_return_frame(*executable, nullptr);
310310
if (result_or_error.value.is_error())
311311
return result_or_error.value.release_error();
312312
return result_or_error.frame->registers[0];

Userland/Libraries/LibJS/SourceTextModule.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -701,7 +701,7 @@ ThrowCompletionOr<void> SourceTextModule::execute_module(VM& vm, GCPtr<PromiseCa
701701
else {
702702
auto executable = maybe_executable.release_value();
703703

704-
auto value_and_frame = vm.bytecode_interpreter().run_and_return_frame(realm(), *executable, nullptr);
704+
auto value_and_frame = vm.bytecode_interpreter().run_and_return_frame(*executable, nullptr);
705705
if (value_and_frame.value.is_error()) {
706706
result = value_and_frame.value.release_error();
707707
} else {

0 commit comments

Comments
 (0)