RFR: 8266936: Add a finalization JFR event [v16]

Coleen Phillimore coleenp at openjdk.java.net
Thu Oct 14 22:06:49 UTC 2021


On Wed, 13 Oct 2021 18:03:25 GMT, Markus Grönlund <mgronlun at openjdk.org> wrote:

>> Greetings,
>> 
>> Object.finalize() was deprecated in JDK9. There is an ongoing effort to replace and mitigate Object.finalize() uses in the JDK libraries; please see https://bugs.openjdk.java.net/browse/JDK-8253568 for more information. 
>> 
>> We also like to assist users in replacing and mitigating uses in non-JDK code.
>> 
>> Hence, this changeset adds a periodic JFR event to help identify which classes are overriding Object.finalize().
>> 
>> Thanks
>> Markus
>
> Markus Grönlund has refreshed the contents of this pull request, and previous commits have been removed. The incremental views will show differences compared to the previous content of the PR.

src/hotspot/share/jfr/support/jfrSymbolTable.cpp line 75:

> 73: 
> 74: JfrSymbolTable::JfrSymbolTable() :
> 75:   _symbol_table(new SymbolTable(this)),

I'm confused about which symbol table this is.  Is this the same SymbolTable as classfile/symbolTable.cpp? that instance is assumed to be a singleton.  Is this a different SymbolTable and can it have a different name (thought it was JfrSymbolTable).

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

> 66:   template <typename, typename, template<typename, typename> class, typename, size_t>
> 67:   friend class HashTableHost;
> 68:   typedef HashTableHost<const Symbol*, traceid, ListEntry, JfrSymbolTable> SymbolTable;

Oh here it is.  Since it's an enclosed type, can you rename it something simpler like Symbols and the other Strings?

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

PR: https://git.openjdk.java.net/jdk/pull/4731


More information about the hotspot-runtime-dev mailing list