RFR: 8290833: Remove ConstantPoolCache::walk_entries_for_initialization() [v3]

Ioi Lam iklam at openjdk.org
Tue Aug 9 20:06:55 UTC 2022


On Tue, 9 Aug 2022 16:50:27 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:

>> Ioi Lam has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Use a separate _saved_cpcache_entries_table
>
> src/hotspot/share/classfile/systemDictionaryShared.cpp line 525:
> 
>> 523:   if (cpc != NULL) {
>> 524:     remove_saved_cpcache_entries_locked(cpc);
>> 525:   }
> 
> Why did you need the separate table?

There are two reasons:

- The old table was indexed by `InstanceKlass*`. However, with class redefinition, a second ConstantPoolCache may be created for a class. Trying to keep this one-to-many relationship with the old table is doable but awkward.
- The old table was cloned when the archive is dumped. However, the saved_cpcache_entries don't need to be cloned because they are never modified. I don't want to have to explain why parts of the DumpTimeClassInfo are not deep-copied.

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

PR: https://git.openjdk.org/jdk/pull/9759


More information about the hotspot-runtime-dev mailing list