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

Reply via email to