< prev index next >

src/share/vm/gc/shared/genCollectedHeap.cpp

Print this page
rev 11970 : imported patch base_volatiles


 704     _young_gen->oop_since_save_marks_iterate##nv_suffix(cur);           \
 705     _old_gen->oop_since_save_marks_iterate##nv_suffix(older);           \
 706   } else {                                                              \
 707     _old_gen->oop_since_save_marks_iterate##nv_suffix(cur);             \
 708   }                                                                     \
 709 }
 710 
 711 ALL_SINCE_SAVE_MARKS_CLOSURES(GCH_SINCE_SAVE_MARKS_ITERATE_DEFN)
 712 
 713 #undef GCH_SINCE_SAVE_MARKS_ITERATE_DEFN
 714 
 715 bool GenCollectedHeap::no_allocs_since_save_marks() {
 716   return _young_gen->no_allocs_since_save_marks() &&
 717          _old_gen->no_allocs_since_save_marks();
 718 }
 719 
 720 bool GenCollectedHeap::supports_inline_contig_alloc() const {
 721   return _young_gen->supports_inline_contig_alloc();
 722 }
 723 
 724 HeapWord** GenCollectedHeap::top_addr() const {
 725   return _young_gen->top_addr();
 726 }
 727 
 728 HeapWord** GenCollectedHeap::end_addr() const {
 729   return _young_gen->end_addr();
 730 }
 731 
 732 // public collection interfaces
 733 
 734 void GenCollectedHeap::collect(GCCause::Cause cause) {
 735   if (should_do_concurrent_full_gc(cause)) {
 736 #if INCLUDE_ALL_GCS
 737     // Mostly concurrent full collection.
 738     collect_mostly_concurrent(cause);
 739 #else  // INCLUDE_ALL_GCS
 740     ShouldNotReachHere();
 741 #endif // INCLUDE_ALL_GCS
 742   } else if (cause == GCCause::_wb_young_gc) {
 743     // Young collection for the WhiteBox API.
 744     collect(cause, YoungGen);




 704     _young_gen->oop_since_save_marks_iterate##nv_suffix(cur);           \
 705     _old_gen->oop_since_save_marks_iterate##nv_suffix(older);           \
 706   } else {                                                              \
 707     _old_gen->oop_since_save_marks_iterate##nv_suffix(cur);             \
 708   }                                                                     \
 709 }
 710 
 711 ALL_SINCE_SAVE_MARKS_CLOSURES(GCH_SINCE_SAVE_MARKS_ITERATE_DEFN)
 712 
 713 #undef GCH_SINCE_SAVE_MARKS_ITERATE_DEFN
 714 
 715 bool GenCollectedHeap::no_allocs_since_save_marks() {
 716   return _young_gen->no_allocs_since_save_marks() &&
 717          _old_gen->no_allocs_since_save_marks();
 718 }
 719 
 720 bool GenCollectedHeap::supports_inline_contig_alloc() const {
 721   return _young_gen->supports_inline_contig_alloc();
 722 }
 723 
 724 HeapWord* volatile* GenCollectedHeap::top_addr() const {
 725   return _young_gen->top_addr();
 726 }
 727 
 728 HeapWord** GenCollectedHeap::end_addr() const {
 729   return _young_gen->end_addr();
 730 }
 731 
 732 // public collection interfaces
 733 
 734 void GenCollectedHeap::collect(GCCause::Cause cause) {
 735   if (should_do_concurrent_full_gc(cause)) {
 736 #if INCLUDE_ALL_GCS
 737     // Mostly concurrent full collection.
 738     collect_mostly_concurrent(cause);
 739 #else  // INCLUDE_ALL_GCS
 740     ShouldNotReachHere();
 741 #endif // INCLUDE_ALL_GCS
 742   } else if (cause == GCCause::_wb_young_gc) {
 743     // Young collection for the WhiteBox API.
 744     collect(cause, YoungGen);


< prev index next >