--- old/src/hotspot/share/gc/shared/taskqueue.hpp 2018-11-26 21:29:48.045240918 +0100 +++ new/src/hotspot/share/gc/shared/taskqueue.hpp 2018-11-26 21:29:47.892242267 +0100 @@ -448,7 +448,7 @@ #undef TRACESPINNING class ParallelTaskTerminator: public StackObj { -private: +protected: uint _n_threads; TaskQueueSetSuper* _queue_set; volatile uint _offered_termination; @@ -481,7 +481,7 @@ // As above, but it also terminates if the should_exit_termination() // method of the terminator parameter returns true. If terminator is // NULL, then it is ignored. - bool offer_termination(TerminatorTerminator* terminator); + virtual bool offer_termination(TerminatorTerminator* terminator); // Reset the terminator, so that it may be reused again. // The caller is responsible for ensuring that this is done