> 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

Reply via email to