< prev index next >

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

Print this page
rev 13185 : [mq]: 8179387.patch


 725   jlong now = os::javaTimeNanos() / NANOSECS_PER_MILLISEC;
 726   update_time_of_last_gc(now);
 727 
 728   gch->trace_heap_after_gc(&gc_tracer);
 729 
 730   _gc_timer->register_gc_end();
 731 
 732   gc_tracer.report_gc_end(_gc_timer->gc_end(), _gc_timer->time_partitions());
 733 }
 734 
 735 void DefNewGeneration::init_assuming_no_promotion_failure() {
 736   _promotion_failed = false;
 737   _promotion_failed_info.reset();
 738   from()->set_next_compaction_space(NULL);
 739 }
 740 
 741 void DefNewGeneration::remove_forwarding_pointers() {
 742   RemoveForwardedPointerClosure rspc;
 743   eden()->object_iterate(&rspc);
 744   from()->object_iterate(&rspc);


 745 
 746   SharedRestorePreservedMarksTaskExecutor task_executor(GenCollectedHeap::heap()->workers());

 747   _preserved_marks_set.restore(&task_executor);
 748 }
 749 
 750 void DefNewGeneration::handle_promotion_failure(oop old) {
 751   log_debug(gc, promotion)("Promotion failure size = %d) ", old->size());
 752 
 753   _promotion_failed = true;
 754   _promotion_failed_info.register_copy_failure(old->size());
 755   _preserved_marks_set.get()->push_if_necessary(old, old->mark());
 756   // forward to self
 757   old->forward_to(old);
 758 
 759   _promo_failure_scan_stack.push(old);
 760 
 761   if (!_promo_failure_drain_in_progress) {
 762     // prevent recursion in copy_to_survivor_space()
 763     _promo_failure_drain_in_progress = true;
 764     drain_promo_failure_scan_stack();
 765     _promo_failure_drain_in_progress = false;
 766   }




 725   jlong now = os::javaTimeNanos() / NANOSECS_PER_MILLISEC;
 726   update_time_of_last_gc(now);
 727 
 728   gch->trace_heap_after_gc(&gc_tracer);
 729 
 730   _gc_timer->register_gc_end();
 731 
 732   gc_tracer.report_gc_end(_gc_timer->gc_end(), _gc_timer->time_partitions());
 733 }
 734 
 735 void DefNewGeneration::init_assuming_no_promotion_failure() {
 736   _promotion_failed = false;
 737   _promotion_failed_info.reset();
 738   from()->set_next_compaction_space(NULL);
 739 }
 740 
 741 void DefNewGeneration::remove_forwarding_pointers() {
 742   RemoveForwardedPointerClosure rspc;
 743   eden()->object_iterate(&rspc);
 744   from()->object_iterate(&rspc);
 745   restore_preserved_marks();
 746 }
 747 
 748 void DefNewGeneration::restore_preserved_marks() {
 749   SharedRestorePreservedMarksTaskExecutor task_executor(NULL);
 750   _preserved_marks_set.restore(&task_executor);
 751 }
 752 
 753 void DefNewGeneration::handle_promotion_failure(oop old) {
 754   log_debug(gc, promotion)("Promotion failure size = %d) ", old->size());
 755 
 756   _promotion_failed = true;
 757   _promotion_failed_info.register_copy_failure(old->size());
 758   _preserved_marks_set.get()->push_if_necessary(old, old->mark());
 759   // forward to self
 760   old->forward_to(old);
 761 
 762   _promo_failure_scan_stack.push(old);
 763 
 764   if (!_promo_failure_drain_in_progress) {
 765     // prevent recursion in copy_to_survivor_space()
 766     _promo_failure_drain_in_progress = true;
 767     drain_promo_failure_scan_stack();
 768     _promo_failure_drain_in_progress = false;
 769   }


< prev index next >