changeset 18123:3c7e73362d6a

Encapsulate FrameMap.registerConfig & FrameMap.target.
author Josef Eisl <josef.eisl@jku.at>
date Mon, 20 Oct 2014 12:12:52 +0200
parents a545fb29cb89
children 689092d5cf44
files graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64NodeLIRBuilder.java graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCNodeLIRBuilder.java graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/LinearScan.java graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/LinearScanWalker.java graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/RegisterVerifier.java graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/NodeLIRBuilder.java graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotBackend.java graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotEnterUnpackFramesStackFrameOp.java graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLIRGenerator.java graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLeaveCurrentStackFrameOp.java graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLeaveDeoptimizedStackFrameOp.java graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLeaveUnpackFramesStackFrameOp.java graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/HSAILHotSpotBackend.java graal/com.oracle.graal.hotspot.ptx/src/com/oracle/graal/hotspot/ptx/PTXHotSpotBackend.java graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotBackend.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/TailcallNode.java graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64FrameMap.java graal/com.oracle.graal.lir.hsail/src/com/oracle/graal/lir/hsail/HSAILFrameMap.java graal/com.oracle.graal.lir.ptx/src/com/oracle/graal/lir/ptx/PTXFrameMap.java graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCFrameMap.java graal/com.oracle.graal.lir/src/com/oracle/graal/lir/FrameMap.java graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRVerifier.java graal/com.oracle.graal.lir/src/com/oracle/graal/lir/RedundantMoveElimination.java graal/com.oracle.graal.lir/src/com/oracle/graal/lir/asm/CompilationResultBuilder.java graal/com.oracle.graal.lir/src/com/oracle/graal/lir/gen/LIRGenerator.java
diffstat 25 files changed, 61 insertions(+), 51 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64NodeLIRBuilder.java	Mon Oct 20 11:10:15 2014 +0200
+++ b/graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64NodeLIRBuilder.java	Mon Oct 20 12:12:52 2014 +0200
@@ -453,7 +453,8 @@
             sig[i] = node.arguments().get(i).stamp().javaType(gen.getMetaAccess());
         }
 
-        Value[] parameters = visitInvokeArguments(gen.getResult().getFrameMap().registerConfig.getCallingConvention(CallingConvention.Type.JavaCall, null, sig, gen.target(), false), node.arguments());
+        Value[] parameters = visitInvokeArguments(gen.getResult().getFrameMap().getRegisterConfig().getCallingConvention(CallingConvention.Type.JavaCall, null, sig, gen.target(), false),
+                        node.arguments());
         append(new AMD64BreakpointOp(parameters));
     }
 
--- a/graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCNodeLIRBuilder.java	Mon Oct 20 11:10:15 2014 +0200
+++ b/graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCNodeLIRBuilder.java	Mon Oct 20 12:12:52 2014 +0200
@@ -58,7 +58,8 @@
             sig[i] = node.arguments().get(i).stamp().javaType(gen.getMetaAccess());
         }
 
-        Value[] parameters = visitInvokeArguments(gen.getResult().getFrameMap().registerConfig.getCallingConvention(CallingConvention.Type.JavaCall, null, sig, gen.target(), false), node.arguments());
+        Value[] parameters = visitInvokeArguments(gen.getResult().getFrameMap().getRegisterConfig().getCallingConvention(CallingConvention.Type.JavaCall, null, sig, gen.target(), false),
+                        node.arguments());
         append(new SPARCBreakpointOp(parameters));
     }
 
--- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/LinearScan.java	Mon Oct 20 11:10:15 2014 +0200
+++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/LinearScan.java	Mon Oct 20 12:12:52 2014 +0200
@@ -164,7 +164,7 @@
         this.ir = ir;
         this.frameMap = frameMap;
         this.sortedBlocks = ir.linearScanOrder();
