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

Daniel D. Daugherty dcubed at openjdk.org
Fri Jun 2 19:38:36 UTC 2023


On Mon, 22 May 2023 20:02:21 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 pull request now contains three commits:
> 
>  - 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 figured out the source of my confusion over Robbin's suggested sanity
check for this bug:
  - Can't guarantee _object.is_null() after release because it is not
     cleared to nullptr after being released.
  - I don't want to change WeakHandle::release() to clear its internal
    _obj field because that would require a number of 'const' removals.
  - Instead I've added WeakHandle::set_null() for those WeakHandle use
    cases that would like the _obj field cleared.
  - I've tweaked the patch to allow ObjectMonitor::_object's internal
    ref to be reset to nullptr when it is released which allows the
    code to be cleaner.

I've tested v03 with Mach5 Tier[1-5]. The results were a bit noisy due to
issues outside of this PR. I'm going to rebase the PR to jdk-21+25 and
then retest shortly.

Please hold off on any re-reviews until I give the all clear...

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

PR Comment: https://git.openjdk.org/jdk/pull/11296#issuecomment-1574216596
PR Comment: https://git.openjdk.org/jdk/pull/11296#issuecomment-1574218071


More information about the hotspot-runtime-dev mailing list