RFR: 8256302: releasing oopStorage when deflating allows for faster deleting [v5]

David Holmes dholmes at openjdk.org
Mon Jun 5 01:30:15 UTC 2023


On Sun, 4 Jun 2023 14:18:41 GMT, Daniel D. Daugherty <dcubed at openjdk.org> wrote:

>> Releasing ObjectMonitor oopStorage earlier when deflating allows ObjectMonitor
>> deletion by a JavaThread (usually the MonitorDeflationThread) to happen while a
>> ThreadBlockInVM helper is in place. This should improve time-to-safepoint.
>
> Daniel D. Daugherty 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 five additional commits since the last revision:
> 
>  - Merge tag 'jdk-21+25' into JDK-8256302
>    
>    Added tag jdk-21+25 for changeset a46b5acc
>  - Allow ObjectMonitor::_object to be reset to nullptr when it is released which allows the code to be cleaner.
>  - Merge tag 'jdk-21+23' into JDK-8256302
>    
>    Added tag jdk-21+23 for changeset 6d4782bc
>  - address the easy dholmes and kimbarrett CR comments
>  - 8256302: releasing oopStorage when deflating allows for faster deleting

I'm finding it a bit hard to follow the logic here and I think some older PR comments may be causing me some confusion.

IIUC the key enhancement here is that when we deflate we will also release the oop_storage, and in doing so we mark the `_object` as null so that the destructor skips also trying to do a release. Otherwise the destructor of OM will take care of the release when we `deflate_idle_monitors`. In the latter case we make the current JavaThread `_thread_blocked` so it doesn't delay safepoints. Is that all correct?

Thanks.

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

PR Review: https://git.openjdk.org/jdk/pull/11296#pullrequestreview-1461491055


More information about the hotspot-runtime-dev mailing list