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

changeset 2011
4e5661ba9d98
parent 1966
215576b54709
child 2060
2d160770d2e5
     1.1 --- a/src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp	Mon Jun 28 14:13:18 2010 -0400
     1.2 +++ b/src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp	Mon Jun 28 14:13:17 2010 -0400
     1.3 @@ -199,8 +199,6 @@
     1.4    size_t _young_cset_length;
     1.5    bool   _last_young_gc_full;
     1.6  
     1.7 -  double _target_pause_time_ms;
     1.8 -
     1.9    unsigned              _full_young_pause_num;
    1.10    unsigned              _partial_young_pause_num;
    1.11  
    1.12 @@ -526,6 +524,10 @@
    1.13      return _mmu_tracker;
    1.14    }
    1.15  
    1.16 +  double max_pause_time_ms() {
    1.17 +    return _mmu_tracker->max_gc_time() * 1000.0;
    1.18 +  }
    1.19 +
    1.20    double predict_init_time_ms() {
    1.21      return get_new_prediction(_concurrent_mark_init_times_ms);
    1.22    }
    1.23 @@ -1008,7 +1010,7 @@
    1.24    // Choose a new collection set.  Marks the chosen regions as being
    1.25    // "in_collection_set", and links them together.  The head and number of
    1.26    // the collection set are available via access methods.
    1.27 -  virtual bool choose_collection_set() = 0;
    1.28 +  virtual bool choose_collection_set(double target_pause_time_ms) = 0;
    1.29  
    1.30    // The head of the list (via "next_in_collection_set()") representing the
    1.31    // current collection set.
    1.32 @@ -1077,6 +1079,12 @@
    1.33    void set_during_initial_mark_pause()  { _during_initial_mark_pause = true;  }
    1.34    void clear_during_initial_mark_pause(){ _during_initial_mark_pause = false; }
    1.35  
    1.36 +  // This sets the initiate_conc_mark_if_possible() flag to start a
    1.37 +  // new cycle, as long as we are not already in one. It's best if it
    1.38 +  // is called during a safepoint when the test whether a cycle is in
    1.39 +  // progress or not is stable.
    1.40 +  bool force_initial_mark_if_outside_cycle();
    1.41 +
    1.42    // This is called at the very beginning of an evacuation pause (it
    1.43    // has to be the first thing that the pause does). If
    1.44    // initiate_conc_mark_if_possible() is true, and the concurrent
    1.45 @@ -1259,7 +1267,7 @@
    1.46    // If the estimated is less then desirable, resize if possible.
    1.47    void expand_if_possible(size_t numRegions);
    1.48  
    1.49 -  virtual bool choose_collection_set();
    1.50 +  virtual bool choose_collection_set(double target_pause_time_ms);
    1.51    virtual void record_collection_pause_start(double start_time_sec,
    1.52                                               size_t start_used);
    1.53    virtual void record_concurrent_mark_cleanup_end(size_t freed_bytes,

mercurial