| Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build | 
|---|---|---|---|---|---|---|
| JDK-8142657 | emb-9 | Bengt Rutisson | P3 | Resolved | Fixed | team | 
                    The WaitForBarrierGCTask is used for two purposes. In GCTaskManager::execute_and_wait() it is used add a task to the end of the queue of tasks and then wait for that task to complete. This is a way to block until all tasks in the queue have been handled.
In IdleGCTask::do_it() the WaitForBarrierGCTask is not used as a GCTask at all. It is merely used as a wrapper for a monitor. All IdleTasks should share the same monitor to be able to be notified when it is time to wake up.
This second use case inside IdleGCTask is better handled by a class that is not a subclass of GCTask.
In IdleGCTask::do_it() the WaitForBarrierGCTask is not used as a GCTask at all. It is merely used as a wrapper for a monitor. All IdleTasks should share the same monitor to be able to be notified when it is time to wake up.
This second use case inside IdleGCTask is better handled by a class that is not a subclass of GCTask.
- backported by
- 
                    JDK-8142657 Refactor WaitForBarrierGCTask -           
- Resolved
 
-         
- relates to
- 
                    JDK-8138707 TestPromotionEventWithParallelScavenge.java crashes using undefined GC id. -           
- Resolved
 
-