comparison c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotRegisterConfig.java @ 1419:7bf6a77b9c5a

implement recent safepoint & exceptionobject ci changes, HotSpotVMConfig
author Lukas Stadler <lukas.stadler@oracle.com>
date Mon, 12 Jul 2010 15:05:17 -0700
parents 55ac38887415
children 44efca8a02d6
comparison
equal deleted inserted replaced
1418:55ac38887415 1419:7bf6a77b9c5a
42 } 42 }
43 43
44 private final CiRegister[] generalParameterRegisters; 44 private final CiRegister[] generalParameterRegisters;
45 private final CiRegister[] xmmParameterRegisters = new CiRegister[]{AMD64.xmm0, AMD64.xmm1, AMD64.xmm2, AMD64.xmm3, AMD64.xmm4, AMD64.xmm5, AMD64.xmm6, AMD64.xmm7}; 45 private final CiRegister[] xmmParameterRegisters = new CiRegister[]{AMD64.xmm0, AMD64.xmm1, AMD64.xmm2, AMD64.xmm3, AMD64.xmm4, AMD64.xmm5, AMD64.xmm6, AMD64.xmm7};
46 46
47 public HotSpotRegisterConfig(boolean windowsRegisterLayout) { 47 public HotSpotRegisterConfig(HotSpotVMConfig config) {
48 if(windowsRegisterLayout) { 48 if(config.isWindowsOs()) {
49 generalParameterRegisters = new CiRegister[]{AMD64.rdx, AMD64.r8, AMD64.r9, AMD64.rdi, AMD64.rsi, AMD64.rcx}; 49 generalParameterRegisters = new CiRegister[]{AMD64.rdx, AMD64.r8, AMD64.r9, AMD64.rdi, AMD64.rsi, AMD64.rcx};
50 } else { 50 } else {
51 generalParameterRegisters = new CiRegister[]{AMD64.rsi, AMD64.rdx, AMD64.rcx, AMD64.r8, AMD64.r9, AMD64.rdi}; 51 generalParameterRegisters = new CiRegister[]{AMD64.rsi, AMD64.rdx, AMD64.rcx, AMD64.r8, AMD64.r9, AMD64.rdi};
52 } 52 }
53 } 53 }
147 public CiCallingConvention getRuntimeCallingConvention(CiKind[] parameters, CiTarget target) { 147 public CiCallingConvention getRuntimeCallingConvention(CiKind[] parameters, CiTarget target) {
148 throw new UnsupportedOperationException(); 148 throw new UnsupportedOperationException();
149 } 149 }
150 150
151 @Override 151 @Override
152 public CiRegister getSafepointRegister() {
153 return AMD64.r13;
154 }
155
156 @Override
157 public CiRegister getScratchRegister() { 152 public CiRegister getScratchRegister() {
158 return AMD64.r15; 153 return AMD64.r15;
159 } 154 }
160 155
161 @Override 156 @Override
162 public CiRegister getStackPointerRegister() { 157 public CiRegister getStackPointerRegister() {
163 return AMD64.rsp; 158 return AMD64.rsp;
164 } 159 }
165 160
166 @Override
167 public CiRegister getThreadRegister() {
168 return AMD64.r14;
169 }
170
171 } 161 }