mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 04:47:34 +00:00
LibJS/JIT: Compile the EnterUnwindContext and LeaveUnwindContext ops
These push a "valid" unwind context on the stack and check_exception() now knows how to jump to the (catch) handler if present. (finally) finalizers will require some more work, but with this change, we now have basic support for try...catch. :^)
This commit is contained in:
parent
9d35016284
commit
9dd5be0186
2 changed files with 63 additions and 2 deletions
|
@ -38,6 +38,8 @@ private:
|
|||
void compile_jump_conditional(Bytecode::Op::JumpConditional const&);
|
||||
void compile_less_than(Bytecode::Op::LessThan const&);
|
||||
void compile_increment(Bytecode::Op::Increment const&);
|
||||
void compile_enter_unwind_context(Bytecode::Op::EnterUnwindContext const&);
|
||||
void compile_leave_unwind_context(Bytecode::Op::LeaveUnwindContext const&);
|
||||
|
||||
void store_vm_register(Bytecode::Register, Assembler::Reg);
|
||||
void load_vm_register(Assembler::Reg, Bytecode::Register);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue