[code-reflection] RFR: Exception regions patch

Paul Sandoz psandoz at openjdk.org
Fri Oct 18 21:55:23 UTC 2024


On Thu, 17 Oct 2024 14:21:52 GMT, Adam Sotona <asotona at openjdk.org> wrote:

> Proposed partial change of the `exception.region.enter` and `exception.region.exit`, as discussed at https://mail.openjdk.org/pipermail/babylon-dev/2024-October/001674.html
> 
> Summary of the change:
> - `exception.region.enter` catch handler blocks appear in reverse order of the try/catch declaration to reflect natural nesting "outer first"
> - return typeof `exception.region.enter` is void
> - `exception.region.exit` does not refer to `exception.region.enter`, its first successor is end block and following successors are catch handler blocks in order as they appear in try/catch declaration (reverse to `exception.region.enter` order)
> - `Interpreter`, `BytecodeGenerator`, `BytecodeLift`, `ExtendedOp`, `NormalizeBlockTransformer` and tests are fixed
> - no change in the documentation is a part of this PR
> 
> Please review.
> 
> Thanks,
> Adam

Looks good. Leaning into the exception stack makes sense, very clean from the interpreter implementation.

-------------

Marked as reviewed by psandoz (Lead).

PR Review: https://git.openjdk.org/babylon/pull/256#pullrequestreview-2379015565


More information about the babylon-dev mailing list