src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp
Print this page
rev 4482 : 8013934: Garbage collection event for CMS has wrong cause for System.gc()
@@ -572,10 +572,11 @@
// Initialization Errors
bool _completed_initialization;
// In support of ExplicitGCInvokesConcurrent
static bool _full_gc_requested;
+ static GCCause::Cause _full_gc_cause;
unsigned int _collection_count_start;
// Should we unload classes this concurrent cycle?
bool _should_unload_classes;
unsigned int _concurrent_cycles_since_last_unload;
@@ -903,15 +904,15 @@
void collect(bool full,
bool clear_all_soft_refs,
size_t size,
bool tlab);
- void collect_in_background(bool clear_all_soft_refs);
- void collect_in_foreground(bool clear_all_soft_refs);
+ void collect_in_background(bool clear_all_soft_refs, GCCause::Cause cause);
+ void collect_in_foreground(bool clear_all_soft_refs, GCCause::Cause cause);
// In support of ExplicitGCInvokesConcurrent
- static void request_full_gc(unsigned int full_gc_count);
+ static void request_full_gc(unsigned int full_gc_count, GCCause::Cause cause);
// Should we unload classes in a particular concurrent cycle?
bool should_unload_classes() const {
return _should_unload_classes;
}
bool update_should_unload_classes();