8233113: ARM32: assert on UnsafeJlong mutex rank check
Reviewed-by: coleenp, dholmes
This commit is contained in:
parent
8534e920b1
commit
22bcd1677c
@ -288,8 +288,6 @@ Mutex::Mutex(int Rank, const char * name, bool allow_vm_block,
|
|||||||
assert(_safepoint_check_required != _safepoint_check_sometimes || is_sometimes_ok(name),
|
assert(_safepoint_check_required != _safepoint_check_sometimes || is_sometimes_ok(name),
|
||||||
"Lock has _safepoint_check_sometimes %s", name);
|
"Lock has _safepoint_check_sometimes %s", name);
|
||||||
|
|
||||||
assert(_rank > special || _allow_vm_block,
|
|
||||||
"Special locks or below should allow the vm to block");
|
|
||||||
assert(_rank > special || _safepoint_check_required == _safepoint_check_never,
|
assert(_rank > special || _safepoint_check_required == _safepoint_check_never,
|
||||||
"Special locks or below should never safepoint");
|
"Special locks or below should never safepoint");
|
||||||
#endif
|
#endif
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
* @bug 8184732
|
* @bug 8184732
|
||||||
* @summary Ensure that special locks never safepoint check and are vm_block.
|
* @summary Ensure that special locks never safepoint check.
|
||||||
* @library /test/lib
|
* @library /test/lib
|
||||||
* @modules java.base/jdk.internal.misc
|
* @modules java.base/jdk.internal.misc
|
||||||
* java.management
|
* java.management
|
||||||
@ -57,22 +57,18 @@ public class NoSafepointVerifier {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static String test1 = "Special locks or below should never safepoint";
|
static String test1 = "Special locks or below should never safepoint";
|
||||||
static String test2 = "Special locks or below should allow the vm to block";
|
static String test2 = "Possible safepoint reached by thread that does not allow it";
|
||||||
static String test3 = "Possible safepoint reached by thread that does not allow it";
|
|
||||||
|
|
||||||
public static void main(String args[]) throws Exception {
|
public static void main(String args[]) throws Exception {
|
||||||
if (args.length > 0) {
|
if (args.length > 0) {
|
||||||
if (args[0].equals(test1)) {
|
if (args[0].equals(test1)) {
|
||||||
WhiteBox.getWhiteBox().assertSpecialLock(/*vm_block*/true, /*safepoint_check_always*/true);
|
WhiteBox.getWhiteBox().assertSpecialLock(/*vm_block*/true, /*safepoint_check_always*/true);
|
||||||
} else if (args[0].equals(test2)) {
|
} else if (args[0].equals(test2)) {
|
||||||
WhiteBox.getWhiteBox().assertSpecialLock(/*vm_block*/false, /*safepoint_check_always*/false);
|
|
||||||
} else if (args[0].equals(test3)) {
|
|
||||||
WhiteBox.getWhiteBox().assertSpecialLock(/*vm_block*/true, /*safepoint_check_always*/false);
|
WhiteBox.getWhiteBox().assertSpecialLock(/*vm_block*/true, /*safepoint_check_always*/false);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
runTest(test1);
|
runTest(test1);
|
||||||
runTest(test2);
|
runTest(test2);
|
||||||
runTest(test3);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user