com.android.dx.io
Class Opcodes

java.lang.Object
  extended by com.android.dx.io.Opcodes

public final class Opcodes
extends Object

All the Dalvik opcode value constants. See the related spec document for the meaning and instruction format of each opcode.


Field Summary
static int ADD_DOUBLE
           
static int ADD_DOUBLE_2ADDR
           
static int ADD_FLOAT
           
static int ADD_FLOAT_2ADDR
           
static int ADD_INT
           
static int ADD_INT_2ADDR
           
static int ADD_INT_LIT16
           
static int ADD_INT_LIT8
           
static int ADD_LONG
           
static int ADD_LONG_2ADDR
           
static int AGET
           
static int AGET_BOOLEAN
           
static int AGET_BYTE
           
static int AGET_CHAR
           
static int AGET_OBJECT
           
static int AGET_SHORT
           
static int AGET_WIDE
           
static int AND_INT
           
static int AND_INT_2ADDR
           
static int AND_INT_LIT16
           
static int AND_INT_LIT8
           
static int AND_LONG
           
static int AND_LONG_2ADDR
           
static int APUT
           
static int APUT_BOOLEAN
           
static int APUT_BYTE
           
static int APUT_CHAR
           
static int APUT_OBJECT
           
static int APUT_SHORT
           
static int APUT_WIDE
           
static int ARRAY_LENGTH
           
static int CHECK_CAST
           
static int CMP_LONG
           
static int CMPG_DOUBLE
           
static int CMPG_FLOAT
           
static int CMPL_DOUBLE
           
static int CMPL_FLOAT
           
static int CONST
           
static int CONST_16
           
static int CONST_4
           
static int CONST_CLASS
           
static int CONST_HIGH16
           
static int CONST_STRING
           
static int CONST_STRING_JUMBO
           
static int CONST_WIDE
           
static int CONST_WIDE_16
           
static int CONST_WIDE_32
           
static int CONST_WIDE_HIGH16
           
static int DIV_DOUBLE
           
static int DIV_DOUBLE_2ADDR
           
static int DIV_FLOAT
           
static int DIV_FLOAT_2ADDR
           
static int DIV_INT
           
static int DIV_INT_2ADDR
           
static int DIV_INT_LIT16
           
static int DIV_INT_LIT8
           
static int DIV_LONG
           
static int DIV_LONG_2ADDR
           
static int DOUBLE_TO_FLOAT
           
static int DOUBLE_TO_INT
           
static int DOUBLE_TO_LONG
           
static int FILL_ARRAY_DATA
           
static int FILL_ARRAY_DATA_PAYLOAD
          special pseudo-opcode value for fill-array-data data payload instructions
static int FILLED_NEW_ARRAY
           
static int FILLED_NEW_ARRAY_RANGE
           
static int FLOAT_TO_DOUBLE
           
static int FLOAT_TO_INT
           
static int FLOAT_TO_LONG
           
static int GOTO
           
static int GOTO_16
           
static int GOTO_32
           
static int IF_EQ
           
static int IF_EQZ
           
static int IF_GE
           
static int IF_GEZ
           
static int IF_GT
           
static int IF_GTZ
           
static int IF_LE
           
static int IF_LEZ
           
static int IF_LT
           
static int IF_LTZ
           
static int IF_NE
           
static int IF_NEZ
           
static int IGET
           
static int IGET_BOOLEAN
           
static int IGET_BYTE
           
static int IGET_CHAR
           
static int IGET_OBJECT
           
static int IGET_SHORT
           
static int IGET_WIDE
           
static int INSTANCE_OF
           
static int INT_TO_BYTE
           
static int INT_TO_CHAR
           
static int INT_TO_DOUBLE
           
static int INT_TO_FLOAT
           
static int INT_TO_LONG
           
static int INT_TO_SHORT
           
static int INVOKE_DIRECT
           
static int INVOKE_DIRECT_RANGE
           
static int INVOKE_INTERFACE
           
static int INVOKE_INTERFACE_RANGE
           
static int INVOKE_STATIC
           
