Mercurial > hg > graal-jvmci-8
comparison src/share/vm/gc_implementation/g1/g1_specialized_oop_closures.hpp @ 20278:2c6ef90f030a
8049421: G1 Class Unloading after completing a concurrent mark cycle
Reviewed-by: tschatzl, ehelin, brutisso, coleenp, roland, iveresov
Contributed-by: stefan.karlsson@oracle.com, mikael.gerdin@oracle.com
author | stefank |
---|---|
date | Mon, 07 Jul 2014 10:12:40 +0200 |
parents | bc22cbb8b45a |
children | 7848fc12602b |
comparison
equal
deleted
inserted
replaced
20277:882004b9e7e1 | 20278: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 |