g1CollectorPolicy.hpp revision 2277
1472N/A * or visit www.oracle.com if you need additional information or have any
1879N/A#include "gc_implementation/g1/collectionSetChooser.hpp"
1879N/A#include "gc_implementation/g1/g1MMUTracker.hpp"
1879N/A#include "memory/collectorPolicy.hpp"
342N/Aclass HeapRegion;
342N/Aclass CollectionSetChooser;
342N/Aclass MainBodySummary;
677N/A public MainBodySummary {
342N/A enum SomePrivateConstants {
342N/A void initialize_flags();
342N/A void initialize_all() {
342N/A double _cur_collection_start_sec;
342N/A double _cur_collection_par_time_ms;
342N/A double _cur_satb_drain_time_ms;
342N/A double _cur_clear_ct_time_ms;
342N/A bool _satb_drain_time_set;
342N/A double _cur_CH_strong_roots_end_sec;
342N/A double _cur_CH_strong_roots_dur_ms;
342N/A double _cur_G1_strong_roots_end_sec;
342N/A double _cur_G1_strong_roots_dur_ms;
342N/A double _stop_world_start;
342N/A double* _cur_aux_start_times_ms;
342N/A double* _cur_aux_times_ms;
342N/A bool* _cur_aux_times_set;
342N/A double* _par_last_ext_root_scan_times_ms;
342N/A double* _par_last_mark_stack_scan_times_ms;
342N/A double* _par_last_update_rs_times_ms;
342N/A double* _par_last_scan_rs_times_ms;
342N/A double* _par_last_obj_copy_times_ms;
342N/A double* _par_last_termination_times_ms;
1531N/A double* _par_last_termination_attempts;
1531N/A double* _par_last_gc_worker_end_times_ms;
2277N/A double* _par_last_gc_worker_times_ms;
342N/A bool _in_young_gc_mode;
342N/A bool _full_young_gcs;
342N/A bool _last_young_gc_full;
342N/A unsigned _full_young_pause_num;
342N/A unsigned _partial_young_pause_num;
342N/A bool _during_marking;
342N/A bool _in_marking_window;
342N/A bool _in_marking_window_im;
1356N/A double _gc_overhead_perc;
342N/A bool during_marking() {
342N/A return _during_marking;
342N/A enum PredictionConstants {
342N/A double _prev_collection_pause_end_ms;
342N/A double _predicted_survival_ratio;
342N/A double _predicted_rs_update_time_ms;
342N/A double _predicted_rs_scan_time_ms;
342N/A double _predicted_object_copy_time_ms;
342N/A double _predicted_young_other_time_ms;
342N/A double _predicted_pause_time_ms;
342N/A double _vtime_diff_ms;
342N/A double _expensive_region_limit_ms;
342N/A double _known_garbage_ratio;
1111N/A double update_rs_processed_buffers,
342N/A double _pause_time_target_ms;
342N/A bool _within_target;
342N/A bool verify_young_ages();
342N/A return _young_cset_length;
342N/A return prediction;
342N/A double predict_alloc_rate_ms() {
342N/A double predict_cost_per_card_ms() {
342N/A double predict_fully_young_cards_per_entry_ratio() {
342N/A if (full_young_gcs())
342N/A return (double) bytes_to_copy *
342N/A return (double) bytes_to_copy *
342N/A double predict_constant_other_time_ms() {
342N/A (double) non_young_num *
1394N/A double base_time_ms,
1394N/A double target_pause_time_ms);
342N/A void start_recording_regions();
342N/A void end_recording_regions();
342N/A double predict_young_gc_eff() {
545N/A double predict_survivor_regions_evac_time();
342N/A void cset_regions_freed() {
342N/A return _mmu_tracker;
1576N/A double max_pause_time_ms() {
342N/A double predict_init_time_ms() {
342N/A double predict_remark_time_ms() {
342N/A double predict_cleanup_time_ms() {
342N/A double _last_pause_time_ms;
342N/A friend class CountCSClosure;
342N/A int _num_markings;
1394N/A enum CSetBuildType {
1394N/A // young list/collection set).
1394N/A // regions in the young list/collection set).
1394N/A // young list/collection set).
342N/A double recent_avg_time_for_pauses_ms();
342N/A double recent_avg_time_for_CH_strong_ms();
342N/A double recent_avg_time_for_G1_strong_ms();
342N/A double recent_avg_time_for_evac_ms();
342N/A int number_of_recent_gcs();
342N/A double recent_avg_survival_fraction();
342N/A double last_survival_fraction();
342N/A double conservative_avg_survival_fraction() {
342N/A double _recent_avg_pause_time_ratio;
342N/A double recent_avg_pause_time_ratio() {
342N/A return _recent_avg_pause_time_ratio;
1359N/A volatile bool _initiate_conc_mark_if_possible;
1359N/A volatile bool _during_initial_mark_pause;
342N/A bool _last_full_young_gc;
342N/A double _cur_mark_stop_world_time_ms;
342N/A double _mark_init_start_sec;
342N/A double _mark_remark_start_sec;
342N/A double _mark_cleanup_start_sec;
342N/A double _mark_closure_time_ms;
342N/A void check_prediction_validity();
342N/A return bytes_in_to_space_during_gc();
342N/A unsigned calc_gc_alloc_time_stamp() {
342N/A void count_CS_bytes_used();
545N/A virtual void initialize_gc_policy_counters();
342N/A bool* gc_overhead_limit_was_exceeded);
342N/A virtual void record_stop_world_start();
342N/A virtual void record_concurrent_mark_init_start();
342N/A virtual void record_concurrent_mark_init_end();
342N/A void record_concurrent_mark_init_end_pre(double
342N/A virtual void record_concurrent_mark_remark_start();
342N/A virtual void record_concurrent_mark_remark_end();
342N/A virtual void record_concurrent_mark_cleanup_start();
342N/A virtual void record_concurrent_mark_cleanup_completed();
342N/A virtual void record_concurrent_pause();
342N/A virtual void record_concurrent_pause_end();
342N/A virtual void record_collection_pause_end_CH_strong_roots();
342N/A virtual void record_collection_pause_end_G1_strong_roots();
1627N/A virtual void record_collection_pause_end();
342N/A virtual void record_full_collection_start();
342N/A virtual void record_full_collection_end();
342N/A _satb_drain_time_set = true;
342N/A double processed_buffers) {
342N/A void reset_obj_copy_time() {
342N/A void record_aux_start_time(int i) {
342N/A void record_aux_end_time(int i) {
342N/A _cur_aux_times_set[i] = true;
1394N/A void clear_incremental_cset() {
342N/A void note_start_of_mark_thread();
342N/A virtual bool assertMarkedBytesDataOK() = 0;
342N/A void print_tracing_info() const;
342N/A void print_yg_surv_rate_info() const;
545N/A if (is_survivors) {
1880N/A bool is_young_list_full() {
1898N/A if (G1FixedEdenSize) {
1898N/A bool can_expand_young_list() {
1880N/A if (G1FixedEdenSize) {
342N/A bool in_young_gc_mode() {
342N/A return _in_young_gc_mode;
342N/A bool full_young_gcs() {
342N/A return _full_young_gcs;
342N/A bool adaptive_young_list_length() {
342N/A return _adaptive_young_list_length;
342N/A inline double get_gc_eff_factor() {
342N/A inline GCAllocPurpose
342N/A return GCAllocForSurvived;
342N/A return GCAllocForTenured;
342N/A return GCAllocForTenured;
342N/A void note_start_adding_survivor_regions() {
342N/A void note_stop_adding_survivor_regions() {
838N/A return _recorded_survivor_regions;
545N/A void calculate_survivors_policy();
342N/A virtual void record_full_collection_end();
1627N/A void record_collection_pause_end();
342N/A bool assertMarkedBytesDataOK();