Hi, please condiser. SA currently computes continuation entry frame pointers using the raw sizeof(ContinuationEntry), whereas HotSpot uses that size rounded up to two machine words. With the current 64-bit layout, the raw size is 56 bytes and the aligned size is 64 bytes. Consequently, SA computes frame pointers eight bytes too low on x86-64, AArch64, and RISC-V64.
This change: - Aligns the size in the shared SA implementation, matching ContinuationEntry::size(). - Preserves RISC-V’s additional two-word FP adjustment. - Adds a cross-platform jtreg test that checks FP offsets using the attached JVM’s type metadata and a synthetic entry address, without depending on stack-walking behavior or virtual-thread timing. Testing: github ci --------- - [x] I confirm that I make this contribution in accordance with the [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai). ------------- Commit messages: - 8396520: SA: Align continuation entry size when computing frame pointers Changes: https://git.openjdk.org/jdk/pull/33695/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=33695&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8396520 Stats: 103 lines in 2 files changed: 102 ins; 0 del; 1 mod Patch: https://git.openjdk.org/jdk/pull/33695.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/33695/head:pull/33695 PR: https://git.openjdk.org/jdk/pull/33695
