< prev index next >

src/hotspot/share/gc/z/zHeapIterator.cpp

Print this page
rev 50534 : [mq]: rename_RootAccess


  46     }
  47 
  48     _map.set_bit(index);
  49     return true;
  50   }
  51 };
  52 
  53 class ZHeapIteratorRootOopClosure : public OopClosure {
  54 private:
  55   ZHeapIterator* const _iter;
  56   ObjectClosure* const _cl;
  57 
  58 public:
  59   ZHeapIteratorRootOopClosure(ZHeapIterator* iter, ObjectClosure* cl) :
  60       _iter(iter),
  61       _cl(cl) {}
  62 
  63   virtual void do_oop(oop* p) {
  64     // Load barrier needed here for the same reason we
  65     // need fixup_partial_loads() in ZHeap::mark_end()
  66     const oop obj = RootAccess<>::oop_load(p);
  67     _iter->push(obj);
  68     _iter->drain(_cl);
  69   }
  70 
  71   virtual void do_oop(narrowOop* p) {
  72     ShouldNotReachHere();
  73   }
  74 };
  75 
  76 class ZHeapIteratorPushOopClosure : public ExtendedOopClosure {
  77 private:
  78   ZHeapIterator* const _iter;
  79   const oop            _base;
  80 
  81 public:
  82   ZHeapIteratorPushOopClosure(ZHeapIterator* iter, oop base) :
  83       _iter(iter),
  84       _base(base) {}
  85 
  86   void do_oop_nv(oop* p) {




  46     }
  47 
  48     _map.set_bit(index);
  49     return true;
  50   }
  51 };
  52 
  53 class ZHeapIteratorRootOopClosure : public OopClosure {
  54 private:
  55   ZHeapIterator* const _iter;
  56   ObjectClosure* const _cl;
  57 
  58 public:
  59   ZHeapIteratorRootOopClosure(ZHeapIterator* iter, ObjectClosure* cl) :
  60       _iter(iter),
  61       _cl(cl) {}
  62 
  63   virtual void do_oop(oop* p) {
  64     // Load barrier needed here for the same reason we
  65     // need fixup_partial_loads() in ZHeap::mark_end()
  66     const oop obj = NativeAccess<>::oop_load(p);
  67     _iter->push(obj);
  68     _iter->drain(_cl);
  69   }
  70 
  71   virtual void do_oop(narrowOop* p) {
  72     ShouldNotReachHere();
  73   }
  74 };
  75 
  76 class ZHeapIteratorPushOopClosure : public ExtendedOopClosure {
  77 private:
  78   ZHeapIterator* const _iter;
  79   const oop            _base;
  80 
  81 public:
  82   ZHeapIteratorPushOopClosure(ZHeapIterator* iter, oop base) :
  83       _iter(iter),
  84       _base(base) {}
  85 
  86   void do_oop_nv(oop* p) {


< prev index next >