Mercurial > hg > truffle
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() { |