RFR: 8263976: Remove block allocation from BasicHashtable

Coleen Phillimore coleenp at openjdk.java.net
Mon Mar 22 22:03:38 UTC 2021


On Mon, 22 Mar 2021 21:58:09 GMT, Ioi Lam <iklam at openjdk.org> wrote:

>> Yes, I'd like to make the constructors initialize the fields, but didn't know what to do about this block zeroing code.  Would you have to add it back with deterministic GC?
>
>> Yes, I'd like to make the constructors initialize the fields, but didn't know what to do about this block zeroing code. Would you have to add it back with deterministic CDS?
> 
> I am not sure yet. I think we may not need it because CDS doesn't copy HashtableEntries into the archive anymore.

Instead of block zeroing hashtableEntry, you could add a field to zero in between _hash and _next and that would not have stray unaligned bytes.
template <MEMFLAGS F> class BasicHashtableEntry {
  friend class VMStructs;
private:
  unsigned int         _hash;           // 32-bit hash for item

  // Link to next element in the linked list for this bucket.
  BasicHashtableEntry<F>* _next;

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

PR: https://git.openjdk.java.net/jdk/pull/3123


More information about the serviceability-dev mailing list