[jdk8u-ri] RFR: 8287132: Retire Runtime.runFinalizersOnExit so that it always throws UOE [v4]
Mandy Chung
mchung at openjdk.java.net
Fri May 27 17:13:46 UTC 2022
On Wed, 25 May 2022 01:26:56 GMT, David Holmes <dholmes at openjdk.org> wrote:
>> Please review these further changes for JDK 8 Maintenance Release 4 - JSR-337.
>>
>> The MR4 changes to the reference processing implementation have made continued support for `runFinalizersonExit` unreasonable and so it is "retired" and will always throw `UnsupportedOperationException`. (This is what was also done for `Thread.stop(Throwable)` in JDK 8.)
>>
>> Various updates to the specifications are made to remove references to running finalizers at exit - see the CSR request for details.
>>
>> All dead code (including the already dead `JVM_Exit`) is removed. Shutdown.java is replaced by the version from mainline with a slight modification as 8u doesn't have `sun.misc.VM.isShutdown()`.
>>
>> Tests using RFOE are deleted and a new test to check the throwing of UOE added. The new test was NOT a rename of an existing test but for some reason git is treating it that way.
>>
>> Testing: :jdk_core group
>>
>> Thanks,
>> David
>
> David Holmes has updated the pull request incrementally with one additional commit since the last revision:
>
> Fix style nit
As described in CSR 8287133, `Runtime.runFinalizersOnExit` was removed from Java 11 in 2018. We did the corpus analysis at that time showed very few uses, and most of those were gone in later versions of the same software. A rerun of the corpus analysis done in 2022 found only a single direct use of `runFinalizersOnExit` and that was only in non-product builds. It is believed that retiring `Runtime.runFinalizersOnExit` will have minimal real world impact.
-------------
PR: https://git.openjdk.java.net/jdk8u-ri/pull/9
More information about the jdk8u-dev
mailing list