changeset 8504:86b4965f0c9a

-Cleanup code
author Christos Kotselidis <christos.kotselidis@oracle.com>
date Wed, 20 Mar 2013 21:39:24 +0100
parents 58385e7565ff
children dee7c8b578c7
files graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/CompilationTask.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotVMConfig.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/InitializeObjectNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/WriteBarrierPost.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/WriteBarrierPre.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/HotSpotSnippetUtils.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/NewObjectSnippets.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/SystemSubstitutions.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/WriteBarrierSnippets.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/NewInstanceStub.java graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeLoadNode.java graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/IterativeConditionalEliminationPhase.java graal/com.oracle.graal.phases/src/com/oracle/graal/phases/GraalOptions.java graal/com.oracle.graal.phases/src/com/oracle/graal/phases/graph/PostOrderNodeIterator.java graal/com.oracle.graal.snippets/src/com/oracle/graal/snippets/GraalIntrinsics.java graal/com.oracle.graal.word/src/com/oracle/graal/word/phases/WordTypeRewriterPhase.java src/cpu/x86/vm/c1_Runtime1_x86.cpp src/share/vm/code/nmethod.cpp src/share/vm/gc_implementation/g1/g1AllocRegion.hpp src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp src/share/vm/gc_implementation/g1/heapRegionSet.cpp src/share/vm/gc_implementation/g1/heapRegionSet.inline.hpp src/share/vm/gc_interface/collectedHeap.hpp src/share/vm/graal/graalCompilerToVM.cpp src/share/vm/graal/graalRuntime.cpp src/share/vm/graal/graalRuntime.hpp src/share/vm/memory/cardTableModRefBS.hpp src/share/vm/memory/threadLocalAllocBuffer.cpp src/share/vm/opto/graphKit.cpp src/share/vm/prims/jni.cpp src/share/vm/prims/unsafe.cpp src/share/vm/runtime/arguments.cpp src/share/vm/utilities/debug.hpp
diffstat 38 files changed, 48 insertions(+), 450 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java	Wed Mar 20 20:27:30 2013 +0100
+++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java	Wed Mar 20 21:39:24 2013 +0100
@@ -57,8 +57,6 @@
      */
     public final GraalCodeCacheProvider runtime;
 
-    public static int counter = 0;
-
     /**
      * The backend that this compiler has been configured for.
      */
