< prev index next >

src/hotspot/share/gc/g1/g1FullGCReferenceProcessorExecutor.hpp

Print this page
rev 57840 : imported patch 8215297-remove-ptt
rev 57842 : [mq]: 8238220-rename-owsttaskterminator


  44   uint                _old_mt_degree;
  45 
  46 public:
  47   G1FullGCReferenceProcessingExecutor(G1FullCollector* collector);
  48   ~G1FullGCReferenceProcessingExecutor();
  49 
  50   // Do reference processing.
  51   void execute(STWGCTimer* timer, G1FullGCTracer* tracer);
  52 
  53   // Executes the given task using concurrent marking worker threads.
  54   virtual void execute(ProcessTask& task, uint ergo_workers);
  55 
  56 private:
  57   void run_task(AbstractGangTask* task);
  58   void run_task(AbstractGangTask* task, uint workers);
  59 
  60   class G1RefProcTaskProxy : public AbstractGangTask {
  61     typedef AbstractRefProcTaskExecutor::ProcessTask ProcessTask;
  62     ProcessTask&                  _proc_task;
  63     G1FullCollector*              _collector;
  64     OWSTTaskTerminator            _terminator;
  65 
  66   public:
  67     G1RefProcTaskProxy(ProcessTask& proc_task,
  68                        G1FullCollector* scope);
  69 
  70     virtual void work(uint worker_id);
  71   };
  72 };
  73 
  74 #endif // SHARE_GC_G1_G1FULLGCREFERENCEPROCESSOREXECUTOR_HPP


  44   uint                _old_mt_degree;
  45 
  46 public:
  47   G1FullGCReferenceProcessingExecutor(G1FullCollector* collector);
  48   ~G1FullGCReferenceProcessingExecutor();
  49 
  50   // Do reference processing.
  51   void execute(STWGCTimer* timer, G1FullGCTracer* tracer);
  52 
  53   // Executes the given task using concurrent marking worker threads.
  54   virtual void execute(ProcessTask& task, uint ergo_workers);
  55 
  56 private:
  57   void run_task(AbstractGangTask* task);
  58   void run_task(AbstractGangTask* task, uint workers);
  59 
  60   class G1RefProcTaskProxy : public AbstractGangTask {
  61     typedef AbstractRefProcTaskExecutor::ProcessTask ProcessTask;
  62     ProcessTask&                  _proc_task;
  63     G1FullCollector*              _collector;
  64     TaskTerminator                _terminator;
  65 
  66   public:
  67     G1RefProcTaskProxy(ProcessTask& proc_task,
  68                        G1FullCollector* scope);
  69 
  70     virtual void work(uint worker_id);
  71   };
  72 };
  73 
  74 #endif // SHARE_GC_G1_G1FULLGCREFERENCEPROCESSOREXECUTOR_HPP
< prev index next >