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();
|