[code-reflection] RFR: Bytecode round 10

Chen Liang liach at openjdk.org
Thu Aug 15 18:16:58 UTC 2024


On Wed, 14 Aug 2024 10:40:40 GMT, Adam Sotona <asotona at openjdk.org> wrote:

> 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

src/java.base/share/classes/java/lang/reflect/code/bytecode/BytecodeGenerator.java line 1117:

> 1115:         List<Value> sargs = ref.arguments();
> 1116:         if (catchingBlocks.get(target.index())) {
> 1117:             // Jumping to an exceptio handler, exception parameter is expected on stack

Suggestion:

            // Jumping to an exception handler, exception parameter is expected on stack

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

PR Review Comment: https://git.openjdk.org/babylon/pull/215#discussion_r1718799419


More information about the babylon-dev mailing list