< prev index next >

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

Print this page
rev 49511 : imported patch 8200234-g1concurrentmark-refactorings
rev 49515 : 8200255: Remove G1CMTask::_concurrent
Reviewed-by: sangheki, sjohanss
rev 49516 : 8200074: Remove G1ConcurrentMark::_concurrent_marking_in_progress
Reviewed-by: sjohanss, sangheki
rev 49518 : imported patch 8200385-prev-bitmap-marks-left
rev 49520 : imported patch 8178105-switch-at-remark


 350   NumberSeq _init_times;
 351   NumberSeq _remark_times;
 352   NumberSeq _remark_mark_times;
 353   NumberSeq _remark_weak_ref_times;
 354   NumberSeq _cleanup_times;
 355   double    _total_cleanup_time;
 356 
 357   double*   _accum_task_vtime;   // Accumulated task vtime
 358 
 359   WorkGang* _concurrent_workers;
 360   uint      _num_concurrent_workers; // The number of marking worker threads we're using
 361   uint      _max_concurrent_workers; // Maximum number of marking worker threads
 362 
 363   void verify_during_pause(G1HeapVerifier::G1VerifyType type, VerifyOption vo, const char* caller);
 364 
 365   void finalize_marking();
 366 
 367   void weak_refs_work_parallel_part(BoolObjectClosure* is_alive, bool purged_classes);
 368   void weak_refs_work(bool clear_all_soft_refs);
 369 
 370   void report_object_count();
 371 
 372   void swap_mark_bitmaps();
 373 
 374   void reclaim_empty_regions();
 375 
 376   // Clear statistics gathered during the concurrent cycle for the given region after
 377   // it has been reclaimed.
 378   void clear_statistics(HeapRegion* r);
 379 
 380   // Resets the global marking data structures, as well as the
 381   // task local ones; should be called during initial mark.
 382   void reset();
 383 
 384   // Resets all the marking data structures. Called when we have to restart
 385   // marking or when marking completes (via set_non_marking_state below).
 386   void reset_marking_for_restart();
 387 
 388   // We do this after we're done with marking so that the marking data
 389   // structures are initialized to a sensible and predictable state.
 390   void reset_at_marking_complete();




 350   NumberSeq _init_times;
 351   NumberSeq _remark_times;
 352   NumberSeq _remark_mark_times;
 353   NumberSeq _remark_weak_ref_times;
 354   NumberSeq _cleanup_times;
 355   double    _total_cleanup_time;
 356 
 357   double*   _accum_task_vtime;   // Accumulated task vtime
 358 
 359   WorkGang* _concurrent_workers;
 360   uint      _num_concurrent_workers; // The number of marking worker threads we're using
 361   uint      _max_concurrent_workers; // Maximum number of marking worker threads
 362 
 363   void verify_during_pause(G1HeapVerifier::G1VerifyType type, VerifyOption vo, const char* caller);
 364 
 365   void finalize_marking();
 366 
 367   void weak_refs_work_parallel_part(BoolObjectClosure* is_alive, bool purged_classes);
 368   void weak_refs_work(bool clear_all_soft_refs);
 369 
 370   void report_object_count(bool mark_completed);
 371 
 372   void swap_mark_bitmaps();
 373 
 374   void reclaim_empty_regions();
 375 
 376   // Clear statistics gathered during the concurrent cycle for the given region after
 377   // it has been reclaimed.
 378   void clear_statistics(HeapRegion* r);
 379 
 380   // Resets the global marking data structures, as well as the
 381   // task local ones; should be called during initial mark.
 382   void reset();
 383 
 384   // Resets all the marking data structures. Called when we have to restart
 385   // marking or when marking completes (via set_non_marking_state below).
 386   void reset_marking_for_restart();
 387 
 388   // We do this after we're done with marking so that the marking data
 389   // structures are initialized to a sensible and predictable state.
 390   void reset_at_marking_complete();


< prev index next >