void methodDataKlass::oop_follow_contents(oop obj) { assert (obj->is_methodData(), "object must be method data"); methodDataOop m = methodDataOop(obj); obj->follow_header(); MarkSweep::mark_and_push(m->adr_method()); ResourceMark rm; for (ProfileData* data = m->first_data(); m->is_valid(data); data = m->next_data(data)) { data->follow_contents(); } }
void methodDataKlass::oop_follow_contents(ParCompactionManager* cm, oop obj) { assert (obj->is_methodData(), "object must be method data"); methodDataOop m = methodDataOop(obj); obj->follow_header(cm); PSParallelCompact::mark_and_push(cm, m->adr_method()); ResourceMark rm; for (ProfileData* data = m->first_data(); m->is_valid(data); data = m->next_data(data)) { data->follow_contents(cm); } }