RFR: 8257831: Suspend with handshakes [v2]
Richard Reingruber
rrich at openjdk.java.net
Wed Mar 31 08:04:41 UTC 2021
On Wed, 31 Mar 2021 05:27:05 GMT, David Holmes <dholmes at openjdk.org> wrote:
>> src/hotspot/share/runtime/handshake.cpp line 485:
>>
>>> 483: } else {
>>> 484: // Asynchronous may block so they may not execute ~PreserveExceptionMark before safepointing
>>> 485: // in outer loop.
>>
>> Sorry, I don't understand the comment.
>
> I think this relates to why the PEM was moved from the loop-scope to the sync op case only. That said it isn't clear why we need the HM or PEM.
I guess it should be "... must not execute ~PreserveExceptionMark ..."
~PreserveExceptionMark calls _thread->pending_exception() which is an oop and that would be illegal as the vm could be at a safepoint when the async handshake returns.
-------------
PR: https://git.openjdk.java.net/jdk/pull/3191
More information about the serviceability-dev
mailing list