changeset 18852:4b4421dafcaa

Merge
author Stefan Anzinger <stefan.anzinger@oracle.com>
date Tue, 13 Jan 2015 06:12:10 +0100
parents 99174f0475d0 (current diff) 3a59e1411192 (diff)
children 90fb04cda7d6
files
diffstat 1 files changed, 12 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.java/src/com/oracle/graal/java/BciBlockMapping.java	Tue Jan 13 06:11:30 2015 +0100
+++ b/graal/com.oracle.graal.java/src/com/oracle/graal/java/BciBlockMapping.java	Tue Jan 13 06:12:10 2015 +0100
@@ -97,13 +97,21 @@
         public long loops;
         public JSRData jsrData;
 
-        public static class JSRData {
+        public static class JSRData implements Cloneable {
             public HashMap<JsrScope, BciBlock> jsrAlternatives;
             public JsrScope jsrScope = JsrScope.EMPTY_SCOPE;
             public BciBlock jsrSuccessor;
             public int jsrReturnBci;
             public BciBlock retSuccessor;
             public boolean endsWithRet = false;
+
+            public JSRData copy() {
+                try {
+                    return (JSRData) this.clone();
+                } catch (CloneNotSupportedException e) {
+                    return null;
+                }
+            }
         }
 
         public BciBlock() {
@@ -127,6 +135,9 @@
         public BciBlock copy() {
             try {
                 BciBlock block = (BciBlock) super.clone();
+                if (block.jsrData != null) {
+                    block.jsrData = block.jsrData.copy();
+                }
                 block.successors = new ArrayList<>(successors);
                 return block;
             } catch (CloneNotSupportedException e) {