RFR: 8293337: Store method handle intrinsics in AOT cache

Ioi Lam iklam at openjdk.org
Fri Sep 13 07:41:20 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.

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

Depends on: https://git.openjdk.org/jdk/pull/20958

Commit messages:
 - some clean up
 - 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-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-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-04-8293187-support-sun-invoke-util-wrapper-in-cds-archive-heap' into jep-483-step-05-8293337-archive-method-handle-intrinsics
 - 8293337: Archive method handle intrinsics

Changes: https://git.openjdk.org/jdk/pull/20959/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=20959&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8293337
  Stats: 126 lines in 9 files changed: 125 ins; 0 del; 1 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