Static variables during marking phase of PSParallelCompact
Thomas Schatzl
thomas.schatzl at oracle.com
Thu Apr 25 17:25:11 UTC 2013
Hi,
On Thu, 2013-04-25 at 23:38 +0800, Lokesh Gidra wrote:
> OK. Can you please also tell me which particular root type will cover them?
There is no direct "root type": they are probably most directly
reachable via the java.lang.Class instances when iterating over the
ClassLoaderDataGraph; search for ClassLoaderDataGraph::oops_do() and
ClassLoaderDataGraph::always_strong_oops_do(). I.e. the _class_loader
member of the ClassLoaderData class.
If your question is during which root scanning task the CLDG will be
iterated, it's the SH_PS_SystemDictionary_oops_do task. See also
SharedHeap::process_strong_roots().
The code that finds the static members within a java.lang.Class instance
is in instanceMirrorKlass.?pp.
Hth,
Thomas
More information about the hotspot-gc-dev
mailing list