static int INVOKE_STATIC_RANGE
           
static int INVOKE_SUPER
           
static int INVOKE_SUPER_RANGE
           
static int INVOKE_VIRTUAL
           
static int INVOKE_VIRTUAL_RANGE
           
static int IPUT
           
static int IPUT_BOOLEAN
           
static int IPUT_BYTE
           
static int IPUT_CHAR
           
static int IPUT_OBJECT
           
static int IPUT_SHORT
           
static int IPUT_WIDE
           
static int LONG_TO_DOUBLE
           
static int LONG_TO_FLOAT
           
static int LONG_TO_INT
           
static int MAX_VALUE
          maximum valid opcode value
static int MIN_VALUE
          minimum valid opcode value
static int MONITOR_ENTER
           
static int MONITOR_EXIT
           
static int MOVE
           
static int MOVE_16
           
static int MOVE_EXCEPTION
           
static int MOVE_FROM16
           
static int MOVE_OBJECT
           
static int MOVE_OBJECT_16
           
static int MOVE_OBJECT_FROM16
           
static int MOVE_RESULT
           
static int MOVE_RESULT_OBJECT
           
static int MOVE_RESULT_WIDE
           
static int MOVE_WIDE
           
static int MOVE_WIDE_16
           
static int MOVE_WIDE_FROM16
           
static int MUL_DOUBLE
           
static int MUL_DOUBLE_2ADDR
           
static int MUL_FLOAT
           
static int MUL_FLOAT_2ADDR
           
static int MUL_INT
           
static int MUL_INT_2ADDR
           
static int MUL_INT_LIT16
           
static int MUL_INT_LIT8
           
static int MUL_LONG
           
static int MUL_LONG_2ADDR
           
static int NEG_DOUBLE
           
static int NEG_FLOAT
           
static int NEG_INT
           
static int NEG_LONG
           
static int NEW_ARRAY
           
static int NEW_INSTANCE
           
static int NO_NEXT
          pseudo-opcode used to indicate there is no next opcode; used in opcode chaining lists
static int NOP
           
static int NOT_INT
           
static int NOT_LONG
           
static int OR_INT
           
static int OR_INT_2ADDR
           
static int OR_INT_LIT16
           
static int OR_INT_LIT8
           
static int OR_LONG
           
static int OR_LONG_2ADDR
           
static int PACKED_SWITCH
           
static int PACKED_SWITCH_PAYLOAD
          special pseudo-opcode value for packed-switch data payload instructions
static int REM_DOUBLE
           
static int REM_DOUBLE_2ADDR
           
static int REM_FLOAT
           
static int REM_FLOAT_2ADDR
           
static int REM_INT
           
static int REM_INT_2ADDR
           
static int REM_INT_LIT16
           
static int REM_INT_LIT8
           
static int REM_LONG
           
static int REM_LONG_2ADDR
           
static int RETURN
           
static int RETURN_OBJECT
           
static int RETURN_VOID
           
static int RETURN_WIDE
           
static int RSUB_INT
           
static int RSUB_INT_LIT8
           
static int SGET
           
static int SGET_BOOLEAN
           
static int SGET_BYTE
           
static int SGET_CHAR
           
static int SGET_OBJECT
           
static int SGET_SHORT
           
static int SGET_WIDE
           
static int SHL_INT
           
static int SHL_INT_2ADDR
           
static int SHL_INT_LIT8
           
static int SHL_LONG
           
static int SHL_LONG_2ADDR
           
static int SHR_INT
           
static int SHR_INT_2ADDR
           
static int SHR_INT_LIT8
           
static int SHR_LONG
           
static int SHR_LONG_2ADDR
           
static int SPARSE_SWITCH
           
static int SPARSE_SWITCH_PAYLOAD
          special pseudo-opcode value for packed-switch data payload instructions
static int SPECIAL_FORMAT
          pseudo-opcode used for nonstandard format payload "instructions".
static int SPUT
           
static int SPUT_BOOLEAN
           
static int SPUT_BYTE
           
static int SPUT_CHAR
           
