comparison src/share/vm/gc_implementation/g1/g1OopClosures.hpp @ 17689:5d492d192cbf

8035329: Move G1ParCopyClosure::copy_to_survivor_space into G1ParScanThreadState Summary: Move G1ParCopyClosure::copy_to_survivor_space to decrease code size. Reviewed-by: stefank, jmasa
author tschatzl
date Wed, 26 Feb 2014 15:32:47 +0100
parents 86b64209f715
children 4ca6dc0799b6 bc22cbb8b45a
comparison
equal deleted inserted replaced
17688:2c2ae9e5f65d 17689:5d492d192cbf
149 template <class T> void do_klass_barrier(T* p, oop new_obj); 149 template <class T> void do_klass_barrier(T* p, oop new_obj);
150 }; 150 };
151 151
152 template <G1Barrier barrier, bool do_mark_object> 152 template <G1Barrier barrier, bool do_mark_object>
153 class G1ParCopyClosure : public G1ParCopyHelper { 153 class G1ParCopyClosure : public G1ParCopyHelper {
154 G1ParScanClosure _scanner; 154 private:
155 template <class T> void do_oop_work(T* p); 155 template <class T> void do_oop_work(T* p);
156
157 protected:
158 oop copy_to_survivor_space(oop obj);
159 156
160 public: 157 public:
161 G1ParCopyClosure(G1CollectedHeap* g1, G1ParScanThreadState* par_scan_state, 158 G1ParCopyClosure(G1CollectedHeap* g1, G1ParScanThreadState* par_scan_state,
162 ReferenceProcessor* rp) : 159 ReferenceProcessor* rp) :
163 _scanner(g1, par_scan_state, rp),
164 G1ParCopyHelper(g1, par_scan_state) { 160 G1ParCopyHelper(g1, par_scan_state) {
165 assert(_ref_processor == NULL, "sanity"); 161 assert(_ref_processor == NULL, "sanity");
166 } 162 }
167
168 G1ParScanClosure* scanner() { return &_scanner; }
169 163
170 template <class T> void do_oop_nv(T* p) { do_oop_work(p); } 164 template <class T> void do_oop_nv(T* p) { do_oop_work(p); }
171 virtual void do_oop(oop* p) { do_oop_nv(p); } 165 virtual void do_oop(oop* p) { do_oop_nv(p); }
172 virtual void do_oop(narrowOop* p) { do_oop_nv(p); } 166 virtual void do_oop(narrowOop* p) { do_oop_nv(p); }
173 }; 167 };