[code-reflection] RFR: New model store implementation [v2]
Adam Sotona
asotona at openjdk.org
Mon Nov 3 20:24:11 UTC 2025
> This PR adds an alternative code model storage implementation.
>
> With the new implementation compiler attaches a code-model attribute to the synthesized helper method. The method then returns the model by `invokedynamic` of a bootstrap method that reads and materializes the attribute at runtime.
>
> The new implementation can be selected by setting the compiler option `codeModelStorageOption` to `"CODE_MODEL_ATTRIBUTE"`.
>
> Please review.
>
> Thanks,
> Adam
Adam Sotona has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 16 additional commits since the last revision:
- Merge branch 'code-reflection' into new-model-store
- added javadoc
- switched default CodeModelStorageOption back to CODE_BUILDER
- added javadoc
- caching vs. non-caching callsite construction
- synth method body refactored to use indy call
- reducing API surface
- reducing API surface
- annotations refactored to the synthetic methods
- class file footprint optimizations
- ... and 6 more: https://git.openjdk.org/babylon/compare/dc5f36d8...8ab47cd0
-------------
Changes:
- all: https://git.openjdk.org/babylon/pull/654/files
- new: https://git.openjdk.org/babylon/pull/654/files/b2be1ee3..8ab47cd0
Webrevs:
- full: https://webrevs.openjdk.org/?repo=babylon&pr=654&range=01
- incr: https://webrevs.openjdk.org/?repo=babylon&pr=654&range=00-01
Stats: 437927 lines in 6687 files changed: 292416 ins; 100588 del; 44923 mod
Patch: https://git.openjdk.org/babylon/pull/654.diff
Fetch: git fetch https://git.openjdk.org/babylon.git pull/654/head:pull/654
PR: https://git.openjdk.org/babylon/pull/654
More information about the babylon-dev
mailing list