Integrated: 8300197: Freeze/thaw an interpreter frame using a single copy_to_chunk() call

Fredrik Bredberg duke at openjdk.org
Tue May 2 12:17:28 UTC 2023


On Fri, 14 Apr 2023 13:45:12 GMT, Fredrik Bredberg <duke at openjdk.org> wrote:

> On certain architectures (like AARCH64) padding may be inserted between the locals and the rest of the stack frame in order to keep the frame pointer 16-byte-aligned.
> 
> This padding is currently not freezed, instead freezing of a single interpreter stack frame is done using two separate copy_to_chunk() calls (see recurse_freeze_interpreted_frame). Likewise, thawing is done using two separate copy_from_chunk() calls.
> 
> This poses a bit of a problem when trying to relativize stack addresses in interpreter frames ([JDK-8289296](https://bugs.openjdk.org/browse/JDK-8289296)). Since relative offsets may need to be changed during freezing and thawing.
> 
> By both freezing and thawing the padding we remove the need to change any relative offsets in runtime.
> 
> Tested tier1-tier8 on supported platforms, found no new issues. PowerPC and RISC-V was sanity tested using Qemu.

This pull request has now been integrated.

Changeset: a8d16dea
Author:    Fredrik Bredberg <fredrik.bredberg at oracle.com>
Committer: Richard Reingruber <rrich at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/a8d16dea8eb4a2807a4b0349dea708b4d0d6db35
Stats:     100 lines in 8 files changed: 4 ins; 55 del; 41 mod

8300197: Freeze/thaw an interpreter frame using a single copy_to_chunk() call

Reviewed-by: rrich, pchilanomate, fyang

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

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


More information about the hotspot-dev mailing list