[code-reflection] RFR: Bytecode round 10

Adam Sotona asotona at openjdk.org
Thu Aug 15 13:36:10 UTC 2024


This time I focused on the roundtrip stabilizations, namely:
- BytecodeLift: injected blocks do not pass the stack through block params
- Avoided redundant slot loads and stores for parameters of blocks with just a single predecessor
- SlotSSA calculates join point block argument types from the consuming slot load ops (instead of the slot store ops)
- TestSmallCorpus now performs triple round stability verification and actual numbers are: >99% of methods is stable, no exceptions, no verification errors

Remaining instability of ~130 methods is related to nested try blocks.

Please review.

Thanks,
Adam

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

Commit messages:
 - SlotSSA determines join point block argument types from the consuming SlotLoadOps
 - TestSmallCorpus changed from double round to triple round stability
 - SlotSSA determines join point block argument types from the consuming SlotLoadOps
 - avoid redundant slot loads and stores for parameters of blocks with single predecessor
 - Roundtrip stabilization in BytecodeLift:

Changes: https://git.openjdk.org/babylon/pull/215/files
  Webrev: https://webrevs.openjdk.org/?repo=babylon&pr=215&range=00
  Stats: 138 lines in 4 files changed: 44 ins; 20 del; 74 mod
  Patch: https://git.openjdk.org/babylon/pull/215.diff
  Fetch: git fetch https://git.openjdk.org/babylon.git pull/215/head:pull/215

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


More information about the babylon-dev mailing list