# HG changeset patch # User Josef Eisl # Date 1407418021 -7200 # Node ID 6a78b0f8ad74112abbc7cfa6b3ad77a6ff75d445 # Parent 1ae4ee9a59c31f6dd483ce52b34ac0174a0d2747 Make CompositeValue Cloneable. diff -r 1ae4ee9a59c3 -r 6a78b0f8ad74 graal/com.oracle.graal.lir/src/com/oracle/graal/lir/CompositeValue.java --- 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); + } + } + }