1.1 --- a/src/share/vm/gc_implementation/shared/markSweep.cpp Tue Jul 01 09:03:55 2014 +0200 1.2 +++ b/src/share/vm/gc_implementation/shared/markSweep.cpp Mon Jul 07 10:12:40 2014 +0200 1.3 @@ -54,21 +54,14 @@ 1.4 void MarkSweep::FollowRootClosure::do_oop(narrowOop* p) { follow_root(p); } 1.5 1.6 MarkSweep::MarkAndPushClosure MarkSweep::mark_and_push_closure; 1.7 -MarkSweep::FollowKlassClosure MarkSweep::follow_klass_closure; 1.8 -MarkSweep::AdjustKlassClosure MarkSweep::adjust_klass_closure; 1.9 +CLDToOopClosure MarkSweep::follow_cld_closure(&mark_and_push_closure); 1.10 +CLDToOopClosure MarkSweep::adjust_cld_closure(&adjust_pointer_closure); 1.11 1.12 void MarkSweep::MarkAndPushClosure::do_oop(oop* p) { mark_and_push(p); } 1.13 void MarkSweep::MarkAndPushClosure::do_oop(narrowOop* p) { mark_and_push(p); } 1.14 1.15 -void MarkSweep::FollowKlassClosure::do_klass(Klass* klass) { 1.16 - klass->oops_do(&MarkSweep::mark_and_push_closure); 1.17 -} 1.18 -void MarkSweep::AdjustKlassClosure::do_klass(Klass* klass) { 1.19 - klass->oops_do(&MarkSweep::adjust_pointer_closure); 1.20 -} 1.21 - 1.22 void MarkSweep::follow_class_loader(ClassLoaderData* cld) { 1.23 - cld->oops_do(&MarkSweep::mark_and_push_closure, &MarkSweep::follow_klass_closure, true); 1.24 + MarkSweep::follow_cld_closure.do_cld(cld); 1.25 } 1.26 1.27 void MarkSweep::follow_stack() {