[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