aboutsummaryrefslogtreecommitdiff
path: root/src/share/vm/gc_implementation/shared/vmGCOperations.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/share/vm/gc_implementation/shared/vmGCOperations.cpp')
-rw-r--r--src/share/vm/gc_implementation/shared/vmGCOperations.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/share/vm/gc_implementation/shared/vmGCOperations.cpp b/src/share/vm/gc_implementation/shared/vmGCOperations.cpp
index 972099b9c..d60f751af 100644
--- a/src/share/vm/gc_implementation/shared/vmGCOperations.cpp
+++ b/src/share/vm/gc_implementation/shared/vmGCOperations.cpp
@@ -201,6 +201,19 @@ void VM_GenCollectForAllocation::doit() {
}
}
+static bool is_full_gc(int max_level) {
+ // Return true if max_level is all generations
+ return (max_level == (GenCollectedHeap::heap()->n_gens() - 1));
+}
+
+VM_GenCollectFull::VM_GenCollectFull(uint gc_count_before,
+ uint full_gc_count_before,
+ GCCause::Cause gc_cause,
+ int max_level) :
+ VM_GC_Operation(gc_count_before, gc_cause, full_gc_count_before,
+ is_full_gc(max_level) /* full */),
+ _max_level(max_level) { }
+
void VM_GenCollectFull::doit() {
SvcGCMarker sgcm(SvcGCMarker::FULL);