RFR: 8293592: Remove JVM_StopThread, stillborn, and related cleanup [v2]
Serguei Spitsyn
sspitsyn at openjdk.org
Tue Sep 27 00:18:26 UTC 2022
On Fri, 23 Sep 2022 21:47:06 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
>
> David Holmes has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 16 commits:
>
> - Merge branch 'master' into 8293592-JVM_StopThread
> - Removal all special handling of ThreadDeath.
> - Remove all references to the stillborn field
> - Initial commit: remove JVM_StopThread
> - Merge
> - Updates to Java Thread Primitive Deprecation page
> - Repalce "it" with "victim thread"
> - Merge
> - Revert test/langtools/ProblemList.txt as jshell tests no longer rely on Thread.stop
> - become -> became in javadoc
> - ... and 6 more: https://git.openjdk.org/jdk/compare/3675f4c2...4eb07903
This looks good to me.
I do not see any issues.
Thanks,
Serguei
-------------
Marked as reviewed by sspitsyn (Reviewer).
PR: https://git.openjdk.org/jdk/pull/10400
More information about the hotspot-dev
mailing list