src/hotspot/share/gc/z/zOopClosures.hpp
changeset 50752 9d62da00bf15
parent 50525 767cdb97f103
child 50871 d283a214f42b
equal deleted inserted replaced
50751:d9132bdf6c30 50752:9d62da00bf15
    24 #ifndef SHARE_GC_Z_ZOOPCLOSURES_HPP
    24 #ifndef SHARE_GC_Z_ZOOPCLOSURES_HPP
    25 #define SHARE_GC_Z_ZOOPCLOSURES_HPP
    25 #define SHARE_GC_Z_ZOOPCLOSURES_HPP
    26 
    26 
    27 #include "memory/iterator.hpp"
    27 #include "memory/iterator.hpp"
    28 
    28 
    29 class ZLoadBarrierOopClosure : public ExtendedOopClosure {
    29 class ZLoadBarrierOopClosure : public BasicOopIterateClosure {
    30 public:
    30 public:
    31   void do_oop_nv(oop* p);
       
    32   void do_oop_nv(narrowOop* p);
       
    33 
       
    34   virtual void do_oop(oop* p);
    31   virtual void do_oop(oop* p);
    35   virtual void do_oop(narrowOop* p);
    32   virtual void do_oop(narrowOop* p);
    36 
    33 
    37 #ifdef ASSERT
    34 #ifdef ASSERT
    38   virtual bool should_verify_oops() {
    35   virtual bool should_verify_oops() {
    52   virtual void do_oop(oop* p);
    49   virtual void do_oop(oop* p);
    53   virtual void do_oop(narrowOop* p);
    50   virtual void do_oop(narrowOop* p);
    54 };
    51 };
    55 
    52 
    56 template <bool finalizable>
    53 template <bool finalizable>
    57 class ZMarkBarrierOopClosure : public ExtendedOopClosure {
    54 class ZMarkBarrierOopClosure : public BasicOopIterateClosure {
    58 public:
    55 public:
    59   ZMarkBarrierOopClosure();
    56   ZMarkBarrierOopClosure();
    60 
       
    61   void do_oop_nv(oop* p);
       
    62   void do_oop_nv(narrowOop* p);
       
    63 
    57 
    64   virtual void do_oop(oop* p);
    58   virtual void do_oop(oop* p);
    65   virtual void do_oop(narrowOop* p);
    59   virtual void do_oop(narrowOop* p);
    66 
    60 
    67 #ifdef ASSERT
    61 #ifdef ASSERT
    86 public:
    80 public:
    87   virtual void do_oop(oop* p);
    81   virtual void do_oop(oop* p);
    88   virtual void do_oop(narrowOop* p);
    82   virtual void do_oop(narrowOop* p);
    89 };
    83 };
    90 
    84 
    91 class ZVerifyHeapOopClosure : public ExtendedOopClosure {
    85 class ZVerifyHeapOopClosure : public BasicOopIterateClosure {
    92 private:
    86 private:
    93   const oop _base;
    87   const oop _base;
    94 
    88 
    95 public:
    89 public:
    96   ZVerifyHeapOopClosure(oop base);
    90   ZVerifyHeapOopClosure(oop base);