We could see jtreg test failure in TestJhsdbJstackMixedWithXComp.java due to 
unable unwinding from continuation stub.
SA could unwind mixed call stacks since 
[JDK-8377946](https://bugs.openjdk.org/browse/JDK-8377946), and enabled 
TestJhsdbJstackMixedWithXComp tests in it. Hence the problem has been suffered. 
The problem was reported in Valhalla, but it is potential to happen on 
upstream, thus I proposed the fix to upstream.

There are 2 problems in LinuxAARCH64CFrame:

1. On AArch64 which disables `PreserveFramePointer`, we cannot believe FP to 
unwind call stacks, thus we might not be able to unwind call stacks from Java 
frame (includes code blobs).
2. In continuation stub, we need to get SP/FP/PC from continuation entry.

So I fixed them in this PR, and it works on both upstream and Valhalla.

---------
- [x] I confirm that I make this contribution in accordance with the [OpenJDK 
Interim AI Policy](https://openjdk.org/legal/ai).

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

Commit messages:
 - 8382548: 
serviceability/sa/TestJhsdbJstackMixedWithXComp.java#xcomp-disable-tiered-compilation
 failed with Test failed!

Changes: https://git.openjdk.org/jdk/pull/30959/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=30959&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8382548
  Stats: 29 lines in 1 file changed: 21 ins; 0 del; 8 mod
  Patch: https://git.openjdk.org/jdk/pull/30959.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/30959/head:pull/30959

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

Reply via email to