RFR: 8080879: Remove AbstractGangTask::set_for_termination
per.liden at oracle.com
Mon May 25 08:40:56 UTC 2015
On 2015-05-22 16:19, Stefan Karlsson wrote:
> 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.
Looks good. Just one thing, could we move the reset() call out of
ParScanThreadStateSet::ParScanThreadStateSet() and call it explicitly,
when ParNewGenTask is used? I.e. similar to how it's done when
ParNewRefProcTaskProxy is used.
More information about the hotspot-gc-dev