diff --git a/Userland/Libraries/LibJS/Runtime/VM.cpp b/Userland/Libraries/LibJS/Runtime/VM.cpp index 26751a4fa5..e100c10153 100644 --- a/Userland/Libraries/LibJS/Runtime/VM.cpp +++ b/Userland/Libraries/LibJS/Runtime/VM.cpp @@ -742,6 +742,11 @@ void VM::save_execution_context_stack() m_saved_execution_context_stacks.append(move(m_execution_context_stack)); } +void VM::clear_execution_context_stack() +{ + m_execution_context_stack.clear_with_capacity(); +} + void VM::restore_execution_context_stack() { m_execution_context_stack = m_saved_execution_context_stacks.take_last(); diff --git a/Userland/Libraries/LibJS/Runtime/VM.h b/Userland/Libraries/LibJS/Runtime/VM.h index 9e835b9339..ad876b6e58 100644 --- a/Userland/Libraries/LibJS/Runtime/VM.h +++ b/Userland/Libraries/LibJS/Runtime/VM.h @@ -229,6 +229,7 @@ public: ThrowCompletionOr named_evaluation_if_anonymous_function(ASTNode const& expression, DeprecatedFlyString const& name); void save_execution_context_stack(); + void clear_execution_context_stack(); void restore_execution_context_stack(); // Do not call this method unless you are sure this is the only and first module to be loaded in this vm.