Skip to content

Commit efedfe2

Browse files
committed
Limit Change to 64-bit z/OS
Signed-off-by: Rahil Shah <[email protected]>
1 parent fd44694 commit efedfe2

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

runtime/compiler/z/codegen/S390CHelperLinkage.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,6 @@ J9::Z::CHelperLinkage::CHelperLinkage(TR::CodeGenerator * codeGen,TR_LinkageConv
6666
setRegisterFlag(TR::RealRegister::GPR10, Preserved);
6767
setRegisterFlag(TR::RealRegister::GPR11, Preserved);
6868
setRegisterFlag(TR::RealRegister::GPR13, Preserved);
69-
setRegisterFlag(TR::RealRegister::GPR15, Preserved);
7069

7170
#if defined(ENABLE_PRESERVED_FPRS)
7271
// In case of 32bit Linux on Z, System Linkage only preserves FPR4 and FPR6. For all other targets, FPR8-FPR15 is
@@ -95,6 +94,7 @@ J9::Z::CHelperLinkage::CHelperLinkage(TR::CodeGenerator * codeGen,TR_LinkageConv
9594
setRegisterFlag(TR::RealRegister::GPR6, Preserved);
9695
setRegisterFlag(TR::RealRegister::GPR7, Preserved);
9796
setRegisterFlag(TR::RealRegister::GPR12, Preserved);
97+
setRegisterFlag(TR::RealRegister::GPR15, Preserved);
9898

9999
setReturnAddressRegister(TR::RealRegister::GPR14);
100100
setIntegerReturnRegister(TR::RealRegister::GPR2);
@@ -123,10 +123,11 @@ J9::Z::CHelperLinkage::CHelperLinkage(TR::CodeGenerator * codeGen,TR_LinkageConv
123123
{
124124
setRegisterFlag(TR::RealRegister::GPR12, Preserved);
125125

126-
setPreservedRegisterMapForGC(0x0000FF00);
126+
setPreservedRegisterMapForGC(0x00007F00);
127127
}
128128
else
129129
{
130+
setRegisterFlag(TR::RealRegister::GPR15, Preserved);
130131
// 31-Bit zOS will need GPR12 for CAA register so it won't be preserved. For all other variant it is preserved
131132
setPreservedRegisterMapForGC(0x0000EF00);
132133
}

0 commit comments

Comments
 (0)