< prev index next >

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

Print this page
rev 49504 : imported patch 8151171-renamings
rev 49506 : imported patch 8200234-g1concurrentmark-refactorings
rev 49510 : 8200255: Remove G1CMTask::_concurrent
Reviewed-by: sangheki, sjohanss
rev 49511 : 8200074: Remove G1ConcurrentMark::_concurrent_marking_in_progress
Reviewed-by: sjohanss, sangheki
rev 49513 : [mq]: 8200385-prev-bitmap-marks-left
rev 49515 : imported patch 8178105-switch-at-remark
rev 49516 : [mq]: 8154528-reclaim-at-remark


 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();
 391 
 392   // Called to indicate how many threads are currently active.
 393   void set_concurrency(uint active_tasks);
 394 
 395   // Should be called to indicate which phase we're in (concurrent




 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   // After reclaiming empty regions, update heap sizes.
 377   void compute_new_sizes();
 378 
 379   // Clear statistics gathered during the concurrent cycle for the given region after
 380   // it has been reclaimed.
 381   void clear_statistics(HeapRegion* r);
 382 
 383   // Resets the global marking data structures, as well as the
 384   // task local ones; should be called during initial mark.
 385   void reset();
 386 
 387   // Resets all the marking data structures. Called when we have to restart
 388   // marking or when marking completes (via set_non_marking_state below).
 389   void reset_marking_for_restart();
 390 
 391   // We do this after we're done with marking so that the marking data
 392   // structures are initialized to a sensible and predictable state.
 393   void reset_at_marking_complete();
 394 
 395   // Called to indicate how many threads are currently active.
 396   void set_concurrency(uint active_tasks);
 397 
 398   // Should be called to indicate which phase we're in (concurrent


< prev index next >