--- old/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64AddressValue.java 2017-03-20 17:39:31.000000000 -0700 +++ new/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64AddressValue.java 2017-03-20 17:39:31.000000000 -0700 @@ -65,6 +65,14 @@ assert scale != null; } + public AllocatableValue getBase() { + return base; + } + + public AllocatableValue getIndex() { + return index; + } + @Override public CompositeValue forEachComponent(LIRInstruction inst, OperandMode mode, InstructionValueProcedure proc) { AllocatableValue newBase = (AllocatableValue) proc.doValue(inst, base, mode, flags); @@ -81,6 +89,10 @@ proc.visitValue(inst, index, mode, flags); } + public AMD64AddressValue withKind(ValueKind newKind) { + return new AMD64AddressValue(newKind, base, index, scale, displacement); + } + private static Register toRegister(AllocatableValue value) { if (value.equals(Value.ILLEGAL)) { return Register.None;