mirror of
https://github.com/SerenityOS/serenity
synced 2024-10-07 08:29:58 +00:00
e3560c2545
We now establish a stack of "unwind contexts" similar to what the bytecode interpreter does, but here, it's a stack of structs with addresses to the catch and finally blocks. Unwind contexts also have a "valid" flag, and the root unwind context (always present, pushed on JIT code entry) has valid=false, which we interpret in check_exception() as "return and let our caller deal with the exception". Anything in Compiler that may generate an exception should now also call check_exception() ASAP to emit the code for handling this. |
||
---|---|---|
.. | ||
Applets | ||
Applications | ||
BuggieBox | ||
Demos | ||
DevTools | ||
DynamicLoader | ||
Games | ||
Libraries | ||
Services | ||
Shell | ||
Utilities | ||
CMakeLists.txt |