< prev index next >

src/share/vm/memory/genCollectedHeap.cpp

Print this page




 544     MemoryService::track_memory_usage();
 545 
 546     gc_epilogue(complete);
 547 
 548     if (must_restore_marks_for_biased_locking) {
 549       BiasedLocking::restore_marks();
 550     }
 551   }
 552 
 553   print_heap_after_gc();
 554 
 555 #ifdef TRACESPINNING
 556   ParallelTaskTerminator::print_termination_counts();
 557 #endif
 558 }
 559 
 560 HeapWord* GenCollectedHeap::satisfy_failed_allocation(size_t size, bool is_tlab) {
 561   return collector_policy()->satisfy_failed_allocation(size, is_tlab);
 562 }
 563 
 564 void GenCollectedHeap::set_par_threads(uint t) {
 565   assert(t == 0 || !UseSerialGC, "Cannot have parallel threads");
 566   CollectedHeap::set_par_threads(t);
 567 }
 568 
 569 #ifdef ASSERT
 570 class AssertNonScavengableClosure: public OopClosure {
 571 public:
 572   virtual void do_oop(oop* p) {
 573     assert(!GenCollectedHeap::heap()->is_in_partial_collection(*p),
 574       "Referent should not be scavengable.");  }
 575   virtual void do_oop(narrowOop* p) { ShouldNotReachHere(); }
 576 };
 577 static AssertNonScavengableClosure assert_is_non_scavengable_closure;
 578 #endif
 579 
 580 void GenCollectedHeap::process_roots(StrongRootsScope* scope,
 581                                      ScanningOption so,
 582                                      OopClosure* strong_roots,
 583                                      OopClosure* weak_roots,
 584                                      CLDClosure* strong_cld_closure,
 585                                      CLDClosure* weak_cld_closure,
 586                                      CodeBlobClosure* code_roots) {
 587   // General roots.
 588   assert(Threads::thread_claim_parity() != 0, "must have called prologue code");




 544     MemoryService::track_memory_usage();
 545 
 546     gc_epilogue(complete);
 547 
 548     if (must_restore_marks_for_biased_locking) {
 549       BiasedLocking::restore_marks();
 550     }
 551   }
 552 
 553   print_heap_after_gc();
 554 
 555 #ifdef TRACESPINNING
 556   ParallelTaskTerminator::print_termination_counts();
 557 #endif
 558 }
 559 
 560 HeapWord* GenCollectedHeap::satisfy_failed_allocation(size_t size, bool is_tlab) {
 561   return collector_policy()->satisfy_failed_allocation(size, is_tlab);
 562 }
 563 





 564 #ifdef ASSERT
 565 class AssertNonScavengableClosure: public OopClosure {
 566 public:
 567   virtual void do_oop(oop* p) {
 568     assert(!GenCollectedHeap::heap()->is_in_partial_collection(*p),
 569       "Referent should not be scavengable.");  }
 570   virtual void do_oop(narrowOop* p) { ShouldNotReachHere(); }
 571 };
 572 static AssertNonScavengableClosure assert_is_non_scavengable_closure;
 573 #endif
 574 
 575 void GenCollectedHeap::process_roots(StrongRootsScope* scope,
 576                                      ScanningOption so,
 577                                      OopClosure* strong_roots,
 578                                      OopClosure* weak_roots,
 579                                      CLDClosure* strong_cld_closure,
 580                                      CLDClosure* weak_cld_closure,
 581                                      CodeBlobClosure* code_roots) {
 582   // General roots.
 583   assert(Threads::thread_claim_parity() != 0, "must have called prologue code");


< prev index next >