static int SPUT_OBJECT
           
static int SPUT_SHORT
           
static int SPUT_WIDE
           
static int SUB_DOUBLE
           
static int SUB_DOUBLE_2ADDR
           
static int SUB_FLOAT
           
static int SUB_FLOAT_2ADDR
           
static int SUB_INT
           
static int SUB_INT_2ADDR
           
static int SUB_LONG
           
static int SUB_LONG_2ADDR
           
static int THROW
           
static int USHR_INT
           
static int USHR_INT_2ADDR
           
static int USHR_INT_LIT8
           
static int USHR_LONG
           
static int USHR_LONG_2ADDR
           
static int XOR_INT
           
static int XOR_INT_2ADDR
           
static int XOR_INT_LIT16
           
static int XOR_INT_LIT8
           
static int XOR_LONG
           
static int XOR_LONG_2ADDR
           
 
Method Summary
static int extractOpcodeFromUnit(int opcodeUnit)
          Gets the opcode out of an opcode unit, the latter of which may also include one or more argument values.
static boolean isValidShape(int opcode)
          Determines if the given opcode has the right "shape" to be valid.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SPECIAL_FORMAT

public static final int SPECIAL_FORMAT
pseudo-opcode used for nonstandard format payload "instructions". TODO: Retire this concept, and start treating the payload instructions more like the rest.

See Also:
Constant Field Values

NO_NEXT

public static final int NO_NEXT
pseudo-opcode used to indicate there is no next opcode; used in opcode chaining lists

See Also:
Constant Field Values

MIN_VALUE

public static final int MIN_VALUE
minimum valid opcode value

See Also:
Constant Field Values

MAX_VALUE

public static final int MAX_VALUE
maximum valid opcode value

See Also:
Constant Field Values

NOP

public static final int NOP
See Also:
Constant Field Values

MOVE

public static final int MOVE
See Also:
Constant Field Values

MOVE_FROM16

public static final int MOVE_FROM16
See Also:
Constant Field Values

MOVE_16

public static final int MOVE_16
See Also:
Constant Field Values

MOVE_WIDE

public static final int MOVE_WIDE
See Also:
Constant Field Values

MOVE_WIDE_FROM16

public static final int MOVE_WIDE_FROM16
See Also:
Constant Field Values

MOVE_WIDE_16

public static final int MOVE_WIDE_16
See Also:
Constant Field Values

MOVE_OBJECT

public static final int MOVE_OBJECT
See Also:
Constant Field Values

MOVE_OBJECT_FROM16

public static final int MOVE_OBJECT_FROM16
See Also:
Constant Field Values

MOVE_OBJECT_16

public static final int MOVE_OBJECT_16
See Also:
Constant Field Values

MOVE_RESULT

public static final int MOVE_RESULT
See Also:
Constant Field Values

MOVE_RESULT_WIDE

public static final int MOVE_RESULT_WIDE
See Also:
Constant Field Values

MOVE_RESULT_OBJECT

public static final int MOVE_RESULT_OBJECT
See Also:
Constant Field Values

MOVE_EXCEPTION

public static final int MOVE_EXCEPTION
See Also:
Constant Field Values

RETURN_VOID

public static final int RETURN_VOID
See Also:
Constant Field Values

RETURN

public static final int RETURN
See Also:
Constant Field Values

RETURN_WIDE

public static final int RETURN_WIDE
See Also:
Constant Field Values

RETURN_OBJECT

public static final int RETURN_OBJECT
See Also:
Constant Field Values

CONST_4

public static final int CONST_4
See Also:
Constant Field Values

CONST_16

public static final int CONST_16
See Also:
Constant Field Values

CONST

public static final int CONST
See Also:
Constant Field Values

CONST_HIGH16

public static final int CONST_HIGH16
See Also:
Constant Field Values

CONST_WIDE_16

public static final int CONST_WIDE_16
See Also:
Constant Field Values

CONST_WIDE_32

public static final int CONST_WIDE_32
See Also:
Constant Field Values

CONST_WIDE

