< prev index next >

src/share/vm/gc/serial/defNewGeneration.cpp

Print this page
rev 11970 : imported patch base_volatiles


 495 
 496 size_t DefNewGeneration::max_capacity() const {
 497   const size_t alignment = GenCollectedHeap::heap()->collector_policy()->space_alignment();
 498   const size_t reserved_bytes = reserved().byte_size();
 499   return reserved_bytes - compute_survivor_size(reserved_bytes, alignment);
 500 }
 501 
 502 size_t DefNewGeneration::unsafe_max_alloc_nogc() const {
 503   return eden()->free();
 504 }
 505 
 506 size_t DefNewGeneration::capacity_before_gc() const {
 507   return eden()->capacity();
 508 }
 509 
 510 size_t DefNewGeneration::contiguous_available() const {
 511   return eden()->free();
 512 }
 513 
 514 
 515 HeapWord** DefNewGeneration::top_addr() const { return eden()->top_addr(); }
 516 HeapWord** DefNewGeneration::end_addr() const { return eden()->end_addr(); }
 517 
 518 void DefNewGeneration::object_iterate(ObjectClosure* blk) {
 519   eden()->object_iterate(blk);
 520   from()->object_iterate(blk);
 521 }
 522 
 523 
 524 void DefNewGeneration::space_iterate(SpaceClosure* blk,
 525                                      bool usedOnly) {
 526   blk->do_space(eden());
 527   blk->do_space(from());
 528   blk->do_space(to());
 529 }
 530 
 531 // The last collection bailed out, we are running out of heap space,
 532 // so we try to allocate the from-space, too.
 533 HeapWord* DefNewGeneration::allocate_from_space(size_t size) {
 534   bool should_try_alloc = should_allocate_from_space() || GCLocker::is_active_and_needs_gc();
 535 




 495 
 496 size_t DefNewGeneration::max_capacity() const {
 497   const size_t alignment = GenCollectedHeap::heap()->collector_policy()->space_alignment();
 498   const size_t reserved_bytes = reserved().byte_size();
 499   return reserved_bytes - compute_survivor_size(reserved_bytes, alignment);
 500 }
 501 
 502 size_t DefNewGeneration::unsafe_max_alloc_nogc() const {
 503   return eden()->free();
 504 }
 505 
 506 size_t DefNewGeneration::capacity_before_gc() const {
 507   return eden()->capacity();
 508 }
 509 
 510 size_t DefNewGeneration::contiguous_available() const {
 511   return eden()->free();
 512 }
 513 
 514 
 515 HeapWord* volatile* DefNewGeneration::top_addr() const { return eden()->top_addr(); }
 516 HeapWord** DefNewGeneration::end_addr() const { return eden()->end_addr(); }
 517 
 518 void DefNewGeneration::object_iterate(ObjectClosure* blk) {
 519   eden()->object_iterate(blk);
 520   from()->object_iterate(blk);
 521 }
 522 
 523 
 524 void DefNewGeneration::space_iterate(SpaceClosure* blk,
 525                                      bool usedOnly) {
 526   blk->do_space(eden());
 527   blk->do_space(from());
 528   blk->do_space(to());
 529 }
 530 
 531 // The last collection bailed out, we are running out of heap space,
 532 // so we try to allocate the from-space, too.
 533 HeapWord* DefNewGeneration::allocate_from_space(size_t size) {
 534   bool should_try_alloc = should_allocate_from_space() || GCLocker::is_active_and_needs_gc();
 535 


< prev index next >