RFR: 8278874: tighten VerifyStack constraints [v10]

Dean Long dlong at openjdk.org
Wed Aug 6 01:29:58 UTC 2025


> 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/2689ae8e...e04fc720

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/26121/files
  - new: https://git.openjdk.org/jdk/pull/26121/files/6bfda158..e04fc720

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=26121&range=09
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=26121&range=08-09

  Stats: 7351 lines in 213 files changed: 4752 ins; 2089 del; 510 mod
  Patch: https://git.openjdk.org/jdk/pull/26121.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/26121/head:pull/26121

PR: https://git.openjdk.org/jdk/pull/26121


More information about the hotspot-dev mailing list