hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp
changeset 3908 24b55ad4c228
parent 1605 6b43d186eb8d
child 3912 3aaaaad1ccb0
equal deleted inserted replaced
3906:6767b0c66883 3908:24b55ad4c228
    51  protected:
    51  protected:
    52   DO_OOP_WORK_DEFN
    52   DO_OOP_WORK_DEFN
    53  public:
    53  public:
    54   MarkRefsIntoClosure(MemRegion span, CMSBitMap* bitMap,
    54   MarkRefsIntoClosure(MemRegion span, CMSBitMap* bitMap,
    55                       bool should_do_nmethods);
    55                       bool should_do_nmethods);
       
    56   bool should_do_nmethods() { return _should_do_nmethods; }
    56   virtual void do_oop(oop* p);
    57   virtual void do_oop(oop* p);
    57   virtual void do_oop(narrowOop* p);
    58   virtual void do_oop(narrowOop* p);
    58   inline void do_oop_nv(oop* p)       { MarkRefsIntoClosure::do_oop_work(p); }
    59   inline void do_oop_nv(oop* p)       { MarkRefsIntoClosure::do_oop_work(p); }
    59   inline void do_oop_nv(narrowOop* p) { MarkRefsIntoClosure::do_oop_work(p); }
    60   inline void do_oop_nv(narrowOop* p) { MarkRefsIntoClosure::do_oop_work(p); }
    60   bool do_header() { return true; }
    61   bool do_header() { return true; }
    61   virtual const bool do_nmethods() const {
       
    62     return _should_do_nmethods;
       
    63   }
       
    64   Prefetch::style prefetch_style() {
    62   Prefetch::style prefetch_style() {
    65     return Prefetch::do_read;
    63     return Prefetch::do_read;
    66   }
    64   }
    67 };
    65 };
    68 
    66 
    77  protected:
    75  protected:
    78   DO_OOP_WORK_DEFN
    76   DO_OOP_WORK_DEFN
    79  public:
    77  public:
    80   MarkRefsIntoVerifyClosure(MemRegion span, CMSBitMap* verification_bm,
    78   MarkRefsIntoVerifyClosure(MemRegion span, CMSBitMap* verification_bm,
    81                             CMSBitMap* cms_bm, bool should_do_nmethods);
    79                             CMSBitMap* cms_bm, bool should_do_nmethods);
       
    80   bool should_do_nmethods() { return _should_do_nmethods; }
    82   virtual void do_oop(oop* p);
    81   virtual void do_oop(oop* p);
    83   virtual void do_oop(narrowOop* p);
    82   virtual void do_oop(narrowOop* p);
    84   inline void do_oop_nv(oop* p)       { MarkRefsIntoVerifyClosure::do_oop_work(p); }
    83   inline void do_oop_nv(oop* p)       { MarkRefsIntoVerifyClosure::do_oop_work(p); }
    85   inline void do_oop_nv(narrowOop* p) { MarkRefsIntoVerifyClosure::do_oop_work(p); }
    84   inline void do_oop_nv(narrowOop* p) { MarkRefsIntoVerifyClosure::do_oop_work(p); }
    86   bool do_header() { return true; }
    85   bool do_header() { return true; }
    87   virtual const bool do_nmethods() const {
       
    88     return _should_do_nmethods;
       
    89   }
       
    90   Prefetch::style prefetch_style() {
    86   Prefetch::style prefetch_style() {
    91     return Prefetch::do_read;
    87     return Prefetch::do_read;
    92   }
    88   }
    93 };
    89 };
    94 
    90 
   192   virtual void do_oop(oop* p);
   188   virtual void do_oop(oop* p);
   193   virtual void do_oop(narrowOop* p);
   189   virtual void do_oop(narrowOop* p);
   194   inline void do_oop_nv(oop* p)       { MarkRefsIntoAndScanClosure::do_oop_work(p); }
   190   inline void do_oop_nv(oop* p)       { MarkRefsIntoAndScanClosure::do_oop_work(p); }
   195   inline void do_oop_nv(narrowOop* p) { MarkRefsIntoAndScanClosure::do_oop_work(p); }
   191   inline void do_oop_nv(narrowOop* p) { MarkRefsIntoAndScanClosure::do_oop_work(p); }
   196   bool do_header() { return true; }
   192   bool do_header() { return true; }
   197   virtual const bool do_nmethods() const { return true; }
       
   198   Prefetch::style prefetch_style() {
   193   Prefetch::style prefetch_style() {
   199     return Prefetch::do_read;
   194     return Prefetch::do_read;
   200   }
   195   }
   201   void set_freelistLock(Mutex* m) {
   196   void set_freelistLock(Mutex* m) {
   202     _freelistLock = m;
   197     _freelistLock = m;