> This fixes the linked issue by trimming the caller of a frame to be > deoptimized back to its `unextended_sp` iff it is compiled. The creation of > the section `dead after deoptimization` shown in the attachment > [yield_after_deopt_failure.log](https://bugs.openjdk.org/secure/attachment/102602/yield_after_deopt_failure.log) > is prevented by this. > > A new mode is added to the test BasicExt.java where all frames are > deoptimized after a yield operation. The issue can be deterministically > reproduced with the new mode. It's not worth to execute all test cases with > the new mode though. Instead `ContinuationCompiledFramesWithStackArgs_3c4` is > always executed a 2nd time in this mode. > > Before this BasicExt.java was refactored for better argument processing and > representation of the test modes. > Also the try-catch-clause in the main method had to be changed to rethrow the > caught exception because without this the test would have succeeded. > > Testing: jtreg tests tier 1-4 on standard platforms and also on ppc64le.
Richard Reingruber has updated the pull request incrementally with three additional commits since the last revision: - Improve comment - Improve comment - Spelling ------------- Changes: - all: https://git.openjdk.org/jdk/pull/12557/files - new: https://git.openjdk.org/jdk/pull/12557/files/7ca17977..9d647388 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=12557&range=01 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=12557&range=00-01 Stats: 5 lines in 2 files changed: 4 ins; 0 del; 1 mod Patch: https://git.openjdk.org/jdk/pull/12557.diff Fetch: git fetch https://git.openjdk.org/jdk pull/12557/head:pull/12557 PR: https://git.openjdk.org/jdk/pull/12557