summaryrefslogtreecommitdiffstats
path: root/dx/src/com/android/dx/io
diff options
context:
space:
mode:
authorDan Bornstein <danfuzz@android.com>2011-02-02 11:45:53 -0800
committerDan Bornstein <danfuzz@android.com>2011-02-02 11:45:53 -0800
commita754fbb1555f9ac2d14de0ffd0046c780732da5a (patch)
treeca59d428df03ca6b34818022f3737b27b700daa4 /dx/src/com/android/dx/io
parent38b861bc63b91114d52ba01e74d31fbf316a5784 (diff)
downloadandroid_dalvik-a754fbb1555f9ac2d14de0ffd0046c780732da5a.tar.gz
android_dalvik-a754fbb1555f9ac2d14de0ffd0046c780732da5a.tar.bz2
android_dalvik-a754fbb1555f9ac2d14de0ffd0046c780732da5a.zip
Move opcode names into OpcodeInfo.
This also allowed me to remove the Instruction argument from the CodeReader visitor methods. Per previous discussion, this also gets rid of the redundant argument output in FindUsages. I can clean up CodeReader some more in a follow-up. Change-Id: I7a65e8d74498e201fd169cddde0d1f19d6f33f81
Diffstat (limited to 'dx/src/com/android/dx/io')
-rw-r--r--dx/src/com/android/dx/io/CodeReader.java5
-rw-r--r--dx/src/com/android/dx/io/OpcodeInfo.java555
2 files changed, 293 insertions, 267 deletions
diff --git a/dx/src/com/android/dx/io/CodeReader.java b/dx/src/com/android/dx/io/CodeReader.java
index 21bec7e0d..e6ea717d0 100644
--- a/dx/src/com/android/dx/io/CodeReader.java
+++ b/dx/src/com/android/dx/io/CodeReader.java
@@ -382,7 +382,7 @@ public final class CodeReader {
Instruction instruction = instructions[di.getOpcode()];
Visitor visitor = instruction.visitor;
if (visitor != null) {
- visitor.visit(instruction, decodedInstructions, di);
+ visitor.visit(decodedInstructions, di);
}
}
}
@@ -422,8 +422,7 @@ public final class CodeReader {
}
public interface Visitor {
- void visit(Instruction instruction, DecodedInstruction[] all,
- DecodedInstruction one);
+ void visit(DecodedInstruction[] all, DecodedInstruction one);
}
private static class UnusedInstruction extends Instruction {
diff --git a/dx/src/com/android/dx/io/OpcodeInfo.java b/dx/src/com/android/dx/io/OpcodeInfo.java
index 4507d9bc9..d645207ca 100644
--- a/dx/src/com/android/dx/io/OpcodeInfo.java
+++ b/dx/src/com/android/dx/io/OpcodeInfo.java
@@ -30,1047 +30,1057 @@ public final class OpcodeInfo {
/** non-null; array containing all the information */
private static final Info[] INFO;
+ /**
+ * pseudo-opcode used for nonstandard formatted "instructions"
+ * (which are mostly not actually instructions, though they do
+ * appear in instruction lists). TODO: Retire the usage of this
+ * constant.
+ */
+ public static final Info SPECIAL_FORMAT =
+ new Info(Opcodes.SPECIAL_FORMAT, "<special>",
+ InstructionCodec.FORMAT_00X, null);
+
// TODO: These payload opcodes should be generated by opcode-gen.
public static final Info PACKED_SWITCH_PAYLOAD =
- new Info(Opcodes.PACKED_SWITCH_PAYLOAD,
+ new Info(Opcodes.PACKED_SWITCH_PAYLOAD, "packed-switch-payload",
InstructionCodec.FORMAT_PACKED_SWITCH_PAYLOAD, null);
public static final Info SPARSE_SWITCH_PAYLOAD =
- new Info(Opcodes.SPARSE_SWITCH_PAYLOAD,
+ new Info(Opcodes.SPARSE_SWITCH_PAYLOAD, "sparse-switch-payload",
InstructionCodec.FORMAT_SPARSE_SWITCH_PAYLOAD, null);
public static final Info FILL_ARRAY_DATA_PAYLOAD =
- new Info(Opcodes.FILL_ARRAY_DATA_PAYLOAD,
+ new Info(Opcodes.FILL_ARRAY_DATA_PAYLOAD, "fill-array-data-payload",
InstructionCodec.FORMAT_FILL_ARRAY_DATA_PAYLOAD, null);
// BEGIN(opcode-info-defs); GENERATED AUTOMATICALLY BY opcode-gen
public static final Info NOP =
- new Info(Opcodes.NOP,
+ new Info(Opcodes.NOP, "nop",
InstructionCodec.FORMAT_10X, null);
public static final Info MOVE =
- new Info(Opcodes.MOVE,
+ new Info(Opcodes.MOVE, "move",
InstructionCodec.FORMAT_12X, null);
public static final Info MOVE_FROM16 =
- new Info(Opcodes.MOVE_FROM16,
+ new Info(Opcodes.MOVE_FROM16, "move/from16",
InstructionCodec.FORMAT_22X, null);
public static final Info MOVE_16 =
- new Info(Opcodes.MOVE_16,
+ new Info(Opcodes.MOVE_16, "move/16",
InstructionCodec.FORMAT_32X, null);
public static final Info MOVE_WIDE =
- new Info(Opcodes.MOVE_WIDE,
+ new Info(Opcodes.MOVE_WIDE, "move-wide",
InstructionCodec.FORMAT_12X, null);
public static final Info MOVE_WIDE_FROM16 =
- new Info(Opcodes.MOVE_WIDE_FROM16,
+ new Info(Opcodes.MOVE_WIDE_FROM16, "move-wide/from16",
InstructionCodec.FORMAT_22X, null);
public static final Info MOVE_WIDE_16 =
- new Info(Opcodes.MOVE_WIDE_16,
+ new Info(Opcodes.MOVE_WIDE_16, "move-wide/16",
InstructionCodec.FORMAT_32X, null);
public static final Info MOVE_OBJECT =
- new Info(Opcodes.MOVE_OBJECT,
+ new Info(Opcodes.MOVE_OBJECT, "move-object",
InstructionCodec.FORMAT_12X, null);
public static final Info MOVE_OBJECT_FROM16 =
- new Info(Opcodes.MOVE_OBJECT_FROM16,
+ new Info(Opcodes.MOVE_OBJECT_FROM16, "move-object/from16",
InstructionCodec.FORMAT_22X, null);
public static final Info MOVE_OBJECT_16 =
- new Info(Opcodes.MOVE_OBJECT_16,
+ new Info(Opcodes.MOVE_OBJECT_16, "move-object/16",
InstructionCodec.FORMAT_32X, null);
public static final Info MOVE_RESULT =
- new Info(Opcodes.MOVE_RESULT,
+ new Info(Opcodes.MOVE_RESULT, "move-result",
InstructionCodec.FORMAT_11X, null);
public static final Info MOVE_RESULT_WIDE =
- new Info(Opcodes.MOVE_RESULT_WIDE,
+ new Info(Opcodes.MOVE_RESULT_WIDE, "move-result-wide",
InstructionCodec.FORMAT_11X, null);
public static final Info MOVE_RESULT_OBJECT =
- new Info(Opcodes.MOVE_RESULT_OBJECT,
+ new Info(Opcodes.MOVE_RESULT_OBJECT, "move-result-object",
InstructionCodec.FORMAT_11X, null);
public static final Info MOVE_EXCEPTION =
- new Info(Opcodes.MOVE_EXCEPTION,
+ new Info(Opcodes.MOVE_EXCEPTION, "move-exception",
InstructionCodec.FORMAT_11X, null);
public static final Info RETURN_VOID =
- new Info(Opcodes.RETURN_VOID,
+ new Info(Opcodes.RETURN_VOID, "return-void",
InstructionCodec.FORMAT_10X, null);
public static final Info RETURN =
- new Info(Opcodes.RETURN,
+ new Info(Opcodes.RETURN, "return",
InstructionCodec.FORMAT_11X, null);
public static final Info RETURN_WIDE =
- new Info(Opcodes.RETURN_WIDE,
+ new Info(Opcodes.RETURN_WIDE, "return-wide",
InstructionCodec.FORMAT_11X, null);
public static final Info RETURN_OBJECT =
- new Info(Opcodes.RETURN_OBJECT,
+ new Info(Opcodes.RETURN_OBJECT, "return-object",
InstructionCodec.FORMAT_11X, null);
public static final Info CONST_4 =
- new Info(Opcodes.CONST_4,
+ new Info(Opcodes.CONST_4, "const/4",
InstructionCodec.FORMAT_11N, null);
public static final Info CONST_16 =
- new Info(Opcodes.CONST_16,
+ new Info(Opcodes.CONST_16, "const/16",
InstructionCodec.FORMAT_21S, null);
public static final Info CONST =
- new Info(Opcodes.CONST,
+ new Info(Opcodes.CONST, "const",
InstructionCodec.FORMAT_31I, null);
public static final Info CONST_HIGH16 =
- new Info(Opcodes.CONST_HIGH16,
+ new Info(Opcodes.CONST_HIGH16, "const/high16",
InstructionCodec.FORMAT_21H, null);
public static final Info CONST_WIDE_16 =
- new Info(Opcodes.CONST_WIDE_16,
+ new Info(Opcodes.CONST_WIDE_16, "const-wide/16",
InstructionCodec.FORMAT_21S, null);
public static final Info CONST_WIDE_32 =
- new Info(Opcodes.CONST_WIDE_32,
+ new Info(Opcodes.CONST_WIDE_32, "const-wide/32",
InstructionCodec.FORMAT_31I, null);
public static final Info CONST_WIDE =
- new Info(Opcodes.CONST_WIDE,
+ new Info(Opcodes.CONST_WIDE, "const-wide",
InstructionCodec.FORMAT_51L, null);
public static final Info CONST_WIDE_HIGH16 =
- new Info(Opcodes.CONST_WIDE_HIGH16,
+ new Info(Opcodes.CONST_WIDE_HIGH16, "const-wide/high16",
InstructionCodec.FORMAT_21H, null);
public static final Info CONST_STRING =
- new Info(Opcodes.CONST_STRING,
+ new Info(Opcodes.CONST_STRING, "const-string",
InstructionCodec.FORMAT_21C, IndexType.STRING_REF);
public static final Info CONST_STRING_JUMBO =
- new Info(Opcodes.CONST_STRING_JUMBO,
+ new Info(Opcodes.CONST_STRING_JUMBO, "const-string/jumbo",
InstructionCodec.FORMAT_31C, IndexType.STRING_REF);
public static final Info CONST_CLASS =
- new Info(Opcodes.CONST_CLASS,
+ new Info(Opcodes.CONST_CLASS, "const-class",
InstructionCodec.FORMAT_21C, IndexType.TYPE_REF);
public static final Info MONITOR_ENTER =
- new Info(Opcodes.MONITOR_ENTER,
+ new Info(Opcodes.MONITOR_ENTER, "monitor-enter",
InstructionCodec.FORMAT_11X, null);
public static final Info MONITOR_EXIT =
- new Info(Opcodes.MONITOR_EXIT,
+ new Info(Opcodes.MONITOR_EXIT, "monitor-exit",
InstructionCodec.FORMAT_11X, null);
public static final Info CHECK_CAST =
- new Info(Opcodes.CHECK_CAST,
+ new Info(Opcodes.CHECK_CAST, "check-cast",
InstructionCodec.FORMAT_21C, IndexType.TYPE_REF);
public static final Info INSTANCE_OF =
- new Info(Opcodes.INSTANCE_OF,
+ new Info(Opcodes.INSTANCE_OF, "instance-of",
InstructionCodec.FORMAT_22C, IndexType.TYPE_REF);
public static final Info ARRAY_LENGTH =
- new Info(Opcodes.ARRAY_LENGTH,
+ new Info(Opcodes.ARRAY_LENGTH, "array-length",
InstructionCodec.FORMAT_12X, null);
public static final Info NEW_INSTANCE =
- new Info(Opcodes.NEW_INSTANCE,
+ new Info(Opcodes.NEW_INSTANCE, "new-instance",
InstructionCodec.FORMAT_21C, IndexType.TYPE_REF);
public static final Info NEW_ARRAY =
- new Info(Opcodes.NEW_ARRAY,
+ new Info(Opcodes.NEW_ARRAY, "new-array",
InstructionCodec.FORMAT_22C, IndexType.TYPE_REF);
public static final Info FILLED_NEW_ARRAY =
- new Info(Opcodes.FILLED_NEW_ARRAY,
+ new Info(Opcodes.FILLED_NEW_ARRAY, "filled-new-array",
InstructionCodec.FORMAT_35C, IndexType.TYPE_REF);
public static final Info FILLED_NEW_ARRAY_RANGE =
- new Info(Opcodes.FILLED_NEW_ARRAY_RANGE,
+ new Info(Opcodes.FILLED_NEW_ARRAY_RANGE, "filled-new-array/range",
InstructionCodec.FORMAT_3RC, IndexType.TYPE_REF);
public static final Info FILL_ARRAY_DATA =
- new Info(Opcodes.FILL_ARRAY_DATA,
+ new Info(Opcodes.FILL_ARRAY_DATA, "fill-array-data",
InstructionCodec.FORMAT_31T, null);
public static final Info THROW =
- new Info(Opcodes.THROW,
+ new Info(Opcodes.THROW, "throw",
InstructionCodec.FORMAT_11X, null);
public static final Info GOTO =
- new Info(Opcodes.GOTO,
+ new Info(Opcodes.GOTO, "goto",
InstructionCodec.FORMAT_10T, null);
public static final Info GOTO_16 =
- new Info(Opcodes.GOTO_16,
+ new Info(Opcodes.GOTO_16, "goto/16",
InstructionCodec.FORMAT_20T, null);
public static final Info GOTO_32 =
- new Info(Opcodes.GOTO_32,
+ new Info(Opcodes.GOTO_32, "goto/32",
InstructionCodec.FORMAT_30T, null);
public static final Info PACKED_SWITCH =
- new Info(Opcodes.PACKED_SWITCH,
+ new Info(Opcodes.PACKED_SWITCH, "packed-switch",
InstructionCodec.FORMAT_31T, null);
public static final Info SPARSE_SWITCH =
- new Info(Opcodes.SPARSE_SWITCH,
+ new Info(Opcodes.SPARSE_SWITCH, "sparse-switch",
InstructionCodec.FORMAT_31T, null);
public static final Info CMPL_FLOAT =
- new Info(Opcodes.CMPL_FLOAT,
+ new Info(Opcodes.CMPL_FLOAT, "cmpl-float",
InstructionCodec.FORMAT_23X, null);
public static final Info CMPG_FLOAT =
- new Info(Opcodes.CMPG_FLOAT,
+ new Info(Opcodes.CMPG_FLOAT, "cmpg-float",
InstructionCodec.FORMAT_23X, null);
public static final Info CMPL_DOUBLE =
- new Info(Opcodes.CMPL_DOUBLE,
+ new Info(Opcodes.CMPL_DOUBLE, "cmpl-double",
InstructionCodec.FORMAT_23X, null);
public static final Info CMPG_DOUBLE =
- new Info(Opcodes.CMPG_DOUBLE,
+ new Info(Opcodes.CMPG_DOUBLE, "cmpg-double",
InstructionCodec.FORMAT_23X, null);
public static final Info CMP_LONG =
- new Info(Opcodes.CMP_LONG,
+ new Info(Opcodes.CMP_LONG, "cmp-long",
InstructionCodec.FORMAT_23X, null);
public static final Info IF_EQ =
- new Info(Opcodes.IF_EQ,
+ new Info(Opcodes.IF_EQ, "if-eq",
InstructionCodec.FORMAT_22T, null);
public static final Info IF_NE =
- new Info(Opcodes.IF_NE,
+ new Info(Opcodes.IF_NE, "if-ne",
InstructionCodec.FORMAT_22T, null);
public static final Info IF_LT =
- new Info(Opcodes.IF_LT,
+ new Info(Opcodes.IF_LT, "if-lt",
InstructionCodec.FORMAT_22T, null);
public static final Info IF_GE =
- new Info(Opcodes.IF_GE,
+ new Info(Opcodes.IF_GE, "if-ge",
InstructionCodec.FORMAT_22T, null);
public static final Info IF_GT =
- new Info(Opcodes.IF_GT,
+ new Info(Opcodes.IF_GT, "if-gt",
InstructionCodec.FORMAT_22T, null);
public static final Info IF_LE =
- new Info(Opcodes.IF_LE,
+ new Info(Opcodes.IF_LE, "if-le",
InstructionCodec.FORMAT_22T, null);
public static final Info IF_EQZ =
- new Info(Opcodes.IF_EQZ,
+ new Info(Opcodes.IF_EQZ, "if-eqz",
InstructionCodec.FORMAT_21T, null);
public static final Info IF_NEZ =
- new Info(Opcodes.IF_NEZ,
+ new Info(Opcodes.IF_NEZ, "if-nez",
InstructionCodec.FORMAT_21T, null);
public static final Info IF_LTZ =
- new Info(Opcodes.IF_LTZ,
+ new Info(Opcodes.IF_LTZ, "if-ltz",
InstructionCodec.FORMAT_21T, null);
public static final Info IF_GEZ =
- new Info(Opcodes.IF_GEZ,
+ new Info(Opcodes.IF_GEZ, "if-gez",
InstructionCodec.FORMAT_21T, null);
public static final Info IF_GTZ =
- new Info(Opcodes.IF_GTZ,
+ new Info(Opcodes.IF_GTZ, "if-gtz",
InstructionCodec.FORMAT_21T, null);
public static final Info IF_LEZ =
- new Info(Opcodes.IF_LEZ,
+ new Info(Opcodes.IF_LEZ, "if-lez",
InstructionCodec.FORMAT_21T, null);
public static final Info AGET =
- new Info(Opcodes.AGET,
+ new Info(Opcodes.AGET, "aget",
InstructionCodec.FORMAT_23X, null);
public static final Info AGET_WIDE =
- new Info(Opcodes.AGET_WIDE,
+ new Info(Opcodes.AGET_WIDE, "aget-wide",
InstructionCodec.FORMAT_23X, null);
public static final Info AGET_OBJECT =
- new Info(Opcodes.AGET_OBJECT,
+ new Info(Opcodes.AGET_OBJECT, "aget-object",
InstructionCodec.FORMAT_23X, null);
public static final Info AGET_BOOLEAN =
- new Info(Opcodes.AGET_BOOLEAN,
+ new Info(Opcodes.AGET_BOOLEAN, "aget-boolean",
InstructionCodec.FORMAT_23X, null);
public static final Info AGET_BYTE =
- new Info(Opcodes.AGET_BYTE,
+ new Info(Opcodes.AGET_BYTE, "aget-byte",
InstructionCodec.FORMAT_23X, null);
public static final Info AGET_CHAR =
- new Info(Opcodes.AGET_CHAR,
+ new Info(Opcodes.AGET_CHAR, "aget-char",
InstructionCodec.FORMAT_23X, null);
public static final Info AGET_SHORT =
- new Info(Opcodes.AGET_SHORT,
+ new Info(Opcodes.AGET_SHORT, "aget-short",
InstructionCodec.FORMAT_23X, null);
public static final Info APUT =
- new Info(Opcodes.APUT,
+ new Info(Opcodes.APUT, "aput",
InstructionCodec.FORMAT_23X, null);
public static final Info APUT_WIDE =
- new Info(Opcodes.APUT_WIDE,
+ new Info(Opcodes.APUT_WIDE, "aput-wide",
InstructionCodec.FORMAT_23X, null);
public static final Info APUT_OBJECT =
- new Info(Opcodes.APUT_OBJECT,
+ new Info(Opcodes.APUT_OBJECT, "aput-object",
InstructionCodec.FORMAT_23X, null);
public static final Info APUT_BOOLEAN =
- new Info(Opcodes.APUT_BOOLEAN,
+ new Info(Opcodes.APUT_BOOLEAN, "aput-boolean",
InstructionCodec.FORMAT_23X, null);
public static final Info APUT_BYTE =
- new Info(Opcodes.APUT_BYTE,
+ new Info(Opcodes.APUT_BYTE, "aput-byte",
InstructionCodec.FORMAT_23X, null);
public static final Info APUT_CHAR =
- new Info(Opcodes.APUT_CHAR,
+ new Info(Opcodes.APUT_CHAR, "aput-char",
InstructionCodec.FORMAT_23X, null);
public static final Info APUT_SHORT =
- new Info(Opcodes.APUT_SHORT,
+ new Info(Opcodes.APUT_SHORT, "aput-short",
InstructionCodec.FORMAT_23X, null);
public static final Info IGET =
- new Info(Opcodes.IGET,
+ new Info(Opcodes.IGET, "iget",
InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
public static final Info IGET_WIDE =
- new Info(Opcodes.IGET_WIDE,
+ new Info(Opcodes.IGET_WIDE, "iget-wide",
InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
public static final Info IGET_OBJECT =
- new Info(Opcodes.IGET_OBJECT,
+ new Info(Opcodes.IGET_OBJECT, "iget-object",
InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
public static final Info IGET_BOOLEAN =
- new Info(Opcodes.IGET_BOOLEAN,
+ new Info(Opcodes.IGET_BOOLEAN, "iget-boolean",
InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
public static final Info IGET_BYTE =
- new Info(Opcodes.IGET_BYTE,
+ new Info(Opcodes.IGET_BYTE, "iget-byte",
InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
public static final Info IGET_CHAR =
- new Info(Opcodes.IGET_CHAR,
+ new Info(Opcodes.IGET_CHAR, "iget-char",
InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
public static final Info IGET_SHORT =
- new Info(Opcodes.IGET_SHORT,
+ new Info(Opcodes.IGET_SHORT, "iget-short",
InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
public static final Info IPUT =
- new Info(Opcodes.IPUT,
+ new Info(Opcodes.IPUT, "iput",
InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
public static final Info IPUT_WIDE =
- new Info(Opcodes.IPUT_WIDE,
+ new Info(Opcodes.IPUT_WIDE, "iput-wide",
InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
public static final Info IPUT_OBJECT =
- new Info(Opcodes.IPUT_OBJECT,
+ new Info(Opcodes.IPUT_OBJECT, "iput-object",
InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
public static final Info IPUT_BOOLEAN =
- new Info(Opcodes.IPUT_BOOLEAN,
+ new Info(Opcodes.IPUT_BOOLEAN, "iput-boolean",
InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
public static final Info IPUT_BYTE =
- new Info(Opcodes.IPUT_BYTE,
+ new Info(Opcodes.IPUT_BYTE, "iput-byte",
InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
public static final Info IPUT_CHAR =
- new Info(Opcodes.IPUT_CHAR,
+ new Info(Opcodes.IPUT_CHAR, "iput-char",
InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
public static final Info IPUT_SHORT =
- new Info(Opcodes.IPUT_SHORT,
+ new Info(Opcodes.IPUT_SHORT, "iput-short",
InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
public static final Info SGET =
- new Info(Opcodes.SGET,
+ new Info(Opcodes.SGET, "sget",
InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
public static final Info SGET_WIDE =
- new Info(Opcodes.SGET_WIDE,
+ new Info(Opcodes.SGET_WIDE, "sget-wide",
InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
public static final Info SGET_OBJECT =
- new Info(Opcodes.SGET_OBJECT,
+ new Info(Opcodes.SGET_OBJECT, "sget-object",
InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
public static final Info SGET_BOOLEAN =
- new Info(Opcodes.SGET_BOOLEAN,
+ new Info(Opcodes.SGET_BOOLEAN, "sget-boolean",
InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
public static final Info SGET_BYTE =
- new Info(Opcodes.SGET_BYTE,
+ new Info(Opcodes.SGET_BYTE, "sget-byte",
InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
public static final Info SGET_CHAR =
- new Info(Opcodes.SGET_CHAR,
+ new Info(Opcodes.SGET_CHAR, "sget-char",
InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
public static final Info SGET_SHORT =
- new Info(Opcodes.SGET_SHORT,
+ new Info(Opcodes.SGET_SHORT, "sget-short",
InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
public static final Info SPUT =
- new Info(Opcodes.SPUT,
+ new Info(Opcodes.SPUT, "sput",
InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
public static final Info SPUT_WIDE =
- new Info(Opcodes.SPUT_WIDE,
+ new Info(Opcodes.SPUT_WIDE, "sput-wide",
InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
public static final Info SPUT_OBJECT =
- new Info(Opcodes.SPUT_OBJECT,
+ new Info(Opcodes.SPUT_OBJECT, "sput-object",
InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
public static final Info SPUT_BOOLEAN =
- new Info(Opcodes.SPUT_BOOLEAN,
+ new Info(Opcodes.SPUT_BOOLEAN, "sput-boolean",
InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
public static final Info SPUT_BYTE =
- new Info(Opcodes.SPUT_BYTE,
+ new Info(Opcodes.SPUT_BYTE, "sput-byte",
InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
public static final Info SPUT_CHAR =
- new Info(Opcodes.SPUT_CHAR,
+ new Info(Opcodes.SPUT_CHAR, "sput-char",
InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
public static final Info SPUT_SHORT =
- new Info(Opcodes.SPUT_SHORT,
+ new Info(Opcodes.SPUT_SHORT, "sput-short",
InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
public static final Info INVOKE_VIRTUAL =
- new Info(Opcodes.INVOKE_VIRTUAL,
+ new Info(Opcodes.INVOKE_VIRTUAL, "invoke-virtual",
InstructionCodec.FORMAT_35C, IndexType.METHOD_REF);
public static final Info INVOKE_SUPER =
- new Info(Opcodes.INVOKE_SUPER,
+ new Info(Opcodes.INVOKE_SUPER, "invoke-super",
InstructionCodec.FORMAT_35C, IndexType.METHOD_REF);
public static final Info INVOKE_DIRECT =
- new Info(Opcodes.INVOKE_DIRECT,
+ new Info(Opcodes.INVOKE_DIRECT, "invoke-direct",
InstructionCodec.FORMAT_35C, IndexType.METHOD_REF);
public static final Info INVOKE_STATIC =
- new Info(Opcodes.INVOKE_STATIC,
+ new Info(Opcodes.INVOKE_STATIC, "invoke-static",
InstructionCodec.FORMAT_35C, IndexType.METHOD_REF);
public static final Info INVOKE_INTERFACE =
- new Info(Opcodes.INVOKE_INTERFACE,
+ new Info(Opcodes.INVOKE_INTERFACE, "invoke-interface",
InstructionCodec.FORMAT_35C, IndexType.METHOD_REF);
public static final Info INVOKE_VIRTUAL_RANGE =
- new Info(Opcodes.INVOKE_VIRTUAL_RANGE,
+ new Info(Opcodes.INVOKE_VIRTUAL_RANGE, "invoke-virtual/range",
InstructionCodec.FORMAT_3RC, IndexType.METHOD_REF);
public static final Info INVOKE_SUPER_RANGE =
- new Info(Opcodes.INVOKE_SUPER_RANGE,
+ new Info(Opcodes.INVOKE_SUPER_RANGE, "invoke-super/range",
InstructionCodec.FORMAT_3RC, IndexType.METHOD_REF);
public static final Info INVOKE_DIRECT_RANGE =
- new Info(Opcodes.INVOKE_DIRECT_RANGE,
+ new Info(Opcodes.INVOKE_DIRECT_RANGE, "invoke-direct/range",
InstructionCodec.FORMAT_3RC, IndexType.METHOD_REF);
public static final Info INVOKE_STATIC_RANGE =
- new Info(Opcodes.INVOKE_STATIC_RANGE,
+ new Info(Opcodes.INVOKE_STATIC_RANGE, "invoke-static/range",
InstructionCodec.FORMAT_3RC, IndexType.METHOD_REF);
public static final Info INVOKE_INTERFACE_RANGE =
- new Info(Opcodes.INVOKE_INTERFACE_RANGE,
+ new Info(Opcodes.INVOKE_INTERFACE_RANGE, "invoke-interface/range",
InstructionCodec.FORMAT_3RC, IndexType.METHOD_REF);
public static final Info NEG_INT =
- new Info(Opcodes.NEG_INT,
+ new Info(Opcodes.NEG_INT, "neg-int",
InstructionCodec.FORMAT_12X, null);
public static final Info NOT_INT =
- new Info(Opcodes.NOT_INT,
+ new Info(Opcodes.NOT_INT, "not-int",
InstructionCodec.FORMAT_12X, null);
public static final Info NEG_LONG =
- new Info(Opcodes.NEG_LONG,
+ new Info(Opcodes.NEG_LONG, "neg-long",
InstructionCodec.FORMAT_12X, null);
public static final Info NOT_LONG =
- new Info(Opcodes.NOT_LONG,
+ new Info(Opcodes.NOT_LONG, "not-long",
InstructionCodec.FORMAT_12X, null);
public static final Info NEG_FLOAT =
- new Info(Opcodes.NEG_FLOAT,
+ new Info(Opcodes.NEG_FLOAT, "neg-float",
InstructionCodec.FORMAT_12X, null);
public static final Info NEG_DOUBLE =
- new Info(Opcodes.NEG_DOUBLE,
+ new Info(Opcodes.NEG_DOUBLE, "neg-double",
InstructionCodec.FORMAT_12X, null);
public static final Info INT_TO_LONG =
- new Info(Opcodes.INT_TO_LONG,
+ new Info(Opcodes.INT_TO_LONG, "int-to-long",
InstructionCodec.FORMAT_12X, null);
public static final Info INT_TO_FLOAT =
- new Info(Opcodes.INT_TO_FLOAT,
+ new Info(Opcodes.INT_TO_FLOAT, "int-to-float",
InstructionCodec.FORMAT_12X, null);
public static final Info INT_TO_DOUBLE =
- new Info(Opcodes.INT_TO_DOUBLE,
+ new Info(Opcodes.INT_TO_DOUBLE, "int-to-double",
InstructionCodec.FORMAT_12X, null);
public static final Info LONG_TO_INT =
- new Info(Opcodes.LONG_TO_INT,
+ new Info(Opcodes.LONG_TO_INT, "long-to-int",
InstructionCodec.FORMAT_12X, null);
public static final Info LONG_TO_FLOAT =
- new Info(Opcodes.LONG_TO_FLOAT,
+ new Info(Opcodes.LONG_TO_FLOAT, "long-to-float",
InstructionCodec.FORMAT_12X, null);
public static final Info LONG_TO_DOUBLE =
- new Info(Opcodes.LONG_TO_DOUBLE,
+ new Info(Opcodes.LONG_TO_DOUBLE, "long-to-double",
InstructionCodec.FORMAT_12X, null);
public static final Info FLOAT_TO_INT =
- new Info(Opcodes.FLOAT_TO_INT,
+ new Info(Opcodes.FLOAT_TO_INT, "float-to-int",
InstructionCodec.FORMAT_12X, null);
public static final Info FLOAT_TO_LONG =
- new Info(Opcodes.FLOAT_TO_LONG,
+ new Info(Opcodes.FLOAT_TO_LONG, "float-to-long",
InstructionCodec.FORMAT_12X, null);
public static final Info FLOAT_TO_DOUBLE =
- new Info(Opcodes.FLOAT_TO_DOUBLE,
+ new Info(Opcodes.FLOAT_TO_DOUBLE, "float-to-double",
InstructionCodec.FORMAT_12X, null);
public static final Info DOUBLE_TO_INT =
- new Info(Opcodes.DOUBLE_TO_INT,
+ new Info(Opcodes.DOUBLE_TO_INT, "double-to-int",
InstructionCodec.FORMAT_12X, null);
public static final Info DOUBLE_TO_LONG =
- new Info(Opcodes.DOUBLE_TO_LONG,
+ new Info(Opcodes.DOUBLE_TO_LONG, "double-to-long",
InstructionCodec.FORMAT_12X, null);
public static final Info DOUBLE_TO_FLOAT =
- new Info(Opcodes.DOUBLE_TO_FLOAT,
+ new Info(Opcodes.DOUBLE_TO_FLOAT, "double-to-float",
InstructionCodec.FORMAT_12X, null);
public static final Info INT_TO_BYTE =
- new Info(Opcodes.INT_TO_BYTE,
+ new Info(Opcodes.INT_TO_BYTE, "int-to-byte",
InstructionCodec.FORMAT_12X, null);
public static final Info INT_TO_CHAR =
- new Info(Opcodes.INT_TO_CHAR,
+ new Info(Opcodes.INT_TO_CHAR, "int-to-char",
InstructionCodec.FORMAT_12X, null);
public static final Info INT_TO_SHORT =
- new Info(Opcodes.INT_TO_SHORT,
+ new Info(Opcodes.INT_TO_SHORT, "int-to-short",
InstructionCodec.FORMAT_12X, null);
public static final Info ADD_INT =
- new Info(Opcodes.ADD_INT,
+ new Info(Opcodes.ADD_INT, "add-int",
InstructionCodec.FORMAT_23X, null);
public static final Info SUB_INT =
- new Info(Opcodes.SUB_INT,
+ new Info(Opcodes.SUB_INT, "sub-int",
InstructionCodec.FORMAT_23X, null);
public static final Info MUL_INT =
- new Info(Opcodes.MUL_INT,
+ new Info(Opcodes.MUL_INT, "mul-int",
InstructionCodec.FORMAT_23X, null);
public static final Info DIV_INT =
- new Info(Opcodes.DIV_INT,
+ new Info(Opcodes.DIV_INT, "div-int",
InstructionCodec.FORMAT_23X, null);
public static final Info REM_INT =
- new Info(Opcodes.REM_INT,
+ new Info(Opcodes.REM_INT, "rem-int",
InstructionCodec.FORMAT_23X, null);
public static final Info AND_INT =
- new Info(Opcodes.AND_INT,
+ new Info(Opcodes.AND_INT, "and-int",
InstructionCodec.FORMAT_23X, null);
public static final Info OR_INT =
- new Info(Opcodes.OR_INT,
+ new Info(Opcodes.OR_INT, "or-int",
InstructionCodec.FORMAT_23X, null);
public static final Info XOR_INT =
- new Info(Opcodes.XOR_INT,
+ new Info(Opcodes.XOR_INT, "xor-int",
InstructionCodec.FORMAT_23X, null);
public static final Info SHL_INT =
- new Info(Opcodes.SHL_INT,
+ new Info(Opcodes.SHL_INT, "shl-int",
InstructionCodec.FORMAT_23X, null);
public static final Info SHR_INT =
- new Info(Opcodes.SHR_INT,
+ new Info(Opcodes.SHR_INT, "shr-int",
InstructionCodec.FORMAT_23X, null);
public static final Info USHR_INT =
- new Info(Opcodes.USHR_INT,
+ new Info(Opcodes.USHR_INT, "ushr-int",
InstructionCodec.FORMAT_23X, null);
public static final Info ADD_LONG =
- new Info(Opcodes.ADD_LONG,
+ new Info(Opcodes.ADD_LONG, "add-long",
InstructionCodec.FORMAT_23X, null);
public static final Info SUB_LONG =
- new Info(Opcodes.SUB_LONG,
+ new Info(Opcodes.SUB_LONG, "sub-long",
InstructionCodec.FORMAT_23X, null);
public static final Info MUL_LONG =
- new Info(Opcodes.MUL_LONG,
+ new Info(Opcodes.MUL_LONG, "mul-long",
InstructionCodec.FORMAT_23X, null);
public static final Info DIV_LONG =
- new Info(Opcodes.DIV_LONG,
+ new Info(Opcodes.DIV_LONG, "div-long",
InstructionCodec.FORMAT_23X, null);
public static final Info REM_LONG =
- new Info(Opcodes.REM_LONG,
+ new Info(Opcodes.REM_LONG, "rem-long",
InstructionCodec.FORMAT_23X, null);
public static final Info AND_LONG =
- new Info(Opcodes.AND_LONG,
+ new Info(Opcodes.AND_LONG, "and-long",
InstructionCodec.FORMAT_23X, null);
public static final Info OR_LONG =
- new Info(Opcodes.OR_LONG,
+ new Info(Opcodes.OR_LONG, "or-long",
InstructionCodec.FORMAT_23X, null);
public static final Info XOR_LONG =
- new Info(Opcodes.XOR_LONG,
+ new Info(Opcodes.XOR_LONG, "xor-long",
InstructionCodec.FORMAT_23X, null);
public static final Info SHL_LONG =
- new Info(Opcodes.SHL_LONG,
+ new Info(Opcodes.SHL_LONG, "shl-long",
InstructionCodec.FORMAT_23X, null);
public static final Info SHR_LONG =
- new Info(Opcodes.SHR_LONG,
+ new Info(Opcodes.SHR_LONG, "shr-long",
InstructionCodec.FORMAT_23X, null);
public static final Info USHR_LONG =
- new Info(Opcodes.USHR_LONG,
+ new Info(Opcodes.USHR_LONG, "ushr-long",
InstructionCodec.FORMAT_23X, null);
public static final Info ADD_FLOAT =
- new Info(Opcodes.ADD_FLOAT,
+ new Info(Opcodes.ADD_FLOAT, "add-float",
InstructionCodec.FORMAT_23X, null);
public static final Info SUB_FLOAT =
- new Info(Opcodes.SUB_FLOAT,
+ new Info(Opcodes.SUB_FLOAT, "sub-float",
InstructionCodec.FORMAT_23X, null);
public static final Info MUL_FLOAT =
- new Info(Opcodes.MUL_FLOAT,
+ new Info(Opcodes.MUL_FLOAT, "mul-float",
InstructionCodec.FORMAT_23X, null);
public static final Info DIV_FLOAT =
- new Info(Opcodes.DIV_FLOAT,
+ new Info(Opcodes.DIV_FLOAT, "div-float",
InstructionCodec.FORMAT_23X, null);
public static final Info REM_FLOAT =
- new Info(Opcodes.REM_FLOAT,
+ new Info(Opcodes.REM_FLOAT, "rem-float",
InstructionCodec.FORMAT_23X, null);
public static final Info ADD_DOUBLE =
- new Info(Opcodes.ADD_DOUBLE,
+ new Info(Opcodes.ADD_DOUBLE, "add-double",
InstructionCodec.FORMAT_23X, null);
public static final Info SUB_DOUBLE =
- new Info(Opcodes.SUB_DOUBLE,
+ new Info(Opcodes.SUB_DOUBLE, "sub-double",
InstructionCodec.FORMAT_23X, null);
public static final Info MUL_DOUBLE =
- new Info(Opcodes.MUL_DOUBLE,
+ new Info(Opcodes.MUL_DOUBLE, "mul-double",
InstructionCodec.FORMAT_23X, null);
public static final Info DIV_DOUBLE =
- new Info(Opcodes.DIV_DOUBLE,
+ new Info(Opcodes.DIV_DOUBLE, "div-double",
InstructionCodec.FORMAT_23X, null);
public static final Info REM_DOUBLE =
- new Info(Opcodes.REM_DOUBLE,
+ new Info(Opcodes.REM_DOUBLE, "rem-double",
InstructionCodec.FORMAT_23X, null);
public static final Info ADD_INT_2ADDR =
- new Info(Opcodes.ADD_INT_2ADDR,
+ new Info(Opcodes.ADD_INT_2ADDR, "add-int/2addr",
InstructionCodec.FORMAT_12X, null);
public static final Info SUB_INT_2ADDR =
- new Info(Opcodes.SUB_INT_2ADDR,
+ new Info(Opcodes.SUB_INT_2ADDR, "sub-int/2addr",
InstructionCodec.FORMAT_12X, null);
public static final Info MUL_INT_2ADDR =
- new Info(Opcodes.MUL_INT_2ADDR,
+ new Info(Opcodes.MUL_INT_2ADDR, "mul-int/2addr",
InstructionCodec.FORMAT_12X, null);
public static final Info DIV_INT_2ADDR =
- new Info(Opcodes.DIV_INT_2ADDR,
+ new Info(Opcodes.DIV_INT_2ADDR, "div-int/2addr",
InstructionCodec.FORMAT_12X, null);
public static final Info REM_INT_2ADDR =
- new Info(Opcodes.REM_INT_2ADDR,
+ new Info(Opcodes.REM_INT_2ADDR, "rem-int/2addr",
InstructionCodec.FORMAT_12X, null);
public static final Info AND_INT_2ADDR =
- new Info(Opcodes.AND_INT_2ADDR,
+ new Info(Opcodes.AND_INT_2ADDR, "and-int/2addr",
InstructionCodec.FORMAT_12X, null);
public static final Info OR_INT_2ADDR =
- new Info(Opcodes.OR_INT_2ADDR,
+ new Info(Opcodes.OR_INT_2ADDR, "or-int/2addr",
InstructionCodec.FORMAT_12X, null);
public static final Info XOR_INT_2ADDR =
- new Info(Opcodes.XOR_INT_2ADDR,
+ new Info(Opcodes.XOR_INT_2ADDR, "xor-int/2addr",
InstructionCodec.FORMAT_12X, null);
public static final Info SHL_INT_2ADDR =
- new Info(Opcodes.SHL_INT_2ADDR,
+ new Info(Opcodes.SHL_INT_2ADDR, "shl-int/2addr",
InstructionCodec.FORMAT_12X, null);
public static final Info SHR_INT_2ADDR =
- new Info(Opcodes.SHR_INT_2ADDR,
+ new Info(Opcodes.SHR_INT_2ADDR, "shr-int/2addr",
InstructionCodec.FORMAT_12X, null);
public static final Info USHR_INT_2ADDR =
- new Info(Opcodes.USHR_INT_2ADDR,
+ new Info(Opcodes.USHR_INT_2ADDR, "ushr-int/2addr",
InstructionCodec.FORMAT_12X, null);
public static final Info ADD_LONG_2ADDR =
- new Info(Opcodes.ADD_LONG_2ADDR,
+ new Info(Opcodes.ADD_LONG_2ADDR, "add-long/2addr",
InstructionCodec.FORMAT_12X, null);
public static final Info SUB_LONG_2ADDR =
- new Info(Opcodes.SUB_LONG_2ADDR,
+ new Info(Opcodes.SUB_LONG_2ADDR, "sub-long/2addr",
InstructionCodec.FORMAT_12X, null);
public static final Info MUL_LONG_2ADDR =
- new Info(Opcodes.MUL_LONG_2ADDR,
+ new Info(Opcodes.MUL_LONG_2ADDR, "mul-long/2addr",
InstructionCodec.FORMAT_12X, null);
public static final Info DIV_LONG_2ADDR =
- new Info(Opcodes.DIV_LONG_2ADDR,
+ new Info(Opcodes.DIV_LONG_2ADDR, "div-long/2addr",
InstructionCodec.FORMAT_12X, null);
public static final Info REM_LONG_2ADDR =
- new Info(Opcodes.REM_LONG_2ADDR,
+ new Info(Opcodes.REM_LONG_2ADDR, "rem-long/2addr",
InstructionCodec.FORMAT_12X, null);
public static final Info AND_LONG_2ADDR =
- new Info(Opcodes.AND_LONG_2ADDR,
+ new Info(Opcodes.AND_LONG_2ADDR, "and-long/2addr",
InstructionCodec.FORMAT_12X, null);
public static final Info OR_LONG_2ADDR =
- new Info(Opcodes.OR_LONG_2ADDR,
+ new Info(Opcodes.OR_LONG_2ADDR, "or-long/2addr",
InstructionCodec.FORMAT_12X, null);
public static final Info XOR_LONG_2ADDR =
- new Info(Opcodes.XOR_LONG_2ADDR,
+ new Info(Opcodes.XOR_LONG_2ADDR, "xor-long/2addr",
InstructionCodec.FORMAT_12X, null);
public static final Info SHL_LONG_2ADDR =
- new Info(Opcodes.SHL_LONG_2ADDR,
+ new Info(Opcodes.SHL_LONG_2ADDR, "shl-long/2addr",
InstructionCodec.FORMAT_12X, null);
public static final Info SHR_LONG_2ADDR =
- new Info(Opcodes.SHR_LONG_2ADDR,
+ new Info(Opcodes.SHR_LONG_2ADDR, "shr-long/2addr",
InstructionCodec.FORMAT_12X, null);
public static final Info USHR_LONG_2ADDR =
- new Info(Opcodes.USHR_LONG_2ADDR,
+ new Info(Opcodes.USHR_LONG_2ADDR, "ushr-long/2addr",
InstructionCodec.FORMAT_12X, null);
public static final Info ADD_FLOAT_2ADDR =
- new Info(Opcodes.ADD_FLOAT_2ADDR,
+ new Info(Opcodes.ADD_FLOAT_2ADDR, "add-float/2addr",
InstructionCodec.FORMAT_12X, null);
public static final Info SUB_FLOAT_2ADDR =
- new Info(Opcodes.SUB_FLOAT_2ADDR,
+ new Info(Opcodes.SUB_FLOAT_2ADDR, "sub-float/2addr",
InstructionCodec.FORMAT_12X, null);
public static final Info MUL_FLOAT_2ADDR =
- new Info(Opcodes.MUL_FLOAT_2ADDR,
+ new Info(Opcodes.MUL_FLOAT_2ADDR, "mul-float/2addr",
InstructionCodec.FORMAT_12X, null);
public static final Info DIV_FLOAT_2ADDR =
- new Info(Opcodes.DIV_FLOAT_2ADDR,
+ new Info(Opcodes.DIV_FLOAT_2ADDR, "div-float/2addr",
InstructionCodec.FORMAT_12X, null);
public static final Info REM_FLOAT_2ADDR =
- new Info(Opcodes.REM_FLOAT_2ADDR,
+ new Info(Opcodes.REM_FLOAT_2ADDR, "rem-float/2addr",
InstructionCodec.FORMAT_12X, null);
public static final Info ADD_DOUBLE_2ADDR =
- new Info(Opcodes.ADD_DOUBLE_2ADDR,
+ new Info(Opcodes.ADD_DOUBLE_2ADDR, "add-double/2addr",
InstructionCodec.FORMAT_12X, null);
public static final Info SUB_DOUBLE_2ADDR =
- new Info(Opcodes.SUB_DOUBLE_2ADDR,
+ new Info(Opcodes.SUB_DOUBLE_2ADDR, "sub-double/2addr",
InstructionCodec.FORMAT_12X, null);
public static final Info MUL_DOUBLE_2ADDR =
- new Info(Opcodes.MUL_DOUBLE_2ADDR,
+ new Info(Opcodes.MUL_DOUBLE_2ADDR, "mul-double/2addr",
InstructionCodec.FORMAT_12X, null);
public static final Info DIV_DOUBLE_2ADDR =
- new Info(Opcodes.DIV_DOUBLE_2ADDR,
+ new Info(Opcodes.DIV_DOUBLE_2ADDR, "div-double/2addr",
InstructionCodec.FORMAT_12X, null);
public static final Info REM_DOUBLE_2ADDR =
- new Info(Opcodes.REM_DOUBLE_2ADDR,
+ new Info(Opcodes.REM_DOUBLE_2ADDR, "rem-double/2addr",
InstructionCodec.FORMAT_12X, null);
public static final Info ADD_INT_LIT16 =
- new Info(Opcodes.ADD_INT_LIT16,
+ new Info(Opcodes.ADD_INT_LIT16, "add-int/lit16",
InstructionCodec.FORMAT_22S, null);
public static final Info RSUB_INT =
- new Info(Opcodes.RSUB_INT,
+ new Info(Opcodes.RSUB_INT, "rsub-int",
InstructionCodec.FORMAT_22S, null);
public static final Info MUL_INT_LIT16 =
- new Info(Opcodes.MUL_INT_LIT16,
+ new Info(Opcodes.MUL_INT_LIT16, "mul-int/lit16",
InstructionCodec.FORMAT_22S, null);
public static final Info DIV_INT_LIT16 =
- new Info(Opcodes.DIV_INT_LIT16,
+ new Info(Opcodes.DIV_INT_LIT16, "div-int/lit16",
InstructionCodec.FORMAT_22S, null);
public static final Info REM_INT_LIT16 =
- new Info(Opcodes.REM_INT_LIT16,
+ new Info(Opcodes.REM_INT_LIT16, "rem-int/lit16",
InstructionCodec.FORMAT_22S, null);
public static final Info AND_INT_LIT16 =
- new Info(Opcodes.AND_INT_LIT16,
+ new Info(Opcodes.AND_INT_LIT16, "and-int/lit16",
InstructionCodec.FORMAT_22S, null);
public static final Info OR_INT_LIT16 =
- new Info(Opcodes.OR_INT_LIT16,
+ new Info(Opcodes.OR_INT_LIT16, "or-int/lit16",
InstructionCodec.FORMAT_22S, null);
public static final Info XOR_INT_LIT16 =
- new Info(Opcodes.XOR_INT_LIT16,
+ new Info(Opcodes.XOR_INT_LIT16, "xor-int/lit16",
InstructionCodec.FORMAT_22S, null);
public static final Info ADD_INT_LIT8 =
- new Info(Opcodes.ADD_INT_LIT8,
+ new Info(Opcodes.ADD_INT_LIT8, "add-int/lit8",
InstructionCodec.FORMAT_22B, null);
public static final Info RSUB_INT_LIT8 =
- new Info(Opcodes.RSUB_INT_LIT8,
+ new Info(Opcodes.RSUB_INT_LIT8, "rsub-int/lit8",
InstructionCodec.FORMAT_22B, null);
public static final Info MUL_INT_LIT8 =
- new Info(Opcodes.MUL_INT_LIT8,
+ new Info(Opcodes.MUL_INT_LIT8, "mul-int/lit8",
InstructionCodec.FORMAT_22B, null);
public static final Info DIV_INT_LIT8 =
- new Info(Opcodes.DIV_INT_LIT8,
+ new Info(Opcodes.DIV_INT_LIT8, "div-int/lit8",
InstructionCodec.FORMAT_22B, null);
public static final Info REM_INT_LIT8 =
- new Info(Opcodes.REM_INT_LIT8,
+ new Info(Opcodes.REM_INT_LIT8, "rem-int/lit8",
InstructionCodec.FORMAT_22B, null);
public static final Info AND_INT_LIT8 =
- new Info(Opcodes.AND_INT_LIT8,
+ new Info(Opcodes.AND_INT_LIT8, "and-int/lit8",
InstructionCodec.FORMAT_22B, null);
public static final Info OR_INT_LIT8 =
- new Info(Opcodes.OR_INT_LIT8,
+ new Info(Opcodes.OR_INT_LIT8, "or-int/lit8",
InstructionCodec.FORMAT_22B, null);
public static final Info XOR_INT_LIT8 =
- new Info(Opcodes.XOR_INT_LIT8,
+ new Info(Opcodes.XOR_INT_LIT8, "xor-int/lit8",
InstructionCodec.FORMAT_22B, null);
public static final Info SHL_INT_LIT8 =
- new Info(Opcodes.SHL_INT_LIT8,
+ new Info(Opcodes.SHL_INT_LIT8, "shl-int/lit8",
InstructionCodec.FORMAT_22B, null);
public static final Info SHR_INT_LIT8 =
- new Info(Opcodes.SHR_INT_LIT8,
+ new Info(Opcodes.SHR_INT_LIT8, "shr-int/lit8",
InstructionCodec.FORMAT_22B, null);
public static final Info USHR_INT_LIT8 =
- new Info(Opcodes.USHR_INT_LIT8,
+ new Info(Opcodes.USHR_INT_LIT8, "ushr-int/lit8",
InstructionCodec.FORMAT_22B, null);
public static final Info CONST_CLASS_JUMBO =
- new Info(Opcodes.CONST_CLASS_JUMBO,
+ new Info(Opcodes.CONST_CLASS_JUMBO, "const-class/jumbo",
InstructionCodec.FORMAT_41C, IndexType.TYPE_REF);
public static final Info CHECK_CAST_JUMBO =
- new Info(Opcodes.CHECK_CAST_JUMBO,
+ new Info(Opcodes.CHECK_CAST_JUMBO, "check-cast/jumbo",
InstructionCodec.FORMAT_41C, IndexType.TYPE_REF);
public static final Info INSTANCE_OF_JUMBO =
- new Info(Opcodes.INSTANCE_OF_JUMBO,
+ new Info(Opcodes.INSTANCE_OF_JUMBO, "instance-of/jumbo",
InstructionCodec.FORMAT_52C, IndexType.TYPE_REF);
public static final Info NEW_INSTANCE_JUMBO =
- new Info(Opcodes.NEW_INSTANCE_JUMBO,
+ new Info(Opcodes.NEW_INSTANCE_JUMBO, "new-instance/jumbo",
InstructionCodec.FORMAT_41C, IndexType.TYPE_REF);
public static final Info NEW_ARRAY_JUMBO =
- new Info(Opcodes.NEW_ARRAY_JUMBO,
+ new Info(Opcodes.NEW_ARRAY_JUMBO, "new-array/jumbo",
InstructionCodec.FORMAT_52C, IndexType.TYPE_REF);
public static final Info FILLED_NEW_ARRAY_JUMBO =
- new Info(Opcodes.FILLED_NEW_ARRAY_JUMBO,
+ new Info(Opcodes.FILLED_NEW_ARRAY_JUMBO, "filled-new-array/jumbo",
InstructionCodec.FORMAT_5RC, IndexType.TYPE_REF);
public static final Info IGET_JUMBO =
- new Info(Opcodes.IGET_JUMBO,
+ new Info(Opcodes.IGET_JUMBO, "iget/jumbo",
InstructionCodec.FORMAT_52C, IndexType.FIELD_REF);
public static final Info IGET_WIDE_JUMBO =
- new Info(Opcodes.IGET_WIDE_JUMBO,
+ new Info(Opcodes.IGET_WIDE_JUMBO, "iget-wide/jumbo",
InstructionCodec.FORMAT_52C, IndexType.FIELD_REF);
public static final Info IGET_OBJECT_JUMBO =
- new Info(Opcodes.IGET_OBJECT_JUMBO,
+ new Info(Opcodes.IGET_OBJECT_JUMBO, "iget-object/jumbo",
InstructionCodec.FORMAT_52C, IndexType.FIELD_REF);
public static final Info IGET_BOOLEAN_JUMBO =
- new Info(Opcodes.IGET_BOOLEAN_JUMBO,
+ new Info(Opcodes.IGET_BOOLEAN_JUMBO, "iget-boolean/jumbo",
InstructionCodec.FORMAT_52C, IndexType.FIELD_REF);
public static final Info IGET_BYTE_JUMBO =
- new Info(Opcodes.IGET_BYTE_JUMBO,
+ new Info(Opcodes.IGET_BYTE_JUMBO, "iget-byte/jumbo",
InstructionCodec.FORMAT_52C, IndexType.FIELD_REF);
public static final Info IGET_CHAR_JUMBO =
- new Info(Opcodes.IGET_CHAR_JUMBO,
+ new Info(Opcodes.IGET_CHAR_JUMBO, "iget-char/jumbo",
InstructionCodec.FORMAT_52C, IndexType.FIELD_REF);
public static final Info IGET_SHORT_JUMBO =
- new Info(Opcodes.IGET_SHORT_JUMBO,
+ new Info(Opcodes.IGET_SHORT_JUMBO, "iget-short/jumbo",
InstructionCodec.FORMAT_52C, IndexType.FIELD_REF);
public static final Info IPUT_JUMBO =
- new Info(Opcodes.IPUT_JUMBO,
+ new Info(Opcodes.IPUT_JUMBO, "iput/jumbo",
InstructionCodec.FORMAT_52C, IndexType.FIELD_REF);
public static final Info IPUT_WIDE_JUMBO =
- new Info(Opcodes.IPUT_WIDE_JUMBO,
+ new Info(Opcodes.IPUT_WIDE_JUMBO, "iput-wide/jumbo",
InstructionCodec.FORMAT_52C, IndexType.FIELD_REF);
public static final Info IPUT_OBJECT_JUMBO =
- new Info(Opcodes.IPUT_OBJECT_JUMBO,
+ new Info(Opcodes.IPUT_OBJECT_JUMBO, "iput-object/jumbo",
InstructionCodec.FORMAT_52C, IndexType.FIELD_REF);
public static final Info IPUT_BOOLEAN_JUMBO =
- new Info(Opcodes.IPUT_BOOLEAN_JUMBO,
+ new Info(Opcodes.IPUT_BOOLEAN_JUMBO, "iput-boolean/jumbo",
InstructionCodec.FORMAT_52C, IndexType.FIELD_REF);
public static final Info IPUT_BYTE_JUMBO =
- new Info(Opcodes.IPUT_BYTE_JUMBO,
+ new Info(Opcodes.IPUT_BYTE_JUMBO, "iput-byte/jumbo",
InstructionCodec.FORMAT_52C, IndexType.FIELD_REF);
public static final Info IPUT_CHAR_JUMBO =
- new Info(Opcodes.IPUT_CHAR_JUMBO,
+ new Info(Opcodes.IPUT_CHAR_JUMBO, "iput-char/jumbo",
InstructionCodec.FORMAT_52C, IndexType.FIELD_REF);
public static final Info IPUT_SHORT_JUMBO =
- new Info(Opcodes.IPUT_SHORT_JUMBO,
+ new Info(Opcodes.IPUT_SHORT_JUMBO, "iput-short/jumbo",
InstructionCodec.FORMAT_52C, IndexType.FIELD_REF);
public static final Info SGET_JUMBO =
- new Info(Opcodes.SGET_JUMBO,
+ new Info(Opcodes.SGET_JUMBO, "sget/jumbo",
InstructionCodec.FORMAT_41C, IndexType.FIELD_REF);
public static final Info SGET_WIDE_JUMBO =
- new Info(Opcodes.SGET_WIDE_JUMBO,
+ new Info(Opcodes.SGET_WIDE_JUMBO, "sget-wide/jumbo",
InstructionCodec.FORMAT_41C, IndexType.FIELD_REF);
public static final Info SGET_OBJECT_JUMBO =
- new Info(Opcodes.SGET_OBJECT_JUMBO,
+ new Info(Opcodes.SGET_OBJECT_JUMBO, "sget-object/jumbo",
InstructionCodec.FORMAT_41C, IndexType.FIELD_REF);
public static final Info SGET_BOOLEAN_JUMBO =
- new Info(Opcodes.SGET_BOOLEAN_JUMBO,
+ new Info(Opcodes.SGET_BOOLEAN_JUMBO, "sget-boolean/jumbo",
InstructionCodec.FORMAT_41C, IndexType.FIELD_REF);
public static final Info SGET_BYTE_JUMBO =
- new Info(Opcodes.SGET_BYTE_JUMBO,
+ new Info(Opcodes.SGET_BYTE_JUMBO, "sget-byte/jumbo",
InstructionCodec.FORMAT_41C, IndexType.FIELD_REF);
public static final Info SGET_CHAR_JUMBO =
- new Info(Opcodes.SGET_CHAR_JUMBO,
+ new Info(Opcodes.SGET_CHAR_JUMBO, "sget-char/jumbo",
InstructionCodec.FORMAT_41C, IndexType.FIELD_REF);
public static final Info SGET_SHORT_JUMBO =
- new Info(Opcodes.SGET_SHORT_JUMBO,
+ new Info(Opcodes.SGET_SHORT_JUMBO, "sget-short/jumbo",
InstructionCodec.FORMAT_41C, IndexType.FIELD_REF);
public static final Info SPUT_JUMBO =
- new Info(Opcodes.SPUT_JUMBO,
+ new Info(Opcodes.SPUT_JUMBO, "sput/jumbo",
InstructionCodec.FORMAT_41C, IndexType.FIELD_REF);
public static final Info SPUT_WIDE_JUMBO =
- new Info(Opcodes.SPUT_WIDE_JUMBO,
+ new Info(Opcodes.SPUT_WIDE_JUMBO, "sput-wide/jumbo",
InstructionCodec.FORMAT_41C, IndexType.FIELD_REF);
public static final Info SPUT_OBJECT_JUMBO =
- new Info(Opcodes.SPUT_OBJECT_JUMBO,
+ new Info(Opcodes.SPUT_OBJECT_JUMBO, "sput-object/jumbo",
InstructionCodec.FORMAT_41C, IndexType.FIELD_REF);
public static final Info SPUT_BOOLEAN_JUMBO =
- new Info(Opcodes.SPUT_BOOLEAN_JUMBO,
+ new Info(Opcodes.SPUT_BOOLEAN_JUMBO, "sput-boolean/jumbo",
InstructionCodec.FORMAT_41C, IndexType.FIELD_REF);
public static final Info SPUT_BYTE_JUMBO =
- new Info(Opcodes.SPUT_BYTE_JUMBO,
+ new Info(Opcodes.SPUT_BYTE_JUMBO, "sput-byte/jumbo",
InstructionCodec.FORMAT_41C, IndexType.FIELD_REF);
public static final Info SPUT_CHAR_JUMBO =
- new Info(Opcodes.SPUT_CHAR_JUMBO,
+ new Info(Opcodes.SPUT_CHAR_JUMBO, "sput-char/jumbo",
InstructionCodec.FORMAT_41C, IndexType.FIELD_REF);
public static final Info SPUT_SHORT_JUMBO =
- new Info(Opcodes.SPUT_SHORT_JUMBO,
+ new Info(Opcodes.SPUT_SHORT_JUMBO, "sput-short/jumbo",
InstructionCodec.FORMAT_41C, IndexType.FIELD_REF);
public static final Info INVOKE_VIRTUAL_JUMBO =
- new Info(Opcodes.INVOKE_VIRTUAL_JUMBO,
+ new Info(Opcodes.INVOKE_VIRTUAL_JUMBO, "invoke-virtual/jumbo",
InstructionCodec.FORMAT_5RC, IndexType.METHOD_REF);
public static final Info INVOKE_SUPER_JUMBO =
- new Info(Opcodes.INVOKE_SUPER_JUMBO,
+ new Info(Opcodes.INVOKE_SUPER_JUMBO, "invoke-super/jumbo",
InstructionCodec.FORMAT_5RC, IndexType.METHOD_REF);
public static final Info INVOKE_DIRECT_JUMBO =
- new Info(Opcodes.INVOKE_DIRECT_JUMBO,
+ new Info(Opcodes.INVOKE_DIRECT_JUMBO, "invoke-direct/jumbo",
InstructionCodec.FORMAT_5RC, IndexType.METHOD_REF);
public static final Info INVOKE_STATIC_JUMBO =
- new Info(Opcodes.INVOKE_STATIC_JUMBO,
+ new Info(Opcodes.INVOKE_STATIC_JUMBO, "invoke-static/jumbo",
InstructionCodec.FORMAT_5RC, IndexType.METHOD_REF);
public static final Info INVOKE_INTERFACE_JUMBO =
- new Info(Opcodes.INVOKE_INTERFACE_JUMBO,
+ new Info(Opcodes.INVOKE_INTERFACE_JUMBO, "invoke-interface/jumbo",
InstructionCodec.FORMAT_5RC, IndexType.METHOD_REF);
// END(opcode-info-defs)
@@ -1079,6 +1089,9 @@ public final class OpcodeInfo {
static {
INFO = new Info[Opcodes.MAX_VALUE - Opcodes.MIN_VALUE + 1];
+ // TODO: Stop using this constant.
+ set(SPECIAL_FORMAT);
+
// TODO: These payload opcodes should be generated by opcode-gen.
set(PACKED_SWITCH_PAYLOAD);
set(SPARSE_SWITCH_PAYLOAD);
@@ -1376,10 +1389,10 @@ public final class OpcodeInfo {
}
/**
- * Gets the {@link IndexType} for the given opcode value.
+ * Gets the name of the given opcode.
*/
- public static IndexType getIndexType(int opcode) {
- return get(opcode).getIndexType();
+ public static String getName(int opcode) {
+ return get(opcode).getName();
}
/**
@@ -1391,6 +1404,13 @@ public final class OpcodeInfo {
}
/**
+ * Gets the {@link IndexType} for the given opcode value.
+ */
+ public static IndexType getIndexType(int opcode) {
+ return get(opcode).getIndexType();
+ }
+
+ /**
* Puts the given opcode into the table of all ops.
*
* @param opcode non-null; the opcode
@@ -1405,11 +1425,14 @@ public final class OpcodeInfo {
*/
public static class Info {
private final int opcode;
+ private final String name;
private final InstructionCodec format;
private final IndexType indexType;
- public Info(int opcode, InstructionCodec format, IndexType indexType) {
+ public Info(int opcode, String name, InstructionCodec format,
+ IndexType indexType) {
this.opcode = opcode;
+ this.name = name;
this.format = format;
this.indexType = indexType;
}
@@ -1418,6 +1441,10 @@ public final class OpcodeInfo {
return opcode;
}
+ public String getName() {
+ return name;
+ }
+
public InstructionCodec getFormat() {
return format;
}