src/hotspot/share/gc/z/zOopClosures.hpp
changeset 52382 2e280ecec246
parent 51803 a16777c0a6c5
child 52939 9a8585f60c32
equal deleted inserted replaced
52381:7f90bc64b0fc 52382:2e280ecec246
    69 public:
    69 public:
    70   virtual void do_oop(oop* p);
    70   virtual void do_oop(oop* p);
    71   virtual void do_oop(narrowOop* p);
    71   virtual void do_oop(narrowOop* p);
    72 };
    72 };
    73 
    73 
    74 class ZVerifyHeapOopClosure : public BasicOopIterateClosure {
    74 class ZVerifyOopClosure : public ZRootsIteratorClosure, public BasicOopIterateClosure {
    75 public:
    75 public:
    76   virtual ReferenceIterationMode reference_iteration_mode();
       
    77 
       
    78   virtual void do_oop(oop* p);
    76   virtual void do_oop(oop* p);
    79   virtual void do_oop(narrowOop* p);
    77   virtual void do_oop(narrowOop* p);
    80 
    78 
       
    79   virtual ReferenceIterationMode reference_iteration_mode() {
       
    80     return DO_FIELDS;
       
    81   }
       
    82 
    81 #ifdef ASSERT
    83 #ifdef ASSERT
    82   // Verification handled by the closure itself.
    84   // Verification handled by the closure itself
    83   virtual bool should_verify_oops() {
    85   virtual bool should_verify_oops() {
    84     return false;
    86     return false;
    85   }
    87   }
    86 #endif
    88 #endif
    87 };
       
    88 
       
    89 class ZVerifyRootOopClosure : public ZRootsIteratorClosure {
       
    90 public:
       
    91   ZVerifyRootOopClosure();
       
    92 
       
    93   virtual void do_oop(oop* p);
       
    94   virtual void do_oop(narrowOop* p);
       
    95 };
    89 };
    96 
    90 
    97 class ZVerifyObjectClosure : public ObjectClosure {
    91 class ZVerifyObjectClosure : public ObjectClosure {
    98 public:
    92 public:
    99   virtual void do_object(oop o);
    93   virtual void do_object(oop o);