Print this page


Split Split Close
Expand all
Collapse all
          --- old/src/share/vm/gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp
          +++ new/src/share/vm/gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp
↓ open down ↓ 50 lines elided ↑ open up ↑
  51   51  class MarkRefsIntoClosure: public OopsInGenClosure {
  52   52   private:
  53   53    const MemRegion _span;
  54   54    CMSBitMap*      _bitMap;
  55   55   protected:
  56   56    DO_OOP_WORK_DEFN
  57   57   public:
  58   58    MarkRefsIntoClosure(MemRegion span, CMSBitMap* bitMap);
  59   59    virtual void do_oop(oop* p);
  60   60    virtual void do_oop(narrowOop* p);
  61      -  inline void do_oop_nv(oop* p)       { MarkRefsIntoClosure::do_oop_work(p); }
  62      -  inline void do_oop_nv(narrowOop* p) { MarkRefsIntoClosure::do_oop_work(p); }
       61 +
       62 +  Prefetch::style prefetch_style() {
       63 +    return Prefetch::do_read;
       64 +  }
       65 +};
       66 +
       67 +class Par_MarkRefsIntoClosure: public OopsInGenClosure {
       68 + private:
       69 +  const MemRegion _span;
       70 +  CMSBitMap*      _bitMap;
       71 + protected:
       72 +  DO_OOP_WORK_DEFN
       73 + public:
       74 +  Par_MarkRefsIntoClosure(MemRegion span, CMSBitMap* bitMap);
       75 +  virtual void do_oop(oop* p);
       76 +  virtual void do_oop(narrowOop* p);
  63   77    bool do_header() { return true; }
  64   78    Prefetch::style prefetch_style() {
  65   79      return Prefetch::do_read;
  66   80    }
  67   81  };
  68   82  
  69   83  // A variant of the above used in certain kinds of CMS
  70   84  // marking verification.
  71   85  class MarkRefsIntoVerifyClosure: public OopsInGenClosure {
  72   86   private:
↓ open down ↓ 364 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX