dioscuri.module.cpu32
Class JavaOpcode

java.lang.Object
  extended by dioscuri.module.cpu32.JavaOpcode

public class JavaOpcode
extends java.lang.Object

Author:
Bram Lohman, Bart Kiers

Field Summary
static int AALOAD
           
static int AASTORE
           
static int ACONST_NULL
           
static int ALOAD
           
static int ALOAD_0
           
static int ALOAD_1
           
static int ALOAD_2
           
static int ALOAD_3
           
static int ANEWARRAY
           
static int ARETURN
           
static int ARRAYLENGTH
           
static int ASTORE
           
static int ASTORE_0
           
static int ASTORE_1
           
static int ASTORE_2
           
static int ASTORE_3
           
static int ATHROW
           
static int BALOAD
           
static int BASTORE
           
static int BIPUSH
           
static int BREAKPOINT
           
static int CALC_FROM_CONST_POOL
           
static int CALOAD
           
static int CASTORE
           
static int CHECKCAST
           
static int D2F
           
static int D2I
           
static int D2L
           
static int DADD
           
static int DALOAD
           
static int DASTORE
           
static int DCMPG
           
static int DCMPL
           
static int DCONST_0
           
static int DCONST_1
           
static int DDIV
           
static int DLOAD
           
static int DLOAD_0
           
static int DLOAD_1
           
static int DLOAD_2
           
static int DLOAD_3
           
static int DMUL
           
static int DNEG
           
static int DREM
           
static int DRETURN
           
static int DSTORE
           
static int DSTORE_0
           
static int DSTORE_1
           
static int DSTORE_2
           
static int DSTORE_3
           
static int DSUB
           
static int DUP
           
static int DUP_X1
           
static int DUP_X2
           
static int DUP2
           
static int DUP2_X1
           
static int DUP2_X2
           
static int F2D
           
static int F2I
           
static int F2L
           
static int FADD
           
static int FALOAD
           
static int FASTORE
           
static int FCMPG
           
static int FCMPL
           
static int FCONST_0
           
static int FCONST_1
           
static int FCONST_2
           
static int FDIV
           
static int FLOAD
           
static int FLOAD_0
           
static int FLOAD_1
           
static int FLOAD_2
           
static int FLOAD_3
           
static int FMUL
           
static int FNEG
           
static int FREM
           
static int FRETURN
           
static int FSTORE
           
static int FSTORE_0
           
static int FSTORE_1
           
static int FSTORE_2
           
static int FSTORE_3
           
static int FSUB
           
static int GETFIELD
           
static int GETSTATIC
           
static int GOTO
           
static int GOTO_W
           
static int I2B
           
static int I2C
           
static int I2D
           
static int I2F
           
static int I2L
           
static int I2S
           
static int IADD
           
static int IALOAD
           
static int IAND
           
static int IASTORE
           
static int ICONST_0
           
static int ICONST_1
           
static int ICONST_2
           
static int ICONST_3
           
static int ICONST_4
           
static int ICONST_5
           
static int ICONST_M1
           
static int IDIV
           
static int IF_ACMPEQ
           
static int IF_ACMPNE
           
static int IF_ICMPEQ
           
static int IF_ICMPGE
           
static int IF_ICMPGT
           
static int IF_ICMPLE
           
static int IF_ICMPLT
           
static int IF_ICMPNE
           
static int IFEQ
           
static int IFGE
           
static int IFGT
           
static int IFLE
           
static int IFLT
           
static int IFNE
           
static int IFNONNULL
           
static int IFNULL
           
static int IINC
           
static int ILOAD
           
static int ILOAD_0
           
static int ILOAD_1
           
static int ILOAD_2
           
static int ILOAD_3
           
static int IMPDEP1
           
static int IMPDEP2
           
static int IMUL
           
static int INEG
           
static int INSTANCEOF
           
static int INVOKEINTERFACE
           
static int INVOKESPECIAL
           
static int INVOKESTATIC
           
static int INVOKEVIRTUAL
           
static int IOR
           
static int IREM
           
static int IRETURN
           
static int ISHL
           
static int ISHR
           
static int ISTORE
           
static int ISTORE_0
           
static int ISTORE_1
           
static int ISTORE_2
           
static int ISTORE_3
           
static int ISUB
           
static int IUSHR
           
static int IXOR
           
static int JSR
           
static int JSR_W
           
static int L2D
           
static int L2F
           
static int L2I
           
static int LADD
           
static int LALOAD
           
static int LAND
           
static int LASTORE
           
static int LCMP
           
static int LCONST_0
           
static int LCONST_1
           
