On Mon, 10 Nov 2025 20:54:56 GMT, Alex Menkov <[email protected]> wrote:

> FollowReferences with null initial_object starts heap walking from "heap 
> roots", which include system classes.
> All oops from ClassLoaderDataGraph are reported with 
> JVMTI_HEAP_REFERENCE_SYSTEM_CLASS kind, but some of the objects are not 
> classes.
> The fix updates FollowReferences to report non-class objects from 
> ClassLoaderDataGraph as JVMTI_HEAP_REFERENCE_OTHER
> 
> Testing: tier1..4,hs-tier5-svc

Changes requested by lmesnik (Reviewer).

test/hotspot/jtreg/serviceability/jvmti/FollowReferences/KindSystemClass/libKindSystemClass.cpp
 line 43:

> 41:   switch (reference_kind) {
> 42:   case JVMTI_HEAP_REFERENCE_SYSTEM_CLASS:
> 43:     *tag_ptr = ++class_counter;

The callback is executed on VMThread, so counters should be atomic or protected 
by monitors.

-------------

PR Review: https://git.openjdk.org/jdk/pull/28224#pullrequestreview-3460651314
PR Review Comment: https://git.openjdk.org/jdk/pull/28224#discussion_r2524138908

Reply via email to