< prev index next >

src/hotspot/share/gc/g1/g1Policy.hpp

Print this page
rev 57998 : [mq]: softmaxheapsize2


 272   // The kind of STW pause.
 273   enum PauseKind {
 274     FullGC,
 275     YoungOnlyGC,
 276     MixedGC,
 277     LastYoungGC,
 278     InitialMarkGC,
 279     Cleanup,
 280     Remark
 281   };
 282 
 283   // Calculate PauseKind from internal state.
 284   PauseKind young_gc_pause_kind() const;
 285   // Record the given STW pause with the given start and end times (in s).
 286   void record_pause(PauseKind kind, double start, double end);
 287   // Indicate that we aborted marking before doing any mixed GCs.
 288   void abort_time_to_mixed_tracking();
 289 
 290   void record_concurrent_refinement_data(bool is_full_collection);
 291 

 292 public:
 293 
 294   G1Policy(STWGCTimer* gc_timer);
 295 
 296   virtual ~G1Policy();
 297 
 298   static G1Policy* create_policy(STWGCTimer* gc_timer_stw);
 299 
 300   G1CollectorState* collector_state() const;
 301 
 302   G1GCPhaseTimes* phase_times() const { return _phase_times; }
 303 
 304   // Check the current value of the young list RSet length and
 305   // compare it against the last prediction. If the current value is
 306   // higher, recalculate the young list target length prediction.
 307   void revise_young_list_target_length_if_necessary(size_t rs_length);
 308 
 309   // This should be called after the heap is resized.
 310   void record_new_heap_size(uint new_number_of_regions);

 311 
 312   virtual void init(G1CollectedHeap* g1h, G1CollectionSet* collection_set);
 313 
 314   void note_gc_start();
 315 
 316   bool need_to_start_conc_mark(const char* source, size_t alloc_word_size = 0);
 317 
 318   bool about_to_start_mixed_phase() const;
 319 
 320   // Record the start and end of an evacuation pause.
 321   void record_collection_pause_start(double start_time_sec);
 322   virtual void record_collection_pause_end(double pause_time_ms);
 323 
 324   // Record the start and end of a full collection.
 325   void record_full_collection_start();
 326   virtual void record_full_collection_end();
 327 
 328   // Must currently be called while the world is stopped.
 329   void record_concurrent_mark_init_end(double mark_init_elapsed_time_ms);
 330 




 272   // The kind of STW pause.
 273   enum PauseKind {
 274     FullGC,
 275     YoungOnlyGC,
 276     MixedGC,
 277     LastYoungGC,
 278     InitialMarkGC,
 279     Cleanup,
 280     Remark
 281   };
 282 
 283   // Calculate PauseKind from internal state.
 284   PauseKind young_gc_pause_kind() const;
 285   // Record the given STW pause with the given start and end times (in s).
 286   void record_pause(PauseKind kind, double start, double end);
 287   // Indicate that we aborted marking before doing any mixed GCs.
 288   void abort_time_to_mixed_tracking();
 289 
 290   void record_concurrent_refinement_data(bool is_full_collection);
 291 
 292   void record_new_target_heap_size(uint new_number_of_regions, uint reserve_regions);
 293 public:
 294 
 295   G1Policy(STWGCTimer* gc_timer);
 296 
 297   virtual ~G1Policy();
 298 
 299   static G1Policy* create_policy(STWGCTimer* gc_timer_stw);
 300 
 301   G1CollectorState* collector_state() const;
 302 
 303   G1GCPhaseTimes* phase_times() const { return _phase_times; }
 304 
 305   // Check the current value of the young list RSet length and
 306   // compare it against the last prediction. If the current value is
 307   // higher, recalculate the young list target length prediction.
 308   void revise_young_list_target_length_if_necessary(size_t rs_length);
 309 
 310   // Updates heap size targets taking current heap dimensions into account. This should
 311   // be called after changes to the sizes of the heap.
 312   void update_heap_target_size(uint num_regions, uint soft_goal_num_regions);
 313 
 314   virtual void init(G1CollectedHeap* g1h, G1CollectionSet* collection_set);
 315 
 316   void note_gc_start();
 317 
 318   bool need_to_start_conc_mark(const char* source, size_t alloc_word_size = 0);
 319 
 320   bool about_to_start_mixed_phase() const;
 321 
 322   // Record the start and end of an evacuation pause.
 323   void record_collection_pause_start(double start_time_sec);
 324   virtual void record_collection_pause_end(double pause_time_ms);
 325 
 326   // Record the start and end of a full collection.
 327   void record_full_collection_start();
 328   virtual void record_full_collection_end();
 329 
 330   // Must currently be called while the world is stopped.
 331   void record_concurrent_mark_init_end(double mark_init_elapsed_time_ms);
 332 


< prev index next >