equal
deleted
inserted
replaced
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 |