Mercurial > hg > truffle
comparison src/share/vm/gc_implementation/parallelScavenge/generationSizer.hpp @ 13060:8f07aa079343
8016309: assert(eden_size > 0 && survivor_size > 0) failed: just checking
7057939: jmap shows MaxNewSize=4GB when Java is using parallel collector
Summary: Major cleanup of the collectorpolicy classes
Reviewed-by: tschatzl, jcoomes
author | jwilhelm |
---|---|
date | Fri, 01 Nov 2013 17:09:38 +0100 |
parents | c49c7f835e8d |
children |
comparison
equal
deleted
inserted
replaced
13059:46d7652b223c | 13060:8f07aa079343 |
---|---|
29 | 29 |
30 // There is a nice batch of tested generation sizing code in | 30 // There is a nice batch of tested generation sizing code in |
31 // TwoGenerationCollectorPolicy. Lets reuse it! | 31 // TwoGenerationCollectorPolicy. Lets reuse it! |
32 | 32 |
33 class GenerationSizer : public TwoGenerationCollectorPolicy { | 33 class GenerationSizer : public TwoGenerationCollectorPolicy { |
34 public: | 34 private: |
35 GenerationSizer() { | |
36 // Partial init only! | |
37 initialize_flags(); | |
38 initialize_size_info(); | |
39 } | |
40 | 35 |
41 void initialize_flags() { | 36 void trace_gen_sizes(const char* const str); |
42 // Do basic sizing work | |
43 TwoGenerationCollectorPolicy::initialize_flags(); | |
44 | 37 |
45 assert(UseSerialGC || | 38 // The alignment used for boundary between young gen and old gen |
46 !FLAG_IS_DEFAULT(ParallelGCThreads) || | 39 static size_t default_gen_alignment() { return 64 * K * HeapWordSize; } |
47 (ParallelGCThreads > 0), | |
48 "ParallelGCThreads should be set before flag initialization"); | |
49 | 40 |
50 // The survivor ratio's are calculated "raw", unlike the | 41 protected: |
51 // default gc, which adds 2 to the ratio value. We need to | |
52 // make sure the values are valid before using them. | |
53 if (MinSurvivorRatio < 3) { | |
54 MinSurvivorRatio = 3; | |
55 } | |
56 | 42 |
57 if (InitialSurvivorRatio < 3) { | 43 void initialize_alignments(); |
58 InitialSurvivorRatio = 3; | 44 void initialize_flags(); |
59 } | 45 void initialize_size_info(); |
60 } | |
61 | |
62 size_t min_young_gen_size() { return _min_gen0_size; } | |
63 size_t young_gen_size() { return _initial_gen0_size; } | |
64 size_t max_young_gen_size() { return _max_gen0_size; } | |
65 | |
66 size_t min_old_gen_size() { return _min_gen1_size; } | |
67 size_t old_gen_size() { return _initial_gen1_size; } | |
68 size_t max_old_gen_size() { return _max_gen1_size; } | |
69 }; | 46 }; |
70 | |
71 #endif // SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_GENERATIONSIZER_HPP | 47 #endif // SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_GENERATIONSIZER_HPP |