comparison src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp @ 4829:9509c20bba28

6976060: G1: humongous object allocations should initiate marking cycles when necessary Reviewed-by: tonyp, johnc
author brutisso
date Mon, 16 Jan 2012 22:10:05 +0100
parents 2ace1c4ee8da
children d30fa85f9994
comparison
equal deleted inserted replaced
4828:851b58c26def 4829:9509c20bba28
353 // It decides whether an explicit GC should start a concurrent cycle 353 // It decides whether an explicit GC should start a concurrent cycle
354 // instead of doing a STW GC. Currently, a concurrent cycle is 354 // instead of doing a STW GC. Currently, a concurrent cycle is
355 // explicitly started if: 355 // explicitly started if:
356 // (a) cause == _gc_locker and +GCLockerInvokesConcurrent, or 356 // (a) cause == _gc_locker and +GCLockerInvokesConcurrent, or
357 // (b) cause == _java_lang_system_gc and +ExplicitGCInvokesConcurrent. 357 // (b) cause == _java_lang_system_gc and +ExplicitGCInvokesConcurrent.
358 // (c) cause == _g1_humongous_allocation
358 bool should_do_concurrent_full_gc(GCCause::Cause cause); 359 bool should_do_concurrent_full_gc(GCCause::Cause cause);
359 360
360 // Keeps track of how many "full collections" (i.e., Full GCs or 361 // Keeps track of how many "full collections" (i.e., Full GCs or
361 // concurrent cycles) we have completed. The number of them we have 362 // concurrent cycles) we have completed. The number of them we have
362 // started is maintained in _total_full_collections in CollectedHeap. 363 // started is maintained in _total_full_collections in CollectedHeap.
1170 1171
1171 void old_set_remove(HeapRegion* hr) { 1172 void old_set_remove(HeapRegion* hr) {
1172 _old_set.remove(hr); 1173 _old_set.remove(hr);
1173 } 1174 }
1174 1175
1176 size_t non_young_capacity_bytes() {
1177 return _old_set.total_capacity_bytes() + _humongous_set.total_capacity_bytes();
1178 }
1179
1175 void set_free_regions_coming(); 1180 void set_free_regions_coming();
1176 void reset_free_regions_coming(); 1181 void reset_free_regions_coming();
1177 bool free_regions_coming() { return _free_regions_coming; } 1182 bool free_regions_coming() { return _free_regions_coming; }
1178 void wait_while_free_regions_coming(); 1183 void wait_while_free_regions_coming();
1179 1184