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

Print this page




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


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




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