LibJS: GC should gather roots from all active interpreters

If we are in a nested execution context, we shouldn't only mark things
used by the active interpreter.
This commit is contained in:
Andreas Kling
2020-09-21 13:47:33 +02:00
parent 31bb107922
commit fbe2907510
5 changed files with 11 additions and 5 deletions

View File

@@ -82,4 +82,10 @@ VM::InterpreterScope::~InterpreterScope()
m_interpreter.vm().pop_interpreter(m_interpreter);
}
void VM::gather_roots(HashTable<Cell*>& roots)
{
for (auto* interpreter : m_interpreters)
interpreter->gather_roots(roots);
}
}