@@ -76,7 +74,6 @@
         return Debug.scope("GraalCompiler", new Object[]{graph, method, this}, new Callable<CompilationResult>() {
 
             public CompilationResult call() {
-                System.out.println("Start compile of method " + counter);
                 final Assumptions assumptions = new Assumptions(GraalOptions.OptAssumptions);
                 final LIR lir = Debug.scope("FrontEnd", new Callable<LIR>() {
 
@@ -90,8 +87,6 @@
                         return emitLIR(lir, graph, method);
                     }
                 });
-                System.out.println("Stop compile of method " + counter);
-                counter++;
                 return Debug.scope("CodeGen", frameMap, new Callable<CompilationResult>() {
 
                     public CompilationResult call() {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/CompilationTask.java	Wed Mar 20 20:27:30 2013 +0100
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/CompilationTask.java	Wed Mar 20 21:39:24 2013 +0100
@@ -22,7 +22,6 @@
  */
 package com.oracle.graal.hotspot;
 
-import static com.oracle.graal.nodes.StructuredGraph.*;
 import static com.oracle.graal.phases.common.InliningUtil.*;
 
 import java.util.concurrent.*;
@@ -31,7 +30,6 @@
 import com.oracle.graal.api.meta.*;
 import com.oracle.graal.debug.*;
 import com.oracle.graal.debug.internal.*;
-import com.oracle.graal.graph.*;
 import com.oracle.graal.hotspot.meta.*;
 import com.oracle.graal.nodes.*;
 import com.oracle.graal.phases.*;
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotVMConfig.java	Wed Mar 20 20:27:30 2013 +0100
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotVMConfig.java	Wed Mar 20 21:39:24 2013 +0100
@@ -221,7 +221,6 @@
     public int g1SATBQueueMarkingOffset;
     public int g1SATBQueueIndexOffset;
     public int g1SATBQueueBufferOffset;
-    public long gcCycleAddress;
 
     /**
      * The offset of the _java_mirror field (of type {@link Class}) in a Klass.
@@ -329,8 +328,6 @@
     public long monitorExitStub;
     public long wbPreCallStub;
     public long wbPostCallStub;
-    public long verOopStub;
-    public long printWriteCardStub;
 
     public long verifyOopStub;
     public long vmErrorStub;
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java	Wed Mar 20 20:27:30 2013 +0100
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java	Wed Mar 20 21:39:24 2013 +0100
@@ -58,7 +58,6 @@
 import com.oracle.graal.hotspot.nodes.*;
 import com.oracle.graal.hotspot.phases.*;
 import com.oracle.graal.hotspot.snippets.*;
-import static com.oracle.graal.hotspot.snippets.WriteBarrierSnippets.*;
 import com.oracle.graal.hotspot.stubs.*;
 import com.oracle.graal.java.*;
 import com.oracle.graal.nodes.*;
@@ -69,7 +68,6 @@
 import com.oracle.graal.nodes.spi.*;
 import com.oracle.graal.nodes.type.*;
 import com.oracle.graal.phases.*;
-import com.oracle.graal.phases.common.*;
 import com.oracle.graal.printer.*;
 import com.oracle.graal.snippets.*;
 import com.oracle.graal.word.*;
@@ -370,7 +368,7 @@
         instanceofSnippets = new InstanceOfSnippets.Templates(this, assumptions, graalRuntime.getTarget());
         newObjectSnippets = new NewObjectSnippets.Templates(this, assumptions, graalRuntime.getTarget(), config.useTLAB);
         monitorSnippets = new MonitorSnippets.Templates(this, assumptions, graalRuntime.getTarget(), config.useFastLocking);
-        writeBarrierSnippets = new WriteBarrierSnippets.Templates(this, assumptions, graalRuntime.getTarget(), config.useG1GC);
+        writeBarrierSnippets = new WriteBarrierSnippets.Templates(this, assumptions, graalRuntime.getTarget());
 
         newInstanceStub = new NewInstanceStub(this, assumptions, graalRuntime.getTarget());
         newArrayStub = new NewArrayStub(this, assumptions, graalRuntime.getTarget());
@@ -590,20 +588,16 @@
             LoadFieldNode loadField = (LoadFieldNode) n;
             HotSpotResolvedJavaField field = (HotSpotResolvedJavaField) loadField.field();
             ValueNode object = loadField.isStatic() ? ConstantNode.forObject(field.getDeclaringClass().mirror(), this, graph) : loadField.object();
+            LocationNode location = LocationNode.create(field, field.getKind(), field.offset(), graph);
             assert loadField.kind() != Kind.Illegal;
             ReadNode memoryRead = graph.add(new ReadNode(object, LocationNode.create(field, field.getKind(), field.offset(), graph), loadField.stamp()));
             memoryRead.dependencies().add(tool.createNullCheckGuard(object));
 
             graph.replaceFixedWithFixed(loadField, memoryRead);
             if (HotSpotSnippetUtils.useG1GC() && field.getKind() == Kind.Object && field.getDeclaringClass().getName().toString().equals("Ljava/lang/ref/Reference;") &&
-                            field.getName().equals("referent") && IterativeConditionalEliminationPhase.ISON == true) {
-                WriteBarrierPre writeBarrierPre = graph.add(new WriteBarrierPre(memoryRead.object(), memoryRead, LocationNode.create(field, field.getKind(), field.offset(), graph), field.getName(),
-                                false));
+                            field.getName().equals("referent")) {
+                WriteBarrierPre writeBarrierPre = graph.add(new WriteBarrierPre(memoryRead.object(), memoryRead, location, false));
                 graph.addAfterFixed(memoryRead, writeBarrierPre);
-                MembarNode membar = new MembarNode(LOAD_STORE);
-                graph.add(membar);
-                graph.addAfterFixed(writeBarrierPre, membar);
-
             }
 
             if (loadField.isVolatile()) {
@@ -616,40 +610,27 @@
             StoreFieldNode storeField = (StoreFieldNode) n;
             HotSpotResolvedJavaField field = (HotSpotResolvedJavaField) storeField.field();
             ValueNode object = storeField.isStatic() ? ConstantNode.forObject(field.getDeclaringClass().mirror(), this, graph) : storeField.object();
-            WriteNode memoryWrite = graph.add(new WriteNode(object, storeField.value(), LocationNode.create(field, field.getKind(), field.offset(), graph)));
+            LocationNode location = LocationNode.create(field, field.getKind(), field.offset(), graph);
+            WriteNode memoryWrite = graph.add(new WriteNode(object, storeField.value(), location));
             memoryWrite.dependencies().add(tool.createNullCheckGuard(object));
             memoryWrite.setStateAfter(storeField.stateAfter());
             graph.replaceFixedWithFixed(storeField, memoryWrite);
             FixedWithNextNode last = memoryWrite;
             FixedWithNextNode first = memoryWrite;
 
-            FrameState stateAfter = memoryWrite.stateAfter();
             if (field.getKind() == Kind.Object && !memoryWrite.value().objectStamp().alwaysNull()) {
-
-                boolean profile = false;
-                if (HotSpotSnippetUtils.useG1GC() && field.getKind() == Kind.Object && field.getDeclaringClass().getName().toString().equals("Lcom/oracle/graal/phases/graph/PostOrderNodeIterator;") &&
-                                field.getName().equals("state")) {
-                    profile = true;
-                }
-
                 if (!HotSpotSnippetUtils.useG1GC()) {
                     FieldWriteBarrier writeBarrier = graph.add(new FieldWriteBarrier(memoryWrite.object()));
                     graph.addAfterFixed(memoryWrite, writeBarrier);
                     last = writeBarrier;
                 } else {
-                    WriteBarrierPre writeBarrierPre = graph.add(new WriteBarrierPre(memoryWrite.object(), null, LocationNode.create(field, field.getKind(), field.offset(), graph), field.getName(),
-                                    true, profile));
-                    WriteBarrierPost writeBarrierPost = graph.add(new WriteBarrierPost(memoryWrite.object(), memoryWrite.value(), memoryWrite.location(), false, writeBarrierPre, profile));
+                    WriteBarrierPre writeBarrierPre = graph.add(new WriteBarrierPre(memoryWrite.object(), null, memoryWrite.location(), true));
+                    WriteBarrierPost writeBarrierPost = graph.add(new WriteBarrierPost(memoryWrite.object(), memoryWrite.value(), memoryWrite.location(), false));
                     graph.addBeforeFixed(memoryWrite, writeBarrierPre);
                     graph.addAfterFixed(memoryWrite, writeBarrierPost);
-                    writeBarrierPre.setStateAfter(stateAfter);
-                    writeBarrierPost.setStateAfter(stateAfter);
-
                     first = writeBarrierPre;
                     last = writeBarrierPost;
-
                 }
-
             }
             if (storeField.isVolatile()) {
                 MembarNode preMembar = graph.add(new MembarNode(JMM_PRE_VOLATILE_WRITE));
@@ -661,6 +642,7 @@
             // Separate out GC barrier semantics
             CompareAndSwapNode cas = (CompareAndSwapNode) n;
             ValueNode expected = cas.expected();
+            LocationNode location = IndexedLocationNode.create(LocationNode.ANY_LOCATION, cas.expected().kind(), cas.displacement(), cas.offset(), graph, false);
             if (expected.kind() == Kind.Object && !cas.newValue().objectStamp().alwaysNull()) {
                 ResolvedJavaType type = cas.object().objectStamp().type();
                 if (type != null && !type.isArray() && !MetaUtil.isJavaLangObject(type)) {
@@ -669,32 +651,22 @@
                         FieldWriteBarrier writeBarrier = graph.add(new FieldWriteBarrier(cas.object()));
                         graph.addAfterFixed(cas, writeBarrier);
                     } else {
-                        WriteBarrierPre writeBarrierPre = graph.add(new WriteBarrierPre(cas.object(), null, IndexedLocationNode.create(LocationNode.ANY_LOCATION, cas.expected().kind(),
-                                        cas.displacement(), cas.offset(), graph, false), "CAS", true));
-                        WriteBarrierPost writeBarrierPost = graph.add(new WriteBarrierPost(cas.object(), cas.newValue(), IndexedLocationNode.create(LocationNode.ANY_LOCATION, cas.expected().kind(),
-                                        cas.displacement(), cas.offset(), graph, false), false, writeBarrierPre));
-                        MembarNode membar = new MembarNode(LOAD_STORE);
-                        graph.add(membar);
-                        graph.addBeforeFixed(cas, membar);
-                        graph.addBeforeFixed(membar, writeBarrierPre);
+                        WriteBarrierPre writeBarrierPre = graph.add(new WriteBarrierPre(cas.object(), null, location, true));
+                        WriteBarrierPost writeBarrierPost = graph.add(new WriteBarrierPost(cas.object(), cas.newValue(), location, false));
+                        graph.addBeforeFixed(cas, writeBarrierPre);
                         graph.addAfterFixed(cas, writeBarrierPost);
                     }
                 } else {
-                    LocationNode location = IndexedLocationNode.create(LocationNode.ANY_LOCATION, cas.expected().kind(), cas.displacement(), cas.offset(), graph, false);
                     // This may be an array store so use an array write barrier
                     if (!HotSpotSnippetUtils.useG1GC()) {
                         graph.addAfterFixed(cas, graph.add(new ArrayWriteBarrier(cas.object(), (IndexedLocationNode) location)));
                     } else {
-                        WriteBarrierPre writeBarrierPre = graph.add(new WriteBarrierPre(cas.object(), null, location, "CAS", true));
-                        MembarNode membar = new MembarNode(LOAD_STORE);
-                        graph.add(membar);
-                        graph.addBeforeFixed(cas, membar);
-                        graph.addBeforeFixed(membar, writeBarrierPre);
-                        graph.addAfterFixed(cas, graph.add(new WriteBarrierPost(cas.object(), cas.newValue(), location, true, writeBarrierPre)));
+                        WriteBarrierPre writeBarrierPre = graph.add(new WriteBarrierPre(cas.object(), null, location, true));
+                        graph.addBeforeFixed(cas, writeBarrierPre);
+                        graph.addAfterFixed(cas, graph.add(new WriteBarrierPost(cas.object(), cas.newValue(), location, true)));
                     }
                 }
             }
-
         } else if (n instanceof LoadIndexedNode) {
             LoadIndexedNode loadIndexed = (LoadIndexedNode) n;
             ValueNode boundsCheck = createBoundsCheck(loadIndexed, tool);
@@ -734,21 +706,16 @@
             WriteNode memoryWrite = graph.add(new WriteNode(array, value, arrayLocation));
             memoryWrite.dependencies().add(boundsCheck);
             memoryWrite.setStateAfter(storeIndexed.stateAfter());
-
             graph.replaceFixedWithFixed(storeIndexed, memoryWrite);
 
             if (elementKind == Kind.Object && !value.objectStamp().alwaysNull()) {
                 if (!HotSpotSnippetUtils.useG1GC()) {
                     graph.addAfterFixed(memoryWrite, graph.add(new ArrayWriteBarrier(array, (IndexedLocationNode) arrayLocation)));
                 } else {
-                    WriteBarrierPre writeBarrierPre = graph.add(new WriteBarrierPre(array, null, arrayLocation, "ARRAY", true));
-                    writeBarrierPre.dependencies().add(boundsCheck);
+                    WriteBarrierPre writeBarrierPre = graph.add(new WriteBarrierPre(array, null, arrayLocation, true));
                     graph.addBeforeFixed(memoryWrite, writeBarrierPre);
-                    WriteBarrierPost writeBarrierPost = graph.add(new WriteBarrierPost(array, value, arrayLocation, true, writeBarrierPre));
+                    WriteBarrierPost writeBarrierPost = graph.add(new WriteBarrierPost(array, value, arrayLocation, true));
                     graph.addAfterFixed(memoryWrite, writeBarrierPost);
-                    writeBarrierPre.setStateAfter(memoryWrite.stateAfter());
-                    writeBarrierPost.setStateAfter(memoryWrite.stateAfter());
-
                 }
             }
         } else if (n instanceof UnsafeLoadNode) {
@@ -776,9 +743,9 @@
                         FieldWriteBarrier writeBarrier = graph.add(new FieldWriteBarrier(object));
                         graph.addAfterFixed(write, writeBarrier);
                     } else {
-                        WriteBarrierPre writeBarrierPre = new WriteBarrierPre(object, null, location, "UnsafeStore", true);
+                        WriteBarrierPre writeBarrierPre = new WriteBarrierPre(object, null, location, true);
                         graph.addBeforeFixed(write, graph.add(writeBarrierPre));
-                        graph.addAfterFixed(write, graph.add(new WriteBarrierPost(object, write.value(), location, false, writeBarrierPre)));
+                        graph.addAfterFixed(write, graph.add(new WriteBarrierPost(object, write.value(), location, false)));
                     }
                 } else {
                     // This may be an array store so use an array write barrier
@@ -786,9 +753,9 @@
                         ArrayWriteBarrier writeBarrier = graph.add(new ArrayWriteBarrier(object, location));
                         graph.addAfterFixed(write, writeBarrier);
                     } else {
-                        WriteBarrierPre writeBarrierPre = graph.add(new WriteBarrierPre(object, null, location, "UnsafeStoreArray", true));
+                        WriteBarrierPre writeBarrierPre = graph.add(new WriteBarrierPre(object, null, location, true));
                         graph.addBeforeFixed(write, writeBarrierPre);
-                        graph.addAfterFixed(write, graph.add(new WriteBarrierPost(object, write.value(), location, true, writeBarrierPre)));
+                        graph.addAfterFixed(write, graph.add(new WriteBarrierPost(object, write.value(), location, true)));
                     }
                 }
             }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/InitializeObjectNode.java	Wed Mar 20 20:27:30 2013 +0100
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/InitializeObjectNode.java	Wed Mar 20 21:39:24 2013 +0100
@@ -23,7 +23,6 @@
 package com.oracle.graal.hotspot.nodes;
 
 import com.oracle.graal.api.meta.*;
-import com.oracle.graal.hotspot.*;
 import com.oracle.graal.hotspot.snippets.*;
 import com.oracle.graal.nodes.*;
 import com.oracle.graal.nodes.spi.*;
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/WriteBarrierPost.java	Wed Mar 20 20:27:30 2013 +0100
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/WriteBarrierPost.java	Wed Mar 20 21:39:24 2013 +0100
@@ -27,14 +27,12 @@
 import com.oracle.graal.nodes.spi.*;
 import com.oracle.graal.nodes.type.*;
 
-public final class WriteBarrierPost extends AbstractStateSplit implements Lowerable {
+public final class WriteBarrierPost extends FixedWithNextNode implements Lowerable {
 
     @Input private ValueNode object;
     @Input private ValueNode value;
     @Input private LocationNode location;
-    @Input private ValueNode wbPre;
     private boolean precise;
-    private boolean profile;
 
     public ValueNode object() {
         return object;
@@ -44,10 +42,6 @@
         return value;
     }
 
-    public ValueNode getPreBarrier() {
-        return wbPre;
-    }
-
     public LocationNode location() {
         return location;
     }
@@ -56,28 +50,12 @@
         return precise;
     }
 
-    public boolean profile() {
-        return profile;
-    }
-
-    public WriteBarrierPost(ValueNode object, ValueNode value, LocationNode location, boolean precise, ValueNode wbPre) {
+    public WriteBarrierPost(ValueNode object, ValueNode value, LocationNode location, boolean precise) {
         super(StampFactory.forVoid());
         this.object = object;
         this.value = value;
         this.location = location;
         this.precise = precise;
-        this.wbPre = wbPre;
-        this.profile = false;
-    }
-
-    public WriteBarrierPost(ValueNode object, ValueNode value, LocationNode location, boolean precise, ValueNode wbPre, boolean profile) {
-        super(StampFactory.forVoid());
-        this.object = object;
-        this.value = value;
-        this.location = location;
-        this.precise = precise;
-        this.wbPre = wbPre;
-        this.profile = profile;
     }
 
     public void lower(LoweringTool generator) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/WriteBarrierPre.java	Wed Mar 20 20:27:30 2013 +0100
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/WriteBarrierPre.java	Wed Mar 20 21:39:24 2013 +0100
@@ -27,15 +27,12 @@
 import com.oracle.graal.nodes.spi.*;
 import com.oracle.graal.nodes.type.*;
 
-public final class WriteBarrierPre extends AbstractStateSplit implements Lowerable {
+public final class WriteBarrierPre extends FixedWithNextNode implements Lowerable {
 
     @Input private ValueNode object;
     @Input private LocationNode location;
     @Input private ValueNode expectedObject;
     private boolean doLoad;
-    private boolean profile;
-
-    private String name;
 
     public ValueNode object() {
         return object;
@@ -49,35 +46,16 @@
         return doLoad;
     }
 
-    public boolean profile() {
-        return profile;
-    }
-
-    public String getName() {
-        return name;
-    }
-
     public LocationNode location() {
         return location;
     }
 
-    public WriteBarrierPre(ValueNode object, ValueNode expectedObject, LocationNode location, String name, boolean doLoad, boolean profile) {
+    public WriteBarrierPre(ValueNode object, ValueNode expectedObject, LocationNode location, boolean doLoad) {
         super(StampFactory.forVoid());
         this.object = object;
         this.doLoad = doLoad;
         this.location = location;
         this.expectedObject = expectedObject;
-        this.name = name;
-        this.profile = profile;
-    }
-
-    public WriteBarrierPre(ValueNode object, ValueNode expectedObject, LocationNode location, String name, boolean doLoad) {
-        super(StampFactory.forVoid());
-        this.object = object;
-        this.doLoad = doLoad;
-        this.location = location;
-        this.expectedObject = expectedObject;
-        this.name = name;
     }
 
     public void lower(LoweringTool generator) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/HotSpotSnippetUtils.java	Wed Mar 20 20:27:30 2013 +0100
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/HotSpotSnippetUtils.java	Wed Mar 20 21:39:24 2013 +0100
@@ -247,11 +247,6 @@
     }
 
     @Fold
-    public static long gcCycleAddress() {
-        return config().gcCycleAddress;
-    }
-
-    @Fold
     public static int g1SATBQueueMarkingOffset() {
         return config().g1SATBQueueMarkingOffset;
     }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/NewObjectSnippets.java	Wed Mar 20 20:27:30 2013 +0100
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/NewObjectSnippets.java	Wed Mar 20 21:39:24 2013 +0100
@@ -59,11 +59,6 @@
 
     // @formatter:off
 
-    private static void trace(boolean enabled, String format, WordBase value) {
-        if (enabled) {
-            Log.printf(format, value.rawValue());
-        }
-    }
     @Snippet
     public static Word allocate(@Parameter("size") int size) {
         Word thread = thread();
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/SystemSubstitutions.java	Wed Mar 20 20:27:30 2013 +0100
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/SystemSubstitutions.java	Wed Mar 20 21:39:24 2013 +0100
@@ -42,9 +42,8 @@
     public static final Descriptor JAVA_TIME_MILLIS = new Descriptor("javaTimeMillis", false, long.class);
     public static final Descriptor JAVA_TIME_NANOS = new Descriptor("javaTimeNanos", false, long.class);
 
-    // @MacroSubstitution(macro = ArrayCopyNode.class)
-    // public static native void arraycopy(Object src, int srcPos, Object dest, int destPos, int
-// length);
+    @MacroSubstitution(macro = ArrayCopyNode.class)
+    public static native void arraycopy(Object src, int srcPos, Object dest, int destPos, int length);
 
     @MethodSubstitution
     public static long currentTimeMillis() {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/WriteBarrierSnippets.java	Wed Mar 20 20:27:30 2013 +0100
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/WriteBarrierSnippets.java	Wed Mar 20 21:39:24 2013 +0100
@@ -26,12 +26,8 @@
 import static com.oracle.graal.snippets.SnippetTemplate.*;
 
 import com.oracle.graal.api.code.*;
-import com.oracle.graal.api.code.RuntimeCallTarget.*;
 import com.oracle.graal.api.meta.*;
-import com.oracle.graal.graph.Node.*;
 import com.oracle.graal.hotspot.nodes.*;
-import com.oracle.graal.nodes.*;
-import com.oracle.graal.nodes.extended.*;
 import com.oracle.graal.nodes.spi.*;
 import com.oracle.graal.snippets.*;
 import com.oracle.graal.snippets.Snippet.ConstantParameter;
@@ -43,159 +39,54 @@
 
 public class WriteBarrierSnippets implements SnippetsInterface {
 
-    private static boolean TRACE_COND = false;
-
     @Snippet
-    public static int g1PreWriteBarrier(@Parameter("object") Object obj, @Parameter("expectedObject") Object expobj, @Parameter("location") Object location,
-                    @ConstantParameter("doLoad") boolean doLoad, @ConstantParameter("name") String name, @ConstantParameter("profile") boolean profile) {
-
-        int gcCycle = Word.unsigned(HotSpotSnippetUtils.gcCycleAddress()).readInt(0);
-        if (obj == null) {
-            return gcCycle;
-
-        }
-        TRACE_COND = profile;
-        // if (!TRACE_COND) {
-        // TRACE_COND = Word.unsigned(HotSpotSnippetUtils.gcCycleAddress()).readInt(0) > 650 ? true
-// : false;
-        // }
-        int cause = 0;
+    public static void g1PreWriteBarrier(@Parameter("object") Object obj, @Parameter("expectedObject") Object expobj, @Parameter("location") Object location,
+                    @ConstantParameter("doLoad") boolean doLoad) {
         Word thread = thread();
-
         Object object = FixedValueAnchorNode.getObject(obj);
         Object expectedObject = FixedValueAnchorNode.getObject(expobj);
-
-        Pointer oop = Word.fromObject(object);
         Pointer field = Word.fromArray(object, location);
         Pointer previousOop = Word.fromObject(expectedObject);
-        long originalOop = oop.rawValue();
-        long prevOop = field.readWord(0).rawValue();
         byte markingValue = thread.readByte(HotSpotSnippetUtils.g1SATBQueueMarkingOffset());
 
-        if (doLoad) { // We need to generate the load of the previous value
-            if (oop.equal(Word.zero())) {
-                trace(TRACE_COND, "ERROR      Null Object 0x%16lx\n", Word.zero());
-            }
-            if (field.equal(Word.zero())) {
-                trace(TRACE_COND, "ERROR      Null Field 0x%16lx\n", Word.zero());
-            }
-            if (previousOop.notEqual(Word.zero())) {
-                trace(TRACE_COND, "ERROR      Field Loaded already 0x%16lx\n", previousOop);
-            }
-        } else {
-
-            if (previousOop.equal(Word.zero())) {
-                trace(TRACE_COND, "ERROR      Field is not Loaded already 0x%16lx\n", previousOop);
-                trace(TRACE_COND, "ERROR      Field2 is not Loaded already 0x%16lx\n", oop);
-                trace(TRACE_COND, name, oop);
-                trace(TRACE_COND, "\n", oop);
-            }
-
-            if (previousOop.notEqual(field.readWord(0))) {
-                trace(TRACE_COND, "ERROR      Field is not Loaded already in ref.Reference 0x%16lx\n", previousOop);
-            }
-        }
-
         Word bufferAddress = thread.readWord(HotSpotSnippetUtils.g1SATBQueueBufferOffset());
         Word indexAddress = thread.add(HotSpotSnippetUtils.g1SATBQueueIndexOffset());
         Word indexValue = indexAddress.readWord(0);
-        trace(TRACE_COND, "TRACE  PRE     Field oop 0x%16lx prevValue 0x%16lx marking value %d \n", oop, field.readWord(0), Word.unsigned(markingValue));
-        trace(TRACE_COND, "TRACE  PRE     Field oop 0x%16lx field 0x%16lx marking value %d \n", oop, field, Word.unsigned(markingValue));
 
         if (markingValue != (byte) 0) {
             if (doLoad) {
                 previousOop = field.readWord(0);
-                prevOop = previousOop.rawValue();
-
             }
             if (previousOop.notEqual(Word.zero())) {
-
                 if (indexValue.notEqual(Word.zero())) {
                     Word nextIndex = indexValue.subtract(HotSpotSnippetUtils.wordSize());
                     Word logAddress = bufferAddress.add(nextIndex);
                     logAddress.writeWord(0, previousOop);
                     indexAddress.writeWord(0, nextIndex);
-                    if (field.readWord(0).rawValue() != prevOop) {
-                        trace(TRACE_COND, "ERROR      field SATB changed 0x%16lx\n", Word.unsigned(prevOop));
-                    }
-
-                    if (logAddress.readWord(0).rawValue() != prevOop) {
-                        trace(TRACE_COND, "ERROR      field SATB changed in buff 0x%16lx\n", Word.unsigned(prevOop));
-                    }
-
-                    if (indexAddress.readWord(0).rawValue() != nextIndex.rawValue()) {
-                        trace(TRACE_COND, "ERROR      index SATB changed in buff 0x%16lx\n", Word.unsigned(prevOop));
-                    }
-
                 } else {
                     WriteBarrierPreStubCall.call(previousOop);
-                    Word bufferAddress1 = thread.readWord(HotSpotSnippetUtils.g1SATBQueueBufferOffset());
-                    Word indexAddress1 = thread.add(HotSpotSnippetUtils.g1SATBQueueIndexOffset());
-                    Word indexValue1 = indexAddress1.readWord(0);
-                    if (bufferAddress1.add(indexValue1).readWord(0).rawValue() != prevOop) {
-                        trace(TRACE_COND, "ERROR      field SATB changed native 0x%16lx\n", Word.unsigned(prevOop));
-                    }
 
                 }
             }
         }
-
-        if (originalOop != oop.rawValue()) {
-            trace(TRACE_COND, "ERROR      Address changed 0x%16lx\n", Word.unsigned(originalOop));
-            trace(TRACE_COND, "ERROR      Address changed to  0x%16lx\n", oop);
-        }
-
-        if (prevOop != 0L && (prevOop != field.readWord(0).rawValue())) {
-            trace(TRACE_COND, "ERROR      previousOop changed 0x%16lx\n", Word.unsigned(prevOop));
-        }
-
-        if (gcCycle != Word.unsigned(HotSpotSnippetUtils.gcCycleAddress()).readInt(0)) {
-            trace(TRACE_COND, "ERROR      gcCycle within PRE changed %lu %lu\n", Word.unsigned(gcCycle), Word.unsigned(cause));
-        }
-
-        return gcCycle;
     }
 
     @Snippet
-    public static void g1PostWriteBarrier(@Parameter("object") Object obj, @Parameter("value") Object value, @Parameter("location") Object location, @Parameter("preBarrier") int preBarrier,
-                    @ConstantParameter("usePrecise") boolean usePrecise, @ConstantParameter("profile") boolean profile) {
+    public static void g1PostWriteBarrier(@Parameter("object") Object obj, @Parameter("value") Object value, @Parameter("location") Object location, @ConstantParameter("usePrecise") boolean usePrecise) {
         Word thread = thread();
-
-        TRACE_COND = profile;
-        int gcCycle = Word.unsigned(HotSpotSnippetUtils.gcCycleAddress()).readInt(0);
-        if (gcCycle != preBarrier) {
-            trace(TRACE_COND, "ERROR      gcCycle from PRE to POST changed %lu %lu\n", Word.unsigned(gcCycle), Word.unsigned(preBarrier));
-        }
-
         Object object = FixedValueAnchorNode.getObject(obj);
         Object wrObject = FixedValueAnchorNode.getObject(value);
-
         Pointer oop = Word.fromObject(object);
-
-        Pointer field1 = Word.fromArray(object, location);
         Pointer field;
         if (usePrecise) {
             field = Word.fromArray(object, location);
         } else {
             field = oop;
         }
-
         Pointer writtenValue = Word.fromObject(wrObject);
-
-        long originalOop = oop.rawValue();
-        long originalWv = writtenValue.rawValue();
-
         Word bufferAddress = thread.readWord(HotSpotSnippetUtils.g1CardQueueBufferOffset());
         Word indexAddress = thread.add(HotSpotSnippetUtils.g1CardQueueIndexOffset());
         Word indexValue = thread.readWord(HotSpotSnippetUtils.g1CardQueueIndexOffset());
-
-        if (oop.equal(Word.zero())) {
-            trace(TRACE_COND, "ERROR POST     Null Object 0x%16lx\n", Word.zero());
-        }
-        if (field.equal(Word.zero())) {
-            trace(TRACE_COND, "ERROR POST     Null Field 0x%16lx\n", Word.zero());
-        }
-
         Word xorResult = ((Word) field.xor(writtenValue)).unsignedShiftRight(HotSpotSnippetUtils.logOfHRGrainBytes());
 
         // Card Table
@@ -209,15 +100,6 @@
         }
         Word cardAddress = cardBase.add(displacement);
 
-        // trace(TRACE_COND, "      G1 POST from field 0x%016lx to obj 0x%16lx, marking %d\n",
-// field, writtenValue, Word.signed(cardAddress.readByte(0)));
-        // trace(TRACE_COND,
-// "      G1 POST from field 0x%016lx to cardAddress 0x%16lx, xorResults %16lx\n", field,
-// cardAddress, xorResult);
-
-        trace(TRACE_COND, "TRACE  POST     Field oop 0x%16lx writtenValue 0x%16lx card value %d\n", oop, writtenValue, Word.signed(cardAddress.readByte(0)));
-        trace(TRACE_COND, "TRACE  POST     Field oop 0x%16lx fieldRead 0x%16lx fieldAddress  0x%16lx\n", oop, field1.readWord(0), field1);
-
         if (xorResult.notEqual(Word.zero())) {
             if (writtenValue.notEqual(Word.zero())) {
                 byte cardByte = cardAddress.readByte(0);
@@ -234,41 +116,6 @@
                 }
             }
         }
-        // } else { Object clone intrinsic(?!)
-        // }
-        // trace(WriteBarrierSnippets.TRACE, "---------------G1 POST EXIT: %lu\n",
-        if (originalOop != oop.rawValue()) {
-            trace(TRACE_COND, "ERROR      Address changed 0x%16lx\n", Word.unsigned(originalOop));
-            trace(TRACE_COND, "ERROR      Address changed to  0x%16lx\n", oop);
-        }
-
-        if (originalWv != writtenValue.rawValue()) {
-            trace(TRACE_COND, "ERROR      Written Value  changed 0x%16lx\n", Word.unsigned(originalWv));
-            trace(TRACE_COND, "ERROR      Written Value changed to  0x%16lx\n", writtenValue);
-        }
-
-        if (gcCycle != Word.unsigned(HotSpotSnippetUtils.gcCycleAddress()).readInt(0)) {
-            trace(TRACE_COND, "ERROR      gcCycle within POST changed %lu\n", Word.unsigned(gcCycle));
-        }
-
-    }
-
-    private static void trace(boolean enabled, String format, WordBase value) {
-        if (enabled) {
-            Log.printf(format, value.rawValue());
-        }
-    }
-
-    private static void trace(boolean enabled, String format, WordBase value, WordBase value2) {
-        if (enabled) {
-            Log.printf(format, value.rawValue(), value2.rawValue());
-        }
-    }
-
-    private static void trace(boolean enabled, String format, WordBase value, WordBase value2, WordBase value3) {
-        if (enabled) {
-            Log.printf(format, value.rawValue(), value2.rawValue(), value3.rawValue());
-        }
     }
 
     @Snippet
@@ -306,13 +153,12 @@
         private final ResolvedJavaMethod g1PreWriteBarrier;
         private final ResolvedJavaMethod g1PostWriteBarrier;
 
-        public Templates(CodeCacheProvider runtime, Assumptions assumptions, TargetDescription target, boolean useG1GC) {
+        public Templates(CodeCacheProvider runtime, Assumptions assumptions, TargetDescription target) {
             super(runtime, assumptions, target, WriteBarrierSnippets.class);
             serialFieldWriteBarrier = snippet("serialFieldWriteBarrier", Object.class);
             serialArrayWriteBarrier = snippet("serialArrayWriteBarrier", Object.class, Object.class);
-            g1PreWriteBarrier = snippet("g1PreWriteBarrier", Object.class, Object.class, Object.class, boolean.class, String.class, boolean.class);
-            g1PostWriteBarrier = snippet("g1PostWriteBarrier", Object.class, Object.class, Object.class, int.class, boolean.class, boolean.class);
-            System.out.println("  useG1GC? " + (useG1GC ? "true" : "false"));
+            g1PreWriteBarrier = snippet("g1PreWriteBarrier", Object.class, Object.class, Object.class, boolean.class);
+            g1PostWriteBarrier = snippet("g1PostWriteBarrier", Object.class, Object.class, Object.class, boolean.class);
         }
 
         public void lower(ArrayWriteBarrier arrayWriteBarrier, @SuppressWarnings("unused") LoweringTool tool) {
@@ -338,8 +184,6 @@
             ResolvedJavaMethod method = g1PreWriteBarrier;
             Key key = new Key(method);
             key.add("doLoad", writeBarrierPre.doLoad());
-            key.add("name", writeBarrierPre.getName());
-            key.add("profile", writeBarrierPre.profile());
             Arguments arguments = new Arguments();
             arguments.add("object", writeBarrierPre.object());
             arguments.add("expectedObject", writeBarrierPre.expectedObject());
@@ -352,12 +196,10 @@
             ResolvedJavaMethod method = g1PostWriteBarrier;
             Key key = new Key(method);
             key.add("usePrecise", writeBarrierPost.usePrecise());
-            key.add("profile", writeBarrierPost.profile());
             Arguments arguments = new Arguments();
             arguments.add("object", writeBarrierPost.object());
             arguments.add("location", writeBarrierPost.location());
             arguments.add("value", writeBarrierPost.value());
-            arguments.add("preBarrier", writeBarrierPost.getPreBarrier());
             SnippetTemplate template = cache.get(key, assumptions);
             template.instantiate(runtime, writeBarrierPost, DEFAULT_REPLACER, arguments);
         }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/NewInstanceStub.java	Wed Mar 20 20:27:30 2013 +0100
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/NewInstanceStub.java	Wed Mar 20 21:39:24 2013 +0100
@@ -29,7 +29,6 @@
 
 import com.oracle.graal.api.code.*;
 import com.oracle.graal.api.meta.*;
-import com.oracle.graal.hotspot.*;
 import com.oracle.graal.hotspot.meta.*;
 import com.oracle.graal.hotspot.nodes.*;
 import com.oracle.graal.hotspot.snippets.*;
--- a/graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java	Wed Mar 20 20:27:30 2013 +0100
+++ b/graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java	Wed Mar 20 21:39:24 2013 +0100
@@ -642,9 +642,7 @@
     private JavaMethod lookupMethod(int cpi, int opcode) {
         eagerResolvingForSnippets(cpi, opcode);
         JavaMethod result = constantPool.lookupMethod(cpi, opcode);
-        // assert !graphBuilderConfig.eagerResolvingForSnippets() || ((result instanceof
-// ResolvedJavaMethod) && ((ResolvedJavaMethod) result).getDeclaringClass().isInitialized()) :
-// result;
+        assert !graphBuilderConfig.eagerResolvingForSnippets() || ((result instanceof ResolvedJavaMethod) && ((ResolvedJavaMethod) result).getDeclaringClass().isInitialized()) : result;
         return result;
     }
 
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeLoadNode.java	Wed Mar 20 20:27:30 2013 +0100
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeLoadNode.java	Wed Mar 20 21:39:24 2013 +0100
@@ -84,15 +84,6 @@
                 if (receiverStamp.nonNull()) {
                     ResolvedJavaType receiverType = receiverStamp.type();
                     ResolvedJavaField field = receiverType.findInstanceFieldWithOffset(displacement());
-                    // ResolvedJavaField[] instanceFields =
-// tool.runtime().lookupJavaType(java.lang.ref.Reference.class).getInstanceFields(false);
-                    // for (ResolvedJavaField field1 : instanceFields) {
-                    // if (field != null && (field1.getName() == field.getName())) {
-                    // System.out.println("Match field name: " + field.getName());
-                    // } else if (field != null) {
-                    // System.out.println("Non matching field name: " + field.getName());
-                    // }
-                    // }
                     if (field != null) {
                         return this.graph().add(new LoadFieldNode(object(), field));
                     }
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/IterativeConditionalEliminationPhase.java	Wed Mar 20 20:27:30 2013 +0100
+++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/IterativeConditionalEliminationPhase.java	Wed Mar 20 21:39:24 2013 +0100
@@ -36,7 +36,6 @@
     private final TargetDescription target;
     private final MetaAccessProvider runtime;
     private final Assumptions assumptions;
-    public static boolean ISON = false;
 
     public IterativeConditionalEliminationPhase(TargetDescription target, MetaAccessProvider runtime, Assumptions assumptions) {
         this.target = target;
@@ -46,7 +45,6 @@
 
     @Override
     protected void run(StructuredGraph graph) {
-        ISON = true;
         Set<Node> canonicalizationRoots = new HashSet<>();
         ConditionalEliminationPhase eliminate = new ConditionalEliminationPhase(runtime);
         Listener listener = new Listener(canonicalizationRoots);
@@ -60,7 +58,6 @@
             new CanonicalizerPhase(target, runtime, assumptions, canonicalizationRoots, null).apply(graph);
             canonicalizationRoots.clear();
         }
-        ISON = false;
     }
 
     private static class Listener implements InputChangedListener {
--- a/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/GraalOptions.java	Wed Mar 20 20:27:30 2013 +0100
+++ b/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/GraalOptions.java	Wed Mar 20 21:39:24 2013 +0100
@@ -115,7 +115,7 @@
     public static String  PrintFilter                        = null;
 
     // Debug settings:
-    public static boolean Debug                              = false;
+    public static boolean Debug                              = true;
     public static boolean DebugSnippets                      = false;
     public static boolean PerThreadDebugValues               = ____;
     public static boolean SummarizeDebugValues               = ____;
@@ -190,7 +190,7 @@
     public static boolean OptLivenessAnalysis                = true;
     public static boolean OptLoopTransform                   = true;
     public static boolean OptSafepointElimination            = true;
-    public static boolean OptFloatingReads                   = false;
+    public static boolean OptFloatingReads                   = true;
     public static boolean OptTailDuplication                 = true;
     public static boolean OptEliminatePartiallyRedundantGuards = true;
     public static boolean OptFilterProfiledTypes             = true;
--- a/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/graph/PostOrderNodeIterator.java	Wed Mar 20 20:27:30 2013 +0100
+++ b/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/graph/PostOrderNodeIterator.java	Wed Mar 20 21:39:24 2013 +0100
@@ -24,8 +24,6 @@
 
 import java.util.*;
 
-import sun.misc.*;
-
 import com.oracle.graal.graph.*;
 import com.oracle.graal.nodes.*;
 
@@ -71,7 +69,6 @@
                 state.loopBegin((LoopBeginNode) current);
                 nodeStates.put(current, state);
                 state = state.clone();
-                System.out.println("State: " + state.hashCode());
                 loopBegin((LoopBeginNode) current);
                 current = ((LoopBeginNode) current).next();
                 assert current != null;
--- a/graal/com.oracle.graal.snippets/src/com/oracle/graal/snippets/GraalIntrinsics.java	Wed Mar 20 20:27:30 2013 +0100
+++ b/graal/com.oracle.graal.snippets/src/com/oracle/graal/snippets/GraalIntrinsics.java	Wed Mar 20 21:39:24 2013 +0100
@@ -34,7 +34,7 @@
             installer.installSubstitutions(MathSubstitutionsX86.class);
             installer.installSubstitutions(DoubleSubstitutions.class);
             installer.installSubstitutions(FloatSubstitutions.class);
-            // installer.installSubstitutions(NodeClassSubstitutions.class);
+            installer.installSubstitutions(NodeClassSubstitutions.class);
             installer.installSubstitutions(LongSubstitutions.class);
             installer.installSubstitutions(IntegerSubstitutions.class);
             installer.installSubstitutions(UnsignedMathSubstitutions.class);
--- a/graal/com.oracle.graal.word/src/com/oracle/graal/word/phases/WordTypeRewriterPhase.java	Wed Mar 20 20:27:30 2013 +0100
+++ b/graal/com.oracle.graal.word/src/com/oracle/graal/word/phases/WordTypeRewriterPhase.java	Wed Mar 20 21:39:24 2013 +0100
@@ -139,26 +139,18 @@
 
                     case READ:
                         assert arguments.size() == 2;
-                        // replace(invoke, readOp(graph, arguments.get(0), arguments.get(1), invoke,
-// LocationNode.ANY_LOCATION));
                         Kind readKind = asKind(callTargetNode.returnType());
                         replace(invoke, readOp(graph, arguments.get(0), arguments.get(1), invoke, readKind, LocationNode.ANY_LOCATION));
-
                         break;
 
                     case READ_FINAL:
                         assert arguments.size() == 2;
-                        // replace(invoke, readOp(graph, arguments.get(0), arguments.get(1), invoke,
-// LocationNode.FINAL_LOCATION));
-                        Kind readKind1 = asKind(callTargetNode.returnType());
-                        replace(invoke, readOp(graph, arguments.get(0), arguments.get(1), invoke, readKind1, LocationNode.ANY_LOCATION));
-
+                        Kind readFinalKind = asKind(callTargetNode.returnType());
+                        replace(invoke, readOp(graph, arguments.get(0), arguments.get(1), invoke, readFinalKind, LocationNode.ANY_LOCATION));
                         break;
 
                     case WRITE:
                         assert arguments.size() == 3;
-                        // replace(invoke, writeOp(graph, arguments.get(0), arguments.get(1),
-// arguments.get(2), invoke, LocationNode.ANY_LOCATION));
                         Kind writeKind = asKind(targetMethod.getSignature().getParameterType(1, null));
                         replace(invoke, writeOp(graph, arguments.get(0), arguments.get(1), arguments.get(2), invoke, writeKind, LocationNode.ANY_LOCATION));
                         break;
@@ -275,15 +267,6 @@
         return op;
     }
 
-    // private static ValueNode readOp(StructuredGraph graph, ValueNode base, ValueNode offset,
-// Invoke invoke, Object locationIdentity) {
-    // IndexedLocationNode location = IndexedLocationNode.create(locationIdentity,
-// invoke.methodCallTarget().returnKind(), 0, offset, graph, false);
-    // Kind resultKind = invoke.node().kind() == Kind.Int ? invoke.methodCallTarget().returnKind() :
-// invoke.node().kind();
-
-    // IndexedLocationNode location = IndexedLocationNode.create(locationIdentity, resultKind, 0,
-// offset, graph, false);
     private static ValueNode readOp(StructuredGraph graph, ValueNode base, ValueNode offset, Invoke invoke, Kind readKind, Object locationIdentity) {
         IndexedLocationNode location = IndexedLocationNode.create(locationIdentity, readKind, 0, offset, graph, false);
         ReadNode read = graph.add(new ReadNode(base, location, invoke.node().stamp()));
@@ -294,10 +277,6 @@
         return read;
     }
 
-    // private static ValueNode writeOp(StructuredGraph graph, ValueNode base, ValueNode offset,
-// ValueNode value, Invoke invoke, Object locationIdentity) {
-    // IndexedLocationNode location = IndexedLocationNode.create(locationIdentity, value.kind(), 0,
-// offset, graph, false);
     private static ValueNode writeOp(StructuredGraph graph, ValueNode base, ValueNode offset, ValueNode value, Invoke invoke, Kind writeKind, Object locationIdentity) {
         IndexedLocationNode location = IndexedLocationNode.create(locationIdentity, writeKind, 0, offset, graph, false);
         WriteNode write = graph.add(new WriteNode(base, value, location));
--- a/src/cpu/x86/vm/c1_Runtime1_x86.cpp	Wed Mar 20 20:27:30 2013 +0100
+++ b/src/cpu/x86/vm/c1_Runtime1_x86.cpp	Wed Mar 20 21:39:24 2013 +0100
@@ -1745,7 +1745,6 @@
         __ leal(card_addr, __ as_Address(ArrayAddress(cardtable, index)));
 #endif
 
-        tty->print_cr("Intepreter WB");
         __ cmpb(Address(card_addr, 0), 0);
         __ jcc(Assembler::equal, done);
 
--- a/src/share/vm/code/nmethod.cpp	Wed Mar 20 20:27:30 2013 +0100
+++ b/src/share/vm/code/nmethod.cpp	Wed Mar 20 21:39:24 2013 +0100
@@ -2477,7 +2477,6 @@
   }
 
   PcDesc* pd = pc_desc_at(ic->end_of_call());
- // if(pd!=NULL) {
   assert(pd != NULL, "PcDesc must exist");
   for (ScopeDesc* sd = new ScopeDesc(this, pd->scope_decode_offset(),
                                      pd->obj_decode_offset(), pd->should_reexecute(), pd->rethrow_exception(),
@@ -2485,7 +2484,6 @@
        !sd->is_top(); sd = sd->sender()) {
     sd->verify();
   }
-  //}
 }
 
 void nmethod::verify_scopes() {
--- a/src/share/vm/gc_implementation/g1/g1AllocRegion.hpp	Wed Mar 20 20:27:30 2013 +0100
+++ b/src/share/vm/gc_implementation/g1/g1AllocRegion.hpp	Wed Mar 20 21:39:24 2013 +0100
@@ -173,15 +173,6 @@
   // Should be called when we want to release the active region which
   // is returned after it's been retired.
   HeapRegion* release();
-#ifdef GRAAL
-  HeapWord** top_addr()  const {
-    return _alloc_region->top_addr();
-  }
-
-  HeapWord** end_addr()  const {
-    return _alloc_region->end_addr();
-  }
-#endif
 
 #if G1_ALLOC_REGION_TRACING
   void trace(const char* str, size_t word_size = 0, HeapWord* result = NULL);
--- a/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp	Wed Mar 20 20:27:30 2013 +0100
+++ b/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp	Wed Mar 20 21:39:24 2013 +0100
@@ -854,9 +854,7 @@
   assert(!isHumongous(word_size), "we do not allow humongous TLABs");
 
   unsigned int dummy_gc_count_before;
-  HeapWord* word=attempt_allocation(word_size, &dummy_gc_count_before);
-  tty->print_cr("Allocate new TLAB at 0x%16lx",(oop) word);
-  return word;
+  return attempt_allocation(word_size, &dummy_gc_count_before);
 }
 
 HeapWord*
@@ -2400,17 +2398,6 @@
 }
 #endif // !PRODUCT
 
-#ifdef GRAAL
-  HeapWord** G1CollectedHeap::top_addr() const {
-    return _mutator_alloc_region.top_addr();
-  }
-
-  HeapWord** G1CollectedHeap::end_addr()  const {
-    return  _mutator_alloc_region.end_addr();
-  }
-
-#endif
-
 void G1CollectedHeap::increment_old_marking_cycles_started() {
   assert(_old_marking_cycles_started == _old_marking_cycles_completed ||
     _old_marking_cycles_started == _old_marking_cycles_completed + 1,
@@ -6439,7 +6426,6 @@
   assert_heap_locked_or_at_safepoint(true /* should_be_vm_thread */);
 
   // First, check the explicit lists.
-
   _free_list.verify();
   {
     // Given that a concurrent operation might be adding regions to
--- a/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp	Wed Mar 20 20:27:30 2013 +0100
+++ b/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp	Wed Mar 20 21:39:24 2013 +0100
@@ -675,15 +675,6 @@
   virtual void gc_prologue(bool full);
   virtual void gc_epilogue(bool full);
 
-
-#ifdef GRAAL
-  HeapWord** top_addr() const;
-
-  HeapWord** end_addr() const;
-
-#endif
-
-
   // We register a region with the fast "in collection set" test. We
   // simply set to true the array slot corresponding to this region.
   void register_region_with_in_cset_fast_test(HeapRegion* r) {
--- a/src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp	Wed Mar 20 20:27:30 2013 +0100
+++ b/src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp	Wed Mar 20 21:39:24 2013 +0100
@@ -70,7 +70,6 @@
   if (result == NULL) {
     result = attempt_allocation_slow(word_size, gc_count_before_ret);
   }
-
   assert_heap_not_locked();
   if (result != NULL) {
     dirty_young_block(result, word_size);
@@ -90,8 +89,6 @@
     result = _survivor_gc_alloc_region.attempt_allocation_locked(word_size,
                                                       false /* bot_updates */);
   }
-
-
   if (result != NULL) {
     dirty_young_block(result, word_size);
   }
--- a/src/share/vm/gc_implementation/g1/heapRegionSet.cpp	Wed Mar 20 20:27:30 2013 +0100
+++ b/src/share/vm/gc_implementation/g1/heapRegionSet.cpp	Wed Mar 20 21:39:24 2013 +0100
@@ -112,10 +112,6 @@
             ( regions_humongous() && region_num() >= length()),
             hrs_ext_msg(this, "invariant"));
 
-  printf("region name %s\n", this->name());
-  printf("regions empty? %d\n", regions_empty());
-  printf("total used bytes %lu\n", total_used_bytes());
-
   guarantee(!regions_empty() || total_used_bytes() == 0,
             hrs_ext_msg(this, "invariant"));
 
@@ -130,7 +126,7 @@
          hrs_ext_msg(this, "verification should not be in progress"));
 
   // Do the basic verification first before we do the checks over the regions.
-  //HeapRegionSetBase::verify();
+  HeapRegionSetBase::verify();
 
   _calc_length               = 0;
   _calc_region_num           = 0;
@@ -441,12 +437,6 @@
                           "prev1: "PTR_FORMAT" length: %u",
                           name(), count, curr, prev0, prev1, length()));
 
-    //printf("[%s] the calculated length: %u "
-    //                          "just print "
-    //                          "curr: "PTR_FORMAT" prev0: "PTR_FORMAT" "
-    //                          "prev1: "PTR_FORMAT" length: %u used: %lu\n",
-    //                          name(), count, (unsigned long)curr, (unsigned long)prev0, (unsigned long)prev1, length(), curr->used());
-    curr->print();
     prev1 = prev0;
     prev0 = curr;
     curr  = curr->next();
--- a/src/share/vm/gc_implementation/g1/heapRegionSet.inline.hpp	Wed Mar 20 20:27:30 2013 +0100
+++ b/src/share/vm/gc_implementation/g1/heapRegionSet.inline.hpp	Wed Mar 20 21:39:24 2013 +0100
@@ -62,12 +62,7 @@
          hrs_err_msg("[%s] region's used bytes: "SIZE_FORMAT" "
                      "should be <= used bytes: "SIZE_FORMAT,
                      name(), used_bytes, _total_used_bytes));
-
-  //printf("[%s] region's used bytes: "SIZE_FORMAT" "
-  //                     "should be <= used bytes: "SIZE_FORMAT"\n",
-  //                     name(), used_bytes, _total_used_bytes);
   _total_used_bytes -= used_bytes;
-  //printf("TOTAL USED BYTES 4 %lu\n", _total_used_bytes);
 }
 
 inline void HeapRegionSetBase::remove_internal(HeapRegion* hr) {
--- a/src/share/vm/gc_interface/collectedHeap.hpp	Wed Mar 20 20:27:30 2013 +0100
+++ b/src/share/vm/gc_interface/collectedHeap.hpp	Wed Mar 20 21:39:24 2013 +0100
@@ -483,7 +483,6 @@
 
   // Total number of GC collections (started)
   unsigned int total_collections() const { return _total_collections; }
-  unsigned int*   total_collections_address()  { return &_total_collections; }
   unsigned int total_full_collections() const { return _total_full_collections;}
 
   // Increment total number of GC collections (started)
--- a/src/share/vm/graal/graalCompilerToVM.cpp	Wed Mar 20 20:27:30 2013 +0100
+++ b/src/share/vm/graal/graalCompilerToVM.cpp	Wed Mar 20 21:39:24 2013 +0100
@@ -770,9 +770,6 @@
   set_int("g1CardQueueIndexOffset", in_bytes(JavaThread::dirty_card_queue_offset() + PtrQueue::byte_offset_of_index()));
   set_int("g1CardQueueBufferOffset", in_bytes(JavaThread::dirty_card_queue_offset() + PtrQueue::byte_offset_of_buf()));
   set_int("logOfHRGrainBytes", HeapRegion::LogOfHRGrainBytes);
-
-  set_long("gcCycleAddress", (jlong)(address) Universe::heap()->total_collections_address());
-
   set_int("g1SATBQueueMarkingOffset", in_bytes(JavaThread::satb_mark_queue_offset() + PtrQueue::byte_offset_of_active()));
   set_int("g1SATBQueueIndexOffset", in_bytes(JavaThread::satb_mark_queue_offset() +  PtrQueue::byte_offset_of_index()));
   set_int("g1SATBQueueBufferOffset", in_bytes(JavaThread::satb_mark_queue_offset() + PtrQueue::byte_offset_of_buf()));
--- a/src/share/vm/graal/graalRuntime.cpp	Wed Mar 20 20:27:30 2013 +0100
+++ b/src/share/vm/graal/graalRuntime.cpp	Wed Mar 20 21:39:24 2013 +0100
@@ -234,14 +234,9 @@
 #undef FUNCTION_CASE
 }
 
