On Tue, 13 Aug 2024 16:49:42 GMT, Daniel D. Daugherty <dcu...@openjdk.org> wrote:
>> Axel Boldt-Christmas has updated the pull request incrementally with two >> additional commits since the last revision: >> >> - Remove the last OMWorld references >> - Rename omworldtable_work to object_monitor_table_work > > src/hotspot/share/runtime/lightweightSynchronizer.cpp line 86: > >> 84: uintx get_hash() const { >> 85: uintx hash = _obj->mark().hash(); >> 86: assert(hash != 0, "should have a hash"); > > Hmmm... I can remember seeing hash values of zero in some > of my older legacy inflation stress runs. Is a hash value of zero > not a thing with lightweight locking? Update: My memory was wrong. When zero is encountered as a hash value, it is replaced with `0xBAD`. > src/hotspot/share/runtime/lightweightSynchronizer.cpp line 414: > >> 412: >> 413: intptr_t hash = obj->mark().hash(); >> 414: assert(hash != 0, "must be set when claiming the object monitor"); > > Hmmm... I can remember seeing hash values of zero in some > of my older legacy inflation stress runs. Is a hash value of zero > not a thing with lightweight locking? Update: My memory was wrong. When zero is encountered as a hash value, it is replaced with `0xBAD`. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/20067#discussion_r1715952007 PR Review Comment: https://git.openjdk.org/jdk/pull/20067#discussion_r1715952460