private DecodedInstruction decodeRawInsn(ShortArrayCodeInput in) throws EOFException { int opcodeUnit = in.read(); int opcode = Opcodes.extractOpcodeFromUnit(opcodeUnit); OpcodeInfo.Info opcodeInfo; try { opcodeInfo = OpcodeInfo.get(opcode); } catch (IllegalArgumentException e) { LOG.warn("Ignore decode error: '{}', replace with NOP instruction", e.getMessage()); opcodeInfo = OpcodeInfo.NOP; } return opcodeInfo.getFormat().decode(opcodeUnit, in); }
/** * Gets the {@link IndexType} for the given opcode value. */ public static IndexType getIndexType(int opcode) { return get(opcode).getIndexType(); }
/** * Gets the {@link IndexType} for the given opcode value. */ public static IndexType getIndexType(int opcode) { return get(opcode).getIndexType(); }
/** * Gets the format (an {@link InstructionCodec}) for the given opcode * value. */ public static InstructionCodec getFormat(int opcode) { return get(opcode).getFormat(); }
/** * Gets the format (an {@link InstructionCodec}) for the given opcode * value. */ public static InstructionCodec getFormat(int opcode) { return get(opcode).getFormat(); }
/** * Gets the format (an {@link InstructionCodec}) for the given opcode * value. */ public static InstructionCodec getFormat(int opcode) { return get(opcode).getFormat(); }
/** * Gets the {@link IndexType} for the given opcode value. */ public static IndexType getIndexType(int opcode) { return get(opcode).getIndexType(); }
/** * Gets the format (an {@link InstructionCodec}) for the given opcode * value. */ public static InstructionCodec getFormat(int opcode) { return get(opcode).getFormat(); }
/** * Gets the {@link IndexType} for the given opcode value. */ public static IndexType getIndexType(int opcode) { return get(opcode).getIndexType(); }
/** * Gets the name of the given opcode. */ public static String getName(int opcode) { return get(opcode).getName(); }
/** * Gets the name of the given opcode. */ public static String getName(int opcode) { return get(opcode).getName(); }
/** * Puts the given opcode into the table of all ops. * * @param opcode non-null; the opcode */ private static void set(Info opcode) { int idx = opcode.getOpcode() - Opcodes.MIN_VALUE; INFO[idx] = opcode; }
/** * Gets the name of the given opcode. */ public static String getName(int opcode) { return get(opcode).getName(); }
/** * Puts the given opcode into the table of all ops. * * @param opcode non-null; the opcode */ private static void set(Info opcode) { int idx = opcode.getOpcode() - Opcodes.MIN_VALUE; INFO[idx] = opcode; }
/** * Puts the given opcode into the table of all ops. * * @param opcode non-null; the opcode */ private static void set(Info opcode) { int idx = opcode.getOpcode() - Opcodes.MIN_VALUE; INFO[idx] = opcode; }
/** * Puts the given opcode into the table of all ops. * * @param opcode non-null; the opcode */ private static void set(Info opcode) { int idx = opcode.getOpcode() - Opcodes.MIN_VALUE; INFO[idx] = opcode; }
/** * Gets the name of the given opcode. */ public static String getName(int opcode) { return get(opcode).getName(); }
/** * Puts the given opcode into the table of all ops. * * @param opcode non-null; the opcode */ private static void set(Info opcode) { int idx = opcode.getOpcode() - Opcodes.MIN_VALUE; INFO[idx] = opcode; }
/** * Gets the name of the given opcode. */ public static String getName(int opcode) { return get(opcode).getName(); }
/** * Gets the format (an {@link InstructionCodec}) for the given opcode * value. */ public static InstructionCodec getFormat(int opcode) { return get(opcode).getFormat(); }