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

Print this page

        

*** 52,76 **** void MarkSweep::FollowRootClosure::do_oop(oop* p) { follow_root(p); } void MarkSweep::FollowRootClosure::do_oop(narrowOop* p) { follow_root(p); } MarkSweep::MarkAndPushClosure MarkSweep::mark_and_push_closure; ! MarkSweep::FollowKlassClosure MarkSweep::follow_klass_closure; ! MarkSweep::AdjustKlassClosure MarkSweep::adjust_klass_closure; void MarkSweep::MarkAndPushClosure::do_oop(oop* p) { mark_and_push(p); } void MarkSweep::MarkAndPushClosure::do_oop(narrowOop* p) { mark_and_push(p); } - void MarkSweep::FollowKlassClosure::do_klass(Klass* klass) { - klass->oops_do(&MarkSweep::mark_and_push_closure); - } - void MarkSweep::AdjustKlassClosure::do_klass(Klass* klass) { - klass->oops_do(&MarkSweep::adjust_pointer_closure); - } - void MarkSweep::follow_class_loader(ClassLoaderData* cld) { ! cld->oops_do(&MarkSweep::mark_and_push_closure, &MarkSweep::follow_klass_closure, true); } void MarkSweep::follow_stack() { do { while (!_marking_stack.is_empty()) { --- 52,69 ---- void MarkSweep::FollowRootClosure::do_oop(oop* p) { follow_root(p); } void MarkSweep::FollowRootClosure::do_oop(narrowOop* p) { follow_root(p); } MarkSweep::MarkAndPushClosure MarkSweep::mark_and_push_closure; ! CLDToOopClosure MarkSweep::follow_cld_closure(&mark_and_push_closure); ! CLDToOopClosure MarkSweep::adjust_cld_closure(&adjust_pointer_closure); void MarkSweep::MarkAndPushClosure::do_oop(oop* p) { mark_and_push(p); } void MarkSweep::MarkAndPushClosure::do_oop(narrowOop* p) { mark_and_push(p); } void MarkSweep::follow_class_loader(ClassLoaderData* cld) { ! MarkSweep::follow_cld_closure.do_cld(cld); } void MarkSweep::follow_stack() { do { while (!_marking_stack.is_empty()) {