< prev index next >

src/share/vm/gc/shared/collectedHeap.hpp

Print this page
rev 13053 : 8180932: Parallelize safepoint cleanup
Summary: Provide infrastructure to do safepoint cleanup tasks using parallel worker threads
Reviewed-by: dholmes, rehn

*** 46,55 **** --- 46,56 ---- class GCTracer; class MetaspaceSummary; class Thread; class ThreadClosure; class VirtualSpaceSummary; + class WorkGang; class nmethod; class GCMessage : public FormatBuffer<1024> { public: bool is_before;
*** 602,611 **** --- 603,622 ---- // // Returns true when the phase is reached. Returns false for an // unknown phase. The default implementation returns false. virtual bool request_concurrent_phase(const char* phase); + // Provides a thread pool to SafepointSynchronize to use + // for parallel safepoint cleanup. + // GCs that use a GC worker thread pool may want to share + // it for use during safepoint cleanup. This is only possible + // if the GC can pause and resume concurrent work (e.g. G1 + // concurrent marking) for an intermittent non-GC safepoint. + // If this method returns NULL, SafepointSynchronize will + // perform cleanup tasks serially in the VMThread. + virtual WorkGang* get_safepoint_workers() { return NULL; } + // Non product verification and debugging. #ifndef PRODUCT // Support for PromotionFailureALot. Return true if it's time to cause a // promotion failure. The no-argument version uses // this->_promotion_failure_alot_count as the counter.
< prev index next >