7168294: G1: Some Full GCs incorrectly report GC cause as "No GC"

Tue, 15 May 2012 09:49:18 -0700

author
johnc
date
Tue, 15 May 2012 09:49:18 -0700
changeset 3765
1096fc5a52eb
parent 3764
33e366609904
child 3766
cdfa5139bd58

7168294: G1: Some Full GCs incorrectly report GC cause as "No GC"
Summary: GC cause was not being set by the VM_G1CollectForAllocation VM operation.
Reviewed-by: jmasa, ysr, brutisso

src/share/vm/gc_implementation/g1/vm_operations_g1.cpp file | annotate | diff | comparison | revisions
     1.1 --- a/src/share/vm/gc_implementation/g1/vm_operations_g1.cpp	Mon May 14 21:07:28 2012 -0700
     1.2 +++ b/src/share/vm/gc_implementation/g1/vm_operations_g1.cpp	Tue May 15 09:49:18 2012 -0700
     1.3 @@ -42,6 +42,7 @@
     1.4  
     1.5  void VM_G1CollectForAllocation::doit() {
     1.6    G1CollectedHeap* g1h = G1CollectedHeap::heap();
     1.7 +  GCCauseSetter x(g1h, _gc_cause);
     1.8    _result = g1h->satisfy_failed_allocation(_word_size, &_pause_succeeded);
     1.9    assert(_result == NULL || _pause_succeeded,
    1.10           "if we get back a result, the pause should have succeeded");

mercurial