< prev index next >

src/hotspot/share/gc/g1/g1CollectedHeap.cpp

Print this page
rev 53920 : imported patch 8218880-g1-crashes-periodic-gc-gclocker
rev 53921 : [mq]: 8218880-shade-review
rev 53924 : imported patch 8219747-remove-g1-prefix
rev 53925 : imported patch 8219747-shade-review
rev 53926 : imported patch 8219748-add-and-use-timing-object
rev 53927 : [mq]: 8219856-spell-out-hetero


2315     G1StringDedup::deduplicate(str);
2316   }
2317 }
2318 
2319 void G1CollectedHeap::prepare_for_verify() {
2320   _verifier->prepare_for_verify();
2321 }
2322 
2323 void G1CollectedHeap::verify(VerifyOption vo) {
2324   _verifier->verify(vo);
2325 }
2326 
2327 bool G1CollectedHeap::supports_concurrent_phase_control() const {
2328   return true;
2329 }
2330 
2331 bool G1CollectedHeap::request_concurrent_phase(const char* phase) {
2332   return _cm_thread->request_concurrent_phase(phase);
2333 }
2334 
2335 bool G1CollectedHeap::is_hetero_heap() const {
2336   return _collector_policy->is_hetero_heap();
2337 }
2338 
2339 class PrintRegionClosure: public HeapRegionClosure {
2340   outputStream* _st;
2341 public:
2342   PrintRegionClosure(outputStream* st) : _st(st) {}
2343   bool do_heap_region(HeapRegion* r) {
2344     r->print_on(_st);
2345     return false;
2346   }
2347 };
2348 
2349 bool G1CollectedHeap::is_obj_dead_cond(const oop obj,
2350                                        const HeapRegion* hr,
2351                                        const VerifyOption vo) const {
2352   switch (vo) {
2353   case VerifyOption_G1UsePrevMarking: return is_obj_dead(obj, hr);
2354   case VerifyOption_G1UseNextMarking: return is_obj_ill(obj, hr);
2355   case VerifyOption_G1UseFullMarking: return is_obj_dead_full(obj, hr);
2356   default:                            ShouldNotReachHere();




2315     G1StringDedup::deduplicate(str);
2316   }
2317 }
2318 
2319 void G1CollectedHeap::prepare_for_verify() {
2320   _verifier->prepare_for_verify();
2321 }
2322 
2323 void G1CollectedHeap::verify(VerifyOption vo) {
2324   _verifier->verify(vo);
2325 }
2326 
2327 bool G1CollectedHeap::supports_concurrent_phase_control() const {
2328   return true;
2329 }
2330 
2331 bool G1CollectedHeap::request_concurrent_phase(const char* phase) {
2332   return _cm_thread->request_concurrent_phase(phase);
2333 }
2334 
2335 bool G1CollectedHeap::is_heterogeneous_heap() const {
2336   return _collector_policy->is_heterogeneous_heap();
2337 }
2338 
2339 class PrintRegionClosure: public HeapRegionClosure {
2340   outputStream* _st;
2341 public:
2342   PrintRegionClosure(outputStream* st) : _st(st) {}
2343   bool do_heap_region(HeapRegion* r) {
2344     r->print_on(_st);
2345     return false;
2346   }
2347 };
2348 
2349 bool G1CollectedHeap::is_obj_dead_cond(const oop obj,
2350                                        const HeapRegion* hr,
2351                                        const VerifyOption vo) const {
2352   switch (vo) {
2353   case VerifyOption_G1UsePrevMarking: return is_obj_dead(obj, hr);
2354   case VerifyOption_G1UseNextMarking: return is_obj_ill(obj, hr);
2355   case VerifyOption_G1UseFullMarking: return is_obj_dead_full(obj, hr);
2356   default:                            ShouldNotReachHere();


< prev index next >