8264624: change the guarantee() calls added by JDK-8264123 to assert() calls
Reviewed-by: pchilanomate, coleenp
This commit is contained in:
parent
0c0ff7fb0c
commit
591b0c3a46
@ -280,7 +280,7 @@ class ScanHazardPtrGatherProtectedThreadsClosure : public ThreadClosure {
|
|||||||
if (thread->cmpxchg_threads_hazard_ptr(NULL, current_list) == current_list) return;
|
if (thread->cmpxchg_threads_hazard_ptr(NULL, current_list) == current_list) return;
|
||||||
}
|
}
|
||||||
|
|
||||||
guarantee(ThreadsList::is_valid(current_list), "current_list="
|
assert(ThreadsList::is_valid(current_list), "current_list="
|
||||||
INTPTR_FORMAT " is not valid!", p2i(current_list));
|
INTPTR_FORMAT " is not valid!", p2i(current_list));
|
||||||
|
|
||||||
// The current JavaThread has a hazard ptr (ThreadsList reference)
|
// The current JavaThread has a hazard ptr (ThreadsList reference)
|
||||||
@ -311,13 +311,15 @@ class ScanHazardPtrGatherThreadsListClosure : public ThreadClosure {
|
|||||||
if (thread == NULL) return;
|
if (thread == NULL) return;
|
||||||
ThreadsList *hazard_ptr = thread->get_threads_hazard_ptr();
|
ThreadsList *hazard_ptr = thread->get_threads_hazard_ptr();
|
||||||
if (hazard_ptr == NULL) return;
|
if (hazard_ptr == NULL) return;
|
||||||
|
#ifdef ASSERT
|
||||||
if (!Thread::is_hazard_ptr_tagged(hazard_ptr)) {
|
if (!Thread::is_hazard_ptr_tagged(hazard_ptr)) {
|
||||||
// We only validate hazard_ptrs that are not tagged since a tagged
|
// We only validate hazard_ptrs that are not tagged since a tagged
|
||||||
// hazard ptr can be deleted at any time.
|
// hazard ptr can be deleted at any time.
|
||||||
guarantee(ThreadsList::is_valid(hazard_ptr), "hazard_ptr=" INTPTR_FORMAT
|
assert(ThreadsList::is_valid(hazard_ptr), "hazard_ptr=" INTPTR_FORMAT
|
||||||
" for thread=" INTPTR_FORMAT " is not valid!", p2i(hazard_ptr),
|
" for thread=" INTPTR_FORMAT " is not valid!", p2i(hazard_ptr),
|
||||||
p2i(thread));
|
p2i(thread));
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
// In this closure we always ignore the tag that might mark this
|
// In this closure we always ignore the tag that might mark this
|
||||||
// hazard ptr as not yet verified. If we happen to catch an
|
// hazard ptr as not yet verified. If we happen to catch an
|
||||||
// unverified hazard ptr that is subsequently discarded (not
|
// unverified hazard ptr that is subsequently discarded (not
|
||||||
@ -380,7 +382,7 @@ class ValidateHazardPtrsClosure : public ThreadClosure {
|
|||||||
// If the hazard ptr is unverified, then ignore it since it could
|
// If the hazard ptr is unverified, then ignore it since it could
|
||||||
// be deleted at any time now.
|
// be deleted at any time now.
|
||||||
if (Thread::is_hazard_ptr_tagged(hazard_ptr)) return;
|
if (Thread::is_hazard_ptr_tagged(hazard_ptr)) return;
|
||||||
guarantee(ThreadsList::is_valid(hazard_ptr), "hazard_ptr=" INTPTR_FORMAT
|
assert(ThreadsList::is_valid(hazard_ptr), "hazard_ptr=" INTPTR_FORMAT
|
||||||
" for thread=" INTPTR_FORMAT " is not valid!", p2i(hazard_ptr),
|
" for thread=" INTPTR_FORMAT " is not valid!", p2i(hazard_ptr),
|
||||||
p2i(thread));
|
p2i(thread));
|
||||||
}
|
}
|
||||||
@ -557,7 +559,7 @@ void SafeThreadsListPtr::release_stable_list() {
|
|||||||
// An exiting thread might be waiting in smr_delete(); we need to
|
// An exiting thread might be waiting in smr_delete(); we need to
|
||||||
// check with delete_lock to be sure.
|
// check with delete_lock to be sure.
|
||||||
ThreadsSMRSupport::release_stable_list_wake_up(_has_ref_count);
|
ThreadsSMRSupport::release_stable_list_wake_up(_has_ref_count);
|
||||||
guarantee(_previous == NULL || ThreadsList::is_valid(_previous->_list),
|
assert(_previous == NULL || ThreadsList::is_valid(_previous->_list),
|
||||||
"_previous->_list=" INTPTR_FORMAT
|
"_previous->_list=" INTPTR_FORMAT
|
||||||
" is not valid after calling release_stable_list_wake_up!",
|
" is not valid after calling release_stable_list_wake_up!",
|
||||||
p2i(_previous->_list));
|
p2i(_previous->_list));
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2017, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -206,7 +206,9 @@ public:
|
|||||||
JavaThread* find_JavaThread_from_java_tid(jlong java_tid) const;
|
JavaThread* find_JavaThread_from_java_tid(jlong java_tid) const;
|
||||||
bool includes(const JavaThread * const p) const;
|
bool includes(const JavaThread * const p) const;
|
||||||
|
|
||||||
|
#ifdef ASSERT
|
||||||
static bool is_valid(ThreadsList* list) { return list->_magic == THREADS_LIST_MAGIC; }
|
static bool is_valid(ThreadsList* list) { return list->_magic == THREADS_LIST_MAGIC; }
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
// An abstract safe ptr to a ThreadsList comprising either a stable hazard ptr
|
// An abstract safe ptr to a ThreadsList comprising either a stable hazard ptr
|
||||||
|
Loading…
x
Reference in New Issue
Block a user