changeset 19413:91ffbc349e91

Merge.
author Doug Simon <doug.simon@oracle.com>
date Mon, 16 Feb 2015 15:36:32 +0100
parents a9ff83864e8c (current diff) 47fcd91a38c5 (diff)
children 5b93a11c535c
files
diffstat 1 files changed, 8 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/util/GraphOrder.java	Mon Feb 16 15:11:06 2015 +0100
+++ b/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/util/GraphOrder.java	Mon Feb 16 15:36:32 2015 +0100
@@ -165,8 +165,8 @@
                             pendingStateAfter.applyToNonVirtual(new NodeClosure<Node>() {
                                 @Override
                                 public void apply(Node usage, Node nonVirtualNode) {
-                                    assert currentState.isMarked(nonVirtualNode) || nonVirtualNode instanceof VirtualObjectNode : nonVirtualNode + " not available at virtualstate " + usage +
-                                                    " before " + node + " in block " + block + " \n" + list;
+                                    assert currentState.isMarked(nonVirtualNode) || nonVirtualNode instanceof VirtualObjectNode || nonVirtualNode instanceof ConstantNode : nonVirtualNode +
+                                                    " not available at virtualstate " + usage + " before " + node + " in block " + block + " \n" + list;
                                 }
                             });
                             pendingStateAfter = null;
@@ -208,7 +208,8 @@
                                             }
                                         });
                                     } else {
-                                        assert currentState.isMarked(input) || input instanceof VirtualObjectNode : input + " not available at " + node + " in block " + block + "\n" + list;
+                                        assert currentState.isMarked(input) || input instanceof VirtualObjectNode || input instanceof ConstantNode : input + " not available at " + node +
+                                                        " in block " + block + "\n" + list;
                                     }
                                 }
                             }
@@ -217,7 +218,8 @@
                             AbstractMergeNode merge = ((AbstractEndNode) node).merge();
                             for (PhiNode phi : merge.phis()) {
                                 ValueNode phiValue = phi.valueAt((AbstractEndNode) node);
-                                assert phiValue == null || currentState.isMarked(phiValue) : phiValue + " not available at phi " + phi + " / end " + node + " in block " + block;
+                                assert phiValue == null || currentState.isMarked(phiValue) || phiValue instanceof ConstantNode : phiValue + " not available at phi " + phi + " / end " + node +
+                                                " in block " + block;
                             }
                         }
                         if (stateAfter != null) {
@@ -230,8 +232,8 @@
                         pendingStateAfter.applyToNonVirtual(new NodeClosure<Node>() {
                             @Override
                             public void apply(Node usage, Node nonVirtualNode) {
-                                assert currentState.isMarked(nonVirtualNode) || nonVirtualNode instanceof VirtualObjectNode : nonVirtualNode + " not available at virtualstate " + usage +
-                                                " at end of block " + block + " \n" + list;
+                                assert currentState.isMarked(nonVirtualNode) || nonVirtualNode instanceof VirtualObjectNode || nonVirtualNode instanceof ConstantNode : nonVirtualNode +
+                                                " not available at virtualstate " + usage + " at end of block " + block + " \n" + list;
                             }
                         });
                     }