Mercurial > hg > graal-compiler
changeset 22463:457474423f92
Allow subclasses
author | Christian Wimmer <christian.wimmer@oracle.com> |
---|---|
date | Fri, 14 Aug 2015 17:28:00 -0700 |
parents | f64298cbfd16 |
children | 453c458c711e |
files | graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/memory/ReadNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/memory/WriteNode.java |
diffstat | 2 files changed, 13 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/memory/ReadNode.java Fri Aug 14 17:27:40 2015 -0700 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/memory/ReadNode.java Fri Aug 14 17:28:00 2015 -0700 @@ -40,7 +40,7 @@ * Reads an {@linkplain FixedAccessNode accessed} value. */ @NodeInfo(nameTemplate = "Read#{p#location/s}") -public final class ReadNode extends FloatableAccessNode implements LIRLowerable, Canonicalizable, Virtualizable, GuardingNode { +public class ReadNode extends FloatableAccessNode implements LIRLowerable, Canonicalizable, Virtualizable, GuardingNode { public static final NodeClass<ReadNode> TYPE = NodeClass.create(ReadNode.class); @@ -53,7 +53,12 @@ } public ReadNode(AddressNode address, LocationIdentity location, Stamp stamp, GuardingNode guard, BarrierType barrierType, boolean nullCheck, FrameState stateBefore) { - super(TYPE, address, location, stamp, guard, barrierType, nullCheck, stateBefore); + this(TYPE, address, location, stamp, guard, barrierType, nullCheck, stateBefore); + } + + protected ReadNode(NodeClass<? extends ReadNode> c, AddressNode address, LocationIdentity location, Stamp stamp, GuardingNode guard, BarrierType barrierType, boolean nullCheck, + FrameState stateBefore) { + super(c, address, location, stamp, guard, barrierType, nullCheck, stateBefore); } public ReadNode(AddressNode address, LocationIdentity location, ValueNode guard, BarrierType barrierType) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/memory/WriteNode.java Fri Aug 14 17:27:40 2015 -0700 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/memory/WriteNode.java Fri Aug 14 17:28:00 2015 -0700 @@ -38,7 +38,7 @@ * Writes a given {@linkplain #value() value} a {@linkplain FixedAccessNode memory location}. */ @NodeInfo(nameTemplate = "Write#{p#location/s}") -public final class WriteNode extends AbstractWriteNode implements LIRLowerable, Simplifiable, Virtualizable { +public class WriteNode extends AbstractWriteNode implements LIRLowerable, Simplifiable, Virtualizable { public static final NodeClass<WriteNode> TYPE = NodeClass.create(WriteNode.class); @@ -55,7 +55,11 @@ } public WriteNode(AddressNode address, LocationIdentity location, ValueNode value, BarrierType barrierType, GuardingNode guard, boolean initialization) { - super(TYPE, address, location, value, barrierType, guard, initialization); + this(TYPE, address, location, value, barrierType, guard, initialization); + } + + protected WriteNode(NodeClass<? extends WriteNode> c, AddressNode address, LocationIdentity location, ValueNode value, BarrierType barrierType, GuardingNode guard, boolean initialization) { + super(c, address, location, value, barrierType, guard, initialization); } @Override