RFR: 8288532: additional review changes for JDK-8286830
Daniel D. Daugherty
dcubed at openjdk.org
Fri Jun 17 19:17:56 UTC 2022
On Fri, 17 Jun 2022 19:05:08 GMT, Daniel D. Daugherty <dcubed at openjdk.org> wrote:
>> src/hotspot/share/runtime/thread.inline.hpp line 151:
>>
>>> 149: ~AsyncExceptionHandshake() {
>>> 150: Thread* current = Thread::current();
>>> 151: if (current->is_Java_thread()) {
>>
>> Why verify if this is a JavaThread? The target is always a JavaThread, and the sender of the exception is also a JavaThread(JVM_StopThread and JvmtiEnv::StopThread). Even the handshake operation will assert if the handshaker is not a JT.
>
> Will investigate.
JavaThread::send_async_exception() creates a new AsyncExceptionHandshake.
JavaThread::send_async_exception() is called by JVM_StopThread() and
JvmtiEnv::StopThread(). The InstallAsyncExceptionHandshake which wraps
the AsyncExceptionHandshake is installed via Handshake::execute() which
calls " JavaThread* self = JavaThread::current()" first thing so send_async_exception()
will fire an assert() if not called by a JavaThread.
Will fix.
-------------
PR: https://git.openjdk.org/jdk19/pull/32
More information about the hotspot-runtime-dev
mailing list