[code-reflection] RFR: Aggregated work on Verifier and BytecodeLift deconstruction [v5]
Adam Sotona
asotona at openjdk.org
Fri Nov 1 07:43:23 UTC 2024
> 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
-------------
Changes:
- all: https://git.openjdk.org/babylon/pull/258/files
- new: https://git.openjdk.org/babylon/pull/258/files/eda4efb0..55d82cc0
Webrevs:
- full: https://webrevs.openjdk.org/?repo=babylon&pr=258&range=04
- incr: https://webrevs.openjdk.org/?repo=babylon&pr=258&range=03-04
Stats: 19 lines in 3 files changed: 13 ins; 0 del; 6 mod
Patch: https://git.openjdk.org/babylon/pull/258.diff
Fetch: git fetch https://git.openjdk.org/babylon.git pull/258/head:pull/258
PR: https://git.openjdk.org/babylon/pull/258
More information about the babylon-dev
mailing list