korat.instrumentation.bytecode
Class BytecodeUtils

java.lang.Object
  extended by korat.instrumentation.bytecode.BytecodeUtils

public class BytecodeUtils
extends Object

Author:
Aleksandar Milicevic

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

Field Detail

ILLEGAL

public static final String ILLEGAL
See Also:
Constant Field Values

OPCODE_NAMES

public static final String[] OPCODE_NAMES
Names of opcodes.


NOP

public static final short NOP
Java VM opcodes.

See Also:
Constant Field Values

ACONST_NULL

public static final short ACONST_NULL
See Also:
Constant Field Values

ICONST_M1

public static final short ICONST_M1
See Also:
Constant Field Values

ICONST_0

public static final short ICONST_0
See Also:
Constant Field Values

ICONST_1

public static final short ICONST_1
See Also:
Constant Field Values

ICONST_2

public static final short ICONST_2
See Also:
Constant Field Values

ICONST_3

public static final short ICONST_3
See Also:
Constant Field Values

ICONST_4

public static final short ICONST_4
See Also:
Constant Field Values

ICONST_5

public static final short ICONST_5
See Also:
Constant Field Values

LCONST_0

public static final short LCONST_0
See Also:
Constant Field Values

LCONST_1

public static final short LCONST_1
See Also:
Constant Field Values

FCONST_0

public static final short FCONST_0
See Also:
Constant Field Values

FCONST_1

public static final short FCONST_1
See Also:
Constant Field Values

FCONST_2

public static final short FCONST_2
See Also:
Constant Field Values

DCONST_0

public static final short DCONST_0
See Also:
Constant Field Values

DCONST_1

public static final short DCONST_1
See Also:
Constant Field Values

BIPUSH

public static final short BIPUSH
See Also:
Constant Field Values

SIPUSH

public static final short SIPUSH
See Also:
Constant Field Values

LDC

public static final short LDC
See Also:
Constant Field Values

LDC_W

public static final short LDC_W
See Also:
Constant Field Values

LDC2_W

public static final short LDC2_W
See Also:
Constant Field Values

ILOAD

public static final short ILOAD
See Also:
Constant Field Values

LLOAD

public static final short LLOAD
See Also:
Constant Field Values

FLOAD

public static final short FLOAD
See Also:
Constant Field Values

DLOAD

public static final short DLOAD
See Also:
Constant Field Values

ALOAD

public static final short ALOAD
See Also:
Constant Field Values

ILOAD_0

public static final short ILOAD_0
See Also:
Constant Field Values

ILOAD_1

public static final short ILOAD_1
See Also:
Constant Field Values

ILOAD_2

public static final short ILOAD_2
See Also:
Constant Field Values

ILOAD_3

public static final short ILOAD_3
See Also:
Constant Field Values

LLOAD_0

public static final short LLOAD_0
See Also:
Constant Field Values

LLOAD_1

public static final short LLOAD_1
See Also:
Constant Field Values

LLOAD_2

public static final short LLOAD_2
See Also:
Constant Field Values

LLOAD_3

public static final short LLOAD_3
See Also:
Constant Field Values

FLOAD_0

public static final short FLOAD_0
See Also:
Constant Field Values

FLOAD_1

public static final short FLOAD_1
See Also:
Constant Field Values

FLOAD_2

public static final short FLOAD_2
See Also:
Constant Field Values

FLOAD_3

public static final short FLOAD_3
See Also:
Constant Field Values

DLOAD_0

public static final short DLOAD_0
See Also:
Constant Field Values

DLOAD_1

public static final short DLOAD_1
See Also:
Constant Field Values

DLOAD_2

public static final short DLOAD_2
See Also:
Constant Field Values

DLOAD_3

public static final short DLOAD_3
See Also:
Constant Field Values

ALOAD_0

public static final short ALOAD_0
See Also:
Constant Field Values

ALOAD_1

public static final short ALOAD_1
See Also:
Constant Field Values

ALOAD_2

public static final short ALOAD_2
See Also:
Constant Field Values

ALOAD_3

public static final short ALOAD_3
See Also:
Constant Field Values

IALOAD

public static final short IALOAD
See Also:
Constant Field Values