-static const bool TRACE=true;
-
-
 
 JRT_ENTRY(void, GraalRuntime::new_instance(JavaThread* thread, Klass* klass))
   assert(klass->is_klass(), "not a class");
-if(TRACE) tty->print_cr("PreObject Init tlab start 0x%16lx tlab end 0x%16lx", thread->tlab().start(), thread->tlab().end());
-
   instanceKlassHandle h(thread, klass);
   h->check_valid_for_instantiation(true, CHECK);
   // make sure klass is initialized
@@ -249,9 +244,6 @@
   // allocate instance and return via TLS
   oop obj = h->allocate_instance(CHECK);
   thread->set_vm_result(obj);
-  if(TRACE) tty->print_cr("Allocate new object at 0x%16lx size %d ", obj, obj->size());
-  if(TRACE) obj->klass()->print();
-  if(TRACE) tty->print_cr("PostObject Init tlab start 0x%16lx tlab end 0x%16lx", thread->tlab().start(), thread->tlab().end());
 JRT_END
 
 JRT_ENTRY(void, GraalRuntime::new_array(JavaThread* thread, Klass* array_klass, jint length))
@@ -259,8 +251,6 @@
   //       anymore after new_objArray() and no GC can happen before.
   //       (This may have to change if this code changes!)
   assert(array_klass->is_klass(), "not a class");
