src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp

Print this page




 497 class CMSRefProcTaskExecutor: public AbstractRefProcTaskExecutor {
 498 public:
 499 
 500   CMSRefProcTaskExecutor(CMSCollector& collector)
 501     : _collector(collector)
 502   { }
 503 
 504   // Executes a task using worker threads.
 505   virtual void execute(ProcessTask& task);
 506   virtual void execute(EnqueueTask& task);
 507 private:
 508   CMSCollector& _collector;
 509 };
 510 
 511 
 512 class CMSCollector: public CHeapObj<mtGC> {
 513   friend class VMStructs;
 514   friend class ConcurrentMarkSweepThread;
 515   friend class ConcurrentMarkSweepGeneration;
 516   friend class CompactibleFreeListSpace;


 517   friend class CMSParRemarkTask;
 518   friend class CMSConcMarkingTask;
 519   friend class CMSRefProcTaskProxy;
 520   friend class CMSRefProcTaskExecutor;
 521   friend class ScanMarkedObjectsAgainCarefullyClosure;  // for sampling eden
 522   friend class SurvivorSpacePrecleanClosure;            // --- ditto -------
 523   friend class PushOrMarkClosure;             // to access _restart_addr
 524   friend class Par_PushOrMarkClosure;             // to access _restart_addr
 525   friend class MarkFromRootsClosure;          //  -- ditto --
 526                                               // ... and for clearing cards
 527   friend class Par_MarkFromRootsClosure;      //  to access _restart_addr
 528                                               // ... and for clearing cards
 529   friend class Par_ConcMarkingClosure;        //  to access _restart_addr etc.
 530   friend class MarkFromRootsVerifyClosure;    // to access _restart_addr
 531   friend class PushAndMarkVerifyClosure;      //  -- ditto --
 532   friend class MarkRefsIntoAndScanClosure;    // to access _overflow_list
 533   friend class PushAndMarkClosure;            //  -- ditto --
 534   friend class Par_PushAndMarkClosure;        //  -- ditto --
 535   friend class CMSKeepAliveClosure;           //  -- ditto --
 536   friend class CMSDrainMarkingStackClosure;   //  -- ditto --




 497 class CMSRefProcTaskExecutor: public AbstractRefProcTaskExecutor {
 498 public:
 499 
 500   CMSRefProcTaskExecutor(CMSCollector& collector)
 501     : _collector(collector)
 502   { }
 503 
 504   // Executes a task using worker threads.
 505   virtual void execute(ProcessTask& task);
 506   virtual void execute(EnqueueTask& task);
 507 private:
 508   CMSCollector& _collector;
 509 };
 510 
 511 
 512 class CMSCollector: public CHeapObj<mtGC> {
 513   friend class VMStructs;
 514   friend class ConcurrentMarkSweepThread;
 515   friend class ConcurrentMarkSweepGeneration;
 516   friend class CompactibleFreeListSpace;
 517   friend class CMSParMarkTask;
 518   friend class CMSParInitialMarkTask;
 519   friend class CMSParRemarkTask;
 520   friend class CMSConcMarkingTask;
 521   friend class CMSRefProcTaskProxy;
 522   friend class CMSRefProcTaskExecutor;
 523   friend class ScanMarkedObjectsAgainCarefullyClosure;  // for sampling eden
 524   friend class SurvivorSpacePrecleanClosure;            // --- ditto -------
 525   friend class PushOrMarkClosure;             // to access _restart_addr
 526   friend class Par_PushOrMarkClosure;             // to access _restart_addr
 527   friend class MarkFromRootsClosure;          //  -- ditto --
 528                                               // ... and for clearing cards
 529   friend class Par_MarkFromRootsClosure;      //  to access _restart_addr
 530                                               // ... and for clearing cards
 531   friend class Par_ConcMarkingClosure;        //  to access _restart_addr etc.
 532   friend class MarkFromRootsVerifyClosure;    // to access _restart_addr
 533   friend class PushAndMarkVerifyClosure;      //  -- ditto --
 534   friend class MarkRefsIntoAndScanClosure;    // to access _overflow_list
 535   friend class PushAndMarkClosure;            //  -- ditto --
 536   friend class Par_PushAndMarkClosure;        //  -- ditto --
 537   friend class CMSKeepAliveClosure;           //  -- ditto --
 538   friend class CMSDrainMarkingStackClosure;   //  -- ditto --