comparison src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp @ 1166:7b0e9cba0307

6896647: card marks can be deferred too long Summary: Deferred card marks are now flushed during the gc prologue. Parallel[Scavege,OldGC] and SerialGC no longer defer card marks generated by COMPILER2 as a result of ReduceInitialCardMarks. For these cases, introduced a diagnostic option to defer the card marks, only for the purposes of testing and diagnostics. CMS and G1 continue to defer card marks. Potential performance concern related to single-threaded flushing of deferred card marks in the gc prologue will be addressed in the future. Reviewed-by: never, johnc
author ysr
date Wed, 13 Jan 2010 15:26:39 -0800
parents 39b01ab7035a
children 0bfd3fb24150
comparison
equal deleted inserted replaced
1165:2dd52dea6d28 1166:7b0e9cba0307
49 (pg_max + og_max + yg_max) / K); 49 (pg_max + og_max + yg_max) / K);
50 } 50 }
51 } 51 }
52 52
53 jint ParallelScavengeHeap::initialize() { 53 jint ParallelScavengeHeap::initialize() {
54 CollectedHeap::pre_initialize();
55
54 // Cannot be initialized until after the flags are parsed 56 // Cannot be initialized until after the flags are parsed
55 GenerationSizer flag_parser; 57 GenerationSizer flag_parser;
56 58
57 size_t yg_min_size = flag_parser.min_young_gen_size(); 59 size_t yg_min_size = flag_parser.min_young_gen_size();
58 size_t yg_max_size = flag_parser.max_young_gen_size(); 60 size_t yg_max_size = flag_parser.max_young_gen_size();
715 717
716 HeapWord* ParallelScavengeHeap::allocate_new_tlab(size_t size) { 718 HeapWord* ParallelScavengeHeap::allocate_new_tlab(size_t size) {
717 return young_gen()->allocate(size, true); 719 return young_gen()->allocate(size, true);
718 } 720 }
719 721
720 void ParallelScavengeHeap::fill_all_tlabs(bool retire) {
721 CollectedHeap::fill_all_tlabs(retire);
722 }
723
724 void ParallelScavengeHeap::accumulate_statistics_all_tlabs() { 722 void ParallelScavengeHeap::accumulate_statistics_all_tlabs() {
725 CollectedHeap::accumulate_statistics_all_tlabs(); 723 CollectedHeap::accumulate_statistics_all_tlabs();
726 } 724 }
727 725
728 void ParallelScavengeHeap::resize_all_tlabs() { 726 void ParallelScavengeHeap::resize_all_tlabs() {