-        this.registerAttributes = frameMap.registerConfig.getAttributesMap();
+        this.registerAttributes = frameMap.getRegisterConfig().getAttributesMap();
 
         this.registers = target.arch.getRegisters();
         this.firstVariableNumber = registers.length;
@@ -1168,7 +1168,7 @@
             };
 
             // create a list with all caller-save registers (cpu, fpu, xmm)
-            Register[] callerSaveRegs = frameMap.registerConfig.getCallerSaveRegisters();
+            Register[] callerSaveRegs = frameMap.getRegisterConfig().getCallerSaveRegisters();
 
             // iterate all blocks in reverse order
             for (int i = blockCount() - 1; i >= 0; i--) {
--- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/LinearScanWalker.java	Mon Oct 20 11:10:15 2014 +0200
+++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/LinearScanWalker.java	Mon Oct 20 12:12:52 2014 +0200
@@ -79,7 +79,7 @@
 
         // If all allocatable registers are caller saved, then no registers are live across a call
         // site. The register allocator can save time not trying to find a register at a call site.
-        allocator.callKillsRegisters = allocator.frameMap.registerConfig.areAllAllocatableRegistersCallerSaved();
+        allocator.callKillsRegisters = allocator.frameMap.getRegisterConfig().areAllAllocatableRegistersCallerSaved();
 
         moveResolver = new MoveResolver(allocator);
         spillIntervals = Util.uncheckedCast(new List[allocator.registers.length]);
@@ -773,7 +773,7 @@
     }
 
     void initVarsForAlloc(Interval interval) {
-        availableRegs = allocator.frameMap.registerConfig.getAllocatableRegisters(interval.kind().getPlatformKind());
+        availableRegs = allocator.frameMap.getRegisterConfig().getAllocatableRegisters(interval.kind().getPlatformKind());
     }
 
     static boolean isMove(LIRInstruction op, Interval from, Interval to) {
--- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/RegisterVerifier.java	Mon Oct 20 11:10:15 2014 +0200
+++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/RegisterVerifier.java	Mon Oct 20 12:12:52 2014 +0200
@@ -225,7 +225,7 @@
             op.visitEachInput(useConsumer);
             // invalidate all caller save registers at calls
             if (op.destroysCallerSavedRegisters()) {
-                for (Register r : allocator.frameMap.registerConfig.getCallerSaveRegisters()) {
+                for (Register r : allocator.frameMap.getRegisterConfig().getCallerSaveRegisters()) {
                     statePut(inputState, r.asValue(), null);
                 }
             }
--- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/NodeLIRBuilder.java	Mon Oct 20 11:10:15 2014 +0200
+++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/NodeLIRBuilder.java	Mon Oct 20 12:12:52 2014 +0200
@@ -456,8 +456,8 @@
     @Override
     public void emitInvoke(Invoke x) {
         LoweredCallTargetNode callTarget = (LoweredCallTargetNode) x.callTarget();
-        CallingConvention invokeCc = gen.getResult().getFrameMap().registerConfig.getCallingConvention(callTarget.callType(), x.asNode().stamp().javaType(gen.getMetaAccess()), callTarget.signature(),
-                        gen.target(), false);
+        CallingConvention invokeCc = gen.getResult().getFrameMap().getRegisterConfig().getCallingConvention(callTarget.callType(), x.asNode().stamp().javaType(gen.getMetaAccess()),
+                        callTarget.signature(), gen.target(), false);
         gen.getResult().getFrameMap().callsMethod(invokeCc);
 
         Value[] parameters = visitInvokeArguments(invokeCc, callTarget.arguments());
--- a/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotBackend.java	Mon Oct 20 11:10:15 2014 +0200
+++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotBackend.java	Mon Oct 20 12:12:52 2014 +0200
@@ -173,7 +173,7 @@
                         asm.movl(new AMD64Address(rsp, i * intSize), 0xC1C1C1C1);
                     }
                 }
-                CalleeSaveLayout csl = frameMap.registerConfig.getCalleeSaveLayout();
+                CalleeSaveLayout csl = frameMap.getRegisterConfig().getCalleeSaveLayout();
                 if (csl != null && csl.size != 0) {
                     int frameToCSA = frameMap.offsetToCalleeSaveArea();
                     assert frameToCSA >= 0;
@@ -186,7 +186,7 @@
         public void leave(CompilationResultBuilder crb) {
             if (!omitFrame) {
                 AMD64MacroAssembler asm = (AMD64MacroAssembler) crb.asm;
-                CalleeSaveLayout csl = crb.frameMap.registerConfig.getCalleeSaveLayout();
+                CalleeSaveLayout csl = crb.frameMap.getRegisterConfig().getCalleeSaveLayout();
 
                 if (csl != null && csl.size != 0) {
                     // saved all registers, restore all registers
@@ -202,7 +202,7 @@
 
     @Override
     protected Assembler createAssembler(FrameMap frameMap) {
-        return new AMD64MacroAssembler(getTarget(), frameMap.registerConfig);
+        return new AMD64MacroAssembler(getTarget(), frameMap.getRegisterConfig());
     }
 
     @Override
@@ -241,7 +241,7 @@
     public void emitCode(CompilationResultBuilder crb, LIR lir, ResolvedJavaMethod installedCodeOwner) {
         AMD64MacroAssembler asm = (AMD64MacroAssembler) crb.asm;
         FrameMap frameMap = crb.frameMap;
-        RegisterConfig regConfig = frameMap.registerConfig;
+        RegisterConfig regConfig = frameMap.getRegisterConfig();
         HotSpotVMConfig config = getRuntime().getConfig();
         Label verifiedEntry = new Label();
 
--- a/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotEnterUnpackFramesStackFrameOp.java	Mon Oct 20 11:10:15 2014 +0200
+++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotEnterUnpackFramesStackFrameOp.java	Mon Oct 20 12:12:52 2014 +0200
@@ -67,7 +67,7 @@
     @Override
     public void emitCode(CompilationResultBuilder crb, AMD64MacroAssembler masm) {
         FrameMap frameMap = crb.frameMap;
-        RegisterConfig registerConfig = frameMap.registerConfig;
+        RegisterConfig registerConfig = frameMap.getRegisterConfig();
         RegisterSaveLayout registerSaveLayout = saveRegisterOp.getMap(frameMap);
         Register stackPointerRegister = registerConfig.getFrameRegister();
         final int totalFrameSize = frameMap.totalFrameSize();
--- a/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLIRGenerator.java	Mon Oct 20 11:10:15 2014 +0200
+++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLIRGenerator.java	Mon Oct 20 12:12:52 2014 +0200
@@ -259,7 +259,7 @@
         if (destroysRegisters) {
             if (getStub() != null) {
                 if (getStub().preservesRegisters()) {
-                    Register[] savedRegisters = getResult().getFrameMap().registerConfig.getAllocatableRegisters();
+                    Register[] savedRegisters = getResult().getFrameMap().getRegisterConfig().getAllocatableRegisters();
                     save = emitSaveAllRegisters(savedRegisters, true);
                 }
             }
@@ -337,7 +337,7 @@
     }
 
     protected boolean zapRegisters() {
-        Register[] zappedRegisters = getResult().getFrameMap().registerConfig.getAllocatableRegisters();
+        Register[] zappedRegisters = getResult().getFrameMap().getRegisterConfig().getAllocatableRegisters();
         Constant[] zapValues = new Constant[zappedRegisters.length];
         for (int i = 0; i < zappedRegisters.length; i++) {
             PlatformKind kind = target().arch.getLargestStorableKind(zappedRegisters[i].getRegisterCategory());
--- a/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLeaveCurrentStackFrameOp.java	Mon Oct 20 11:10:15 2014 +0200
+++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLeaveCurrentStackFrameOp.java	Mon Oct 20 12:12:52 2014 +0200
@@ -47,7 +47,7 @@
     @Override
     public void emitCode(CompilationResultBuilder crb, AMD64MacroAssembler masm) {
         FrameMap frameMap = crb.frameMap;
-        RegisterConfig registerConfig = frameMap.registerConfig;
+        RegisterConfig registerConfig = frameMap.getRegisterConfig();
         RegisterSaveLayout registerSaveLayout = saveRegisterOp.getMap(frameMap);
         Register stackPointer = registerConfig.getFrameRegister();
 
--- a/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLeaveDeoptimizedStackFrameOp.java	Mon Oct 20 11:10:15 2014 +0200
+++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLeaveDeoptimizedStackFrameOp.java	Mon Oct 20 12:12:52 2014 +0200
@@ -48,7 +48,7 @@
 
     @Override
     public void emitCode(CompilationResultBuilder crb, AMD64MacroAssembler masm) {
-        Register stackPointer = crb.frameMap.registerConfig.getFrameRegister();
+        Register stackPointer = crb.frameMap.getRegisterConfig().getFrameRegister();
         masm.addq(stackPointer, asRegister(frameSize));
 
         /*
--- a/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLeaveUnpackFramesStackFrameOp.java	Mon Oct 20 11:10:15 2014 +0200
+++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLeaveUnpackFramesStackFrameOp.java	Mon Oct 20 12:12:52 2014 +0200
@@ -56,7 +56,7 @@
     @Override
     public void emitCode(CompilationResultBuilder crb, AMD64MacroAssembler masm) {
         FrameMap frameMap = crb.frameMap;
-        RegisterConfig registerConfig = frameMap.registerConfig;
+        RegisterConfig registerConfig = frameMap.getRegisterConfig();
         RegisterSaveLayout registerSaveLayout = saveRegisterOp.getMap(frameMap);
         Register stackPointerRegister = registerConfig.getFrameRegister();
 
--- a/graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/HSAILHotSpotBackend.java	Mon Oct 20 11:10:15 2014 +0200
+++ b/graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/HSAILHotSpotBackend.java	Mon Oct 20 12:12:52 2014 +0200
@@ -559,7 +559,7 @@
         asm.emitString0("kernel &run ( \n");
 
         FrameMap frameMap = crb.frameMap;
-        RegisterConfig regConfig = frameMap.registerConfig;
+        RegisterConfig regConfig = frameMap.getRegisterConfig();
         // Build list of param types which does include the gid (for cc register mapping query).
         JavaType[] ccParamTypes = new JavaType[nonConstantParamCount + 1];
         // Include the gid.
--- a/graal/com.oracle.graal.hotspot.ptx/src/com/oracle/graal/hotspot/ptx/PTXHotSpotBackend.java	Mon Oct 20 11:10:15 2014 +0200
+++ b/graal/com.oracle.graal.hotspot.ptx/src/com/oracle/graal/hotspot/ptx/PTXHotSpotBackend.java	Mon Oct 20 12:12:52 2014 +0200
@@ -350,7 +350,7 @@
 
     @Override
     protected Assembler createAssembler(FrameMap frameMap) {
-        return new PTXMacroAssembler(getTarget(), frameMap.registerConfig);
+        return new PTXMacroAssembler(getTarget(), frameMap.getRegisterConfig());
     }
 
     @Override
--- a/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotBackend.java	Mon Oct 20 11:10:15 2014 +0200
+++ b/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotBackend.java	Mon Oct 20 12:12:52 2014 +0200
@@ -175,7 +175,7 @@
 
     @Override
     protected Assembler createAssembler(FrameMap frameMap) {
-        return new SPARCMacroAssembler(getTarget(), frameMap.registerConfig);
+        return new SPARCMacroAssembler(getTarget(), frameMap.getRegisterConfig());
     }
 
     @Override
@@ -211,7 +211,7 @@
         stuffDelayedControlTransfers(lir);
         SPARCMacroAssembler masm = (SPARCMacroAssembler) crb.asm;
         FrameMap frameMap = crb.frameMap;
-        RegisterConfig regConfig = frameMap.registerConfig;
+        RegisterConfig regConfig = frameMap.getRegisterConfig();
         HotSpotVMConfig config = getRuntime().getConfig();
         Label unverifiedStub = installedCodeOwner == null || installedCodeOwner.isStatic() ? null : new Label();
 
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/TailcallNode.java	Mon Oct 20 11:10:15 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/TailcallNode.java	Mon Oct 20 12:12:52 2014 +0200
@@ -69,7 +69,7 @@
         boolean isStatic = method.isStatic();
 
         JavaType[] signature = method.getSignature().toParameterTypes(isStatic ? null : method.getDeclaringClass());
-        CallingConvention cc = lirGen.getResult().getFrameMap().registerConfig.getCallingConvention(CallingConvention.Type.JavaCall, null, signature, lirGen.target(), false);
+        CallingConvention cc = lirGen.getResult().getFrameMap().getRegisterConfig().getCallingConvention(CallingConvention.Type.JavaCall, null, signature, lirGen.target(), false);
         List<ValueNode> parameters = new ArrayList<>();
         for (int i = 0, slot = 0; i < cc.getArgumentCount(); i++, slot += HIRFrameStateBuilder.stackSlots(frameState.localAt(slot).getKind())) {
             parameters.add(frameState.localAt(slot));
--- a/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64FrameMap.java	Mon Oct 20 11:10:15 2014 +0200
+++ b/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64FrameMap.java	Mon Oct 20 12:12:52 2014 +0200
@@ -89,7 +89,7 @@
 
     @Override
     protected int alignFrameSize(int size) {
-        return NumUtil.roundUp(size + returnAddressSize(), target.stackAlignment) - returnAddressSize();
+        return NumUtil.roundUp(size + returnAddressSize(), getTarget().stackAlignment) - returnAddressSize();
     }
 
     @Override
--- a/graal/com.oracle.graal.lir.hsail/src/com/oracle/graal/lir/hsail/HSAILFrameMap.java	Mon Oct 20 11:10:15 2014 +0200
+++ b/graal/com.oracle.graal.lir.hsail/src/com/oracle/graal/lir/hsail/HSAILFrameMap.java	Mon Oct 20 12:12:52 2014 +0200
@@ -56,8 +56,8 @@
     @Override
     protected int alignFrameSize(int size) {
         // FIXME return some sane values
-        int x = size + (target.stackAlignment - 1);
-        return (x / target.stackAlignment) * target.stackAlignment;
+        int x = size + (getTarget().stackAlignment - 1);
+        return (x / getTarget().stackAlignment) * getTarget().stackAlignment;
     }
 
     @Override
--- a/graal/com.oracle.graal.lir.ptx/src/com/oracle/graal/lir/ptx/PTXFrameMap.java	Mon Oct 20 11:10:15 2014 +0200
+++ b/graal/com.oracle.graal.lir.ptx/src/com/oracle/graal/lir/ptx/PTXFrameMap.java	Mon Oct 20 12:12:52 2014 +0200
@@ -56,8 +56,8 @@
     @Override
     protected int alignFrameSize(int size) {
         // FIXME return some sane values
-        int x = size + (target.stackAlignment - 1);
-        return (x / target.stackAlignment) * target.stackAlignment;
+        int x = size + (getTarget().stackAlignment - 1);
+        return (x / getTarget().stackAlignment) * getTarget().stackAlignment;
     }
 
     @Override
--- a/graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCFrameMap.java	Mon Oct 20 11:10:15 2014 +0200
+++ b/graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCFrameMap.java	Mon Oct 20 12:12:52 2014 +0200
@@ -94,7 +94,7 @@
 
     @Override
     protected int alignFrameSize(int size) {
-        return NumUtil.roundUp(size, target.stackAlignment);
+        return NumUtil.roundUp(size, getTarget().stackAlignment);
     }
 
     @Override
@@ -112,7 +112,7 @@
      */
     @Override
     public int spillSlotSize(LIRKind kind) {
-        return SPARC.spillSlotSize(target, kind.getPlatformKind());
+        return SPARC.spillSlotSize(getTarget(), kind.getPlatformKind());
     }
 
     /**
--- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/FrameMap.java	Mon Oct 20 11:10:15 2014 +0200
+++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/FrameMap.java	Mon Oct 20 12:12:52 2014 +0200
@@ -40,8 +40,8 @@
  */
 public abstract class FrameMap {
 
-    public final TargetDescription target;
-    public final RegisterConfig registerConfig;
+    private final TargetDescription target;
+    private final RegisterConfig registerConfig;
 
     /**
      * The final frame size, not including the size of the
@@ -95,12 +95,20 @@
         this.objectStackSlots = new ArrayList<>();
     }
 
+    public RegisterConfig getRegisterConfig() {
+        return registerConfig;
+    }
+
+    public TargetDescription getTarget() {
+        return target;
+    }
+
     protected int returnAddressSize() {
-        return target.arch.getReturnAddressSize();
+        return getTarget().arch.getReturnAddressSize();
     }
 
     protected int calleeSaveAreaSize() {
-        CalleeSaveLayout csl = registerConfig.getCalleeSaveLayout();
+        CalleeSaveLayout csl = getRegisterConfig().getCalleeSaveLayout();
         return csl != null ? csl.size : 0;
     }
 
@@ -118,7 +126,7 @@
      * @return stack slot size
      */
     public int stackSlotSize() {
-        return target.wordSize;
+        return getTarget().wordSize;
     }
 
     /**
@@ -180,7 +188,7 @@
             // Without this, frameNeedsAllocating() would never return true.
             int total = 0;
             for (StackSlot s : freedSlots) {
-                total += target.getSizeInBytes(s.getKind());
+                total += getTarget().getSizeInBytes(s.getKind());
             }
             if (total == spillSize - initialSpillSize) {
                 // reset spill area size
@@ -189,8 +197,8 @@
             freedSlots = null;
         }
         frameSize = currentFrameSize();
-        if (frameSize > registerConfig.getMaximumFrameSize()) {
-            throw new BailoutException("Frame size (%d) exceeded maximum allowed frame size (%d).", frameSize, registerConfig.getMaximumFrameSize());
+        if (frameSize > getRegisterConfig().getMaximumFrameSize()) {
+            throw new BailoutException("Frame size (%d) exceeded maximum allowed frame size (%d).", frameSize, getRegisterConfig().getMaximumFrameSize());
         }
     }
 
@@ -273,7 +281,7 @@
      * @return the size in bytes
      */
     public int spillSlotSize(LIRKind kind) {
-        return target.getSizeInBytes(kind.getPlatformKind());
+        return getTarget().getSizeInBytes(kind.getPlatformKind());
     }
 
     /**
@@ -352,7 +360,7 @@
                     if (objectSlot != null) {
                         result = objectSlot;
                     } else {
-                        result = allocateNewSpillSlot(LIRKind.value(target.wordKind), 0);
+                        result = allocateNewSpillSlot(LIRKind.value(getTarget().wordKind), 0);
                     }
                 }
             }
@@ -360,12 +368,12 @@
             return result;
 
         } else {
-            return allocateNewSpillSlot(LIRKind.value(target.wordKind), 0);
+            return allocateNewSpillSlot(LIRKind.value(getTarget().wordKind), 0);
         }
     }
 
     public ReferenceMap initReferenceMap(boolean hasRegisters) {
-        ReferenceMap refMap = target.createReferenceMap(hasRegisters, frameSize() / stackSlotSize());
+        ReferenceMap refMap = getTarget().createReferenceMap(hasRegisters, frameSize() / stackSlotSize());
         for (StackSlot slot : objectStackSlots) {
             setReference(slot, refMap);
         }
--- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRVerifier.java	Mon Oct 20 11:10:15 2014 +0200
+++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRVerifier.java	Mon Oct 20 12:12:52 2014 +0200
@@ -54,11 +54,11 @@
     }
 
     private int maxRegisterNum() {
-        return frameMap.target.arch.getRegisters().length;
+        return frameMap.getTarget().arch.getRegisters().length;
     }
 
     private boolean isAllocatableRegister(Value value) {
-        return isRegister(value) && frameMap.registerConfig.getAttributesMap()[asRegister(value).number].isAllocatable();
+        return isRegister(value) && frameMap.getRegisterConfig().getAttributesMap()[asRegister(value).number].isAllocatable();
     }
 
     public static boolean verify(final LIRInstruction op) {
@@ -133,7 +133,7 @@
 
                 op.visitEachInput(useConsumer);
                 if (op.destroysCallerSavedRegisters()) {
-                    for (Register register : frameMap.registerConfig.getCallerSaveRegisters()) {
+                    for (Register register : frameMap.getRegisterConfig().getCallerSaveRegisters()) {
                         curRegistersLive[register.number] = null;
                     }
                 }
--- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/RedundantMoveElimination.java	Mon Oct 20 11:10:15 2014 +0200
+++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/RedundantMoveElimination.java	Mon Oct 20 12:12:52 2014 +0200
@@ -105,7 +105,7 @@
 
         try (Indent indent = Debug.logAndIndent("eliminate redundant moves")) {
 
-            callerSaveRegs = frameMap.registerConfig.getCallerSaveRegisters();
+            callerSaveRegs = frameMap.getRegisterConfig().getCallerSaveRegisters();
 
             initBlockData(lir);
 
@@ -113,7 +113,7 @@
             // Unallocatable registers should never be optimized.
             eligibleRegs = new int[numRegs];
             Arrays.fill(eligibleRegs, -1);
-            for (Register reg : frameMap.registerConfig.getAllocatableRegisters()) {
+            for (Register reg : frameMap.getRegisterConfig().getAllocatableRegisters()) {
                 if (reg.number < numRegs) {
                     eligibleRegs[reg.number] = reg.number;
                 }
--- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/asm/CompilationResultBuilder.java	Mon Oct 20 11:10:15 2014 +0200
+++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/asm/CompilationResultBuilder.java	Mon Oct 20 12:12:52 2014 +0200
@@ -300,7 +300,7 @@
     public AbstractAddress asAddress(Value value) {
         assert isStackSlot(value);
         StackSlot slot = asStackSlot(value);
-        return asm.makeAddress(frameMap.registerConfig.getFrameRegister(), frameMap.offsetForStackSlot(slot));
+        return asm.makeAddress(frameMap.getRegisterConfig().getFrameRegister(), frameMap.offsetForStackSlot(slot));
     }
 
     /**
--- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/gen/LIRGenerator.java	Mon Oct 20 11:10:15 2014 +0200
+++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/gen/LIRGenerator.java	Mon Oct 20 12:12:52 2014 +0200
@@ -107,7 +107,7 @@
 
     @Override
     public RegisterAttributes attributes(Register register) {
-        return res.getFrameMap().registerConfig.getAttributesMap()[register.number];
+        return res.getFrameMap().getRegisterConfig().getAttributesMap()[register.number];
     }
 
     @Override
@@ -173,7 +173,7 @@
      *         {@code kind}
      */
     public AllocatableValue resultOperandFor(LIRKind kind) {
-        return res.getFrameMap().registerConfig.getReturnRegister((Kind) kind.getPlatformKind()).asValue(kind);
+        return res.getFrameMap().getRegisterConfig().getReturnRegister((Kind) kind.getPlatformKind()).asValue(kind);
     }
 
     public void append(LIRInstruction op) {