On Fri, 23 Sep 2022 11:10:19 GMT, Alan Bateman <al...@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 > > (JDK-8289610 is integrated now so once you sync up it should remove the > changes from the dependent PR and reduce the list of changed files. You > should be able to trim down the labels too.) > > I did a pass over the src/hotspot change and didn't spot any issues. It's > good that stillborn can go away. The removal of the special-casing of > ThreadDeath is consistent with the libs side of the change, including the > change to ExceptionDescribe. Thanks @AlanBateman ! ------------- PR: https://git.openjdk.org/jdk/pull/10400