#1635: Runloop unrolling for exception handling
----------------------+-----------------------------------------------------
Reporter: NotFound | Owner:
Type: RFC | Status: new
Priority: normal | Milestone:
Component: core | Version: 2.3.0
Severity: medium | Keywords:
Lang: | Patch:
Platform: |
----------------------+-----------------------------------------------------
The attached patch is a proof of concept implementation of a runloop
unrolling for exception handling. The idea is that when a exception
handler takes care and finishes the handling, it signals that decision and
the control return to the runloop that established the handler, unrolling
the C stack if needed.
The second attach is an example of use.
For simplicity, this implementation uses a method in the ExceptionHandler
PMC. A specific opcode will simplify the usage.
It uses the ExceptionHandler object to identify the runloop, but the
'push_eh label' doesn't provide one. A variant '$P0 = push_eh label' is a
possible solution.
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/1635>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets