Integrated: 8275415: Prepare Leak Profiler for Lilliput
Markus Grönlund
mgronlun at openjdk.java.net
Thu Oct 21 10:16:07 UTC 2021
On Mon, 18 Oct 2021 17:31:13 GMT, Markus Grönlund <mgronlun at openjdk.org> wrote:
> Greetings,
>
> Currently, the associated chain for a leak candidate (represented by the leak context edge) is stored as a pointer in the mark word. With Lilliput, this will not work.
>
> Providing another hashtable works fine to solve this problem, but the overhead might not fully warrant it. The default hashtable has 1009 buckets IIRC, but the number of leak candidates (samples) found during heap traversal might only be a relatively small number (default queue size is 256).
>
> A solution is to still use space available in the mark word, since we have already provisioned to use this as a "scratch area" as part of setup. It is now limited to accommodate the anticipated changes under the Lilliput project (i.e. restricted to only use the lower 32-bits) and instead of storing a pointer to the leak context edge, we store an index into an array.
>
> Testing: jdk_jfr
>
> Thanks
> Markus
This pull request has now been integrated.
Changeset: c41ce6d1
Author: Markus Grönlund <mgronlun at openjdk.org>
URL: https://git.openjdk.java.net/jdk/commit/c41ce6d159e59a8c05dbeacde2d2612b58733d46
Stats: 105 lines in 3 files changed: 75 ins; 23 del; 7 mod
8275415: Prepare Leak Profiler for Lilliput
Reviewed-by: rkennke
-------------
PR: https://git.openjdk.java.net/jdk/pull/5992
More information about the hotspot-jfr-dev
mailing list