RFR: 8315884: New Object to ObjectMonitor mapping [v15]

Daniel D. Daugherty dcubed at openjdk.org
Tue Aug 13 22:16:10 UTC 2024


On Tue, 13 Aug 2024 16:49:42 GMT, Daniel D. Daugherty <dcubed at 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


More information about the serviceability-dev mailing list