On Tue, 21 Jun 2022 19:34:28 GMT, Chris Plummer <cjplum...@openjdk.org> wrote:
>> Serguei Spitsyn has updated the pull request incrementally with one >> additional commit since the last revision: >> >> remove _depth == 0 clause from sanity check assert > > src/hotspot/share/prims/jvmtiImpl.cpp line 647: > >> 645: } >> 646: if (_set) { >> 647: if (fr.is_heap_frame()) { // we want this check after the check for >> JVMTI_ERROR_INVALID_SLOT > > It would be good to elaborate a bit more on this check. Say something about > it being a "safepoint poll on return in the oldest thawed frame", and why > that is a problem. Okay. I'd suggest this: if (_set) { if (fr.is_heap_frame()) { // we want this check after the check for JVMTI_ERROR_INVALID_SLOT assert(Continuation::is_frame_in_continuation(_jvf->thread(), fr), "sanity check"); // The topmost frame of a mounted continuation can still be in the heap. This code is executed at safepoint. // The safepoint could be as we return to the return barrier but before we execute it (poll return). _result = JVMTI_ERROR_OPAQUE_FRAME; // deferred locals currently unsupported in continuations return; } Is it more clear? ------------- PR: https://git.openjdk.org/jdk19/pull/42