LALOAD

public static final short LALOAD
See Also:
Constant Field Values

FALOAD

public static final short FALOAD
See Also:
Constant Field Values

DALOAD

public static final short DALOAD
See Also:
Constant Field Values

AALOAD

public static final short AALOAD
See Also:
Constant Field Values

BALOAD

public static final short BALOAD
See Also:
Constant Field Values

CALOAD

public static final short CALOAD
See Also:
Constant Field Values

SALOAD

public static final short SALOAD
See Also:
Constant Field Values

ISTORE

public static final short ISTORE
See Also:
Constant Field Values

LSTORE

public static final short LSTORE
See Also:
Constant Field Values

FSTORE

public static final short FSTORE
See Also:
Constant Field Values

DSTORE

public static final short DSTORE
See Also:
Constant Field Values

ASTORE

public static final short ASTORE
See Also:
Constant Field Values

ISTORE_0

public static final short ISTORE_0
See Also:
Constant Field Values

ISTORE_1

public static final short ISTORE_1
See Also:
Constant Field Values

ISTORE_2

public static final short ISTORE_2
See Also:
Constant Field Values

ISTORE_3

public static final short ISTORE_3
See Also:
Constant Field Values

LSTORE_0

public static final short LSTORE_0
See Also:
Constant Field Values

LSTORE_1

public static final short LSTORE_1
See Also:
Constant Field Values

LSTORE_2

public static final short LSTORE_2
See Also:
Constant Field Values

LSTORE_3

public static final short LSTORE_3
See Also:
Constant Field Values

FSTORE_0

public static final short FSTORE_0
See Also:
Constant Field Values

FSTORE_1

public static final short FSTORE_1
See Also:
Constant Field Values

FSTORE_2

public static final short FSTORE_2
See Also:
Constant Field Values

FSTORE_3

public static final short FSTORE_3
See Also:
Constant Field Values

DSTORE_0

public static final short DSTORE_0
See Also:
Constant Field Values

DSTORE_1

public static final short DSTORE_1
See Also:
Constant Field Values

DSTORE_2

public static final short DSTORE_2
See Also:
Constant Field Values

DSTORE_3

public static final short DSTORE_3
See Also:
Constant Field Values

ASTORE_0

public static final short ASTORE_0
See Also:
Constant Field Values

ASTORE_1

public static final short ASTORE_1
See Also:
Constant Field Values

ASTORE_2

public static final short ASTORE_2
See Also:
Constant Field Values

ASTORE_3

public static final short ASTORE_3
See Also:
Constant Field Values

IASTORE

public static final short IASTORE
See Also:
Constant Field Values

LASTORE

public static final short LASTORE
See Also:
Constant Field Values

FASTORE

public static final short FASTORE
See Also:
Constant Field Values

DASTORE

public static final short DASTORE
See Also:
Constant Field Values

AASTORE

public static final short AASTORE
See Also:
Constant Field Values

BASTORE

public static final short BASTORE
See Also:
Constant Field Values

CASTORE

public static final short CASTORE
See Also:
Constant Field Values

SASTORE

public static final short SASTORE
See Also:
Constant Field Values

POP

public static final short POP
See Also:
Constant Field Values

POP2

public static final short POP2
See Also:
Constant Field Values

DUP

public static final short DUP
See Also:
Constant Field Values

DUP_X1

public static final short DUP_X1
See Also:
Constant Field Values

DUP_X2

public static final short DUP_X2
See Also:
Constant Field Values

DUP2

public static final short DUP2
See Also:
Constant Field Values

DUP2_X1

public static final short DUP2_X1
See Also:
Constant Field Values

DUP2_X2

public static final short DUP2_X2
See Also:
Constant Field Values

SWAP

public static final short SWAP
See Also:
Constant Field Values

IADD

public static final short IADD
See Also:
Constant Field Values

LADD

public static final short LADD
See Also:
Constant Field Values

FADD

public static final short FADD
See Also:
Constant Field Values

DADD

public static final short DADD
See Also:
Constant Field Values

ISUB

public static final short ISUB
See Also:
Constant Field Values

LSUB

public static final short LSUB
See Also:
Constant Field Values

FSUB

