< prev index next >

src/hotspot/share/gc/g1/g1OopClosures.hpp

Print this page
rev 52719 : [mq]: 8159440-marking-of-promoted-objects-to-concurrent


 124 
 125   ~G1ScanInYoungSetter() {
 126     DEBUG_ONLY(_closure->_scanning_in_young = G1ScanEvacuatedObjClosure::Uninitialized;)
 127   }
 128 };
 129 
 130 // Add back base class for metadata
 131 class G1ParCopyHelper : public OopClosure {
 132 protected:
 133   G1CollectedHeap* _g1h;
 134   G1ParScanThreadState* _par_scan_state;
 135   uint _worker_id;              // Cache value from par_scan_state.
 136   ClassLoaderData* _scanned_cld;
 137   G1ConcurrentMark* _cm;
 138 
 139   // Mark the object if it's not already marked. This is used to mark
 140   // objects pointed to by roots that are guaranteed not to move
 141   // during the GC (i.e., non-CSet objects). It is MT-safe.
 142   inline void mark_object(oop obj);
 143 
 144   // Mark the object if it's not already marked. This is used to mark
 145   // objects pointed to by roots that have been forwarded during a
 146   // GC. It is MT-safe.
 147   inline void mark_forwarded_object(oop from_obj, oop to_obj);
 148 
 149   G1ParCopyHelper(G1CollectedHeap* g1h,  G1ParScanThreadState* par_scan_state);
 150   ~G1ParCopyHelper() { }
 151 
 152  public:
 153   void set_scanned_cld(ClassLoaderData* cld) { _scanned_cld = cld; }
 154   inline void do_cld_barrier(oop new_obj);
 155 
 156   inline void trim_queue_partially();
 157 };
 158 
 159 enum G1Barrier {
 160   G1BarrierNone,
 161   G1BarrierCLD
 162 };
 163 
 164 enum G1Mark {
 165   G1MarkNone,
 166   G1MarkFromRoot,
 167   G1MarkPromotedFromRoot
 168 };




 124 
 125   ~G1ScanInYoungSetter() {
 126     DEBUG_ONLY(_closure->_scanning_in_young = G1ScanEvacuatedObjClosure::Uninitialized;)
 127   }
 128 };
 129 
 130 // Add back base class for metadata
 131 class G1ParCopyHelper : public OopClosure {
 132 protected:
 133   G1CollectedHeap* _g1h;
 134   G1ParScanThreadState* _par_scan_state;
 135   uint _worker_id;              // Cache value from par_scan_state.
 136   ClassLoaderData* _scanned_cld;
 137   G1ConcurrentMark* _cm;
 138 
 139   // Mark the object if it's not already marked. This is used to mark
 140   // objects pointed to by roots that are guaranteed not to move
 141   // during the GC (i.e., non-CSet objects). It is MT-safe.
 142   inline void mark_object(oop obj);
 143 





 144   G1ParCopyHelper(G1CollectedHeap* g1h,  G1ParScanThreadState* par_scan_state);
 145   ~G1ParCopyHelper() { }
 146 
 147  public:
 148   void set_scanned_cld(ClassLoaderData* cld) { _scanned_cld = cld; }
 149   inline void do_cld_barrier(oop new_obj);
 150 
 151   inline void trim_queue_partially();
 152 };
 153 
 154 enum G1Barrier {
 155   G1BarrierNone,
 156   G1BarrierCLD
 157 };
 158 
 159 enum G1Mark {
 160   G1MarkNone,
 161   G1MarkFromRoot,
 162   G1MarkPromotedFromRoot
 163 };


< prev index next >