[code-reflection] RFR: BytecodeLift directly calculating local variables + related BytecodeGenerator fixes [v3]

Adam Sotona asotona at openjdk.org
Fri Aug 23 14:21:37 UTC 2024


> Proposal of `BytecodeLift` implementation skipping intermediate use of `SlotOp` and `SlotSSA` transformation.
> `LocalsTypeMapper` already handled majority of the variable mapping and its complexity grew to cover more use cases.
> This patch adds a very simple slots model to `LocalsTypeMapper` to compute variables out of the bytecode directly .
> `BytecodeLift` now knows all necessary information to emit relevant `VarOp` and `VarAccessOp`  directly.
> 
> Stability of `TestSmallCorpus` has slightly degraded, however it is just a temporary regression.
> 
> Please review.
> 
> Thanks,
> Adam

Adam Sotona has updated the pull request incrementally with two additional commits since the last revision:

 - re-disabled TestSmallCorpus
 - Revert "TestSmallCorpus changed back to double round and stability stats temporary degraded"
   
   This reverts commit e8a55a1cd2bdfa3dd0c1d316d2dab1a924d745a8.

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

Changes:
  - all: https://git.openjdk.org/babylon/pull/218/files
  - new: https://git.openjdk.org/babylon/pull/218/files/1e73c040..eb00a7e4

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=babylon&pr=218&range=02
 - incr: https://webrevs.openjdk.org/?repo=babylon&pr=218&range=01-02

  Stats: 25 lines in 1 file changed: 11 ins; 0 del; 14 mod
  Patch: https://git.openjdk.org/babylon/pull/218.diff
  Fetch: git fetch https://git.openjdk.org/babylon.git pull/218/head:pull/218

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


More information about the babylon-dev mailing list