RFR: 8255493: Support for pre-generated java.lang.invoke classes in CDS dynamic archive

David Holmes david.holmes at oracle.com
Thu Apr 22 01:57:31 UTC 2021


Hi Yumin,

On 22/04/2021 8:42 am, Yumin Qi wrote:
> 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)

Meta questions:
  - why are they not already stored?
  - why do we need them to be stored?
  - can we avoid hardwiring a set of classes that then tightly couples 
our code to the JDK code in a way that we may not easily detect breakages?

Thanks,
David

>    Tests: tier1,tier2,tier3,tier4
>    
>    Thanks
>    Yumin
> 
> -------------
> 
> Commit messages:
>   - 8255493: Support for pre-generated java.lang.invoke classes in CDS dynamic archive
> 
> Changes: https://git.openjdk.java.net/jdk/pull/3611/files
>   Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=3611&range=00
>    Issue: https://bugs.openjdk.java.net/browse/JDK-8255493
>    Stats: 273 lines in 11 files changed: 238 ins; 14 del; 21 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