On Tue, 15 Oct 2024 15:19:36 GMT, Dan Heidinga <heidi...@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 1140: > >> 1138: return false; >> 1139: } >> 1140: } > > This is conservatively correct in that it checks all implemented interfaces. > We could be less conservative and only check interfaces that have a > "non-abstract non-static" (aka default) method as those are the interfaces > that will be initialized along with the class as per JVMS 5.5 I've removed this function altogether. It was used in logging only, and it wasn't clear what the output meant (w.r.t to interfaces that have non-trivial <clinit>). I think it's best to remove this function, and implement it properly in a future RFE that automatically aot-init all classes that can be initialized with no observable side effects. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/21143#discussion_r1805829136