src/share/vm/gc_implementation/shared/markSweep.hpp

Print this page
rev 6799 : [mq]: latestChanges


 165 
 166   static void preserve_mark(oop p, markOop mark);
 167                                 // Save the mark word so it can be restored later
 168   static void adjust_marks();   // Adjust the pointers in the preserved marks table
 169   static void restore_marks();  // Restore the marks that we saved in preserve_mark
 170 
 171   template <class T> static inline void adjust_pointer(T* p);
 172 };
 173 
 174 class PreservedMark VALUE_OBJ_CLASS_SPEC {
 175 private:
 176   oop _obj;
 177   markOop _mark;
 178 
 179 public:
 180   void init(oop obj, markOop mark) {
 181     _obj = obj;
 182     _mark = mark;
 183   }
 184 
 185   void adjust_pointer() {
 186     MarkSweep::adjust_pointer(&_obj);
 187   }
 188 
 189   void restore() {
 190     _obj->set_mark(_mark);
 191   }
 192 };
 193 
 194 #endif // SHARE_VM_GC_IMPLEMENTATION_SHARED_MARKSWEEP_HPP


 165 
 166   static void preserve_mark(oop p, markOop mark);
 167                                 // Save the mark word so it can be restored later
 168   static void adjust_marks();   // Adjust the pointers in the preserved marks table
 169   static void restore_marks();  // Restore the marks that we saved in preserve_mark
 170 
 171   template <class T> static inline void adjust_pointer(T* p);
 172 };
 173 
 174 class PreservedMark VALUE_OBJ_CLASS_SPEC {
 175 private:
 176   oop _obj;
 177   markOop _mark;
 178 
 179 public:
 180   void init(oop obj, markOop mark) {
 181     _obj = obj;
 182     _mark = mark;
 183   }
 184 
 185   inline void adjust_pointer();


 186 
 187   void restore() {
 188     _obj->set_mark(_mark);
 189   }
 190 };
 191 
 192 #endif // SHARE_VM_GC_IMPLEMENTATION_SHARED_MARKSWEEP_HPP