8077710: BACKOUT - java hangs with -XX:ParallelGCThreads=0 -XX:+ExplicitGCInvokesConcurrent options
authorsangheki
Tue, 14 Apr 2015 09:44:06 -0700
changeset 30178 33317ec95df7
parent 30177 925cd0b4f0e7
child 30181 c1be7675a9a8
8077710: BACKOUT - java hangs with -XX:ParallelGCThreads=0 -XX:+ExplicitGCInvokesConcurrent options Summary: Removed unnecessary guards. Reviewed-by: stefank, jwilhelm
hotspot/src/share/vm/gc_implementation/g1/g1RootProcessor.cpp
--- a/hotspot/src/share/vm/gc_implementation/g1/g1RootProcessor.cpp	Tue Apr 14 11:24:03 2015 +0200
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1RootProcessor.cpp	Tue Apr 14 09:44:06 2015 -0700
@@ -93,13 +93,11 @@
   uint n_workers = _g1h->n_par_threads();
   assert(ClassUnloadingWithConcurrentMark, "Currently only needed when doing G1 Class Unloading");
 
-  if (n_workers > 0) {
-    uint new_value = (uint)Atomic::add(1, &_n_workers_discovered_strong_classes);
-    if (new_value == n_workers) {
-      // This thread is last. Notify the others.
-      MonitorLockerEx ml(&_lock, Mutex::_no_safepoint_check_flag);
-      _lock.notify_all();
-    }
+  uint new_value = (uint)Atomic::add(1, &_n_workers_discovered_strong_classes);
+  if (new_value == n_workers) {
+    // This thread is last. Notify the others.
+    MonitorLockerEx ml(&_lock, Mutex::_no_safepoint_check_flag);
+    _lock.notify_all();
   }
 }
 
@@ -107,7 +105,7 @@
   uint n_workers = _g1h->n_par_threads();
   assert(ClassUnloadingWithConcurrentMark, "Currently only needed when doing G1 Class Unloading");
 
-  if (n_workers > 0 && (uint)_n_workers_discovered_strong_classes != n_workers) {
+  if ((uint)_n_workers_discovered_strong_classes != n_workers) {
     MonitorLockerEx ml(&_lock, Mutex::_no_safepoint_check_flag);
     while ((uint)_n_workers_discovered_strong_classes != n_workers) {
       _lock.wait(Mutex::_no_safepoint_check_flag, 0, false);