< prev index next >
src/share/vm/gc/g1/g1CollectedHeap.hpp
Print this page
rev 13070 : imported patch 8177544-full-gc-scope
rev 13071 : [mq]: 8177544-full-gc-scope-tschatzl-rev1
@@ -32,10 +32,11 @@
#include "gc/g1/g1CollectorState.hpp"
#include "gc/g1/g1ConcurrentMark.hpp"
#include "gc/g1/g1EdenRegions.hpp"
#include "gc/g1/g1EvacFailure.hpp"
#include "gc/g1/g1EvacStats.hpp"
+#include "gc/g1/g1HeapTransition.hpp"
#include "gc/g1/g1HeapVerifier.hpp"
#include "gc/g1/g1HRPrinter.hpp"
#include "gc/g1/g1InCSetState.hpp"
#include "gc/g1/g1MonitoringSupport.hpp"
#include "gc/g1/g1SATBCardTableModRefBS.hpp"
@@ -85,10 +86,11 @@
class nmethod;
class Ticks;
class WorkGang;
class G1Allocator;
class G1ArchiveAllocator;
+class G1FullGCScope;
class G1HeapVerifier;
class G1HeapSizingPolicy;
typedef OverflowTaskQueue<StarTask, mtGC> RefToScanQueue;
typedef GenericTaskQueueSet<RefToScanQueue, mtGC> RefToScanQueueSet;
@@ -508,10 +510,21 @@
// failed allocation request (including collection, expansion, etc.)
HeapWord* satisfy_failed_allocation(size_t word_size,
AllocationContext_t context,
bool* succeeded);
private:
+ // Internal helpers used during full GC to split it up to
+ // increase readability.
+ void do_full_collection_inner(G1FullGCScope* scope);
+ void abort_concurrent_cycle();
+ void verify_before_full_collection(bool explicit_gc);
+ void prepare_heap_for_full_collection();
+ void prepare_heap_for_mutators();
+ void abort_refinement();
+ void verify_after_full_collection();
+ void print_heap_after_full_collection(G1HeapTransition* heap_transition);
+
// Helper method for satisfy_failed_allocation()
HeapWord* satisfy_failed_allocation_helper(size_t word_size,
AllocationContext_t context,
bool do_gc,
bool clear_all_soft_refs,
< prev index next >