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

Mandy Chung mchung at openjdk.java.net
Fri Sep 24 22:34:00 UTC 2021

On Fri, 24 Sep 2021 09:27:02 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 updated the pull request incrementally with one additional commit since the last revision:
>   no precompiled headers and mtServiceability nmt classification

Hi Markus,

It's a little surprised to see Finalizer.c to depend JMM interface which is used by `java.management` and `jdk.management` modules only.   It's more appropriate for it to be a JVM_* entry point for Finalizer to report completion of the finalization instead.    I understand that you want to make FinalizerService to be a conditional feature which is a good idea.  Such JVM entry can be made as a nop if not INCLUDE_SERVICES.


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

More information about the core-libs-dev mailing list