RFR: 8293187: Store initialized Enum classes in AOTCache [v10]
Ioi Lam
iklam at openjdk.org
Tue Oct 1 06:17:39 UTC 2024
On Mon, 30 Sep 2024 13:02:16 GMT, Andrew Dinn <adinn 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 109 commits:
>>
>> - Merge branch 'jep-483-step-03-8329706-implement-xx-aot-class-linking' of /jdk3/yak/open into jep-483-step-04-8293187-support-sun-invoke-util-wrapper-in-cds-archive-heap
>> - Merge branch 'jep-483-step-02-8338018-rename-class-prelinker-to-aot-cp-resolver' into jep-483-step-03-8329706-implement-xx-aot-class-linking
>> - Merge branch 'jep-483-step-01-8338017-add-aot-command-line-aliases' into jep-483-step-02-8338018-rename-class-prelinker-to-aot-cp-resolver
>> - Merge branch 'master' of https://github.com/openjdk/jdk into jep-483-step-01-8338017-add-aot-command-line-aliases
>> - 8340864: Remove unused lines related to vmClasses
>>
>> Reviewed-by: shade, kvn
>> - 8340831: Simplify simple validation for class definition in MethodHandles.Lookup
>>
>> Reviewed-by: redestad
>> - 8340838: Clean up MutableCallSite to use explicit release fence instead of AtomicInteger
>>
>> Reviewed-by: jrose, redestad, shade
>> - 8340956: ProblemList 4 java/nio/channels/DatagramChannel tests on macosx-all
>>
>> Reviewed-by: liach, alanb, darcy, dfuchs
>> - 8340228: Open source couple more miscellaneous AWT tests
>>
>> Reviewed-by: prr
>> - 8340684: Reading from an input stream backed by a closed ZipFile has no test coverage
>>
>> Reviewed-by: lancea
>> - ... and 99 more: https://git.openjdk.org/jdk/compare/6029b35f...563bccb3
>
> src/hotspot/share/cds/heapShared.cpp line 1009:
>
>> 1007: //
>> 1008: // The set of classes that are required to be initialized for the archived
>> 1009: // java mirrors are recorded in _runtime_default_subgraph_info (which probably
>
> _runtime_default_subgraph_info is derived from _default_subgraph_info, the latter being the subgraph associated with class java.lang.Object. Perhaps using the prefix `root` or `jlobject` would make this clearer i.e. `_root_subgraph_info` and `_runtime_root_subgraph_info` or `_jlobject_subgraph_info` and `_runtime_jlobject_subgraph_info`.
`root` may be a little over-loaded, because we have `HeapShared::get_root(int)` to get an arbitrary object with an integer index.
I renamed the various field/functions to `special_subgraph`, and added a comment about what this subgraph contains. What do you think?
Also, the two `subgraph_info` fields are renamed to the following:
static KlassSubGraphInfo* _dumptime_special_subgraph; // for collecting info during dump time
static ArchivedKlassSubGraphInfoRecord* _runtime_special_subgraph; // for initializing classes during run time.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/20958#discussion_r1782171252
More information about the hotspot-dev
mailing list