comparison src/share/vm/gc_implementation/g1/g1OopClosures.inline.hpp @ 3771:842b840e67db

7046558: G1: concurrent marking optimizations Summary: Some optimizations to improve the concurrent marking phase: specialize the main oop closure, make sure a few methods in the fast path are properly inlined, a few more bits and pieces, and some cosmetic fixes. Reviewed-by: stefank, johnc
author tonyp
date Tue, 14 Jun 2011 10:33:43 -0400
parents ae5b2f1dcf12
children 4406629aa157
comparison
equal deleted inserted replaced
3770:74cd10898bea 3771:842b840e67db
23 */ 23 */
24 24
25 #ifndef SHARE_VM_GC_IMPLEMENTATION_G1_G1OOPCLOSURES_INLINE_HPP 25 #ifndef SHARE_VM_GC_IMPLEMENTATION_G1_G1OOPCLOSURES_INLINE_HPP
26 #define SHARE_VM_GC_IMPLEMENTATION_G1_G1OOPCLOSURES_INLINE_HPP 26 #define SHARE_VM_GC_IMPLEMENTATION_G1_G1OOPCLOSURES_INLINE_HPP
27 27
28 #include "gc_implementation/g1/concurrentMark.hpp" 28 #include "gc_implementation/g1/concurrentMark.inline.hpp"
29 #include "gc_implementation/g1/g1CollectedHeap.hpp" 29 #include "gc_implementation/g1/g1CollectedHeap.hpp"
30 #include "gc_implementation/g1/g1OopClosures.hpp" 30 #include "gc_implementation/g1/g1OopClosures.hpp"
31 #include "gc_implementation/g1/g1RemSet.hpp" 31 #include "gc_implementation/g1/g1RemSet.hpp"
32 32
33 /* 33 /*
106 _par_scan_state->push_on_queue(p); 106 _par_scan_state->push_on_queue(p);
107 } 107 }
108 } 108 }
109 } 109 }
110 110
111 template <class T> inline void G1CMOopClosure::do_oop_nv(T* p) {
112 assert(_g1h->is_in_g1_reserved((HeapWord*) p), "invariant");
113 assert(!_g1h->is_on_master_free_list(
114 _g1h->heap_region_containing((HeapWord*) p)), "invariant");
115
116 oop obj = oopDesc::load_decode_heap_oop(p);
117 if (_cm->verbose_high()) {
118 gclog_or_tty->print_cr("[%d] we're looking at location "
119 "*"PTR_FORMAT" = "PTR_FORMAT,
120 _task->task_id(), p, (void*) obj);
121 }
122 _task->deal_with_reference(obj);
123 }
111 124
112 #endif // SHARE_VM_GC_IMPLEMENTATION_G1_G1OOPCLOSURES_INLINE_HPP 125 #endif // SHARE_VM_GC_IMPLEMENTATION_G1_G1OOPCLOSURES_INLINE_HPP