public static final int CONST_WIDE
See Also:
Constant Field Values

CONST_WIDE_HIGH16

public static final int CONST_WIDE_HIGH16
See Also:
Constant Field Values

CONST_STRING

public static final int CONST_STRING
See Also:
Constant Field Values

CONST_STRING_JUMBO

public static final int CONST_STRING_JUMBO
See Also:
Constant Field Values

CONST_CLASS

public static final int CONST_CLASS
See Also:
Constant Field Values

MONITOR_ENTER

public static final int MONITOR_ENTER
See Also:
Constant Field Values

MONITOR_EXIT

public static final int MONITOR_EXIT
See Also:
Constant Field Values

CHECK_CAST

public static final int CHECK_CAST
See Also:
Constant Field Values

INSTANCE_OF

public static final int INSTANCE_OF
See Also:
Constant Field Values

ARRAY_LENGTH

public static final int ARRAY_LENGTH
See Also:
Constant Field Values

NEW_INSTANCE

public static final int NEW_INSTANCE
See Also:
Constant Field Values

NEW_ARRAY

public static final int NEW_ARRAY
See Also:
Constant Field Values

FILLED_NEW_ARRAY

public static final int FILLED_NEW_ARRAY
See Also:
Constant Field Values

FILLED_NEW_ARRAY_RANGE

public static final int FILLED_NEW_ARRAY_RANGE
See Also:
Constant Field Values

FILL_ARRAY_DATA

public static final int FILL_ARRAY_DATA
See Also:
Constant Field Values

THROW

public static final int THROW
See Also:
Constant Field Values

GOTO

public static final int GOTO
See Also:
Constant Field Values

GOTO_16

public static final int GOTO_16
See Also:
Constant Field Values

GOTO_32

public static final int GOTO_32
See Also:
Constant Field Values

PACKED_SWITCH

public static final int PACKED_SWITCH
See Also:
Constant Field Values

SPARSE_SWITCH

public static final int SPARSE_SWITCH
See Also:
Constant Field Values

CMPL_FLOAT

public static final int CMPL_FLOAT
See Also:
Constant Field Values

CMPG_FLOAT

public static final int CMPG_FLOAT
See Also:
Constant Field Values

CMPL_DOUBLE

public static final int CMPL_DOUBLE
See Also:
Constant Field Values

CMPG_DOUBLE

public static final int CMPG_DOUBLE
See Also:
Constant Field Values

CMP_LONG

public static final int CMP_LONG
See Also:
Constant Field Values

IF_EQ

public static final int IF_EQ
See Also:
Constant Field Values

IF_NE

public static final int IF_NE
See Also:
Constant Field Values

IF_LT

public static final int IF_LT
See Also:
Constant Field Values

IF_GE

public static final int IF_GE
See Also:
Constant Field Values

IF_GT

public static final int IF_GT
See Also:
Constant Field Values

IF_LE

public static final int IF_LE
See Also:
Constant Field Values

IF_EQZ

public static final int IF_EQZ
See Also:
Constant Field Values

IF_NEZ

public static final int IF_NEZ
See Also:
Constant Field Values

IF_LTZ

public static final int IF_LTZ
See Also:
Constant Field Values

IF_GEZ

public static final int IF_GEZ
See Also:
Constant Field Values

IF_GTZ

public static final int IF_GTZ
See Also:
Constant Field Values

IF_LEZ

public static final int IF_LEZ
See Also:
Constant Field Values

AGET

public static final int AGET
See Also:
Constant Field Values

AGET_WIDE

public static final int AGET_WIDE
See Also:
Constant Field Values

AGET_OBJECT

public static final int AGET_OBJECT
See Also:
Constant Field Values

AGET_BOOLEAN

public static final int AGET_BOOLEAN
See Also:
Constant Field Values

AGET_BYTE

public static final int AGET_BYTE
See Also:
Constant Field Values

AGET_CHAR

public static final int AGET_CHAR
See Also:
Constant Field Values

AGET_SHORT

public static final int AGET_SHORT
See Also:
Constant Field Values

APUT

