On Wed, 14 Oct 2020 15:16:54 GMT, Aleksey Shipilev <sh...@openjdk.org> wrote:
> JDK-8238761 introduced this funky code: > > class EnterInterpOnlyModeClosure : public HandshakeClosure { > private: > bool _completed; > public: > EnterInterpOnlyModeClosure() : HandshakeClosure("EnterInterpOnlyMode"), > _completed(false) { } > void do_thread(Thread* th) { > ... > _completed = true; > } > bool completed() { > return _completed = true; > } > }; > > It seems the flag is there to communicate that target thread indeed executed > the handshake. But `completed()` sets the > bool unconditionally and always returns true. And it is used in one and only > place here: > guarantee(hs.completed(), "Handshake failed: Target thread is not > alive?"); > > ...which means that guarantee always passes. > > Attention @robehn :) It looks good. Thank you for catching and fixing it! Serguei ------------- Marked as reviewed by sspitsyn (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/662