44 #include "gc/shared/space.inline.hpp" |
44 #include "gc/shared/space.inline.hpp" |
45 #include "gc/shared/spaceDecorator.hpp" |
45 #include "gc/shared/spaceDecorator.hpp" |
46 #include "gc/shared/strongRootsScope.hpp" |
46 #include "gc/shared/strongRootsScope.hpp" |
47 #include "gc/shared/weakProcessor.hpp" |
47 #include "gc/shared/weakProcessor.hpp" |
48 #include "logging/log.hpp" |
48 #include "logging/log.hpp" |
49 #include "memory/iterator.hpp" |
49 #include "memory/iterator.inline.hpp" |
50 #include "memory/resourceArea.hpp" |
50 #include "memory/resourceArea.hpp" |
51 #include "oops/instanceRefKlass.hpp" |
51 #include "oops/instanceRefKlass.hpp" |
52 #include "oops/oop.inline.hpp" |
52 #include "oops/oop.inline.hpp" |
53 #include "runtime/atomic.hpp" |
53 #include "runtime/atomic.hpp" |
54 #include "runtime/java.hpp" |
54 #include "runtime/java.hpp" |
110 OopsInClassLoaderDataOrGenClosure(g), _g(g), _gc_barrier(gc_barrier) |
110 OopsInClassLoaderDataOrGenClosure(g), _g(g), _gc_barrier(gc_barrier) |
111 { |
111 { |
112 _boundary = _g->reserved().end(); |
112 _boundary = _g->reserved().end(); |
113 } |
113 } |
114 |
114 |
115 void ScanClosure::do_oop(oop* p) { ScanClosure::do_oop_work(p); } |
|
116 void ScanClosure::do_oop(narrowOop* p) { ScanClosure::do_oop_work(p); } |
|
117 |
|
118 FastScanClosure::FastScanClosure(DefNewGeneration* g, bool gc_barrier) : |
115 FastScanClosure::FastScanClosure(DefNewGeneration* g, bool gc_barrier) : |
119 OopsInClassLoaderDataOrGenClosure(g), _g(g), _gc_barrier(gc_barrier) |
116 OopsInClassLoaderDataOrGenClosure(g), _g(g), _gc_barrier(gc_barrier) |
120 { |
117 { |
121 _boundary = _g->reserved().end(); |
118 _boundary = _g->reserved().end(); |
122 } |
119 } |
123 |
|
124 void FastScanClosure::do_oop(oop* p) { FastScanClosure::do_oop_work(p); } |
|
125 void FastScanClosure::do_oop(narrowOop* p) { FastScanClosure::do_oop_work(p); } |
|
126 |
120 |
127 void CLDScanClosure::do_cld(ClassLoaderData* cld) { |
121 void CLDScanClosure::do_cld(ClassLoaderData* cld) { |
128 NOT_PRODUCT(ResourceMark rm); |
122 NOT_PRODUCT(ResourceMark rm); |
129 log_develop_trace(gc, scavenge)("CLDScanClosure::do_cld " PTR_FORMAT ", %s, dirty: %s", |
123 log_develop_trace(gc, scavenge)("CLDScanClosure::do_cld " PTR_FORMAT ", %s, dirty: %s", |
130 p2i(cld), |
124 p2i(cld), |
152 ScanWeakRefClosure::ScanWeakRefClosure(DefNewGeneration* g) : |
146 ScanWeakRefClosure::ScanWeakRefClosure(DefNewGeneration* g) : |
153 _g(g) |
147 _g(g) |
154 { |
148 { |
155 _boundary = _g->reserved().end(); |
149 _boundary = _g->reserved().end(); |
156 } |
150 } |
157 |
|
158 void ScanWeakRefClosure::do_oop(oop* p) { ScanWeakRefClosure::do_oop_work(p); } |
|
159 void ScanWeakRefClosure::do_oop(narrowOop* p) { ScanWeakRefClosure::do_oop_work(p); } |
|
160 |
151 |
161 DefNewGeneration::DefNewGeneration(ReservedSpace rs, |
152 DefNewGeneration::DefNewGeneration(ReservedSpace rs, |
162 size_t initial_size, |
153 size_t initial_size, |
163 const char* policy) |
154 const char* policy) |
164 : Generation(rs, initial_size), |
155 : Generation(rs, initial_size), |