RFR: 8367473: Shenandoah: Make the detailed evacuation metrics a runtime diagnostic option
Kelvin Nilsen
kdnilsen at openjdk.org
Fri Sep 12 22:19:19 UTC 2025
On Thu, 11 Sep 2025 22:43:23 GMT, William Kemper <wkemper at openjdk.org> wrote:
> Non-product builds currently have a feature to produce detailed metrics about evacuations (number of objects, number of bytes, split out by age (young, old, promotion) and thread (mutator or worker). This change makes this feature accessible in release builds as a diagnostic option.
src/hotspot/share/gc/shenandoah/shenandoahGenerationalHeap.cpp line 326:
> 324: return ShenandoahBarrierSet::resolve_forwarded(p);
> 325: }
> 326:
Am wondering if we can template the implementation of try_evacuate_object and the LRB also, so that the fast path is unaffected by the existence of this extra run-time check. I'm curious to see if there is a measurable impact on performance from this change.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/27238#discussion_r2342574645
More information about the hotspot-gc-dev
mailing list