equal
deleted
inserted
replaced
137 |
137 |
138 object_space()->initialize(cmr, |
138 object_space()->initialize(cmr, |
139 SpaceDecorator::Clear, |
139 SpaceDecorator::Clear, |
140 SpaceDecorator::Mangle); |
140 SpaceDecorator::Mangle); |
141 |
141 |
|
142 #if INCLUDE_SERIALGC |
142 _object_mark_sweep = new PSMarkSweepDecorator(_object_space, start_array(), MarkSweepDeadRatio); |
143 _object_mark_sweep = new PSMarkSweepDecorator(_object_space, start_array(), MarkSweepDeadRatio); |
143 |
144 |
144 if (_object_mark_sweep == NULL) |
145 if (_object_mark_sweep == NULL) { |
145 vm_exit_during_initialization("Could not complete allocation of old generation"); |
146 vm_exit_during_initialization("Could not complete allocation of old generation"); |
|
147 } |
|
148 #endif // INCLUDE_SERIALGC |
146 |
149 |
147 // Update the start_array |
150 // Update the start_array |
148 start_array()->set_covered_region(cmr); |
151 start_array()->set_covered_region(cmr); |
149 } |
152 } |
150 |
153 |
161 // reserved size is not 0. |
164 // reserved size is not 0. |
162 bool PSOldGen::is_allocated() { |
165 bool PSOldGen::is_allocated() { |
163 return virtual_space()->reserved_size() != 0; |
166 return virtual_space()->reserved_size() != 0; |
164 } |
167 } |
165 |
168 |
|
169 #if INCLUDE_SERIALGC |
|
170 |
166 void PSOldGen::precompact() { |
171 void PSOldGen::precompact() { |
167 ParallelScavengeHeap* heap = ParallelScavengeHeap::heap(); |
172 ParallelScavengeHeap* heap = ParallelScavengeHeap::heap(); |
168 |
173 |
169 // Reset start array first. |
174 // Reset start array first. |
170 start_array()->reset(); |
175 start_array()->reset(); |
180 } |
185 } |
181 |
186 |
182 void PSOldGen::compact() { |
187 void PSOldGen::compact() { |
183 object_mark_sweep()->compact(ZapUnusedHeapArea); |
188 object_mark_sweep()->compact(ZapUnusedHeapArea); |
184 } |
189 } |
|
190 |
|
191 #endif // INCLUDE_SERIALGC |
185 |
192 |
186 size_t PSOldGen::contiguous_available() const { |
193 size_t PSOldGen::contiguous_available() const { |
187 return object_space()->free_in_bytes() + virtual_space()->uncommitted_size(); |
194 return object_space()->free_in_bytes() + virtual_space()->uncommitted_size(); |
188 } |
195 } |
189 |
196 |