RFR: 8299375: [PPC64] GetStackTraceSuspendedStressTest tries to deoptimize frame with invalid fp
Martin Doerr
mdoerr at openjdk.org
Wed Mar 15 09:02:23 UTC 2023
On Thu, 9 Mar 2023 10:46:05 GMT, Richard Reingruber <rrich at openjdk.org> wrote:
> Mark a frame as not fully initialized when copying it from a continuation StackChunk to the stack until the callers_sp (aka back link) is set.
>
> This avoids the assertion given in the bug report when the copied frame is deoptimized before it is fully initialized.
> IMHO the deoptimization at that point is a little questionable but it actually only changes the pc of the frame which can be done.
> Note that the frame can get extended later (and metadata can get overridden) but [there is code that handles this](https://github.com/openjdk/jdk/blob/34a92466a615415b76c8cb6010ff7e6e1a1d63b4/src/hotspot/share/runtime/continuationFreezeThaw.cpp#L2108-L2110).
>
> Testing: jdk_loom. The fix passed our CI testing. This includes most JCK and JTREG tiers 1-4, also in Xcomp mode, on the standard platforms and also on ppc64le.
This looks good.
src/hotspot/cpu/ppc/frame_ppc.hpp line 389:
> 387: void set_offset_fp(int value) { assert_on_heap(); _offset_fp = value; }
> 388:
> 389: // Mark a frame as not fully initialized
Maybe add a comment like "Must not be used for frames in the valid back chain."?
-------------
PR: https://git.openjdk.org/jdk/pull/12941
More information about the hotspot-compiler-dev
mailing list