36 // and application footprint).
37 //
38 // It also computes an optimal tenuring threshold between the young
39 // and old generations, so as to equalize the cost of collections
40 // of those generations, as well as optimial survivor space sizes
41 // for the young generation.
42 //
43 // While this class is specifically intended for a generational system
44 // consisting of a young gen (containing an Eden and two semi-spaces)
45 // and a tenured gen, as well as a perm gen for reflective data, it
46 // makes NO references to specific generations.
47 //
48 // 05/02/2003 Update
49 // The 1.5 policy makes use of data gathered for the costs of GC on
50 // specific generations. That data does reference specific
51 // generation. Also diagnostics specific to generations have
52 // been added.
53
54 // Forward decls
55 class elapsedTimer;
56 class GenerationSizer;
57
58 class PSAdaptiveSizePolicy : public AdaptiveSizePolicy {
59 friend class PSGCAdaptivePolicyCounters;
60 private:
61 // These values are used to record decisions made during the
62 // policy. For example, if the young generation was decreased
63 // to decrease the GC cost of minor collections the value
64 // decrease_young_gen_for_throughput_true is used.
65
66 // Last calculated sizes, in bytes, and aligned
67 // NEEDS_CLEANUP should use sizes.hpp, but it works in ints, not size_t's
68
69 // Time statistics
70 AdaptivePaddedAverage* _avg_major_pause;
71
72 // Footprint statistics
73 AdaptiveWeightedAverage* _avg_base_footprint;
74
75 // Statistical data gathered for GC
76 GCStats _gc_stats;
|
36 // and application footprint).
37 //
38 // It also computes an optimal tenuring threshold between the young
39 // and old generations, so as to equalize the cost of collections
40 // of those generations, as well as optimial survivor space sizes
41 // for the young generation.
42 //
43 // While this class is specifically intended for a generational system
44 // consisting of a young gen (containing an Eden and two semi-spaces)
45 // and a tenured gen, as well as a perm gen for reflective data, it
46 // makes NO references to specific generations.
47 //
48 // 05/02/2003 Update
49 // The 1.5 policy makes use of data gathered for the costs of GC on
50 // specific generations. That data does reference specific
51 // generation. Also diagnostics specific to generations have
52 // been added.
53
54 // Forward decls
55 class elapsedTimer;
56
57 class PSAdaptiveSizePolicy : public AdaptiveSizePolicy {
58 friend class PSGCAdaptivePolicyCounters;
59 private:
60 // These values are used to record decisions made during the
61 // policy. For example, if the young generation was decreased
62 // to decrease the GC cost of minor collections the value
63 // decrease_young_gen_for_throughput_true is used.
64
65 // Last calculated sizes, in bytes, and aligned
66 // NEEDS_CLEANUP should use sizes.hpp, but it works in ints, not size_t's
67
68 // Time statistics
69 AdaptivePaddedAverage* _avg_major_pause;
70
71 // Footprint statistics
72 AdaptiveWeightedAverage* _avg_base_footprint;
73
74 // Statistical data gathered for GC
75 GCStats _gc_stats;
|