Commit eb1af9f
committed
Mark GPR15 volatile for JIT Helper calls on 64-bit z/OS
Call from JIT compiled code to JIT helper functions implemented in C
is made using S390CHelperLinkage which prepares the call dispatch
sequecne following the fast XPLINK ABI on z/OS. As per XPLINK GPR15 is
preserved register. In case of Synchronized Virtual Thread, a virtual
thread trying to enter a monitor can be unmounted from the carrier
thread if monitor is bloked, in such it can be mounted to different
carrier thread. From JIT compiled code, such task is done through the
C helper function, where upon mounting, return back to JIT compiled
code would happen from interpreter. For such case, GPR15 is used to
branch back from interpreter. To ensure we do not have any live values
in GPR15, changes in this commit marks GPR15 volatile for
S390CHelperLinkage on 64-bit z/OS. Given that only in case of
synchronized virtual thread which would only available in JDK24 and
newer which is not available on 31-bit JVM, this change is kept
limited to 64-bit z/OS.
Signed-off-by: Rahil Shah <[email protected]>1 parent 9d2c7fb commit eb1af9f
1 file changed
+3
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
66 | 66 | | |
67 | 67 | | |
68 | 68 | | |
69 | | - | |
70 | 69 | | |
71 | 70 | | |
72 | 71 | | |
| |||
95 | 94 | | |
96 | 95 | | |
97 | 96 | | |
| 97 | + | |
98 | 98 | | |
99 | 99 | | |
100 | 100 | | |
| |||
123 | 123 | | |
124 | 124 | | |
125 | 125 | | |
126 | | - | |
| 126 | + | |
127 | 127 | | |
128 | 128 | | |
129 | 129 | | |
| 130 | + | |
130 | 131 | | |
131 | 132 | | |
132 | 133 | | |
| |||
0 commit comments