This is just a simple helper that dumps the current VM call stack to the debug console. I find myself rewriting this function over and over, so let's just have it in the tree.
@@ -544,4 +544,10 @@ void VM::promise_rejection_tracker(const Promise& promise, Promise::RejectionOpe
}
+void VM::dump_backtrace() const
+{
+ for (ssize_t i = m_call_stack.size() - 1; i >= 0; --i)
+ dbgln("-> {}", m_call_stack[i]->function_name);
+}
+
@@ -71,6 +71,8 @@ public:
void set_exception(Exception& exception) { m_exception = &exception; }
void clear_exception() { m_exception = nullptr; }
+ void dump_backtrace() const;
class InterpreterExecutionScope {
public:
InterpreterExecutionScope(Interpreter&);