8155966: Assertion failures when -XX:+UseParallelGC -XX:ParallelGCThreads=1
Reviewed-by: drwhite, kbarrett
--- a/hotspot/src/share/vm/gc/parallel/psParallelCompact.cpp Tue May 03 13:30:40 2016 -0700
+++ b/hotspot/src/share/vm/gc/parallel/psParallelCompact.cpp Tue May 03 16:19:42 2016 -0700
@@ -1929,7 +1929,7 @@
ParCompactionManager* const cm =
ParCompactionManager::manager_array(int(i));
assert(cm->marking_stack()->is_empty(), "should be empty");
- assert(cm->region_stack()->is_empty(), "should be empty");
+ assert(cm->region_stack()->is_empty(), "Region stack " SIZE_FORMAT " is not empty", i);
}
#endif // ASSERT
@@ -2370,10 +2370,8 @@
// Once a thread has drained it's stack, it should try to steal regions from
// other threads.
- if (parallel_gc_threads > 1) {
- for (uint j = 0; j < parallel_gc_threads; j++) {
- q->enqueue(new StealRegionCompactionTask(terminator_ptr));
- }
+ for (uint j = 0; j < parallel_gc_threads; j++) {
+ q->enqueue(new StealRegionCompactionTask(terminator_ptr));
}
}