Mercurial > hg > graal-jvmci-8
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 } |