< prev index next >
src/hotspot/share/gc/g1/g1ConcurrentMark.hpp
Print this page
rev 49484 : imported patch 8197573-remove-secondary-free-list
rev 49488 : imported patch 8197932-better-split-work-during-rebuild-phase
rev 49496 : imported patch 8151171-renamings
rev 49498 : imported patch 8200234-g1concurrentmark-refactorings
@@ -25,10 +25,11 @@
#ifndef SHARE_VM_GC_G1_G1CONCURRENTMARK_HPP
#define SHARE_VM_GC_G1_G1CONCURRENTMARK_HPP
#include "gc/g1/g1ConcurrentMarkBitMap.hpp"
#include "gc/g1/g1ConcurrentMarkObjArrayProcessor.hpp"
+#include "gc/g1/g1HeapVerifier.hpp"
#include "gc/g1/g1RegionMarkStatsCache.hpp"
#include "gc/g1/heapRegionSet.hpp"
#include "gc/shared/taskqueue.hpp"
#include "memory/allocation.hpp"
@@ -363,19 +364,27 @@
WorkGang* _concurrent_workers;
uint _num_concurrent_workers; // The number of marking worker threads we're using
uint _max_concurrent_workers; // Maximum number of marking worker threads
+ void verify_during_pause(G1HeapVerifier::G1VerifyType type, VerifyOption vo, const char* caller);
+
void finalize_marking();
void weak_refs_work_parallel_part(BoolObjectClosure* is_alive, bool purged_classes);
void weak_refs_work(bool clear_all_soft_refs);
+ void report_object_count();
+
void swap_mark_bitmaps();
void reclaim_empty_regions();
+ // Clear statistics gathered during the concurrent cycle for the given region after
+ // it has been reclaimed.
+ void clear_statistics(HeapRegion* r);
+
// Resets the global marking data structures, as well as the
// task local ones; should be called during initial mark.
void reset();
// Resets all the marking data structures. Called when we have to restart
@@ -445,13 +454,10 @@
// Clear the given bitmap in parallel using the given WorkGang. If may_yield is
// true, periodically insert checks to see if this method should exit prematurely.
void clear_bitmap(G1CMBitMap* bitmap, WorkGang* workers, bool may_yield);
- // Clear statistics gathered during the concurrent cycle for the given region after
- // it has been reclaimed.
- void clear_statistics_in_region(uint region_idx);
// Region statistics gathered during marking.
G1RegionMarkStats* _region_mark_stats;
// Top pointer for each region at the start of the rebuild remembered set process
// for regions which remembered sets need to be rebuilt. A NULL for a given region
// means that this region does not be scanned during the rebuilding remembered
@@ -466,10 +472,13 @@
// Sets the internal top_at_region_start for the given region to current top of the region.
inline void update_top_at_rebuild_start(HeapRegion* r);
// TARS for the given region during remembered set rebuilding.
inline HeapWord* top_at_rebuild_start(uint region) const;
+ // Clear statistics gathered during the concurrent cycle for the given region after
+ // it has been reclaimed.
+ void clear_statistics_in_region(uint region_idx);
// Notification for eagerly reclaimed regions to clean up.
void humongous_object_eagerly_reclaimed(HeapRegion* r);
// Manipulation of the global mark stack.
// The push and pop operations are used by tasks for transfers
// between task-local queues and the global mark stack.
< prev index next >