public static final int APUT
See Also:
Constant Field Values

APUT_WIDE

public static final int APUT_WIDE
See Also:
Constant Field Values

APUT_OBJECT

public static final int APUT_OBJECT
See Also:
Constant Field Values

APUT_BOOLEAN

public static final int APUT_BOOLEAN
See Also:
Constant Field Values

APUT_BYTE

public static final int APUT_BYTE
See Also:
Constant Field Values

APUT_CHAR

public static final int APUT_CHAR
See Also:
Constant Field Values

APUT_SHORT

public static final int APUT_SHORT
See Also:
Constant Field Values

IGET

public static final int IGET
See Also:
Constant Field Values

IGET_WIDE

public static final int IGET_WIDE
See Also:
Constant Field Values

IGET_OBJECT

public static final int IGET_OBJECT
See Also:
Constant Field Values

IGET_BOOLEAN

public static final int IGET_BOOLEAN
See Also:
Constant Field Values

IGET_BYTE

public static final int IGET_BYTE
See Also:
Constant Field Values

IGET_CHAR

public static final int IGET_CHAR
See Also:
Constant Field Values

IGET_SHORT

public static final int IGET_SHORT
See Also:
Constant Field Values

IPUT

public static final int IPUT
See Also:
Constant Field Values

IPUT_WIDE

public static final int IPUT_WIDE
See Also:
Constant Field Values

IPUT_OBJECT

public static final int IPUT_OBJECT
See Also:
Constant Field Values

IPUT_BOOLEAN

public static final int IPUT_BOOLEAN
See Also:
Constant Field Values

IPUT_BYTE

public static final int IPUT_BYTE
See Also:
Constant Field Values

IPUT_CHAR

public static final int IPUT_CHAR
See Also:
Constant Field Values

IPUT_SHORT

public static final int IPUT_SHORT
See Also:
Constant Field Values

SGET

public static final int SGET
See Also:
Constant Field Values

SGET_WIDE

public static final int SGET_WIDE
See Also:
Constant Field Values

SGET_OBJECT

public static final int SGET_OBJECT
See Also:
Constant Field Values

SGET_BOOLEAN

public static final int SGET_BOOLEAN
See Also:
Constant Field Values

SGET_BYTE

public static final int SGET_BYTE
See Also:
Constant Field Values

SGET_CHAR

public static final int SGET_CHAR
See Also:
Constant Field Values

SGET_SHORT

public static final int SGET_SHORT
See Also:
Constant Field Values

SPUT

public static final int SPUT
See Also:
Constant Field Values

SPUT_WIDE

public static final int SPUT_WIDE
See Also:
Constant Field Values

SPUT_OBJECT

public static final int SPUT_OBJECT
See Also:
Constant Field Values

SPUT_BOOLEAN

public static final int SPUT_BOOLEAN
See Also:
Constant Field Values

SPUT_BYTE

public static final int SPUT_BYTE
See Also:
Constant Field Values

SPUT_CHAR

public static final int SPUT_CHAR
See Also:
Constant Field Values

SPUT_SHORT

public static final int SPUT_SHORT
See Also:
Constant Field Values

INVOKE_VIRTUAL

public static final int INVOKE_VIRTUAL
See Also:
Constant Field Values

INVOKE_SUPER

public static final int INVOKE_SUPER
See Also:
Constant Field Values

INVOKE_DIRECT

public static final int INVOKE_DIRECT
See Also:
Constant Field Values

INVOKE_STATIC

public static final int INVOKE_STATIC
See Also:
Constant Field Values

INVOKE_INTERFACE

public static final int INVOKE_INTERFACE
See Also:
Constant Field Values

INVOKE_VIRTUAL_RANGE

public static final int INVOKE_VIRTUAL_RANGE
See Also:
Constant Field Values

INVOKE_SUPER_RANGE

public static final int INVOKE_SUPER_RANGE
See Also:
Constant Field Values

INVOKE_DIRECT_RANGE

public static final int INVOKE_DIRECT_RANGE
See Also:
Constant Field Values

