On Wed, 6 Oct 2021 23:27:17 GMT, Coleen Phillimore <cole...@openjdk.org> wrote:

> Also fixes: 8273956: Add checking for rank values
> 
> This change does 3 things.  I could separate them but this has all been 
> tested together and most of the change is mechanical.  The first is a simple 
> rename of nonleaf => safepoint.  The second change is to add the enum class 
> Rank which only allows subtraction from a base rank, and some additional type 
> checking so that rank arithmetic doesn't overlap with a different rank.  Ie 
> if you say nosafepoint-n, that doesn't overlap with oopstorage.   The third 
> change is to remove the _safepoint_check_always/never flag.  That is now 
> intrinsic in the ranking, as all nosafepoint ranks are lower than all 
> safepoint ranks.
> 
> Future changes could add rank names in the middle of nosafepoint and 
> safepoint, like handshake.  As of now, the rank subtractions are not 
> unmanageable.  There are actually not many nested Mutex.
> 
> This is the last of the planned subtasks for Mutex ranking cleanup.  If you 
> have other ideas or suggestions, please let me know.
> 
> Tested with tier1-8 at one point in time and just retested with tier1-6.

test/hotspot/gtest/runtime/test_mutex.cpp line 290:

> 288:   ThreadInVMfromNative invm(THREAD);
> 289: 
> 290:   Monitor* monitor_rank_broken = new Monitor(Mutex::oopstorage-4, 
> "monitor_rank_broken");

@dholmes-ora This test checks for overlapping safepoint ranges.

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

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

Reply via email to