-if(TRACE) tty->print_cr("PreArray Init tlab start 0x%16lx tlab end 0x%16lx", thread->tlab().start(), thread->tlab().end());
-
   oop obj;
   if (array_klass->oop_is_typeArray()) {
     BasicType elt_type = TypeArrayKlass::cast(array_klass)->element_type();
@@ -270,16 +260,11 @@
     obj = oopFactory::new_objArray(elem_klass, length, CHECK);
   }
   thread->set_vm_result(obj);
-  if(TRACE) tty->print_cr("Allocate new array at 0x%16lx size %d", obj, obj->size());
-  if(TRACE) obj->klass()->print();
-  if(TRACE) tty->print_cr("PostArray Init tlab start 0x%16lx tlab end 0x%16lx", thread->tlab().start(), thread->tlab().end());
-
   // This is pretty rare but this runtime patch is stressful to deoptimization
   // if we deoptimize here so force a deopt to stress the path.
   if (DeoptimizeALot) {
     deopt_caller();
   }
-
  JRT_END
 
 
@@ -287,14 +272,8 @@
 JRT_ENTRY(void, GraalRuntime::new_multi_array(JavaThread* thread, Klass* klass, int rank, jint* dims))
   assert(klass->is_klass(), "not a class");
   assert(rank >= 1, "rank must be nonzero");
