Mercurial > hg > truffle
diff graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotRegisterConfig.java @ 10686:73122b5edf6a
SPARC: Can compile simple methods and do static calls.
author | twisti |
---|---|
date | Tue, 09 Jul 2013 15:37:50 -0700 |
parents | f78079947084 |
children | 7a8d6ba83a04 |
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotRegisterConfig.java Tue Jul 09 15:37:21 2013 -0700 +++ b/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotRegisterConfig.java Tue Jul 09 15:37:50 2013 -0700 @@ -75,6 +75,9 @@ private final Register[] nativeGeneralParameterRegisters; private final Register[] fpuParameterRegisters = {f0, f1, f2, f3, f4, f5, f6, f7}; + private final Register[] callerSaveRegisters = {g1, g3, g4, g5, o0, o1, o2, o3, o4, o5, o7}; + private final Register[] calleeSaveRegisters = {l0, l1, l2, l3, l4, l5, l6, l7, i0, i1, i2, i3, i4, i5, i6, i7}; + private final CalleeSaveLayout csl; private static Register findRegister(String name, Register[] all) { @@ -124,14 +127,14 @@ javaGeneralParameterRegisters = new Register[]{i0, i1, i2, i3, i4, i5}; nativeGeneralParameterRegisters = new Register[]{i0, i1, i2, i3, i4, i5}; - csl = null; + csl = new CalleeSaveLayout(architecture, -1, -1, architecture.getWordSize(), calleeSaveRegisters); allocatable = initAllocatable(config.useCompressedOops); attributesMap = RegisterAttributes.createMap(this, SPARC.allRegisters); } @Override public Register[] getCallerSaveRegisters() { - return getAllocatableRegisters(); + return callerSaveRegisters; } @Override