184 ScanClosure* _scan_older;
185 public:
186 EvacuateFollowersClosure(GenCollectedHeap* gch,
187 ScanClosure* cur, ScanClosure* older);
188 void do_void();
189 };
190
191 class FastEvacuateFollowersClosure: public VoidClosure {
192 GenCollectedHeap* _gch;
193 DefNewGeneration* _young_gen;
194 FastScanClosure* _scan_cur_or_nonheap;
195 FastScanClosure* _scan_older;
196 public:
197 FastEvacuateFollowersClosure(GenCollectedHeap* gch,
198 FastScanClosure* cur,
199 FastScanClosure* older);
200 void do_void();
201 };
202
203 public:
204 DefNewGeneration(ReservedSpace rs, size_t initial_byte_size,
205 const char* policy="Copy");
206
207 virtual void ref_processor_init();
208
209 virtual Generation::Name kind() { return Generation::DefNew; }
210
211 // Accessing spaces
212 ContiguousSpace* eden() const { return _eden_space; }
213 ContiguousSpace* from() const { return _from_space; }
214 ContiguousSpace* to() const { return _to_space; }
215
216 virtual CompactibleSpace* first_compaction_space() const;
217
218 // Space enquiries
219 size_t capacity() const;
220 size_t used() const;
221 size_t free() const;
222 size_t max_capacity() const;
223 size_t capacity_before_gc() const;
224 size_t unsafe_max_alloc_nogc() const;
|
184 ScanClosure* _scan_older;
185 public:
186 EvacuateFollowersClosure(GenCollectedHeap* gch,
187 ScanClosure* cur, ScanClosure* older);
188 void do_void();
189 };
190
191 class FastEvacuateFollowersClosure: public VoidClosure {
192 GenCollectedHeap* _gch;
193 DefNewGeneration* _young_gen;
194 FastScanClosure* _scan_cur_or_nonheap;
195 FastScanClosure* _scan_older;
196 public:
197 FastEvacuateFollowersClosure(GenCollectedHeap* gch,
198 FastScanClosure* cur,
199 FastScanClosure* older);
200 void do_void();
201 };
202
203 public:
204 DefNewGeneration(ReservedSpace rs,
205 size_t initial_byte_size,
206 size_t min_byte_size,
207 size_t max_byte_size,
208 const char* policy="Copy");
209
210 virtual void ref_processor_init();
211
212 virtual Generation::Name kind() { return Generation::DefNew; }
213
214 // Accessing spaces
215 ContiguousSpace* eden() const { return _eden_space; }
216 ContiguousSpace* from() const { return _from_space; }
217 ContiguousSpace* to() const { return _to_space; }
218
219 virtual CompactibleSpace* first_compaction_space() const;
220
221 // Space enquiries
222 size_t capacity() const;
223 size_t used() const;
224 size_t free() const;
225 size_t max_capacity() const;
226 size_t capacity_before_gc() const;
227 size_t unsafe_max_alloc_nogc() const;
|