-  if(TRACE) tty->print_cr("PreMultiArray Init tlab start 0x%16lx tlab end 0x%16lx", thread->tlab().start(), thread->tlab().end());
-
   oop obj = ArrayKlass::cast(klass)->multi_allocate(rank, dims, CHECK);
   thread->set_vm_result(obj);
-  if(TRACE) tty->print_cr("Allocate new multiarray at 0x%16lx size %d ", obj, obj->size());
-  if(TRACE) obj->klass()->print();
-  if(TRACE) tty->print_cr("PostMultiArray Init tlab start 0x%16lx tlab end 0x%16lx", thread->tlab().start(), thread->tlab().end());
-
 JRT_END
 
 JRT_ENTRY(void, GraalRuntime::unimplemented_entry(JavaThread* thread, StubID id))
@@ -546,7 +525,6 @@
 JRT_END
 
 JRT_ENTRY(void, GraalRuntime::graal_log_object(JavaThread* thread, oop obj, jint flags))
-if(obj==NULL) return;
   bool string =  mask_bits_are_true(flags, LOG_OBJECT_STRING);
   bool address = mask_bits_are_true(flags, LOG_OBJECT_ADDRESS);
   bool newline = mask_bits_are_true(flags, LOG_OBJECT_NEWLINE);
@@ -586,8 +564,6 @@
   ResourceMark rm;
   assert(format != NULL && java_lang_String::is_instance(format), "must be");
   char *buf = java_lang_String::as_utf8_string(format);
