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

Yumin Qi minqi at openjdk.java.net
Wed Apr 28 16:47:36 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 12 additional commits since the last revision:

 - 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
 - Removed unused function static_archive_invokers(), add back accidentally deleted empty line
 - Changed DEBUG_ONLY to log_debug, make small changes for format, added bug tag to test
 - Moved log invoker lines to debug only, removed check for as_utf8_string
 - Move read static invoker lines to LambdaFormInokers, remove unneeded check for return  NULL
 - Serialize lambdafor invokers in readonly talbe, merged with master
 - Merge branch 'master' into jdk-8255493
 - ... and 2 more: https://git.openjdk.java.net/jdk/compare/e25b4899...78445575

-------------

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/3611/files
  - new: https://git.openjdk.java.net/jdk/pull/3611/files/a63af745..78445575

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=3611&range=08
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=3611&range=07-08

  Stats: 473076 lines in 3466 files changed: 2089 ins; 469813 del; 1174 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