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

John R Rose jrose at openjdk.org
Sat Oct 19 00:27:26 UTC 2024


On Wed, 16 Oct 2024 23:34:50 GMT, Ioi Lam <iklam at openjdk.org> wrote:

>> 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 incrementally with one additional commit since the last revision:
> 
>   @coleenp: No need to hold InvokeMethodIntrinsicTable_lock during bootstrap

Good changes.  One request:  Please add a comment, if there isn't one somewhere already, saying (as an order of magnitude) what is a typical size of the MH intrinsic table.  That would be an estimate of the number printed by this log message:


  log_info(cds)("Archived %d method handle intrinsics", len)

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

Marked as reviewed by jrose (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/20959#pullrequestreview-2379136181


More information about the hotspot-dev mailing list