RFR: 8315966: Relativize initial_sp in interpreter frames
Martin Doerr
mdoerr at openjdk.org
Tue Sep 19 14:27:41 UTC 2023
On Tue, 19 Sep 2023 09:00:01 GMT, Fredrik Bredberg <fbredberg at openjdk.org> wrote:
> Relativize initial_sp in interpreter frames.
>
> By changing the "initial_sp" (AKA "monitor_block_top" or "monitors" on PowerPC) member in interpreter frames from being an absolute address into an offset that is relative to the frame pointer, we don't need to change the value as we freeze and thaw frames of virtual threads. This is since we might freeze and thaw from and to different worker threads, so the absolute address to locals might change, but the offset from the frame pointer will be constant.
>
> This subtask only handles relativization of "initial_sp" and "monitor_block_top" since it's the same slot in interpreter frames (roughly the same as "monitors" on PowerPC). Relativization of other interpreter frame members are handled in other subtasks to JDK-8289296.
>
> Tested tier1-tier7 on supported platforms. The rest was sanity tested using Qemu.
Thanks for implementing the platform parts! Note that you could have used R0 which is typically available as scratch reg. But, ok, we have enough other regs. Looks correct. I'll run more tests.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/15815#issuecomment-1725731457
More information about the hotspot-dev
mailing list