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

Adam Sotona asotona at openjdk.org
Tue Aug 27 12:40:33 UTC 2024


On Fri, 23 Aug 2024 11:58:55 GMT, Adam Sotona <asotona at openjdk.org> wrote:

> 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

This pull request has now been integrated.

Changeset: 207ca5e1
Author:    Adam Sotona <asotona at openjdk.org>
URL:       https://git.openjdk.org/babylon/commit/207ca5e15964aa9dced66cb81c911c59527d6d8b
Stats:     811 lines in 7 files changed: 205 ins; 532 del; 74 mod

BytecodeLift directly calculating local variables + related BytecodeGenerator fixes

Reviewed-by: psandoz

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

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


More information about the babylon-dev mailing list