< prev index next >

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

Print this page




 200     } else {
 201       push(entry);
 202     }
 203   }
 204 }
 205 
 206 inline void G1CMTask::deal_with_reference(oop obj) {
 207   increment_refs_reached();
 208   if (obj == NULL) {
 209     return;
 210   }
 211   make_reference_grey(obj);
 212 }
 213 
 214 inline void G1ConcurrentMark::markPrev(oop p) {
 215   assert(!_prevMarkBitMap->is_marked((HeapWord*) p), "sanity");
 216  _prevMarkBitMap->mark((HeapWord*) p);
 217 }
 218 
 219 bool G1ConcurrentMark::isPrevMarked(oop p) const {
 220   assert(p != NULL && p->is_oop(), "expected an oop");
 221   return _prevMarkBitMap->is_marked((HeapWord*)p);
 222 }
 223 
 224 inline bool G1ConcurrentMark::do_yield_check() {
 225   if (SuspendibleThreadSet::should_yield()) {
 226     SuspendibleThreadSet::yield();
 227     return true;
 228   } else {
 229     return false;
 230   }
 231 }
 232 
 233 #endif // SHARE_VM_GC_G1_G1CONCURRENTMARK_INLINE_HPP


 200     } else {
 201       push(entry);
 202     }
 203   }
 204 }
 205 
 206 inline void G1CMTask::deal_with_reference(oop obj) {
 207   increment_refs_reached();
 208   if (obj == NULL) {
 209     return;
 210   }
 211   make_reference_grey(obj);
 212 }
 213 
 214 inline void G1ConcurrentMark::markPrev(oop p) {
 215   assert(!_prevMarkBitMap->is_marked((HeapWord*) p), "sanity");
 216  _prevMarkBitMap->mark((HeapWord*) p);
 217 }
 218 
 219 bool G1ConcurrentMark::isPrevMarked(oop p) const {
 220   assert(p != NULL && oopDesc::is_oop(p), "expected an oop");
 221   return _prevMarkBitMap->is_marked((HeapWord*)p);
 222 }
 223 
 224 inline bool G1ConcurrentMark::do_yield_check() {
 225   if (SuspendibleThreadSet::should_yield()) {
 226     SuspendibleThreadSet::yield();
 227     return true;
 228   } else {
 229     return false;
 230   }
 231 }
 232 
 233 #endif // SHARE_VM_GC_G1_G1CONCURRENTMARK_INLINE_HPP
< prev index next >