equal
deleted
inserted
replaced
35 #include "gc/g1/heapRegion.inline.hpp" |
35 #include "gc/g1/heapRegion.inline.hpp" |
36 #include "gc/g1/heapRegionRemSet.hpp" |
36 #include "gc/g1/heapRegionRemSet.hpp" |
37 #include "gc/g1/g1StringDedup.hpp" |
37 #include "gc/g1/g1StringDedup.hpp" |
38 #include "logging/log.hpp" |
38 #include "logging/log.hpp" |
39 #include "logging/logStream.hpp" |
39 #include "logging/logStream.hpp" |
|
40 #include "memory/iterator.inline.hpp" |
40 #include "memory/resourceArea.hpp" |
41 #include "memory/resourceArea.hpp" |
41 #include "oops/access.inline.hpp" |
42 #include "oops/access.inline.hpp" |
42 #include "oops/compressedOops.inline.hpp" |
43 #include "oops/compressedOops.inline.hpp" |
43 #include "oops/oop.inline.hpp" |
44 #include "oops/oop.inline.hpp" |
44 #include "runtime/handles.inline.hpp" |
45 #include "runtime/handles.inline.hpp" |
59 _vo(vo), |
60 _vo(vo), |
60 _failures(false) { } |
61 _failures(false) { } |
61 |
62 |
62 bool failures() { return _failures; } |
63 bool failures() { return _failures; } |
63 |
64 |
64 template <class T> void do_oop_nv(T* p) { |
65 template <class T> void do_oop_work(T* p) { |
65 T heap_oop = RawAccess<>::oop_load(p); |
66 T heap_oop = RawAccess<>::oop_load(p); |
66 if (!CompressedOops::is_null(heap_oop)) { |
67 if (!CompressedOops::is_null(heap_oop)) { |
67 oop obj = CompressedOops::decode_not_null(heap_oop); |
68 oop obj = CompressedOops::decode_not_null(heap_oop); |
68 if (_g1h->is_obj_dead_cond(obj, _vo)) { |
69 if (_g1h->is_obj_dead_cond(obj, _vo)) { |
69 Log(gc, verify) log; |
70 Log(gc, verify) log; |
74 _failures = true; |
75 _failures = true; |
75 } |
76 } |
76 } |
77 } |
77 } |
78 } |
78 |
79 |
79 void do_oop(oop* p) { do_oop_nv(p); } |
80 void do_oop(oop* p) { do_oop_work(p); } |
80 void do_oop(narrowOop* p) { do_oop_nv(p); } |
81 void do_oop(narrowOop* p) { do_oop_work(p); } |
81 }; |
82 }; |
82 |
83 |
83 class G1VerifyCodeRootOopClosure: public OopClosure { |
84 class G1VerifyCodeRootOopClosure: public OopClosure { |
84 G1CollectedHeap* _g1h; |
85 G1CollectedHeap* _g1h; |
85 OopClosure* _root_cl; |
86 OopClosure* _root_cl; |