22 *
23 */
24
25 #ifndef SHARE_VM_MEMORY_BARRIERSET_HPP
26 #define SHARE_VM_MEMORY_BARRIERSET_HPP
27
28 #include "memory/memRegion.hpp"
29 #include "oops/oopsHierarchy.hpp"
30
31 // This class provides the interface between a barrier implementation and
32 // the rest of the system.
33
34 class BarrierSet: public CHeapObj<mtGC> {
35 friend class VMStructs;
36 public:
37 enum Name {
38 ModRef,
39 CardTableModRef,
40 CardTableExtension,
41 G1SATBCT,
42 G1SATBCTLogging,
43 Other
44 };
45
46 enum Flags {
47 None = 0,
48 TargetUninitialized = 1
49 };
50 protected:
51 // Some barrier sets create tables whose elements correspond to parts of
52 // the heap; the CardTableModRefBS is an example. Such barrier sets will
53 // normally reserve space for such tables, and commit parts of the table
54 // "covering" parts of the heap that are committed. At most one covered
55 // region per generation is needed.
56 static const int _max_covered_regions = 2;
57 Name _kind;
58
59 BarrierSet(Name kind) : _kind(kind) { }
60 ~BarrierSet() { }
61
62 public:
63
|
22 *
23 */
24
25 #ifndef SHARE_VM_MEMORY_BARRIERSET_HPP
26 #define SHARE_VM_MEMORY_BARRIERSET_HPP
27
28 #include "memory/memRegion.hpp"
29 #include "oops/oopsHierarchy.hpp"
30
31 // This class provides the interface between a barrier implementation and
32 // the rest of the system.
33
34 class BarrierSet: public CHeapObj<mtGC> {
35 friend class VMStructs;
36 public:
37 enum Name {
38 ModRef,
39 CardTableModRef,
40 CardTableExtension,
41 G1SATBCT,
42 G1SATBCTLogging
43 };
44
45 enum Flags {
46 None = 0,
47 TargetUninitialized = 1
48 };
49 protected:
50 // Some barrier sets create tables whose elements correspond to parts of
51 // the heap; the CardTableModRefBS is an example. Such barrier sets will
52 // normally reserve space for such tables, and commit parts of the table
53 // "covering" parts of the heap that are committed. At most one covered
54 // region per generation is needed.
55 static const int _max_covered_regions = 2;
56 Name _kind;
57
58 BarrierSet(Name kind) : _kind(kind) { }
59 ~BarrierSet() { }
60
61 public:
62
|