changeset 16739:6a78b0f8ad74

Make CompositeValue Cloneable.
author Josef Eisl <josef.eisl@jku.at>
date Thu, 07 Aug 2014 15:27:01 +0200
parents 1ae4ee9a59c3
children bc1b601dabc9
files graal/com.oracle.graal.lir/src/com/oracle/graal/lir/CompositeValue.java
diffstat 1 files changed, 11 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/CompositeValue.java	Fri Aug 08 18:40:23 2014 +0200
+++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/CompositeValue.java	Thu Aug 07 15:27:01 2014 +0200
@@ -25,6 +25,7 @@
 import java.lang.annotation.*;
 
 import com.oracle.graal.api.meta.*;
+import com.oracle.graal.compiler.common.*;
 import com.oracle.graal.debug.*;
 import com.oracle.graal.lir.LIRInstruction.InstructionValueProcedure;
 import com.oracle.graal.lir.LIRInstruction.OperandFlag;
@@ -34,7 +35,7 @@
 /**
  * Base class to represent values that need to be stored in more than one register.
  */
-public abstract class CompositeValue extends Value {
+public abstract class CompositeValue extends Value implements Cloneable {
 
     private static final long serialVersionUID = -169180052684126180L;
 
@@ -86,4 +87,13 @@
         return valueClass;
     }
 
+    @Override
+    public final CompositeValue clone() {
+        try {
+            return (CompositeValue) super.clone();
+        } catch (CloneNotSupportedException e) {
+            throw new GraalInternalError(e);
+        }
+    }
+
 }