diff graal/GraalCompiler/src/com/sun/c1x/lir/FrameMap.java @ 2677:0ea5f12e873a

use com.oracle.max.asm project for assembler
author Christian.Wimmer@Oracle.com
date Fri, 13 May 2011 17:09:20 -0700
parents fec99fc30af1
children a2f62de90c76
line wrap: on
line diff
--- a/graal/GraalCompiler/src/com/sun/c1x/lir/FrameMap.java	Fri May 13 14:03:03 2011 -0700
+++ b/graal/GraalCompiler/src/com/sun/c1x/lir/FrameMap.java	Fri May 13 17:09:20 2011 -0700
@@ -33,6 +33,7 @@
 import com.sun.cri.ci.*;
 import com.sun.cri.ci.CiCallingConvention.Type;
 import com.sun.cri.ri.*;
+import com.sun.cri.util.*;
 
 /**
  * This class is used to build the stack frame layout for a compiled method.
@@ -133,7 +134,7 @@
             incomingArguments = new CiCallingConvention(new CiValue[0], 0);
         } else {
             CiKind receiver = !isStatic(method.accessFlags()) ? method.holder().kind() : null;
-            incomingArguments = getCallingConvention(Util.signatureToKinds(method.signature(), receiver), JavaCallee);
+            incomingArguments = getCallingConvention(CRIUtil.signatureToKinds(method.signature(), receiver), JavaCallee);
         }
     }
 
@@ -215,8 +216,8 @@
     public CiAddress toStackAddress(CiStackSlot slot) {
         int size = compilation.target.sizeInBytes(slot.kind);
         if (slot.inCallerFrame()) {
-            int offset = slot.index() * compilation.target.spillSlotSize;
-            return new CiAddress(slot.kind, CiRegister.CallerFrame.asValue(), offset);
+            int offset = slot.index() * compilation.target.spillSlotSize + frameSize() + 8;
+            return new CiAddress(slot.kind, CiRegister.Frame.asValue(), offset);
         } else {
             int offset = offsetForOutgoingOrSpillSlot(slot.index(), size);
             return new CiAddress(slot.kind, CiRegister.Frame.asValue(), offset);