On Thu, 19 Oct 2023 06:54:05 GMT, David Holmes <[email protected]> wrote:

>> This is the first step for [JDK-8318483 - Move CDS configuration management 
>> into cdsConfig.hpp](https://bugs.openjdk.org/browse/JDK-8318483)
>> 
>> - Remove `Arguments::is_dumping_archive()` and `Arguments 
>> assert_is_dumping_archive()`
>> - Add the following new APIs
>> 
>> 
>> class CDSConfig {
>>   static bool is_dumping_archive();
>>   static bool is_dumping_static_archive();
>>   static bool is_dumping_dynamic_archive();
>>   static bool is_dumping_heap();
>> };
>> 
>> 
>> - Convert some use of `DumpSharedSpaces` and `DynamicDumpSharedSpaces` to 
>> these new APIs
>> 
>> (More APIs will be added in future sub tasks of 
>> [JDK-8318483](https://bugs.openjdk.org/browse/JDK-8318483))
>
> src/hotspot/share/cds/metaspaceShared.cpp line 778:
> 
>> 776: 
>> 777: #if INCLUDE_CDS_JAVA_HEAP
>> 778:   if (CDSConfig::is_dumping_heap()) {
> 
> This seems a new condition. Why is it needed now?

This was a bug uncovered during refactoring. 
`StringTable::allocate_shared_strings_array()` used to assert 
`DumpSharedSpaces`. However, this function is useful only in a more limited 
scope (`CDSConfig::is_dumping_heap()` which is a subset of `DumpSharedSpaces`). 
So after changing the assert in  
`StringTable::allocate_shared_strings_array()`, I have to change the condition 
where this function is called.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/16257#discussion_r1366041643

Reply via email to