Mercurial > hg > truffle
changeset 10963:af543b1e42b7
provide default (from AMD64) implementation for abstract PTX and HSAIL FrameMap methods
author | twisti |
---|---|
date | Sun, 04 Aug 2013 11:54:55 -0700 |
parents | ebaef68b38f9 |
children | 9024b2eb8434 |
files | 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 |
diffstat | 2 files changed, 16 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.lir.hsail/src/com/oracle/graal/lir/hsail/HSAILFrameMap.java Sun Aug 04 11:29:03 2013 -0700 +++ b/graal/com.oracle.graal.lir.hsail/src/com/oracle/graal/lir/hsail/HSAILFrameMap.java Sun Aug 04 11:54:55 2013 -0700 @@ -24,7 +24,6 @@ import com.oracle.graal.api.code.*; import com.oracle.graal.api.meta.*; -import com.oracle.graal.graph.*; import com.oracle.graal.lir.*; /** @@ -33,7 +32,7 @@ * This is the format of a HSAIL stack frame: * * <pre> - * TODO + * TODO stack frame layout * </pre> */ public final class HSAILFrameMap extends FrameMap { @@ -44,17 +43,21 @@ @Override public int totalFrameSize() { - throw GraalInternalError.unimplemented(); + // FIXME this is amd64 code + return frameSize() + returnAddressSize(); } @Override public int currentFrameSize() { - throw GraalInternalError.unimplemented(); + // FIXME this is amd64 code + return alignFrameSize(outgoingSize + spillSize - returnAddressSize()); } @Override protected int alignFrameSize(int size) { - throw GraalInternalError.unimplemented(); + // FIXME this is amd64 code + int x = size + returnAddressSize() + (target.stackAlignment - 1); + return (x / target.stackAlignment) * target.stackAlignment - returnAddressSize(); } @Override
--- a/graal/com.oracle.graal.lir.ptx/src/com/oracle/graal/lir/ptx/PTXFrameMap.java Sun Aug 04 11:29:03 2013 -0700 +++ b/graal/com.oracle.graal.lir.ptx/src/com/oracle/graal/lir/ptx/PTXFrameMap.java Sun Aug 04 11:54:55 2013 -0700 @@ -24,7 +24,6 @@ import com.oracle.graal.api.code.*; import com.oracle.graal.api.meta.*; -import com.oracle.graal.graph.*; import com.oracle.graal.lir.*; /** @@ -33,7 +32,7 @@ * This is the format of a PTX stack frame: * * <pre> - * TODO + * TODO stack frame layout * </pre> */ public final class PTXFrameMap extends FrameMap { @@ -44,17 +43,21 @@ @Override public int totalFrameSize() { - throw GraalInternalError.unimplemented(); + // FIXME this is amd64 code + return frameSize() + returnAddressSize(); } @Override public int currentFrameSize() { - throw GraalInternalError.unimplemented(); + // FIXME this is amd64 code + return alignFrameSize(outgoingSize + spillSize - returnAddressSize()); } @Override protected int alignFrameSize(int size) { - throw GraalInternalError.unimplemented(); + // FIXME this is amd64 code + int x = size + returnAddressSize() + (target.stackAlignment - 1); + return (x / target.stackAlignment) * target.stackAlignment - returnAddressSize(); } @Override