bbdf9729fb
It's not ok for the unwinder to use a reference to elements living in the m_faults array, since the unwinder can re-enter the VM when calling destructors (or the FunctionExit hook). If one of those re-entries does exception handling, it can modify m_faults. Additionally, gets rid of VMPrepareThrow and instead just throw Object and use the same case as we do when exceptions came from an extension. I had to fix an assembler test catch handler to actually catch to keep the assertion about m_faults on re-entry correct.