RFR: 8293337: Store method handle intrinsics in AOT cache [v6]

Ioi Lam iklam at openjdk.org
Tue Sep 24 00:52:52 UTC 2024


> This is the 5th PR for [JEP 483: Ahead-of-Time Class Loading & Linking](https://bugs.openjdk.org/browse/JDK-8315737).
> 
> This PR is necessary to support [JDK-8293336: AOT-linking of invokedynamic for lambda expression and string concat](https://bugs.openjdk.org/browse/JDK-8293336), which needs to store Java heap objects that have native pointers to the C++ `Method` objects  returned by `SystemDictionary::find_method_handle_intrinsic()` 
> 
> These `Method` objects are created within the JVM. They do not belong to any actual Java classes. We store all these `Method` objects into the AOT cache, so that they can be referenced by other artifacts in the AOT cache.
> 
> ---
> See [here](https://bugs.openjdk.org/browse/JDK-8315737) for the sequence of dependent RFEs for implementing JEP 483.

Ioi Lam 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 294 additional commits since the last revision:

 - Merge branch 'jep-483-step-04-8293187-support-sun-invoke-util-wrapper-in-cds-archive-heap' into jep-483-step-05-8293337-archive-method-handle-intrinsics
 - Merge branch 'jep-483-step-03-8329706-implement-xx-aot-class-linking' of /jdk3/yak/open into jep-483-step-04-8293187-support-sun-invoke-util-wrapper-in-cds-archive-heap
 - Merge branch 'jep-483-step-02-8338018-rename-class-prelinker-to-aot-cp-resolver' into jep-483-step-03-8329706-implement-xx-aot-class-linking
 - Merge branch 'jep-483-step-01-8338017-add-aot-command-line-aliases' into jep-483-step-02-8338018-rename-class-prelinker-to-aot-cp-resolver
 - Merge branch 'master' into jep-483-step-01-8338017-add-aot-command-line-aliases
 - 8339895: Open source several AWT focus tests - series 3
   
   Reviewed-by: prr
 - 8339192: Native annotation parsing code of deprecated annotations causes crash
   
   Reviewed-by: jrose, mgronlun
 - 8340480: Bad copyright notices in changes from JDK-8339902
   
   Reviewed-by: kcr, bpb, kizune
 - 8340353: Remove CompressedOops::ptrs_base
   
   Reviewed-by: stefank, coleenp, shade, mli
 - 8339902: Open source couple TextField related tests
   
   Reviewed-by: honkar
 - ... and 284 more: https://git.openjdk.org/jdk/compare/d354ee52...59dd8879

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/20959/files
  - new: https://git.openjdk.org/jdk/pull/20959/files/66157452..59dd8879

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=20959&range=05
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=20959&range=04-05

  Stats: 174327 lines in 1399 files changed: 158717 ins; 8139 del; 7471 mod
  Patch: https://git.openjdk.org/jdk/pull/20959.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/20959/head:pull/20959

PR: https://git.openjdk.org/jdk/pull/20959


More information about the hotspot-dev mailing list