static int LDC
           
static int LDC_W
           
static int LDC2_W
           
static int LDIV
           
static int LLOAD
           
static int LLOAD_0
           
static int LLOAD_1
           
static int LLOAD_2
           
static int LLOAD_3
           
static int LMUL
           
static int LNEG
           
static int LOOKUPSWITCH
           
static int LOR
           
static int LREM
           
static int LRETURN
           
static int LSHL
           
static int LSHR
           
static int LSTORE
           
static int LSTORE_0
           
static int LSTORE_1
           
static int LSTORE_2
           
static int LSTORE_3
           
static int LSUB
           
static int LUSHR
           
static int LXOR
           
static int MONITORENTER
           
static int MONITOREXIT
           
static int MULTIANEWARRAY
           
static int NEW
           
static int NEWARRAY
           
static int NOP
           
static int POP
           
static int POP2
           
static int PUTFIELD
           
static int PUTSTATIC
           
static int RET
           
static int RETURN
           
static int SALOAD
           
static int SASTORE
           
static int SIPUSH
           
static int SWAP
           
static int TABLESWITCH
           
static int WIDE
           
static int XXXUNUSEDXXX
           
 
Constructor Summary
JavaOpcode()
           
 
Method Summary
static int getConstantPoolIndexSize(int code)
           
static int getJumpOffset(int[] code, int i)
           
static int getLocalVariableAccess(int[] code, int i)
           
static int getOpcodeLength(int[] code, int i)
           
static int getStackDelta(int[] code, int i)
           
static boolean isBranchInstruction(int code)
           
static boolean isReturn(int code)
           
static java.lang.String toString(int value)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NOP

public static final int NOP
See Also:
Constant Field Values

ACONST_NULL

public static final int ACONST_NULL
See Also:
Constant Field Values

ICONST_M1

public static final int ICONST_M1
See Also:
Constant Field Values

ICONST_0

public static final int ICONST_0
See Also:
Constant Field Values

ICONST_1

public static final int ICONST_1
See Also:
Constant Field Values

ICONST_2

public static final int ICONST_2
See Also:
Constant Field Values

ICONST_3

public static final int ICONST_3
See Also:
Constant Field Values

ICONST_4

public static final int ICONST_4
See Also:
Constant Field Values

ICONST_5

public static final int ICONST_5
See Also:
Constant Field Values

LCONST_0

public static final int LCONST_0
See Also:
Constant Field Values

LCONST_1

public static final int LCONST_1
See Also:
Constant Field Values

FCONST_0

public static final int FCONST_0
See Also:
Constant Field Values

FCONST_1

public static final int FCONST_1
See Also:
Constant Field Values

FCONST_2

public static final int FCONST_2
See Also:
Constant Field Values

DCONST_0

public static final int DCONST_0
See Also:
Constant Field Values

DCONST_1

public static final int DCONST_1
See Also:
Constant Field Values

BIPUSH

public static final int BIPUSH
See Also:
Constant Field Values

SIPUSH

public static final int SIPUSH
See Also:
Constant Field Values

LDC

public static final int LDC
See Also:
Constant Field Values

LDC_W

public static final int LDC_W
See Also:
Constant Field Values

LDC2_W

public static final int LDC2_W
See Also:
Constant Field Values

ILOAD

public static final int ILOAD
See Also:
Constant Field Values

LLOAD

public static final int LLOAD
See Also:
Constant Field Values

FLOAD

public static final int FLOAD
See Also:
Constant Field Values

DLOAD

public static final int DLOAD
See Also:
Constant Field Values

ALOAD

public static final int ALOAD
See Also:
Constant Field Values

ILOAD_0

public static final int ILOAD_0
See Also:
Constant Field Values

ILOAD_1

public static final int ILOAD_1
See Also:
Constant Field Values

ILOAD_2

public static final int ILOAD_2
See Also:
Constant Field Values

ILOAD_3

public static final int ILOAD_3
See Also:
Constant Field Values

LLOAD_0

public static final int LLOAD_0
See Also:
Constant Field Values

LLOAD_1

public static final int LLOAD_1
See Also:
Constant Field Values

LLOAD_2

public static final int LLOAD_2
See Also:
Constant Field Values

LLOAD_3

public static final int LLOAD_3
See Also:
Constant Field Values

FLOAD_0

public static final int FLOAD_0
See Also:
Constant Field Values

FLOAD_1

public static final int FLOAD_1
See Also:
Constant Field Values

FLOAD_2

public static final int FLOAD_2
See Also:
Constant Field Values

FLOAD_3

public static final int FLOAD_3
See Also:
Constant Field Values

DLOAD_0

public static final int DLOAD_0
See Also:
Constant Field Values

DLOAD_1

public static final int DLOAD_1
See Also:
Constant Field Values

DLOAD_2

public static final int DLOAD_2
See Also:
Constant Field Values

DLOAD_3

public static final int DLOAD_3
See Also:
Constant Field Values

ALOAD_0

public static final int ALOAD_0
See Also:
Constant Field Values

ALOAD_1

public static final int ALOAD_1
See Also:
Constant Field Values

ALOAD_2

public static final int ALOAD_2
See Also:
Constant Field Values

ALOAD_3

public static final int ALOAD_3
See Also:
Constant Field Values

IALOAD

public static final int IALOAD
See Also:
Constant Field Values

LALOAD

public static final int LALOAD
See Also:
Constant Field Values

FALOAD

public static final int FALOAD
See Also:
Constant Field Values

DALOAD

public static final int DALOAD
See Also:
Constant Field Values

AALOAD

public static final int AALOAD
See Also:
Constant Field Values

BALOAD

public static final int BALOAD
See Also:
Constant Field Values

CALOAD

public static final int CALOAD
See Also:
Constant Field Values

SALOAD

public static final int SALOAD
See Also:
Constant Field Values

ISTORE

public static final int ISTORE
See Also:
Constant Field Values

LSTORE

public static final int LSTORE
See Also:
Constant Field Values

FSTORE

public static final int FSTORE
See Also:
Constant Field Values

DSTORE

public static final int DSTORE
See Also:
Constant Field Values

ASTORE

public static final int ASTORE
See Also:
Constant Field Values

ISTORE_0

public static final int ISTORE_0
See Also:
Constant Field Values

ISTORE_1

public static final int ISTORE_1
See Also:
Constant Field Values

ISTORE_2

public static final int ISTORE_2
See Also:
Constant Field Values

ISTORE_3

public static final int ISTORE_3
See Also:
Constant Field Values

LSTORE_0

public static final int LSTORE_0
See Also:
Constant Field Values

LSTORE_1

public static final int LSTORE_1
See Also:
Constant Field Values

LSTORE_2

public static final int LSTORE_2
See Also:
Constant Field Values

LSTORE_3

public static final int LSTORE_3
See Also:
Constant Field Values

FSTORE_0

public static final int FSTORE_0
See Also:
Constant Field Values

FSTORE_1

public static final int FSTORE_1
See Also:
Constant Field Values

FSTORE_2

public static final int FSTORE_2
See Also:
Constant Field Values

FSTORE_3

public static final int FSTORE_3
See Also:
Constant Field Values

DSTORE_0

public static final int DSTORE_0
See Also:
Constant Field Values

DSTORE_1

public static final int DSTORE_1
See Also:
Constant Field Values

DSTORE_2

public static final int DSTORE_2
See Also:
Constant Field Values

DSTORE_3

public static final int DSTORE_3
See Also:
Constant Field Values

ASTORE_0

public static final int ASTORE_0
See Also:
Constant Field Values

ASTORE_1

public static final int ASTORE_1
See Also:
Constant Field Values

ASTORE_2

public static final int ASTORE_2
See Also:
Constant Field Values

ASTORE_3

public static final int ASTORE_3
See Also:
Constant Field Values

IASTORE

public static final int IASTORE
See Also:
Constant Field Values

LASTORE

public static final int LASTORE
See Also:
Constant Field Values

FASTORE

public static final int FASTORE
See Also:
Constant Field Values

DASTORE

public static final int DASTORE
See Also:
Constant Field Values

AASTORE

public static final int AASTORE
See Also:
Constant Field Values

BASTORE

public static final int BASTORE
See Also:
Constant Field Values

CASTORE

public static final int CASTORE
See Also:
Constant Field Values

SASTORE

public static final int SASTORE
See Also:
Constant Field Values

POP

public static final int POP
See Also:
Constant Field Values

POP2

public static final int POP2
See Also:
Constant Field Values

DUP

public static final int DUP
See Also:
Constant Field Values

DUP_X1

public static final int DUP_X1
See Also:
Constant Field Values

DUP_X2

public static final int DUP_X2
See Also:
Constant Field Values

DUP2

public static final int DUP2
See Also:
Constant Field Values

DUP2_X1

public static final int DUP2_X1
See Also:
Constant Field Values

DUP2_X2

public static final int DUP2_X2
See Also:
Constant Field Values

SWAP

public static final int SWAP
See Also:
Constant Field Values

IADD

