RFR(M): 8219586: CodeHeap State Analytics processes dead nmethods
Schmidt, Lutz
lutz.schmidt at sap.com
Wed Aug 26 15:20:52 UTC 2020
Dear all,
may I please request reviews for this fix/improvement to CodeHeap State Analytics. Explained in a nutshell it removes the last holes through which the analysis code could potentially access memory which is no longer associated with the entity being inspected.
There has been a long-lasting, off-list discussion with Erik Österlund until all pitfalls were identified and agreeable solutions were found. The important parts of that discussion are reflected in the bug comments. There are two major changes:
1) All accesses to the CodeHeap are now protected by continuously holding the CodeCache_lock and, in addition, the Compile_lock. Information is aggregated in local data structures for later printing without holding the above locks.
2) Printing the names of all code blobs has been disabled except for one operation mode where the locks can be held while printing.
Bug: https://bugs.openjdk.java.net/browse/JDK-8219586
Webrev: https://cr.openjdk.java.net/~lucy/webrevs/8219586.02/
This change has JDK-8250635 (currently out for review) as a prerequisite. It will not compile without.
Thank you!
Lutz
More information about the hotspot-compiler-dev
mailing list