INVOKE_STATIC_RANGE

public static final int INVOKE_STATIC_RANGE
See Also:
Constant Field Values

INVOKE_INTERFACE_RANGE

public static final int INVOKE_INTERFACE_RANGE
See Also:
Constant Field Values

NEG_INT

public static final int NEG_INT
See Also:
Constant Field Values

NOT_INT

public static final int NOT_INT
See Also:
Constant Field Values

NEG_LONG

public static final int NEG_LONG
See Also:
Constant Field Values

NOT_LONG

public static final int NOT_LONG
See Also:
Constant Field Values

NEG_FLOAT

public static final int NEG_FLOAT
See Also:
Constant Field Values

NEG_DOUBLE

public static final int NEG_DOUBLE
See Also:
Constant Field Values

INT_TO_LONG

public static final int INT_TO_LONG
See Also:
Constant Field Values

INT_TO_FLOAT

public static final int INT_TO_FLOAT
See Also:
Constant Field Values

INT_TO_DOUBLE

public static final int INT_TO_DOUBLE
See Also:
Constant Field Values

LONG_TO_INT

public static final int LONG_TO_INT
See Also:
Constant Field Values

LONG_TO_FLOAT

public static final int LONG_TO_FLOAT
See Also:
Constant Field Values

LONG_TO_DOUBLE

public static final int LONG_TO_DOUBLE
See Also:
Constant Field Values

FLOAT_TO_INT

public static final int FLOAT_TO_INT
See Also:
Constant Field Values

FLOAT_TO_LONG

public static final int FLOAT_TO_LONG
See Also:
Constant Field Values

FLOAT_TO_DOUBLE

public static final int FLOAT_TO_DOUBLE
See Also:
Constant Field Values

DOUBLE_TO_INT

public static final int DOUBLE_TO_INT
See Also:
Constant Field Values

DOUBLE_TO_LONG

public static final int DOUBLE_TO_LONG
See Also:
Constant Field Values

DOUBLE_TO_FLOAT

public static final int DOUBLE_TO_FLOAT
See Also:
Constant Field Values

INT_TO_BYTE

public static final int INT_TO_BYTE
See Also:
Constant Field Values

INT_TO_CHAR

public static final int INT_TO_CHAR
See Also:
Constant Field Values

INT_TO_SHORT

public static final int INT_TO_SHORT
See Also:
Constant Field Values

ADD_INT

public static final int ADD_INT
See Also:
Constant Field Values

SUB_INT

public static final int SUB_INT
See Also:
Constant Field Values

MUL_INT

public static final int MUL_INT
See Also:
Constant Field Values

DIV_INT

public static final int DIV_INT
See Also:
Constant Field Values

REM_INT

public static final int REM_INT
See Also:
Constant Field Values

AND_INT

public static final int AND_INT
See Also:
Constant Field Values

OR_INT

public static final int OR_INT
See Also:
Constant Field Values

XOR_INT

public static final int XOR_INT
See Also:
Constant Field Values

SHL_INT

public static final int SHL_INT
See Also:
Constant Field Values

SHR_INT

public static final int SHR_INT
See Also:
Constant Field Values

USHR_INT

public static final int USHR_INT
See Also:
Constant Field Values

ADD_LONG

public static final int ADD_LONG
See Also:
Constant Field Values

SUB_LONG

public static final int SUB_LONG
See Also:
Constant Field Values

MUL_LONG

public static final int MUL_LONG
See Also:
Constant Field Values

DIV_LONG

public static final int DIV_LONG
See Also:
Constant Field Values

REM_LONG

public static final int REM_LONG
See Also:
Constant Field Values

AND_LONG

public static final int AND_LONG
See Also:
Constant Field Values

OR_LONG

public static final int OR_LONG
See Also:
Constant Field Values

XOR_LONG

public static final int XOR_LONG
See Also:
Constant Field Values

SHL_LONG

public static final int SHL_LONG
See Also:
Constant Field Values

SHR_LONG

public static final int SHR_LONG
See Also:
Constant Field Values

USHR_LONG

