RFR: 8293336: AOT-linking of invokedynamic for lambda expression and string concat [v5]
Ioi Lam
iklam at openjdk.org
Tue Oct 22 06:26:27 UTC 2024
On Tue, 15 Oct 2024 15:12:44 GMT, Dan Heidinga <heidinga at openjdk.org> wrote:
>> Ioi Lam has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 29 commits:
>>
>> - @DanHeidinga comments -- added ConcurrentHashMap::runtimeSetup() to init NCPU to runtime value; also use the same runtimeSetup() pattern to call registerNatives() for Class.java and Unsafe.java
>> - Merge branch 'jep-483-step-06-8311071-avoid-soft-refs-in-java-lang-invoke' into jep-483-step-07-8293336-store-lambda-forms-in-cds-archive
>> - Fixed JDK-8341988: jstack launched with AOT cache created with -XX:+AOTClassLinking crashes
>> - 8341600: [premain] Automatic aot-init of classes used by java.lang.invoke
>> - @adinn comments
>> - improve checks for not changing <clinit> order for aot linking of lambda; added comprehensive test cases: AOTLinkedLambdasApp::testClinitOrder()
>> - Clean up of aotClassInitializer and cdsHeaVerifier; added lambda test cases for <clinit> order of app classes
>> - Merge branch 'jep-483-step-06-8311071-avoid-soft-refs-in-java-lang-invoke' into jep-483-step-07-8293336-store-lambda-forms-in-cds-archive
>> - Require all <clinit> of supertypes of aot-inited classes to be executed in assembly phase
>> - Limit the use of AOTHolder
>> - ... and 19 more: https://git.openjdk.org/jdk/compare/e46b910a...382446d4
>
> src/hotspot/share/cds/heapShared.cpp line 457:
>
>> 455: if (HeapShared::is_archivable_hidden_klass(ik)) {
>> 456: // We can't rerun the <clinit> method of hidden classes as we don't save
>> 457: // the classData, so we must archive its mirror in initialized state.
>
> Is this comment still accurate? It looks like we do save the class_data on line 506
This comment is obsolete. Also, we won't come for any class unless it's already initialized. So I deleted the comment and changed the assert to this for all classes
assert(ik->is_initialized(), "must be");
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/21143#discussion_r1810021339
More information about the hotspot-dev
mailing list