> 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).
Gui Cao has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision: - Add code comment - Merge remote-tracking branch 'upstream/master' into JDK-8396520 - 8396520: SA: Align continuation entry size when computing frame pointers ------------- Changes: - all: https://git.openjdk.org/jdk/pull/33695/files - new: https://git.openjdk.org/jdk/pull/33695/files/a63eb008..9547b2a0 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=33695&range=01 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=33695&range=00-01 Stats: 4839 lines in 151 files changed: 2876 ins; 1371 del; 592 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
