# HG changeset patch # User Roland Schatz # Date 1398260918 -7200 # Node ID 9363fffa8b07c4b1dbfcc8862477cc521ff8e793 # Parent 7f5c9079e24a23dc1d0029ec24340bb2304af994# Parent 518a7f487c4f59eba994481aa76ebdb7c015d536 Merge. diff -r 7f5c9079e24a -r 9363fffa8b07 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 Tue Apr 15 18:31:23 2014 +0200 +++ b/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Node.java Wed Apr 23 15:48:38 2014 +0200 @@ -676,7 +676,7 @@ NodeClassIterator iter = usage.inputs().iterator(); while (iter.hasNext()) { Position pos = iter.nextPosition(); - if (pos.getInputType(usage) == type) { + if (pos.getInputType(usage) == type && pos.get(usage) == this) { pos.set(usage, other); } } diff -r 7f5c9079e24a -r 9363fffa8b07 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 Tue Apr 15 18:31:23 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FixedWithNextNode.java Wed Apr 23 15:48:38 2014 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2009, 2014, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -44,4 +44,9 @@ public FixedWithNextNode(Stamp stamp) { super(stamp); } + + @Override + public FixedWithNextNode asNode() { + return this; + } } diff -r 7f5c9079e24a -r 9363fffa8b07 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 Tue Apr 15 18:31:23 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatingNode.java Wed Apr 23 15:48:38 2014 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -31,4 +31,9 @@ public FloatingNode(Stamp stamp) { super(stamp); } + + @Override + public FloatingNode asNode() { + return this; + } } diff -r 7f5c9079e24a -r 9363fffa8b07 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 Tue Apr 15 18:31:23 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ValueAnchorNode.java Wed Apr 23 15:48:38 2014 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -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, GuardingNode { +public final class ValueAnchorNode extends FixedWithNextNode implements LIRLowerable, Simplifiable, Virtualizable, AnchoringNode, GuardingNode { @Input(InputType.Guard) private ValueNode anchored;