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
-