changeset 16011:dd11a7036c6e

LIR ops cannot have null @Temp fields
author Doug Simon <doug.simon@oracle.com>
date Tue, 03 Jun 2014 22:19:31 +0200
parents effc7ef538f5
children 0497ead7ec50
files graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64ArrayEqualsOp.java
diffstat 1 files changed, 6 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64ArrayEqualsOp.java	Tue Jun 03 17:37:23 2014 +0200
+++ b/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64ArrayEqualsOp.java	Tue Jun 03 22:19:31 2014 +0200
@@ -59,8 +59,8 @@
     @Temp({REG}) protected Value temp2;
     @Temp({REG}) protected Value temp3;
     @Temp({REG}) protected Value temp4;
-    @Temp({REG}) protected Value vectorTemp1;
-    @Temp({REG}) protected Value vectorTemp2;
+    @Temp({REG, ILLEGAL}) protected Value vectorTemp1;
+    @Temp({REG, ILLEGAL}) protected Value vectorTemp2;
 
     public AMD64ArrayEqualsOp(LIRGeneratorTool tool, Kind kind, Value result, Value array1, Value array2, Value length) {
         this.kind = kind;
@@ -84,6 +84,9 @@
         if (supportsSSE41(tool.target())) {
             this.vectorTemp1 = tool.newVariable(Kind.Double);
             this.vectorTemp2 = tool.newVariable(Kind.Double);
+        } else {
+            this.vectorTemp1 = Value.ILLEGAL;
+            this.vectorTemp2 = Value.ILLEGAL;
         }
     }
 
@@ -128,7 +131,7 @@
 
     /**
      * Returns if the underlying AMD64 architecture supports SSE 4.1 instructions.
-     * 
+     *
      * @param target target description of the underlying architecture
      * @return true if the underlying architecture supports SSE 4.1
      */