Integrated: 8293592: Remove JVM_StopThread, stillborn, and related cleanup

David Holmes dholmes at openjdk.org
Tue Sep 27 21:07:30 UTC 2022


On Fri, 23 Sep 2022 06:17:34 GMT, David Holmes <dholmes at openjdk.org> wrote:

> Now that Thread.stop has been degraded to throw `UnsupportedOperationException` (JDK-8299610) the only direct source of async exceptions is from JVMTI `StopThread`. We can remove the `JVM_StopThread` code, remove the `stillborn` field from `java.lang.Thread` and its associated accesses from the VM, and we can stop special-casing `ThreadDeath` handling (as was done for the JDK code as part of JDK-8299610).
> 
> Note that JVMTI `StopThread` can only act on a thread that is alive, so it is no longer possible to stop a thread before it has been started.
> 
> Also note that there is a change in behaviour for JNI `ExceptionDescribe` as it no longer ignores `ThreadDeath` exceptions (not that it was ever specified to ignore them, it simply mirrored the behaviour of the default `UncaughtExceptionHandler` in `java.lang.ThreadGroup` - which also no longer ignores them so the mirroring behaviour remains the same).
> 
> Testing: tiers 1-3

This pull request has now been integrated.

Changeset: 763d4bf0
Author:    David Holmes <dholmes at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/763d4bf0749e54f74821e5155f672ed24d6f2fcd
Stats:     208 lines in 18 files changed: 19 ins; 146 del; 43 mod

8293592: Remove JVM_StopThread, stillborn, and related cleanup

Reviewed-by: alanb, sspitsyn, rehn, coleenp

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

PR: https://git.openjdk.org/jdk/pull/10400


More information about the serviceability-dev mailing list