# HG changeset patch # User Doug Simon # Date 1407947145 -7200 # Node ID 5d468add216f3303c40fafe1e701a515b2f22ed3 # Parent 216ac26009a2559d2d27ffcc3cf8480af949861e added @NodeInfo annotations to all Node classes diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Graph.java --- a/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Graph.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Graph.java Wed Aug 13 18:25:45 2014 +0200 @@ -646,8 +646,12 @@ }; } - private static final Node PLACE_HOLDER = new Node() { - }; + @NodeInfo + static class PlaceHolderNode extends Node { + + } + + private static final Node PLACE_HOLDER = new PlaceHolderNode(); /** * When the percent of live nodes in {@link #nodes} fall below this number, a call to diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Node.java --- a/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Node.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Node.java Wed Aug 13 18:25:45 2014 +0200 @@ -52,6 +52,7 @@ * exception or return true. They can thus be used within an assert statement, so that the check is * only performed if assertions are enabled. */ +@NodeInfo public abstract class Node implements Cloneable, Formattable { static final int DELETED_ID_START = -1000000000; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotNodeLIRBuilder.java --- a/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotNodeLIRBuilder.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotNodeLIRBuilder.java Wed Aug 13 18:25:45 2014 +0200 @@ -55,6 +55,7 @@ /** * LIR generator specialized for AMD64 HotSpot. */ +@NodeInfo public class AMD64HotSpotNodeLIRBuilder extends AMD64NodeLIRBuilder implements HotSpotNodeLIRBuilder { private static ValueNode filterCompression(ValueNode node) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64RawNativeCallNode.java --- a/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64RawNativeCallNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64RawNativeCallNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -31,6 +31,7 @@ import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.spi.*; +@NodeInfo public class AMD64RawNativeCallNode extends FixedWithNextNode implements LIRLowerable { private final Constant functionPointer; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/HSAILHotSpotNodeLIRBuilder.java --- a/graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/HSAILHotSpotNodeLIRBuilder.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/HSAILHotSpotNodeLIRBuilder.java Wed Aug 13 18:25:45 2014 +0200 @@ -29,6 +29,7 @@ import com.oracle.graal.compiler.common.*; import com.oracle.graal.compiler.hsail.*; import com.oracle.graal.debug.*; +import com.oracle.graal.graph.*; import com.oracle.graal.hotspot.*; import com.oracle.graal.hotspot.HotSpotVMConfig.CompressEncoding; import com.oracle.graal.hotspot.meta.*; @@ -42,6 +43,7 @@ /** * The HotSpot specific portion of the HSAIL LIR generator. */ +@NodeInfo public class HSAILHotSpotNodeLIRBuilder extends HSAILNodeLIRBuilder implements HotSpotNodeLIRBuilder { public HSAILHotSpotNodeLIRBuilder(StructuredGraph graph, LIRGeneratorTool lirGen) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/replacements/HSAILDirectLoadAcquireNode.java --- a/graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/replacements/HSAILDirectLoadAcquireNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/replacements/HSAILDirectLoadAcquireNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -23,12 +23,14 @@ package com.oracle.graal.hotspot.hsail.replacements; import com.oracle.graal.api.meta.*; +import com.oracle.graal.graph.*; +import com.oracle.graal.hotspot.hsail.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.spi.*; import com.oracle.graal.replacements.nodes.*; -import com.oracle.graal.hotspot.hsail.*; import com.oracle.graal.word.*; +@NodeInfo public class HSAILDirectLoadAcquireNode extends DirectReadNode { public HSAILDirectLoadAcquireNode(ValueNode address, Kind readKind) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/replacements/HSAILDirectStoreReleaseNode.java --- a/graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/replacements/HSAILDirectStoreReleaseNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/replacements/HSAILDirectStoreReleaseNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -23,12 +23,14 @@ package com.oracle.graal.hotspot.hsail.replacements; import com.oracle.graal.api.meta.*; +import com.oracle.graal.graph.*; +import com.oracle.graal.hotspot.hsail.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.spi.*; import com.oracle.graal.replacements.nodes.*; -import com.oracle.graal.hotspot.hsail.*; import com.oracle.graal.word.*; +@NodeInfo public class HSAILDirectStoreReleaseNode extends DirectStoreNode { public HSAILDirectStoreReleaseNode(ValueNode address, ValueNode value, Kind kind) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/replacements/HSAILWorkItemAbsIdNode.java --- a/graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/replacements/HSAILWorkItemAbsIdNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/replacements/HSAILWorkItemAbsIdNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -24,10 +24,12 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; +import com.oracle.graal.hotspot.hsail.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.spi.*; -import com.oracle.graal.hotspot.hsail.*; +@NodeInfo public class HSAILWorkItemAbsIdNode extends FixedWithNextNode implements LIRLowerable { public HSAILWorkItemAbsIdNode() { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot.ptx/src/com/oracle/graal/hotspot/ptx/PTXHotSpotNodeLIRBuilder.java --- a/graal/com.oracle.graal.hotspot.ptx/src/com/oracle/graal/hotspot/ptx/PTXHotSpotNodeLIRBuilder.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot.ptx/src/com/oracle/graal/hotspot/ptx/PTXHotSpotNodeLIRBuilder.java Wed Aug 13 18:25:45 2014 +0200 @@ -25,6 +25,7 @@ import com.oracle.graal.compiler.common.*; import com.oracle.graal.compiler.ptx.*; +import com.oracle.graal.graph.*; import com.oracle.graal.hotspot.*; import com.oracle.graal.hotspot.nodes.*; import com.oracle.graal.lir.gen.*; @@ -33,6 +34,7 @@ /** * LIR generator specialized for PTX HotSpot. */ +@NodeInfo public class PTXHotSpotNodeLIRBuilder extends PTXNodeLIRBuilder implements HotSpotNodeLIRBuilder { protected PTXHotSpotNodeLIRBuilder(StructuredGraph graph, LIRGeneratorTool lirGen) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotNodeLIRBuilder.java --- a/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotNodeLIRBuilder.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotNodeLIRBuilder.java Wed Aug 13 18:25:45 2014 +0200 @@ -42,6 +42,7 @@ import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.CallTargetNode.InvokeKind; +@NodeInfo public class SPARCHotSpotNodeLIRBuilder extends SPARCNodeLIRBuilder implements HotSpotNodeLIRBuilder { public SPARCHotSpotNodeLIRBuilder(StructuredGraph graph, LIRGeneratorTool lirGen) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/AllocaNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/AllocaNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/AllocaNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -27,6 +27,7 @@ import com.oracle.graal.api.code.*; import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.hotspot.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.spi.*; @@ -35,7 +36,8 @@ * Reserves a block of memory in the stack frame of a method. The block is reserved in the frame for * the entire execution of the associated method. */ -public final class AllocaNode extends FixedWithNextNode implements LIRLowerable { +@NodeInfo +public class AllocaNode extends FixedWithNextNode implements LIRLowerable { /** * The number of slots in block. diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ArrayRangeWriteBarrier.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ArrayRangeWriteBarrier.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ArrayRangeWriteBarrier.java Wed Aug 13 18:25:45 2014 +0200 @@ -22,8 +22,10 @@ */ package com.oracle.graal.hotspot.nodes; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.*; +@NodeInfo public abstract class ArrayRangeWriteBarrier extends WriteBarrier { @Input private ValueNode startIndex; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/BeginLockScopeNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/BeginLockScopeNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/BeginLockScopeNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -38,7 +38,7 @@ * check on the object. */ @NodeInfo(allowedUsageTypes = {InputType.Memory}) -public final class BeginLockScopeNode extends AbstractMemoryCheckpoint implements LIRLowerable, MonitorEnter, MemoryCheckpoint.Single { +public class BeginLockScopeNode extends AbstractMemoryCheckpoint implements LIRLowerable, MonitorEnter, MemoryCheckpoint.Single { private int lockDepth; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CStringNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CStringNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CStringNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -23,6 +23,7 @@ package com.oracle.graal.hotspot.nodes; import com.oracle.graal.api.meta.*; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.calc.*; import com.oracle.graal.nodes.spi.*; import com.oracle.graal.word.*; @@ -30,7 +31,8 @@ /** * Converts a compile-time constant Java string into a C string installed with the generated code. */ -public final class CStringNode extends FloatingNode implements LIRLowerable { +@NodeInfo +public class CStringNode extends FloatingNode implements LIRLowerable { private final String string; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassCastNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassCastNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassCastNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -22,6 +22,7 @@ */ package com.oracle.graal.hotspot.nodes; +import com.oracle.graal.graph.*; import com.oracle.graal.graph.spi.*; import com.oracle.graal.hotspot.meta.*; import com.oracle.graal.hotspot.replacements.*; @@ -34,6 +35,7 @@ * * @see ClassSubstitutions#cast(Class, Object) */ +@NodeInfo public class ClassCastNode extends MacroStateSplitNode implements Canonicalizable.Binary { public ClassCastNode(Invoke invoke) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassGetClassLoader0Node.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassGetClassLoader0Node.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassGetClassLoader0Node.java Wed Aug 13 18:25:45 2014 +0200 @@ -35,6 +35,7 @@ * @see ClassSubstitutions#getClassLoader0(Class) */ @SuppressWarnings("javadoc") +@NodeInfo public class ClassGetClassLoader0Node extends MacroStateSplitNode implements Canonicalizable { public ClassGetClassLoader0Node(Invoke invoke) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassGetComponentTypeNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassGetComponentTypeNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassGetComponentTypeNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -34,6 +34,7 @@ * * @see ClassSubstitutions#getComponentType(Class) */ +@NodeInfo public class ClassGetComponentTypeNode extends MacroNode implements Canonicalizable { public ClassGetComponentTypeNode(Invoke invoke) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassGetModifiersNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassGetModifiersNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassGetModifiersNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -34,6 +34,7 @@ * * @see ClassSubstitutions#getModifiers(Class) */ +@NodeInfo public class ClassGetModifiersNode extends MacroNode implements Canonicalizable { public ClassGetModifiersNode(Invoke invoke) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassGetSuperclassNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassGetSuperclassNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassGetSuperclassNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -34,6 +34,7 @@ * * @see ClassSubstitutions#getSuperclass(Class) */ +@NodeInfo public class ClassGetSuperclassNode extends MacroNode implements Canonicalizable { public ClassGetSuperclassNode(Invoke invoke) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassIsArrayNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassIsArrayNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassIsArrayNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -34,6 +34,7 @@ * * @see ClassSubstitutions#isArray(Class) */ +@NodeInfo public class ClassIsArrayNode extends MacroNode implements Canonicalizable { public ClassIsArrayNode(Invoke invoke) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassIsInstanceNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassIsInstanceNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassIsInstanceNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -36,6 +36,7 @@ * * @see ClassSubstitutions#isInstance(Class, Object) */ +@NodeInfo public class ClassIsInstanceNode extends MacroNode implements Canonicalizable { public ClassIsInstanceNode(Invoke invoke) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassIsInterfaceNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassIsInterfaceNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassIsInterfaceNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -34,6 +34,7 @@ * * @see ClassSubstitutions#isInterface(Class) */ +@NodeInfo public class ClassIsInterfaceNode extends MacroNode implements Canonicalizable { public ClassIsInterfaceNode(Invoke invoke) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassIsPrimitiveNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassIsPrimitiveNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassIsPrimitiveNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -34,6 +34,7 @@ * * @see ClassSubstitutions#isPrimitive(Class) */ +@NodeInfo public class ClassIsPrimitiveNode extends MacroNode implements Canonicalizable { public ClassIsPrimitiveNode(Invoke invoke) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CompressionNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CompressionNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CompressionNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -40,7 +40,7 @@ * Compress or uncompress an oop or metaspace pointer. */ @NodeInfo(nameTemplate = "{p#op/s}") -public final class CompressionNode extends ConvertNode implements LIRLowerable { +public class CompressionNode extends ConvertNode implements LIRLowerable { private enum CompressionOp { Compress, diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CurrentJavaThreadNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CurrentJavaThreadNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CurrentJavaThreadNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -28,6 +28,7 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.hotspot.*; import com.oracle.graal.nodes.calc.*; import com.oracle.graal.nodes.spi.*; @@ -36,7 +37,8 @@ /** * Gets the address of the C++ JavaThread object for the current thread. */ -public final class CurrentJavaThreadNode extends FloatingNode implements LIRLowerable { +@NodeInfo +public class CurrentJavaThreadNode extends FloatingNode implements LIRLowerable { private LIRKind wordKind; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CurrentLockNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CurrentLockNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CurrentLockNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -24,6 +24,7 @@ import com.oracle.graal.api.code.*; import com.oracle.graal.api.meta.*; +import com.oracle.graal.graph.*; import com.oracle.graal.hotspot.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.spi.*; @@ -32,7 +33,8 @@ /** * Intrinsic for getting the lock in the current {@linkplain BeginLockScopeNode lock scope}. */ -public final class CurrentLockNode extends FixedWithNextNode implements LIRLowerable { +@NodeInfo +public class CurrentLockNode extends FixedWithNextNode implements LIRLowerable { private int lockDepth; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DeoptimizingStubCall.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DeoptimizingStubCall.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DeoptimizingStubCall.java Wed Aug 13 18:25:45 2014 +0200 @@ -23,8 +23,10 @@ package com.oracle.graal.hotspot.nodes; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.*; +@NodeInfo public class DeoptimizingStubCall extends DeoptimizingFixedWithNextNode { public DeoptimizingStubCall(Stamp stamp) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DimensionsNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DimensionsNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DimensionsNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -28,6 +28,7 @@ import com.oracle.graal.api.code.*; import com.oracle.graal.api.meta.*; +import com.oracle.graal.graph.*; import com.oracle.graal.lir.gen.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.spi.*; @@ -37,7 +38,8 @@ * Intrinsic for allocating an on-stack array of integers to hold the dimensions of a multianewarray * instruction. */ -public final class DimensionsNode extends FixedWithNextNode implements LIRLowerable { +@NodeInfo +public class DimensionsNode extends FixedWithNextNode implements LIRLowerable { private final int rank; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/EndLockScopeNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/EndLockScopeNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/EndLockScopeNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -34,7 +34,7 @@ * object. */ @NodeInfo(allowedUsageTypes = {InputType.Memory}) -public final class EndLockScopeNode extends AbstractMemoryCheckpoint implements LIRLowerable, MonitorExit, MemoryCheckpoint.Single { +public class EndLockScopeNode extends AbstractMemoryCheckpoint implements LIRLowerable, MonitorExit, MemoryCheckpoint.Single { public EndLockScopeNode() { super(StampFactory.forVoid()); diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/EnterUnpackFramesStackFrameNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/EnterUnpackFramesStackFrameNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/EnterUnpackFramesStackFrameNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -24,6 +24,7 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.hotspot.*; import com.oracle.graal.lir.StandardOp.*; import com.oracle.graal.nodes.*; @@ -34,6 +35,7 @@ * Emits code to enter a low-level stack frame specifically to call out to the C++ method * {@link HotSpotBackend#UNPACK_FRAMES Deoptimization::unpack_frames}. */ +@NodeInfo public class EnterUnpackFramesStackFrameNode extends FixedWithNextNode implements LIRLowerable { @Input private ValueNode framePc; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1ArrayRangePostWriteBarrier.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1ArrayRangePostWriteBarrier.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1ArrayRangePostWriteBarrier.java Wed Aug 13 18:25:45 2014 +0200 @@ -22,9 +22,11 @@ */ package com.oracle.graal.hotspot.nodes; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.*; -public final class G1ArrayRangePostWriteBarrier extends ArrayRangeWriteBarrier { +@NodeInfo +public class G1ArrayRangePostWriteBarrier extends ArrayRangeWriteBarrier { public G1ArrayRangePostWriteBarrier(ValueNode object, ValueNode startIndex, ValueNode length) { super(object, startIndex, length); diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1ArrayRangePreWriteBarrier.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1ArrayRangePreWriteBarrier.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1ArrayRangePreWriteBarrier.java Wed Aug 13 18:25:45 2014 +0200 @@ -22,9 +22,11 @@ */ package com.oracle.graal.hotspot.nodes; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.*; -public final class G1ArrayRangePreWriteBarrier extends ArrayRangeWriteBarrier { +@NodeInfo +public class G1ArrayRangePreWriteBarrier extends ArrayRangeWriteBarrier { public G1ArrayRangePreWriteBarrier(ValueNode object, ValueNode startIndex, ValueNode length) { super(object, startIndex, length); diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1PostWriteBarrier.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1PostWriteBarrier.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1PostWriteBarrier.java Wed Aug 13 18:25:45 2014 +0200 @@ -22,9 +22,11 @@ */ package com.oracle.graal.hotspot.nodes; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.extended.*; +@NodeInfo public class G1PostWriteBarrier extends WriteBarrier { private final boolean alwaysNull; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1PreWriteBarrier.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1PreWriteBarrier.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1PreWriteBarrier.java Wed Aug 13 18:25:45 2014 +0200 @@ -26,6 +26,7 @@ import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.extended.*; +@NodeInfo public class G1PreWriteBarrier extends WriteBarrier implements DeoptimizingNode.DeoptBefore { @OptionalInput(InputType.State) private FrameState stateBefore; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1ReferentFieldReadBarrier.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1ReferentFieldReadBarrier.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1ReferentFieldReadBarrier.java Wed Aug 13 18:25:45 2014 +0200 @@ -22,6 +22,7 @@ */ package com.oracle.graal.hotspot.nodes; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.extended.*; @@ -31,6 +32,7 @@ * {@code UnsafeLoadNode}). The return value of the read is passed to the snippet implementing the * read barrier and consequently is added to the SATB queue if the concurrent marker is enabled. */ +@NodeInfo public class G1ReferentFieldReadBarrier extends WriteBarrier { private final boolean doLoad; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/GetObjectAddressNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/GetObjectAddressNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/GetObjectAddressNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -24,6 +24,7 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.spi.*; @@ -32,6 +33,7 @@ * {@link #get(Object)} and all uses of the returned value must be atomic. The only exception to * this is if the usage is not an attempt to dereference the value. */ +@NodeInfo public class GetObjectAddressNode extends FixedWithNextNode implements LIRLowerable { @Input private ValueNode object; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/HotSpotDirectCallTargetNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/HotSpotDirectCallTargetNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/HotSpotDirectCallTargetNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -27,8 +27,10 @@ import com.oracle.graal.api.code.CallingConvention.Type; import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.*; +@NodeInfo public class HotSpotDirectCallTargetNode extends DirectCallTargetNode { public HotSpotDirectCallTargetNode(List arguments, Stamp returnStamp, JavaType[] signature, ResolvedJavaMethod target, Type callType, InvokeKind invokeKind) { super(arguments, returnStamp, signature, target, callType, invokeKind); diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/HotSpotIndirectCallTargetNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/HotSpotIndirectCallTargetNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/HotSpotIndirectCallTargetNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -27,8 +27,10 @@ import com.oracle.graal.api.code.CallingConvention.Type; import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.*; +@NodeInfo public class HotSpotIndirectCallTargetNode extends IndirectCallTargetNode { @Input private ValueNode metaspaceMethod; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/JumpToExceptionHandlerInCallerNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/JumpToExceptionHandlerInCallerNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/JumpToExceptionHandlerInCallerNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -23,6 +23,7 @@ package com.oracle.graal.hotspot.nodes; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.hotspot.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.spi.*; @@ -32,6 +33,7 @@ * Sets up the {@linkplain HotSpotBackend#EXCEPTION_HANDLER_IN_CALLER arguments} expected by an * exception handler in the caller's frame, removes the current frame and jumps to said handler. */ +@NodeInfo public class JumpToExceptionHandlerInCallerNode extends ControlSinkNode implements LIRLowerable { @Input private ValueNode handlerInCallerPc; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/LeaveCurrentStackFrameNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/LeaveCurrentStackFrameNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/LeaveCurrentStackFrameNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -23,6 +23,7 @@ package com.oracle.graal.hotspot.nodes; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.hotspot.*; import com.oracle.graal.lir.StandardOp.*; import com.oracle.graal.nodes.*; @@ -32,6 +33,7 @@ * Emits code to leave (pop) the current low-level stack frame. This operation also removes the * return address if its location is on the stack. */ +@NodeInfo public class LeaveCurrentStackFrameNode extends FixedWithNextNode implements LIRLowerable { @Input private SaveAllRegistersNode registerSaver; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/LeaveDeoptimizedStackFrameNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/LeaveDeoptimizedStackFrameNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/LeaveDeoptimizedStackFrameNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -24,6 +24,7 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.hotspot.*; import com.oracle.graal.hotspot.stubs.*; import com.oracle.graal.nodes.*; @@ -34,6 +35,7 @@ * Emits code to leave (pop) the current low-level stack frame which is being deoptimized. This node * is only used in {@link DeoptimizationStub}. */ +@NodeInfo public class LeaveDeoptimizedStackFrameNode extends FixedWithNextNode implements LIRLowerable { @Input private ValueNode frameSize; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/LeaveUnpackFramesStackFrameNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/LeaveUnpackFramesStackFrameNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/LeaveUnpackFramesStackFrameNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -23,6 +23,7 @@ package com.oracle.graal.hotspot.nodes; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.hotspot.*; import com.oracle.graal.lir.StandardOp.*; import com.oracle.graal.nodes.*; @@ -32,6 +33,7 @@ * Emits code to leave a low-level stack frame specifically to call out to the C++ method * {@link HotSpotBackend#UNPACK_FRAMES Deoptimization::unpack_frames}. */ +@NodeInfo public class LeaveUnpackFramesStackFrameNode extends FixedWithNextNode implements LIRLowerable { @Input private SaveAllRegistersNode registerSaver; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/MonitorCounterNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/MonitorCounterNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/MonitorCounterNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -26,6 +26,7 @@ import com.oracle.graal.api.code.*; import com.oracle.graal.api.meta.*; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.calc.*; import com.oracle.graal.nodes.spi.*; import com.oracle.graal.word.*; @@ -33,7 +34,8 @@ /** * Node that is used to maintain a stack based counter of how many locks are currently held. */ -public final class MonitorCounterNode extends FloatingNode implements LIRLowerable { +@NodeInfo +public class MonitorCounterNode extends FloatingNode implements LIRLowerable { private MonitorCounterNode() { super(null); diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewArrayStubCall.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewArrayStubCall.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewArrayStubCall.java Wed Aug 13 18:25:45 2014 +0200 @@ -26,6 +26,7 @@ import com.oracle.graal.api.code.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.hotspot.meta.*; import com.oracle.graal.hotspot.stubs.*; import com.oracle.graal.lir.*; @@ -36,6 +37,7 @@ /** * A call to the {@link NewArrayStub}. */ +@NodeInfo public class NewArrayStubCall extends DeoptimizingStubCall implements LIRLowerable { private static final Stamp defaultStamp = StampFactory.objectNonNull(); diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewInstanceStubCall.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewInstanceStubCall.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewInstanceStubCall.java Wed Aug 13 18:25:45 2014 +0200 @@ -27,6 +27,7 @@ import com.oracle.graal.api.code.*; import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.hotspot.meta.*; import com.oracle.graal.hotspot.stubs.*; import com.oracle.graal.nodes.*; @@ -36,6 +37,7 @@ /** * A call to the {@link NewInstanceStub}. */ +@NodeInfo public class NewInstanceStubCall extends DeoptimizingStubCall implements LIRLowerable { private static final Stamp defaultStamp = StampFactory.objectNonNull(); diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewMultiArrayStubCall.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewMultiArrayStubCall.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewMultiArrayStubCall.java Wed Aug 13 18:25:45 2014 +0200 @@ -27,6 +27,7 @@ import com.oracle.graal.api.code.*; import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.hotspot.meta.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.extended.*; @@ -36,6 +37,7 @@ /** * Node implementing a call to {@code GraalRuntime::new_multi_array}. */ +@NodeInfo public class NewMultiArrayStubCall extends ForeignCallNode { private static final Stamp defaultStamp = StampFactory.objectNonNull(); diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/PatchReturnAddressNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/PatchReturnAddressNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/PatchReturnAddressNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -23,6 +23,7 @@ package com.oracle.graal.hotspot.nodes; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.hotspot.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.spi.*; @@ -31,6 +32,7 @@ /** * Modifies the return address of the current frame. */ +@NodeInfo public class PatchReturnAddressNode extends FixedWithNextNode implements LIRLowerable { @Input private ValueNode address; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/PrefetchAllocateNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/PrefetchAllocateNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/PrefetchAllocateNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -24,11 +24,13 @@ package com.oracle.graal.hotspot.nodes; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.hotspot.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.spi.*; import com.oracle.graal.word.*; +@NodeInfo public class PrefetchAllocateNode extends FixedWithNextNode implements LIRLowerable { @Input private ValueNode distance; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/PushInterpreterFrameNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/PushInterpreterFrameNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/PushInterpreterFrameNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -24,6 +24,7 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.hotspot.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.spi.*; @@ -32,6 +33,7 @@ /** * A call to the runtime code implementing the uncommon trap logic. */ +@NodeInfo public class PushInterpreterFrameNode extends FixedWithNextNode implements LIRLowerable { @Input private ValueNode framePc; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SerialArrayRangeWriteBarrier.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SerialArrayRangeWriteBarrier.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SerialArrayRangeWriteBarrier.java Wed Aug 13 18:25:45 2014 +0200 @@ -22,9 +22,11 @@ */ package com.oracle.graal.hotspot.nodes; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.*; -public final class SerialArrayRangeWriteBarrier extends ArrayRangeWriteBarrier { +@NodeInfo +public class SerialArrayRangeWriteBarrier extends ArrayRangeWriteBarrier { public SerialArrayRangeWriteBarrier(ValueNode object, ValueNode startIndex, ValueNode length) { super(object, startIndex, length); diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SerialWriteBarrier.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SerialWriteBarrier.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SerialWriteBarrier.java Wed Aug 13 18:25:45 2014 +0200 @@ -22,9 +22,11 @@ */ package com.oracle.graal.hotspot.nodes; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.extended.*; +@NodeInfo public class SerialWriteBarrier extends WriteBarrier { private final boolean alwaysNull; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SnippetAnchorNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SnippetAnchorNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SnippetAnchorNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -29,7 +29,7 @@ import com.oracle.graal.nodes.extended.*; @NodeInfo(allowedUsageTypes = {InputType.Value, InputType.Anchor, InputType.Guard}) -public final class SnippetAnchorNode extends FixedWithNextNode implements Simplifiable, GuardingNode { +public class SnippetAnchorNode extends FixedWithNextNode implements Simplifiable, GuardingNode { public SnippetAnchorNode() { super(StampFactory.object()); diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SnippetLocationProxyNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SnippetLocationProxyNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SnippetLocationProxyNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -30,7 +30,7 @@ import com.oracle.graal.nodes.extended.*; @NodeInfo(allowedUsageTypes = {InputType.Association, InputType.Value}) -public final class SnippetLocationProxyNode extends FloatingNode implements Canonicalizable { +public class SnippetLocationProxyNode extends FloatingNode implements Canonicalizable { @Input(InputType.Unchecked) private ValueNode location; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/StubStartNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/StubStartNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/StubStartNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -22,12 +22,14 @@ */ package com.oracle.graal.hotspot.nodes; +import com.oracle.graal.graph.*; import com.oracle.graal.hotspot.stubs.*; import com.oracle.graal.nodes.*; /** * Start node for a {@link Stub}'s graph. */ +@NodeInfo public class StubStartNode extends StartNode { private final Stub stub; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/TailcallNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/TailcallNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/TailcallNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -40,6 +40,7 @@ * Performs a tail call to the specified target compiled method, with the parameter taken from the * supplied FrameState. */ +@NodeInfo public class TailcallNode extends FixedWithNextNode implements LIRLowerable { @Input(InputType.State) private FrameState frameState; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/VMErrorNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/VMErrorNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/VMErrorNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -28,6 +28,7 @@ import com.oracle.graal.api.code.*; import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.spi.*; import com.oracle.graal.replacements.*; @@ -36,7 +37,8 @@ * Causes the VM to exit with a description of the current Java location and an optional * {@linkplain Log#printf(String, long) formatted} error message specified. */ -public final class VMErrorNode extends DeoptimizingStubCall implements LIRLowerable { +@NodeInfo +public class VMErrorNode extends DeoptimizingStubCall implements LIRLowerable { private final String format; @Input private ValueNode value; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/WriteBarrier.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/WriteBarrier.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/WriteBarrier.java Wed Aug 13 18:25:45 2014 +0200 @@ -28,6 +28,7 @@ import com.oracle.graal.nodes.extended.*; import com.oracle.graal.nodes.spi.*; +@NodeInfo public abstract class WriteBarrier extends FixedWithNextNode implements Lowerable { @Input private ValueNode object; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ArrayCopyCallNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ArrayCopyCallNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ArrayCopyCallNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -41,7 +41,7 @@ import com.oracle.graal.runtime.*; @NodeInfo(allowedUsageTypes = {InputType.Memory}) -public final class ArrayCopyCallNode extends AbstractMemoryCheckpoint implements Lowerable, MemoryCheckpoint.Single { +public class ArrayCopyCallNode extends AbstractMemoryCheckpoint implements Lowerable, MemoryCheckpoint.Single { @Input private ValueNode src; @Input private ValueNode srcPos; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ArrayCopyNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ArrayCopyNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ArrayCopyNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -29,6 +29,7 @@ import com.oracle.graal.compiler.common.*; import com.oracle.graal.debug.*; import com.oracle.graal.debug.Debug.Scope; +import com.oracle.graal.graph.*; import com.oracle.graal.loop.phases.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.spi.*; @@ -38,6 +39,7 @@ import com.oracle.graal.phases.tiers.*; import com.oracle.graal.replacements.nodes.*; +@NodeInfo public class ArrayCopyNode extends MacroStateSplitNode implements Virtualizable, Lowerable { public ArrayCopyNode(Invoke invoke) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CallSiteTargetNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CallSiteTargetNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CallSiteTargetNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -33,6 +33,7 @@ import com.oracle.graal.nodes.spi.*; import com.oracle.graal.replacements.nodes.*; +@NodeInfo public class CallSiteTargetNode extends MacroStateSplitNode implements Canonicalizable, Lowerable { public CallSiteTargetNode(Invoke invoke) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CompositeValueClassSubstitutions.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CompositeValueClassSubstitutions.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CompositeValueClassSubstitutions.java Wed Aug 13 18:25:45 2014 +0200 @@ -26,6 +26,7 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.api.replacements.*; +import com.oracle.graal.graph.*; import com.oracle.graal.hotspot.meta.*; import com.oracle.graal.lir.*; import com.oracle.graal.nodes.*; @@ -43,6 +44,7 @@ * knowledge about node classes to replace itself with a constant value for a constant * {@link Class} parameter. */ + @NodeInfo public static class CompositeValueClassGetNode extends PureFunctionMacroNode { public CompositeValueClassGetNode(Invoke invoke) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/HotSpotNodeClassSubstitutions.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/HotSpotNodeClassSubstitutions.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/HotSpotNodeClassSubstitutions.java Wed Aug 13 18:25:45 2014 +0200 @@ -43,6 +43,7 @@ * about node classes to replace itself with a constant value for a constant {@link Class} * parameter. */ + @NodeInfo public static class NodeClassGetNode extends PureFunctionMacroNode { public NodeClassGetNode(Invoke invoke) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/MethodHandleNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/MethodHandleNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/MethodHandleNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -44,6 +44,7 @@ /** * Node for invocation methods defined on the class {@link MethodHandle}. */ +@NodeInfo public class MethodHandleNode extends MacroStateSplitNode implements Simplifiable { /** The method that this node is representing. */ diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ObjectCloneNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ObjectCloneNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ObjectCloneNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -32,6 +32,7 @@ import com.oracle.graal.compiler.common.type.*; import com.oracle.graal.debug.*; import com.oracle.graal.debug.Debug.Scope; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.java.*; import com.oracle.graal.nodes.spi.*; @@ -39,6 +40,7 @@ import com.oracle.graal.nodes.virtual.*; import com.oracle.graal.replacements.nodes.*; +@NodeInfo public class ObjectCloneNode extends MacroStateSplitNode implements VirtualizableAllocation, ArrayLengthProvider { public ObjectCloneNode(Invoke invoke) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ObjectGetClassNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ObjectGetClassNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ObjectGetClassNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -37,6 +37,7 @@ * This macro node will replace itself with the correct Java {@link Class} as soon as the object's * type is known (exact). */ +@NodeInfo public class ObjectGetClassNode extends MacroNode implements Virtualizable, Canonicalizable { public ObjectGetClassNode(Invoke invoke) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ReflectionGetCallerClassNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ReflectionGetCallerClassNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ReflectionGetCallerClassNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -33,6 +33,7 @@ import com.oracle.graal.nodes.spi.*; import com.oracle.graal.replacements.nodes.*; +@NodeInfo public class ReflectionGetCallerClassNode extends MacroStateSplitNode implements Canonicalizable, Lowerable { public ReflectionGetCallerClassNode(Invoke invoke) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/SystemIdentityHashCodeNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/SystemIdentityHashCodeNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/SystemIdentityHashCodeNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -25,10 +25,12 @@ import static com.oracle.graal.compiler.common.GraalOptions.*; import com.oracle.graal.api.meta.*; +import com.oracle.graal.graph.*; import com.oracle.graal.hotspot.meta.*; import com.oracle.graal.nodes.*; import com.oracle.graal.replacements.nodes.*; +@NodeInfo public class SystemIdentityHashCodeNode extends PureFunctionMacroNode { public SystemIdentityHashCodeNode(Invoke invoke) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/UnsafeArrayCopyNode.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/UnsafeArrayCopyNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/UnsafeArrayCopyNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -33,7 +33,7 @@ import com.oracle.graal.replacements.SnippetTemplate.Arguments; @NodeInfo(allowedUsageTypes = {InputType.Memory}) -public final class UnsafeArrayCopyNode extends ArrayRangeWriteNode implements Lowerable, MemoryCheckpoint.Single { +public class UnsafeArrayCopyNode extends ArrayRangeWriteNode implements Lowerable, MemoryCheckpoint.Single { @Input private ValueNode src; @Input private ValueNode srcPos; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.java/src/com/oracle/graal/java/ComputeLoopFrequenciesClosure.java --- a/graal/com.oracle.graal.java/src/com/oracle/graal/java/ComputeLoopFrequenciesClosure.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.java/src/com/oracle/graal/java/ComputeLoopFrequenciesClosure.java Wed Aug 13 18:25:45 2014 +0200 @@ -27,9 +27,11 @@ import java.util.*; import java.util.stream.*; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.*; import com.oracle.graal.phases.graph.*; +@NodeInfo public class ComputeLoopFrequenciesClosure extends ReentrantNodeIterator.NodeIteratorClosure { private static final ComputeLoopFrequenciesClosure INSTANCE = new ComputeLoopFrequenciesClosure(); diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java --- a/graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java Wed Aug 13 18:25:45 2014 +0200 @@ -99,6 +99,7 @@ * the jump. When the block is seen the second time, a {@link MergeNode} is created to * correctly merge the now two different predecessor states. */ + @NodeInfo protected static class BlockPlaceholderNode extends FixedWithNextNode { /* @@ -536,7 +537,7 @@ @Override protected ValueNode genAnd(Kind kind, ValueNode x, ValueNode y) { - return new AndNode(x, y); + return AndNode.create(x, y); } @Override diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractDeoptimizeNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractDeoptimizeNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractDeoptimizeNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -32,6 +32,7 @@ * After this node, execution will continue using a fallback execution engine (such as an * interpreter) at the position described by the {@link #stateBefore() deoptimization state}. */ +@NodeInfo public abstract class AbstractDeoptimizeNode extends ControlSinkNode implements IterableNodeType, DeoptimizingNode.DeoptBefore { @OptionalInput(InputType.State) private FrameState stateBefore; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractEndNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractEndNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractEndNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -28,6 +28,7 @@ import com.oracle.graal.graph.*; import com.oracle.graal.nodes.spi.*; +@NodeInfo public abstract class AbstractEndNode extends FixedNode implements IterableNodeType, LIRLowerable { protected AbstractEndNode() { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractFixedGuardNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractFixedGuardNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractFixedGuardNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -29,6 +29,7 @@ import com.oracle.graal.nodes.extended.*; import com.oracle.graal.nodes.util.*; +@NodeInfo public abstract class AbstractFixedGuardNode extends DeoptimizingFixedWithNextNode implements Simplifiable, GuardingNode { @Input(InputType.Condition) private LogicNode condition; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractLocalNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractLocalNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractLocalNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -23,8 +23,10 @@ package com.oracle.graal.nodes; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.calc.*; +@NodeInfo public abstract class AbstractLocalNode extends FloatingNode { private final int index; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractMemoryCheckpoint.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractMemoryCheckpoint.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractMemoryCheckpoint.java Wed Aug 13 18:25:45 2014 +0200 @@ -23,11 +23,13 @@ package com.oracle.graal.nodes; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.extended.*; /** * Provides an implementation of {@link StateSplit}. */ +@NodeInfo public abstract class AbstractMemoryCheckpoint extends AbstractStateSplit implements MemoryCheckpoint { protected AbstractMemoryCheckpoint(Stamp stamp) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractStateSplit.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractStateSplit.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractStateSplit.java Wed Aug 13 18:25:45 2014 +0200 @@ -28,6 +28,7 @@ /** * Provides an implementation of {@link StateSplit}. */ +@NodeInfo public abstract class AbstractStateSplit extends FixedWithNextNode implements StateSplit { @OptionalInput(InputType.State) private FrameState stateAfter; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/BeginStateSplitNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/BeginStateSplitNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/BeginStateSplitNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -32,6 +32,7 @@ * which is not possible until loop peeling works without requiring begin nodes to have frames * states. */ +@NodeInfo public abstract class BeginStateSplitNode extends BeginNode implements StateSplit { @OptionalInput(InputType.State) private FrameState stateAfter; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/BinaryOpLogicNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/BinaryOpLogicNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/BinaryOpLogicNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -22,9 +22,11 @@ */ package com.oracle.graal.nodes; +import com.oracle.graal.graph.*; import com.oracle.graal.graph.spi.*; import com.oracle.graal.nodes.spi.*; +@NodeInfo public abstract class BinaryOpLogicNode extends LogicNode implements LIRLowerable, Canonicalizable.Binary { @Input private ValueNode x; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/BreakpointNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/BreakpointNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/BreakpointNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -33,18 +33,19 @@ * are set up as if the breakpoint instruction was a call to a compiled Java method. *

