< prev index next >

src/hotspot/share/gc/g1/g1Policy.hpp

Print this page
rev 59792 : imported patch 8244603-sjohanss-review

*** 58,68 **** static G1IHOPControl* create_ihop_control(const G1Predictions* predictor); // Update the IHOP control with necessary statistics. void update_ihop_prediction(double mutator_time_s, size_t mutator_alloc_bytes, - size_t young_gen_size, bool this_gc_was_young_only); void report_ihop_statistics(); G1Predictions _predictor; G1Analytics* _analytics; --- 58,67 ----
*** 74,83 **** --- 73,83 ---- double _full_collection_start_sec; jlong _collection_pause_end_millis; + uint _young_list_desired_length; uint _young_list_target_length; // The max number of regions we can extend the eden by while the GC // locker is active. This should be >= _young_list_target_length; uint _young_list_max_length;
*** 190,211 **** // This set of variables tracks the collector efficiency, in order to // determine whether we should initiate a new marking. double _mark_remark_start_sec; double _mark_cleanup_start_sec; ! // Updates the internal young gen maximum and target lengths. Returns the ! // unbounded young target length. If no rs_length parameter is passed, ! // predict the RS length using the prediction model, otherwise use the ! // given rs_length as the prediction. ! uint update_young_max_and_target_length(); ! uint update_young_max_and_target_length(size_t rs_length); ! ! // Update the young list target length either by setting it to the ! // desired fixed value or by calculating it using G1's pause ! // prediction model. ! // Returns the unbounded young list target length. ! uint update_young_target_length(size_t rs_length); // Calculate and return the minimum desired eden length based on the MMU target. uint calculate_desired_eden_length_by_mmu() const; // Calculate and return the desired eden length that can fit into the pause time goal. --- 190,204 ---- // This set of variables tracks the collector efficiency, in order to // determine whether we should initiate a new marking. double _mark_remark_start_sec; double _mark_cleanup_start_sec; ! // Updates the internal young gen maximum and target and desired lengths. ! // If no rs_length parameter is passed, predict the RS length using the ! // prediction model, otherwise use the given rs_length as the prediction. ! void update_young_length_bounds(); ! void update_young_length_bounds(size_t rs_length); // Calculate and return the minimum desired eden length based on the MMU target. uint calculate_desired_eden_length_by_mmu() const; // Calculate and return the desired eden length that can fit into the pause time goal.
*** 226,235 **** --- 219,231 ---- // Calculate desired young length based on current situation without taking actually // available free regions into account. uint calculate_young_desired_length(size_t rs_length) const; // Limit the given desired young length to available free regions. uint calculate_young_target_length(uint desired_young_length) const; + // The GCLocker might cause us to need more regions than the target. Calculate + // the maximum number of regions to use in that case. + uint calculate_young_max_length(uint target_young_length) const; void update_rs_length_prediction(); void update_rs_length_prediction(size_t prediction); size_t predict_bytes_to_copy(HeapRegion* hr) const;
*** 370,379 **** --- 366,376 ---- // marking thread has completed its work during the previous cycle, // it will set in_initial_mark_gc() to so that the pause does // the initial-mark work and start a marking cycle. void decide_on_conc_mark_initiation(); + uint young_list_desired_length() const { return _young_list_desired_length; } size_t young_list_target_length() const { return _young_list_target_length; } bool should_allocate_mutator_region() const; bool can_expand_young_list() const;
*** 430,441 **** _survivors_age_table.merge(age_table); } void print_age_table(); - void update_max_gc_locker_expansion(); - void update_survivors_policy(); virtual bool force_upgrade_to_full() { return false; } --- 427,436 ----
< prev index next >