With the removal of CMS we now have
(1) AbstractWorkGang with exactly one derived class, WorkGang. The YieldingFlexibleWorkGang class no longer exists.
(2) AbstractGangWorker with exactly one derived class, GangWorker. The YieldingFlexibleGangWorker class no longer exists.
Collapse these, probably allowing some virtual functions to be made non-virtual.
Note that ShenandoahWorkGang derives from WorkGang, which might limit scope of simplification in that hierarchy. JDK-8230411 might also limit simplification.
(1) AbstractWorkGang with exactly one derived class, WorkGang. The YieldingFlexibleWorkGang class no longer exists.
(2) AbstractGangWorker with exactly one derived class, GangWorker. The YieldingFlexibleGangWorker class no longer exists.
Collapse these, probably allowing some virtual functions to be made non-virtual.
Note that ShenandoahWorkGang derives from WorkGang, which might limit scope of simplification in that hierarchy. JDK-8230411 might also limit simplification.