RFR: 8255493: Support for pre-generated java.lang.invoke classes in CDS dynamic archive [v12]
Yumin Qi
minqi at openjdk.java.net
Fri Apr 30 15:25:43 UTC 2021
> Hi, Please review
>
> When do dynamic dump, the pre-generated lambda form classes from java.lang.invoke are not stored in dynamic archive. The patch will regenerate the four holder classes,
> "java.lang.invoke.Invokers$Holder",
> "java.lang.invoke.DirectMethodHandle$Holder",
> "java.lang.invoke.DelegatingMethodHandle$Holder",
> "java.lang.invoke.LambdaForm$Holder"
> which will include the versions in static archive and new loaded functions all together and stored in dynamic archive. New test case added.
> (Minor change to PrintSharedArchiveAtExit, which the index is not consecutive)
>
> Tests: tier1,tier2,tier3,tier4
>
> Thanks
> Yumin
Yumin Qi 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 18 additional commits since the last revision:
- Removed macro for exception handling, removed checking exception after reload class
- Merge branch 'master' of ssh://github.com/yminqi/jdk into jdk-8255493
- Changed DynamicArchive::dump as static counterpart. Suppressed exceptions in LambdaFormInvokers::regenerate_holder_classes except for oom
- Merge branch 'master' into jdk-8255493
- Merge branch 'master' of ssh://github.com/yminqi/jdk into jdk-8255493
- Only store four lambda invoker (which will be regenerated in dynamic dump) lines in static archive
- Removed TRAP from regenerate_holder_classes, also correct SharedLambdaDictionaryPrinter index
- Merge branch 'master' into jdk-8255493
- Restore filemap.[ch]pp
- Remove unnecessary file header including
- ... and 8 more: https://git.openjdk.java.net/jdk/compare/a5d84a15...95d68855
-------------
Changes:
- all: https://git.openjdk.java.net/jdk/pull/3611/files
- new: https://git.openjdk.java.net/jdk/pull/3611/files/0846f121..95d68855
Webrevs:
- full: https://webrevs.openjdk.java.net/?repo=jdk&pr=3611&range=11
- incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=3611&range=10-11
Stats: 1772 lines in 32 files changed: 1563 ins; 96 del; 113 mod
Patch: https://git.openjdk.java.net/jdk/pull/3611.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/3611/head:pull/3611
PR: https://git.openjdk.java.net/jdk/pull/3611
More information about the hotspot-dev
mailing list