< prev index next >
src/share/vm/gc/g1/g1IHOPControl.cpp
Print this page
*** 22,35 ****
*
*/
#include "precompiled.hpp"
#include "gc/g1/g1CollectedHeap.inline.hpp"
- #include "gc/g1/g1ErgoVerbose.hpp"
#include "gc/g1/g1IHOPControl.hpp"
#include "gc/g1/g1Predictions.hpp"
#include "gc/shared/gcTrace.hpp"
G1IHOPControl::G1IHOPControl(double initial_ihop_percent, size_t target_occupancy) :
_initial_ihop_percent(initial_ihop_percent),
_target_occupancy(target_occupancy),
_last_allocated_bytes(0),
--- 22,35 ----
*
*/
#include "precompiled.hpp"
#include "gc/g1/g1CollectedHeap.inline.hpp"
#include "gc/g1/g1IHOPControl.hpp"
#include "gc/g1/g1Predictions.hpp"
#include "gc/shared/gcTrace.hpp"
+ #include "logging/log.hpp"
G1IHOPControl::G1IHOPControl(double initial_ihop_percent, size_t target_occupancy) :
_initial_ihop_percent(initial_ihop_percent),
_target_occupancy(target_occupancy),
_last_allocated_bytes(0),
*** 45,62 ****
_last_allocated_bytes = allocated_bytes;
}
void G1IHOPControl::print() {
size_t cur_conc_mark_start_threshold = get_conc_mark_start_threshold();
! ergo_verbose6(ErgoIHOP,
! "basic information",
! ergo_format_reason("value update")
! ergo_format_byte_perc("threshold")
! ergo_format_byte("target occupancy")
! ergo_format_byte("current occupancy")
! ergo_format_double("recent old gen allocation rate")
! ergo_format_double("recent marking phase length"),
cur_conc_mark_start_threshold,
cur_conc_mark_start_threshold * 100.0 / _target_occupancy,
_target_occupancy,
G1CollectedHeap::heap()->used(),
_last_allocation_time_s > 0.0 ? _last_allocated_bytes / _last_allocation_time_s : 0.0,
--- 45,56 ----
_last_allocated_bytes = allocated_bytes;
}
void G1IHOPControl::print() {
size_t cur_conc_mark_start_threshold = get_conc_mark_start_threshold();
! log_debug(gc, ihop)("Basic information (value update), threshold: " SIZE_FORMAT "B (%1.2f), target occupancy: " SIZE_FORMAT "B, current occupancy: " SIZE_FORMAT "B,"
! " recent old gen allocation rate: %1.2f, recent marking phase length: %1.2f",
cur_conc_mark_start_threshold,
cur_conc_mark_start_threshold * 100.0 / _target_occupancy,
_target_occupancy,
G1CollectedHeap::heap()->used(),
_last_allocation_time_s > 0.0 ? _last_allocated_bytes / _last_allocation_time_s : 0.0,
*** 190,214 ****
}
void G1AdaptiveIHOPControl::print() {
G1IHOPControl::print();
size_t actual_target = actual_target_threshold();
! ergo_verbose6(ErgoIHOP,
! "adaptive IHOP information",
! ergo_format_reason("value update")
! ergo_format_byte_perc("threshold")
! ergo_format_byte("internal target occupancy")
! ergo_format_double("predicted old gen allocation rate")
! ergo_format_double("predicted marking phase length")
! ergo_format_str("prediction active"),
get_conc_mark_start_threshold(),
percent_of(get_conc_mark_start_threshold(), actual_target),
actual_target,
_predictor->get_new_prediction(&_allocation_rate_s),
_predictor->get_new_prediction(&_marking_times_s),
! have_enough_data_for_prediction() ? "true" : "false"
! );
}
void G1AdaptiveIHOPControl::send_trace_event(G1NewTracer* tracer) {
G1IHOPControl::send_trace_event(tracer);
tracer->report_adaptive_ihop_statistics(get_conc_mark_start_threshold(),
--- 184,201 ----
}
void G1AdaptiveIHOPControl::print() {
G1IHOPControl::print();
size_t actual_target = actual_target_threshold();
! log_debug(gc, ihop)("Adaptive IHOP information (value update), threshold: " SIZE_FORMAT "B (%1.2f), internal target occupancy: " SIZE_FORMAT "B,"
! " predicted old gen allocation rate: %1.2f, predicted marking phase length: %1.2f, prediction active: %s",
get_conc_mark_start_threshold(),
percent_of(get_conc_mark_start_threshold(), actual_target),
actual_target,
_predictor->get_new_prediction(&_allocation_rate_s),
_predictor->get_new_prediction(&_marking_times_s),
! have_enough_data_for_prediction() ? "true" : "false");
}
void G1AdaptiveIHOPControl::send_trace_event(G1NewTracer* tracer) {
G1IHOPControl::send_trace_event(tracer);
tracer->report_adaptive_ihop_statistics(get_conc_mark_start_threshold(),
< prev index next >