src/share/vm/gc_implementation/g1/g1_specialized_oop_closures.hpp

changeset 6992
2c6ef90f030a
parent 6408
bc22cbb8b45a
child 7535
7ae4e26cb1e0
equal deleted inserted replaced
6991:882004b9e7e1 6992:2c6ef90f030a
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

mercurial