< prev index next >

src/share/vm/gc_implementation/parNew/parNewGeneration.hpp

Print this page
rev 8068 : 6407976: GC worker number should be unsigned
Reviewed-by: jwilhelm


 233 
 234 class ParNewGenTask: public AbstractGangTask {
 235  private:
 236   ParNewGeneration*            _gen;
 237   Generation*                  _old_gen;
 238   HeapWord*                    _young_old_boundary;
 239   class ParScanThreadStateSet* _state_set;
 240 
 241 public:
 242   ParNewGenTask(ParNewGeneration*      gen,
 243                 Generation*            old_gen,
 244                 HeapWord*              young_old_boundary,
 245                 ParScanThreadStateSet* state_set);
 246 
 247   HeapWord* young_old_boundary() { return _young_old_boundary; }
 248 
 249   void work(uint worker_id);
 250 
 251   // Reset the terminator in ParScanThreadStateSet for
 252   // "active_workers" threads.
 253   virtual void set_for_termination(int active_workers);
 254 };
 255 
 256 class KeepAliveClosure: public DefNewGeneration::KeepAliveClosure {
 257  protected:
 258   template <class T> void do_oop_work(T* p);
 259  public:
 260   KeepAliveClosure(ScanWeakRefClosure* cl);
 261   virtual void do_oop(oop* p);
 262   virtual void do_oop(narrowOop* p);
 263 };
 264 
 265 class EvacuateFollowersClosureGeneral: public VoidClosure {
 266  private:
 267   GenCollectedHeap* _gch;
 268   int               _level;
 269   OopsInGenClosure* _scan_cur_or_nonheap;
 270   OopsInGenClosure* _scan_older;
 271  public:
 272   EvacuateFollowersClosureGeneral(GenCollectedHeap* gch, int level,
 273                                   OopsInGenClosure* cur,




 233 
 234 class ParNewGenTask: public AbstractGangTask {
 235  private:
 236   ParNewGeneration*            _gen;
 237   Generation*                  _old_gen;
 238   HeapWord*                    _young_old_boundary;
 239   class ParScanThreadStateSet* _state_set;
 240 
 241 public:
 242   ParNewGenTask(ParNewGeneration*      gen,
 243                 Generation*            old_gen,
 244                 HeapWord*              young_old_boundary,
 245                 ParScanThreadStateSet* state_set);
 246 
 247   HeapWord* young_old_boundary() { return _young_old_boundary; }
 248 
 249   void work(uint worker_id);
 250 
 251   // Reset the terminator in ParScanThreadStateSet for
 252   // "active_workers" threads.
 253   virtual void set_for_termination(uint active_workers);
 254 };
 255 
 256 class KeepAliveClosure: public DefNewGeneration::KeepAliveClosure {
 257  protected:
 258   template <class T> void do_oop_work(T* p);
 259  public:
 260   KeepAliveClosure(ScanWeakRefClosure* cl);
 261   virtual void do_oop(oop* p);
 262   virtual void do_oop(narrowOop* p);
 263 };
 264 
 265 class EvacuateFollowersClosureGeneral: public VoidClosure {
 266  private:
 267   GenCollectedHeap* _gch;
 268   int               _level;
 269   OopsInGenClosure* _scan_cur_or_nonheap;
 270   OopsInGenClosure* _scan_older;
 271  public:
 272   EvacuateFollowersClosureGeneral(GenCollectedHeap* gch, int level,
 273                                   OopsInGenClosure* cur,


< prev index next >