[code-reflection] RFR: Exception regions patch

Adam Sotona asotona at openjdk.org
Thu Oct 17 14:26:59 UTC 2024


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

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

Commit messages:
 - exception.region.exit directly referencing to catch blocks
 - exception.region.exit directly referencing to catch blocks - work in progress

Changes: https://git.openjdk.org/babylon/pull/256/files
  Webrev: https://webrevs.openjdk.org/?repo=babylon&pr=256&range=00
  Stats: 169 lines in 9 files changed: 36 ins; 31 del; 102 mod
  Patch: https://git.openjdk.org/babylon/pull/256.diff
  Fetch: git fetch https://git.openjdk.org/babylon.git pull/256/head:pull/256

PR: https://git.openjdk.org/babylon/pull/256


More information about the babylon-dev mailing list