[code-reflection] RFR: Aggregated work on Verifier and BytecodeLift deconstruction
Adam Sotona
asotona at openjdk.org
Thu Oct 31 15:30:14 UTC 2024
On Fri, 18 Oct 2024 10:06:38 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`.
This is not final state of the `BytecodeLift` conversion nor `Verifier` implementation.
`TestSmallCorpus` actually pass first round without an errors, however second round indicates verification errors related to exception regions on the lifted model (Verifier newly checks exception region stack of the model).
Please review proposed changes.
Thanks,
Adam
-------------
PR Comment: https://git.openjdk.org/babylon/pull/258#issuecomment-2450165187
More information about the babylon-dev
mailing list