comparison c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotRegisterConfig.java @ 1418:55ac38887415

modifications for linux: argument register layout, makefile
author Lukas Stadler <lukas.stadler@jku.at>
date Fri, 09 Jul 2010 16:33:03 -0700
parents 1b41af477605
children 7bf6a77b9c5a
comparison
equal deleted inserted replaced
1417:2c41834aa270 1418:55ac38887415
39 @Override 39 @Override
40 public CiRegister[] getAllocatableRegisters() { 40 public CiRegister[] getAllocatableRegisters() {
41 return new CiRegister[]{ AMD64.rax, AMD64.rbx, AMD64.rcx, AMD64.rdx, AMD64.rsi, AMD64.rdi, AMD64.r10, AMD64.r11} ; 41 return new CiRegister[]{ AMD64.rax, AMD64.rbx, AMD64.rcx, AMD64.rdx, AMD64.rsi, AMD64.rdi, AMD64.r10, AMD64.r11} ;
42 } 42 }
43 43
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};
44 46
45 private final CiRegister[] generalParameterRegisters = new CiRegister[]{AMD64.rdx, AMD64.r8, AMD64.r9, AMD64.rdi, AMD64.rsi, AMD64.rcx}; 47 public HotSpotRegisterConfig(boolean windowsRegisterLayout) {
46 private final CiRegister[] xmmParameterRegisters = new CiRegister[]{AMD64.xmm0, AMD64.xmm1, AMD64.xmm2, AMD64.xmm3, AMD64.xmm4, AMD64.xmm5, AMD64.xmm6, AMD64.xmm7}; 48 if(windowsRegisterLayout) {
49 generalParameterRegisters = new CiRegister[]{AMD64.rdx, AMD64.r8, AMD64.r9, AMD64.rdi, AMD64.rsi, AMD64.rcx};
50 } else {
51 generalParameterRegisters = new CiRegister[]{AMD64.rsi, AMD64.rdx, AMD64.rcx, AMD64.r8, AMD64.r9, AMD64.rdi};
52 }
53 }
47 54
48 @Override 55 @Override
49 public int getCalleeSaveRegisterOffset(CiRegister register) { 56 public int getCalleeSaveRegisterOffset(CiRegister register) {
50 return 0; 57 return 0;
51 } 58 }