@Override public DecodedInstruction withProtoIndex(int newIndex, int newProtoIndex) { return new InvokePolymorphicRangeDecodedInstruction( getFormat(), getOpcode(), newIndex, getIndexType(), c, registerCount, newProtoIndex); }
@Override public DecodedInstruction decode(int opcodeUnit, CodeInput in) throws EOFException { int opcode = byte0(opcodeUnit); if (opcode != Opcodes.INVOKE_POLYMORPHIC_RANGE) { // 4rcc isn't currently used for anything other than invoke-polymorphic. // If that changes, add a more general DecodedInstruction for this format. throw new UnsupportedOperationException(String.valueOf(opcode)); } int registerCount = byte1(opcodeUnit); int methodIndex = in.read(); int c = in.read(); int protoIndex = in.read(); IndexType indexType = OpcodeInfo.getIndexType(opcode); return new InvokePolymorphicRangeDecodedInstruction( this, opcode, methodIndex, indexType, c, registerCount, protoIndex); }