hotspot/src/share/vm/gc/g1/g1Policy.hpp
changeset 38013 89b93eb018fb
parent 38010 51fe205359f8
child 38076 581ddcff38d9
--- a/hotspot/src/share/vm/gc/g1/g1Policy.hpp	Tue Apr 19 14:53:32 2016 +0200
+++ b/hotspot/src/share/vm/gc/g1/g1Policy.hpp	Tue Apr 19 14:53:33 2016 +0200
@@ -50,9 +50,8 @@
 
 class G1Policy: public CHeapObj<mtGC> {
  private:
-  G1IHOPControl* _ihop_control;
 
-  G1IHOPControl* create_ihop_control() const;
+  static G1IHOPControl* create_ihop_control(const G1Predictions* predictor);
   // Update the IHOP control with necessary statistics.
   void update_ihop_prediction(double mutator_time_s,
                               size_t mutator_alloc_bytes,
@@ -62,6 +61,7 @@
   G1Predictions _predictor;
   G1Analytics* _analytics;
   G1MMUTracker* _mmu_tracker;
+  G1IHOPControl* _ihop_control;
 
   GCPolicyCounters* _policy_counters;
 
@@ -74,10 +74,14 @@
   // locker is active. This should be >= _young_list_target_length;
   uint _young_list_max_length;
 
+  // SurvRateGroups below must be initialized after the predictor because they
+  // indirectly use it through this object passed to their constructor.
   SurvRateGroup* _short_lived_surv_rate_group;
   SurvRateGroup* _survivor_surv_rate_group;
 
   double _reserve_factor;
+  // This will be set when the heap is expanded
+  // for the first time during initialization.
   uint   _reserve_regions;
 
   G1YoungGenSizer _young_gen_sizer;
@@ -92,8 +96,6 @@
   bool verify_young_ages(HeapRegion* head, SurvRateGroup *surv_rate_group);
 #endif // PRODUCT
 
-  double _pause_time_target_ms;
-
   size_t _pending_cards;
 
   // The amount of allocated bytes in old gen during the last mutator and the following
@@ -299,7 +301,7 @@
   // This should be called after the heap is resized.
   void record_new_heap_size(uint new_number_of_regions);
 
-  void init();
+  void init(G1CollectedHeap* g1h, G1CollectionSet* collection_set);
 
   virtual void note_gc_start();