< prev index next >

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

Print this page




1031     eden()->clear(SpaceDecorator::Mangle);
1032     from()->clear(SpaceDecorator::Mangle);
1033     if (ZapUnusedHeapArea) {
1034       // This is now done here because of the piece-meal mangling which
1035       // can check for valid mangling at intermediate points in the
1036       // collection(s).  When a minor collection fails to collect
1037       // sufficient space resizing of the young generation can occur
1038       // an redistribute the spaces in the young generation.  Mangle
1039       // here so that unzapped regions don't get distributed to
1040       // other spaces.
1041       to()->mangle_unused_area();
1042     }
1043     swap_spaces();
1044 
1045     // A successful scavenge should restart the GC time limit count which is
1046     // for full GC's.
1047     size_policy->reset_gc_overhead_limit_count();
1048 
1049     assert(to()->is_empty(), "to space should be empty now");
1050 
1051     adjust_desired_tenuring_threshold();
1052   } else {
1053     handle_promotion_failed(gch, thread_state_set, gc_tracer);
1054   }
1055   // set new iteration safe limit for the survivor spaces
1056   from()->set_concurrent_iteration_safe_limit(from()->top());
1057   to()->set_concurrent_iteration_safe_limit(to()->top());
1058 
1059   if (ResizePLAB) {
1060     plab_stats()->adjust_desired_plab_sz(n_workers);
1061   }
1062 
1063   if (PrintGC && !PrintGCDetails) {
1064     gch->print_heap_change(gch_prev_used);
1065   }
1066 
1067   if (PrintGCDetails && ParallelGCVerbose) {
1068     TASKQUEUE_STATS_ONLY(thread_state_set.print_termination_stats());
1069     TASKQUEUE_STATS_ONLY(thread_state_set.print_taskqueue_stats());
1070   }
1071 




1031     eden()->clear(SpaceDecorator::Mangle);
1032     from()->clear(SpaceDecorator::Mangle);
1033     if (ZapUnusedHeapArea) {
1034       // This is now done here because of the piece-meal mangling which
1035       // can check for valid mangling at intermediate points in the
1036       // collection(s).  When a minor collection fails to collect
1037       // sufficient space resizing of the young generation can occur
1038       // an redistribute the spaces in the young generation.  Mangle
1039       // here so that unzapped regions don't get distributed to
1040       // other spaces.
1041       to()->mangle_unused_area();
1042     }
1043     swap_spaces();
1044 
1045     // A successful scavenge should restart the GC time limit count which is
1046     // for full GC's.
1047     size_policy->reset_gc_overhead_limit_count();
1048 
1049     assert(to()->is_empty(), "to space should be empty now");
1050 
1051     adjust_desired_tenuring_threshold(gc_tracer);
1052   } else {
1053     handle_promotion_failed(gch, thread_state_set, gc_tracer);
1054   }
1055   // set new iteration safe limit for the survivor spaces
1056   from()->set_concurrent_iteration_safe_limit(from()->top());
1057   to()->set_concurrent_iteration_safe_limit(to()->top());
1058 
1059   if (ResizePLAB) {
1060     plab_stats()->adjust_desired_plab_sz(n_workers);
1061   }
1062 
1063   if (PrintGC && !PrintGCDetails) {
1064     gch->print_heap_change(gch_prev_used);
1065   }
1066 
1067   if (PrintGCDetails && ParallelGCVerbose) {
1068     TASKQUEUE_STATS_ONLY(thread_state_set.print_termination_stats());
1069     TASKQUEUE_STATS_ONLY(thread_state_set.print_taskqueue_stats());
1070   }
1071 


< prev index next >