< prev index next >

src/hotspot/share/gc/g1/g1ConcurrentMark.inline.hpp

Print this page
rev 49513 : [mq]: 8200385-prev-bitmap-marks-left


 238 template <class T>
 239 inline void G1CMTask::deal_with_reference(T* p) {
 240   increment_refs_reached();
 241   oop const obj = RawAccess<MO_VOLATILE>::oop_load(p);
 242   if (obj == NULL) {
 243     return;
 244   }
 245   make_reference_grey(obj);
 246 }
 247 
 248 inline void G1ConcurrentMark::mark_in_prev_bitmap(oop p) {
 249   assert(!_prev_mark_bitmap->is_marked((HeapWord*) p), "sanity");
 250  _prev_mark_bitmap->mark((HeapWord*) p);
 251 }
 252 
 253 bool G1ConcurrentMark::is_marked_in_prev_bitmap(oop p) const {
 254   assert(p != NULL && oopDesc::is_oop(p), "expected an oop");
 255   return _prev_mark_bitmap->is_marked((HeapWord*)p);
 256 }
 257 





 258 inline bool G1ConcurrentMark::do_yield_check() {
 259   if (SuspendibleThreadSet::should_yield()) {
 260     SuspendibleThreadSet::yield();
 261     return true;
 262   } else {
 263     return false;
 264   }
 265 }
 266 
 267 #endif // SHARE_VM_GC_G1_G1CONCURRENTMARK_INLINE_HPP


 238 template <class T>
 239 inline void G1CMTask::deal_with_reference(T* p) {
 240   increment_refs_reached();
 241   oop const obj = RawAccess<MO_VOLATILE>::oop_load(p);
 242   if (obj == NULL) {
 243     return;
 244   }
 245   make_reference_grey(obj);
 246 }
 247 
 248 inline void G1ConcurrentMark::mark_in_prev_bitmap(oop p) {
 249   assert(!_prev_mark_bitmap->is_marked((HeapWord*) p), "sanity");
 250  _prev_mark_bitmap->mark((HeapWord*) p);
 251 }
 252 
 253 bool G1ConcurrentMark::is_marked_in_prev_bitmap(oop p) const {
 254   assert(p != NULL && oopDesc::is_oop(p), "expected an oop");
 255   return _prev_mark_bitmap->is_marked((HeapWord*)p);
 256 }
 257 
 258 bool G1ConcurrentMark::is_marked_in_next_bitmap(oop p) const {
 259   assert(p != NULL && oopDesc::is_oop(p), "expected an oop");
 260   return _next_mark_bitmap->is_marked((HeapWord*)p);    
 261 }
 262 
 263 inline bool G1ConcurrentMark::do_yield_check() {
 264   if (SuspendibleThreadSet::should_yield()) {
 265     SuspendibleThreadSet::yield();
 266     return true;
 267   } else {
 268     return false;
 269   }
 270 }
 271 
 272 #endif // SHARE_VM_GC_G1_G1CONCURRENTMARK_INLINE_HPP
< prev index next >