52 53 void ZVerifyHeapOopClosure::do_oop(narrowOop* p) { 54 ShouldNotReachHere(); 55 } 56 57 void ZVerifyRootOopClosure::do_oop(oop* p) { 58 guarantee(!ZHeap::heap()->is_in((uintptr_t)p), "oop* " PTR_FORMAT " in heap", p2i(p)); 59 60 const oop obj = NativeAccess<>::oop_load(p); 61 z_verify_loaded_object(p, obj); 62 } 63 64 void ZVerifyRootOopClosure::do_oop(narrowOop* p) { 65 ShouldNotReachHere(); 66 } 67 68 void ZVerifyObjectClosure::do_object(oop o) { 69 ZVerifyHeapOopClosure cl(o); 70 o->oop_iterate(&cl); 71 } 72 73 // Generate Z specialized oop_oop_iterate functions. 74 SPECIALIZED_OOP_OOP_ITERATE_CLOSURES_Z(ALL_KLASS_OOP_OOP_ITERATE_DEFN) | 52 53 void ZVerifyHeapOopClosure::do_oop(narrowOop* p) { 54 ShouldNotReachHere(); 55 } 56 57 void ZVerifyRootOopClosure::do_oop(oop* p) { 58 guarantee(!ZHeap::heap()->is_in((uintptr_t)p), "oop* " PTR_FORMAT " in heap", p2i(p)); 59 60 const oop obj = NativeAccess<>::oop_load(p); 61 z_verify_loaded_object(p, obj); 62 } 63 64 void ZVerifyRootOopClosure::do_oop(narrowOop* p) { 65 ShouldNotReachHere(); 66 } 67 68 void ZVerifyObjectClosure::do_object(oop o) { 69 ZVerifyHeapOopClosure cl(o); 70 o->oop_iterate(&cl); 71 } |