Mercurial > hg > truffle
changeset 19471:880717e44675
Use typed NodeClass in node constructors.
line wrap: on
line diff
--- a/graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/test/TypedNodeIteratorTest2.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/test/TypedNodeIteratorTest2.java Wed Feb 18 12:12:26 2015 +0100 @@ -41,7 +41,7 @@ this(TYPE, name); } - protected NodeA(NodeClass<?> c, String name) { + protected NodeA(NodeClass<? extends NodeA> c, String name) { super(c); this.name = name; } @@ -59,7 +59,7 @@ this(TYPE, name); } - protected NodeB(NodeClass<?> c, String name) { + protected NodeB(NodeClass<? extends NodeB> c, String name) { super(c, name); } @@ -73,7 +73,7 @@ this(TYPE, name); } - protected NodeC(NodeClass<?> c, String name) { + protected NodeC(NodeClass<? extends NodeC> c, String name) { super(c, name); }
--- a/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Node.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Node.java Wed Feb 18 12:12:26 2015 +0100 @@ -202,12 +202,12 @@ int extraUsagesCount; private Node predecessor; - private NodeClass<?> nodeClass; + private NodeClass<? extends Node> nodeClass; public static final int NODE_LIST = -2; public static final int NOT_ITERABLE = -1; - public Node(NodeClass<?> c) { + public Node(NodeClass<? extends Node> c) { init(); assert c.getJavaClass() == this.getClass(); this.nodeClass = c; @@ -507,7 +507,7 @@ } } - public final NodeClass<?> getNodeClass() { + public final NodeClass<? extends Node> getNodeClass() { return nodeClass; } @@ -749,7 +749,7 @@ * @return the copy of this node */ final Node clone(Graph into, EnumSet<Edges.Type> edgesToCopy) { - final NodeClass<?> nodeClassTmp = getNodeClass(); + final NodeClass<? extends Node> nodeClassTmp = getNodeClass(); boolean useIntoLeafNodeCache = false; if (into != null) { if (nodeClassTmp.valueNumberable() && nodeClassTmp.isLeafNode()) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ArrayRangeWriteBarrier.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ArrayRangeWriteBarrier.java Wed Feb 18 12:12:26 2015 +0100 @@ -33,7 +33,7 @@ @Input ValueNode startIndex; @Input ValueNode length; - protected ArrayRangeWriteBarrier(NodeClass<?> c, ValueNode object, ValueNode startIndex, ValueNode length) { + protected ArrayRangeWriteBarrier(NodeClass<? extends ArrayRangeWriteBarrier> c, ValueNode object, ValueNode startIndex, ValueNode length) { super(c, object, null, null, true); this.startIndex = startIndex; this.length = length;
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DeoptimizingStubCall.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DeoptimizingStubCall.java Wed Feb 18 12:12:26 2015 +0100 @@ -32,7 +32,7 @@ public static final NodeClass<DeoptimizingStubCall> TYPE = NodeClass.get(DeoptimizingStubCall.class); - public DeoptimizingStubCall(NodeClass<?> c, Stamp stamp) { + public DeoptimizingStubCall(NodeClass<? extends DeoptimizingStubCall> c, Stamp stamp) { super(c, stamp); }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1PostWriteBarrier.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1PostWriteBarrier.java Wed Feb 18 12:12:26 2015 +0100 @@ -37,7 +37,7 @@ this(TYPE, object, value, location, precise, alwaysNull); } - protected G1PostWriteBarrier(NodeClass<?> c, ValueNode object, ValueNode value, LocationNode location, boolean precise, boolean alwaysNull) { + protected G1PostWriteBarrier(NodeClass<? extends G1PostWriteBarrier> c, ValueNode object, ValueNode value, LocationNode location, boolean precise, boolean alwaysNull) { super(c, object, value, location, precise); this.alwaysNull = alwaysNull; }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SerialWriteBarrier.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SerialWriteBarrier.java Wed Feb 18 12:12:26 2015 +0100 @@ -37,7 +37,7 @@ this(TYPE, object, location, precise, alwaysNull); } - protected SerialWriteBarrier(NodeClass<?> c, ValueNode object, LocationNode location, boolean precise, boolean alwaysNull) { + protected SerialWriteBarrier(NodeClass<? extends SerialWriteBarrier> c, ValueNode object, LocationNode location, boolean precise, boolean alwaysNull) { super(c, object, null, location, precise); this.alwaysNull = alwaysNull; }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/WriteBarrier.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/WriteBarrier.java Wed Feb 18 12:12:26 2015 +0100 @@ -38,7 +38,7 @@ @OptionalInput(InputType.Association) protected LocationNode location; protected final boolean precise; - protected WriteBarrier(NodeClass<?> c, ValueNode object, ValueNode value, LocationNode location, boolean precise) { + protected WriteBarrier(NodeClass<? extends WriteBarrier> c, ValueNode object, ValueNode value, LocationNode location, boolean precise) { super(c, StampFactory.forVoid()); this.object = object; this.value = value;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractBeginNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractBeginNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -40,11 +40,11 @@ public static final NodeClass<AbstractBeginNode> TYPE = NodeClass.get(AbstractBeginNode.class); - protected AbstractBeginNode(NodeClass<?> c) { + protected AbstractBeginNode(NodeClass<? extends AbstractBeginNode> c) { this(c, StampFactory.forVoid()); } - protected AbstractBeginNode(NodeClass<?> c, Stamp stamp) { + protected AbstractBeginNode(NodeClass<? extends AbstractBeginNode> c, Stamp stamp) { super(c, stamp); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractDeoptimizeNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractDeoptimizeNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -39,7 +39,7 @@ public static final NodeClass<AbstractDeoptimizeNode> TYPE = NodeClass.get(AbstractDeoptimizeNode.class); @OptionalInput(InputType.State) FrameState stateBefore; - protected AbstractDeoptimizeNode(NodeClass<?> c, FrameState stateBefore) { + protected AbstractDeoptimizeNode(NodeClass<? extends AbstractDeoptimizeNode> c, FrameState stateBefore) { super(c, StampFactory.forVoid()); this.stateBefore = stateBefore; }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractEndNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractEndNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -34,7 +34,7 @@ public static final NodeClass<AbstractEndNode> TYPE = NodeClass.get(AbstractEndNode.class); - protected AbstractEndNode(NodeClass<?> c) { + protected AbstractEndNode(NodeClass<? extends AbstractEndNode> c) { super(c, StampFactory.forVoid()); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractFixedGuardNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractFixedGuardNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -48,7 +48,7 @@ condition = x; } - protected AbstractFixedGuardNode(NodeClass<?> c, LogicNode condition, DeoptimizationReason deoptReason, DeoptimizationAction action, boolean negated) { + protected AbstractFixedGuardNode(NodeClass<? extends AbstractFixedGuardNode> c, LogicNode condition, DeoptimizationReason deoptReason, DeoptimizationAction action, boolean negated) { super(c, StampFactory.forVoid()); this.action = action; this.negated = negated;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractLocalNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractLocalNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -33,7 +33,7 @@ public static final NodeClass<AbstractLocalNode> TYPE = NodeClass.get(AbstractLocalNode.class); protected final int index; - protected AbstractLocalNode(NodeClass<?> c, int index, Stamp stamp) { + protected AbstractLocalNode(NodeClass<? extends AbstractLocalNode> c, int index, Stamp stamp) { super(c, stamp); this.index = index; }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractMemoryCheckpoint.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractMemoryCheckpoint.java Wed Feb 18 12:12:26 2015 +0100 @@ -35,11 +35,11 @@ public static final NodeClass<AbstractMemoryCheckpoint> TYPE = NodeClass.get(AbstractMemoryCheckpoint.class); - protected AbstractMemoryCheckpoint(NodeClass<?> c, Stamp stamp) { + protected AbstractMemoryCheckpoint(NodeClass<? extends AbstractMemoryCheckpoint> c, Stamp stamp) { this(c, stamp, null); } - protected AbstractMemoryCheckpoint(NodeClass<?> c, Stamp stamp, FrameState stateAfter) { + protected AbstractMemoryCheckpoint(NodeClass<? extends AbstractMemoryCheckpoint> c, Stamp stamp, FrameState stateAfter) { super(c, stamp, stateAfter); } }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractMergeNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractMergeNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -41,7 +41,7 @@ public abstract class AbstractMergeNode extends BeginStateSplitNode implements IterableNodeType, LIRLowerable { public static final NodeClass<AbstractMergeNode> TYPE = NodeClass.get(AbstractMergeNode.class); - protected AbstractMergeNode(NodeClass<?> c) { + protected AbstractMergeNode(NodeClass<? extends AbstractMergeNode> c) { super(c); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractStateSplit.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractStateSplit.java Wed Feb 18 12:12:26 2015 +0100 @@ -49,11 +49,11 @@ return true; } - protected AbstractStateSplit(NodeClass<?> c, Stamp stamp) { + protected AbstractStateSplit(NodeClass<? extends AbstractStateSplit> c, Stamp stamp) { this(c, stamp, null); } - protected AbstractStateSplit(NodeClass<?> c, Stamp stamp, FrameState stateAfter) { + protected AbstractStateSplit(NodeClass<? extends AbstractStateSplit> c, Stamp stamp, FrameState stateAfter) { super(c, stamp); this.stateAfter = stateAfter; }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/BeginStateSplitNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/BeginStateSplitNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -39,11 +39,11 @@ public static final NodeClass<BeginStateSplitNode> TYPE = NodeClass.get(BeginStateSplitNode.class); @OptionalInput(InputType.State) protected FrameState stateAfter; - protected BeginStateSplitNode(NodeClass<?> c) { + protected BeginStateSplitNode(NodeClass<? extends BeginStateSplitNode> c) { super(c); } - protected BeginStateSplitNode(NodeClass<?> c, Stamp stamp) { + protected BeginStateSplitNode(NodeClass<? extends BeginStateSplitNode> c, Stamp stamp) { super(c, stamp); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/BinaryOpLogicNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/BinaryOpLogicNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -42,7 +42,7 @@ return y; } - public BinaryOpLogicNode(NodeClass<?> c, ValueNode x, ValueNode y) { + public BinaryOpLogicNode(NodeClass<? extends BinaryOpLogicNode> c, ValueNode x, ValueNode y) { super(c); assert x != null && y != null && x.getKind() == y.getKind(); this.x = x;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/CallTargetNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/CallTargetNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -67,14 +67,14 @@ protected ResolvedJavaMethod targetMethod; protected InvokeKind invokeKind; - protected CallTargetNode(NodeClass<?> c, ValueNode[] arguments, ResolvedJavaMethod targetMethod, InvokeKind invokeKind) { + protected CallTargetNode(NodeClass<? extends CallTargetNode> c, ValueNode[] arguments, ResolvedJavaMethod targetMethod, InvokeKind invokeKind) { super(c, StampFactory.forVoid()); this.targetMethod = targetMethod; this.invokeKind = invokeKind; this.arguments = new NodeInputList<>(this, arguments); } - protected CallTargetNode(NodeClass<?> c, List<ValueNode> arguments, ResolvedJavaMethod targetMethod, InvokeKind invokeKind) { + protected CallTargetNode(NodeClass<? extends CallTargetNode> c, List<ValueNode> arguments, ResolvedJavaMethod targetMethod, InvokeKind invokeKind) { super(c, StampFactory.forVoid()); this.targetMethod = targetMethod; this.invokeKind = invokeKind;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ControlSinkNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ControlSinkNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -30,7 +30,7 @@ public abstract class ControlSinkNode extends FixedNode { public static final NodeClass<ControlSinkNode> TYPE = NodeClass.get(ControlSinkNode.class); - protected ControlSinkNode(NodeClass<?> c, Stamp stamp) { + protected ControlSinkNode(NodeClass<? extends ControlSinkNode> c, Stamp stamp) { super(c, stamp); } }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ControlSplitNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ControlSplitNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -34,7 +34,7 @@ public abstract class ControlSplitNode extends FixedNode implements IterableNodeType { public static final NodeClass<ControlSplitNode> TYPE = NodeClass.get(ControlSplitNode.class); - protected ControlSplitNode(NodeClass<?> c, Stamp stamp) { + protected ControlSplitNode(NodeClass<? extends ControlSplitNode> c, Stamp stamp) { super(c, stamp); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DeoptimizingFixedWithNextNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DeoptimizingFixedWithNextNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -32,11 +32,11 @@ public static final NodeClass<DeoptimizingFixedWithNextNode> TYPE = NodeClass.get(DeoptimizingFixedWithNextNode.class); @OptionalInput(InputType.State) protected FrameState stateBefore; - protected DeoptimizingFixedWithNextNode(NodeClass<?> c, Stamp stamp) { + protected DeoptimizingFixedWithNextNode(NodeClass<? extends DeoptimizingFixedWithNextNode> c, Stamp stamp) { super(c, stamp); } - protected DeoptimizingFixedWithNextNode(NodeClass<?> c, Stamp stamp, FrameState stateBefore) { + protected DeoptimizingFixedWithNextNode(NodeClass<? extends DeoptimizingFixedWithNextNode> c, Stamp stamp, FrameState stateBefore) { super(c, stamp); this.stateBefore = stateBefore; }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DirectCallTargetNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DirectCallTargetNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -35,7 +35,8 @@ public static final NodeClass<DirectCallTargetNode> TYPE = NodeClass.get(DirectCallTargetNode.class); - protected DirectCallTargetNode(NodeClass<?> c, List<ValueNode> arguments, Stamp returnStamp, JavaType[] signature, ResolvedJavaMethod target, CallingConvention.Type callType, InvokeKind invokeKind) { + protected DirectCallTargetNode(NodeClass<? extends DirectCallTargetNode> c, List<ValueNode> arguments, Stamp returnStamp, JavaType[] signature, ResolvedJavaMethod target, + CallingConvention.Type callType, InvokeKind invokeKind) { super(c, arguments, returnStamp, signature, target, callType, invokeKind); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DispatchBeginNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DispatchBeginNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -38,7 +38,7 @@ super(TYPE); } - protected DispatchBeginNode(NodeClass<?> c, Stamp stamp) { + protected DispatchBeginNode(NodeClass<? extends DispatchBeginNode> c, Stamp stamp) { super(c, stamp); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FixedNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FixedNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -30,7 +30,7 @@ public abstract class FixedNode extends ValueNode { public static final NodeClass<FixedNode> TYPE = NodeClass.get(FixedNode.class); - protected FixedNode(NodeClass<?> c, Stamp stamp) { + protected FixedNode(NodeClass<? extends FixedNode> c, Stamp stamp) { super(c, stamp); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FixedWithNextNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FixedWithNextNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -45,7 +45,7 @@ next = x; } - public FixedWithNextNode(NodeClass<?> c, Stamp stamp) { + public FixedWithNextNode(NodeClass<? extends FixedWithNextNode> c, Stamp stamp) { super(c, stamp); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FloatingAnchoredNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FloatingAnchoredNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -34,11 +34,11 @@ @Input(InputType.Anchor) protected AnchoringNode anchor; - public FloatingAnchoredNode(NodeClass<?> c, Stamp stamp) { + public FloatingAnchoredNode(NodeClass<? extends FloatingAnchoredNode> c, Stamp stamp) { super(c, stamp); } - public FloatingAnchoredNode(NodeClass<?> c, Stamp stamp, AnchoringNode anchor) { + public FloatingAnchoredNode(NodeClass<? extends FloatingAnchoredNode> c, Stamp stamp, AnchoringNode anchor) { super(c, stamp); this.anchor = anchor; }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FloatingGuardedNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FloatingGuardedNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -34,11 +34,11 @@ @OptionalInput(InputType.Guard) protected GuardingNode guard; - protected FloatingGuardedNode(NodeClass<?> c, Stamp stamp) { + protected FloatingGuardedNode(NodeClass<? extends FloatingGuardedNode> c, Stamp stamp) { super(c, stamp); } - protected FloatingGuardedNode(NodeClass<?> c, Stamp stamp, GuardingNode guard) { + protected FloatingGuardedNode(NodeClass<? extends FloatingGuardedNode> c, Stamp stamp, GuardingNode guard) { super(c, stamp); this.guard = guard; }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -55,7 +55,7 @@ this(TYPE, condition, anchor, reason, action, negated, speculation); } - protected GuardNode(NodeClass<?> c, LogicNode condition, AnchoringNode anchor, DeoptimizationReason reason, DeoptimizationAction action, boolean negated, JavaConstant speculation) { + protected GuardNode(NodeClass<? extends GuardNode> c, LogicNode condition, AnchoringNode anchor, DeoptimizationReason reason, DeoptimizationAction action, boolean negated, JavaConstant speculation) { super(c, StampFactory.forVoid(), anchor); this.condition = condition; this.reason = reason;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IndirectCallTargetNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IndirectCallTargetNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -36,8 +36,8 @@ @Input protected ValueNode computedAddress; - protected IndirectCallTargetNode(NodeClass<?> c, ValueNode computedAddress, List<ValueNode> arguments, Stamp returnStamp, JavaType[] signature, ResolvedJavaMethod target, - CallingConvention.Type callType, InvokeKind invokeKind) { + protected IndirectCallTargetNode(NodeClass<? extends IndirectCallTargetNode> c, ValueNode computedAddress, List<ValueNode> arguments, Stamp returnStamp, JavaType[] signature, + ResolvedJavaMethod target, CallingConvention.Type callType, InvokeKind invokeKind) { super(c, arguments, returnStamp, signature, target, callType, invokeKind); this.computedAddress = computedAddress; }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InfopointNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InfopointNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -32,7 +32,7 @@ public static final NodeClass<InfopointNode> TYPE = NodeClass.get(InfopointNode.class); protected final InfopointReason reason; - public InfopointNode(NodeClass<?> c, InfopointReason reason) { + public InfopointNode(NodeClass<? extends InfopointNode> c, InfopointReason reason) { super(c, StampFactory.forVoid()); this.reason = reason; }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LogicNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LogicNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -34,7 +34,7 @@ public static final NodeClass<LogicNode> TYPE = NodeClass.get(LogicNode.class); - public LogicNode(NodeClass<?> c) { + public LogicNode(NodeClass<? extends LogicNode> c) { super(c, StampFactory.forVoid()); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LoweredCallTargetNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LoweredCallTargetNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -38,8 +38,8 @@ protected final JavaType[] signature; protected final CallingConvention.Type callType; - protected LoweredCallTargetNode(NodeClass<?> c, List<ValueNode> arguments, Stamp returnStamp, JavaType[] signature, ResolvedJavaMethod target, CallingConvention.Type callType, - InvokeKind invokeKind) { + protected LoweredCallTargetNode(NodeClass<? extends LoweredCallTargetNode> c, List<ValueNode> arguments, Stamp returnStamp, JavaType[] signature, ResolvedJavaMethod target, + CallingConvention.Type callType, InvokeKind invokeKind) { super(c, arguments, target, invokeKind); this.returnStamp = returnStamp; this.signature = signature;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PhiNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PhiNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -44,7 +44,7 @@ public static final NodeClass<PhiNode> TYPE = NodeClass.get(PhiNode.class); @Input(InputType.Association) protected AbstractMergeNode merge; - protected PhiNode(NodeClass<?> c, Stamp stamp, AbstractMergeNode merge) { + protected PhiNode(NodeClass<? extends PhiNode> c, Stamp stamp, AbstractMergeNode merge) { super(c, stamp); this.merge = merge; }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PiNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PiNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -52,7 +52,7 @@ return object; } - protected PiNode(NodeClass<?> c, ValueNode object, Stamp stamp) { + protected PiNode(NodeClass<? extends PiNode> c, ValueNode object, Stamp stamp) { super(c, stamp, null); this.object = object; this.piStamp = stamp;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ProxyNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ProxyNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -39,7 +39,7 @@ public static final NodeClass<ProxyNode> TYPE = NodeClass.get(ProxyNode.class); @Input(InputType.Association) AbstractBeginNode proxyPoint; - protected ProxyNode(NodeClass<?> c, Stamp stamp, AbstractBeginNode proxyPoint) { + protected ProxyNode(NodeClass<? extends ProxyNode> c, Stamp stamp, AbstractBeginNode proxyPoint) { super(c, stamp); assert proxyPoint != null; this.proxyPoint = proxyPoint;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/StartNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/StartNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -34,7 +34,7 @@ public class StartNode extends BeginStateSplitNode implements MemoryCheckpoint.Single { public static final NodeClass<StartNode> TYPE = NodeClass.get(StartNode.class); - protected StartNode(NodeClass<?> c) { + protected StartNode(NodeClass<? extends StartNode> c) { super(c); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/UnaryOpLogicNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/UnaryOpLogicNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -37,7 +37,7 @@ return value; } - public UnaryOpLogicNode(NodeClass<?> c, ValueNode value) { + public UnaryOpLogicNode(NodeClass<? extends UnaryOpLogicNode> c, ValueNode value) { super(c); assert value != null; this.value = value;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ValueNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ValueNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -42,7 +42,7 @@ */ protected Stamp stamp; - public ValueNode(NodeClass<?> c, Stamp stamp) { + public ValueNode(NodeClass<? extends ValueNode> c, Stamp stamp) { super(c); this.stamp = stamp; }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ValuePhiNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ValuePhiNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -40,7 +40,7 @@ this(TYPE, stamp, merge); } - protected ValuePhiNode(NodeClass<?> c, Stamp stamp, AbstractMergeNode merge) { + protected ValuePhiNode(NodeClass<? extends ValuePhiNode> c, Stamp stamp, AbstractMergeNode merge) { super(c, stamp, merge); assert stamp != StampFactory.forVoid(); values = new NodeInputList<>(this);
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/VirtualState.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/VirtualState.java Wed Feb 18 12:12:26 2015 +0100 @@ -32,7 +32,7 @@ @NodeInfo(allowedUsageTypes = {InputType.State}) public abstract class VirtualState extends Node { - protected VirtualState(NodeClass<?> c) { + protected VirtualState(NodeClass<? extends VirtualState> c) { super(c); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/AddNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/AddNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -42,7 +42,7 @@ this(TYPE, x, y); } - protected AddNode(NodeClass<?> c, ValueNode x, ValueNode y) { + protected AddNode(NodeClass<? extends AddNode> c, ValueNode x, ValueNode y) { super(c, ArithmeticOpTable::getAdd, x, y); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/BinaryArithmeticNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/BinaryArithmeticNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -46,7 +46,7 @@ protected final SerializableBinaryFunction<OP> getOp; - protected BinaryArithmeticNode(NodeClass<?> c, SerializableBinaryFunction<OP> getOp, ValueNode x, ValueNode y) { + protected BinaryArithmeticNode(NodeClass<? extends BinaryArithmeticNode<OP>> c, SerializableBinaryFunction<OP> getOp, ValueNode x, ValueNode y) { super(c, getOp.apply(ArithmeticOpTable.forStamp(x.stamp())).foldStamp(x.stamp(), y.stamp()), x, y); this.getOp = getOp; }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/BinaryNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/BinaryNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -63,7 +63,7 @@ * @param x the first input instruction * @param y the second input instruction */ - protected BinaryNode(NodeClass<?> c, Stamp stamp, ValueNode x, ValueNode y) { + protected BinaryNode(NodeClass<? extends BinaryNode> c, Stamp stamp, ValueNode x, ValueNode y) { super(c, stamp); this.x = x; this.y = y;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/CompareNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/CompareNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -50,7 +50,7 @@ * @param x the instruction producing the first input to the instruction * @param y the instruction that produces the second input to this instruction */ - protected CompareNode(NodeClass<?> c, Condition condition, boolean unorderedIsTrue, ValueNode x, ValueNode y) { + protected CompareNode(NodeClass<? extends CompareNode> c, Condition condition, boolean unorderedIsTrue, ValueNode x, ValueNode y) { super(c, x, y); this.condition = condition; this.unorderedIsTrue = unorderedIsTrue;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FixedBinaryNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FixedBinaryNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -35,7 +35,7 @@ @Input protected ValueNode x; @Input protected ValueNode y; - public FixedBinaryNode(NodeClass<?> c, Stamp stamp, ValueNode x, ValueNode y) { + public FixedBinaryNode(NodeClass<? extends FixedBinaryNode> c, Stamp stamp, ValueNode x, ValueNode y) { super(c, stamp); this.x = x; this.y = y;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatingNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatingNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -31,7 +31,7 @@ public abstract class FloatingNode extends ValueNode implements Node.ValueNumberable { public static final NodeClass<FloatingNode> TYPE = NodeClass.get(FloatingNode.class); - public FloatingNode(NodeClass<?> c, Stamp stamp) { + public FloatingNode(NodeClass<? extends FloatingNode> c, Stamp stamp) { super(c, stamp); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerConvertNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerConvertNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -50,7 +50,8 @@ protected interface SerializableIntegerConvertFunction<T> extends Function<ArithmeticOpTable, IntegerConvertOp<T>>, Serializable { } - protected IntegerConvertNode(NodeClass<?> c, SerializableIntegerConvertFunction<OP> getOp, SerializableIntegerConvertFunction<REV> getReverseOp, int inputBits, int resultBits, ValueNode input) { + protected IntegerConvertNode(NodeClass<? extends IntegerConvertNode<OP, REV>> c, SerializableIntegerConvertFunction<OP> getOp, SerializableIntegerConvertFunction<REV> getReverseOp, int inputBits, + int resultBits, ValueNode input) { super(c, getOp.apply(ArithmeticOpTable.forStamp(input.stamp())).foldStamp(inputBits, resultBits, input.stamp()), input); this.getOp = getOp; this.getReverseOp = getReverseOp;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/MulNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/MulNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -43,7 +43,7 @@ this(TYPE, x, y); } - protected MulNode(NodeClass<?> c, ValueNode x, ValueNode y) { + protected MulNode(NodeClass<? extends MulNode> c, ValueNode x, ValueNode y) { super(c, ArithmeticOpTable::getMul, x, y); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/PointerEqualsNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/PointerEqualsNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -39,7 +39,7 @@ this(TYPE, x, y); } - protected PointerEqualsNode(NodeClass<?> c, ValueNode x, ValueNode y) { + protected PointerEqualsNode(NodeClass<? extends PointerEqualsNode> c, ValueNode x, ValueNode y) { super(c, Condition.EQ, false, x, y); assert x.stamp() instanceof AbstractPointerStamp; assert y.stamp() instanceof AbstractPointerStamp;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ShiftNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ShiftNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -53,7 +53,7 @@ * @param x the first input value * @param s the second input value */ - protected ShiftNode(NodeClass<?> c, SerializableShiftFunction<OP> getOp, ValueNode x, ValueNode s) { + protected ShiftNode(NodeClass<? extends ShiftNode<OP>> c, SerializableShiftFunction<OP> getOp, ValueNode x, ValueNode s) { super(c, getOp.apply(ArithmeticOpTable.forStamp(x.stamp())).foldStamp(x.stamp(), (IntegerStamp) s.stamp()), x, s); assert ((IntegerStamp) s.stamp()).getBits() == 32; this.getOp = getOp;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/SubNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/SubNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -43,7 +43,7 @@ this(TYPE, x, y); } - protected SubNode(NodeClass<?> c, ValueNode x, ValueNode y) { + protected SubNode(NodeClass<? extends SubNode> c, ValueNode x, ValueNode y) { super(c, ArithmeticOpTable::getSub, x, y); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnaryArithmeticNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnaryArithmeticNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -43,7 +43,7 @@ protected final SerializableUnaryFunction<OP> getOp; - protected UnaryArithmeticNode(NodeClass<?> c, SerializableUnaryFunction<OP> getOp, ValueNode value) { + protected UnaryArithmeticNode(NodeClass<? extends UnaryArithmeticNode<OP>> c, SerializableUnaryFunction<OP> getOp, ValueNode value) { super(c, getOp.apply(ArithmeticOpTable.forStamp(value.stamp())).foldStamp(value.stamp()), value); this.getOp = getOp; }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnaryNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnaryNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -48,7 +48,7 @@ * @param stamp the result type of this instruction * @param value the input instruction */ - protected UnaryNode(NodeClass<?> c, Stamp stamp, ValueNode value) { + protected UnaryNode(NodeClass<? extends UnaryNode> c, Stamp stamp, ValueNode value) { super(c, stamp); this.value = value; }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/debug/DynamicCounterNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/debug/DynamicCounterNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -50,7 +50,7 @@ this(TYPE, name, group, increment, withContext); } - protected DynamicCounterNode(NodeClass<?> c, String name, String group, ValueNode increment, boolean withContext) { + protected DynamicCounterNode(NodeClass<? extends DynamicCounterNode> c, String name, String group, ValueNode increment, boolean withContext) { super(c, StampFactory.forVoid()); this.name = name; this.group = group;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/AbstractWriteNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/AbstractWriteNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -65,17 +65,17 @@ return initialization; } - protected AbstractWriteNode(NodeClass<?> c, ValueNode object, ValueNode value, ValueNode location, BarrierType barrierType) { + protected AbstractWriteNode(NodeClass<? extends AbstractWriteNode> c, ValueNode object, ValueNode value, ValueNode location, BarrierType barrierType) { this(c, object, value, location, barrierType, false); } - protected AbstractWriteNode(NodeClass<?> c, ValueNode object, ValueNode value, ValueNode location, BarrierType barrierType, boolean initialization) { + protected AbstractWriteNode(NodeClass<? extends AbstractWriteNode> c, ValueNode object, ValueNode value, ValueNode location, BarrierType barrierType, boolean initialization) { super(c, object, location, StampFactory.forVoid(), barrierType); this.value = value; this.initialization = initialization; } - protected AbstractWriteNode(NodeClass<?> c, ValueNode object, ValueNode value, ValueNode location, BarrierType barrierType, GuardingNode guard, boolean initialization) { + protected AbstractWriteNode(NodeClass<? extends AbstractWriteNode> c, ValueNode object, ValueNode value, ValueNode location, BarrierType barrierType, GuardingNode guard, boolean initialization) { super(c, object, location, StampFactory.forVoid(), guard, barrierType, false, null); this.value = value; this.initialization = initialization;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ArrayRangeWriteNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ArrayRangeWriteNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -35,7 +35,7 @@ public static final NodeClass<ArrayRangeWriteNode> TYPE = NodeClass.get(ArrayRangeWriteNode.class); - protected ArrayRangeWriteNode(NodeClass<?> c, Stamp stamp) { + protected ArrayRangeWriteNode(NodeClass<? extends ArrayRangeWriteNode> c, Stamp stamp) { super(c, stamp); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FixedAccessNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FixedAccessNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -66,15 +66,16 @@ this.nullCheck = check; } - protected FixedAccessNode(NodeClass<?> c, ValueNode object, ValueNode location, Stamp stamp) { + protected FixedAccessNode(NodeClass<? extends FixedAccessNode> c, ValueNode object, ValueNode location, Stamp stamp) { this(c, object, location, stamp, BarrierType.NONE); } - protected FixedAccessNode(NodeClass<?> c, ValueNode object, ValueNode location, Stamp stamp, BarrierType barrierType) { + protected FixedAccessNode(NodeClass<? extends FixedAccessNode> c, ValueNode object, ValueNode location, Stamp stamp, BarrierType barrierType) { this(c, object, location, stamp, null, barrierType, false, null); } - protected FixedAccessNode(NodeClass<?> c, ValueNode object, ValueNode location, Stamp stamp, GuardingNode guard, BarrierType barrierType, boolean nullCheck, FrameState stateBefore) { + protected FixedAccessNode(NodeClass<? extends FixedAccessNode> c, ValueNode object, ValueNode location, Stamp stamp, GuardingNode guard, BarrierType barrierType, boolean nullCheck, + FrameState stateBefore) { super(c, stamp, stateBefore); this.object = object; this.location = location;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FloatableAccessNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FloatableAccessNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -35,15 +35,16 @@ public abstract class FloatableAccessNode extends FixedAccessNode { public static final NodeClass<FloatableAccessNode> TYPE = NodeClass.get(FloatableAccessNode.class); - protected FloatableAccessNode(NodeClass<?> c, ValueNode object, ValueNode location, Stamp stamp) { + protected FloatableAccessNode(NodeClass<? extends FloatableAccessNode> c, ValueNode object, ValueNode location, Stamp stamp) { super(c, object, location, stamp); } - protected FloatableAccessNode(NodeClass<?> c, ValueNode object, ValueNode location, Stamp stamp, GuardingNode guard, BarrierType barrierType) { + protected FloatableAccessNode(NodeClass<? extends FloatableAccessNode> c, ValueNode object, ValueNode location, Stamp stamp, GuardingNode guard, BarrierType barrierType) { super(c, object, location, stamp, guard, barrierType, false, null); } - protected FloatableAccessNode(NodeClass<?> c, ValueNode object, ValueNode location, Stamp stamp, GuardingNode guard, BarrierType barrierType, boolean nullCheck, FrameState stateBefore) { + protected FloatableAccessNode(NodeClass<? extends FloatableAccessNode> c, ValueNode object, ValueNode location, Stamp stamp, GuardingNode guard, BarrierType barrierType, boolean nullCheck, + FrameState stateBefore) { super(c, object, location, stamp, guard, barrierType, nullCheck, stateBefore); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FloatingAccessNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FloatingAccessNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -52,13 +52,13 @@ return location.getLocationIdentity(); } - protected FloatingAccessNode(NodeClass<?> c, ValueNode object, LocationNode location, Stamp stamp) { + protected FloatingAccessNode(NodeClass<? extends FloatingAccessNode> c, ValueNode object, LocationNode location, Stamp stamp) { super(c, stamp); this.object = object; this.location = location; } - protected FloatingAccessNode(NodeClass<?> c, ValueNode object, LocationNode location, Stamp stamp, GuardingNode guard, BarrierType barrierType) { + protected FloatingAccessNode(NodeClass<? extends FloatingAccessNode> c, ValueNode object, LocationNode location, Stamp stamp, GuardingNode guard, BarrierType barrierType) { super(c, stamp, guard); this.object = object; this.location = location;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ForeignCallNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ForeignCallNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -64,7 +64,7 @@ this.foreignCalls = foreignCalls; } - protected ForeignCallNode(NodeClass<?> c, ForeignCallsProvider foreignCalls, ForeignCallDescriptor descriptor, Stamp stamp) { + protected ForeignCallNode(NodeClass<? extends ForeignCallNode> c, ForeignCallsProvider foreignCalls, ForeignCallDescriptor descriptor, Stamp stamp) { super(c, stamp); this.arguments = new NodeInputList<>(this); this.descriptor = descriptor;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/LocationNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/LocationNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -47,7 +47,7 @@ public interface Location { } - protected LocationNode(NodeClass<?> c, Stamp stamp) { + protected LocationNode(NodeClass<? extends LocationNode> c, Stamp stamp) { super(c, stamp); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/SwitchNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/SwitchNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -51,7 +51,7 @@ * @param value the instruction that provides the value to be switched over * @param successors the list of successors of this switch */ - protected SwitchNode(NodeClass<?> c, ValueNode value, AbstractBeginNode[] successors, int[] keySuccessors, double[] keyProbabilities) { + protected SwitchNode(NodeClass<? extends SwitchNode> c, ValueNode value, AbstractBeginNode[] successors, int[] keySuccessors, double[] keyProbabilities) { super(c, StampFactory.forVoid()); assert value.stamp().getStackKind().isNumericInteger() || value.stamp() instanceof AbstractPointerStamp : value.stamp() + " key not supported by SwitchNode"; assert keySuccessors.length == keyProbabilities.length;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeAccessNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeAccessNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -39,7 +39,7 @@ protected final Kind accessKind; protected final LocationIdentity locationIdentity; - protected UnsafeAccessNode(NodeClass<?> c, Stamp stamp, ValueNode object, ValueNode offset, Kind accessKind, LocationIdentity locationIdentity) { + protected UnsafeAccessNode(NodeClass<? extends UnsafeAccessNode> c, Stamp stamp, ValueNode object, ValueNode offset, Kind accessKind, LocationIdentity locationIdentity) { super(c, stamp); assert accessKind != null; this.object = object;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AbstractNewArrayNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AbstractNewArrayNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -43,7 +43,7 @@ return length; } - public AbstractNewArrayNode(NodeClass<?> c, Stamp stamp, ValueNode length, boolean fillContents) { + public AbstractNewArrayNode(NodeClass<? extends AbstractNewArrayNode> c, Stamp stamp, ValueNode length, boolean fillContents) { super(c, stamp, fillContents); this.length = length; }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AbstractNewObjectNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AbstractNewObjectNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -41,7 +41,7 @@ public static final NodeClass<AbstractNewObjectNode> TYPE = NodeClass.get(AbstractNewObjectNode.class); protected final boolean fillContents; - public AbstractNewObjectNode(NodeClass<?> c, Stamp stamp, boolean fillContents) { + public AbstractNewObjectNode(NodeClass<? extends AbstractNewObjectNode> c, Stamp stamp, boolean fillContents) { super(c, stamp); this.fillContents = fillContents; }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AccessArrayNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AccessArrayNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -45,7 +45,7 @@ * * @param array the instruction that produces the array object value */ - public AccessArrayNode(NodeClass<?> c, Stamp stamp, ValueNode array) { + public AccessArrayNode(NodeClass<? extends AccessArrayNode> c, Stamp stamp, ValueNode array) { super(c, stamp); this.array = array; }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AccessFieldNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AccessFieldNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -50,7 +50,7 @@ * @param object the instruction producing the receiver object * @param field the compiler interface representation of the field */ - public AccessFieldNode(NodeClass<?> c, Stamp stamp, ValueNode object, ResolvedJavaField field) { + public AccessFieldNode(NodeClass<? extends AccessFieldNode> c, Stamp stamp, ValueNode object, ResolvedJavaField field) { super(c, stamp); this.object = object; this.field = field;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AccessIndexedNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AccessIndexedNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -52,7 +52,7 @@ * @param index the instruction producing the index * @param elementKind the kind of the elements of the array */ - protected AccessIndexedNode(NodeClass<?> c, Stamp stamp, ValueNode array, ValueNode index, Kind elementKind) { + protected AccessIndexedNode(NodeClass<? extends AccessIndexedNode> c, Stamp stamp, ValueNode array, ValueNode index, Kind elementKind) { super(c, stamp, array); this.index = index; this.elementKind = elementKind;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AccessMonitorNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AccessMonitorNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -71,7 +71,7 @@ * * @param object the instruction producing the object */ - protected AccessMonitorNode(NodeClass<?> c, ValueNode object, MonitorIdNode monitorId) { + protected AccessMonitorNode(NodeClass<? extends AccessMonitorNode> c, ValueNode object, MonitorIdNode monitorId) { super(c, StampFactory.forVoid()); this.object = object; this.monitorId = monitorId;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/DynamicNewArrayNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/DynamicNewArrayNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -57,7 +57,7 @@ this(TYPE, elementType, length, fillContents, knownElementKind); } - protected DynamicNewArrayNode(NodeClass<?> c, ValueNode elementType, ValueNode length, boolean fillContents, Kind knownElementKind) { + protected DynamicNewArrayNode(NodeClass<? extends DynamicNewArrayNode> c, ValueNode elementType, ValueNode length, boolean fillContents, Kind knownElementKind) { super(c, StampFactory.objectNonNull(), length, fillContents); this.elementType = elementType; this.knownElementKind = knownElementKind;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoadIndexedNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoadIndexedNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -58,7 +58,7 @@ return new LoadIndexedNode(array, index, elementKind); } - protected LoadIndexedNode(NodeClass<?> c, Stamp stamp, ValueNode array, ValueNode index, Kind elementKind) { + protected LoadIndexedNode(NodeClass<? extends LoadIndexedNode> c, Stamp stamp, ValueNode array, ValueNode index, Kind elementKind) { super(c, stamp, array, index, elementKind); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MethodCallTargetNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MethodCallTargetNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -41,7 +41,7 @@ this(TYPE, invokeKind, targetMethod, arguments, returnType); } - protected MethodCallTargetNode(NodeClass<?> c, InvokeKind invokeKind, ResolvedJavaMethod targetMethod, ValueNode[] arguments, JavaType returnType) { + protected MethodCallTargetNode(NodeClass<? extends MethodCallTargetNode> c, InvokeKind invokeKind, ResolvedJavaMethod targetMethod, ValueNode[] arguments, JavaType returnType) { super(c, arguments, targetMethod, invokeKind); this.returnType = returnType; }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MonitorIdNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MonitorIdNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -43,7 +43,7 @@ this(TYPE, lockDepth); } - protected MonitorIdNode(NodeClass<?> c, int lockDepth) { + protected MonitorIdNode(NodeClass<? extends MonitorIdNode> c, int lockDepth) { super(c, StampFactory.forVoid()); this.lockDepth = lockDepth; }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewArrayNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewArrayNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -47,7 +47,7 @@ super(TYPE, StampFactory.exactNonNull(elementType.getArrayClass()), length, fillContents); } - protected NewArrayNode(NodeClass<?> c, ResolvedJavaType elementType, ValueNode length, boolean fillContents) { + protected NewArrayNode(NodeClass<? extends NewArrayNode> c, ResolvedJavaType elementType, ValueNode length, boolean fillContents) { super(c, StampFactory.exactNonNull(elementType.getArrayClass()), length, fillContents); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/EscapeObjectState.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/EscapeObjectState.java Wed Feb 18 12:12:26 2015 +0100 @@ -37,7 +37,7 @@ return object; } - public EscapeObjectState(NodeClass<?> c, VirtualObjectNode object) { + public EscapeObjectState(NodeClass<? extends EscapeObjectState> c, VirtualObjectNode object) { super(c); this.object = object; }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualInstanceNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualInstanceNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -42,11 +42,11 @@ this(TYPE, type, fields, hasIdentity); } - protected VirtualInstanceNode(NodeClass<?> c, ResolvedJavaType type, boolean hasIdentity) { + protected VirtualInstanceNode(NodeClass<? extends VirtualInstanceNode> c, ResolvedJavaType type, boolean hasIdentity) { this(c, type, type.getInstanceFields(true), hasIdentity); } - protected VirtualInstanceNode(NodeClass<?> c, ResolvedJavaType type, ResolvedJavaField[] fields, boolean hasIdentity) { + protected VirtualInstanceNode(NodeClass<? extends VirtualInstanceNode> c, ResolvedJavaType type, ResolvedJavaField[] fields, boolean hasIdentity) { super(c, type, hasIdentity); this.type = type; this.fields = fields;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualObjectNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualObjectNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -35,7 +35,7 @@ public static final NodeClass<VirtualObjectNode> TYPE = NodeClass.get(VirtualObjectNode.class); protected boolean hasIdentity; - protected VirtualObjectNode(NodeClass<?> c, ResolvedJavaType type, boolean hasIdentity) { + protected VirtualObjectNode(NodeClass<? extends VirtualObjectNode> c, ResolvedJavaType type, boolean hasIdentity) { super(c, StampFactory.exactNonNull(type)); this.hasIdentity = hasIdentity; }
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BasicArrayCopyNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BasicArrayCopyNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -36,7 +36,7 @@ public static final NodeClass<BasicArrayCopyNode> TYPE = NodeClass.get(BasicArrayCopyNode.class); - public BasicArrayCopyNode(NodeClass<?> c, Invoke invoke) { + public BasicArrayCopyNode(NodeClass<? extends BasicArrayCopyNode> c, Invoke invoke) { super(c, invoke); }
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BasicObjectCloneNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BasicObjectCloneNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -40,7 +40,7 @@ public static final NodeClass<BasicObjectCloneNode> TYPE = NodeClass.get(BasicObjectCloneNode.class); - protected BasicObjectCloneNode(NodeClass<?> c, Invoke invoke) { + protected BasicObjectCloneNode(NodeClass<? extends BasicObjectCloneNode> c, Invoke invoke) { super(c, invoke); } @@ -64,7 +64,7 @@ /* * Looks at the given stamp and determines if it is an exact type (or can be assumed to be an * exact type) and if it is a cloneable type. - * + * * If yes, then the exact type is returned, otherwise it returns null. */ protected static ResolvedJavaType getConcreteType(Stamp stamp, Assumptions assumptions, MetaAccessProvider metaAccess) {
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MacroNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MacroNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -67,7 +67,7 @@ protected final JavaType returnType; protected final InvokeKind invokeKind; - protected MacroNode(NodeClass<?> c, Invoke invoke) { + protected MacroNode(NodeClass<? extends MacroNode> c, Invoke invoke) { super(c, StampFactory.forKind(((MethodCallTargetNode) invoke.callTarget()).targetMethod().getSignature().getReturnKind())); MethodCallTargetNode methodCallTarget = (MethodCallTargetNode) invoke.callTarget(); this.arguments = new NodeInputList<>(this, methodCallTarget.arguments());
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MacroStateSplitNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MacroStateSplitNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -41,7 +41,7 @@ public static final NodeClass<MacroStateSplitNode> TYPE = NodeClass.get(MacroStateSplitNode.class); @OptionalInput(InputType.State) protected FrameState stateAfter; - public MacroStateSplitNode(NodeClass<?> c, Invoke invoke) { + public MacroStateSplitNode(NodeClass<? extends MacroStateSplitNode> c, Invoke invoke) { super(c, invoke); this.stateAfter = invoke.stateAfter(); }
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/PureFunctionMacroNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/PureFunctionMacroNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -37,7 +37,7 @@ public static final NodeClass<PureFunctionMacroNode> TYPE = NodeClass.get(PureFunctionMacroNode.class); - protected PureFunctionMacroNode(NodeClass<?> c, Invoke invoke) { + protected PureFunctionMacroNode(NodeClass<? extends PureFunctionMacroNode> c, Invoke invoke) { super(c, invoke); }
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerExactArithmeticSplitNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerExactArithmeticSplitNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -39,7 +39,7 @@ @Input ValueNode x; @Input ValueNode y; - protected IntegerExactArithmeticSplitNode(NodeClass<?> c, Stamp stamp, ValueNode x, ValueNode y, AbstractBeginNode next, AbstractBeginNode overflowSuccessor) { + protected IntegerExactArithmeticSplitNode(NodeClass<? extends IntegerExactArithmeticSplitNode> c, Stamp stamp, ValueNode x, ValueNode y, AbstractBeginNode next, AbstractBeginNode overflowSuccessor) { super(c, stamp); this.x = x; this.y = y;
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/asserts/NeverPartOfCompilationNode.java Wed Feb 18 12:10:04 2015 +0100 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/asserts/NeverPartOfCompilationNode.java Wed Feb 18 12:12:26 2015 +0100 @@ -38,7 +38,7 @@ this(TYPE, invoke, "This code path should never be part of a compilation."); } - protected NeverPartOfCompilationNode(NodeClass<?> c, Invoke invoke, String message) { + protected NeverPartOfCompilationNode(NodeClass<? extends NeverPartOfCompilationNode> c, Invoke invoke, String message) { super(c, invoke); this.message = message; }