hotspot/src/share/vm/gc_implementation/g1/g1_specialized_oop_closures.hpp
changeset 25491 70fb742e40aa
parent 25490 59f226da8d81
child 25492 d27050bdfb04
equal deleted inserted replaced
25490:59f226da8d81 25491:70fb742e40aa
    28 // The following OopClosure types get specialized versions of
    28 // The following OopClosure types get specialized versions of
    29 // "oop_oop_iterate" that invoke the closures' do_oop methods
    29 // "oop_oop_iterate" that invoke the closures' do_oop methods
    30 // non-virtually, using a mechanism defined in this file.  Extend these
    30 // non-virtually, using a mechanism defined in this file.  Extend these
    31 // macros in the obvious way to add specializations for new closures.
    31 // macros in the obvious way to add specializations for new closures.
    32 
    32 
       
    33 // Forward declarations.
    33 enum G1Barrier {
    34 enum G1Barrier {
    34   G1BarrierNone,
    35   G1BarrierNone,
    35   G1BarrierEvac,
    36   G1BarrierEvac,
    36   G1BarrierKlass
    37   G1BarrierKlass
    37 };
    38 };
    38 
    39 
    39 enum G1Mark {
    40 template<G1Barrier barrier, bool do_mark_object>
    40   G1MarkNone,
       
    41   G1MarkFromRoot,
       
    42   G1MarkPromotedFromRoot
       
    43 };
       
    44 
       
    45 // Forward declarations.
       
    46 
       
    47 template<G1Barrier barrier, G1Mark do_mark_object>
       
    48 class G1ParCopyClosure;
    41 class G1ParCopyClosure;
    49 
    42 
    50 class G1ParScanClosure;
    43 class G1ParScanClosure;
    51 class G1ParPushHeapRSClosure;
    44 class G1ParPushHeapRSClosure;
    52 
    45