Mercurial > hg > truffle
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);