public static final short FSUB
See Also:
Constant Field Values

DSUB

public static final short DSUB
See Also:
Constant Field Values

IMUL

public static final short IMUL
See Also:
Constant Field Values

LMUL

public static final short LMUL
See Also:
Constant Field Values

FMUL

public static final short FMUL
See Also:
Constant Field Values

DMUL

public static final short DMUL
See Also:
Constant Field Values

IDIV

public static final short IDIV
See Also:
Constant Field Values

LDIV

public static final short LDIV
See Also:
Constant Field Values

FDIV

public static final short FDIV
See Also:
Constant Field Values

DDIV

public static final short DDIV
See Also:
Constant Field Values

IREM

public static final short IREM
See Also:
Constant Field Values

LREM

public static final short LREM
See Also:
Constant Field Values

FREM

public static final short FREM
See Also:
Constant Field Values

DREM

public static final short DREM
See Also:
Constant Field Values

INEG

public static final short INEG
See Also:
Constant Field Values

LNEG

public static final short LNEG
See Also:
Constant Field Values

FNEG

public static final short FNEG
See Also:
Constant Field Values

DNEG

public static final short DNEG
See Also:
Constant Field Values

ISHL

public static final short ISHL
See Also:
Constant Field Values

LSHL

public static final short LSHL
See Also:
Constant Field Values

ISHR

public static final short ISHR
See Also:
Constant Field Values

LSHR

public static final short LSHR
See Also:
Constant Field Values

IUSHR

public static final short IUSHR
See Also:
Constant Field Values

LUSHR

public static final short LUSHR
See Also:
Constant Field Values

IAND

public static final short IAND
See Also:
Constant Field Values

LAND

public static final short LAND
See Also:
Constant Field Values

IOR

public static final short IOR
See Also:
Constant Field Values

LOR

public static final short LOR
See Also:
Constant Field Values

IXOR

public static final short IXOR
See Also:
Constant Field Values

LXOR

public static final short LXOR
See Also:
Constant Field Values

IINC

public static final short IINC
See Also:
Constant Field Values

I2L

public static final short I2L
See Also:
Constant Field Values

I2F

public static final short I2F
See Also:
Constant Field Values

I2D

public static final short I2D
See Also:
Constant Field Values

L2I

public static final short L2I
See Also:
Constant Field Values

L2F

public static final short L2F
See Also:
Constant Field Values

L2D

public static final short L2D
See Also:
Constant Field Values

F2I

public static final short F2I
See Also:
Constant Field Values

F2L

public static final short F2L
See Also:
Constant Field Values

F2D

public static final short F2D
See Also:
Constant Field Values

D2I

public static final short D2I
See Also:
Constant Field Values

D2L

public static final short D2L
See Also:
Constant Field Values

D2F

public static final short D2F
See Also:
Constant Field Values

I2B

public static final short I2B
See Also:
Constant Field Values

INT2BYTE

public static final short INT2BYTE
See Also:
Constant Field Values

I2C

public static final short I2C
See Also:
Constant Field Values

INT2CHAR

public static final short INT2CHAR
See Also:
Constant Field Values

I2S

public static final short I2S
See Also:
Constant Field Values

INT2SHORT

public static final short INT2SHORT
See Also:
Constant Field Values

LCMP

public static final short LCMP
See Also:
Constant Field Values

FCMPL

public static final short FCMPL
See Also:
Constant Field Values

FCMPG

public static final short FCMPG
See Also:
Constant Field Values

DCMPL

public static final short DCMPL
See Also:
Constant Field Values

DCMPG

public static final short DCMPG
See Also:
Constant Field Values

IFEQ

public static final short IFEQ
See Also:
Constant Field Values

IFNE

public static final short IFNE
See Also:
Constant Field Values

IFLT

public static final short IFLT
See Also:
Constant Field Values

IFGE

public static final short IFGE
See Also:
Constant Field Values

IFGT

public static final short IFGT
See Also:
Constant Field Values

IFLE

public static final short IFLE
See Also:
Constant Field Values

IF_ICMPEQ

public static final short IF_ICMPEQ
See Also:
Constant Field Values

IF_ICMPNE

