diff --git a/Userland/Libraries/LibJS/Bytecode/Interpreter.cpp b/Userland/Libraries/LibJS/Bytecode/Interpreter.cpp index ab704b4985..9ac95b6339 100644 --- a/Userland/Libraries/LibJS/Bytecode/Interpreter.cpp +++ b/Userland/Libraries/LibJS/Bytecode/Interpreter.cpp @@ -45,8 +45,6 @@ Interpreter::ValueAndFrame Interpreter::run_and_return_frame(Executable const& e TemporaryChange restore_executable { m_current_executable, &executable }; - vm().set_last_value(Badge {}, {}); - ExecutionContext execution_context(vm().heap()); if (vm().execution_context_stack().is_empty()) { execution_context.this_value = &global_object(); @@ -137,8 +135,6 @@ Interpreter::ValueAndFrame Interpreter::run_and_return_frame(Executable const& e } } - vm().set_last_value(Badge {}, accumulator()); - OwnPtr frame; if (!m_manually_entered_frames.last()) { frame = m_register_windows.take_last(); diff --git a/Userland/Libraries/LibJS/Interpreter.cpp b/Userland/Libraries/LibJS/Interpreter.cpp index bcd17733b2..18d5034918 100644 --- a/Userland/Libraries/LibJS/Interpreter.cpp +++ b/Userland/Libraries/LibJS/Interpreter.cpp @@ -47,8 +47,6 @@ ThrowCompletionOr Interpreter::run(GlobalObject& global_object, const Pro VM::InterpreterExecutionScope scope(*this); - vm.set_last_value(Badge {}, {}); - ExecutionContext execution_context(heap()); execution_context.current_node = &program; execution_context.this_value = &global_object; @@ -60,7 +58,6 @@ ThrowCompletionOr Interpreter::run(GlobalObject& global_object, const Pro execution_context.is_strict_mode = program.is_strict_mode(); MUST(vm.push_execution_context(execution_context, global_object)); auto completion = program.execute(*this, global_object); - vm.set_last_value(Badge {}, completion.value().value_or(js_undefined())); // At this point we may have already run any queued promise jobs via on_call_stack_emptied, // in which case this is a no-op. diff --git a/Userland/Libraries/LibJS/Runtime/VM.cpp b/Userland/Libraries/LibJS/Runtime/VM.cpp index 6aec616e39..29eea9eb92 100644 --- a/Userland/Libraries/LibJS/Runtime/VM.cpp +++ b/Userland/Libraries/LibJS/Runtime/VM.cpp @@ -97,9 +97,6 @@ void VM::gather_roots(HashTable& roots) roots.set(m_exception); - if (m_last_value.is_cell()) - roots.set(&m_last_value.as_cell()); - auto gather_roots_from_execution_context_stack = [&roots](Vector const& stack) { for (auto& execution_context : stack) { if (execution_context->this_value.is_cell()) diff --git a/Userland/Libraries/LibJS/Runtime/VM.h b/Userland/Libraries/LibJS/Runtime/VM.h index 74e3fac855..90bdb6a360 100644 --- a/Userland/Libraries/LibJS/Runtime/VM.h +++ b/Userland/Libraries/LibJS/Runtime/VM.h @@ -148,10 +148,6 @@ public: ThrowCompletionOr resolve_this_binding(GlobalObject&); - Value last_value() const { return m_last_value; } - void set_last_value(Badge, Value value) { m_last_value = value; } - void set_last_value(Badge, Value value) { m_last_value = value; } - const StackInfo& stack_info() const { return m_stack_info; }; bool underscore_is_last_value() const { return m_underscore_is_last_value; } @@ -261,8 +257,6 @@ private: Vector> m_saved_execution_context_stacks; - Value m_last_value; - StackInfo m_stack_info; HashMap m_global_symbol_map;