RFR: 8080879: Remove AbstractGangTask::set_for_termination

Stefan Karlsson stefan.karlsson at oracle.com
Fri May 22 14:19:25 UTC 2015

Hi all,

AbstractGangTask::set_for_termination(uint active_workers) is a virtual 
function that sub-classes can override to run setup code before the task 
is started. The active_workers parameter tells the task how many workers 
are going to execute the task.

Only a few tasks use this infrastructure and most tasks run the setup 
code in the constructor or before the task is constructed. There is no 
place where we construct a FlexibleGangTask task, change the number of 
active workers, and then start the task. The tasks are always started 
near the construction site. So, I propose that we get rid of 
AbstractGangTask::set_for_termination to shrink the AbstractGangTask API.

I didn't want to change how the CMS worker threads are started, so I 
moved AbstractGangTask::set_for_termination to YieldingFlexibleGangTask.



More information about the hotspot-gc-dev mailing list