hotspot/src/share/vm/gc_implementation/g1/g1_specialized_oop_closures.hpp
changeset 25490 59f226da8d81
parent 23457 b636c5879172
child 25491 70fb742e40aa
equal deleted inserted replaced
25489:feb54edc509d 25490:59f226da8d81
    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.
       
    34 enum G1Barrier {
    33 enum G1Barrier {
    35   G1BarrierNone,
    34   G1BarrierNone,
    36   G1BarrierEvac,
    35   G1BarrierEvac,
    37   G1BarrierKlass
    36   G1BarrierKlass
    38 };
    37 };
    39 
    38 
    40 template<G1Barrier barrier, bool do_mark_object>
    39 enum G1Mark {
       
    40   G1MarkNone,
       
    41   G1MarkFromRoot,
       
    42   G1MarkPromotedFromRoot
       
    43 };
       
    44 
       
    45 // Forward declarations.
       
    46 
       
    47 template<G1Barrier barrier, G1Mark do_mark_object>
    41 class G1ParCopyClosure;
    48 class G1ParCopyClosure;
    42 
    49 
    43 class G1ParScanClosure;
    50 class G1ParScanClosure;
    44 class G1ParPushHeapRSClosure;
    51 class G1ParPushHeapRSClosure;
    45 
    52