208 // Accessing spaces
209 ContiguousSpace* eden() const { return _eden_space; }
210 ContiguousSpace* from() const { return _from_space; }
211 ContiguousSpace* to() const { return _to_space; }
212
213 virtual CompactibleSpace* first_compaction_space() const;
214
215 // Space enquiries
216 size_t capacity() const;
217 size_t used() const;
218 size_t free() const;
219 size_t max_capacity() const;
220 size_t capacity_before_gc() const;
221 size_t unsafe_max_alloc_nogc() const;
222 size_t contiguous_available() const;
223
224 size_t max_eden_size() const { return _max_eden_size; }
225 size_t max_survivor_size() const { return _max_survivor_size; }
226
227 bool supports_inline_contig_alloc() const { return true; }
228 HeapWord** top_addr() const;
229 HeapWord** end_addr() const;
230
231 // Thread-local allocation buffers
232 bool supports_tlab_allocation() const { return true; }
233 size_t tlab_capacity() const;
234 size_t tlab_used() const;
235 size_t unsafe_max_tlab_alloc() const;
236
237 // Grow the generation by the specified number of bytes.
238 // The size of bytes is assumed to be properly aligned.
239 // Return true if the expansion was successful.
240 bool expand(size_t bytes);
241
242 // DefNewGeneration cannot currently expand except at
243 // a GC.
244 virtual bool is_maximal_no_gc() const { return true; }
245
246 // Iteration
247 void object_iterate(ObjectClosure* blk);
248
|
208 // Accessing spaces
209 ContiguousSpace* eden() const { return _eden_space; }
210 ContiguousSpace* from() const { return _from_space; }
211 ContiguousSpace* to() const { return _to_space; }
212
213 virtual CompactibleSpace* first_compaction_space() const;
214
215 // Space enquiries
216 size_t capacity() const;
217 size_t used() const;
218 size_t free() const;
219 size_t max_capacity() const;
220 size_t capacity_before_gc() const;
221 size_t unsafe_max_alloc_nogc() const;
222 size_t contiguous_available() const;
223
224 size_t max_eden_size() const { return _max_eden_size; }
225 size_t max_survivor_size() const { return _max_survivor_size; }
226
227 bool supports_inline_contig_alloc() const { return true; }
228 HeapWord* volatile* top_addr() const;
229 HeapWord** end_addr() const;
230
231 // Thread-local allocation buffers
232 bool supports_tlab_allocation() const { return true; }
233 size_t tlab_capacity() const;
234 size_t tlab_used() const;
235 size_t unsafe_max_tlab_alloc() const;
236
237 // Grow the generation by the specified number of bytes.
238 // The size of bytes is assumed to be properly aligned.
239 // Return true if the expansion was successful.
240 bool expand(size_t bytes);
241
242 // DefNewGeneration cannot currently expand except at
243 // a GC.
244 virtual bool is_maximal_no_gc() const { return true; }
245
246 // Iteration
247 void object_iterate(ObjectClosure* blk);
248
|