public abstract class Insn extends java.lang.Object implements VMConstants
Modifier and Type | Field and Description |
---|---|
static int |
opc_target |
ACCAbstract, ACCFinal, ACCInterface, ACCNative, ACCPrivate, ACCProtected, ACCPublic, ACCStatic, ACCSuper, ACCSynchronized, ACCTransient, ACCVolatile, CONSTANTClass, CONSTANTDouble, CONSTANTFieldRef, CONSTANTFloat, CONSTANTInteger, CONSTANTInterfaceMethodRef, CONSTANTLong, CONSTANTMethodRef, CONSTANTNameAndType, CONSTANTString, CONSTANTUnicode, CONSTANTUtf8, opc_aaload, opc_aastore, opc_aconst_null, opc_aload, opc_aload_0, opc_aload_1, opc_aload_2, opc_aload_3, opc_anewarray, opc_areturn, opc_arraylength, opc_astore, opc_astore_0, opc_astore_1, opc_astore_2, opc_astore_3, opc_athrow, opc_baload, opc_bastore, opc_bipush, opc_caload, opc_castore, opc_checkcast, opc_d2f, opc_d2i, opc_d2l, opc_dadd, opc_daload, opc_dastore, opc_dcmpg, opc_dcmpl, opc_dconst_0, opc_dconst_1, opc_ddiv, opc_dload, opc_dload_0, opc_dload_1, opc_dload_2, opc_dload_3, opc_dmul, opc_dneg, opc_drem, opc_dreturn, opc_dstore, opc_dstore_0, opc_dstore_1, opc_dstore_2, opc_dstore_3, opc_dsub, opc_dup, opc_dup_x1, opc_dup_x2, opc_dup2, opc_dup2_x1, opc_dup2_x2, opc_f2d, opc_f2i, opc_f2l, opc_fadd, opc_faload, opc_fastore, opc_fcmpg, opc_fcmpl, opc_fconst_0, opc_fconst_1, opc_fconst_2, opc_fdiv, opc_fload, opc_fload_0, opc_fload_1, opc_fload_2, opc_fload_3, opc_fmul, opc_fneg, opc_frem, opc_freturn, opc_fstore, opc_fstore_0, opc_fstore_1, opc_fstore_2, opc_fstore_3, opc_fsub, opc_getfield, opc_getstatic, opc_goto, opc_goto_w, opc_i2b, opc_i2c, opc_i2d, opc_i2f, opc_i2l, opc_i2s, opc_iadd, opc_iaload, opc_iand, opc_iastore, opc_iconst_0, opc_iconst_1, opc_iconst_2, opc_iconst_3, opc_iconst_4, opc_iconst_5, opc_iconst_m1, opc_idiv, opc_if_acmpeq, opc_if_acmpne, opc_if_icmpeq, opc_if_icmpge, opc_if_icmpgt, opc_if_icmple, opc_if_icmplt, opc_if_icmpne, opc_ifeq, opc_ifge, opc_ifgt, opc_ifle, opc_iflt, opc_ifne, opc_ifnonnull, opc_ifnull, opc_iinc, opc_iload, opc_iload_0, opc_iload_1, opc_iload_2, opc_iload_3, opc_imul, opc_ineg, opc_instanceof, opc_invokeinterface, opc_invokespecial, opc_invokestatic, opc_invokevirtual, opc_ior, opc_irem, opc_ireturn, opc_ishl, opc_ishr, opc_istore, opc_istore_0, opc_istore_1, opc_istore_2, opc_istore_3, opc_isub, opc_iushr, opc_ixor, opc_jsr, opc_jsr_w, opc_l2d, opc_l2f, opc_l2i, opc_ladd, opc_laload, opc_land, opc_lastore, opc_lcmp, opc_lconst_0, opc_lconst_1, opc_ldc, opc_ldc_w, opc_ldc2_w, opc_ldiv, opc_lload, opc_lload_0, opc_lload_1, opc_lload_2, opc_lload_3, opc_lmul, opc_lneg, opc_lookupswitch, opc_lor, opc_lrem, opc_lreturn, opc_lshl, opc_lshr, opc_lstore, opc_lstore_0, opc_lstore_1, opc_lstore_2, opc_lstore_3, opc_lsub, opc_lushr, opc_lxor, opc_monitorenter, opc_monitorexit, opc_multianewarray, opc_new, opc_newarray, opc_nop, opc_pop, opc_pop2, opc_putfield, opc_putstatic, opc_ret, opc_return, opc_saload, opc_sastore, opc_sipush, opc_swap, opc_tableswitch, opc_wide, opc_xxxunusedxxx, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, T_TWOWORD, T_UNKNOWN, T_WORD, TC_INTERFACE, TC_OBJECT, TC_STRING
Modifier and Type | Method and Description |
---|---|
Insn |
append(Insn i)
Append an instruction sequence at the end of this instruction
sequence.
|
abstract java.lang.String |
argTypes()
What are the types of the stack operands ?
|
abstract boolean |
branches()
Does this instruction branch?
|
static Insn |
create(int theOpCode)
Create an instruction which requires no immediate operands
|
static Insn |
create(int theOpCode,
ConstBasic constValue)
Create an instruction which requires a single constant from the
constant pool as an immediate operand.
|
static Insn |
create(int theOpCode,
InsnTarget target)
Create an instruction which requires a single branch offset
as an immediate operand.
|
static Insn |
create(int theOpCode,
int intValue)
Create an instruction which requires a single integral constant
as an immediate operand.
|
Insn |
insert(Insn i)
Insert an instruction sequence in the code sequence after this
instruction.
|
boolean |
isEqual(java.util.Stack msg,
java.lang.Object obj)
Compares this instance with another for structural equality.
|
static int |
loadStoreDataType(int opcode)
Return the type of value manipulated by the load/store instruction
|
void |
markTargets()
Mark possible branch targets
|
Insn |
next()
Returns the next instruction in the code sequence
|
abstract int |
nStackArgs()
How many words of stack operands does this instruction take?
|
abstract int |
nStackResults()
How many words of stack results does this instruction deposit?
|
int |
offset()
Return the offset of this instruction in the containing code sequence
|
int |
opcode()
Return the opcode for this instruction
|
static java.lang.String |
opName(int opcode)
Return the name of the operation for a given opcode
|
Insn |
prev()
Returns the previous instruction in the code sequence
|
void |
printInsn(java.io.PrintStream out)
Print this instruction to the output stream
|
void |
printList(java.io.PrintStream out)
Print the sequence of instructions to the output stream
|
void |
remove()
Removes the current instruction from it's embedding sequence.
|
abstract java.lang.String |
resultTypes()
What are the types of the stack results?
|
Insn |
setNext(Insn i)
Insert the single instruction in the code sequence after this
instruction.
|
java.lang.String |
toString()
A printable representation
|
public static final int opc_target
public Insn next()
public Insn prev()
public void remove()
public Insn setNext(Insn i)
public Insn insert(Insn i)
public Insn append(Insn i)
public int opcode()
public int offset()
public abstract int nStackArgs()
public abstract int nStackResults()
public abstract java.lang.String argTypes()
public abstract java.lang.String resultTypes()
public abstract boolean branches()
public void markTargets()
public static java.lang.String opName(int opcode)
public static Insn create(int theOpCode)
public static Insn create(int theOpCode, ConstBasic constValue)
public static Insn create(int theOpCode, int intValue)
public static Insn create(int theOpCode, InsnTarget target)
public void printList(java.io.PrintStream out)
public void printInsn(java.io.PrintStream out)
public boolean isEqual(java.util.Stack msg, java.lang.Object obj)
public java.lang.String toString()
toString
in class java.lang.Object
public static final int loadStoreDataType(int opcode)
Copyright © 2005-2012 Apache Software Foundation. All Rights Reserved.