RFR: 8278874: tighten VerifyStack constraints [v9]

Dean Long dlong at openjdk.org
Fri Aug 1 00:49:22 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 12 additional commits since the last revision:

 - 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>
 - fix optimized build
 - ... and 2 more: https://git.openjdk.org/jdk/compare/91c07ccd...6bfda158

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

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

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

  Stats: 59108 lines in 1555 files changed: 33964 ins; 16451 del; 8693 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