comparison src/share/vm/gc_implementation/g1/vm_operations_g1.cpp @ 3914:20213c8a3c40

7050392: G1: Introduce flag to generate a log of the G1 ergonomic decisions Summary: It introduces ergonomic decision logging in G1 for the following heuristics: heap sizing, collection set construction, concurrent cycle initiation, and partially-young GC start/end. The code has a bit of refactoring in a few places to make the decision logging possible. It also replaces alternative ad-hoc logging that we have under different parameters and switches (G1_DEBUG, G1PolicyVerbose). Reviewed-by: johnc, ysr
author tonyp
date Wed, 07 Sep 2011 12:21:23 -0400
parents 5130fa1b24f1
children db89aa49298f
comparison
equal deleted inserted replaced
3913:27702f012017 3914:20213c8a3c40
96 // setting it earlier. 96 // setting it earlier.
97 _full_collections_completed_before = g1h->full_collections_completed(); 97 _full_collections_completed_before = g1h->full_collections_completed();
98 98
99 // At this point we are supposed to start a concurrent cycle. We 99 // At this point we are supposed to start a concurrent cycle. We
100 // will do so if one is not already in progress. 100 // will do so if one is not already in progress.
101 bool res = g1h->g1_policy()->force_initial_mark_if_outside_cycle(); 101 bool res = g1h->g1_policy()->force_initial_mark_if_outside_cycle(_gc_cause);
102 102
103 // The above routine returns true if we were able to force the 103 // The above routine returns true if we were able to force the
104 // next GC pause to be an initial mark; it returns false if a 104 // next GC pause to be an initial mark; it returns false if a
105 // marking cycle is already in progress. 105 // marking cycle is already in progress.
106 // 106 //