src/share/vm/memory/sharedHeap.cpp
Print this page
@@ -160,11 +160,11 @@
void SharedHeap::StrongRootsScope::mark_worker_done_with_threads(uint n_workers) {
#if INCLUDE_ALL_GCS
// The Thread work barrier is only needed by G1 Class Unloading.
// No need to use the barrier if this is single-threaded code.
- if (UseG1GC && G1ClassUnloadingEnabled && n_workers > 0) {
+ if (UseG1GC && ClassUnloadingWithConcurrentMark && n_workers > 0) {
uint new_value = (uint)Atomic::add(1, &_n_workers_done_with_threads);
if (new_value == n_workers) {
// This thread is last. Notify the others.
MonitorLockerEx ml(_lock, Mutex::_no_safepoint_check_flag);
_lock->notify_all();
@@ -174,11 +174,11 @@
}
void SharedHeap::StrongRootsScope::wait_until_all_workers_done_with_threads(uint n_workers) {
#if INCLUDE_ALL_GCS
assert(UseG1GC, "Currently only used by G1");
- assert(G1ClassUnloadingEnabled, "Currently only needed when doing G1 Class Unloading");
+ assert(ClassUnloadingWithConcurrentMark, "Currently only needed when doing G1 Class Unloading");
// No need to use the barrier if this is single-threaded code.
if (n_workers > 0 && (uint)_n_workers_done_with_threads != n_workers) {
MonitorLockerEx ml(_lock, Mutex::_no_safepoint_check_flag);
while ((uint)_n_workers_done_with_threads != n_workers) {