145 // new cycle, as long as we are not already in one. It's best if it
146 // is called during a safepoint when the test whether a cycle is in
147 // progress or not is stable.
148 virtual bool force_initial_mark_if_outside_cycle(GCCause::Cause gc_cause) = 0;
149
150 // This is called at the very beginning of an evacuation pause (it
151 // has to be the first thing that the pause does). If
152 // initiate_conc_mark_if_possible() is true, and the concurrent
153 // marking thread has completed its work during the previous cycle,
154 // it will set during_initial_mark_pause() to so that the pause does
155 // the initial-mark work and start a marking cycle.
156 virtual void decide_on_conc_mark_initiation() = 0;
157
158 // Print stats on young survival ratio
159 virtual void print_yg_surv_rate_info() const = 0;
160
161 virtual void finished_recalculating_age_indexes(bool is_survivors) = 0;
162
163 virtual size_t young_list_target_length() const = 0;
164
165 virtual bool is_young_list_full() const = 0;
166
167 virtual bool can_expand_young_list() const = 0;
168
169 virtual uint young_list_max_length() const = 0;
170
171 virtual bool adaptive_young_list_length() const = 0;
172
173 virtual bool should_process_references() const = 0;
174
175 virtual uint tenuring_threshold() const = 0;
176 virtual uint max_survivor_regions() = 0;
177
178 virtual void note_start_adding_survivor_regions() = 0;
179
180 virtual void note_stop_adding_survivor_regions() = 0;
181
182 virtual void record_age_table(AgeTable* age_table) = 0;
183 };
184
185 #endif // SHARE_VM_GC_G1_G1POLICY_HPP
|
145 // new cycle, as long as we are not already in one. It's best if it
146 // is called during a safepoint when the test whether a cycle is in
147 // progress or not is stable.
148 virtual bool force_initial_mark_if_outside_cycle(GCCause::Cause gc_cause) = 0;
149
150 // This is called at the very beginning of an evacuation pause (it
151 // has to be the first thing that the pause does). If
152 // initiate_conc_mark_if_possible() is true, and the concurrent
153 // marking thread has completed its work during the previous cycle,
154 // it will set during_initial_mark_pause() to so that the pause does
155 // the initial-mark work and start a marking cycle.
156 virtual void decide_on_conc_mark_initiation() = 0;
157
158 // Print stats on young survival ratio
159 virtual void print_yg_surv_rate_info() const = 0;
160
161 virtual void finished_recalculating_age_indexes(bool is_survivors) = 0;
162
163 virtual size_t young_list_target_length() const = 0;
164
165 virtual bool should_allocate_mutator_region() const = 0;
166
167 virtual bool can_expand_young_list() const = 0;
168
169 virtual uint young_list_max_length() const = 0;
170
171 virtual bool adaptive_young_list_length() const = 0;
172
173 virtual bool should_process_references() const = 0;
174
175 virtual uint tenuring_threshold() const = 0;
176 virtual uint max_survivor_regions() = 0;
177
178 virtual void note_start_adding_survivor_regions() = 0;
179
180 virtual void note_stop_adding_survivor_regions() = 0;
181
182 virtual void record_age_table(AgeTable* age_table) = 0;
183 };
184
185 #endif // SHARE_VM_GC_G1_G1POLICY_HPP
|