[code-reflection] RFR: BytecodeLift directly calculating local variables + related BytecodeGenerator fixes [v5]
Adam Sotona
asotona at openjdk.org
Mon Aug 26 15:58:31 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 three additional commits since the last revision:
- reverted wildcard type use in BytecodeLift
- Bytecode lift names variables by slot number "slot#XY"
- Stabilization of the roundtrip - single-use var allocations deferred
-------------
Changes:
- all: https://git.openjdk.org/babylon/pull/218/files
- new: https://git.openjdk.org/babylon/pull/218/files/240c3888..ea76ac61
Webrevs:
- full: https://webrevs.openjdk.org/?repo=babylon&pr=218&range=04
- incr: https://webrevs.openjdk.org/?repo=babylon&pr=218&range=03-04
Stats: 39 lines in 4 files changed: 16 ins; 0 del; 23 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