src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp

changeset 1112
96b229c54d1e
parent 1063
7bb995fbd3c0
child 1229
315a5d70b295
     1.1 --- a/src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp	Wed Mar 25 10:36:08 2009 -0400
     1.2 +++ b/src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp	Wed Mar 25 13:10:54 2009 -0700
     1.3 @@ -47,7 +47,6 @@
     1.4    }
     1.5  
     1.6  class MainBodySummary;
     1.7 -class PopPreambleSummary;
     1.8  
     1.9  class PauseSummary: public CHeapObj {
    1.10    define_num_seq(total)
    1.11 @@ -55,7 +54,6 @@
    1.12  
    1.13  public:
    1.14    virtual MainBodySummary*    main_body_summary()    { return NULL; }
    1.15 -  virtual PopPreambleSummary* pop_preamble_summary() { return NULL; }
    1.16  };
    1.17  
    1.18  class MainBodySummary: public CHeapObj {
    1.19 @@ -75,36 +73,13 @@
    1.20    define_num_seq(clear_ct)  // parallel only
    1.21  };
    1.22  
    1.23 -class PopPreambleSummary: public CHeapObj {
    1.24 -  define_num_seq(pop_preamble)
    1.25 -    define_num_seq(pop_update_rs)
    1.26 -    define_num_seq(pop_scan_rs)
    1.27 -    define_num_seq(pop_closure_app)
    1.28 -    define_num_seq(pop_evacuation)
    1.29 -    define_num_seq(pop_other)
    1.30 -};
    1.31 -
    1.32 -class NonPopSummary: public PauseSummary,
    1.33 -                     public MainBodySummary {
    1.34 +class Summary: public PauseSummary,
    1.35 +               public MainBodySummary {
    1.36  public:
    1.37    virtual MainBodySummary*    main_body_summary()    { return this; }
    1.38  };
    1.39  
    1.40 -class PopSummary: public PauseSummary,
    1.41 -                  public MainBodySummary,
    1.42 -                  public PopPreambleSummary {
    1.43 -public:
    1.44 -  virtual MainBodySummary*    main_body_summary()    { return this; }
    1.45 -  virtual PopPreambleSummary* pop_preamble_summary() { return this; }
    1.46 -};
    1.47 -
    1.48 -class NonPopAbandonedSummary: public PauseSummary {
    1.49 -};
    1.50 -
    1.51 -class PopAbandonedSummary: public PauseSummary,
    1.52 -                           public PopPreambleSummary {
    1.53 -public:
    1.54 -  virtual PopPreambleSummary* pop_preamble_summary() { return this; }
    1.55 +class AbandonedSummary: public PauseSummary {
    1.56  };
    1.57  
    1.58  class G1CollectorPolicy: public CollectorPolicy {
    1.59 @@ -146,10 +121,6 @@
    1.60    double _cur_satb_drain_time_ms;
    1.61    double _cur_clear_ct_time_ms;
    1.62    bool   _satb_drain_time_set;
    1.63 -  double _cur_popular_preamble_start_ms;
    1.64 -  double _cur_popular_preamble_time_ms;
    1.65 -  double _cur_popular_compute_rc_time_ms;
    1.66 -  double _cur_popular_evac_time_ms;
    1.67  
    1.68    double _cur_CH_strong_roots_end_sec;
    1.69    double _cur_CH_strong_roots_dur_ms;
    1.70 @@ -173,10 +144,8 @@
    1.71    TruncatedSeq* _concurrent_mark_remark_times_ms;
    1.72    TruncatedSeq* _concurrent_mark_cleanup_times_ms;
    1.73  
    1.74 -  NonPopSummary*           _non_pop_summary;
    1.75 -  PopSummary*              _pop_summary;
    1.76 -  NonPopAbandonedSummary*  _non_pop_abandoned_summary;
    1.77 -  PopAbandonedSummary*     _pop_abandoned_summary;
    1.78 +  Summary*           _summary;
    1.79 +  AbandonedSummary*  _abandoned_summary;
    1.80  
    1.81    NumberSeq* _all_pause_times_ms;
    1.82    NumberSeq* _all_full_gc_times_ms;
    1.83 @@ -210,18 +179,6 @@
    1.84    double* _par_last_obj_copy_times_ms;
    1.85    double* _par_last_termination_times_ms;
    1.86  
    1.87 -  // there are two pases during popular pauses, so we need to store
    1.88 -  // somewhere the results of the first pass
    1.89 -  double* _pop_par_last_update_rs_start_times_ms;
    1.90 -  double* _pop_par_last_update_rs_times_ms;
    1.91 -  double* _pop_par_last_update_rs_processed_buffers;
    1.92 -  double* _pop_par_last_scan_rs_start_times_ms;
    1.93 -  double* _pop_par_last_scan_rs_times_ms;
    1.94 -  double* _pop_par_last_closure_app_times_ms;
    1.95 -
    1.96 -  double _pop_compute_rc_start;
    1.97 -  double _pop_evac_start;
    1.98 -
    1.99    // indicates that we are in young GC mode
   1.100    bool _in_young_gc_mode;
   1.101  
   1.102 @@ -634,8 +591,7 @@
   1.103                           NumberSeq* calc_other_times_ms) const;
   1.104  
   1.105    void print_summary (PauseSummary* stats) const;
   1.106 -  void print_abandoned_summary(PauseSummary* non_pop_summary,
   1.107 -                               PauseSummary* pop_summary) const;
   1.108 +  void print_abandoned_summary(PauseSummary* summary) const;
   1.109  
   1.110    void print_summary (int level, const char* str, NumberSeq* seq) const;
   1.111    void print_summary_sd (int level, const char* str, NumberSeq* seq) const;
   1.112 @@ -856,9 +812,6 @@
   1.113    virtual void record_collection_pause_start(double start_time_sec,
   1.114                                               size_t start_used);
   1.115  
   1.116 -  virtual void record_popular_pause_preamble_start();
   1.117 -  virtual void record_popular_pause_preamble_end();
   1.118 -
   1.119    // Must currently be called while the world is stopped.
   1.120    virtual void record_concurrent_mark_init_start();
   1.121    virtual void record_concurrent_mark_init_end();
   1.122 @@ -881,7 +834,7 @@
   1.123    virtual void record_collection_pause_end_CH_strong_roots();
   1.124    virtual void record_collection_pause_end_G1_strong_roots();
   1.125  
   1.126 -  virtual void record_collection_pause_end(bool popular, bool abandoned);
   1.127 +  virtual void record_collection_pause_end(bool abandoned);
   1.128  
   1.129    // Record the fact that a full collection occurred.
   1.130    virtual void record_full_collection_start();
   1.131 @@ -990,12 +943,6 @@
   1.132      _cur_aux_times_ms[i] += ms;
   1.133    }
   1.134  
   1.135 -  void record_pop_compute_rc_start();
   1.136 -  void record_pop_compute_rc_end();
   1.137 -
   1.138 -  void record_pop_evac_start();
   1.139 -  void record_pop_evac_end();
   1.140 -
   1.141    // Record the fact that "bytes" bytes allocated in a region.
   1.142    void record_before_bytes(size_t bytes);
   1.143    void record_after_bytes(size_t bytes);
   1.144 @@ -1008,9 +955,7 @@
   1.145    // Choose a new collection set.  Marks the chosen regions as being
   1.146    // "in_collection_set", and links them together.  The head and number of
   1.147    // the collection set are available via access methods.
   1.148 -  // If "pop_region" is non-NULL, it is a popular region that has already
   1.149 -  // been added to the collection set.
   1.150 -  virtual void choose_collection_set(HeapRegion* pop_region = NULL) = 0;
   1.151 +  virtual void choose_collection_set() = 0;
   1.152  
   1.153    void clear_collection_set() { _collection_set = NULL; }
   1.154  
   1.155 @@ -1018,9 +963,6 @@
   1.156    // current collection set.
   1.157    HeapRegion* collection_set() { return _collection_set; }
   1.158  
   1.159 -  // Sets the collection set to the given single region.
   1.160 -  virtual void set_single_region_collection_set(HeapRegion* hr);
   1.161 -
   1.162    // The number of elements in the current collection set.
   1.163    size_t collection_set_size() { return _collection_set_size; }
   1.164  
   1.165 @@ -1203,7 +1145,7 @@
   1.166    // If the estimated is less then desirable, resize if possible.
   1.167    void expand_if_possible(size_t numRegions);
   1.168  
   1.169 -  virtual void choose_collection_set(HeapRegion* pop_region = NULL);
   1.170 +  virtual void choose_collection_set();
   1.171    virtual void record_collection_pause_start(double start_time_sec,
   1.172                                               size_t start_used);
   1.173    virtual void record_concurrent_mark_cleanup_end(size_t freed_bytes,
   1.174 @@ -1214,9 +1156,8 @@
   1.175    G1CollectorPolicy_BestRegionsFirst() {
   1.176      _collectionSetChooser = new CollectionSetChooser();
   1.177    }
   1.178 -  void record_collection_pause_end(bool popular, bool abandoned);
   1.179 +  void record_collection_pause_end(bool abandoned);
   1.180    bool should_do_collection_pause(size_t word_size);
   1.181 -  virtual void set_single_region_collection_set(HeapRegion* hr);
   1.182    // This is not needed any more, after the CSet choosing code was
   1.183    // changed to use the pause prediction work. But let's leave the
   1.184    // hook in just in case.

mercurial