Mutex::check_no_safepoint_state() doesn't check NonJavaThreads have called the Mutex without _no_safepoint_check_flag.
void Mutex::check_no_safepoint_state(Thread* thread) {
check_block_state(thread);
assert(!thread->is_active_Java_thread() || _safepoint_check_required != _safepoint_check_always,
"This lock should always have a safepoint check for Java threads: %s",
name());
}
But Mutex::check_safepoint_state() does check NonJavaThreads.
NonJavaThreads don't participate in the safepoint protocol but we should make these consistent at least.
void Mutex::check_no_safepoint_state(Thread* thread) {
check_block_state(thread);
assert(!thread->is_active_Java_thread() || _safepoint_check_required != _safepoint_check_always,
"This lock should always have a safepoint check for Java threads: %s",
name());
}
But Mutex::check_safepoint_state() does check NonJavaThreads.
NonJavaThreads don't participate in the safepoint protocol but we should make these consistent at least.
- links to
-
Review openjdk/jdk/5959