< prev index next >
src/share/vm/gc/cms/parNewGeneration.hpp
Print this page
rev 8461 : 8086056: ParNew: auto-tune ParGCCardsPerStrideChunk
Summary: Automatically calculate ParGCCardsPerStrideChunk based on the old gen capacity.
Reviewed-by:
rev 8409 : 8080879: Remove FlexibleWorkGang::set_for_termination
Reviewed-by: brutisso, kbarrett, pliden
rev 8396 : 8080110: Remove usage of CollectedHeap::n_par_threads() from root processing
Reviewed-by: jmasa, kbarrett
rev 8362 : 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
*** 343,359 ****
// word being overwritten with a self-forwarding-pointer.
void preserve_mark_if_necessary(oop obj, markOop m);
void handle_promotion_failed(GenCollectedHeap* gch, ParScanThreadStateSet& thread_state_set);
- protected:
-
bool _survivor_overflow;
bool survivor_overflow() { return _survivor_overflow; }
void set_survivor_overflow(bool v) { _survivor_overflow = v; }
public:
ParNewGeneration(ReservedSpace rs, size_t initial_byte_size, int level);
~ParNewGeneration() {
for (uint i = 0; i < ParallelGCThreads; i++)
--- 343,365 ----
// word being overwritten with a self-forwarding-pointer.
void preserve_mark_if_necessary(oop obj, markOop m);
void handle_promotion_failed(GenCollectedHeap* gch, ParScanThreadStateSet& thread_state_set);
bool _survivor_overflow;
bool survivor_overflow() { return _survivor_overflow; }
void set_survivor_overflow(bool v) { _survivor_overflow = v; }
+ // true -> should automatically calculate ParGCCardsPerStrideChunk
+ // before each young GC
+ bool _should_adjust_cards_per_stride;
+
+ // automatically calculate ParGCCardsPerStrideChunk based on the old
+ // gen capacity before each young GC
+ void adjust_cards_per_stride(const Generation& old_gen);
+
public:
ParNewGeneration(ReservedSpace rs, size_t initial_byte_size, int level);
~ParNewGeneration() {
for (uint i = 0; i < ParallelGCThreads; i++)
< prev index next >