RFR: 8221723: Avoid storing zero to String.hash

Jiangli Zhou jianglizhou at google.com
Mon Apr 1 15:21:33 UTC 2019

On Mon, Apr 1, 2019 at 4:59 AM Claes Redestad <claes.redestad at oracle.com>

> Hi,
> when a String has a calculated hash code value of 0, we recalculate and
> store a 0 to the String.hash field every time (except for the empty
> String, which is special cased). To make String objects more amenable to
> storage in shared read-only memory, e.g., CDS archives, we should avoid
> this redundant store.

That was exactly the reason why 0-hash string was excluded from the closed
archive heap region.

> Bug:    https://bugs.openjdk.java.net/browse/JDK-8221723
> Webrev: http://cr.openjdk.java.net/~redestad/8221723/

Looks good to me.

Thanks and regards,

> Testing: tier1-3, no regression on existing and new StringHashCode
> micros
> /Claes

More information about the core-libs-dev mailing list