RFR: 8272797: Mutex with rank safepoint_check_never imply allow_vm_block [v4]

Coleen Phillimore coleenp at openjdk.java.net
Wed Aug 25 23:23:29 UTC 2021


On Wed, 25 Aug 2021 23:07:50 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:

>> See CR for details.  This essentially makes Mutex that safepoint_check_never imply a NoSafepointVerifier, which is a stronger and simpler invariant.
>> Tested with tier1-6.
>
> Coleen Phillimore has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Remove allow_vm_block parameter if safepoint_check_never.

I added a 3 argument constructor to Mutex and Monitor so that if _safepoint_check_never will pass true and that parameter is no longer needed in the callers.  With a bigger change to mutexLocker.cpp, I can reorder the parameters so that there's a three argument constructor and allow_vm_block is the last parameter, so can be dependent on the safepoint_check_required one, rather than having default parameters. I don't want to do it here because changing all the lines in mutexLocker.cpp is a bigger change.

   Mutex(int rank, const char *name,
       SafepointCheckRequired safepoint_check_required, bool allow_vm_block);
   Mutex(int rank, const char *name, SafepointCheckRequired safepoint_check_required) :
       Mutex(rank, name, safepoint_check_required, safepoint_check_required == _safepoint_check_never ? true : false) {}

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

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


More information about the hotspot-dev mailing list