< prev index next >

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

Print this page




 385   // the recorded info for the evacuation pause.
 386 
 387   enum CSetBuildType {
 388     Active,             // We are actively building the collection set
 389     Inactive            // We are not actively building the collection set
 390   };
 391 
 392   CSetBuildType _inc_cset_build_state;
 393 
 394   // The head of the incrementally built collection set.
 395   HeapRegion* _inc_cset_head;
 396 
 397   // The tail of the incrementally built collection set.
 398   HeapRegion* _inc_cset_tail;
 399 
 400   // The number of bytes in the incrementally built collection set.
 401   // Used to set _collection_set_bytes_used_before at the start of
 402   // an evacuation pause.
 403   size_t _inc_cset_bytes_used_before;
 404 
 405   // Used to record the highest end of heap region in collection set
 406   HeapWord* _inc_cset_max_finger;
 407 
 408   // The RSet lengths recorded for regions in the CSet. It is updated
 409   // by the thread that adds a new region to the CSet. We assume that
 410   // only one thread can be allocating a new CSet region (currently,
 411   // it does so after taking the Heap_lock) hence no need to
 412   // synchronize updates to this field.
 413   size_t _inc_cset_recorded_rs_lengths;
 414 
 415   // A concurrent refinement thread periodically samples the young
 416   // region RSets and needs to update _inc_cset_recorded_rs_lengths as
 417   // the RSets grow. Instead of having to synchronize updates to that
 418   // field we accumulate them in this field and add it to
 419   // _inc_cset_recorded_rs_lengths_diffs at the start of a GC.
 420   ssize_t _inc_cset_recorded_rs_lengths_diffs;
 421 
 422   // The predicted elapsed time it will take to collect the regions in
 423   // the CSet. This is updated by the thread that adds a new region to
 424   // the CSet. See the comment for _inc_cset_recorded_rs_lengths about
 425   // MT-safety assumptions.
 426   double _inc_cset_predicted_elapsed_time_ms;
 427 




 385   // the recorded info for the evacuation pause.
 386 
 387   enum CSetBuildType {
 388     Active,             // We are actively building the collection set
 389     Inactive            // We are not actively building the collection set
 390   };
 391 
 392   CSetBuildType _inc_cset_build_state;
 393 
 394   // The head of the incrementally built collection set.
 395   HeapRegion* _inc_cset_head;
 396 
 397   // The tail of the incrementally built collection set.
 398   HeapRegion* _inc_cset_tail;
 399 
 400   // The number of bytes in the incrementally built collection set.
 401   // Used to set _collection_set_bytes_used_before at the start of
 402   // an evacuation pause.
 403   size_t _inc_cset_bytes_used_before;
 404 



 405   // The RSet lengths recorded for regions in the CSet. It is updated
 406   // by the thread that adds a new region to the CSet. We assume that
 407   // only one thread can be allocating a new CSet region (currently,
 408   // it does so after taking the Heap_lock) hence no need to
 409   // synchronize updates to this field.
 410   size_t _inc_cset_recorded_rs_lengths;
 411 
 412   // A concurrent refinement thread periodically samples the young
 413   // region RSets and needs to update _inc_cset_recorded_rs_lengths as
 414   // the RSets grow. Instead of having to synchronize updates to that
 415   // field we accumulate them in this field and add it to
 416   // _inc_cset_recorded_rs_lengths_diffs at the start of a GC.
 417   ssize_t _inc_cset_recorded_rs_lengths_diffs;
 418 
 419   // The predicted elapsed time it will take to collect the regions in
 420   // the CSet. This is updated by the thread that adds a new region to
 421   // the CSet. See the comment for _inc_cset_recorded_rs_lengths about
 422   // MT-safety assumptions.
 423   double _inc_cset_predicted_elapsed_time_ms;
 424 


< prev index next >