RFR: 8329706: Implement -XX:+AOTClassLinking [v6]
Ioi Lam
iklam at openjdk.org
Tue Sep 17 23:34:06 UTC 2024
On Tue, 17 Sep 2024 19:52:29 GMT, Ashutosh Mehra <asmehra at openjdk.org> wrote:
>> Ioi Lam has updated the pull request incrementally with one additional commit since the last revision:
>>
>> @ashu-mehra reviews
>
> src/hotspot/share/runtime/threads.cpp line 322:
>
>> 320: universe_post_module_init();
>> 321:
>> 322: if (CDSConfig::is_using_aot_linked_classes()) {
>
> call_initPhase2 has a timer that computes cost for initializing module system. Before this patch call_initPhase2 was only initializing the module system. But now it is doing work which is not part of the module system initialization. So probably in future we may want to refactor this work out of call_initPhase2.
Hi @ashu-mehra , I moved the code outside of `call_initPhase2()`, and consolidated it into `AOTLinkedClassBulkLoader::load_non_javabase_classes()`.
While doing that, I noticed that the enums `BOOT` and `BOOT2` are misleading -- it seems the former would be a superset of the latter, but in fact they are disjoint. I think this is one reason that @dholmes-ora wanted different names.
So I renamed them to `BOOT1` vs `BOOT2` (boot classes loaded in 1st vs 2nd phase). I also renamed the enum to AOTLinkedClassCategory and refactored the related code. There's a lot of renaming but the logic is unchanged.
Ashu and David, please re-review https://github.com/openjdk/jdk/pull/20843/commits/4e9668a0b85fd5aa5839528e30c2955b424ac8ca
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/20843#discussion_r1764211572
More information about the serviceability-dev
mailing list