[code-reflection] RFR: Aggregated work on Verifier and BytecodeLift deconstruction [v5]

Adam Sotona asotona at openjdk.org
Fri Nov 1 07:49:49 UTC 2024


On Fri, 1 Nov 2024 07:43:23 GMT, Adam Sotona <asotona at openjdk.org> wrote:

>> This PR is aggregated continuation of work on `Verifier` #247 and new simplified and deconstructed implementation of `BytecodeLift`.
>> 
>> Work on `Verifier` revealed bugs in `BytecodeLift`.
>> Fixing of the bugs adds more complexity to already very complex `BytecodeLift`.
>> The goal of this PR is to deconstruct `BytecodeLift` to its bare bones  and re-introduce a kind of bytecode dialect:
>> - `UnresolvedType.Ref` and `UnresolvedType.Int` represent references and int with all its possible sub-types
>> - `SlotOp` is an intermediate model of local variables
>> - `SlotToVarTransformer` transforms `SlotOp` to `CoreOp.VarOp`
>> - `UnresolvedTypesTransformer` transforms `UnresolvedType.Ref` and `UnresolvedType.Int` to `JavaType`.
>
> Adam Sotona has updated the pull request incrementally with two additional commits since the last revision:
> 
>  - TestSmallCorpus reached 3rd round 100% stability, no exceptions, no verification errors
>  - BytecodeLift fix of followup with unresolved array component types of unknown TypeKind

TestSmallCorpus just reached 3rd round 100% stability, with no exceptions and no verification errors.

I highly recommend to switch to this decomposed model of BytecodeLift as a new base for the follow-up work.

Thanks,
Adam

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

PR Comment: https://git.openjdk.org/babylon/pull/258#issuecomment-2451451615


More information about the babylon-dev mailing list