RFR: 8365400: Enhance JFR to emit file and module metadata for class loading

Coleen Phillimore coleenp at openjdk.org
Wed Nov 26 13:04:51 UTC 2025


On Wed, 26 Nov 2025 12:10:55 GMT, Markus Grönlund <mgronlun at openjdk.org> wrote:

> Greetings,
> 
> this enhancement adds a "source" field, label "Location" to the jdk.ClassDefine event.
> 
> To enable this functionality, JFR needs a concurrent symbol table. We can build a simpler version of a concurrent hash table, taking advantage of the JFR epoch system. This will be useful also for planned future enhancements.
> 
> Extensions are made to AOT to consistently report identical canonical paths for classes as non-AOT code paths.
> 
> Testing: jdk_jfr, manual AOT verification, stress testing
> 
> Thanks
> Markus

Why did you write a different concurrent hash table?  Why wasn't the existing one good enough?  You say it's simpler but this adds many lines of code that someone has to read.

src/hotspot/share/jfr/support/jfrSymbolTable.hpp line 68:

> 66: 
> 67:   void on_link(const Symbols::Entry* entry);
> 68:   void on_unlink(const Symbols::Entry* entry);

What is Symbols ? Is it a JFR thing, so should it be JfrSymbols ?

-------------

PR Review: https://git.openjdk.org/jdk/pull/28505#pullrequestreview-3510858860
PR Review Comment: https://git.openjdk.org/jdk/pull/28505#discussion_r2564923817


More information about the hotspot-jfr-dev mailing list