< prev index next >

src/share/vm/gc/cms/concurrentMarkSweepGeneration.inline.hpp

Print this page
rev 12906 : [mq]: gc_interface


 429     do_yield_work(addr);
 430   }
 431 }
 432 
 433 inline void MarkRefsIntoAndScanClosure::do_yield_check() {
 434   // The conditions are ordered for the remarking phase
 435   // when _yield is false.
 436   if (_yield &&
 437       !_collector->foregroundGCIsActive() &&
 438       ConcurrentMarkSweepThread::should_yield()) {
 439     do_yield_work();
 440   }
 441 }
 442 
 443 
 444 inline void ModUnionClosure::do_MemRegion(MemRegion mr) {
 445   // Align the end of mr so it's at a card boundary.
 446   // This is superfluous except at the end of the space;
 447   // we should do better than this XXX
 448   MemRegion mr2(mr.start(), (HeapWord*)round_to((intptr_t)mr.end(),
 449                  CardTableModRefBS::card_size /* bytes */));
 450   _t->mark_range(mr2);
 451 }
 452 
 453 inline void ModUnionClosurePar::do_MemRegion(MemRegion mr) {
 454   // Align the end of mr so it's at a card boundary.
 455   // This is superfluous except at the end of the space;
 456   // we should do better than this XXX
 457   MemRegion mr2(mr.start(), (HeapWord*)round_to((intptr_t)mr.end(),
 458                  CardTableModRefBS::card_size /* bytes */));
 459   _t->par_mark_range(mr2);
 460 }
 461 
 462 #endif // SHARE_VM_GC_CMS_CONCURRENTMARKSWEEPGENERATION_INLINE_HPP


 429     do_yield_work(addr);
 430   }
 431 }
 432 
 433 inline void MarkRefsIntoAndScanClosure::do_yield_check() {
 434   // The conditions are ordered for the remarking phase
 435   // when _yield is false.
 436   if (_yield &&
 437       !_collector->foregroundGCIsActive() &&
 438       ConcurrentMarkSweepThread::should_yield()) {
 439     do_yield_work();
 440   }
 441 }
 442 
 443 
 444 inline void ModUnionClosure::do_MemRegion(MemRegion mr) {
 445   // Align the end of mr so it's at a card boundary.
 446   // This is superfluous except at the end of the space;
 447   // we should do better than this XXX
 448   MemRegion mr2(mr.start(), (HeapWord*)round_to((intptr_t)mr.end(),
 449                  CardTable::card_size /* bytes */));
 450   _t->mark_range(mr2);
 451 }
 452 
 453 inline void ModUnionClosurePar::do_MemRegion(MemRegion mr) {
 454   // Align the end of mr so it's at a card boundary.
 455   // This is superfluous except at the end of the space;
 456   // we should do better than this XXX
 457   MemRegion mr2(mr.start(), (HeapWord*)round_to((intptr_t)mr.end(),
 458                  CardTable::card_size /* bytes */));
 459   _t->par_mark_range(mr2);
 460 }
 461 
 462 #endif // SHARE_VM_GC_CMS_CONCURRENTMARKSWEEPGENERATION_INLINE_HPP
< prev index next >