comparison src/share/vm/gc_implementation/g1/g1OopClosures.hpp @ 14487:97300b6165f8

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 Mon, 24 Feb 2014 09:41:04 +0100
parents e9d5c28e5059
children 4ca6dc0799b6 bc22cbb8b45a
comparison
equal deleted inserted replaced
14486:4f227ecd7beb 14487:97300b6165f8
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 };