47 // Backing storage. |
47 // Backing storage. |
48 G1PageBasedVirtualSpace _storage; |
48 G1PageBasedVirtualSpace _storage; |
49 |
49 |
50 size_t _region_granularity; |
50 size_t _region_granularity; |
51 // Mapping management |
51 // Mapping management |
52 BitMap _commit_map; |
52 CHeapBitMap _commit_map; |
53 |
53 |
54 G1RegionToSpaceMapper(ReservedSpace rs, size_t used_size, size_t page_size, size_t region_granularity, MemoryType type); |
54 G1RegionToSpaceMapper(ReservedSpace rs, size_t used_size, size_t page_size, size_t region_granularity, size_t commit_factor, MemoryType type); |
55 |
55 |
56 void fire_on_commit(uint start_idx, size_t num_regions, bool zero_filled); |
56 void fire_on_commit(uint start_idx, size_t num_regions, bool zero_filled); |
57 public: |
57 public: |
58 MemRegion reserved() { return _storage.reserved(); } |
58 MemRegion reserved() { return _storage.reserved(); } |
59 |
59 |
60 size_t reserved_size() { return _storage.reserved_size(); } |
60 size_t reserved_size() { return _storage.reserved_size(); } |
61 size_t committed_size() { return _storage.committed_size(); } |
61 size_t committed_size() { return _storage.committed_size(); } |
62 |
62 |
63 void set_mapping_changed_listener(G1MappingChangedListener* listener) { _listener = listener; } |
63 void set_mapping_changed_listener(G1MappingChangedListener* listener) { _listener = listener; } |
64 |
64 |
65 virtual ~G1RegionToSpaceMapper() { |
65 virtual ~G1RegionToSpaceMapper() {} |
66 _commit_map.resize(0, /* in_resource_area */ false); |
|
67 } |
|
68 |
66 |
69 bool is_committed(uintptr_t idx) const { |
67 bool is_committed(uintptr_t idx) const { |
70 return _commit_map.at(idx); |
68 return _commit_map.at(idx); |
71 } |
69 } |
72 |
70 |