Mercurial > hg > truffle
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 |