RFR: 8292375: Convert ProtectionDomainCacheTable to ResourceHashtable [v4]

Ioi Lam iklam at openjdk.org
Tue Aug 30 19:32:23 UTC 2022


On Mon, 29 Aug 2022 12:24:33 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:

>> Please review this simple conversion for the ProtectionDomainCacheTable from Old Hashtable to ResourceHashtable.  There are specific tests for this table in test/hotspot/jtreg/runtime/Dictionary and serviceability/dcmd/vm/DictionaryStatsTest.java.
>> Also tested with tier1-7.
>
> Coleen Phillimore has updated the pull request incrementally with one additional commit since the last revision:
> 
>   David's comments

Looks good overall and seems to be equivalent to the old code. Just a couple of nits.

src/hotspot/share/classfile/protectionDomainCache.cpp line 162:

> 160:   // Purge any deleted entries outside of the SystemDictionary_lock.
> 161:   purge_deleted_entries();
> 162:   int oops_removed = purge_entries_from_table(); // reacquires SD lock

It's confusing to have two similarly named functions (purge_deleted_entries and purge_entries_from_table). Maybe the two functions should be combined into a single `purge()`  function that performs the two steps?

src/hotspot/share/classfile/protectionDomainCache.hpp line 35:

> 33: // The amount of different protection domains used is typically magnitudes smaller
> 34: // than the number of system dictionary entries (loaded classes).
> 35: class ProtectionDomainCacheTable : public AllStatic {

How about adding a comment to say what this table maps from/to? Something like:

// The ProtectionDomainCacheTable maps all java.security.ProtectionDomain objects that are
// registered by DictionaryEntry::add_protection_domain() to a unique WeakHandle.

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

Marked as reviewed by iklam (Reviewer).

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


More information about the hotspot-dev mailing list