RFR: 8278874: tighten VerifyStack constraints [v10]
Dean Long
dlong at openjdk.org
Wed Aug 13 07:29:20 UTC 2025
On Wed, 6 Aug 2025 01:29:58 GMT, Dean Long <dlong at openjdk.org> wrote:
>> The VerifyStack logic in Deoptimization::unpack_frames() attempts to check the expression stack size of the interpreter frame against what GenerateOopMap computes. To do this, it needs to know if the state at the current bci represents the "before" state, meaning the bytecode will be reexecuted, or the "after" state, meaning we will advance to the next bytecode. The old code didn't know how to determine exactly what state we were in, so it checked both. This PR cleans that up, so we only have to compute the oopmap once. It also removes old SPARC support.
>
> Dean Long has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 13 additional commits since the last revision:
>
> - Merge branch 'openjdk:master' into 8278874-verifystack
> - Merge branch 'openjdk:master' into 8278874-verifystack
> - more cleanup
> - simplify is_top_frame
> - readability suggestion
> - reviewer suggestions
> - Update src/hotspot/share/runtime/vframeArray.cpp
>
> Co-authored-by: Manuel Hässig <manuel at haessig.org>
> - Update src/hotspot/share/runtime/vframeArray.cpp
>
> Co-authored-by: Manuel Hässig <manuel at haessig.org>
> - better name for frame index
> - Update src/hotspot/share/runtime/deoptimization.cpp
>
> Co-authored-by: Manuel Hässig <manuel at haessig.org>
> - ... and 3 more: https://git.openjdk.org/jdk/compare/2ead4528...e04fc720
Hopefully these last couple commits fix the remaining edge cases, but Graal testing is still running. I'm testing with VerifyStack hard-coded to true so that vm.flagless tests also run, which does cause some failures due to timeouts.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/26121#issuecomment-3182509262
More information about the hotspot-dev
mailing list