1.1 --- a/src/share/vm/gc_implementation/g1/g1OopClosures.inline.hpp Mon Jun 13 13:48:18 2011 +0200 1.2 +++ b/src/share/vm/gc_implementation/g1/g1OopClosures.inline.hpp Tue Jun 14 10:33:43 2011 -0400 1.3 @@ -25,7 +25,7 @@ 1.4 #ifndef SHARE_VM_GC_IMPLEMENTATION_G1_G1OOPCLOSURES_INLINE_HPP 1.5 #define SHARE_VM_GC_IMPLEMENTATION_G1_G1OOPCLOSURES_INLINE_HPP 1.6 1.7 -#include "gc_implementation/g1/concurrentMark.hpp" 1.8 +#include "gc_implementation/g1/concurrentMark.inline.hpp" 1.9 #include "gc_implementation/g1/g1CollectedHeap.hpp" 1.10 #include "gc_implementation/g1/g1OopClosures.hpp" 1.11 #include "gc_implementation/g1/g1RemSet.hpp" 1.12 @@ -108,5 +108,18 @@ 1.13 } 1.14 } 1.15 1.16 +template <class T> inline void G1CMOopClosure::do_oop_nv(T* p) { 1.17 + assert(_g1h->is_in_g1_reserved((HeapWord*) p), "invariant"); 1.18 + assert(!_g1h->is_on_master_free_list( 1.19 + _g1h->heap_region_containing((HeapWord*) p)), "invariant"); 1.20 + 1.21 + oop obj = oopDesc::load_decode_heap_oop(p); 1.22 + if (_cm->verbose_high()) { 1.23 + gclog_or_tty->print_cr("[%d] we're looking at location " 1.24 + "*"PTR_FORMAT" = "PTR_FORMAT, 1.25 + _task->task_id(), p, (void*) obj); 1.26 + } 1.27 + _task->deal_with_reference(obj); 1.28 +} 1.29 1.30 #endif // SHARE_VM_GC_IMPLEMENTATION_G1_G1OOPCLOSURES_INLINE_HPP