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

Reply via email to