42 newOop->oop_iterate(&_par_pushAndMarkClosure); |
42 newOop->oop_iterate(&_par_pushAndMarkClosure); |
43 } |
43 } |
44 } |
44 } |
45 } |
45 } |
46 |
46 |
47 // CMSOopClosure and CMSoopsInGenClosure are duplicated, |
47 // MetadataAwareOopClosure and MetadataAwareOopsInGenClosure are duplicated, |
48 // until we get rid of OopsInGenClosure. |
48 // until we get rid of OopsInGenClosure. |
49 |
49 |
50 inline void CMSOopClosure::do_klass(Klass* k) { do_klass_nv(k); } |
50 inline void MetadataAwareOopsInGenClosure::do_klass_nv(Klass* k) { |
51 inline void CMSOopsInGenClosure::do_klass(Klass* k) { do_klass_nv(k); } |
|
52 |
|
53 inline void CMSOopClosure::do_klass_nv(Klass* k) { |
|
54 ClassLoaderData* cld = k->class_loader_data(); |
51 ClassLoaderData* cld = k->class_loader_data(); |
55 do_class_loader_data(cld); |
52 do_class_loader_data(cld); |
56 } |
53 } |
57 inline void CMSOopsInGenClosure::do_klass_nv(Klass* k) { |
54 inline void MetadataAwareOopsInGenClosure::do_klass(Klass* k) { do_klass_nv(k); } |
58 ClassLoaderData* cld = k->class_loader_data(); |
|
59 do_class_loader_data(cld); |
|
60 } |
|
61 |
55 |
62 inline void CMSOopClosure::do_class_loader_data(ClassLoaderData* cld) { |
56 inline void MetadataAwareOopsInGenClosure::do_class_loader_data(ClassLoaderData* cld) { |
63 assert(_klass_closure._oop_closure == this, "Must be"); |
|
64 |
|
65 bool claim = true; // Must claim the class loader data before processing. |
|
66 cld->oops_do(_klass_closure._oop_closure, &_klass_closure, claim); |
|
67 } |
|
68 inline void CMSOopsInGenClosure::do_class_loader_data(ClassLoaderData* cld) { |
|
69 assert(_klass_closure._oop_closure == this, "Must be"); |
57 assert(_klass_closure._oop_closure == this, "Must be"); |
70 |
58 |
71 bool claim = true; // Must claim the class loader data before processing. |
59 bool claim = true; // Must claim the class loader data before processing. |
72 cld->oops_do(_klass_closure._oop_closure, &_klass_closure, claim); |
60 cld->oops_do(_klass_closure._oop_closure, &_klass_closure, claim); |
73 } |
61 } |
74 |
62 |
75 |
|
76 #endif // SHARE_VM_GC_IMPLEMENTATION_CONCURRENTMARKSWEEP_CMSOOPCLOSURES_INLINE_HPP |
63 #endif // SHARE_VM_GC_IMPLEMENTATION_CONCURRENTMARKSWEEP_CMSOOPCLOSURES_INLINE_HPP |