-
Bug
-
Resolution: Fixed
-
P3
-
17, 18
-
b21
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8312513 | 17.0.9 | Roman Kennke | P3 | Resolved | Fixed | b01 |
Currently, the associated chain for a leak candidate (called 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 markword, since we have already provisioned to use this as a "scratch area" as part of setup - but it is now limited to accommodate for Lilliput (i.e. restricted to only use the lower 32-bits). Instead of storing a pointer to the leak context edge, we store an index into an array.
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 markword, since we have already provisioned to use this as a "scratch area" as part of setup - but it is now limited to accommodate for Lilliput (i.e. restricted to only use the lower 32-bits). Instead of storing a pointer to the leak context edge, we store an index into an array.
- backported by
-
JDK-8312513 Prepare Leak Profiler for Lilliput
- Resolved
- relates to
-
JDK-8279016 JFR Leak Profiler is broken with Shenandoah
- Open
-
JDK-8282067 SIGSEGV in EdgeStore::get_id() when executing jdk/jfr/event/oldobject/TestLargeRootSet.java
- Resolved
- links to
-
Commit openjdk/jdk17u-dev/34da7e2a
-
Commit openjdk/jdk/c41ce6d1
-
Review openjdk/jdk17u-dev/1600
-
Review openjdk/jdk/5992
(2 links to)