RFR: 8212107: VMThread issues and cleanup [v7]

Claes Redestad redestad at openjdk.java.net
Fri Sep 25 15:18:34 UTC 2020


On Fri, 25 Sep 2020 12:20:37 GMT, Robbin Ehn <rehn at openjdk.org> wrote:

>> We simplify the vmThread by removing the queue and refactor the the main loop.
>> This solves the issues listed:
>> - It can create an extra safepoint directly after a safepoint.
>> - It's not safe for a non-JavaThread to add safepoint to queue while GC do oops do.
>> - The exposure of the vm operation is dangerous if it's a handshake.
>> - The code is a hornets nest with the repetition of checks and branches
>> 
>> Passes t1-8, and a benchmark run.
>> 
>> If you want a smaller diff the commits contains the incremental progress and each commit passed t1.
>
> Robbin Ehn 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 18 additional commits since
> the last revision:
>  - Merge branch 'master' into 8212107-vmthread
>  - Spelling fixes from Dan
>  - Removed assert as suggested by David
>  - Whitespace fixes, thanks to Shipilev
>  - Update after Shipilev
>  - Update after Coleen and David
>  - Merge branch 'master' into 8212107-vmthread
>  - Fixed nits
>  - Merge branch 'master' into 8212107-vmthread
>  - Fixes after review from shipilev.
>  - ... and 8 more: https://git.openjdk.java.net/jdk/compare/5d592be8...371ac282

src/hotspot/share/runtime/mutexLocker.hpp line 62:

> 60: extern Mutex*   RetData_lock;                    // a lock on installation of RetData inside method data
> 61: extern Monitor* VMOperation_lock;                // a lock on queue of vm_operations waiting to execute
> 62: extern Monitor* VMOperationRequest_lock;         // a lock on Threads waiting for a vm_operation to terminate

Can the declaration of VMOperationRequest_lock be removed now too? Since it's no longer being defined in mutexLocker.cpp

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

PR: https://git.openjdk.java.net/jdk/pull/228


More information about the hotspot-dev mailing list