public static final short IF_ICMPNE
See Also:
Constant Field Values

IF_ICMPLT

public static final short IF_ICMPLT
See Also:
Constant Field Values

IF_ICMPGE

public static final short IF_ICMPGE
See Also:
Constant Field Values

IF_ICMPGT

public static final short IF_ICMPGT
See Also:
Constant Field Values

IF_ICMPLE

public static final short IF_ICMPLE
See Also:
Constant Field Values

IF_ACMPEQ

public static final short IF_ACMPEQ
See Also:
Constant Field Values

IF_ACMPNE

public static final short IF_ACMPNE
See Also:
Constant Field Values

GOTO

public static final short GOTO
See Also:
Constant Field Values

JSR

public static final short JSR
See Also:
Constant Field Values

RET

public static final short RET
See Also:
Constant Field Values

TABLESWITCH

public static final short TABLESWITCH
See Also:
Constant Field Values

LOOKUPSWITCH

public static final short LOOKUPSWITCH
See Also:
Constant Field Values

IRETURN

public static final short IRETURN
See Also:
Constant Field Values

LRETURN

public static final short LRETURN
See Also:
Constant Field Values

FRETURN

public static final short FRETURN
See Also:
Constant Field Values

DRETURN

public static final short DRETURN
See Also:
Constant Field Values

ARETURN

public static final short ARETURN
See Also:
Constant Field Values

RETURN

public static final short RETURN
See Also:
Constant Field Values

GETSTATIC

public static final short GETSTATIC
See Also:
Constant Field Values

PUTSTATIC

public static final short PUTSTATIC
See Also:
Constant Field Values

GETFIELD

public static final short GETFIELD
See Also:
Constant Field Values

PUTFIELD

public static final short PUTFIELD
See Also:
Constant Field Values

INVOKEVIRTUAL

public static final short INVOKEVIRTUAL
See Also:
Constant Field Values

INVOKESPECIAL

public static final short INVOKESPECIAL
See Also:
Constant Field Values

INVOKENONVIRTUAL

public static final short INVOKENONVIRTUAL
See Also:
Constant Field Values

INVOKESTATIC

public static final short INVOKESTATIC
See Also:
Constant Field Values

INVOKEINTERFACE

public static final short INVOKEINTERFACE
See Also:
Constant Field Values

NEW

public static final short NEW
See Also:
Constant Field Values

NEWARRAY

public static final short NEWARRAY
See Also:
Constant Field Values

ANEWARRAY

public static final short ANEWARRAY
See Also:
Constant Field Values

ARRAYLENGTH

public static final short ARRAYLENGTH
See Also:
Constant Field Values

ATHROW

public static final short ATHROW
See Also:
Constant Field Values

CHECKCAST

public static final short CHECKCAST
See Also:
Constant Field Values

INSTANCEOF

public static final short INSTANCEOF
See Also:
Constant Field Values

MONITORENTER

public static final short MONITORENTER
See Also:
Constant Field Values

MONITOREXIT

public static final short MONITOREXIT
See Also:
Constant Field Values

WIDE

public static final short WIDE
See Also:
Constant Field Values

MULTIANEWARRAY

public static final short MULTIANEWARRAY
See Also:
Constant Field Values

IFNULL

public static final short IFNULL
See Also:
Constant Field Values

IFNONNULL

public static final short IFNONNULL
See Also:
Constant Field Values

GOTO_W

public static final short GOTO_W
See Also:
Constant Field Values

JSR_W

public static final short JSR_W
See Also:
Constant Field Values

javaArrayNames

public static final String[] javaArrayNames
Constructor Detail

BytecodeUtils

public BytecodeUtils()
Method Detail

getInstructionName

public static String getInstructionName(short opcode)

buildVisitorInterface

public static void buildVisitorInterface(String visitorFileName,
                                         String visitorPackage)
                                  throws IOException
Throws:
IOException

getVisitMethodName

public static String getVisitMethodName(String instr)

writeVisitorInterface

public static void writeVisitorInterface(String visitorPackage,
                                         PrintStream ps)

writeVisitorSupport

public static void writeVisitorSupport(String visitorPackage,
                                       PrintStream ps)

main

public static void main(String[] args)