RFR: 8319048: Monitor deflation unlink phase prolongs time to safepoint [v7]

Aleksey Shipilev shade at openjdk.org
Mon Nov 20 10:21:36 UTC 2023


On Fri, 17 Nov 2023 12:41:25 GMT, Axel Boldt-Christmas <aboldtch at openjdk.org> wrote:

>> Aleksey Shipilev has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 11 additional commits since the last revision:
>> 
>>  - Merge branch 'master' into JDK-8319048-monitor-deflation-unlink
>>  - Merge branch 'master' into JDK-8319048-monitor-deflation-unlink
>>  - Move unlink_batch init to proper place
>>  - Add invariant checking
>>  - Merge branch 'master' into JDK-8319048-monitor-deflation-unlink
>>  - Fix test after recent test infra renames
>>  - Merge branch 'master' into JDK-8319048-monitor-deflation-unlink
>>  - Batch 500
>>  - Pre-final touchups
>>  - Option range and tests
>>  - ... and 1 more: https://git.openjdk.org/jdk/compare/3d7dee33...09863092
>
> src/hotspot/share/runtime/synchronizer.cpp line 131:
> 
>> 129:             prev = n;
>> 130:           }
>> 131:           assert(prev != nullptr, "Should have found the batch head");
> 
> Will this ever be reached? Seems like we would crash when reading the `_next_om` field in n. Or could `m` ever be `nullptr` here.

Yes, if we have a bug. I actually had one on this path. Clear assert is better than SEGV you could only make sense in debugger.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/16412#discussion_r1398968306


More information about the hotspot-runtime-dev mailing list