381 }
382
383 inline MemRegion ConcurrentMarkSweepGeneration::used_region() const {
384 return _cmsSpace->used_region();
385 }
386
387 inline MemRegion ConcurrentMarkSweepGeneration::used_region_at_save_marks() const {
388 return _cmsSpace->used_region_at_save_marks();
389 }
390
391 inline void MarkFromRootsClosure::do_yield_check() {
392 if (ConcurrentMarkSweepThread::should_yield() &&
393 !_collector->foregroundGCIsActive() &&
394 _yield) {
395 do_yield_work();
396 }
397 }
398
399 inline void Par_MarkFromRootsClosure::do_yield_check() {
400 if (ConcurrentMarkSweepThread::should_yield() &&
401 !_collector->foregroundGCIsActive() &&
402 _yield) {
403 do_yield_work();
404 }
405 }
406
407 inline void PushOrMarkClosure::do_yield_check() {
408 _parent->do_yield_check();
409 }
410
411 inline void Par_PushOrMarkClosure::do_yield_check() {
412 _parent->do_yield_check();
413 }
414
415 // Return value of "true" indicates that the on-going preclean
416 // should be aborted.
417 inline bool ScanMarkedObjectsAgainCarefullyClosure::do_yield_check() {
418 if (ConcurrentMarkSweepThread::should_yield() &&
419 !_collector->foregroundGCIsActive() &&
420 _yield) {
421 // Sample young gen size before and after yield
422 _collector->sample_eden();
|
381 }
382
383 inline MemRegion ConcurrentMarkSweepGeneration::used_region() const {
384 return _cmsSpace->used_region();
385 }
386
387 inline MemRegion ConcurrentMarkSweepGeneration::used_region_at_save_marks() const {
388 return _cmsSpace->used_region_at_save_marks();
389 }
390
391 inline void MarkFromRootsClosure::do_yield_check() {
392 if (ConcurrentMarkSweepThread::should_yield() &&
393 !_collector->foregroundGCIsActive() &&
394 _yield) {
395 do_yield_work();
396 }
397 }
398
399 inline void Par_MarkFromRootsClosure::do_yield_check() {
400 if (ConcurrentMarkSweepThread::should_yield() &&
401 !_collector->foregroundGCIsActive()) {
402 do_yield_work();
403 }
404 }
405
406 inline void PushOrMarkClosure::do_yield_check() {
407 _parent->do_yield_check();
408 }
409
410 inline void Par_PushOrMarkClosure::do_yield_check() {
411 _parent->do_yield_check();
412 }
413
414 // Return value of "true" indicates that the on-going preclean
415 // should be aborted.
416 inline bool ScanMarkedObjectsAgainCarefullyClosure::do_yield_check() {
417 if (ConcurrentMarkSweepThread::should_yield() &&
418 !_collector->foregroundGCIsActive() &&
419 _yield) {
420 // Sample young gen size before and after yield
421 _collector->sample_eden();
|