Mercurial > hg > truffle
comparison src/share/vm/gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp @ 994:753cf9794df9
6885169: merge of 4957990 and 6863023 causes conflict on do_nmethods
Summary: After mechanically merging changes, some by-hand adjustments are needed.
Reviewed-by: ysr
author | jrose |
---|---|
date | Wed, 23 Sep 2009 23:57:44 -0700 |
parents | 54b3b351d6f9 |
children | c18cbe5936b8 |
comparison
equal
deleted
inserted
replaced
993:54b3b351d6f9 | 994:753cf9794df9 |
---|---|
45 | 45 |
46 class MarkRefsIntoClosure: public OopsInGenClosure { | 46 class MarkRefsIntoClosure: public OopsInGenClosure { |
47 private: | 47 private: |
48 const MemRegion _span; | 48 const MemRegion _span; |
49 CMSBitMap* _bitMap; | 49 CMSBitMap* _bitMap; |
50 const bool _should_do_nmethods; | 50 protected: |
51 protected: | 51 DO_OOP_WORK_DEFN |
52 DO_OOP_WORK_DEFN | 52 public: |
53 public: | 53 MarkRefsIntoClosure(MemRegion span, CMSBitMap* bitMap); |
54 MarkRefsIntoClosure(MemRegion span, CMSBitMap* bitMap, | |
55 bool should_do_nmethods); | |
56 bool should_do_nmethods() { return _should_do_nmethods; } | |
57 virtual void do_oop(oop* p); | 54 virtual void do_oop(oop* p); |
58 virtual void do_oop(narrowOop* p); | 55 virtual void do_oop(narrowOop* p); |
59 inline void do_oop_nv(oop* p) { MarkRefsIntoClosure::do_oop_work(p); } | 56 inline void do_oop_nv(oop* p) { MarkRefsIntoClosure::do_oop_work(p); } |
60 inline void do_oop_nv(narrowOop* p) { MarkRefsIntoClosure::do_oop_work(p); } | 57 inline void do_oop_nv(narrowOop* p) { MarkRefsIntoClosure::do_oop_work(p); } |
61 bool do_header() { return true; } | 58 bool do_header() { return true; } |
69 class MarkRefsIntoVerifyClosure: public OopsInGenClosure { | 66 class MarkRefsIntoVerifyClosure: public OopsInGenClosure { |
70 private: | 67 private: |
71 const MemRegion _span; | 68 const MemRegion _span; |
72 CMSBitMap* _verification_bm; | 69 CMSBitMap* _verification_bm; |
73 CMSBitMap* _cms_bm; | 70 CMSBitMap* _cms_bm; |
74 const bool _should_do_nmethods; | |
75 protected: | 71 protected: |
76 DO_OOP_WORK_DEFN | 72 DO_OOP_WORK_DEFN |
77 public: | 73 public: |
78 MarkRefsIntoVerifyClosure(MemRegion span, CMSBitMap* verification_bm, | 74 MarkRefsIntoVerifyClosure(MemRegion span, CMSBitMap* verification_bm, |
79 CMSBitMap* cms_bm, bool should_do_nmethods); | 75 CMSBitMap* cms_bm); |
80 bool should_do_nmethods() { return _should_do_nmethods; } | |
81 virtual void do_oop(oop* p); | 76 virtual void do_oop(oop* p); |
82 virtual void do_oop(narrowOop* p); | 77 virtual void do_oop(narrowOop* p); |
83 inline void do_oop_nv(oop* p) { MarkRefsIntoVerifyClosure::do_oop_work(p); } | 78 inline void do_oop_nv(oop* p) { MarkRefsIntoVerifyClosure::do_oop_work(p); } |
84 inline void do_oop_nv(narrowOop* p) { MarkRefsIntoVerifyClosure::do_oop_work(p); } | 79 inline void do_oop_nv(narrowOop* p) { MarkRefsIntoVerifyClosure::do_oop_work(p); } |
85 bool do_header() { return true; } | 80 bool do_header() { return true; } |
266 virtual void do_oop(oop* p); | 261 virtual void do_oop(oop* p); |
267 virtual void do_oop(narrowOop* p); | 262 virtual void do_oop(narrowOop* p); |
268 inline void do_oop_nv(oop* p) { Par_MarkRefsIntoAndScanClosure::do_oop_work(p); } | 263 inline void do_oop_nv(oop* p) { Par_MarkRefsIntoAndScanClosure::do_oop_work(p); } |
269 inline void do_oop_nv(narrowOop* p) { Par_MarkRefsIntoAndScanClosure::do_oop_work(p); } | 264 inline void do_oop_nv(narrowOop* p) { Par_MarkRefsIntoAndScanClosure::do_oop_work(p); } |
270 bool do_header() { return true; } | 265 bool do_header() { return true; } |
271 virtual const bool do_nmethods() const { return true; } | |
272 // When ScanMarkedObjectsAgainClosure is used, | 266 // When ScanMarkedObjectsAgainClosure is used, |
273 // it passes [Par_]MarkRefsIntoAndScanClosure to oop_oop_iterate(), | 267 // it passes [Par_]MarkRefsIntoAndScanClosure to oop_oop_iterate(), |
274 // and this delegation is used. | 268 // and this delegation is used. |
275 virtual const bool should_remember_klasses() const { | 269 virtual const bool should_remember_klasses() const { |
276 return _par_pushAndMarkClosure.should_remember_klasses(); | 270 return _par_pushAndMarkClosure.should_remember_klasses(); |