Mercurial > hg > graal-compiler
diff graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/WriteBarrierPre.java @ 8502:ff4fa8b0516e
-Create push patch
author | Christos Kotselidis <christos.kotselidis@oracle.com> |
---|---|
date | Wed, 20 Mar 2013 20:13:08 +0100 |
parents | 96a337d307bd |
children | 86b4965f0c9a |
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/WriteBarrierPre.java Wed Mar 06 19:35:04 2013 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/WriteBarrierPre.java Wed Mar 20 20:13:08 2013 +0100 @@ -27,41 +27,61 @@ import com.oracle.graal.nodes.spi.*; import com.oracle.graal.nodes.type.*; -public final class WriteBarrierPre extends FixedWithNextNode implements Lowerable { +public final class WriteBarrierPre extends AbstractStateSplit implements Lowerable { @Input private ValueNode object; @Input private LocationNode location; + @Input private ValueNode expectedObject; private boolean doLoad; + private boolean profile; + private String name; public ValueNode object() { return object; } + public ValueNode expectedObject() { + return expectedObject; + } + public boolean doLoad() { return doLoad; } + public boolean profile() { + return profile; + } + + public String getName() { + return name; + } + public LocationNode location() { return location; } - public WriteBarrierPre(ValueNode object, LocationNode location, boolean doLoad) { + public WriteBarrierPre(ValueNode object, ValueNode expectedObject, LocationNode location, String name, boolean doLoad, boolean profile) { super(StampFactory.forVoid()); this.object = object; this.doLoad = doLoad; this.location = location; + this.expectedObject = expectedObject; + this.name = name; + this.profile = profile; + } + + public WriteBarrierPre(ValueNode object, ValueNode expectedObject, LocationNode location, String name, boolean doLoad) { + super(StampFactory.forVoid()); + this.object = object; + this.doLoad = doLoad; + this.location = location; + this.expectedObject = expectedObject; + this.name = name; } public void lower(LoweringTool generator) { generator.getRuntime().lower(this, generator); } - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } }