got exceptions working along with my weird idea for clearing the operand stack 🤓 https://hastebin.com/oqalutefuz.js
To accomplish this, when an exception is thrown my clear_op_stack routine scans bytecode until it sees a ProtectedJump (marks the end of a catch or try, similar to MSIL's CEE_LEAVE_S), along the way it keeps track of stack effects and applies them at the end. so that way you get however may POPs you'd expect if the exception weren't thrown
(I guess I should link these toots into #programming )