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 327: > 325: // If the lock above succeeds, try to safepoint to test the NSV > implied with this nosafepoint lock. > 326: ThreadBlockInVM tbivm(thread); > 327: thread->print_thread_state_on(tty); I moved the three tests from test_safepoint.cpp here. The third test in that file was checking the specification of _safepoint_check_always/never matched the rank, which is now obsolete. ------------- PR: https://git.openjdk.java.net/jdk/pull/5845