diff graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Move.java @ 21080:3253fe1bed41

Remove CompressedNullCheckOp, merge functionality into regular NullCheckOp.
author Roland Schatz <roland.schatz@oracle.com>
date Wed, 22 Apr 2015 16:46:57 +0200
parents f259c81821ef
children 9965d71c8971
line wrap: on
line diff
--- a/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Move.java	Tue Apr 21 20:23:59 2015 +0200
+++ b/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Move.java	Wed Apr 22 16:46:57 2015 +0200
@@ -182,23 +182,23 @@
     public static final class NullCheckOp extends AMD64LIRInstruction implements NullCheck {
         public static final LIRInstructionClass<NullCheckOp> TYPE = LIRInstructionClass.create(NullCheckOp.class);
 
-        @Use({REG}) protected AllocatableValue input;
+        @Use({COMPOSITE}) protected AMD64AddressValue address;
         @State protected LIRFrameState state;
 
-        public NullCheckOp(Variable input, LIRFrameState state) {
+        public NullCheckOp(AMD64AddressValue address, LIRFrameState state) {
             super(TYPE);
-            this.input = input;
+            this.address = address;
             this.state = state;
         }
 
         @Override
         public void emitCode(CompilationResultBuilder crb, AMD64MacroAssembler masm) {
             crb.recordImplicitException(masm.position(), state);
-            masm.nullCheck(asRegister(input));
+            masm.nullCheck(address.toAddress());
         }
 
         public Value getCheckedValue() {
-            return input;
+            return address.base;
         }
 
         public LIRFrameState getState() {