Mercurial > hg > truffle
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 |