< prev index next >

src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp

Print this page




 515   young_gen()->object_iterate(cl);
 516   old_gen()->object_iterate(cl);
 517 }
 518 
 519 
 520 HeapWord* ParallelScavengeHeap::block_start(const void* addr) const {
 521   if (young_gen()->is_in_reserved(addr)) {
 522     assert(young_gen()->is_in(addr),
 523            "addr should be in allocated part of young gen");
 524     // called from os::print_location by find or VMError
 525     if (Debugging || VMError::fatal_error_in_progress())  return NULL;
 526     Unimplemented();
 527   } else if (old_gen()->is_in_reserved(addr)) {
 528     assert(old_gen()->is_in(addr),
 529            "addr should be in allocated part of old gen");
 530     return old_gen()->start_array()->object_start((HeapWord*)addr);
 531   }
 532   return 0;
 533 }
 534 
 535 size_t ParallelScavengeHeap::block_size(const HeapWord* addr) const {
 536   return oop(addr)->size();
 537 }
 538 
 539 bool ParallelScavengeHeap::block_is_obj(const HeapWord* addr) const {
 540   return block_start(addr) == addr;
 541 }
 542 
 543 jlong ParallelScavengeHeap::millis_since_last_gc() {
 544   return UseParallelOldGC ?
 545     PSParallelCompact::millis_since_last_gc() :
 546     PSMarkSweepProxy::millis_since_last_gc();
 547 }
 548 
 549 void ParallelScavengeHeap::prepare_for_verify() {
 550   ensure_parsability(false);  // no need to retire TLABs for verification
 551 }
 552 
 553 PSHeapSummary ParallelScavengeHeap::create_ps_heap_summary() {
 554   PSOldGen* old = old_gen();
 555   HeapWord* old_committed_end = (HeapWord*)old->virtual_space()->committed_high_addr();
 556   VirtualSpaceSummary old_summary(old->reserved().start(), old_committed_end, old->reserved().end());
 557   SpaceSummary old_space(old->reserved().start(), old_committed_end, old->used_in_bytes());
 558 




 515   young_gen()->object_iterate(cl);
 516   old_gen()->object_iterate(cl);
 517 }
 518 
 519 
 520 HeapWord* ParallelScavengeHeap::block_start(const void* addr) const {
 521   if (young_gen()->is_in_reserved(addr)) {
 522     assert(young_gen()->is_in(addr),
 523            "addr should be in allocated part of young gen");
 524     // called from os::print_location by find or VMError
 525     if (Debugging || VMError::fatal_error_in_progress())  return NULL;
 526     Unimplemented();
 527   } else if (old_gen()->is_in_reserved(addr)) {
 528     assert(old_gen()->is_in(addr),
 529            "addr should be in allocated part of old gen");
 530     return old_gen()->start_array()->object_start((HeapWord*)addr);
 531   }
 532   return 0;
 533 }
 534 




 535 bool ParallelScavengeHeap::block_is_obj(const HeapWord* addr) const {
 536   return block_start(addr) == addr;
 537 }
 538 
 539 jlong ParallelScavengeHeap::millis_since_last_gc() {
 540   return UseParallelOldGC ?
 541     PSParallelCompact::millis_since_last_gc() :
 542     PSMarkSweepProxy::millis_since_last_gc();
 543 }
 544 
 545 void ParallelScavengeHeap::prepare_for_verify() {
 546   ensure_parsability(false);  // no need to retire TLABs for verification
 547 }
 548 
 549 PSHeapSummary ParallelScavengeHeap::create_ps_heap_summary() {
 550   PSOldGen* old = old_gen();
 551   HeapWord* old_committed_end = (HeapWord*)old->virtual_space()->committed_high_addr();
 552   VirtualSpaceSummary old_summary(old->reserved().start(), old_committed_end, old->reserved().end());
 553   SpaceSummary old_space(old->reserved().start(), old_committed_end, old->used_in_bytes());
 554 


< prev index next >