Relativize locals in interpreter frames.
By changing the "locals" member in interpreter frames from being an absolute address pointing to the array of local variables into an offset that is relative to the frame pointer, we don't need to change the value of the locals member in interpreter frames 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 "locals", the relativization of other interpreter frame members are handled in other subtasks to JDK-8289296.
By changing the "locals" member in interpreter frames from being an absolute address pointing to the array of local variables into an offset that is relative to the frame pointer, we don't need to change the value of the locals member in interpreter frames 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 "locals", the relativization of other interpreter frame members are handled in other subtasks to JDK-8289296.
- relates to
-
JDK-8305247 On RISC-V generate_fixed_frame() sometimes generate a relativized locals value which is way too large
-
- Resolved
-
-
JDK-8350182 [s390x] Relativize locals in interpreter frames
-
- Open
-