|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.jdo.impl.enhancer.classfile.Insn
Insn is an abstract class which represents a java VM instruction in a sequence of instructions.
Field Summary | |
private int |
insnOffset
|
private int |
insnOpcode
|
private Insn |
nextInsn
|
(package private) static int |
NO_OFFSET
|
static int |
opc_target
|
private Insn |
prevInsn
|
Constructor Summary | |
(package private) |
Insn(int theOpcode,
int theOffset)
|
Method Summary | |
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 |
(package private) abstract void |
print(java.io.PrintStream out,
int indent)
|
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 |
(package private) static Insn |
read(InsnReadEnv insnEnv)
|
void |
remove()
Removes the current instruction from it's embedding sequence. |
(package private) int |
resolveOffset(int pc)
|
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. |
(package private) abstract int |
size()
|
(package private) abstract int |
store(byte[] buf,
int index)
|
(package private) static int |
storeInt(byte[] buf,
int index,
int v)
|
(package private) static int |
storeShort(byte[] buf,
int index,
short v)
|
java.lang.String |
toString()
A printable representation |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
static final int NO_OFFSET
public static final int opc_target
private int insnOpcode
private int insnOffset
private Insn nextInsn
private Insn prevInsn
Constructor Detail |
Insn(int theOpcode, int theOffset)
Method Detail |
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()
abstract void print(java.io.PrintStream out, int indent)
abstract int store(byte[] buf, int index)
abstract int size()
final int resolveOffset(int pc)
static int storeInt(byte[] buf, int index, int v)
static int storeShort(byte[] buf, int index, short v)
static Insn read(InsnReadEnv insnEnv)
public static final int loadStoreDataType(int opcode)
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |