--- old/src/hotspot/share/gc/g1/g1OldGenAllocationTracker.cpp 2020-08-11 02:05:05.337104625 +0000 +++ new/src/hotspot/share/gc/g1/g1OldGenAllocationTracker.cpp 2020-08-11 02:05:05.077099513 +0000 @@ -24,19 +24,27 @@ #include "precompiled.hpp" #include "gc/g1/g1OldGenAllocationTracker.hpp" +#include "logging/log.hpp" G1OldGenAllocationTracker::G1OldGenAllocationTracker() : - _last_cycle_old_bytes(0), - _last_cycle_duration(0.0), - _allocated_bytes_since_last_gc(0) { + _last_period_old_bytes(0), + _last_period_humongous_bytes(0), + _humongous_bytes_after_last_gc(0), + _humongous_bytes_after_penultimate_gc(0), + _allocated_bytes_since_last_gc(0), + _allocated_humongous_bytes_since_last_gc(0) { } -void G1OldGenAllocationTracker::reset_after_full_gc() { - _last_cycle_duration = 0; - reset_cycle_after_gc(); +void G1OldGenAllocationTracker::reset_after_gc(size_t humongous_bytes_after_gc) { + // Record last + _last_period_old_bytes = _allocated_bytes_since_last_gc; + _last_period_humongous_bytes = _allocated_humongous_bytes_since_last_gc; + _humongous_bytes_after_penultimate_gc = _humongous_bytes_after_last_gc; + _humongous_bytes_after_last_gc = humongous_bytes_after_gc; + // Reset + _allocated_bytes_since_last_gc = 0; + _allocated_humongous_bytes_since_last_gc = 0; + log_debug(gc, alloc, stats)("Old generation allocation in the last mutator period, " + "old gen allocated: " SIZE_FORMAT "B, humongous allocated: " SIZE_FORMAT "B.", + _last_period_old_bytes, _last_period_humongous_bytes); } - -void G1OldGenAllocationTracker::reset_after_young_gc(double allocation_duration_s) { - _last_cycle_duration = allocation_duration_s; - reset_cycle_after_gc(); -} \ No newline at end of file