Mercurial > hg > truffle
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() {