src/share/vm/gc_implementation/parNew/parNewGeneration.cpp

Print this page




1048     size_policy->reset_gc_overhead_limit_count();
1049 
1050     assert(to()->is_empty(), "to space should be empty now");
1051 
1052     adjust_desired_tenuring_threshold();
1053   } else {
1054     handle_promotion_failed(gch, thread_state_set, gc_tracer);
1055   }
1056   // set new iteration safe limit for the survivor spaces
1057   from()->set_concurrent_iteration_safe_limit(from()->top());
1058   to()->set_concurrent_iteration_safe_limit(to()->top());
1059 
1060   if (ResizePLAB) {
1061     plab_stats()->adjust_desired_plab_sz(n_workers);
1062   }
1063 
1064   if (PrintGC && !PrintGCDetails) {
1065     gch->print_heap_change(gch_prev_used);
1066   }
1067 
1068   if (PrintGCDetails && ParallelGCVerbose) {
1069     TASKQUEUE_STATS_ONLY(thread_state_set.print_termination_stats());
1070     TASKQUEUE_STATS_ONLY(thread_state_set.print_taskqueue_stats());
1071   }
1072 
1073   if (UseAdaptiveSizePolicy) {
1074     size_policy->minor_collection_end(gch->gc_cause());
1075     size_policy->avg_survived()->sample(from()->used());
1076   }
1077 
1078   // We need to use a monotonically non-decreasing time in ms
1079   // or we will see time-warp warnings and os::javaTimeMillis()
1080   // does not guarantee monotonicity.
1081   jlong now = os::javaTimeNanos() / NANOSECS_PER_MILLISEC;
1082   update_time_of_last_gc(now);
1083 
1084   SpecializationStats::print();
1085 
1086   rp->set_enqueuing_is_done(true);
1087   if (rp->processing_is_mt()) {
1088     ParNewRefProcTaskExecutor task_executor(*this, thread_state_set);
1089     rp->enqueue_discovered_references(&task_executor);
1090   } else {
1091     rp->enqueue_discovered_references(NULL);




1048     size_policy->reset_gc_overhead_limit_count();
1049 
1050     assert(to()->is_empty(), "to space should be empty now");
1051 
1052     adjust_desired_tenuring_threshold();
1053   } else {
1054     handle_promotion_failed(gch, thread_state_set, gc_tracer);
1055   }
1056   // set new iteration safe limit for the survivor spaces
1057   from()->set_concurrent_iteration_safe_limit(from()->top());
1058   to()->set_concurrent_iteration_safe_limit(to()->top());
1059 
1060   if (ResizePLAB) {
1061     plab_stats()->adjust_desired_plab_sz(n_workers);
1062   }
1063 
1064   if (PrintGC && !PrintGCDetails) {
1065     gch->print_heap_change(gch_prev_used);
1066   }
1067 
1068   TASKQUEUE_STATS_ONLY(if (PrintTerminationStats) thread_state_set.print_termination_stats());
1069   TASKQUEUE_STATS_ONLY(if (PrintTaskqueue) thread_state_set.print_taskqueue_stats());


1070 
1071   if (UseAdaptiveSizePolicy) {
1072     size_policy->minor_collection_end(gch->gc_cause());
1073     size_policy->avg_survived()->sample(from()->used());
1074   }
1075 
1076   // We need to use a monotonically non-decreasing time in ms
1077   // or we will see time-warp warnings and os::javaTimeMillis()
1078   // does not guarantee monotonicity.
1079   jlong now = os::javaTimeNanos() / NANOSECS_PER_MILLISEC;
1080   update_time_of_last_gc(now);
1081 
1082   SpecializationStats::print();
1083 
1084   rp->set_enqueuing_is_done(true);
1085   if (rp->processing_is_mt()) {
1086     ParNewRefProcTaskExecutor task_executor(*this, thread_state_set);
1087     rp->enqueue_discovered_references(&task_executor);
1088   } else {
1089     rp->enqueue_discovered_references(NULL);