* A breakpoint is usually place by defining a node intrinsic method as follows: - * + * *

  *     {@literal @}NodeIntrinsic(BreakpointNode.class)
  *     static void breakpoint(Object object, Word mark, Word value) {
  *          throw new GraalInternalError("");
  *     }
  * 
- * + * * Note that the signature is arbitrary. It's sole purpose is to capture values you may want to * inspect in the native debugger when the breakpoint is hit. */ -public final class BreakpointNode extends FixedWithNextNode implements LIRLowerable { +@NodeInfo +public class BreakpointNode extends FixedWithNextNode implements LIRLowerable { @Input private final NodeInputList arguments; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ConditionAnchorNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ConditionAnchorNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ConditionAnchorNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -29,7 +29,7 @@ import com.oracle.graal.nodes.spi.*; @NodeInfo(nameTemplate = "ConditionAnchor(!={p#negated})", allowedUsageTypes = {InputType.Guard}) -public final class ConditionAnchorNode extends FixedWithNextNode implements Canonicalizable.Unary, Lowerable, GuardingNode { +public class ConditionAnchorNode extends FixedWithNextNode implements Canonicalizable.Unary, Lowerable, GuardingNode { @Input(InputType.Condition) private LogicNode condition; private boolean negated; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ConstantNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ConstantNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ConstantNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -37,7 +37,7 @@ * The {@code ConstantNode} represents a {@link Constant constant}. */ @NodeInfo(shortName = "Const", nameTemplate = "Const({p#rawvalue})") -public final class ConstantNode extends FloatingNode implements LIRLowerable { +public class ConstantNode extends FloatingNode implements LIRLowerable { private static final DebugMetric ConstantNodes = Debug.metric("ConstantNodes"); diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ControlSinkNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ControlSinkNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ControlSinkNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -23,7 +23,9 @@ package com.oracle.graal.nodes; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; +@NodeInfo public abstract class ControlSinkNode extends FixedNode { public ControlSinkNode(Stamp stamp) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ControlSplitNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ControlSplitNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ControlSplitNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -29,6 +29,7 @@ * The {@code ControlSplitNode} is a base class for all instructions that split the control flow * (ie. have more than one successor). */ +@NodeInfo public abstract class ControlSplitNode extends FixedNode implements IterableNodeType { public ControlSplitNode(Stamp stamp) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DeoptimizingFixedWithNextNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DeoptimizingFixedWithNextNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DeoptimizingFixedWithNextNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -25,6 +25,7 @@ import com.oracle.graal.compiler.common.type.*; import com.oracle.graal.graph.*; +@NodeInfo public abstract class DeoptimizingFixedWithNextNode extends FixedWithNextNode implements DeoptimizingNode.DeoptBefore { @OptionalInput(InputType.State) private FrameState stateBefore; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DirectCallTargetNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DirectCallTargetNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DirectCallTargetNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -27,7 +27,9 @@ import com.oracle.graal.api.code.*; import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; +@NodeInfo public class DirectCallTargetNode extends LoweredCallTargetNode { public DirectCallTargetNode(List arguments, Stamp returnStamp, JavaType[] signature, ResolvedJavaMethod target, CallingConvention.Type callType, InvokeKind invokeKind) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DispatchBeginNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DispatchBeginNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DispatchBeginNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -23,10 +23,12 @@ package com.oracle.graal.nodes; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; /** * The entry node of an exception dispatcher block. */ +@NodeInfo public class DispatchBeginNode extends BeginStateSplitNode { public DispatchBeginNode() { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DynamicDeoptimizeNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DynamicDeoptimizeNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DynamicDeoptimizeNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -27,6 +27,7 @@ import com.oracle.graal.graph.spi.*; import com.oracle.graal.nodes.spi.*; +@NodeInfo public class DynamicDeoptimizeNode extends AbstractDeoptimizeNode implements LIRLowerable, Canonicalizable { @Input private ValueNode actionAndReason; @Input private ValueNode speculation; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/EndNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/EndNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/EndNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -25,5 +25,5 @@ import com.oracle.graal.graph.*; @NodeInfo(allowedUsageTypes = {InputType.Association}) -public final class EndNode extends AbstractEndNode { +public class EndNode extends AbstractEndNode { } diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FixedGuardNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FixedGuardNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FixedGuardNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -29,7 +29,7 @@ import com.oracle.graal.nodes.spi.*; @NodeInfo(nameTemplate = "FixedGuard(!={p#negated}) {p#reason/s}", allowedUsageTypes = {InputType.Guard}) -public final class FixedGuardNode extends AbstractFixedGuardNode implements Lowerable, IterableNodeType { +public class FixedGuardNode extends AbstractFixedGuardNode implements Lowerable, IterableNodeType { public FixedGuardNode(LogicNode condition, DeoptimizationReason deoptReason, DeoptimizationAction action) { this(condition, deoptReason, action, false); diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FixedNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FixedNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FixedNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -23,7 +23,9 @@ package com.oracle.graal.nodes; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; +@NodeInfo public abstract class FixedNode extends ValueNode { public FixedNode(Stamp stamp) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FixedWithNextNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FixedWithNextNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FixedWithNextNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -23,11 +23,13 @@ package com.oracle.graal.nodes; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; /** * Base class of all nodes that are fixed within the control flow graph and have an immediate * successor. */ +@NodeInfo public abstract class FixedWithNextNode extends FixedNode { @Successor private FixedNode next; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FloatingAnchoredNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FloatingAnchoredNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FloatingAnchoredNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -27,6 +27,7 @@ import com.oracle.graal.nodes.calc.*; import com.oracle.graal.nodes.extended.*; +@NodeInfo public abstract class FloatingAnchoredNode extends FloatingNode { @Input(InputType.Anchor) private AnchoringNode anchor; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FloatingGuardedNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FloatingGuardedNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FloatingGuardedNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -27,6 +27,7 @@ import com.oracle.graal.nodes.calc.*; import com.oracle.graal.nodes.extended.*; +@NodeInfo public abstract class FloatingGuardedNode extends FloatingNode implements GuardedNode { @OptionalInput(InputType.Guard) private GuardingNode guard; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FrameState.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FrameState.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FrameState.java Wed Aug 13 18:25:45 2014 +0200 @@ -39,7 +39,7 @@ * This can be used as debug or deoptimization information. */ @NodeInfo(nameTemplate = "FrameState@{p#method/s}:{p#bci}") -public final class FrameState extends VirtualState implements IterableNodeType { +public class FrameState extends VirtualState implements IterableNodeType { private static final DebugMetric METRIC_FRAMESTATE_COUNT = Debug.metric("FrameStateCount"); diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FullInfopointNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FullInfopointNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FullInfopointNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -29,6 +29,7 @@ /** * Nodes of this type are inserted into the graph to denote points of interest to debugging. */ +@NodeInfo public class FullInfopointNode extends InfopointNode implements LIRLowerable, NodeWithState { @Input(InputType.State) private FrameState state; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardedValueNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardedValueNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardedValueNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -35,6 +35,7 @@ * * A GuardedValueNode will only go away if its guard is null or {@link StructuredGraph#start()}. */ +@NodeInfo public class GuardedValueNode extends FloatingGuardedNode implements LIRLowerable, Virtualizable, IterableNodeType, Canonicalizable, ValueProxy { @Input private ValueNode object; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -43,7 +43,8 @@ * The {@code IfNode} represents a branch that can go one of two directions depending on the outcome * of a comparison. */ -public final class IfNode extends ControlSplitNode implements Simplifiable, LIRLowerable { +@NodeInfo +public class IfNode extends ControlSplitNode implements Simplifiable, LIRLowerable { @Successor private BeginNode trueSuccessor; @Successor private BeginNode falseSuccessor; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IndirectCallTargetNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IndirectCallTargetNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IndirectCallTargetNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -27,7 +27,9 @@ import com.oracle.graal.api.code.*; import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; +@NodeInfo public class IndirectCallTargetNode extends LoweredCallTargetNode { @Input private ValueNode computedAddress; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InfopointNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InfopointNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InfopointNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -24,7 +24,9 @@ import com.oracle.graal.api.code.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; +@NodeInfo public abstract class InfopointNode extends FixedWithNextNode { private final InfopointReason reason; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -36,7 +36,7 @@ * The {@code InvokeNode} represents all kinds of method calls. */ @NodeInfo(nameTemplate = "Invoke#{p#targetMethod/s}", allowedUsageTypes = {InputType.Memory}) -public final class InvokeNode extends AbstractMemoryCheckpoint implements Invoke, LIRLowerable, MemoryCheckpoint.Single, IterableNodeType { +public class InvokeNode extends AbstractMemoryCheckpoint implements Invoke, LIRLowerable, MemoryCheckpoint.Single, IterableNodeType { @Input(InputType.Extension) private CallTargetNode callTarget; @OptionalInput(InputType.State) private FrameState stateDuring; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LogicNegationNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LogicNegationNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LogicNegationNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -28,6 +28,7 @@ /** * Logic node that negates its argument. */ +@NodeInfo public class LogicNegationNode extends LogicNode implements Canonicalizable.Unary { @Input(InputType.Condition) private LogicNode value; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LoopBeginNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LoopBeginNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LoopBeginNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -34,6 +34,7 @@ import com.oracle.graal.nodes.spi.*; import com.oracle.graal.nodes.util.*; +@NodeInfo public class LoopBeginNode extends MergeNode implements IterableNodeType, LIRLowerable { private double loopFrequency; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LoopEndNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LoopEndNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LoopEndNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -27,7 +27,8 @@ import com.oracle.graal.graph.*; import com.oracle.graal.nodes.spi.*; -public final class LoopEndNode extends AbstractEndNode { +@NodeInfo +public class LoopEndNode extends AbstractEndNode { @Input(InputType.Association) private LoopBeginNode loopBegin; private boolean canSafepoint; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LoweredCallTargetNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LoweredCallTargetNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LoweredCallTargetNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -27,7 +27,9 @@ import com.oracle.graal.api.code.*; import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; +@NodeInfo public abstract class LoweredCallTargetNode extends CallTargetNode { private final Stamp returnStamp; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ParameterNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ParameterNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ParameterNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -29,7 +29,7 @@ * The {@code Parameter} instruction is a placeholder for an incoming argument to a function call. */ @NodeInfo(nameTemplate = "Param({p#index})") -public final class ParameterNode extends AbstractLocalNode implements IterableNodeType { +public class ParameterNode extends AbstractLocalNode implements IterableNodeType { public ParameterNode(int index, Stamp stamp) { super(index, stamp); diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PhiNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PhiNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PhiNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -35,6 +35,7 @@ * of the ends. For {@link LoopBeginNode}s, the first value corresponds to the loop's predecessor, * while the rest of the values correspond to the {@link LoopEndNode}s. */ +@NodeInfo public abstract class PhiNode extends FloatingNode implements Simplifiable { @Input(InputType.Association) private MergeNode merge; @@ -137,9 +138,16 @@ values().remove(index); } - public static final ValueNode MULTIPLE_VALUES = new ValueNode(null) { - // empty dummy class - }; + @NodeInfo + static class MultipleValuesNode extends ValueNode { + + public MultipleValuesNode() { + super(null); + } + + } + + public static final ValueNode MULTIPLE_VALUES = new MultipleValuesNode(); /** * If all inputs are the same value, this value is returned, otherwise {@link #MULTIPLE_VALUES}. diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PiArrayNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PiArrayNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PiArrayNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -33,7 +33,8 @@ * that reads the array length, such as an {@link ArrayLengthNode}, can be canonicalized based on * this information. */ -public final class PiArrayNode extends PiNode implements ArrayLengthProvider { +@NodeInfo +public class PiArrayNode extends PiNode implements ArrayLengthProvider { @Input private ValueNode length; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PiNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PiNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PiNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -40,6 +40,7 @@ * is as narrow or narrower than the PiNode's type. The PiNode, and therefore also the scheduling * restriction enforced by the anchor, will go away. */ +@NodeInfo public class PiNode extends FloatingGuardedNode implements LIRLowerable, Virtualizable, IterableNodeType, Canonicalizable, ValueProxy { @Input private ValueNode object; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ProxyNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ProxyNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ProxyNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -32,6 +32,7 @@ * A proxy is inserted at loop exits for any value that is created inside the loop (i.e. was not * live on entry to the loop) and is (potentially) used after the loop. */ +@NodeInfo public abstract class ProxyNode extends FloatingNode implements IterableNodeType, ValueNumberable { @Input(InputType.Association) private BeginNode proxyPoint; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ReturnNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ReturnNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ReturnNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -26,7 +26,8 @@ import com.oracle.graal.graph.*; import com.oracle.graal.nodes.spi.*; -public final class ReturnNode extends ControlSinkNode implements LIRLowerable, IterableNodeType { +@NodeInfo +public class ReturnNode extends ControlSinkNode implements LIRLowerable, IterableNodeType { @OptionalInput private ValueNode result; @OptionalInput(InputType.Extension) private MemoryMapNode memoryMap; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/SafepointNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/SafepointNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/SafepointNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -23,11 +23,13 @@ package com.oracle.graal.nodes; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.spi.*; /** * Marks a position in the graph where a safepoint should be emitted. */ +@NodeInfo public class SafepointNode extends DeoptimizingFixedWithNextNode implements LIRLowerable { public SafepointNode() { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ScheduledNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ScheduledNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ScheduledNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -24,6 +24,7 @@ import com.oracle.graal.graph.*; +@NodeInfo public abstract class ScheduledNode extends Node { @Override diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ShortCircuitOrNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ShortCircuitOrNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ShortCircuitOrNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -25,6 +25,7 @@ import com.oracle.graal.graph.*; import com.oracle.graal.graph.spi.*; +@NodeInfo public class ShortCircuitOrNode extends LogicNode implements IterableNodeType, Canonicalizable.Binary { @Input(InputType.Condition) private LogicNode x; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/SimpleInfopointNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/SimpleInfopointNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/SimpleInfopointNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -26,6 +26,7 @@ import com.oracle.graal.graph.*; import com.oracle.graal.nodes.spi.*; +@NodeInfo public class SimpleInfopointNode extends InfopointNode implements LIRLowerable, IterableNodeType { private BytecodePosition position; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/TypeProfileProxyNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/TypeProfileProxyNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/TypeProfileProxyNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -35,7 +35,8 @@ /** * A node that attaches a type profile to a proxied input node. */ -public final class TypeProfileProxyNode extends UnaryNode implements IterableNodeType, ValueProxy { +@NodeInfo +public class TypeProfileProxyNode extends UnaryNode implements IterableNodeType, ValueProxy { private final JavaTypeProfile profile; private transient ResolvedJavaType lastCheckedType; @@ -56,7 +57,7 @@ return object.graph().addWithoutUnique(new TypeProfileProxyNode(object, profile)); } - private TypeProfileProxyNode(ValueNode value, JavaTypeProfile profile) { + TypeProfileProxyNode(ValueNode value, JavaTypeProfile profile) { super(value.stamp(), value); this.profile = profile; } diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/UnaryOpLogicNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/UnaryOpLogicNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/UnaryOpLogicNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -22,9 +22,11 @@ */ package com.oracle.graal.nodes; +import com.oracle.graal.graph.*; import com.oracle.graal.graph.spi.*; import com.oracle.graal.nodes.spi.*; +@NodeInfo public abstract class UnaryOpLogicNode extends LogicNode implements LIRLowerable, Canonicalizable.Unary { @Input private ValueNode value; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/UnwindNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/UnwindNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/UnwindNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -24,12 +24,14 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.spi.*; /** * Unwinds the current frame to an exception handler in the caller frame. */ -public final class UnwindNode extends ControlSinkNode implements Lowerable, LIRLowerable { +@NodeInfo +public class UnwindNode extends ControlSinkNode implements Lowerable, LIRLowerable { @Input private ValueNode exception; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ValueNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ValueNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ValueNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -31,6 +31,7 @@ * This class represents a value within the graph, including local variables, phis, and all other * instructions. */ +@NodeInfo public abstract class ValueNode extends ScheduledNode implements StampProvider, KindProvider { /** diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ValueProxyNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ValueProxyNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ValueProxyNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -26,6 +26,7 @@ import com.oracle.graal.graph.spi.*; import com.oracle.graal.nodes.spi.*; +@NodeInfo public class ValueProxyNode extends ProxyNode implements Canonicalizable, Virtualizable, ValueAndStampProxy { @Input private ValueNode value; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/AndNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/AndNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/AndNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -33,9 +33,13 @@ import com.oracle.graal.nodes.util.*; @NodeInfo(shortName = "&") -public final class AndNode extends BitLogicNode implements NarrowableArithmeticNode { +public class AndNode extends BitLogicNode implements NarrowableArithmeticNode { - public AndNode(ValueNode x, ValueNode y) { + public static AndNode create(ValueNode x, ValueNode y) { + return new AndNodeGen(x, y); + } + + AndNode(ValueNode x, ValueNode y) { super(StampTool.and(x.stamp(), y.stamp()), x, y); assert x.stamp().isCompatible(y.stamp()); } diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/BinaryNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/BinaryNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/BinaryNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -24,6 +24,7 @@ import com.oracle.graal.compiler.common.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.graph.iterators.*; import com.oracle.graal.graph.spi.*; import com.oracle.graal.nodes.*; @@ -31,6 +32,7 @@ /** * The {@code BinaryNode} class is the base of arithmetic and logic operations with two inputs. */ +@NodeInfo public abstract class BinaryNode extends FloatingNode implements Canonicalizable.Binary { @Input private ValueNode x; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/BitLogicNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/BitLogicNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/BitLogicNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -23,12 +23,14 @@ package com.oracle.graal.nodes.calc; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.spi.*; /** * The {@code LogicNode} class definition. */ +@NodeInfo public abstract class BitLogicNode extends BinaryNode implements ArithmeticLIRLowerable, NarrowableArithmeticNode { /** diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/CompareNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/CompareNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/CompareNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -25,6 +25,7 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.*; import com.oracle.graal.compiler.common.calc.*; +import com.oracle.graal.graph.*; import com.oracle.graal.graph.spi.*; import com.oracle.graal.nodes.*; @@ -34,6 +35,7 @@ * Compare should probably be made a value (so that it can be canonicalized for example) and in later stages some Compare usage should be transformed * into variants that do not materialize the value (CompareIf, CompareGuard...) */ +@NodeInfo public abstract class CompareNode extends BinaryOpLogicNode { /** diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ConditionalNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ConditionalNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ConditionalNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -37,7 +37,8 @@ * The {@code ConditionalNode} class represents a comparison that yields one of two values. Note * that these nodes are not built directly from the bytecode but are introduced by canonicalization. */ -public final class ConditionalNode extends FloatingNode implements Canonicalizable, LIRLowerable { +@NodeInfo +public class ConditionalNode extends FloatingNode implements Canonicalizable, LIRLowerable { @Input(InputType.Condition) private LogicNode condition; @Input private ValueNode trueValue; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ConvertNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ConvertNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ConvertNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -26,11 +26,13 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.calc.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.*; /** * Represents a conversion between primitive types. */ +@NodeInfo public abstract class ConvertNode extends UnaryNode implements ArithmeticOperation { protected ConvertNode(Stamp stamp, ValueNode value) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FixedBinaryNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FixedBinaryNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FixedBinaryNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -23,9 +23,11 @@ package com.oracle.graal.nodes.calc; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.graph.spi.*; import com.oracle.graal.nodes.*; +@NodeInfo public abstract class FixedBinaryNode extends DeoptimizingFixedWithNextNode implements Canonicalizable.Binary { @Input private ValueNode x; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatAddNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatAddNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatAddNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -30,7 +30,7 @@ import com.oracle.graal.nodes.spi.*; @NodeInfo(shortName = "+") -public final class FloatAddNode extends FloatArithmeticNode { +public class FloatAddNode extends FloatArithmeticNode { public FloatAddNode(ValueNode x, ValueNode y, boolean isStrictFP) { super(x.stamp().unrestricted(), x, y, isStrictFP); diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatArithmeticNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatArithmeticNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatArithmeticNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -23,9 +23,11 @@ package com.oracle.graal.nodes.calc; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.spi.*; +@NodeInfo public abstract class FloatArithmeticNode extends BinaryNode implements ArithmeticLIRLowerable { private final boolean isStrictFP; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatConvertNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatConvertNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatConvertNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -26,6 +26,7 @@ import com.oracle.graal.compiler.common.*; import com.oracle.graal.compiler.common.calc.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.graph.spi.*; import com.oracle.graal.lir.gen.*; import com.oracle.graal.nodes.*; @@ -35,6 +36,7 @@ * A {@code FloatConvert} converts between integers and floating point numbers according to Java * semantics. */ +@NodeInfo public class FloatConvertNode extends ConvertNode implements Lowerable, ArithmeticLIRLowerable { private final FloatConvert op; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatDivNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatDivNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatDivNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -30,7 +30,7 @@ import com.oracle.graal.nodes.spi.*; @NodeInfo(shortName = "/") -public final class FloatDivNode extends FloatArithmeticNode { +public class FloatDivNode extends FloatArithmeticNode { public FloatDivNode(ValueNode x, ValueNode y, boolean isStrictFP) { super(x.stamp().unrestricted(), x, y, isStrictFP); diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatEqualsNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatEqualsNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatEqualsNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -31,7 +31,7 @@ import com.oracle.graal.nodes.util.*; @NodeInfo(shortName = "==") -public final class FloatEqualsNode extends CompareNode { +public class FloatEqualsNode extends CompareNode { /** * Constructs a new floating point equality comparison node. diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatLessThanNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatLessThanNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatLessThanNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -31,7 +31,7 @@ import com.oracle.graal.nodes.util.*; @NodeInfo(shortName = "<") -public final class FloatLessThanNode extends CompareNode { +public class FloatLessThanNode extends CompareNode { private final boolean unorderedIsTrue; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatMulNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatMulNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatMulNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -30,7 +30,7 @@ import com.oracle.graal.nodes.spi.*; @NodeInfo(shortName = "*") -public final class FloatMulNode extends FloatArithmeticNode { +public class FloatMulNode extends FloatArithmeticNode { public FloatMulNode(ValueNode x, ValueNode y, boolean isStrictFP) { super(x.stamp().unrestricted(), x, y, isStrictFP); diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatSubNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatSubNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatSubNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -31,7 +31,7 @@ import com.oracle.graal.nodes.util.*; @NodeInfo(shortName = "-") -public final class FloatSubNode extends FloatArithmeticNode { +public class FloatSubNode extends FloatArithmeticNode { public FloatSubNode(ValueNode x, ValueNode y, boolean isStrictFP) { super(x.stamp().unrestricted(), x, y, isStrictFP); diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatingNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatingNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatingNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -26,6 +26,7 @@ import com.oracle.graal.graph.*; import com.oracle.graal.nodes.*; +@NodeInfo public abstract class FloatingNode extends ValueNode implements Node.ValueNumberable { public FloatingNode(Stamp stamp) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerArithmeticNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerArithmeticNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerArithmeticNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -23,9 +23,11 @@ package com.oracle.graal.nodes.calc; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.spi.*; +@NodeInfo public abstract class IntegerArithmeticNode extends BinaryNode implements ArithmeticLIRLowerable { public IntegerArithmeticNode(Stamp stamp, ValueNode x, ValueNode y) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerBelowNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerBelowNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerBelowNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -30,7 +30,7 @@ import com.oracle.graal.nodes.util.*; @NodeInfo(shortName = "|<|") -public final class IntegerBelowNode extends CompareNode { +public class IntegerBelowNode extends CompareNode { /** * Constructs a new unsigned integer comparison node. diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerConvertNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerConvertNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerConvertNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -23,12 +23,14 @@ package com.oracle.graal.nodes.calc; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.spi.*; /** * An {@code IntegerConvert} converts an integer to an integer of different width. */ +@NodeInfo public abstract class IntegerConvertNode extends ConvertNode implements ArithmeticLIRLowerable { private final int resultBits; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerEqualsNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerEqualsNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerEqualsNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -32,7 +32,7 @@ import com.oracle.graal.nodes.util.*; @NodeInfo(shortName = "==") -public final class IntegerEqualsNode extends CompareNode { +public class IntegerEqualsNode extends CompareNode { /** * Constructs a new integer equality comparison node. diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerLessThanNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerLessThanNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerLessThanNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -32,7 +32,7 @@ import com.oracle.graal.nodes.util.*; @NodeInfo(shortName = "<") -public final class IntegerLessThanNode extends CompareNode { +public class IntegerLessThanNode extends CompareNode { /** * Constructs a new integer comparison node. diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerTestNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerTestNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerTestNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -23,6 +23,7 @@ package com.oracle.graal.nodes.calc; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.graph.spi.*; import com.oracle.graal.nodes.*; @@ -31,6 +32,7 @@ * expression "(x & y) == 0", meaning that it will return true if (and only if) no bit is set in * both x and y. */ +@NodeInfo public class IntegerTestNode extends BinaryOpLogicNode { /** diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IsNullNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IsNullNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IsNullNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -24,6 +24,7 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.graph.spi.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.spi.*; @@ -32,7 +33,8 @@ /** * An IsNullNode will be true if the supplied value is null, and false if it is non-null. */ -public final class IsNullNode extends UnaryOpLogicNode implements LIRLowerable, Virtualizable, PiPushable { +@NodeInfo +public class IsNullNode extends UnaryOpLogicNode implements LIRLowerable, Virtualizable, PiPushable { /** * Constructs a new IsNullNode instruction. diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/LeftShiftNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/LeftShiftNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/LeftShiftNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -31,7 +31,7 @@ import com.oracle.graal.nodes.type.*; @NodeInfo(shortName = "<<") -public final class LeftShiftNode extends ShiftNode { +public class LeftShiftNode extends ShiftNode { public LeftShiftNode(ValueNode x, ValueNode y) { super(x, y); diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NarrowNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NarrowNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NarrowNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -24,6 +24,7 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.graph.spi.*; import com.oracle.graal.lir.gen.*; import com.oracle.graal.nodes.*; @@ -33,6 +34,7 @@ /** * The {@code NarrowNode} converts an integer to a narrower integer. */ +@NodeInfo public class NarrowNode extends IntegerConvertNode { public NarrowNode(ValueNode input, int resultBits) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NegateNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NegateNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NegateNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -24,6 +24,7 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.*; +import com.oracle.graal.graph.*; import com.oracle.graal.graph.spi.*; import com.oracle.graal.lir.gen.*; import com.oracle.graal.nodes.*; @@ -33,7 +34,8 @@ /** * The {@code NegateNode} node negates its operand. */ -public final class NegateNode extends UnaryNode implements ArithmeticLIRLowerable, NarrowableArithmeticNode { +@NodeInfo +public class NegateNode extends UnaryNode implements ArithmeticLIRLowerable, NarrowableArithmeticNode { @Override public boolean inferStamp() { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NormalizeCompareNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NormalizeCompareNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NormalizeCompareNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -24,6 +24,7 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.graph.spi.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.spi.*; @@ -33,7 +34,8 @@ * of the inputs is NaN), the result is 1 if isUnorderedLess is false and -1 if isUnorderedLess is * true. */ -public final class NormalizeCompareNode extends BinaryNode implements Lowerable { +@NodeInfo +public class NormalizeCompareNode extends BinaryNode implements Lowerable { public final boolean isUnorderedLess; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NotNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NotNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NotNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -24,6 +24,7 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.graph.spi.*; import com.oracle.graal.lir.gen.*; import com.oracle.graal.nodes.*; @@ -33,7 +34,8 @@ /** * Binary negation of long or integer values. */ -public final class NotNode extends UnaryNode implements ArithmeticLIRLowerable, NarrowableArithmeticNode { +@NodeInfo +public class NotNode extends UnaryNode implements ArithmeticLIRLowerable, NarrowableArithmeticNode { @Override public boolean inferStamp() { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ObjectEqualsNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ObjectEqualsNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ObjectEqualsNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -32,7 +32,7 @@ import com.oracle.graal.nodes.util.*; @NodeInfo(shortName = "==") -public final class ObjectEqualsNode extends CompareNode implements Virtualizable { +public class ObjectEqualsNode extends CompareNode implements Virtualizable { /** * Constructs a new object equality comparison node. @@ -112,7 +112,7 @@ /* * One of the two objects has identity, the other doesn't. In code, this looks like * "Integer.valueOf(a) == new Integer(b)", which is always false. - * + * * In other words: an object created via valueOf can never be equal to one created * by new in the same compilation unit. */ diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/OrNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/OrNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/OrNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -33,7 +33,7 @@ import com.oracle.graal.nodes.util.*; @NodeInfo(shortName = "|") -public final class OrNode extends BitLogicNode { +public class OrNode extends BitLogicNode { public OrNode(ValueNode x, ValueNode y) { super(StampTool.or(x.stamp(), y.stamp()), x, y); diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ReinterpretNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ReinterpretNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ReinterpretNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -25,6 +25,7 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.graph.spi.*; import com.oracle.graal.lir.gen.*; import com.oracle.graal.nodes.*; @@ -35,6 +36,7 @@ * of a primitive value to some other incompatible stamp. The new stamp must have the same width as * the old stamp. */ +@NodeInfo public class ReinterpretNode extends UnaryNode implements ArithmeticLIRLowerable { private ReinterpretNode(Kind to, ValueNode value) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/RightShiftNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/RightShiftNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/RightShiftNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -32,7 +32,7 @@ import com.oracle.graal.nodes.type.*; @NodeInfo(shortName = ">>") -public final class RightShiftNode extends ShiftNode { +public class RightShiftNode extends ShiftNode { public RightShiftNode(ValueNode x, ValueNode y) { super(x, y); diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ShiftNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ShiftNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ShiftNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -23,12 +23,14 @@ package com.oracle.graal.nodes.calc; import com.oracle.graal.api.meta.*; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.spi.*; /** * The {@code ShiftOp} class represents shift operations. */ +@NodeInfo public abstract class ShiftNode extends BinaryNode implements ArithmeticLIRLowerable { /** diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/SignExtendNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/SignExtendNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/SignExtendNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -24,6 +24,7 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.graph.spi.*; import com.oracle.graal.lir.gen.*; import com.oracle.graal.nodes.*; @@ -33,6 +34,7 @@ /** * The {@code SignExtendNode} converts an integer to a wider integer using sign extension. */ +@NodeInfo public class SignExtendNode extends IntegerConvertNode { public SignExtendNode(ValueNode input, int resultBits) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnaryNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnaryNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnaryNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -23,6 +23,7 @@ package com.oracle.graal.nodes.calc; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.graph.spi.*; import com.oracle.graal.nodes.*; @@ -30,6 +31,7 @@ * The {@code UnaryNode} class is the base of arithmetic and bit logic operations with exactly one * input. */ +@NodeInfo public abstract class UnaryNode extends FloatingNode implements Canonicalizable.Unary { @Input private ValueNode value; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnsignedRightShiftNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnsignedRightShiftNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnsignedRightShiftNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -31,7 +31,7 @@ import com.oracle.graal.nodes.type.*; @NodeInfo(shortName = ">>>") -public final class UnsignedRightShiftNode extends ShiftNode { +public class UnsignedRightShiftNode extends ShiftNode { public UnsignedRightShiftNode(ValueNode x, ValueNode y) { super(x, y); diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/XorNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/XorNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/XorNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -33,7 +33,7 @@ import com.oracle.graal.nodes.util.*; @NodeInfo(shortName = "^") -public final class XorNode extends BitLogicNode { +public class XorNode extends BitLogicNode { public XorNode(ValueNode x, ValueNode y) { super(StampTool.xor(x.stamp(), y.stamp()), x, y); diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ZeroExtendNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ZeroExtendNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ZeroExtendNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -25,6 +25,7 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.calc.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.graph.spi.*; import com.oracle.graal.lir.gen.*; import com.oracle.graal.nodes.*; @@ -34,6 +35,7 @@ /** * The {@code ZeroExtendNode} converts an integer to a wider integer using zero extension. */ +@NodeInfo public class ZeroExtendNode extends IntegerConvertNode { public ZeroExtendNode(ValueNode input, int resultBits) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/debug/DynamicCounterNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/debug/DynamicCounterNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/debug/DynamicCounterNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -23,6 +23,7 @@ package com.oracle.graal.nodes.debug; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.spi.*; @@ -34,6 +35,7 @@ * A unique counter will be created for each unique name passed to the constructor. Depending on the * value of withContext, the name of the root method is added to the counter's name. */ +@NodeInfo public class DynamicCounterNode extends FixedWithNextNode implements Lowerable { @Input private ValueNode increment; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/debug/WeakCounterNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/debug/WeakCounterNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/debug/WeakCounterNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -22,6 +22,7 @@ */ package com.oracle.graal.nodes.debug; +import com.oracle.graal.graph.*; import com.oracle.graal.graph.spi.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.calc.*; @@ -32,6 +33,7 @@ * only usage of the associated node. This way it only increments the counter if the node is * actually executed. */ +@NodeInfo public class WeakCounterNode extends DynamicCounterNode implements Simplifiable, Virtualizable { @Input private ValueNode checkedValue; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/AddLocationNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/AddLocationNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/AddLocationNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -37,7 +37,7 @@ * [(base + x) + y] where base is a node and x and y are location nodes. */ @NodeInfo(nameTemplate = "AddLoc {p#locationIdentity/s}") -public final class AddLocationNode extends LocationNode implements Canonicalizable.Binary { +public class AddLocationNode extends LocationNode implements Canonicalizable.Binary { @Input(InputType.Association) private ValueNode x; @Input(InputType.Association) private ValueNode y; @@ -55,7 +55,7 @@ return graph.unique(new AddLocationNode(x, y)); } - private AddLocationNode(ValueNode x, ValueNode y) { + AddLocationNode(ValueNode x, ValueNode y) { super(StampFactory.forVoid()); this.x = x; this.y = y; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ArrayRangeWriteNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ArrayRangeWriteNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ArrayRangeWriteNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -23,11 +23,13 @@ package com.oracle.graal.nodes.extended; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.*; /** * Base class for nodes that modify a range of an array. */ +@NodeInfo public abstract class ArrayRangeWriteNode extends AbstractMemoryCheckpoint { protected ArrayRangeWriteNode(Stamp stamp) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BoxNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BoxNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BoxNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -26,6 +26,7 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.graph.spi.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.calc.*; @@ -38,6 +39,7 @@ * This node represents the boxing of a primitive value. This corresponds to a call to the valueOf * methods in Integer, Long, etc. */ +@NodeInfo public class BoxNode extends UnaryNode implements VirtualizableAllocation, Lowerable { private final Kind boxingKind; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BranchProbabilityNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BranchProbabilityNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BranchProbabilityNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -24,6 +24,7 @@ import com.oracle.graal.compiler.common.*; import com.oracle.graal.compiler.common.calc.*; +import com.oracle.graal.graph.*; import com.oracle.graal.graph.spi.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.calc.*; @@ -34,6 +35,7 @@ * the if node's taken probability. Then the branch probability node will be removed. This node is * intended primarily for snippets, so that they can define their fast and slow paths. */ +@NodeInfo public class BranchProbabilityNode extends FloatingNode implements Simplifiable, Lowerable { public static final double LIKELY_PROBABILITY = 0.6; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BytecodeExceptionNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BytecodeExceptionNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BytecodeExceptionNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -32,6 +32,7 @@ * A node that represents an exception thrown implicitly by a Java bytecode. It can be lowered to * either a {@linkplain ForeignCallDescriptor foreign} call or a pre-allocated exception object. */ +@NodeInfo public class BytecodeExceptionNode extends AbstractMemoryCheckpoint implements Lowerable, MemoryCheckpoint.Single { private final Class exceptionClass; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ComputeAddressNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ComputeAddressNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ComputeAddressNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -29,6 +29,7 @@ import com.oracle.graal.nodes.calc.*; import com.oracle.graal.nodes.spi.*; +@NodeInfo public class ComputeAddressNode extends FloatingNode implements LIRLowerable { @Input private ValueNode object; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ConstantLocationNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ConstantLocationNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ConstantLocationNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -33,7 +33,7 @@ * where base is a node and disp is a constant. */ @NodeInfo(nameTemplate = "Loc {p#locationIdentity/s}") -public final class ConstantLocationNode extends LocationNode { +public class ConstantLocationNode extends LocationNode { private final Kind valueKind; private final LocationIdentity locationIdentity; @@ -47,7 +47,7 @@ return new ConstantLocationNode(identity, kind, displacement); } - private ConstantLocationNode(LocationIdentity identity, Kind kind, long displacement) { + ConstantLocationNode(LocationIdentity identity, Kind kind, long displacement) { super(StampFactory.forVoid()); assert kind != Kind.Illegal && kind != Kind.Void; this.valueKind = kind; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FixedAccessNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FixedAccessNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FixedAccessNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -30,6 +30,7 @@ * Accesses a value at an memory address specified by an {@linkplain #object object} and a * {@linkplain #accessLocation() location}. The access does not include a null check on the object. */ +@NodeInfo public abstract class FixedAccessNode extends DeoptimizingFixedWithNextNode implements Access { @OptionalInput(InputType.Guard) private GuardingNode guard; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FixedValueAnchorNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FixedValueAnchorNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FixedValueAnchorNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -23,10 +23,12 @@ package com.oracle.graal.nodes.extended; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.spi.*; -public final class FixedValueAnchorNode extends FixedWithNextNode implements LIRLowerable, ValueProxy { +@NodeInfo +public class FixedValueAnchorNode extends FixedWithNextNode implements LIRLowerable, ValueProxy { @Input private ValueNode object; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FloatableAccessNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FloatableAccessNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FloatableAccessNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -24,11 +24,13 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.*; /** * An {@link FixedAccessNode} that can be converted to a {@link FloatingAccessNode}. */ +@NodeInfo public abstract class FloatableAccessNode extends FixedAccessNode { public FloatableAccessNode(ValueNode object, ValueNode location, Stamp stamp) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FloatingAccessNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FloatingAccessNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FloatingAccessNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -27,6 +27,7 @@ import com.oracle.graal.graph.*; import com.oracle.graal.nodes.*; +@NodeInfo public abstract class FloatingAccessNode extends FloatingGuardedNode implements Access, MemoryAccess { @Input private ValueNode object; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FloatingReadNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FloatingReadNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FloatingReadNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -33,7 +33,8 @@ * A floating read of a value from memory specified in terms of an object base and an object * relative location. This node does not null check the object. */ -public final class FloatingReadNode extends FloatingAccessNode implements IterableNodeType, LIRLowerable, Canonicalizable { +@NodeInfo +public class FloatingReadNode extends FloatingAccessNode implements IterableNodeType, LIRLowerable, Canonicalizable { @OptionalInput(InputType.Memory) private MemoryNode lastLocationAccess; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/IndexedLocationNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/IndexedLocationNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/IndexedLocationNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -38,7 +38,7 @@ * constants. */ @NodeInfo(nameTemplate = "IdxLoc {p#locationIdentity/s}") -public final class IndexedLocationNode extends LocationNode implements Canonicalizable { +public class IndexedLocationNode extends LocationNode implements Canonicalizable { private final Kind valueKind; private final LocationIdentity locationIdentity; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/IntegerSwitchNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/IntegerSwitchNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/IntegerSwitchNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -26,6 +26,7 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.graph.spi.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.spi.*; @@ -35,7 +36,8 @@ * The {@code IntegerSwitchNode} represents a switch on integer keys, with a sorted array of key * values. The actual implementation of the switch will be decided by the backend. */ -public final class IntegerSwitchNode extends SwitchNode implements LIRLowerable, Simplifiable { +@NodeInfo +public class IntegerSwitchNode extends SwitchNode implements LIRLowerable, Simplifiable { private final int[] keys; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/JavaReadNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/JavaReadNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/JavaReadNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -23,6 +23,7 @@ package com.oracle.graal.nodes.extended; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.spi.*; @@ -30,7 +31,8 @@ * Read a raw memory location according to Java field or array read semantics. It will perform read * barriers, implicit conversions and optionally oop uncompression. */ -public final class JavaReadNode extends FixedAccessNode implements Lowerable, GuardingNode { +@NodeInfo +public class JavaReadNode extends FixedAccessNode implements Lowerable, GuardingNode { private final boolean compressible; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/JavaWriteNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/JavaWriteNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/JavaWriteNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -22,6 +22,7 @@ */ package com.oracle.graal.nodes.extended; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.spi.*; @@ -29,7 +30,8 @@ * Write a raw memory location according to Java field or array write semantics. It will perform * write barriers, implicit conversions and optionally oop compression. */ -public final class JavaWriteNode extends AbstractWriteNode implements Lowerable, StateSplit, MemoryAccess, MemoryCheckpoint.Single { +@NodeInfo +public class JavaWriteNode extends AbstractWriteNode implements Lowerable, StateSplit, MemoryAccess, MemoryCheckpoint.Single { private final boolean compressible; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/LoadHubNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/LoadHubNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/LoadHubNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -25,6 +25,7 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.api.meta.ResolvedJavaType.Representation; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.graph.spi.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.spi.*; @@ -33,7 +34,8 @@ * Loads an object's {@linkplain Representation#ObjectHub hub}. The object is not null-checked by * this operation. */ -public final class LoadHubNode extends FloatingGuardedNode implements Lowerable, Canonicalizable, Virtualizable { +@NodeInfo +public class LoadHubNode extends FloatingGuardedNode implements Lowerable, Canonicalizable, Virtualizable { @Input private ValueNode value; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/LoadMethodNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/LoadMethodNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/LoadMethodNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -33,7 +33,8 @@ /** * Loads a method from the virtual method table of a given hub. */ -public final class LoadMethodNode extends FixedWithNextNode implements Lowerable, Canonicalizable { +@NodeInfo +public class LoadMethodNode extends FixedWithNextNode implements Lowerable, Canonicalizable { @Input private ValueNode hub; private final ResolvedJavaMethod method; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/OSRStartNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/OSRStartNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/OSRStartNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -22,10 +22,12 @@ */ package com.oracle.graal.nodes.extended; +import com.oracle.graal.graph.*; import com.oracle.graal.graph.iterators.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.spi.*; +@NodeInfo public class OSRStartNode extends StartNode implements Lowerable { @Override diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ReadNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ReadNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ReadNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -34,7 +34,8 @@ /** * Reads an {@linkplain FixedAccessNode accessed} value. */ -public final class ReadNode extends FloatableAccessNode implements LIRLowerable, Canonicalizable, PiPushable, Virtualizable, GuardingNode { +@NodeInfo +public class ReadNode extends FloatableAccessNode implements LIRLowerable, Canonicalizable, PiPushable, Virtualizable, GuardingNode { public ReadNode(ValueNode object, ValueNode location, Stamp stamp, BarrierType barrierType) { super(object, location, stamp, null, barrierType); diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/StoreHubNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/StoreHubNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/StoreHubNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -23,10 +23,12 @@ package com.oracle.graal.nodes.extended; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.spi.*; -public final class StoreHubNode extends FixedWithNextNode implements Lowerable { +@NodeInfo +public class StoreHubNode extends FixedWithNextNode implements Lowerable { @Input private ValueNode value; @Input private ValueNode object; @@ -39,7 +41,7 @@ return object; } - private StoreHubNode(ValueNode object, ValueNode value) { + StoreHubNode(ValueNode object, ValueNode value) { super(StampFactory.forVoid()); this.value = value; this.object = object; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/SwitchNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/SwitchNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/SwitchNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -33,6 +33,7 @@ /** * The {@code SwitchNode} class is the base of both lookup and table switches. */ +@NodeInfo public abstract class SwitchNode extends ControlSplitNode { @Successor private final NodeSuccessorList successors; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnboxNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnboxNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnboxNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -24,11 +24,13 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.graph.spi.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.calc.*; import com.oracle.graal.nodes.spi.*; +@NodeInfo public class UnboxNode extends UnaryNode implements Virtualizable, Lowerable { private final Kind boxingKind; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeAccessNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeAccessNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeAccessNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -29,6 +29,7 @@ import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.type.*; +@NodeInfo public abstract class UnsafeAccessNode extends FixedWithNextNode implements Canonicalizable { @Input private ValueNode object; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeCastNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeCastNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeCastNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -36,6 +36,7 @@ * information, i.e., an unsafe cast is removed if the input object has a more precise or equal type * than the type this nodes casts to. */ +@NodeInfo public class UnsafeCastNode extends FloatingGuardedNode implements LIRLowerable, Virtualizable, GuardingNode, IterableNodeType, Canonicalizable, ValueProxy { @Input private ValueNode object; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeLoadNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeLoadNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeLoadNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -35,6 +35,7 @@ * Load of a value from a location specified as an offset relative to an object. No null check is * performed before the load. */ +@NodeInfo public class UnsafeLoadNode extends UnsafeAccessNode implements Lowerable, Virtualizable { @OptionalInput(InputType.Condition) private LogicNode guardingCondition; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeStoreNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeStoreNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeStoreNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -35,6 +35,7 @@ * Store of a value at a location specified as an offset relative to an object. No null check is * performed before the store. */ +@NodeInfo public class UnsafeStoreNode extends UnsafeAccessNode implements StateSplit, Lowerable, Virtualizable, MemoryCheckpoint.Single { @Input private ValueNode value; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ValueAnchorNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ValueAnchorNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ValueAnchorNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -34,7 +34,7 @@ * The ValueAnchor instruction keeps non-CFG (floating) nodes above a certain point in the graph. */ @NodeInfo(allowedUsageTypes = {InputType.Anchor, InputType.Guard}) -public final class ValueAnchorNode extends FixedWithNextNode implements LIRLowerable, Simplifiable, Virtualizable, AnchoringNode, GuardingNode { +public class ValueAnchorNode extends FixedWithNextNode implements LIRLowerable, Simplifiable, Virtualizable, AnchoringNode, GuardingNode { @OptionalInput(InputType.Guard) private ValueNode anchored; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/WriteNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/WriteNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/WriteNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -23,6 +23,7 @@ package com.oracle.graal.nodes.extended; import com.oracle.graal.api.meta.*; +import com.oracle.graal.graph.*; import com.oracle.graal.graph.spi.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.extended.LocationNode.Location; @@ -32,7 +33,8 @@ /** * Writes a given {@linkplain #value() value} a {@linkplain FixedAccessNode memory location}. */ -public final class WriteNode extends AbstractWriteNode implements LIRLowerable, Simplifiable, Virtualizable { +@NodeInfo +public class WriteNode extends AbstractWriteNode implements LIRLowerable, Simplifiable, Virtualizable { public WriteNode(ValueNode object, ValueNode value, ValueNode location, BarrierType barrierType) { super(object, value, location, barrierType); diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AbstractNewArrayNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AbstractNewArrayNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AbstractNewArrayNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -23,6 +23,7 @@ package com.oracle.graal.nodes.java; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.graph.spi.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.spi.*; @@ -30,6 +31,7 @@ /** * The {@code AbstractNewArrayNode} is used for all 1-dimensional array allocations. */ +@NodeInfo public class AbstractNewArrayNode extends AbstractNewObjectNode implements ArrayLengthProvider { @Input private ValueNode length; @@ -41,7 +43,7 @@ /** * Constructs a new AbstractNewArrayNode. - * + * * @param stamp the stamp of the newly created array * @param length the node that produces the length for this allocation. * @param fillContents determines whether the array elements should be initialized to zero/null. diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AbstractNewObjectNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AbstractNewObjectNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AbstractNewObjectNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -34,6 +34,7 @@ /** * The {@code AbstractNewObjectNode} is the base class for the new instance and new array nodes. */ +@NodeInfo public class AbstractNewObjectNode extends DeoptimizingFixedWithNextNode implements Simplifiable, Lowerable { private final boolean fillContents; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AccessArrayNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AccessArrayNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AccessArrayNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -23,11 +23,13 @@ package com.oracle.graal.nodes.java; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.*; /** * This the base class of all array operations. */ +@NodeInfo public abstract class AccessArrayNode extends FixedWithNextNode { @Input private ValueNode array; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AccessFieldNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AccessFieldNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AccessFieldNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -24,12 +24,14 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.spi.*; /** * The base class of all instructions that access fields. */ +@NodeInfo public abstract class AccessFieldNode extends FixedWithNextNode implements Lowerable { @OptionalInput private ValueNode object; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AccessIndexedNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AccessIndexedNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AccessIndexedNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -24,6 +24,7 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.spi.*; @@ -31,6 +32,7 @@ * The {@code AccessIndexedNode} class is the base class of instructions that read or write elements * of an array. */ +@NodeInfo public abstract class AccessIndexedNode extends AccessArrayNode implements Lowerable { @Input private ValueNode index; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/ArrayLengthNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/ArrayLengthNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/ArrayLengthNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -24,6 +24,7 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.graph.spi.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.spi.*; @@ -32,7 +33,8 @@ /** * The {@code ArrayLength} instruction gets the length of an array. */ -public final class ArrayLengthNode extends FixedWithNextNode implements Canonicalizable.Unary, Lowerable, Virtualizable { +@NodeInfo +public class ArrayLengthNode extends FixedWithNextNode implements Canonicalizable.Unary, Lowerable, Virtualizable { @Input private ValueNode array; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AtomicReadAndWriteNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AtomicReadAndWriteNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AtomicReadAndWriteNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -26,6 +26,7 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.extended.*; import com.oracle.graal.nodes.spi.*; @@ -36,6 +37,7 @@ * Represents an atomic read-and-write operation like {@link Unsafe#getAndSetInt(Object, long, int)} * . */ +@NodeInfo public class AtomicReadAndWriteNode extends AbstractMemoryCheckpoint implements Lowerable, MemoryCheckpoint.Single { @Input private ValueNode object; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CheckCastDynamicNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CheckCastDynamicNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CheckCastDynamicNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -23,6 +23,7 @@ package com.oracle.graal.nodes.java; import com.oracle.graal.api.meta.*; +import com.oracle.graal.graph.*; import com.oracle.graal.graph.spi.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.spi.*; @@ -32,7 +33,8 @@ * Implements a type check where the type being checked is loaded at runtime. This is used, for * instance, to implement an object array store check. */ -public final class CheckCastDynamicNode extends FixedWithNextNode implements Canonicalizable.Binary, Lowerable { +@NodeInfo +public class CheckCastDynamicNode extends FixedWithNextNode implements Canonicalizable.Binary, Lowerable { @Input private ValueNode object; @Input private ValueNode hub; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CheckCastNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CheckCastNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CheckCastNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -39,6 +39,7 @@ /** * Implements a type check against a compile-time known type. */ +@NodeInfo public class CheckCastNode extends FixedWithNextNode implements Canonicalizable, Simplifiable, Lowerable, Virtualizable, ValueProxy { @Input private ValueNode object; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/DynamicNewArrayNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/DynamicNewArrayNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/DynamicNewArrayNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -36,6 +36,7 @@ * The {@code DynamicNewArrayNode} is used for allocation of arrays when the type is not a * compile-time constant. */ +@NodeInfo public class DynamicNewArrayNode extends AbstractNewArrayNode { @Input private ValueNode elementType; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/DynamicNewInstanceNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/DynamicNewInstanceNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/DynamicNewInstanceNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -28,6 +28,7 @@ import com.oracle.graal.graph.spi.*; import com.oracle.graal.nodes.*; +@NodeInfo public class DynamicNewInstanceNode extends AbstractNewObjectNode implements Canonicalizable { @Input private ValueNode clazz; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/InstanceOfDynamicNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/InstanceOfDynamicNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/InstanceOfDynamicNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -23,6 +23,7 @@ package com.oracle.graal.nodes.java; import com.oracle.graal.api.meta.*; +import com.oracle.graal.graph.*; import com.oracle.graal.graph.spi.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.spi.*; @@ -33,7 +34,8 @@ * known at compile time. This is used, for instance, to intrinsify {@link Class#isInstance(Object)} * . */ -public final class InstanceOfDynamicNode extends LogicNode implements Canonicalizable.Binary, Lowerable { +@NodeInfo +public class InstanceOfDynamicNode extends LogicNode implements Canonicalizable.Binary, Lowerable { @Input private ValueNode object; @Input private ValueNode mirror; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/InstanceOfNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/InstanceOfNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/InstanceOfNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -24,6 +24,7 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.graph.spi.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.calc.*; @@ -32,6 +33,7 @@ /** * The {@code InstanceOfNode} represents an instanceof test. */ +@NodeInfo public class InstanceOfNode extends UnaryOpLogicNode implements Lowerable, Virtualizable { private final ResolvedJavaType type; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoadExceptionObjectNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoadExceptionObjectNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoadExceptionObjectNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -23,9 +23,11 @@ package com.oracle.graal.nodes.java; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.spi.*; +@NodeInfo public class LoadExceptionObjectNode extends AbstractStateSplit implements Lowerable { public LoadExceptionObjectNode(Stamp stamp) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoadFieldNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoadFieldNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoadFieldNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -37,7 +37,7 @@ * The {@code LoadFieldNode} represents a read of a static or instance field. */ @NodeInfo(nameTemplate = "LoadField#{p#field/s}") -public final class LoadFieldNode extends AccessFieldNode implements Canonicalizable.Unary, VirtualizableRoot { +public class LoadFieldNode extends AccessFieldNode implements Canonicalizable.Unary, VirtualizableRoot { /** * Creates a new LoadFieldNode instance. diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoadIndexedNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoadIndexedNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoadIndexedNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -24,6 +24,7 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.spi.*; import com.oracle.graal.nodes.type.*; @@ -31,7 +32,8 @@ /** * The {@code LoadIndexedNode} represents a read from an element of an array. */ -public final class LoadIndexedNode extends AccessIndexedNode implements Virtualizable { +@NodeInfo +public class LoadIndexedNode extends AccessIndexedNode implements Virtualizable { /** * Creates a new LoadIndexedNode. diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MethodCallTargetNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MethodCallTargetNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MethodCallTargetNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -29,6 +29,7 @@ import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.type.*; +@NodeInfo public class MethodCallTargetNode extends CallTargetNode implements IterableNodeType, Canonicalizable { private final JavaType returnType; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MonitorEnterNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MonitorEnterNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MonitorEnterNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -31,11 +31,12 @@ /** * The {@code MonitorEnterNode} represents the acquisition of a monitor. */ -public final class MonitorEnterNode extends AccessMonitorNode implements Virtualizable, Lowerable, IterableNodeType, MonitorEnter, MemoryCheckpoint.Single { +@NodeInfo +public class MonitorEnterNode extends AccessMonitorNode implements Virtualizable, Lowerable, IterableNodeType, MonitorEnter, MemoryCheckpoint.Single { /** * Creates a new MonitorEnterNode. - * + * * @param object the instruction producing the object */ public MonitorEnterNode(ValueNode object, MonitorIdNode monitorId) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MonitorExitNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MonitorExitNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MonitorExitNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -35,7 +35,8 @@ * a synchronized method, then the return value of the method will be referenced, so that it will be * materialized before releasing the monitor. */ -public final class MonitorExitNode extends AccessMonitorNode implements Virtualizable, Simplifiable, Lowerable, IterableNodeType, MonitorExit, MemoryCheckpoint.Single { +@NodeInfo +public class MonitorExitNode extends AccessMonitorNode implements Virtualizable, Simplifiable, Lowerable, IterableNodeType, MonitorExit, MemoryCheckpoint.Single { @OptionalInput private ValueNode escapedReturnValue; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewArrayNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewArrayNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewArrayNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -26,6 +26,7 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.spi.*; import com.oracle.graal.nodes.type.*; @@ -35,6 +36,7 @@ * The {@code NewArrayNode} is used for all array allocations where the element type is know at * compile time. */ +@NodeInfo public class NewArrayNode extends AbstractNewArrayNode implements VirtualizableAllocation { /** diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewMultiArrayNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewMultiArrayNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewMultiArrayNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -31,6 +31,7 @@ /** * The {@code NewMultiArrayNode} represents an allocation of a multi-dimensional object array. */ +@NodeInfo public class NewMultiArrayNode extends DeoptimizingFixedWithNextNode implements Lowerable, ArrayLengthProvider { @Input private final NodeInputList dimensions; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/RegisterFinalizerNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/RegisterFinalizerNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/RegisterFinalizerNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -35,7 +35,8 @@ * This node is used to perform the finalizer registration at the end of the java.lang.Object * constructor. */ -public final class RegisterFinalizerNode extends AbstractStateSplit implements Canonicalizable.Unary, LIRLowerable, Virtualizable, DeoptimizingNode.DeoptAfter { +@NodeInfo +public class RegisterFinalizerNode extends AbstractStateSplit implements Canonicalizable.Unary, LIRLowerable, Virtualizable, DeoptimizingNode.DeoptAfter { @OptionalInput(InputType.State) private FrameState deoptState; @Input private ValueNode value; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/SelfReplacingMethodCallTargetNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/SelfReplacingMethodCallTargetNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/SelfReplacingMethodCallTargetNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -35,6 +35,7 @@ * This node is used for method handle call nodes which have a constant call target but are not * inlined. */ +@NodeInfo public class SelfReplacingMethodCallTargetNode extends MethodCallTargetNode implements Lowerable { // Replacement method data diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/StoreFieldNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/StoreFieldNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/StoreFieldNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -33,7 +33,7 @@ * The {@code StoreFieldNode} represents a write to a static or instance field. */ @NodeInfo(nameTemplate = "StoreField#{p#field/s}") -public final class StoreFieldNode extends AccessFieldNode implements StateSplit, VirtualizableRoot { +public class StoreFieldNode extends AccessFieldNode implements StateSplit, VirtualizableRoot { @Input private ValueNode value; @OptionalInput(InputType.State) private FrameState stateAfter; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/StoreIndexedNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/StoreIndexedNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/StoreIndexedNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -32,7 +32,8 @@ /** * The {@code StoreIndexedNode} represents a write to an array element. */ -public final class StoreIndexedNode extends AccessIndexedNode implements StateSplit, Lowerable, Virtualizable { +@NodeInfo +public class StoreIndexedNode extends AccessIndexedNode implements StateSplit, Lowerable, Virtualizable { @Input private ValueNode value; @OptionalInput(InputType.State) private FrameState stateAfter; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/TypeSwitchNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/TypeSwitchNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/TypeSwitchNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -27,6 +27,7 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.api.meta.ResolvedJavaType.Representation; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.graph.spi.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.extended.*; @@ -37,7 +38,8 @@ * The {@code TypeSwitchNode} performs a lookup based on the type of the input value. The type * comparison is an exact type comparison, not an instanceof. */ -public final class TypeSwitchNode extends SwitchNode implements LIRLowerable, Simplifiable { +@NodeInfo +public class TypeSwitchNode extends SwitchNode implements LIRLowerable, Simplifiable { private final ResolvedJavaType[] keys; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/AllocatedObjectNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/AllocatedObjectNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/AllocatedObjectNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -32,6 +32,7 @@ * Selects one object from a {@link CommitAllocationNode}. The object is identified by its * {@link VirtualObjectNode}. */ +@NodeInfo public class AllocatedObjectNode extends FloatingNode implements Virtualizable, ArrayLengthProvider { @Input private VirtualObjectNode virtualObject; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/CommitAllocationNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/CommitAllocationNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/CommitAllocationNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -32,7 +32,7 @@ import com.oracle.graal.nodes.spi.*; @NodeInfo(nameTemplate = "Alloc {i#virtualObjects}", allowedUsageTypes = {InputType.Extension}) -public final class CommitAllocationNode extends FixedWithNextNode implements VirtualizableAllocation, Lowerable, Simplifiable { +public class CommitAllocationNode extends FixedWithNextNode implements VirtualizableAllocation, Lowerable, Simplifiable { @Input private final NodeInputList virtualObjects = new NodeInputList<>(this); @Input private final NodeInputList values = new NodeInputList<>(this); diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/EscapeObjectState.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/EscapeObjectState.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/EscapeObjectState.java Wed Aug 13 18:25:45 2014 +0200 @@ -22,9 +22,11 @@ */ package com.oracle.graal.nodes.virtual; +import com.oracle.graal.graph.*; import com.oracle.graal.graph.Node.ValueNumberable; import com.oracle.graal.nodes.*; +@NodeInfo public abstract class EscapeObjectState extends VirtualState implements ValueNumberable { @Input private VirtualObjectNode object; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualBoxingNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualBoxingNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualBoxingNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -23,9 +23,11 @@ package com.oracle.graal.nodes.virtual; import com.oracle.graal.api.meta.*; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.extended.*; +@NodeInfo public class VirtualBoxingNode extends VirtualInstanceNode { private final Kind boxingKind; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualObjectNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualObjectNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualObjectNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -28,6 +28,7 @@ import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.spi.*; +@NodeInfo public abstract class VirtualObjectNode extends ValueNode implements LIRLowerable, IterableNodeType { private boolean hasIdentity; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ConditionalEliminationPhase.java --- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ConditionalEliminationPhase.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ConditionalEliminationPhase.java Wed Aug 13 18:25:45 2014 +0200 @@ -332,7 +332,8 @@ } } - public class ConditionalElimination extends SinglePassNodeIterator { + @NodeInfo +public class ConditionalElimination extends SinglePassNodeIterator { private final LogicNode trueConstant; private final LogicNode falseConstant; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/LoweringPhase.java --- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/LoweringPhase.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/LoweringPhase.java Wed Aug 13 18:25:45 2014 +0200 @@ -102,6 +102,7 @@ return context.getAssumptions(); } + @NodeInfo private class DummyGuardHandle extends ValueNode implements GuardedNode { @Input(InputType.Guard) private GuardingNode guard; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/TailDuplicationPhase.java --- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/TailDuplicationPhase.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/TailDuplicationPhase.java Wed Aug 13 18:25:45 2014 +0200 @@ -61,7 +61,8 @@ private final CanonicalizerPhase canonicalizer; - private static final class DummyAnchorNode extends FixedWithNextNode implements GuardingNode { + @NodeInfo + private static class DummyAnchorNode extends FixedWithNextNode implements GuardingNode { public DummyAnchorNode() { super(StampFactory.forVoid()); } diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.replacements.amd64/src/com/oracle/graal/replacements/amd64/AMD64FloatConvertNode.java --- a/graal/com.oracle.graal.replacements.amd64/src/com/oracle/graal/replacements/amd64/AMD64FloatConvertNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.replacements.amd64/src/com/oracle/graal/replacements/amd64/AMD64FloatConvertNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -26,6 +26,7 @@ import com.oracle.graal.compiler.common.*; import com.oracle.graal.compiler.common.calc.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.graph.spi.*; import com.oracle.graal.lir.gen.*; import com.oracle.graal.nodes.*; @@ -37,6 +38,7 @@ * of the {@link FloatConvertNode} which, on AMD64 needs a {@link AMD64FloatConvertNode} plus some * fixup code that handles the corner cases that differ between AMD64 and Java. */ +@NodeInfo public class AMD64FloatConvertNode extends UnaryNode implements ArithmeticLIRLowerable { private final FloatConvert op; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.replacements.hsail/src/com/oracle/graal/replacements/hsail/HSAILMathIntrinsicsNode.java --- a/graal/com.oracle.graal.replacements.hsail/src/com/oracle/graal/replacements/hsail/HSAILMathIntrinsicsNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.replacements.hsail/src/com/oracle/graal/replacements/hsail/HSAILMathIntrinsicsNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -37,6 +37,7 @@ /** * This node implements HSAIL intrinsics for specific {@link Math} routines. */ +@NodeInfo public class HSAILMathIntrinsicsNode extends FloatingNode implements Canonicalizable, ArithmeticLIRLowerable { /** diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java Wed Aug 13 18:25:45 2014 +0200 @@ -354,6 +354,7 @@ } } + @NodeInfo static class VarargsPlaceholderNode extends FloatingNode implements ArrayLengthProvider { final Varargs varargs; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ArrayEqualsNode.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ArrayEqualsNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ArrayEqualsNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -34,6 +34,7 @@ /** * Compares two arrays with the same length. */ +@NodeInfo public class ArrayEqualsNode extends FixedWithNextNode implements LIRLowerable, Canonicalizable, Virtualizable, MemoryAccess { /** {@link Kind} of the arrays to compare. */ diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/AssertionNode.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/AssertionNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/AssertionNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -34,6 +34,7 @@ * fail if this has not happened by the time the node is lowered to LIR, while runtime assertions * may need to insert a check. */ +@NodeInfo public class AssertionNode extends FixedWithNextNode implements Lowerable, Canonicalizable, LIRLowerable { @Input private ValueNode value; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BitCountNode.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BitCountNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BitCountNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -24,11 +24,13 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.graph.spi.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.calc.*; import com.oracle.graal.nodes.spi.*; +@NodeInfo public class BitCountNode extends UnaryNode implements LIRLowerable { public BitCountNode(ValueNode value) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BitScanForwardNode.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BitScanForwardNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BitScanForwardNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -24,6 +24,7 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.graph.spi.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.calc.*; @@ -33,6 +34,7 @@ * Determines the index of the least significant "1" bit. Note that the result is undefined if the * input is zero. */ +@NodeInfo public class BitScanForwardNode extends UnaryNode implements LIRLowerable { public BitScanForwardNode(ValueNode value) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BitScanReverseNode.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BitScanReverseNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BitScanReverseNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -24,6 +24,7 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.graph.spi.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.calc.*; @@ -33,6 +34,7 @@ * Determines the index of the most significant "1" bit. Note that the result is undefined if the * input is zero. */ +@NodeInfo public class BitScanReverseNode extends UnaryNode implements LIRLowerable { public BitScanReverseNode(ValueNode value) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectObjectStoreNode.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectObjectStoreNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectObjectStoreNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -24,6 +24,7 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.HeapAccess.BarrierType; import com.oracle.graal.nodes.extended.*; @@ -33,6 +34,7 @@ * A special purpose store node that differs from {@link UnsafeStoreNode} in that it is not a * {@link StateSplit} and does not include a write barrier. */ +@NodeInfo public class DirectObjectStoreNode extends FixedWithNextNode implements Lowerable { @Input private ValueNode object; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectReadNode.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectReadNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectReadNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -26,6 +26,7 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.extended.*; import com.oracle.graal.nodes.spi.*; @@ -34,6 +35,7 @@ * A special purpose store node that differs from {@link UnsafeStoreNode} in that it is not a * {@link StateSplit} and takes a computed address instead of an object. */ +@NodeInfo public class DirectReadNode extends FixedWithNextNode implements LIRLowerable { @Input private ValueNode address; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectStoreNode.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectStoreNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectStoreNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -26,6 +26,7 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.extended.*; import com.oracle.graal.nodes.spi.*; @@ -34,6 +35,7 @@ * A special purpose store node that differs from {@link UnsafeStoreNode} in that it is not a * {@link StateSplit} and takes a computed address instead of an object. */ +@NodeInfo public class DirectStoreNode extends FixedWithNextNode implements LIRLowerable { @Input private ValueNode address; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ExplodeLoopNode.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ExplodeLoopNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ExplodeLoopNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -32,10 +32,11 @@ /** * Placeholder node to denote to snippet preparation that the following loop must be completely * unrolled. - * + * * @see VarargsParameter */ -public final class ExplodeLoopNode extends FixedWithNextNode { +@NodeInfo +public class ExplodeLoopNode extends FixedWithNextNode { public ExplodeLoopNode() { super(StampFactory.forVoid()); diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/LoadSnippetVarargParameterNode.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/LoadSnippetVarargParameterNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/LoadSnippetVarargParameterNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -31,7 +31,8 @@ /** * Implements the semantics of {@link VarargsParameter}. */ -public final class LoadSnippetVarargParameterNode extends FixedWithNextNode implements Canonicalizable { +@NodeInfo +public class LoadSnippetVarargParameterNode extends FixedWithNextNode implements Canonicalizable { @Input private ValueNode index; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MacroNode.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MacroNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MacroNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -55,6 +55,7 @@ * possible if the macro node is a {@link MacroStateSplitNode}. * */ +@NodeInfo public class MacroNode extends FixedWithNextNode implements Lowerable { @Input protected final NodeInputList arguments; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MacroStateSplitNode.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MacroStateSplitNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MacroStateSplitNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -34,6 +34,7 @@ * This is an extension of {@link MacroNode} that is a {@link StateSplit} and a * {@link MemoryCheckpoint}. */ +@NodeInfo public class MacroStateSplitNode extends MacroNode implements StateSplit, MemoryCheckpoint.Single { @OptionalInput(InputType.State) private FrameState stateAfter; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MathIntrinsicNode.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MathIntrinsicNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MathIntrinsicNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -25,12 +25,14 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.graph.spi.*; import com.oracle.graal.lir.gen.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.calc.*; import com.oracle.graal.nodes.spi.*; +@NodeInfo public class MathIntrinsicNode extends UnaryNode implements ArithmeticLIRLowerable { private final Operation operation; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/PureFunctionMacroNode.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/PureFunctionMacroNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/PureFunctionMacroNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -31,6 +31,7 @@ * This node class can be used to create {@link MacroNode}s for simple pure functions like * {@link System#identityHashCode(Object)}. */ +@NodeInfo public abstract class PureFunctionMacroNode extends MacroStateSplitNode implements Canonicalizable { public PureFunctionMacroNode(Invoke invoke) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ReadRegisterNode.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ReadRegisterNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ReadRegisterNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -33,7 +33,7 @@ * Access the value of a specific register. */ @NodeInfo(nameTemplate = "ReadRegister %{p#register}") -public final class ReadRegisterNode extends FixedWithNextNode implements LIRLowerable { +public class ReadRegisterNode extends FixedWithNextNode implements LIRLowerable { /** * The fixed register to access. diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ReverseBytesNode.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ReverseBytesNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ReverseBytesNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -24,12 +24,14 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.graph.spi.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.calc.*; import com.oracle.graal.nodes.spi.*; import com.oracle.graal.nodes.type.*; +@NodeInfo public class ReverseBytesNode extends UnaryNode implements LIRLowerable { public ReverseBytesNode(ValueNode value) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/WriteRegisterNode.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/WriteRegisterNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/WriteRegisterNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -33,7 +33,7 @@ * Changes the value of a specific register. */ @NodeInfo(nameTemplate = "WriteRegister %{p#register}") -public final class WriteRegisterNode extends FixedWithNextNode implements LIRLowerable { +public class WriteRegisterNode extends FixedWithNextNode implements LIRLowerable { /** * The fixed register to access. diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/nodes/AddTestNode.java --- a/graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/nodes/AddTestNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/nodes/AddTestNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -22,8 +22,10 @@ */ package com.oracle.graal.truffle.test.nodes; +import com.oracle.graal.graph.*; import com.oracle.truffle.api.frame.*; +@NodeInfo public class AddTestNode extends AbstractTestNode { @Child private AbstractTestNode left; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/nodes/BlockTestNode.java --- a/graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/nodes/BlockTestNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/nodes/BlockTestNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -25,6 +25,7 @@ import com.oracle.truffle.api.frame.*; import com.oracle.truffle.api.nodes.*; +@NodeInfo public class BlockTestNode extends AbstractTestNode { @Children private final AbstractTestNode[] statements; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/nodes/ConstantTestNode.java --- a/graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/nodes/ConstantTestNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/nodes/ConstantTestNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -22,8 +22,10 @@ */ package com.oracle.graal.truffle.test.nodes; +import com.oracle.graal.graph.*; import com.oracle.truffle.api.frame.*; +@NodeInfo public class ConstantTestNode extends AbstractTestNode { private final int value; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/nodes/ConstantWithAssumptionTestNode.java --- a/graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/nodes/ConstantWithAssumptionTestNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/nodes/ConstantWithAssumptionTestNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -26,6 +26,7 @@ import com.oracle.truffle.api.frame.*; import com.oracle.truffle.api.nodes.*; +@NodeInfo public class ConstantWithAssumptionTestNode extends AbstractTestNode { private final int value; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/nodes/LoadLocalTestNode.java --- a/graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/nodes/LoadLocalTestNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/nodes/LoadLocalTestNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -22,8 +22,10 @@ */ package com.oracle.graal.truffle.test.nodes; +import com.oracle.graal.graph.*; import com.oracle.truffle.api.frame.*; +@NodeInfo public class LoadLocalTestNode extends AbstractTestNode { private final FrameSlot slot; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/nodes/LoopTestNode.java --- a/graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/nodes/LoopTestNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/nodes/LoopTestNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -22,8 +22,10 @@ */ package com.oracle.graal.truffle.test.nodes; +import com.oracle.graal.graph.*; import com.oracle.truffle.api.frame.*; +@NodeInfo public class LoopTestNode extends AbstractTestNode { private final int numberOfIterations; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/nodes/RootTestNode.java --- a/graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/nodes/RootTestNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/nodes/RootTestNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -25,6 +25,7 @@ import com.oracle.truffle.api.frame.*; import com.oracle.truffle.api.nodes.*; +@NodeInfo public class RootTestNode extends RootNode { private final String name; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/nodes/StoreLocalTestNode.java --- a/graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/nodes/StoreLocalTestNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/nodes/StoreLocalTestNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -22,8 +22,10 @@ */ package com.oracle.graal.truffle.test.nodes; +import com.oracle.graal.graph.*; import com.oracle.truffle.api.frame.*; +@NodeInfo public class StoreLocalTestNode extends AbstractTestNode { private final FrameSlot slot; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedDirectCallNode.java --- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedDirectCallNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedDirectCallNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -31,6 +31,7 @@ /** * A call node with a constant {@link CallTarget} that can be optimized by Graal. */ +@NodeInfo public final class OptimizedDirectCallNode extends DirectCallNode implements MaterializedFrameNotify { private int callCount; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedIndirectCallNode.java --- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedIndirectCallNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedIndirectCallNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -31,6 +31,7 @@ /** * A call node with a constant {@link CallTarget} that can be optimized by Graal. */ +@NodeInfo public final class OptimizedIndirectCallNode extends IndirectCallNode implements MaterializedFrameNotify { @CompilationFinal private FrameAccess outsideFrameAccess = FrameAccess.NONE; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/AssumptionNode.java --- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/AssumptionNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/AssumptionNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -26,6 +26,7 @@ import com.oracle.graal.api.replacements.*; import com.oracle.graal.api.runtime.*; import com.oracle.graal.compiler.common.*; +import com.oracle.graal.graph.*; import com.oracle.graal.graph.spi.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.spi.*; @@ -33,6 +34,7 @@ import com.oracle.graal.replacements.nodes.*; import com.oracle.graal.truffle.*; +@NodeInfo public class AssumptionNode extends MacroNode implements com.oracle.graal.graph.IterableNodeType, Simplifiable { public AssumptionNode(Invoke invoke) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/BailoutNode.java --- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/BailoutNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/BailoutNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -29,6 +29,7 @@ import com.oracle.graal.nodes.spi.*; import com.oracle.graal.replacements.nodes.*; +@NodeInfo public class BailoutNode extends MacroNode implements Canonicalizable { public BailoutNode(Invoke invoke) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/LoadIndexedFinalNode.java --- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/LoadIndexedFinalNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/LoadIndexedFinalNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -34,6 +34,7 @@ /** * @see LoadIndexedNode */ +@NodeInfo public final class LoadIndexedFinalNode extends AccessIndexedNode implements Canonicalizable { /** diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerAddExactNode.java --- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerAddExactNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerAddExactNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -24,6 +24,7 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.graph.spi.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.calc.*; @@ -35,6 +36,7 @@ * Node representing an exact integer addition that will throw an {@link ArithmeticException} in * case the addition would overflow the 32 bit range. */ +@NodeInfo public class IntegerAddExactNode extends IntegerAddNode implements IntegerExactArithmeticNode { public IntegerAddExactNode(ValueNode x, ValueNode y) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerAddExactSplitNode.java --- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerAddExactSplitNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerAddExactSplitNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -24,9 +24,11 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.spi.*; +@NodeInfo public class IntegerAddExactSplitNode extends IntegerExactArithmeticSplitNode { public IntegerAddExactSplitNode(Stamp stamp, ValueNode x, ValueNode y, BeginNode next, BeginNode overflowSuccessor) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerExactArithmeticSplitNode.java --- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerExactArithmeticSplitNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerExactArithmeticSplitNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -24,10 +24,12 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.calc.*; import com.oracle.graal.nodes.spi.*; +@NodeInfo public abstract class IntegerExactArithmeticSplitNode extends ControlSplitNode implements LIRLowerable { @Successor private BeginNode overflowSuccessor; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerMulExactNode.java --- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerMulExactNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerMulExactNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -24,6 +24,7 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.graph.spi.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.calc.*; @@ -34,6 +35,7 @@ * Node representing an exact integer multiplication that will throw an {@link ArithmeticException} * in case the addition would overflow the 32 bit range. */ +@NodeInfo public class IntegerMulExactNode extends IntegerMulNode implements IntegerExactArithmeticNode { public IntegerMulExactNode(ValueNode x, ValueNode y) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerMulExactSplitNode.java --- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerMulExactSplitNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerMulExactSplitNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -24,9 +24,11 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.spi.*; +@NodeInfo public class IntegerMulExactSplitNode extends IntegerExactArithmeticSplitNode { public IntegerMulExactSplitNode(Stamp stamp, ValueNode x, ValueNode y, BeginNode next, BeginNode overflowSuccessor) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerSubExactNode.java --- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerSubExactNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerSubExactNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -24,6 +24,7 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.graph.spi.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.calc.*; @@ -36,6 +37,7 @@ * Node representing an exact integer substraction that will throw an {@link ArithmeticException} in * case the addition would overflow the 32 bit range. */ +@NodeInfo public class IntegerSubExactNode extends IntegerSubNode implements IntegerExactArithmeticNode { public IntegerSubExactNode(ValueNode x, ValueNode y) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerSubExactSplitNode.java --- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerSubExactSplitNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerSubExactSplitNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -24,9 +24,11 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.spi.*; +@NodeInfo public class IntegerSubExactSplitNode extends IntegerExactArithmeticSplitNode { public IntegerSubExactSplitNode(Stamp stamp, ValueNode x, ValueNode y, BeginNode next, BeginNode overflowSuccessor) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/asserts/CompilationConstantNode.java --- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/asserts/CompilationConstantNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/asserts/CompilationConstantNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -26,6 +26,7 @@ import com.oracle.graal.graph.spi.*; import com.oracle.graal.nodes.*; +@NodeInfo public class CompilationConstantNode extends NeverPartOfCompilationNode implements Canonicalizable { public CompilationConstantNode(Invoke invoke) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/asserts/NeverInlineMacroNode.java --- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/asserts/NeverInlineMacroNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/asserts/NeverInlineMacroNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -22,10 +22,12 @@ */ package com.oracle.graal.truffle.nodes.asserts; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.spi.*; import com.oracle.graal.replacements.nodes.*; +@NodeInfo public class NeverInlineMacroNode extends MacroStateSplitNode implements com.oracle.graal.graph.IterableNodeType { public NeverInlineMacroNode(Invoke invoke) { diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/asserts/NeverPartOfCompilationNode.java --- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/asserts/NeverPartOfCompilationNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/asserts/NeverPartOfCompilationNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -26,6 +26,7 @@ import com.oracle.graal.nodes.*; import com.oracle.graal.replacements.nodes.*; +@NodeInfo public class NeverPartOfCompilationNode extends MacroStateSplitNode implements IterableNodeType { private final String message; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/frame/ForceMaterializeNode.java --- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/frame/ForceMaterializeNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/frame/ForceMaterializeNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -23,9 +23,11 @@ package com.oracle.graal.truffle.nodes.frame; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.spi.*; +@NodeInfo public class ForceMaterializeNode extends FixedWithNextNode implements LIRLowerable { @Input private ValueNode object; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/frame/NewFrameNode.java --- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/frame/NewFrameNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/frame/NewFrameNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -44,6 +44,7 @@ * Intrinsic node representing the call for creating a frame in the {@link OptimizedCallTarget} * class. */ +@NodeInfo public class NewFrameNode extends FixedWithNextNode implements IterableNodeType, VirtualizableAllocation, Canonicalizable { @Input private ValueNode descriptor; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/CustomizedUnsafeLoadFinalNode.java --- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/CustomizedUnsafeLoadFinalNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/CustomizedUnsafeLoadFinalNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -39,6 +39,7 @@ * * Substitution for method {@link CompilerDirectives#unsafeGetFinalObject} and friends. */ +@NodeInfo public class CustomizedUnsafeLoadFinalNode extends FixedWithNextNode implements Canonicalizable, Virtualizable, Lowerable { @Input private ValueNode object; @Input private ValueNode offset; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/CustomizedUnsafeLoadMacroNode.java --- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/CustomizedUnsafeLoadMacroNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/CustomizedUnsafeLoadMacroNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -36,6 +36,7 @@ /** * Macro node for method {@link CompilerDirectives#unsafeCast(Object, Class, boolean)}. */ +@NodeInfo public class CustomizedUnsafeLoadMacroNode extends NeverPartOfCompilationNode implements Canonicalizable { private static final int ARGUMENT_COUNT = 4; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/CustomizedUnsafeStoreMacroNode.java --- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/CustomizedUnsafeStoreMacroNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/CustomizedUnsafeStoreMacroNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -34,6 +34,7 @@ /** * Macro node for method {@link CompilerDirectives#unsafeCast(Object, Class, boolean)}. */ +@NodeInfo public class CustomizedUnsafeStoreMacroNode extends NeverPartOfCompilationNode implements Canonicalizable, StateSplit { private static final int ARGUMENT_COUNT = 4; private static final int OBJECT_ARGUMENT_INDEX = 0; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/UnsafeTypeCastMacroNode.java --- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/UnsafeTypeCastMacroNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/UnsafeTypeCastMacroNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -25,6 +25,7 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.calc.*; import com.oracle.graal.compiler.common.type.*; +import com.oracle.graal.graph.*; import com.oracle.graal.graph.spi.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.calc.*; @@ -35,6 +36,7 @@ /** * Macro node for method {@link CompilerDirectives#unsafeCast(Object, Class, boolean, boolean)}. */ +@NodeInfo public class UnsafeTypeCastMacroNode extends NeverPartOfCompilationNode implements Simplifiable { private static final int OBJECT_ARGUMENT_INDEX = 0; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/nodes/MaterializedObjectState.java --- a/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/nodes/MaterializedObjectState.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/nodes/MaterializedObjectState.java Wed Aug 13 18:25:45 2014 +0200 @@ -29,7 +29,8 @@ /** * This class encapsulated the materialized state of an escape analyzed object. */ -public final class MaterializedObjectState extends EscapeObjectState implements Node.ValueNumberable { +@NodeInfo +public class MaterializedObjectState extends EscapeObjectState implements Node.ValueNumberable { @Input private ValueNode materializedValue; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/nodes/VirtualObjectState.java --- a/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/nodes/VirtualObjectState.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/nodes/VirtualObjectState.java Wed Aug 13 18:25:45 2014 +0200 @@ -31,7 +31,8 @@ /** * This class encapsulated the virtual state of an escape analyzed object. */ -public final class VirtualObjectState extends EscapeObjectState implements Node.ValueNumberable { +@NodeInfo +public class VirtualObjectState extends EscapeObjectState implements Node.ValueNumberable { @Input private final NodeInputList values; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.word/src/com/oracle/graal/word/nodes/SnippetLocationNode.java --- a/graal/com.oracle.graal.word/src/com/oracle/graal/word/nodes/SnippetLocationNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.word/src/com/oracle/graal/word/nodes/SnippetLocationNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -42,7 +42,8 @@ * nodes. Both scale and disp must eventually canonicalize to {@link ConstantNode constants} so that * this node can be canonicalized to a {@link IndexedLocationNode} or {@link ConstantLocationNode}. */ -public final class SnippetLocationNode extends LocationNode implements Canonicalizable { +@NodeInfo +public class SnippetLocationNode extends LocationNode implements Canonicalizable { private final SnippetReflectionProvider snippetReflection; diff -r 216ac26009a2 -r 5d468add216f graal/com.oracle.graal.word/src/com/oracle/graal/word/nodes/WordCastNode.java --- a/graal/com.oracle.graal.word/src/com/oracle/graal/word/nodes/WordCastNode.java Wed Aug 13 18:24:26 2014 +0200 +++ b/graal/com.oracle.graal.word/src/com/oracle/graal/word/nodes/WordCastNode.java Wed Aug 13 18:25:45 2014 +0200 @@ -34,7 +34,8 @@ * Cast between Word and Object that is introduced by the {@link WordTypeRewriterPhase}. It has an * impact on the pointer maps for the GC, so it must not be scheduled or optimized away. */ -public final class WordCastNode extends FixedWithNextNode implements LIRLowerable, Canonicalizable { +@NodeInfo +public class WordCastNode extends FixedWithNextNode implements LIRLowerable, Canonicalizable { @Input private ValueNode input;