-  //tty->print( "      G1 PRE from field 0x%016lx to obj 0x%16lx, marking %d\n", v1, v2, v3);
-
   tty->print(buf, v1, v2, v3);
 JRT_END
 
--- a/src/share/vm/graal/graalRuntime.hpp	Wed Mar 20 20:27:30 2013 +0100
+++ b/src/share/vm/graal/graalRuntime.hpp	Wed Mar 20 21:39:24 2013 +0100
@@ -145,7 +145,7 @@
   static void graal_verify_oop(JavaThread* thread, oopDesc* obj);
   static void graal_wb_pre_call(JavaThread* thread, oopDesc* obj);
   static void graal_wb_post_call(JavaThread* thread, oopDesc* obj,void* obj);
-   static void graal_create_null_exception(JavaThread* thread);
+  static void graal_create_null_exception(JavaThread* thread);
   static void graal_create_out_of_bounds_exception(JavaThread* thread, jint index);
   static void graal_monitorenter(JavaThread* thread, oopDesc* obj, BasicLock* lock);
   static void graal_monitorexit (JavaThread* thread, oopDesc* obj, BasicLock* lock);
--- a/src/share/vm/memory/cardTableModRefBS.hpp	Wed Mar 20 20:27:30 2013 +0100
+++ b/src/share/vm/memory/cardTableModRefBS.hpp	Wed Mar 20 21:39:24 2013 +0100
@@ -267,15 +267,6 @@
     card_size_in_words          = card_size / sizeof(HeapWord)
   };
 
