void do_object(oop obj) {
   if (obj->is_shared_readwrite()) {
     if (obj->mark()->is_marked()) {
       obj->init_mark();         // Don't revisit this object.
       obj->adjust_pointers();   // Adjust this object's references.
     }
   }
 }
 void do_object(oop obj) {
   obj->init_mark();
 }
inline void PreservedMarks::init_forwarded_mark(oop obj) {
  obj->init_mark();
}
 virtual void do_object(oop obj) {
   if (obj->is_forwarded()) {
     obj->init_mark();
   }
 }