public static final int IADD
See Also:
Constant Field Values

LADD

public static final int LADD
See Also:
Constant Field Values

FADD

public static final int FADD
See Also:
Constant Field Values

DADD

public static final int DADD
See Also:
Constant Field Values

ISUB

public static final int ISUB
See Also:
Constant Field Values

LSUB

public static final int LSUB
See Also:
Constant Field Values

FSUB

public static final int FSUB
See Also:
Constant Field Values

DSUB

public static final int DSUB
See Also:
Constant Field Values

IMUL

public static final int IMUL
See Also:
Constant Field Values

LMUL

public static final int LMUL
See Also:
Constant Field Values

FMUL

public static final int FMUL
See Also:
Constant Field Values

DMUL

public static final int DMUL
See Also:
Constant Field Values

IDIV

public static final int IDIV
See Also:
Constant Field Values

LDIV

public static final int LDIV
See Also:
Constant Field Values

FDIV

public static final int FDIV
See Also:
Constant Field Values

DDIV

public static final int DDIV
See Also:
Constant Field Values

IREM

public static final int IREM
See Also:
Constant Field Values

LREM

public static final int LREM
See Also:
Constant Field Values

FREM

public static final int FREM
See Also:
Constant Field Values

DREM

public static final int DREM
See Also:
Constant Field Values

INEG

public static final int INEG
See Also:
Constant Field Values

LNEG

public static final int LNEG
See Also:
Constant Field Values

FNEG

public static final int FNEG
See Also:
Constant Field Values

DNEG

public static final int DNEG
See Also:
Constant Field Values

ISHL

public static final int ISHL
See Also:
Constant Field Values

LSHL

public static final int LSHL
See Also:
Constant Field Values

ISHR

public static final int ISHR
See Also:
Constant Field Values

LSHR

public static final int LSHR
See Also:
Constant Field Values

IUSHR

public static final int IUSHR
See Also:
Constant Field Values

LUSHR

public static final int LUSHR
See Also:
Constant Field Values

IAND

public static final int IAND
See Also:
Constant Field Values

LAND

public static final int LAND
See Also:
Constant Field Values

IOR

public static final int IOR
See Also:
Constant Field Values

LOR

public static final int LOR
See Also:
Constant Field Values

IXOR

public static final int IXOR
See Also:
Constant Field Values

LXOR

public static final int LXOR
See Also:
Constant Field Values

IINC

public static final int IINC
See Also:
Constant Field Values

I2L

public static final int I2L
See Also:
Constant Field Values

I2F

public static final int I2F
See Also:
Constant Field Values

I2D

public static final int I2D
See Also:
Constant Field Values

L2I

public static final int L2I
See Also:
Constant Field Values

L2F

public static final int L2F
See Also:
Constant Field Values

L2D

public static final int L2D
See Also:
Constant Field Values

F2I

public static final int F2I
See Also:
Constant Field Values

F2L

public static final int F2L
See Also:
Constant Field Values

F2D

public static final int F2D
See Also:
Constant Field Values

D2I

public static final int D2I
See Also:
Constant Field Values

D2L

public static final int D2L
See Also:
Constant Field Values

D2F

public static final int D2F
See Also:
Constant Field Values

I2B

public static final int I2B
See Also:
Constant Field Values

I2C

public static final int I2C
See Also:
Constant Field Values

I2S

public static final int I2S
See Also:
Constant Field Values

LCMP

public static final int LCMP
See Also:
Constant Field Values

FCMPL

public static final int FCMPL
See Also:
Constant Field Values

FCMPG

public static final int FCMPG
See Also:
Constant Field Values

DCMPL

public static final int DCMPL
See Also:
Constant Field Values

DCMPG

public static final int DCMPG
See Also:
Constant Field Values

IFEQ

public static final int IFEQ
See Also:
Constant Field Values

IFNE

public static final int IFNE
See Also:
Constant Field Values

IFLT

public static final int IFLT
See Also:
Constant Field Values

IFGE

public static final int IFGE
See Also:
Constant Field Values

IFGT

public static final int IFGT
See Also:
Constant Field Values

IFLE

public static final int IFLE
See Also:
Constant Field Values

IF_ICMPEQ

public static final int IF_ICMPEQ
See Also:
Constant Field Values

IF_ICMPNE

public static final int IF_ICMPNE
See Also:
Constant Field Values

IF_ICMPLT

public static final int IF_ICMPLT
See Also:
Constant Field Values

IF_ICMPGE

public static final int IF_ICMPGE
See Also:
Constant Field Values

IF_ICMPGT

public static final int IF_ICMPGT
See Also:
Constant Field Values

