On Wed, 12 Apr 2023 14:55:59 GMT, Alan Bateman <al...@openjdk.org> wrote:
> In the spec for FollowReferences, it says that the heap roots include > "references from thread stacks". There is a similar sentence in the > deprecated IterateOverReachableObjects function. We should decide whether > these sentences need to be changed to say "platform thread stacks". IterateOverReachableObjects spec is stricter. It contains: `Roots are always reported to the profiler before any object references are reported.` That is the reason this fix fixes only FollowReferences (stack references for unmounted VTs are collected only when is_advanced_heap_walk() is true), because otherwise we'd have to find all stack references before visit the object, i.e. it requires full heap scan in the beginning. I don't care much about deprecated IterateOverReachableObjects (it shouldn't' be used by modern agents), but I think change in the spec would allow to fix IterateOverReachableObjects as well ------------- PR Comment: https://git.openjdk.org/jdk/pull/13254#issuecomment-1505869437