public static final int USHR_LONG
See Also:
Constant Field Values

ADD_FLOAT

public static final int ADD_FLOAT
See Also:
Constant Field Values

SUB_FLOAT

public static final int SUB_FLOAT
See Also:
Constant Field Values

MUL_FLOAT

public static final int MUL_FLOAT
See Also:
Constant Field Values

DIV_FLOAT

public static final int DIV_FLOAT
See Also:
Constant Field Values

REM_FLOAT

public static final int REM_FLOAT
See Also:
Constant Field Values

ADD_DOUBLE

public static final int ADD_DOUBLE
See Also:
Constant Field Values

SUB_DOUBLE

public static final int SUB_DOUBLE
See Also:
Constant Field Values

MUL_DOUBLE

public static final int MUL_DOUBLE
See Also:
Constant Field Values

DIV_DOUBLE

public static final int DIV_DOUBLE
See Also:
Constant Field Values

REM_DOUBLE

public static final int REM_DOUBLE
See Also:
Constant Field Values

ADD_INT_2ADDR

public static final int ADD_INT_2ADDR
See Also:
Constant Field Values

SUB_INT_2ADDR

public static final int SUB_INT_2ADDR
See Also:
Constant Field Values

MUL_INT_2ADDR

public static final int MUL_INT_2ADDR
See Also:
Constant Field Values

DIV_INT_2ADDR

public static final int DIV_INT_2ADDR
See Also:
Constant Field Values

REM_INT_2ADDR

public static final int REM_INT_2ADDR
See Also:
Constant Field Values

AND_INT_2ADDR

public static final int AND_INT_2ADDR
See Also:
Constant Field Values

OR_INT_2ADDR

public static final int OR_INT_2ADDR
See Also:
Constant Field Values

XOR_INT_2ADDR

public static final int XOR_INT_2ADDR
See Also:
Constant Field Values

SHL_INT_2ADDR

public static final int SHL_INT_2ADDR
See Also:
Constant Field Values

SHR_INT_2ADDR

public static final int SHR_INT_2ADDR
See Also:
Constant Field Values

USHR_INT_2ADDR

public static final int USHR_INT_2ADDR
See Also:
Constant Field Values

ADD_LONG_2ADDR

public static final int ADD_LONG_2ADDR
See Also:
Constant Field Values

SUB_LONG_2ADDR

public static final int SUB_LONG_2ADDR
See Also:
Constant Field Values

MUL_LONG_2ADDR

public static final int MUL_LONG_2ADDR
See Also:
Constant Field Values

DIV_LONG_2ADDR

public static final int DIV_LONG_2ADDR
See Also:
Constant Field Values

REM_LONG_2ADDR

public static final int REM_LONG_2ADDR
See Also:
Constant Field Values

AND_LONG_2ADDR

public static final int AND_LONG_2ADDR
See Also:
Constant Field Values

OR_LONG_2ADDR

public static final int OR_LONG_2ADDR
See Also:
Constant Field Values

XOR_LONG_2ADDR

public static final int XOR_LONG_2ADDR
See Also:
Constant Field Values

SHL_LONG_2ADDR

public static final int SHL_LONG_2ADDR
See Also:
Constant Field Values

SHR_LONG_2ADDR

public static final int SHR_LONG_2ADDR
See Also:
Constant Field Values

USHR_LONG_2ADDR

public static final int USHR_LONG_2ADDR
See Also:
Constant Field Values

ADD_FLOAT_2ADDR

public static final int ADD_FLOAT_2ADDR
See Also:
Constant Field Values

SUB_FLOAT_2ADDR

public static final int SUB_FLOAT_2ADDR
See Also:
Constant Field Values

MUL_FLOAT_2ADDR

public static final int MUL_FLOAT_2ADDR
See Also:
Constant Field Values

DIV_FLOAT_2ADDR

public static final int DIV_FLOAT_2ADDR
See Also:
Constant Field Values

REM_FLOAT_2ADDR

public static final int REM_FLOAT_2ADDR
See Also:
Constant Field Values

