< prev index next >

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

Print this page
rev 13280 : imported patch CollectedHeap_register_nmethod
rev 13281 : [mq]: CollectedHeap_register_nmethod_v2


2441 void G1CollectedHeap::prepare_for_verify() {
2442   _verifier->prepare_for_verify();
2443 }
2444 
2445 void G1CollectedHeap::verify(VerifyOption vo) {
2446   _verifier->verify(vo);
2447 }
2448 
2449 bool G1CollectedHeap::supports_concurrent_phase_control() const {
2450   return true;
2451 }
2452 
2453 const char* const* G1CollectedHeap::concurrent_phases() const {
2454   return _cmThread->concurrent_phases();
2455 }
2456 
2457 bool G1CollectedHeap::request_concurrent_phase(const char* phase) {
2458   return _cmThread->request_concurrent_phase(phase);
2459 }
2460 
2461 void G1CollectedHeap::verify_nmethod_roots(nmethod* nmethod) {
2462 
2463 }
2464 
2465 class PrintRegionClosure: public HeapRegionClosure {
2466   outputStream* _st;
2467 public:
2468   PrintRegionClosure(outputStream* st) : _st(st) {}
2469   bool doHeapRegion(HeapRegion* r) {
2470     r->print_on(_st);
2471     return false;
2472   }
2473 };
2474 
2475 bool G1CollectedHeap::is_obj_dead_cond(const oop obj,
2476                                        const HeapRegion* hr,
2477                                        const VerifyOption vo) const {
2478   switch (vo) {
2479   case VerifyOption_G1UsePrevMarking: return is_obj_dead(obj, hr);
2480   case VerifyOption_G1UseNextMarking: return is_obj_ill(obj, hr);
2481   case VerifyOption_G1UseMarkWord:    return !obj->is_gc_marked() && !hr->is_archive();
2482   default:                            ShouldNotReachHere();
2483   }
2484   return false; // keep some compilers happy




2441 void G1CollectedHeap::prepare_for_verify() {
2442   _verifier->prepare_for_verify();
2443 }
2444 
2445 void G1CollectedHeap::verify(VerifyOption vo) {
2446   _verifier->verify(vo);
2447 }
2448 
2449 bool G1CollectedHeap::supports_concurrent_phase_control() const {
2450   return true;
2451 }
2452 
2453 const char* const* G1CollectedHeap::concurrent_phases() const {
2454   return _cmThread->concurrent_phases();
2455 }
2456 
2457 bool G1CollectedHeap::request_concurrent_phase(const char* phase) {
2458   return _cmThread->request_concurrent_phase(phase);
2459 }
2460 




2461 class PrintRegionClosure: public HeapRegionClosure {
2462   outputStream* _st;
2463 public:
2464   PrintRegionClosure(outputStream* st) : _st(st) {}
2465   bool doHeapRegion(HeapRegion* r) {
2466     r->print_on(_st);
2467     return false;
2468   }
2469 };
2470 
2471 bool G1CollectedHeap::is_obj_dead_cond(const oop obj,
2472                                        const HeapRegion* hr,
2473                                        const VerifyOption vo) const {
2474   switch (vo) {
2475   case VerifyOption_G1UsePrevMarking: return is_obj_dead(obj, hr);
2476   case VerifyOption_G1UseNextMarking: return is_obj_ill(obj, hr);
2477   case VerifyOption_G1UseMarkWord:    return !obj->is_gc_marked() && !hr->is_archive();
2478   default:                            ShouldNotReachHere();
2479   }
2480   return false; // keep some compilers happy


< prev index next >