RFR: 8315966: Relativize initial_sp in interpreter frames

Fredrik Bredberg fbredberg at openjdk.org
Tue Sep 19 12:23:09 UTC 2023


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.

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

Commit messages:
 - Merge branch 'master' into 8315966_relativize_initial_sp
 - 8315966: Relativize initial_sp in interpreter frames

Changes: https://git.openjdk.org/jdk/pull/15815/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=15815&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8315966
  Stats: 196 lines in 31 files changed: 85 ins; 36 del; 75 mod
  Patch: https://git.openjdk.org/jdk/pull/15815.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/15815/head:pull/15815

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


More information about the serviceability-dev mailing list