-   bool is_valid_card_address(void* p, jbyte* addr) {
-     size_t ind=index_for(p);
-     tty->print_cr("C cardValue? %d cardAddress 0x%08x offset %d", _byte_map[ind], addr, ind);
-    //for(size_t i=0;i<30000;i++) {
-    //  tty->print_cr("C cardIndex %d val %d",i, _byte_map[i]);
-
-    //}
-     return (addr >= _byte_map) && (addr < _byte_map + _byte_map_size);
-   }
   static int clean_card_val()      { return clean_card; }
   static int clean_card_mask_val() { return clean_card_mask; }
   static int dirty_card_val()      { return dirty_card; }
--- a/src/share/vm/memory/threadLocalAllocBuffer.cpp	Wed Mar 20 20:27:30 2013 +0100
+++ b/src/share/vm/memory/threadLocalAllocBuffer.cpp	Wed Mar 20 21:39:24 2013 +0100
@@ -144,12 +144,12 @@
 
     size_t aligned_new_size = align_object_size(new_size);
 
-    //if (PrintTLAB && Verbose) {
+    if (PrintTLAB && Verbose) {
       gclog_or_tty->print("TLAB new size: thread: " INTPTR_FORMAT " [id: %2d]"
                           " refills %d  alloc: %8.6f desired_size: " SIZE_FORMAT " -> " SIZE_FORMAT "\n",
                           myThread(), myThread()->osthread()->thread_id(),
                           _target_refills, _allocation_fraction.average(), desired_size(), aligned_new_size);
-    //}
+    }
     set_desired_size(aligned_new_size);
 
     set_refill_waste_limit(initial_refill_waste_limit());
