[jdk18] RFR: 8262134: compiler/uncommontrap/TestDeoptOOM.java failed with "guarantee(false) failed: wrong number of expression stack elements during deopt"

Dean Long dlong at openjdk.java.net
Fri Dec 10 03:53:52 UTC 2021


C1 patching stubs use the Unpack_reexecute deoptimization type, but if an exception is thrown, that information is lost, causing the VerifyStack logic to fail. Rather than relaxing the VerifyStack logic to accept Unpack_exception in this case, this change sets the reexecute flag on the patch stub call site.
Other changes:
use runtime/BootstrapMethod/BSMCalledTwice.java as a reproducer
improve VerifyStack failure output

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

Commit messages:
 - runtime/BootstrapMethod/BSMCalledTwice.java is a reproducer for 8262134
 - print current bytecode if VerifyStack fails
 - set reexecute flag on c1 patching stubs

Changes: https://git.openjdk.java.net/jdk18/pull/7/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk18&pr=7&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8262134
  Stats: 23 lines in 5 files changed: 16 ins; 1 del; 6 mod
  Patch: https://git.openjdk.java.net/jdk18/pull/7.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk18 pull/7/head:pull/7

PR: https://git.openjdk.java.net/jdk18/pull/7


More information about the hotspot-compiler-dev mailing list