FileDocCategorySizeDatePackage
InstructionConstants.javaAPI DocJava SE 6 API17739Tue Jun 10 00:22:20 BST 2008com.sun.org.apache.bcel.internal.generic

InstructionConstants

public interface InstructionConstants
This interface contains shareable instruction objects. In order to save memory you can use some instructions multiply, since they have an immutable state and are directly derived from Instruction. I.e. they have no instance fields that could be changed. Since some of these instructions like ICONST_0 occur very frequently this can save a lot of time and space. This feature is an adaptation of the FlyWeight design pattern, we just use an array instead of a factory. The Instructions can also accessed directly under their names, so it's possible to write il.append(Instruction.ICONST_0);
version
$Id: InstructionConstants.java,v 1.1.2.1 2005/07/31 23:45:26 jeffsuttor Exp $
author
M. Dahm

Fields Summary
public static final Instruction
NOP
Predefined instruction objects
public static final Instruction
ACONST_NULL
public static final Instruction
ICONST_M1
public static final Instruction
ICONST_0
public static final Instruction
ICONST_1
public static final Instruction
ICONST_2
public static final Instruction
ICONST_3
public static final Instruction
ICONST_4
public static final Instruction
ICONST_5
public static final Instruction
LCONST_0
public static final Instruction
LCONST_1
public static final Instruction
FCONST_0
public static final Instruction
FCONST_1
public static final Instruction
FCONST_2
public static final Instruction
DCONST_0
public static final Instruction
DCONST_1
public static final ArrayInstruction
IALOAD
public static final ArrayInstruction
LALOAD
public static final ArrayInstruction
FALOAD
public static final ArrayInstruction
DALOAD
public static final ArrayInstruction
AALOAD
public static final ArrayInstruction
BALOAD
public static final ArrayInstruction
CALOAD
public static final ArrayInstruction
SALOAD
public static final ArrayInstruction
IASTORE
public static final ArrayInstruction
LASTORE
public static final ArrayInstruction
FASTORE
public static final ArrayInstruction
DASTORE
public static final ArrayInstruction
AASTORE
public static final ArrayInstruction
BASTORE
public static final ArrayInstruction
CASTORE
public static final ArrayInstruction
SASTORE
public static final StackInstruction
POP
public static final StackInstruction
POP2
public static final StackInstruction
DUP
public static final StackInstruction
DUP_X1
public static final StackInstruction
DUP_X2
public static final StackInstruction
DUP2
public static final StackInstruction
DUP2_X1
public static final StackInstruction
DUP2_X2
public static final StackInstruction
SWAP
public static final ArithmeticInstruction
IADD
public static final ArithmeticInstruction
LADD
public static final ArithmeticInstruction
FADD
public static final ArithmeticInstruction
DADD
public static final ArithmeticInstruction
ISUB
public static final ArithmeticInstruction
LSUB
public static final ArithmeticInstruction
FSUB
public static final ArithmeticInstruction
DSUB
public static final ArithmeticInstruction
IMUL
public static final ArithmeticInstruction
LMUL
public static final ArithmeticInstruction
FMUL
public static final ArithmeticInstruction
DMUL
public static final ArithmeticInstruction
IDIV
public static final ArithmeticInstruction
LDIV
public static final ArithmeticInstruction
FDIV
public static final ArithmeticInstruction
DDIV
public static final ArithmeticInstruction
IREM
public static final ArithmeticInstruction
LREM
public static final ArithmeticInstruction
FREM
public static final ArithmeticInstruction
DREM
public static final ArithmeticInstruction
INEG
public static final ArithmeticInstruction
LNEG
public static final ArithmeticInstruction
FNEG
public static final ArithmeticInstruction
DNEG
public static final ArithmeticInstruction
ISHL
public static final ArithmeticInstruction
LSHL
public static final ArithmeticInstruction
ISHR
public static final ArithmeticInstruction
LSHR
public static final ArithmeticInstruction
IUSHR
public static final ArithmeticInstruction
LUSHR
public static final ArithmeticInstruction
IAND
public static final ArithmeticInstruction
LAND
public static final ArithmeticInstruction
IOR
public static final ArithmeticInstruction
LOR
public static final ArithmeticInstruction
IXOR
public static final ArithmeticInstruction
LXOR
public static final ConversionInstruction
I2L
public static final ConversionInstruction
I2F
public static final ConversionInstruction
I2D
public static final ConversionInstruction
L2I
public static final ConversionInstruction
L2F
public static final ConversionInstruction
L2D
public static final ConversionInstruction
F2I
public static final ConversionInstruction
F2L
public static final ConversionInstruction
F2D
public static final ConversionInstruction
D2I
public static final ConversionInstruction
D2L
public static final ConversionInstruction
D2F
public static final ConversionInstruction
I2B
public static final ConversionInstruction
I2C
public static final ConversionInstruction
I2S
public static final Instruction
LCMP
public static final Instruction
FCMPL
public static final Instruction
FCMPG
public static final Instruction
DCMPL
public static final Instruction
DCMPG
public static final ReturnInstruction
IRETURN
public static final ReturnInstruction
LRETURN
public static final ReturnInstruction
FRETURN
public static final ReturnInstruction
DRETURN
public static final ReturnInstruction
ARETURN
public static final ReturnInstruction
RETURN
public static final Instruction
ARRAYLENGTH
public static final Instruction
ATHROW
public static final Instruction
MONITORENTER
public static final Instruction
MONITOREXIT
public static final LocalVariableInstruction
THIS
You can use these constants in multiple places safely, if you can guarantee that you will never alter their internal values, e.g. call setIndex().
public static final LocalVariableInstruction
ALOAD_0
public static final LocalVariableInstruction
ALOAD_1
public static final LocalVariableInstruction
ALOAD_2
public static final LocalVariableInstruction
ILOAD_0
public static final LocalVariableInstruction
ILOAD_1
public static final LocalVariableInstruction
ILOAD_2
public static final LocalVariableInstruction
ASTORE_0
public static final LocalVariableInstruction
ASTORE_1
public static final LocalVariableInstruction
ASTORE_2
public static final LocalVariableInstruction
ISTORE_0
public static final LocalVariableInstruction
ISTORE_1
public static final LocalVariableInstruction
ISTORE_2
public static final Instruction[]
INSTRUCTIONS
Get object via its opcode, for immutable instructions like branch instructions entries are set to null.
static final Clinit
bla
Interfaces may have no static initializers, so we simulate this with an inner class.
Constructors Summary
Methods Summary