src/share/vm/gc_implementation/g1/g1OopClosures.inline.hpp

changeset 6992
2c6ef90f030a
parent 6937
b0c374311c4e
child 7010
a3953c777565
equal deleted inserted replaced
6991:882004b9e7e1 6992:2c6ef90f030a
30 #include "gc_implementation/g1/g1OopClosures.hpp" 30 #include "gc_implementation/g1/g1OopClosures.hpp"
31 #include "gc_implementation/g1/g1ParScanThreadState.inline.hpp" 31 #include "gc_implementation/g1/g1ParScanThreadState.inline.hpp"
32 #include "gc_implementation/g1/g1RemSet.hpp" 32 #include "gc_implementation/g1/g1RemSet.hpp"
33 #include "gc_implementation/g1/g1RemSet.inline.hpp" 33 #include "gc_implementation/g1/g1RemSet.inline.hpp"
34 #include "gc_implementation/g1/heapRegionRemSet.hpp" 34 #include "gc_implementation/g1/heapRegionRemSet.hpp"
35 #include "memory/iterator.inline.hpp"
35 #include "runtime/prefetch.inline.hpp" 36 #include "runtime/prefetch.inline.hpp"
36 37
37 /* 38 /*
38 * This really ought to be an inline function, but apparently the C++ 39 * This really ought to be an inline function, but apparently the C++
39 * compiler sometimes sees fit to ignore inline declarations. Sigh. 40 * compiler sometimes sees fit to ignore inline declarations. Sigh.
106 } 107 }
107 } 108 }
108 109
109 template <class T> 110 template <class T>
110 inline void G1CMOopClosure::do_oop_nv(T* p) { 111 inline void G1CMOopClosure::do_oop_nv(T* p) {
111 assert(_g1h->is_in_g1_reserved((HeapWord*) p), "invariant");
112 assert(!_g1h->is_on_master_free_list(
113 _g1h->heap_region_containing((HeapWord*) p)), "invariant");
114
115 oop obj = oopDesc::load_decode_heap_oop(p); 112 oop obj = oopDesc::load_decode_heap_oop(p);
116 if (_cm->verbose_high()) { 113 if (_cm->verbose_high()) {
117 gclog_or_tty->print_cr("[%u] we're looking at location " 114 gclog_or_tty->print_cr("[%u] we're looking at location "
118 "*"PTR_FORMAT" = "PTR_FORMAT, 115 "*"PTR_FORMAT" = "PTR_FORMAT,
119 _task->worker_id(), p2i(p), p2i((void*) obj)); 116 _task->worker_id(), p2i(p), p2i((void*) obj));

mercurial