IF_ICMPLE

public static final int IF_ICMPLE
See Also:
Constant Field Values

IF_ACMPEQ

public static final int IF_ACMPEQ
See Also:
Constant Field Values

IF_ACMPNE

public static final int IF_ACMPNE
See Also:
Constant Field Values

GOTO

public static final int GOTO
See Also:
Constant Field Values

JSR

public static final int JSR
See Also:
Constant Field Values

RET

public static final int RET
See Also:
Constant Field Values

TABLESWITCH

public static final int TABLESWITCH
See Also:
Constant Field Values

LOOKUPSWITCH

public static final int LOOKUPSWITCH
See Also:
Constant Field Values

IRETURN

public static final int IRETURN
See Also:
Constant Field Values

LRETURN

public static final int LRETURN
See Also:
Constant Field Values

FRETURN

public static final int FRETURN
See Also:
Constant Field Values

DRETURN

public static final int DRETURN
See Also:
Constant Field Values

ARETURN

public static final int ARETURN
See Also:
Constant Field Values

RETURN

public static final int RETURN
See Also:
Constant Field Values

GETSTATIC

public static final int GETSTATIC
See Also:
Constant Field Values

PUTSTATIC

public static final int PUTSTATIC
See Also:
Constant Field Values

GETFIELD

public static final int GETFIELD
See Also:
Constant Field Values

PUTFIELD

public static final int PUTFIELD
See Also:
Constant Field Values

INVOKEVIRTUAL

public static final int INVOKEVIRTUAL
See Also:
Constant Field Values

INVOKESPECIAL

public static final int INVOKESPECIAL
See Also:
Constant Field Values

INVOKESTATIC

public static final int INVOKESTATIC
See Also:
Constant Field Values

INVOKEINTERFACE

public static final int INVOKEINTERFACE
See Also:
Constant Field Values

XXXUNUSEDXXX

public static final int XXXUNUSEDXXX
See Also:
Constant Field Values

NEW

public static final int NEW
See Also:
Constant Field Values

NEWARRAY

public static final int NEWARRAY
See Also:
Constant Field Values

ANEWARRAY

public static final int ANEWARRAY
See Also:
Constant Field Values

ARRAYLENGTH

public static final int ARRAYLENGTH
See Also:
Constant Field Values

ATHROW

public static final int ATHROW
See Also:
Constant Field Values

CHECKCAST

public static final int CHECKCAST
See Also:
Constant Field Values

INSTANCEOF

public static final int INSTANCEOF
See Also:
Constant Field Values

MONITORENTER

public static final int MONITORENTER
See Also:
Constant Field Values

MONITOREXIT

public static final int MONITOREXIT
See Also:
Constant Field Values

WIDE

public static final int WIDE
See Also:
Constant Field Values

MULTIANEWARRAY

public static final int MULTIANEWARRAY
See Also:
Constant Field Values

IFNULL

public static final int IFNULL
See Also:
Constant Field Values

IFNONNULL

public static final int IFNONNULL
See Also:
Constant Field Values

GOTO_W

public static final int GOTO_W
See Also:
Constant Field Values

JSR_W

public static final int JSR_W
See Also:
Constant Field Values

BREAKPOINT

public static final int BREAKPOINT
See Also:
Constant Field Values

IMPDEP1

public static final int IMPDEP1
See Also:
Constant Field Values

IMPDEP2

public static final int IMPDEP2
See Also:
Constant Field Values

CALC_FROM_CONST_POOL

public static final int CALC_FROM_CONST_POOL
See Also:
Constant Field Values
Constructor Detail

JavaOpcode

public JavaOpcode()
Method Detail

toString

public static java.lang.String toString(int value)
Parameters:
value -
Returns:
-

isBranchInstruction

public static boolean isBranchInstruction(int code)
Parameters:
code -
Returns:
-

isReturn

public static boolean isReturn(int code)
Parameters:
code -
Returns:
-

getJumpOffset

public static int getJumpOffset(int[] code,
                                int i)
Parameters:
code -
i -
Returns:
-

getStackDelta

public static int getStackDelta(int[] code,
                                int i)
Parameters:
code -
i -
Returns:
-

getLocalVariableAccess

public static int getLocalVariableAccess(int[] code,
                                         int i)
Parameters:
code -
i -
Returns:
-

getConstantPoolIndexSize

public static int getConstantPoolIndexSize(int code)
Parameters:
code -
Returns:
-

getOpcodeLength

public static int getOpcodeLength(int[] code,
                                  int i)
Parameters:
code -
i -
Returns:
-