changeset 21425:a9b3d1cfdd42

Fixed for CachedGraph utility class.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Tue, 19 May 2015 15:35:47 +0200
parents fe76bf3867f3
children e479ee4aa9aa
files graal/com.oracle.graal.graph/src/com/oracle/graal/graph/CachedGraph.java
diffstat 1 files changed, 8 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/CachedGraph.java	Tue May 19 15:02:51 2015 +0200
+++ b/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/CachedGraph.java	Tue May 19 15:35:47 2015 +0200
@@ -48,12 +48,19 @@
     }
 
     public G getReadonlyCopy() {
+        if (hasMutableCopy()) {
+            return mutableCopy;
+        }
         return readonlyCopy;
     }
 
+    public boolean hasMutableCopy() {
+        return mutableCopy != null;
+    }
+
     @SuppressWarnings("unchecked")
     public G getMutableCopy(Consumer<Map<Node, Node>> duplicationMapCallback) {
-        if (mutableCopy == null) {
+        if (!hasMutableCopy()) {
             mutableCopy = (G) readonlyCopy.copy(duplicationMapCallback);
         }
         return mutableCopy;