|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.sleepycat.asm.Frame
final class Frame
Information about the input and output stack map frames of a basic block.
Field Summary | |
---|---|
(package private) static int |
ARRAY_OF
Constant to be added to a type to get a type with one more dimension. |
(package private) static int |
BASE
Kind of the types that are not relative to an input stack map frame. |
(package private) static int |
BASE_KIND
Mask to get the kind of base types. |
(package private) static int |
BASE_VALUE
Mask to get the value of base types. |
(package private) static int |
BOOLEAN
The BOOLEAN type. |
(package private) static int |
BYTE
The BYTE type. |
(package private) static int |
CHAR
The CHAR type. |
(package private) static int |
DIM
Mask to get the dimension of a frame type. |
(package private) static int |
DOUBLE
The DOUBLE type. |
(package private) static int |
ELEMENT_OF
Constant to be added to a type to get a type with one less dimension. |
(package private) static int |
FLOAT
The FLOAT type. |
(package private) int[] |
inputLocals
The input stack map frame locals. |
(package private) int[] |
inputStack
The input stack map frame stack. |
(package private) static int |
INTEGER
The INTEGER type. |
(package private) static int |
KIND
Mask to get the kind of a frame type. |
(package private) static int |
LONG
The LONG type. |
(package private) static int |
NULL
The NULL type. |
(package private) static int |
OBJECT
Base kind of the base reference types. |
(package private) Label |
owner
The label (i.e. |
(package private) static int |
SHORT
The SHORT type. |
(package private) static int[] |
SIZE
The stack size variation corresponding to each JVM instruction. |
(package private) static int |
TOP
The TOP type. |
(package private) static int |
TOP_IF_LONG_OR_DOUBLE
Flag used for LOCAL and STACK types. |
(package private) static int |
UNINITIALIZED
Base kind of the uninitialized base types. |
(package private) static int |
UNINITIALIZED_THIS
The UNINITIALIZED_THIS type. |
(package private) static int |
VALUE
Mask to get the value of a frame type. |
Constructor Summary | |
---|---|
Frame()
|
Method Summary | |
---|---|
(package private) void |
execute(int opcode,
int arg,
ClassWriter cw,
Item item)
Simulates the action of the given instruction on the output stack frame. |
(package private) void |
initInputFrame(ClassWriter cw,
int access,
Type[] args,
int maxLocals)
Initializes the input frame of the first basic block from the method descriptor. |
(package private) boolean |
merge(ClassWriter cw,
Frame frame,
int edge)
Merges the input frame of the given basic block with the input and output frames of this basic block. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
static final int DIM
static final int ARRAY_OF
static final int ELEMENT_OF
static final int KIND
BASE
,
LOCAL
,
STACK
,
Constant Field Valuesstatic final int TOP_IF_LONG_OR_DOUBLE
static final int VALUE
static final int BASE_KIND
static final int BASE_VALUE
static final int BASE
static final int OBJECT
static final int UNINITIALIZED
static final int TOP
static final int BOOLEAN
static final int BYTE
static final int CHAR
static final int SHORT
static final int INTEGER
static final int FLOAT
static final int DOUBLE
static final int LONG
static final int NULL
static final int UNINITIALIZED_THIS
static final int[] SIZE
Label owner
int[] inputLocals
int[] inputStack
Constructor Detail |
---|
Frame()
Method Detail |
---|
void initInputFrame(ClassWriter cw, int access, Type[] args, int maxLocals)
cw
- the ClassWriter to which this label belongs.access
- the access flags of the method to which this label belongs.args
- the formal parameter types of this method.maxLocals
- the maximum number of local variables of this method.void execute(int opcode, int arg, ClassWriter cw, Item item)
opcode
- the opcode of the instruction.arg
- the operand of the instruction, if any.cw
- the class writer to which this label belongs.item
- the operand of the instructions, if any.boolean merge(ClassWriter cw, Frame frame, int edge)
cw
- the ClassWriter to which this label belongs.frame
- the basic block whose input frame must be updated.edge
- the kind of the Edge
between this label and 'label'.
See Edge.info
.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |