hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/cmsOopClosures.inline.hpp
changeset 25356 4a4a482298a6
parent 13728 882756847a04
child 30566 18eb9aa972d0
equal deleted inserted replaced
25355:29c97629997e 25356:4a4a482298a6
    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