[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