148
149 public:
150 ShenandoahCollectorPolicy();
151
152 ShenandoahPhaseTimes* phase_times();
153
154 virtual ShenandoahCollectorPolicy* as_pgc_policy();
155
156 BarrierSet::Name barrier_set_name();
157
158 HeapWord* mem_allocate_work(size_t size,
159 bool is_tlab,
160 bool* gc_overhead_limit_was_exceeded);
161
162 HeapWord* satisfy_failed_allocation(size_t size, bool is_tlab);
163
164 void initialize_alignments();
165
166 void post_heap_initialize();
167
168 void record_phase_start(TimingPhase phase);
169 void record_phase_end(TimingPhase phase);
170
171 void record_workers_start(TimingPhase phase);
172 void record_workers_end(TimingPhase phase);
173
174 void report_concgc_cancelled();
175
176 void record_user_requested_gc();
177 void record_allocation_failure_gc();
178
179 void record_bytes_allocated(size_t bytes);
180 void record_bytes_reclaimed(size_t bytes);
181 void record_bytes_start_CM(size_t bytes);
182 void record_bytes_end_CM(size_t bytes);
183 bool should_start_concurrent_mark(size_t used, size_t capacity);
184 bool handover_cancelled_marking();
185
186 void record_cm_cancelled();
187 void record_cm_success();
188 void record_cm_degenerated();
189 void record_full_gc();
190
191 void choose_collection_set(ShenandoahCollectionSet* collection_set, int* connections=NULL);
192 void choose_free_set(ShenandoahFreeSet* free_set);
193
194 bool process_references();
195 bool unload_classes();
196
197 void print_tracing_info(outputStream* out);
198
199 GCTimer* conc_timer(){return _conc_timer;}
200 GCTimer* stw_timer() {return _stw_timer;}
201 ShenandoahTracer* tracer() {return _tracer;}
202
203 void set_conc_gc_aborted() { _conc_gc_aborted = true;}
|
148
149 public:
150 ShenandoahCollectorPolicy();
151
152 ShenandoahPhaseTimes* phase_times();
153
154 virtual ShenandoahCollectorPolicy* as_pgc_policy();
155
156 BarrierSet::Name barrier_set_name();
157
158 HeapWord* mem_allocate_work(size_t size,
159 bool is_tlab,
160 bool* gc_overhead_limit_was_exceeded);
161
162 HeapWord* satisfy_failed_allocation(size_t size, bool is_tlab);
163
164 void initialize_alignments();
165
166 void post_heap_initialize();
167
168 void record_gc_start();
169 void record_gc_end();
170
171 void record_phase_start(TimingPhase phase);
172 void record_phase_end(TimingPhase phase);
173
174 void record_workers_start(TimingPhase phase);
175 void record_workers_end(TimingPhase phase);
176
177 void report_concgc_cancelled();
178
179 void record_user_requested_gc();
180 void record_allocation_failure_gc();
181
182 void record_bytes_allocated(size_t bytes);
183 void record_bytes_reclaimed(size_t bytes);
184 void record_bytes_start_CM(size_t bytes);
185 void record_bytes_end_CM(size_t bytes);
186 bool should_start_concurrent_mark(size_t used, size_t capacity);
187 bool should_start_partial_gc();
188 bool handover_cancelled_marking();
189
190 void record_cm_cancelled();
191 void record_cm_success();
192 void record_cm_degenerated();
193 void record_full_gc();
194
195 void choose_collection_set(ShenandoahCollectionSet* collection_set, int* connections=NULL);
196 void choose_free_set(ShenandoahFreeSet* free_set);
197
198 bool process_references();
199 bool unload_classes();
200
201 void print_tracing_info(outputStream* out);
202
203 GCTimer* conc_timer(){return _conc_timer;}
204 GCTimer* stw_timer() {return _stw_timer;}
205 ShenandoahTracer* tracer() {return _tracer;}
206
207 void set_conc_gc_aborted() { _conc_gc_aborted = true;}
|