changeset 18241:57511d7d5a10

Add utility to get the return stamp from a structured graph.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Tue, 01 Jul 2014 15:50:12 +0200
parents b7b85f57a21a
children 4bfe1359d98a
files graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/StructuredGraph.java
diffstat 1 files changed, 15 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/StructuredGraph.java	Tue Jul 01 15:43:48 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/StructuredGraph.java	Tue Jul 01 15:50:12 2014 +0200
@@ -109,6 +109,21 @@
         this.entryBCI = entryBCI;
     }
 
+    public Stamp getReturnStamp() {
+        Stamp returnStamp = null;
+        for (ReturnNode returnNode : getNodes(ReturnNode.class)) {
+            ValueNode result = returnNode.result();
+            if (result != null) {
+                if (returnStamp == null) {
+                    returnStamp = result.stamp();
+                } else {
+                    returnStamp = returnStamp.meet(result.stamp());
+                }
+            }
+        }
+        return returnStamp;
+    }
+
     @Override
     public String toString() {
         StringBuilder buf = new StringBuilder(getClass().getSimpleName() + ":" + graphId);