< prev index next >

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

Print this page




 433   // This is true from the very start of concurrent marking until the
 434   // point when all the tasks complete their work. It is really used
 435   // to determine the points between the end of concurrent marking and
 436   // time of remark.
 437   volatile bool           _concurrent_marking_in_progress;
 438 
 439   // Verbose level
 440   CMVerboseLevel          _verbose_level;
 441 
 442   // All of these times are in ms
 443   NumberSeq _init_times;
 444   NumberSeq _remark_times;
 445   NumberSeq _remark_mark_times;
 446   NumberSeq _remark_weak_ref_times;
 447   NumberSeq _cleanup_times;
 448   double    _total_counting_time;
 449   double    _total_rs_scrub_time;
 450 
 451   double*   _accum_task_vtime;   // Accumulated task vtime
 452 
 453   FlexibleWorkGang* _parallel_workers;
 454 
 455   ForceOverflowSettings _force_overflow_conc;
 456   ForceOverflowSettings _force_overflow_stw;
 457 
 458   void weakRefsWorkParallelPart(BoolObjectClosure* is_alive, bool purged_classes);
 459   void weakRefsWork(bool clear_all_soft_refs);
 460 
 461   void swapMarkBitMaps();
 462 
 463   // It resets the global marking data structures, as well as the
 464   // task local ones; should be called during initial mark.
 465   void reset();
 466 
 467   // Resets all the marking data structures. Called when we have to restart
 468   // marking or when marking completes (via set_non_marking_state below).
 469   void reset_marking_state(bool clear_overflow = true);
 470 
 471   // We do this after we're done with marking so that the marking data
 472   // structures are initialized to a sensible and predictable state.
 473   void set_non_marking_state();




 433   // This is true from the very start of concurrent marking until the
 434   // point when all the tasks complete their work. It is really used
 435   // to determine the points between the end of concurrent marking and
 436   // time of remark.
 437   volatile bool           _concurrent_marking_in_progress;
 438 
 439   // Verbose level
 440   CMVerboseLevel          _verbose_level;
 441 
 442   // All of these times are in ms
 443   NumberSeq _init_times;
 444   NumberSeq _remark_times;
 445   NumberSeq _remark_mark_times;
 446   NumberSeq _remark_weak_ref_times;
 447   NumberSeq _cleanup_times;
 448   double    _total_counting_time;
 449   double    _total_rs_scrub_time;
 450 
 451   double*   _accum_task_vtime;   // Accumulated task vtime
 452 
 453   WorkGang* _parallel_workers;
 454 
 455   ForceOverflowSettings _force_overflow_conc;
 456   ForceOverflowSettings _force_overflow_stw;
 457 
 458   void weakRefsWorkParallelPart(BoolObjectClosure* is_alive, bool purged_classes);
 459   void weakRefsWork(bool clear_all_soft_refs);
 460 
 461   void swapMarkBitMaps();
 462 
 463   // It resets the global marking data structures, as well as the
 464   // task local ones; should be called during initial mark.
 465   void reset();
 466 
 467   // Resets all the marking data structures. Called when we have to restart
 468   // marking or when marking completes (via set_non_marking_state below).
 469   void reset_marking_state(bool clear_overflow = true);
 470 
 471   // We do this after we're done with marking so that the marking data
 472   // structures are initialized to a sensible and predictable state.
 473   void set_non_marking_state();


< prev index next >