/** non-null; array containing all the information */ privatestaticfinal Info[] INFO;
/** *pseudo-opcodeusedfornonstandardformatted"instructions" *(whicharemostlynotactuallyinstructions,thoughtheydo *appearininstructionlists).TODO:Retiretheusageofthis *constant.
*/ publicstaticfinal Info SPECIAL_FORMAT = new Info(Opcodes.SPECIAL_FORMAT, "<special>",
InstructionCodec.FORMAT_00X, IndexType.NONE);
// TODO: These payload opcodes should be generated by opcode-gen.
publicstaticfinal Info PACKED_SWITCH_PAYLOAD = new Info(Opcodes.PACKED_SWITCH_PAYLOAD, "packed-switch-payload",
InstructionCodec.FORMAT_PACKED_SWITCH_PAYLOAD,
IndexType.NONE);
publicstaticfinal Info SPARSE_SWITCH_PAYLOAD = new Info(Opcodes.SPARSE_SWITCH_PAYLOAD, "sparse-switch-payload",
InstructionCodec.FORMAT_SPARSE_SWITCH_PAYLOAD,
IndexType.NONE);
publicstaticfinal Info FILL_ARRAY_DATA_PAYLOAD = new Info(Opcodes.FILL_ARRAY_DATA_PAYLOAD, "fill-array-data-payload",
InstructionCodec.FORMAT_FILL_ARRAY_DATA_PAYLOAD,
IndexType.NONE);
// BEGIN(opcode-info-defs); GENERATED AUTOMATICALLY BY opcode-gen publicstaticfinal Info NOP = new Info(Opcodes.NOP, "nop",
InstructionCodec.FORMAT_10X, IndexType.NONE);
publicstaticfinal Info MOVE = new Info(Opcodes.MOVE, "move",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info MOVE_FROM16 = new Info(Opcodes.MOVE_FROM16, "move/from16",
InstructionCodec.FORMAT_22X, IndexType.NONE);
publicstaticfinal Info MOVE_16 = new Info(Opcodes.MOVE_16, "move/16",
InstructionCodec.FORMAT_32X, IndexType.NONE);
publicstaticfinal Info MOVE_WIDE = new Info(Opcodes.MOVE_WIDE, "move-wide",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info MOVE_WIDE_FROM16 = new Info(Opcodes.MOVE_WIDE_FROM16, "move-wide/from16",
InstructionCodec.FORMAT_22X, IndexType.NONE);
publicstaticfinal Info MOVE_WIDE_16 = new Info(Opcodes.MOVE_WIDE_16, "move-wide/16",
InstructionCodec.FORMAT_32X, IndexType.NONE);
publicstaticfinal Info MOVE_OBJECT = new Info(Opcodes.MOVE_OBJECT, "move-object",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info MOVE_OBJECT_FROM16 = new Info(Opcodes.MOVE_OBJECT_FROM16, "move-object/from16",
InstructionCodec.FORMAT_22X, IndexType.NONE);
publicstaticfinal Info MOVE_OBJECT_16 = new Info(Opcodes.MOVE_OBJECT_16, "move-object/16",
InstructionCodec.FORMAT_32X, IndexType.NONE);
publicstaticfinal Info MOVE_RESULT = new Info(Opcodes.MOVE_RESULT, "move-result",
InstructionCodec.FORMAT_11X, IndexType.NONE);
publicstaticfinal Info MOVE_RESULT_WIDE = new Info(Opcodes.MOVE_RESULT_WIDE, "move-result-wide",
InstructionCodec.FORMAT_11X, IndexType.NONE);
publicstaticfinal Info MOVE_RESULT_OBJECT = new Info(Opcodes.MOVE_RESULT_OBJECT, "move-result-object",
InstructionCodec.FORMAT_11X, IndexType.NONE);
publicstaticfinal Info MOVE_EXCEPTION = new Info(Opcodes.MOVE_EXCEPTION, "move-exception",
InstructionCodec.FORMAT_11X, IndexType.NONE);
publicstaticfinal Info RETURN_VOID = new Info(Opcodes.RETURN_VOID, "return-void",
InstructionCodec.FORMAT_10X, IndexType.NONE);
publicstaticfinal Info RETURN = new Info(Opcodes.RETURN, "return",
InstructionCodec.FORMAT_11X, IndexType.NONE);
publicstaticfinal Info RETURN_WIDE = new Info(Opcodes.RETURN_WIDE, "return-wide",
InstructionCodec.FORMAT_11X, IndexType.NONE);
publicstaticfinal Info RETURN_OBJECT = new Info(Opcodes.RETURN_OBJECT, "return-object",
InstructionCodec.FORMAT_11X, IndexType.NONE);
publicstaticfinal Info CONST_4 = new Info(Opcodes.CONST_4, "const/4",
InstructionCodec.FORMAT_11N, IndexType.NONE);
publicstaticfinal Info CONST_16 = new Info(Opcodes.CONST_16, "const/16",
InstructionCodec.FORMAT_21S, IndexType.NONE);
publicstaticfinal Info CONST = new Info(Opcodes.CONST, "const",
InstructionCodec.FORMAT_31I, IndexType.NONE);
publicstaticfinal Info CONST_HIGH16 = new Info(Opcodes.CONST_HIGH16, "const/high16",
InstructionCodec.FORMAT_21H, IndexType.NONE);
publicstaticfinal Info CONST_WIDE_16 = new Info(Opcodes.CONST_WIDE_16, "const-wide/16",
InstructionCodec.FORMAT_21S, IndexType.NONE);
publicstaticfinal Info CONST_WIDE_32 = new Info(Opcodes.CONST_WIDE_32, "const-wide/32",
InstructionCodec.FORMAT_31I, IndexType.NONE);
publicstaticfinal Info CONST_WIDE = new Info(Opcodes.CONST_WIDE, "const-wide",
InstructionCodec.FORMAT_51L, IndexType.NONE);
publicstaticfinal Info CONST_WIDE_HIGH16 = new Info(Opcodes.CONST_WIDE_HIGH16, "const-wide/high16",
InstructionCodec.FORMAT_21H, IndexType.NONE);
publicstaticfinal Info CONST_STRING = new Info(Opcodes.CONST_STRING, "const-string",
InstructionCodec.FORMAT_21C, IndexType.STRING_REF);
publicstaticfinal Info CONST_STRING_JUMBO = new Info(Opcodes.CONST_STRING_JUMBO, "const-string/jumbo",
InstructionCodec.FORMAT_31C, IndexType.STRING_REF);
publicstaticfinal Info CONST_CLASS = new Info(Opcodes.CONST_CLASS, "const-class",
InstructionCodec.FORMAT_21C, IndexType.TYPE_REF);
publicstaticfinal Info MONITOR_ENTER = new Info(Opcodes.MONITOR_ENTER, "monitor-enter",
InstructionCodec.FORMAT_11X, IndexType.NONE);
publicstaticfinal Info MONITOR_EXIT = new Info(Opcodes.MONITOR_EXIT, "monitor-exit",
InstructionCodec.FORMAT_11X, IndexType.NONE);
publicstaticfinal Info CHECK_CAST = new Info(Opcodes.CHECK_CAST, "check-cast",
InstructionCodec.FORMAT_21C, IndexType.TYPE_REF);
publicstaticfinal Info INSTANCE_OF = new Info(Opcodes.INSTANCE_OF, "instance-of",
InstructionCodec.FORMAT_22C, IndexType.TYPE_REF);
publicstaticfinal Info ARRAY_LENGTH = new Info(Opcodes.ARRAY_LENGTH, "array-length",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info NEW_INSTANCE = new Info(Opcodes.NEW_INSTANCE, "new-instance",
InstructionCodec.FORMAT_21C, IndexType.TYPE_REF);
publicstaticfinal Info NEW_ARRAY = new Info(Opcodes.NEW_ARRAY, "new-array",
InstructionCodec.FORMAT_22C, IndexType.TYPE_REF);
publicstaticfinal Info FILLED_NEW_ARRAY = new Info(Opcodes.FILLED_NEW_ARRAY, "filled-new-array",
InstructionCodec.FORMAT_35C, IndexType.TYPE_REF);
publicstaticfinal Info FILLED_NEW_ARRAY_RANGE = new Info(Opcodes.FILLED_NEW_ARRAY_RANGE, "filled-new-array/range",
InstructionCodec.FORMAT_3RC, IndexType.TYPE_REF);
publicstaticfinal Info FILL_ARRAY_DATA = new Info(Opcodes.FILL_ARRAY_DATA, "fill-array-data",
InstructionCodec.FORMAT_31T, IndexType.NONE);
publicstaticfinal Info THROW = new Info(Opcodes.THROW, "throw",
InstructionCodec.FORMAT_11X, IndexType.NONE);
publicstaticfinal Info GOTO = new Info(Opcodes.GOTO, "goto",
InstructionCodec.FORMAT_10T, IndexType.NONE);
publicstaticfinal Info GOTO_16 = new Info(Opcodes.GOTO_16, "goto/16",
InstructionCodec.FORMAT_20T, IndexType.NONE);
publicstaticfinal Info GOTO_32 = new Info(Opcodes.GOTO_32, "goto/32",
InstructionCodec.FORMAT_30T, IndexType.NONE);
publicstaticfinal Info PACKED_SWITCH = new Info(Opcodes.PACKED_SWITCH, "packed-switch",
InstructionCodec.FORMAT_31T, IndexType.NONE);
publicstaticfinal Info SPARSE_SWITCH = new Info(Opcodes.SPARSE_SWITCH, "sparse-switch",
InstructionCodec.FORMAT_31T, IndexType.NONE);
publicstaticfinal Info CMPL_FLOAT = new Info(Opcodes.CMPL_FLOAT, "cmpl-float",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info CMPG_FLOAT = new Info(Opcodes.CMPG_FLOAT, "cmpg-float",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info CMPL_DOUBLE = new Info(Opcodes.CMPL_DOUBLE, "cmpl-double",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info CMPG_DOUBLE = new Info(Opcodes.CMPG_DOUBLE, "cmpg-double",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info CMP_LONG = new Info(Opcodes.CMP_LONG, "cmp-long",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info IF_EQ = new Info(Opcodes.IF_EQ, "if-eq",
InstructionCodec.FORMAT_22T, IndexType.NONE);
publicstaticfinal Info IF_NE = new Info(Opcodes.IF_NE, "if-ne",
InstructionCodec.FORMAT_22T, IndexType.NONE);
publicstaticfinal Info IF_LT = new Info(Opcodes.IF_LT, "if-lt",
InstructionCodec.FORMAT_22T, IndexType.NONE);
publicstaticfinal Info IF_GE = new Info(Opcodes.IF_GE, "if-ge",
InstructionCodec.FORMAT_22T, IndexType.NONE);
publicstaticfinal Info IF_GT = new Info(Opcodes.IF_GT, "if-gt",
InstructionCodec.FORMAT_22T, IndexType.NONE);
publicstaticfinal Info IF_LE = new Info(Opcodes.IF_LE, "if-le",
InstructionCodec.FORMAT_22T, IndexType.NONE);
publicstaticfinal Info IF_EQZ = new Info(Opcodes.IF_EQZ, "if-eqz",
InstructionCodec.FORMAT_21T, IndexType.NONE);
publicstaticfinal Info IF_NEZ = new Info(Opcodes.IF_NEZ, "if-nez",
InstructionCodec.FORMAT_21T, IndexType.NONE);
publicstaticfinal Info IF_LTZ = new Info(Opcodes.IF_LTZ, "if-ltz",
InstructionCodec.FORMAT_21T, IndexType.NONE);
publicstaticfinal Info IF_GEZ = new Info(Opcodes.IF_GEZ, "if-gez",
InstructionCodec.FORMAT_21T, IndexType.NONE);
publicstaticfinal Info IF_GTZ = new Info(Opcodes.IF_GTZ, "if-gtz",
InstructionCodec.FORMAT_21T, IndexType.NONE);
publicstaticfinal Info IF_LEZ = new Info(Opcodes.IF_LEZ, "if-lez",
InstructionCodec.FORMAT_21T, IndexType.NONE);
publicstaticfinal Info AGET = new Info(Opcodes.AGET, "aget",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info AGET_WIDE = new Info(Opcodes.AGET_WIDE, "aget-wide",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info AGET_OBJECT = new Info(Opcodes.AGET_OBJECT, "aget-object",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info AGET_BOOLEAN = new Info(Opcodes.AGET_BOOLEAN, "aget-boolean",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info AGET_BYTE = new Info(Opcodes.AGET_BYTE, "aget-byte",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info AGET_CHAR = new Info(Opcodes.AGET_CHAR, "aget-char",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info AGET_SHORT = new Info(Opcodes.AGET_SHORT, "aget-short",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info APUT = new Info(Opcodes.APUT, "aput",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info APUT_WIDE = new Info(Opcodes.APUT_WIDE, "aput-wide",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info APUT_OBJECT = new Info(Opcodes.APUT_OBJECT, "aput-object",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info APUT_BOOLEAN = new Info(Opcodes.APUT_BOOLEAN, "aput-boolean",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info APUT_BYTE = new Info(Opcodes.APUT_BYTE, "aput-byte",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info APUT_CHAR = new Info(Opcodes.APUT_CHAR, "aput-char",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info APUT_SHORT = new Info(Opcodes.APUT_SHORT, "aput-short",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info IGET = new Info(Opcodes.IGET, "iget",
InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
publicstaticfinal Info IGET_WIDE = new Info(Opcodes.IGET_WIDE, "iget-wide",
InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
publicstaticfinal Info IGET_OBJECT = new Info(Opcodes.IGET_OBJECT, "iget-object",
InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
publicstaticfinal Info IGET_BOOLEAN = new Info(Opcodes.IGET_BOOLEAN, "iget-boolean",
InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
publicstaticfinal Info IGET_BYTE = new Info(Opcodes.IGET_BYTE, "iget-byte",
InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
publicstaticfinal Info IGET_CHAR = new Info(Opcodes.IGET_CHAR, "iget-char",
InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
publicstaticfinal Info IGET_SHORT = new Info(Opcodes.IGET_SHORT, "iget-short",
InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
publicstaticfinal Info IPUT = new Info(Opcodes.IPUT, "iput",
InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
publicstaticfinal Info IPUT_WIDE = new Info(Opcodes.IPUT_WIDE, "iput-wide",
InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
publicstaticfinal Info IPUT_OBJECT = new Info(Opcodes.IPUT_OBJECT, "iput-object",
InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
publicstaticfinal Info IPUT_BOOLEAN = new Info(Opcodes.IPUT_BOOLEAN, "iput-boolean",
InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
publicstaticfinal Info IPUT_BYTE = new Info(Opcodes.IPUT_BYTE, "iput-byte",
InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
publicstaticfinal Info IPUT_CHAR = new Info(Opcodes.IPUT_CHAR, "iput-char",
InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
publicstaticfinal Info IPUT_SHORT = new Info(Opcodes.IPUT_SHORT, "iput-short",
InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
publicstaticfinal Info SGET = new Info(Opcodes.SGET, "sget",
InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
publicstaticfinal Info SGET_WIDE = new Info(Opcodes.SGET_WIDE, "sget-wide",
InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
publicstaticfinal Info SGET_OBJECT = new Info(Opcodes.SGET_OBJECT, "sget-object",
InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
publicstaticfinal Info SGET_BOOLEAN = new Info(Opcodes.SGET_BOOLEAN, "sget-boolean",
InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
publicstaticfinal Info SGET_BYTE = new Info(Opcodes.SGET_BYTE, "sget-byte",
InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
publicstaticfinal Info SGET_CHAR = new Info(Opcodes.SGET_CHAR, "sget-char",
InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
publicstaticfinal Info SGET_SHORT = new Info(Opcodes.SGET_SHORT, "sget-short",
InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
publicstaticfinal Info SPUT = new Info(Opcodes.SPUT, "sput",
InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
publicstaticfinal Info SPUT_WIDE = new Info(Opcodes.SPUT_WIDE, "sput-wide",
InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
publicstaticfinal Info SPUT_OBJECT = new Info(Opcodes.SPUT_OBJECT, "sput-object",
InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
publicstaticfinal Info SPUT_BOOLEAN = new Info(Opcodes.SPUT_BOOLEAN, "sput-boolean",
InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
publicstaticfinal Info SPUT_BYTE = new Info(Opcodes.SPUT_BYTE, "sput-byte",
InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
publicstaticfinal Info SPUT_CHAR = new Info(Opcodes.SPUT_CHAR, "sput-char",
InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
publicstaticfinal Info SPUT_SHORT = new Info(Opcodes.SPUT_SHORT, "sput-short",
InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
publicstaticfinal Info INVOKE_VIRTUAL = new Info(Opcodes.INVOKE_VIRTUAL, "invoke-virtual",
InstructionCodec.FORMAT_35C, IndexType.METHOD_REF);
publicstaticfinal Info INVOKE_SUPER = new Info(Opcodes.INVOKE_SUPER, "invoke-super",
InstructionCodec.FORMAT_35C, IndexType.METHOD_REF);
publicstaticfinal Info INVOKE_DIRECT = new Info(Opcodes.INVOKE_DIRECT, "invoke-direct",
InstructionCodec.FORMAT_35C, IndexType.METHOD_REF);
publicstaticfinal Info INVOKE_STATIC = new Info(Opcodes.INVOKE_STATIC, "invoke-static",
InstructionCodec.FORMAT_35C, IndexType.METHOD_REF);
publicstaticfinal Info INVOKE_INTERFACE = new Info(Opcodes.INVOKE_INTERFACE, "invoke-interface",
InstructionCodec.FORMAT_35C, IndexType.METHOD_REF);
publicstaticfinal Info INVOKE_VIRTUAL_RANGE = new Info(Opcodes.INVOKE_VIRTUAL_RANGE, "invoke-virtual/range",
InstructionCodec.FORMAT_3RC, IndexType.METHOD_REF);
publicstaticfinal Info INVOKE_SUPER_RANGE = new Info(Opcodes.INVOKE_SUPER_RANGE, "invoke-super/range",
InstructionCodec.FORMAT_3RC, IndexType.METHOD_REF);
publicstaticfinal Info INVOKE_DIRECT_RANGE = new Info(Opcodes.INVOKE_DIRECT_RANGE, "invoke-direct/range",
InstructionCodec.FORMAT_3RC, IndexType.METHOD_REF);
publicstaticfinal Info INVOKE_STATIC_RANGE = new Info(Opcodes.INVOKE_STATIC_RANGE, "invoke-static/range",
InstructionCodec.FORMAT_3RC, IndexType.METHOD_REF);
publicstaticfinal Info INVOKE_INTERFACE_RANGE = new Info(Opcodes.INVOKE_INTERFACE_RANGE, "invoke-interface/range",
InstructionCodec.FORMAT_3RC, IndexType.METHOD_REF);
publicstaticfinal Info NEG_INT = new Info(Opcodes.NEG_INT, "neg-int",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info NOT_INT = new Info(Opcodes.NOT_INT, "not-int",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info NEG_LONG = new Info(Opcodes.NEG_LONG, "neg-long",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info NOT_LONG = new Info(Opcodes.NOT_LONG, "not-long",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info NEG_FLOAT = new Info(Opcodes.NEG_FLOAT, "neg-float",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info NEG_DOUBLE = new Info(Opcodes.NEG_DOUBLE, "neg-double",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info INT_TO_LONG = new Info(Opcodes.INT_TO_LONG, "int-to-long",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info INT_TO_FLOAT = new Info(Opcodes.INT_TO_FLOAT, "int-to-float",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info INT_TO_DOUBLE = new Info(Opcodes.INT_TO_DOUBLE, "int-to-double",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info LONG_TO_INT = new Info(Opcodes.LONG_TO_INT, "long-to-int",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info LONG_TO_FLOAT = new Info(Opcodes.LONG_TO_FLOAT, "long-to-float",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info LONG_TO_DOUBLE = new Info(Opcodes.LONG_TO_DOUBLE, "long-to-double",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info FLOAT_TO_INT = new Info(Opcodes.FLOAT_TO_INT, "float-to-int",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info FLOAT_TO_LONG = new Info(Opcodes.FLOAT_TO_LONG, "float-to-long",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info FLOAT_TO_DOUBLE = new Info(Opcodes.FLOAT_TO_DOUBLE, "float-to-double",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info DOUBLE_TO_INT = new Info(Opcodes.DOUBLE_TO_INT, "double-to-int",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info DOUBLE_TO_LONG = new Info(Opcodes.DOUBLE_TO_LONG, "double-to-long",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info DOUBLE_TO_FLOAT = new Info(Opcodes.DOUBLE_TO_FLOAT, "double-to-float",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info INT_TO_BYTE = new Info(Opcodes.INT_TO_BYTE, "int-to-byte",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info INT_TO_CHAR = new Info(Opcodes.INT_TO_CHAR, "int-to-char",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info INT_TO_SHORT = new Info(Opcodes.INT_TO_SHORT, "int-to-short",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info ADD_INT = new Info(Opcodes.ADD_INT, "add-int",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info SUB_INT = new Info(Opcodes.SUB_INT, "sub-int",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info MUL_INT = new Info(Opcodes.MUL_INT, "mul-int",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info DIV_INT = new Info(Opcodes.DIV_INT, "div-int",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info REM_INT = new Info(Opcodes.REM_INT, "rem-int",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info AND_INT = new Info(Opcodes.AND_INT, "and-int",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info OR_INT = new Info(Opcodes.OR_INT, "or-int",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info XOR_INT = new Info(Opcodes.XOR_INT, "xor-int",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info SHL_INT = new Info(Opcodes.SHL_INT, "shl-int",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info SHR_INT = new Info(Opcodes.SHR_INT, "shr-int",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info USHR_INT = new Info(Opcodes.USHR_INT, "ushr-int",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info ADD_LONG = new Info(Opcodes.ADD_LONG, "add-long",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info SUB_LONG = new Info(Opcodes.SUB_LONG, "sub-long",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info MUL_LONG = new Info(Opcodes.MUL_LONG, "mul-long",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info DIV_LONG = new Info(Opcodes.DIV_LONG, "div-long",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info REM_LONG = new Info(Opcodes.REM_LONG, "rem-long",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info AND_LONG = new Info(Opcodes.AND_LONG, "and-long",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info OR_LONG = new Info(Opcodes.OR_LONG, "or-long",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info XOR_LONG = new Info(Opcodes.XOR_LONG, "xor-long",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info SHL_LONG = new Info(Opcodes.SHL_LONG, "shl-long",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info SHR_LONG = new Info(Opcodes.SHR_LONG, "shr-long",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info USHR_LONG = new Info(Opcodes.USHR_LONG, "ushr-long",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info ADD_FLOAT = new Info(Opcodes.ADD_FLOAT, "add-float",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info SUB_FLOAT = new Info(Opcodes.SUB_FLOAT, "sub-float",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info MUL_FLOAT = new Info(Opcodes.MUL_FLOAT, "mul-float",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info DIV_FLOAT = new Info(Opcodes.DIV_FLOAT, "div-float",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info REM_FLOAT = new Info(Opcodes.REM_FLOAT, "rem-float",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info ADD_DOUBLE = new Info(Opcodes.ADD_DOUBLE, "add-double",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info SUB_DOUBLE = new Info(Opcodes.SUB_DOUBLE, "sub-double",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info MUL_DOUBLE = new Info(Opcodes.MUL_DOUBLE, "mul-double",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info DIV_DOUBLE = new Info(Opcodes.DIV_DOUBLE, "div-double",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info REM_DOUBLE = new Info(Opcodes.REM_DOUBLE, "rem-double",
InstructionCodec.FORMAT_23X, IndexType.NONE);
publicstaticfinal Info ADD_INT_2ADDR = new Info(Opcodes.ADD_INT_2ADDR, "add-int/2addr",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info SUB_INT_2ADDR = new Info(Opcodes.SUB_INT_2ADDR, "sub-int/2addr",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info MUL_INT_2ADDR = new Info(Opcodes.MUL_INT_2ADDR, "mul-int/2addr",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info DIV_INT_2ADDR = new Info(Opcodes.DIV_INT_2ADDR, "div-int/2addr",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info REM_INT_2ADDR = new Info(Opcodes.REM_INT_2ADDR, "rem-int/2addr",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info AND_INT_2ADDR = new Info(Opcodes.AND_INT_2ADDR, "and-int/2addr",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info OR_INT_2ADDR = new Info(Opcodes.OR_INT_2ADDR, "or-int/2addr",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info XOR_INT_2ADDR = new Info(Opcodes.XOR_INT_2ADDR, "xor-int/2addr",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info SHL_INT_2ADDR = new Info(Opcodes.SHL_INT_2ADDR, "shl-int/2addr",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info SHR_INT_2ADDR = new Info(Opcodes.SHR_INT_2ADDR, "shr-int/2addr",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info USHR_INT_2ADDR = new Info(Opcodes.USHR_INT_2ADDR, "ushr-int/2addr",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info ADD_LONG_2ADDR = new Info(Opcodes.ADD_LONG_2ADDR, "add-long/2addr",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info SUB_LONG_2ADDR = new Info(Opcodes.SUB_LONG_2ADDR, "sub-long/2addr",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info MUL_LONG_2ADDR = new Info(Opcodes.MUL_LONG_2ADDR, "mul-long/2addr",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info DIV_LONG_2ADDR = new Info(Opcodes.DIV_LONG_2ADDR, "div-long/2addr",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info REM_LONG_2ADDR = new Info(Opcodes.REM_LONG_2ADDR, "rem-long/2addr",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info AND_LONG_2ADDR = new Info(Opcodes.AND_LONG_2ADDR, "and-long/2addr",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info OR_LONG_2ADDR = new Info(Opcodes.OR_LONG_2ADDR, "or-long/2addr",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info XOR_LONG_2ADDR = new Info(Opcodes.XOR_LONG_2ADDR, "xor-long/2addr",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info SHL_LONG_2ADDR = new Info(Opcodes.SHL_LONG_2ADDR, "shl-long/2addr",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info SHR_LONG_2ADDR = new Info(Opcodes.SHR_LONG_2ADDR, "shr-long/2addr",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info USHR_LONG_2ADDR = new Info(Opcodes.USHR_LONG_2ADDR, "ushr-long/2addr",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info ADD_FLOAT_2ADDR = new Info(Opcodes.ADD_FLOAT_2ADDR, "add-float/2addr",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info SUB_FLOAT_2ADDR = new Info(Opcodes.SUB_FLOAT_2ADDR, "sub-float/2addr",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info MUL_FLOAT_2ADDR = new Info(Opcodes.MUL_FLOAT_2ADDR, "mul-float/2addr",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info DIV_FLOAT_2ADDR = new Info(Opcodes.DIV_FLOAT_2ADDR, "div-float/2addr",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info REM_FLOAT_2ADDR = new Info(Opcodes.REM_FLOAT_2ADDR, "rem-float/2addr",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info ADD_DOUBLE_2ADDR = new Info(Opcodes.ADD_DOUBLE_2ADDR, "add-double/2addr",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info SUB_DOUBLE_2ADDR = new Info(Opcodes.SUB_DOUBLE_2ADDR, "sub-double/2addr",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info MUL_DOUBLE_2ADDR = new Info(Opcodes.MUL_DOUBLE_2ADDR, "mul-double/2addr",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info DIV_DOUBLE_2ADDR = new Info(Opcodes.DIV_DOUBLE_2ADDR, "div-double/2addr",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info REM_DOUBLE_2ADDR = new Info(Opcodes.REM_DOUBLE_2ADDR, "rem-double/2addr",
InstructionCodec.FORMAT_12X, IndexType.NONE);
publicstaticfinal Info ADD_INT_LIT16 = new Info(Opcodes.ADD_INT_LIT16, "add-int/lit16",
InstructionCodec.FORMAT_22S, IndexType.NONE);
publicstaticfinal Info RSUB_INT = new Info(Opcodes.RSUB_INT, "rsub-int",
InstructionCodec.FORMAT_22S, IndexType.NONE);
publicstaticfinal Info MUL_INT_LIT16 = new Info(Opcodes.MUL_INT_LIT16, "mul-int/lit16",
InstructionCodec.FORMAT_22S, IndexType.NONE);
publicstaticfinal Info DIV_INT_LIT16 = new Info(Opcodes.DIV_INT_LIT16, "div-int/lit16",
InstructionCodec.FORMAT_22S, IndexType.NONE);
publicstaticfinal Info REM_INT_LIT16 = new Info(Opcodes.REM_INT_LIT16, "rem-int/lit16",
InstructionCodec.FORMAT_22S, IndexType.NONE);
publicstaticfinal Info AND_INT_LIT16 = new Info(Opcodes.AND_INT_LIT16, "and-int/lit16",
InstructionCodec.FORMAT_22S, IndexType.NONE);
publicstaticfinal Info OR_INT_LIT16 = new Info(Opcodes.OR_INT_LIT16, "or-int/lit16",
InstructionCodec.FORMAT_22S, IndexType.NONE);
publicstaticfinal Info XOR_INT_LIT16 = new Info(Opcodes.XOR_INT_LIT16, "xor-int/lit16",
InstructionCodec.FORMAT_22S, IndexType.NONE);
publicstaticfinal Info ADD_INT_LIT8 = new Info(Opcodes.ADD_INT_LIT8, "add-int/lit8",
InstructionCodec.FORMAT_22B, IndexType.NONE);
publicstaticfinal Info RSUB_INT_LIT8 = new Info(Opcodes.RSUB_INT_LIT8, "rsub-int/lit8",
InstructionCodec.FORMAT_22B, IndexType.NONE);
publicstaticfinal Info MUL_INT_LIT8 = new Info(Opcodes.MUL_INT_LIT8, "mul-int/lit8",
InstructionCodec.FORMAT_22B, IndexType.NONE);
publicstaticfinal Info DIV_INT_LIT8 = new Info(Opcodes.DIV_INT_LIT8, "div-int/lit8",
InstructionCodec.FORMAT_22B, IndexType.NONE);
publicstaticfinal Info REM_INT_LIT8 = new Info(Opcodes.REM_INT_LIT8, "rem-int/lit8",
InstructionCodec.FORMAT_22B, IndexType.NONE);
publicstaticfinal Info AND_INT_LIT8 = new Info(Opcodes.AND_INT_LIT8, "and-int/lit8",
InstructionCodec.FORMAT_22B, IndexType.NONE);
publicstaticfinal Info OR_INT_LIT8 = new Info(Opcodes.OR_INT_LIT8, "or-int/lit8",
InstructionCodec.FORMAT_22B, IndexType.NONE);
publicstaticfinal Info XOR_INT_LIT8 = new Info(Opcodes.XOR_INT_LIT8, "xor-int/lit8",
InstructionCodec.FORMAT_22B, IndexType.NONE);
publicstaticfinal Info SHL_INT_LIT8 = new Info(Opcodes.SHL_INT_LIT8, "shl-int/lit8",
InstructionCodec.FORMAT_22B, IndexType.NONE);
publicstaticfinal Info SHR_INT_LIT8 = new Info(Opcodes.SHR_INT_LIT8, "shr-int/lit8",
InstructionCodec.FORMAT_22B, IndexType.NONE);
publicstaticfinal Info USHR_INT_LIT8 = new Info(Opcodes.USHR_INT_LIT8, "ushr-int/lit8",
InstructionCodec.FORMAT_22B, IndexType.NONE);
publicstaticfinal Info INVOKE_POLYMORPHIC = new Info(Opcodes.INVOKE_POLYMORPHIC, "invoke-polymorphic",
InstructionCodec.FORMAT_45CC, IndexType.METHOD_AND_PROTO_REF);
publicstaticfinal Info INVOKE_POLYMORPHIC_RANGE = new Info(Opcodes.INVOKE_POLYMORPHIC_RANGE, "invoke-polymorphic/range",
InstructionCodec.FORMAT_4RCC, IndexType.METHOD_AND_PROTO_REF);
publicstaticfinal Info INVOKE_CUSTOM = new Info(Opcodes.INVOKE_CUSTOM, "invoke-custom",
InstructionCodec.FORMAT_35C, IndexType.CALL_SITE_REF);
publicstaticfinal Info INVOKE_CUSTOM_RANGE = new Info(Opcodes.INVOKE_CUSTOM_RANGE, "invoke-custom/range",
InstructionCodec.FORMAT_3RC, IndexType.CALL_SITE_REF);
publicstaticfinal Info CONST_METHOD_HANDLE = new Info(Opcodes.CONST_METHOD_HANDLE, "const-method-handle",
InstructionCodec.FORMAT_21C, IndexType.METHOD_HANDLE_REF);
publicstaticfinal Info CONST_METHOD_TYPE = new Info(Opcodes.CONST_METHOD_TYPE, "const-method-type",
InstructionCodec.FORMAT_21C, IndexType.PROTO_REF);
// END(opcode-info-defs)
// Static initialization. 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);
set(FILL_ARRAY_DATA_PAYLOAD);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.