LibJS: Cleanup unwind state when transferring control out of a finalizer

This does two things:
* Clear exceptions when transferring control out of a finalizer
  Otherwise they would resurface at the end of the next finalizer
  (see test the new test case), or at the end of a function
* Pop one scheduled jump when transferring control out of a finalizer
  This removes one old FIXME
This commit is contained in:
Hendiadyoin1 2024-04-11 11:58:18 +02:00 committed by Andreas Kling
commit ada5027163
Notes: sideshowbarker 2024-07-17 06:38:11 +09:00
8 changed files with 65 additions and 6 deletions

View file

@ -69,6 +69,7 @@ public:
void leave_unwind_context();
void catch_exception(Operand dst);
void restore_scheduled_jump();
void leave_finally();
void enter_object_environment(Object&);