-
Enhancement
-
Resolution: Fixed
-
P4
-
21
-
b21
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). 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.
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). 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.
- relates to
-
JDK-8289296 Relativize stack addresses in interpreter frames
-
- Open
-