# HG changeset patch # User brutisso # Date 1412694891 0 # Node ID 1b61c1b7b519f4b342d030d61761ca501287ee08 # Parent 1b8c9d3d8764c0787c8a85cb41ee8519a805015f# Parent d3fd732958857a52d5ebbedc265fb074d6bc4ac8 Merge diff -r 1b8c9d3d8764 -r 1b61c1b7b519 src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp --- a/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Tue Sep 16 21:29:30 2014 +0400 +++ b/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Tue Oct 07 15:14:51 2014 +0000 @@ -2343,6 +2343,7 @@ case GCCause::_gc_locker: return GCLockerInvokesConcurrent; case GCCause::_java_lang_system_gc: return ExplicitGCInvokesConcurrent; case GCCause::_g1_humongous_allocation: return true; + case GCCause::_update_allocation_context_stats_inc: return true; default: return false; } } diff -r 1b8c9d3d8764 -r 1b61c1b7b519 src/share/vm/gc_implementation/g1/vm_operations_g1.cpp --- a/src/share/vm/gc_implementation/g1/vm_operations_g1.cpp Tue Sep 16 21:29:30 2014 +0400 +++ b/src/share/vm/gc_implementation/g1/vm_operations_g1.cpp Tue Oct 07 15:14:51 2014 +0000 @@ -95,8 +95,9 @@ assert(!_should_initiate_conc_mark || ((_gc_cause == GCCause::_gc_locker && GCLockerInvokesConcurrent) || (_gc_cause == GCCause::_java_lang_system_gc && ExplicitGCInvokesConcurrent) || - _gc_cause == GCCause::_g1_humongous_allocation), - "only a GC locker, a System.gc() or a hum allocation induced GC should start a cycle"); + _gc_cause == GCCause::_g1_humongous_allocation || + _gc_cause == GCCause::_update_allocation_context_stats_inc), + "only a GC locker, a System.gc(), stats update or a hum allocation induced GC should start a cycle"); if (_word_size > 0) { // An allocation has been requested. So, try to do that first. diff -r 1b8c9d3d8764 -r 1b61c1b7b519 src/share/vm/gc_interface/gcCause.cpp --- a/src/share/vm/gc_interface/gcCause.cpp Tue Sep 16 21:29:30 2014 +0400 +++ b/src/share/vm/gc_interface/gcCause.cpp Tue Oct 07 15:14:51 2014 +0000 @@ -54,7 +54,8 @@ case _wb_young_gc: return "WhiteBox Initiated Young GC"; - case _update_allocation_context_stats: + case _update_allocation_context_stats_inc: + case _update_allocation_context_stats_full: return "Update Allocation Context Stats"; case _no_gc: diff -r 1b8c9d3d8764 -r 1b61c1b7b519 src/share/vm/gc_interface/gcCause.hpp --- a/src/share/vm/gc_interface/gcCause.hpp Tue Sep 16 21:29:30 2014 +0400 +++ b/src/share/vm/gc_interface/gcCause.hpp Tue Oct 07 15:14:51 2014 +0000 @@ -47,7 +47,8 @@ _heap_inspection, _heap_dump, _wb_young_gc, - _update_allocation_context_stats, + _update_allocation_context_stats_inc, + _update_allocation_context_stats_full, /* implementation independent, but reserved for GC use */ _no_gc,