@@ -168,9 +168,9 @@
                                   HeapWord* top,
                                   size_t    new_size) {
   _number_of_refills++;
-  //if (PrintTLAB && Verbose) {
+  if (PrintTLAB && Verbose) {
     print_stats("fill");
-  //}
+  }
   assert(top <= start + new_size - alignment_reserve(), "size too small");
   initialize(start, top, start + new_size - alignment_reserve());
 
@@ -274,12 +274,12 @@
                       100.0 * waste / alloc;
   size_t tlab_used  = Universe::heap()->tlab_capacity(thrd) -
                       Universe::heap()->unsafe_max_tlab_alloc(thrd);
-  gclog_or_tty->print("TLAB: %s thread: " INTPTR_FORMAT " [id: %2d] start addr 0x%16lx"
+  gclog_or_tty->print("TLAB: %s thread: " INTPTR_FORMAT " [id: %2d]"
                       " desired_size: " SIZE_FORMAT "KB"
                       " slow allocs: %d  refill waste: " SIZE_FORMAT "B"
                       " alloc:%8.5f %8.0fKB refills: %d waste %4.1f%% gc: %dB"
                       " slow: %dB fast: %dB\n",
-                      tag, thrd, thrd->tlab().start(), thrd->osthread()->thread_id(),
+                      tag, thrd, thrd->osthread()->thread_id(),
                       _desired_size / (K / HeapWordSize),
                       _slow_allocations, _refill_waste_limit * HeapWordSize,
                       _allocation_fraction.average(),
--- a/src/share/vm/opto/graphKit.cpp	Wed Mar 20 20:27:30 2013 +0100
+++ b/src/share/vm/opto/graphKit.cpp	Wed Mar 20 21:39:24 2013 +0100
@@ -3761,14 +3761,12 @@
         Node* card_val = __ load(__ ctrl(), card_adr, TypeInt::INT, T_BYTE, Compile::AliasIdxRaw);
 
         __ if_then(card_val, BoolTest::ne, zero); {
-          tty->print_cr("Object hotspot mark card");
           g1_mark_card(ideal, card_adr, oop_store, alias_idx, index, index_adr, buffer, tf);
         } __ end_if();
       } __ end_if();
     } __ end_if();
   } else {
     // Object.clone() instrinsic uses this path.
-    tty->print_cr("Object clone mark card");
     g1_mark_card(ideal, card_adr, oop_store, alias_idx, index, index_adr, buffer, tf);
   }
 
--- a/src/share/vm/prims/jni.cpp	Wed Mar 20 20:27:30 2013 +0100
+++ b/src/share/vm/prims/jni.cpp	Wed Mar 20 21:39:24 2013 +0100
@@ -2670,7 +2670,6 @@
 
     if (needs_barrier) {
       oop referent = JNIHandles::resolve(ret);
-      tty->print_cr("ENQUEUE in jni");
       G1SATBCardTableModRefBS::enqueue(referent);
     }
   }
--- a/src/share/vm/prims/unsafe.cpp	Wed Mar 20 20:27:30 2013 +0100
+++ b/src/share/vm/prims/unsafe.cpp	Wed Mar 20 21:39:24 2013 +0100
@@ -208,8 +208,6 @@
     }
 
     if (needs_barrier) {
-      tty->print_cr("GENERATE PRE BARRIER UNSAFE");
-
       oop referent = JNIHandles::resolve(ret);
       G1SATBCardTableModRefBS::enqueue(referent);
     }
@@ -268,8 +266,6 @@
     }
 
     if (needs_barrier) {
-      tty->print_cr("GENERATE PRE BARRIER UNSAFE");
-
       oop referent = JNIHandles::resolve(ret);
       G1SATBCardTableModRefBS::enqueue(referent);
     }
--- a/src/share/vm/runtime/arguments.cpp	Wed Mar 20 20:27:30 2013 +0100
+++ b/src/share/vm/runtime/arguments.cpp	Wed Mar 20 21:39:24 2013 +0100
@@ -2064,14 +2064,6 @@
     // This prevents the flag being set to true by set_ergonomics_flags()
     FLAG_SET_CMDLINE(bool, UseCompressedKlassPointers, false);
   }
-  //if (UseG1GC) {
-  //  jio_fprintf(defaultStream::error_stream(),
-  //                      "G1 is not supported in Graal at the moment\n");
-  //      status = false;
-  //} else {
-    // This prevents the flag being set to true by set_ergonomics_flags()
-  //  FLAG_SET_CMDLINE(bool, UseG1GC, false);
- // }
 
   if (!ScavengeRootsInCode) {
       warning("forcing ScavengeRootsInCode non-zero because Graal is enabled");
--- a/src/share/vm/utilities/debug.hpp	Wed Mar 20 20:27:30 2013 +0100
+++ b/src/share/vm/utilities/debug.hpp	Wed Mar 20 21:39:24 2013 +0100
@@ -160,7 +160,6 @@
 } while (0)
 #endif // #ifndef USE_REPEATED_ASSERTS
 
-
 // This version of assert is for use with checking return status from
 // library calls that return actual error values eg. EINVAL,
 // ENOMEM etc, rather than returning -1 and setting errno.