< prev index next >

src/hotspot/share/gc/parallel/psParallelCompact.inline.hpp

Print this page




 117            "should be forwarded");
 118     // Just always do the update unconditionally?
 119     if (new_obj != NULL) {
 120       assert(ParallelScavengeHeap::heap()->is_in_reserved(new_obj),
 121              "should be in object space");
 122       RawAccess<IS_NOT_NULL>::oop_store(p, new_obj);
 123     }
 124   }
 125 }
 126 
 127 class PCAdjustPointerClosure: public BasicOopIterateClosure {
 128 public:
 129   PCAdjustPointerClosure(ParCompactionManager* cm) {
 130     assert(cm != NULL, "associate ParCompactionManage should not be NULL");
 131     _cm = cm;
 132   }
 133   template <typename T> void do_oop_nv(T* p) { PSParallelCompact::adjust_pointer(p, _cm); }
 134   virtual void do_oop(oop* p)                { do_oop_nv(p); }
 135   virtual void do_oop(narrowOop* p)          { do_oop_nv(p); }
 136 
 137   // This closure provides its own oop verification code.
 138   debug_only(virtual bool should_verify_oops() { return false; })
 139   virtual ReferenceIterationMode reference_iteration_mode() { return DO_FIELDS; }
 140 private:
 141   ParCompactionManager* _cm;
 142 };
 143 
 144 #endif // SHARE_GC_PARALLEL_PSPARALLELCOMPACT_INLINE_HPP


 117            "should be forwarded");
 118     // Just always do the update unconditionally?
 119     if (new_obj != NULL) {
 120       assert(ParallelScavengeHeap::heap()->is_in_reserved(new_obj),
 121              "should be in object space");
 122       RawAccess<IS_NOT_NULL>::oop_store(p, new_obj);
 123     }
 124   }
 125 }
 126 
 127 class PCAdjustPointerClosure: public BasicOopIterateClosure {
 128 public:
 129   PCAdjustPointerClosure(ParCompactionManager* cm) {
 130     assert(cm != NULL, "associate ParCompactionManage should not be NULL");
 131     _cm = cm;
 132   }
 133   template <typename T> void do_oop_nv(T* p) { PSParallelCompact::adjust_pointer(p, _cm); }
 134   virtual void do_oop(oop* p)                { do_oop_nv(p); }
 135   virtual void do_oop(narrowOop* p)          { do_oop_nv(p); }
 136 


 137   virtual ReferenceIterationMode reference_iteration_mode() { return DO_FIELDS; }
 138 private:
 139   ParCompactionManager* _cm;
 140 };
 141 
 142 #endif // SHARE_GC_PARALLEL_PSPARALLELCOMPACT_INLINE_HPP
< prev index next >