hotspot/src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp
changeset 11584 e1df4d08a1f4
parent 11581 b1afc51ad34e
child 11756 28b6fe22e43d
equal deleted inserted replaced
11583:83a7383de44c 11584:e1df4d08a1f4
    63   virtual MainBodySummary*    main_body_summary()    { return NULL; }
    63   virtual MainBodySummary*    main_body_summary()    { return NULL; }
    64 };
    64 };
    65 
    65 
    66 class MainBodySummary: public CHeapObj {
    66 class MainBodySummary: public CHeapObj {
    67   define_num_seq(satb_drain) // optional
    67   define_num_seq(satb_drain) // optional
       
    68   define_num_seq(root_region_scan_wait)
    68   define_num_seq(parallel) // parallel only
    69   define_num_seq(parallel) // parallel only
    69     define_num_seq(ext_root_scan)
    70     define_num_seq(ext_root_scan)
    70     define_num_seq(satb_filtering)
    71     define_num_seq(satb_filtering)
    71     define_num_seq(update_rs)
    72     define_num_seq(update_rs)
    72     define_num_seq(scan_rs)
    73     define_num_seq(scan_rs)
   713   // determine whether we should initiate a new marking.
   714   // determine whether we should initiate a new marking.
   714   double _cur_mark_stop_world_time_ms;
   715   double _cur_mark_stop_world_time_ms;
   715   double _mark_remark_start_sec;
   716   double _mark_remark_start_sec;
   716   double _mark_cleanup_start_sec;
   717   double _mark_cleanup_start_sec;
   717   double _mark_closure_time_ms;
   718   double _mark_closure_time_ms;
       
   719   double _root_region_scan_wait_time_ms;
   718 
   720 
   719   // Update the young list target length either by setting it to the
   721   // Update the young list target length either by setting it to the
   720   // desired fixed value or by calculating it using G1's pause
   722   // desired fixed value or by calculating it using G1's pause
   721   // prediction model. If no rs_lengths parameter is passed, predict
   723   // prediction model. If no rs_lengths parameter is passed, predict
   722   // the RS lengths using the prediction model, otherwise use the
   724   // the RS lengths using the prediction model, otherwise use the
   815 
   817 
   816   void record_mark_closure_time(double mark_closure_time_ms) {
   818   void record_mark_closure_time(double mark_closure_time_ms) {
   817     _mark_closure_time_ms = mark_closure_time_ms;
   819     _mark_closure_time_ms = mark_closure_time_ms;
   818   }
   820   }
   819 
   821 
       
   822   void record_root_region_scan_wait_time(double time_ms) {
       
   823     _root_region_scan_wait_time_ms = time_ms;
       
   824   }
       
   825 
   820   void record_concurrent_mark_remark_start();
   826   void record_concurrent_mark_remark_start();
   821   void record_concurrent_mark_remark_end();
   827   void record_concurrent_mark_remark_end();
   822 
   828 
   823   void record_concurrent_mark_cleanup_start();
   829   void record_concurrent_mark_cleanup_start();
   824   void record_concurrent_mark_cleanup_end(int no_of_gc_threads);
   830   void record_concurrent_mark_cleanup_end(int no_of_gc_threads);
  1145 
  1151 
  1146   void note_stop_adding_survivor_regions() {
  1152   void note_stop_adding_survivor_regions() {
  1147     _survivor_surv_rate_group->stop_adding_regions();
  1153     _survivor_surv_rate_group->stop_adding_regions();
  1148   }
  1154   }
  1149 
  1155 
  1150   void tenure_all_objects() {
       
  1151     _max_survivor_regions = 0;
       
  1152     _tenuring_threshold = 0;
       
  1153   }
       
  1154 
       
  1155   void record_survivor_regions(size_t      regions,
  1156   void record_survivor_regions(size_t      regions,
  1156                                HeapRegion* head,
  1157                                HeapRegion* head,
  1157                                HeapRegion* tail) {
  1158                                HeapRegion* tail) {
  1158     _recorded_survivor_regions = regions;
  1159     _recorded_survivor_regions = regions;
  1159     _recorded_survivor_head    = head;
  1160     _recorded_survivor_head    = head;