< prev index next >

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

Print this page
rev 50605 : Updated patch.


 363 
 364   double*   _accum_task_vtime;   // Accumulated task vtime
 365 
 366   WorkGang* _concurrent_workers;
 367   uint      _num_concurrent_workers; // The number of marking worker threads we're using
 368   uint      _max_concurrent_workers; // Maximum number of marking worker threads
 369 
 370   void verify_during_pause(G1HeapVerifier::G1VerifyType type, VerifyOption vo, const char* caller);
 371 
 372   void finalize_marking();
 373 
 374   void weak_refs_work_parallel_part(BoolObjectClosure* is_alive, bool purged_classes);
 375   void weak_refs_work(bool clear_all_soft_refs);
 376 
 377   void report_object_count(bool mark_completed);
 378 
 379   void swap_mark_bitmaps();
 380 
 381   void reclaim_empty_regions();
 382 

 383   // After reclaiming empty regions, update heap sizes.
 384   void compute_new_sizes();

 385 
 386   // Clear statistics gathered during the concurrent cycle for the given region after
 387   // it has been reclaimed.
 388   void clear_statistics(HeapRegion* r);
 389 
 390   // Resets the global marking data structures, as well as the
 391   // task local ones; should be called during initial mark.
 392   void reset();
 393 
 394   // Resets all the marking data structures. Called when we have to restart
 395   // marking or when marking completes (via set_non_marking_state below).
 396   void reset_marking_for_restart();
 397 
 398   // We do this after we're done with marking so that the marking data
 399   // structures are initialized to a sensible and predictable state.
 400   void reset_at_marking_complete();
 401 
 402   // Called to indicate how many threads are currently active.
 403   void set_concurrency(uint active_tasks);
 404 




 363 
 364   double*   _accum_task_vtime;   // Accumulated task vtime
 365 
 366   WorkGang* _concurrent_workers;
 367   uint      _num_concurrent_workers; // The number of marking worker threads we're using
 368   uint      _max_concurrent_workers; // Maximum number of marking worker threads
 369 
 370   void verify_during_pause(G1HeapVerifier::G1VerifyType type, VerifyOption vo, const char* caller);
 371 
 372   void finalize_marking();
 373 
 374   void weak_refs_work_parallel_part(BoolObjectClosure* is_alive, bool purged_classes);
 375   void weak_refs_work(bool clear_all_soft_refs);
 376 
 377   void report_object_count(bool mark_completed);
 378 
 379   void swap_mark_bitmaps();
 380 
 381   void reclaim_empty_regions();
 382 
 383 public:
 384   // After reclaiming empty regions, update heap sizes.
 385   void compute_new_sizes();
 386 private:
 387 
 388   // Clear statistics gathered during the concurrent cycle for the given region after
 389   // it has been reclaimed.
 390   void clear_statistics(HeapRegion* r);
 391 
 392   // Resets the global marking data structures, as well as the
 393   // task local ones; should be called during initial mark.
 394   void reset();
 395 
 396   // Resets all the marking data structures. Called when we have to restart
 397   // marking or when marking completes (via set_non_marking_state below).
 398   void reset_marking_for_restart();
 399 
 400   // We do this after we're done with marking so that the marking data
 401   // structures are initialized to a sensible and predictable state.
 402   void reset_at_marking_complete();
 403 
 404   // Called to indicate how many threads are currently active.
 405   void set_concurrency(uint active_tasks);
 406 


< prev index next >