ADD_DOUBLE_2ADDR

public static final int ADD_DOUBLE_2ADDR
See Also:
Constant Field Values

SUB_DOUBLE_2ADDR

public static final int SUB_DOUBLE_2ADDR
See Also:
Constant Field Values

MUL_DOUBLE_2ADDR

public static final int MUL_DOUBLE_2ADDR
See Also:
Constant Field Values

DIV_DOUBLE_2ADDR

public static final int DIV_DOUBLE_2ADDR
See Also:
Constant Field Values

REM_DOUBLE_2ADDR

public static final int REM_DOUBLE_2ADDR
See Also:
Constant Field Values

ADD_INT_LIT16

public static final int ADD_INT_LIT16
See Also:
Constant Field Values

RSUB_INT

public static final int RSUB_INT
See Also:
Constant Field Values

MUL_INT_LIT16

public static final int MUL_INT_LIT16
See Also:
Constant Field Values

DIV_INT_LIT16

public static final int DIV_INT_LIT16
See Also:
Constant Field Values

REM_INT_LIT16

public static final int REM_INT_LIT16
See Also:
Constant Field Values

AND_INT_LIT16

public static final int AND_INT_LIT16
See Also:
Constant Field Values

OR_INT_LIT16

public static final int OR_INT_LIT16
See Also:
Constant Field Values

XOR_INT_LIT16

public static final int XOR_INT_LIT16
See Also:
Constant Field Values

ADD_INT_LIT8

public static final int ADD_INT_LIT8
See Also:
Constant Field Values

RSUB_INT_LIT8

public static final int RSUB_INT_LIT8
See Also:
Constant Field Values

MUL_INT_LIT8

public static final int MUL_INT_LIT8
See Also:
Constant Field Values

DIV_INT_LIT8

public static final int DIV_INT_LIT8
See Also:
Constant Field Values

REM_INT_LIT8

public static final int REM_INT_LIT8
See Also:
Constant Field Values

AND_INT_LIT8

public static final int AND_INT_LIT8
See Also:
Constant Field Values

OR_INT_LIT8

public static final int OR_INT_LIT8
See Also:
Constant Field Values

XOR_INT_LIT8

public static final int XOR_INT_LIT8
See Also:
Constant Field Values

SHL_INT_LIT8

public static final int SHL_INT_LIT8
See Also:
Constant Field Values

SHR_INT_LIT8

public static final int SHR_INT_LIT8
See Also:
Constant Field Values

USHR_INT_LIT8

public static final int USHR_INT_LIT8
See Also:
Constant Field Values

PACKED_SWITCH_PAYLOAD

public static final int PACKED_SWITCH_PAYLOAD
special pseudo-opcode value for packed-switch data payload instructions

See Also:
Constant Field Values

SPARSE_SWITCH_PAYLOAD

public static final int SPARSE_SWITCH_PAYLOAD
special pseudo-opcode value for packed-switch data payload instructions

See Also:
Constant Field Values

FILL_ARRAY_DATA_PAYLOAD

public static final int FILL_ARRAY_DATA_PAYLOAD
special pseudo-opcode value for fill-array-data data payload instructions

See Also:
Constant Field Values
Method Detail

isValidShape

public static boolean isValidShape(int opcode)
Determines if the given opcode has the right "shape" to be valid. This includes the range 0x01..0xfe, the range 0x00ff..0xffff where the low-order byte is either 0 or 0xff, and the special opcode values SPECIAL_FORMAT and NO_NEXT. Note that not all of the opcode values that pass this test are in fact used. This method is meant to perform a quick check to reject blatantly wrong values (e.g. when validating arguments).

Parameters:
opcode - the opcode value
Returns:
true iff the value has the right "shape" to be possibly valid

extractOpcodeFromUnit

public static int extractOpcodeFromUnit(int opcodeUnit)
Gets the opcode out of an opcode unit, the latter of which may also include one or more argument values.

Parameters:
opcodeUnit - the opcode-containing code unit
Returns:
the extracted opcode


Copyright © 2015. All rights reserved.