Mercurial > hg > graal-compiler
changeset 3066:dc0065f8d9a5
Now successfully lowering field stores.
author | Thomas Wuerthinger <thomas@wuerthinger.net> |
---|---|
date | Wed, 22 Jun 2011 22:26:45 +0200 |
parents | fef84503ab7d |
children | 1b4a9f2eef04 |
files | graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/graph/BlockMap.java graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/ir/MemoryAccess.java graal/com.oracle.max.graal.runtime/src/com/oracle/max/graal/runtime/HotSpotRuntime.java graal/com.oracle.max.graal.runtime/src/com/oracle/max/graal/runtime/VMExitsNative.java runavrora.sh |
diffstat | 5 files changed, 6 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/graph/BlockMap.java Wed Jun 22 21:51:57 2011 +0200 +++ b/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/graph/BlockMap.java Wed Jun 22 22:26:45 2011 +0200 @@ -123,7 +123,7 @@ public Instruction firstInstruction; - final HashSet<Block> successors = new HashSet<Block>(); + final HashSet<Block> successors = new LinkedHashSet<Block>(); private boolean visited; private boolean active; private int loops;
--- a/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/ir/MemoryAccess.java Wed Jun 22 21:51:57 2011 +0200 +++ b/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/ir/MemoryAccess.java Wed Jun 22 22:26:45 2011 +0200 @@ -27,7 +27,7 @@ import com.sun.cri.ci.*; -public abstract class MemoryAccess extends Instruction { +public abstract class MemoryAccess extends StateSplit { private static final int INPUT_COUNT = 2; private static final int INPUT_NODE = 0; private static final int INPUT_GUARD = 1;
--- a/graal/com.oracle.max.graal.runtime/src/com/oracle/max/graal/runtime/HotSpotRuntime.java Wed Jun 22 21:51:57 2011 +0200 +++ b/graal/com.oracle.max.graal.runtime/src/com/oracle/max/graal/runtime/HotSpotRuntime.java Wed Jun 22 22:26:45 2011 +0200 @@ -26,6 +26,7 @@ import java.lang.reflect.*; import java.util.*; +import com.oracle.max.graal.compiler.debug.*; import com.oracle.max.graal.compiler.ir.*; import com.oracle.max.graal.graph.*; import com.oracle.max.graal.runtime.nodes.*; @@ -263,8 +264,9 @@ Graph graph = field.graph(); int displacement = ((HotSpotField) field.field()).offset(); MemoryWrite memoryWrite = new MemoryWrite(field.field().kind(), field.object(), field.value(), displacement, graph); + memoryWrite.setStateAfter(field.stateAfter()); memoryWrite.setGuard((GuardNode) tool.createGuard(new IsNonNull(field.object(), graph))); - if (field.field().kind() == CiKind.Object) { + if (field.field().kind() == CiKind.Object && !field.value().isNullConstant()) { FieldWriteBarrier writeBarrier = new FieldWriteBarrier(field.object(), graph); memoryWrite.setNext(writeBarrier); writeBarrier.setNext(field.next());
--- a/graal/com.oracle.max.graal.runtime/src/com/oracle/max/graal/runtime/VMExitsNative.java Wed Jun 22 21:51:57 2011 +0200 +++ b/graal/com.oracle.max.graal.runtime/src/com/oracle/max/graal/runtime/VMExitsNative.java Wed Jun 22 22:26:45 2011 +0200 @@ -75,7 +75,6 @@ public void startCompiler() { // Make sure TTY is initialized here such that the correct System.out is used for TTY. TTY.isSuppressed(); - TTY.println("test"); } public void shutdownCompiler() throws Throwable {
--- a/runavrora.sh Wed Jun 22 21:51:57 2011 +0200 +++ b/runavrora.sh Wed Jun 22 22:26:45 2011 +0200 @@ -15,7 +15,6 @@ echo "DACAPO is not defined. It must point to a Dacapo benchmark directory." exit 1; fi -COMMAND="${JDK7G}/bin/java -client -d64 -graal -Xms1g -Xmx2g -esa -classpath ${DACAPO}/dacapo-9.12-bach.jar -XX:-GraalBailoutIsFatal -G:-QuietBailout $* Harness --preserve -n 5 avrora" +COMMAND="${JDK7}/bin/java -client -d64 -graal -Xms1g -Xmx2g -esa -classpath ${DACAPO}/dacapo-9.12-bach.jar -XX:-GraalBailoutIsFatal -G:-QuietBailout $* Harness --preserve -n 5 avrora" echo $COMMAND $COMMAND -echo $COMMAND