#1448: Modify `throw` opcode to pass through pre-configured resume continuation
-----------------------------+----------------------------------------------
Reporter: Austin_Hastings | Owner: whiteknight
Type: RFC | Status: assigned
Priority: minor | Milestone:
Component: core | Version: master
Severity: low | Keywords: throw, exception, pmc, continuation
Lang: | Patch:
Platform: all |
-----------------------------+----------------------------------------------
Changes (by whiteknight):
* type: todo => RFC
Comment:
Just because rethrow happens to have a certain signature and semantic now
doesn't mean that rethrow will always be usable as a "throw plus a new
resume continuation" in the future. In fact, rethrow doesn't have exactly
that semantic right now, though the differences are subtle.
I would much rather call a throw a throw, and call a rethrow a rethrow,
and not rely on using one op to perform the other operation just because
it happens to work that way in a particular revision of Parrot.
Adding a new variant of the throw op which takes a resume continuation
would be a good experiment to run. I think the current throw op
automatically sets the resume continuation in the exception, so we need to
evaluate that behavior to see if it's what we really want. For instance,
if an exception already has a resume continuation set, maybe we don't want
to blindly overwrite that.
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/1448#comment:4>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets