1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 07:18:11 +00:00

LibJS: Move the current exception from Interpreter to VM

This will allow us to throw exceptions even when there is no active
interpreter in the VM.
This commit is contained in:
Andreas Kling 2020-09-21 15:28:09 +02:00
parent 675b482fe7
commit 4a8bfcdd1c
12 changed files with 26 additions and 23 deletions

View file

@ -225,8 +225,6 @@ Symbol* Interpreter::get_global_symbol(const String& description)
void Interpreter::gather_roots(HashTable<Cell*>& roots)
{
roots.set(m_exception);
if (m_last_value.is_cell())
roots.set(m_last_value.as_cell());
@ -345,7 +343,7 @@ void Interpreter::throw_exception(Exception* exception)
}
}
#endif
m_exception = exception;
vm().set_exception({}, exception);
unwind(ScopeType::Try);
}