On Wed, 23 Sep 2020 03:20:02 GMT, David Holmes <dhol...@openjdk.org> wrote:
>> Robbin Ehn has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Update after Coleen > > src/hotspot/share/runtime/handshake.cpp line 244: > >> 242: // A new thread on the ThreadsList will not have an operation, >> 243: // hence it is skipped in handshake_try_process. >> 244: HandshakeState::ProcessResult pr = >> thr->handshake_state()->try_process(_op); > > To be clear on what can be happening here ... as the VMThread has to loop > through all threads first to initiate the > handshake, by the time it starts trying to process the op, the target threads > may have already done it themselves. > Additionally while looping through all threads, a thread that has not yet > been handshaked could try to handshake with a > thread the VMThread has already processed, and so it could also execute the > operation before the VMThread gets to it. Yes ------------- PR: https://git.openjdk.java.net/jdk/pull/151