| Package | Description |
|---|---|
| com.android.dx.cf.code |
Implementation of classes having to do with Java simulation, such as
is needed for verification or stack-to-register conversion.
|
| Modifier and Type | Method and Description |
|---|---|
Frame |
Frame.copy()
Makes and returns a mutable copy of this instance.
|
Frame |
Frame.makeExceptionHandlerStartFrame(CstType exceptionClass)
Makes a new frame for an exception handler block invoked from this
frame.
|
Frame |
Frame.makeNewSubroutineStartFrame(int subLabel,
int callerLabel)
Makes a frame for a subroutine start block, given that this is the
ending frame of one of the subroutine's calling blocks.
|
Frame |
Frame.mergeWith(Frame other)
Merges two frames.
|
Frame |
Frame.mergeWithSubroutineCaller(Frame other,
int subLabel,
int predLabel)
Merges this frame with the frame of a subroutine caller at
predLabel. |
Frame |
Frame.subFrameForLabel(int startLabel,
int subLabel)
Returns a Frame instance representing the frame state that should
be used when returning from a subroutine.
|
| Modifier and Type | Method and Description |
|---|---|
void |
Machine.localArg(Frame frame,
int idx)
Loads the local variable with the given index as the sole argument in
the arguments area.
|
void |
BaseMachine.localArg(Frame frame,
int idx)
Loads the local variable with the given index as the sole argument in
the arguments area.
|
Frame |
Frame.mergeWith(Frame other)
Merges two frames.
|
Frame |
Frame.mergeWithSubroutineCaller(Frame other,
int subLabel,
int predLabel)
Merges this frame with the frame of a subroutine caller at
predLabel. |
void |
Machine.popArgs(Frame frame,
int count)
Pops the given number of values from the stack (of either category),
and store them in the arguments area, indicating that there are now
that many arguments.
|
void |
BaseMachine.popArgs(Frame frame,
int count)
Pops the given number of values from the stack (of either category),
and store them in the arguments area, indicating that there are now
that many arguments.
|
void |
Machine.popArgs(Frame frame,
Prototype prototype)
Pops values from the stack of the types indicated by the given
Prototype (popped in reverse of the argument
order, so the first prototype argument type is for the deepest
element of the stack), and store them in the arguments area,
indicating that there are now that many arguments. |
void |
BaseMachine.popArgs(Frame frame,
Prototype prototype)
Pops values from the stack of the types indicated by the given
Prototype (popped in reverse of the argument
order, so the first prototype argument type is for the deepest
element of the stack), and store them in the arguments area,
indicating that there are now that many arguments. |
void |
Machine.popArgs(Frame frame,
Type type)
Pops a value from the stack of the indicated type, and store it
in the arguments area, indicating that there are now that many
arguments.
|
void |
BaseMachine.popArgs(Frame frame,
Type type) |
void |
Machine.popArgs(Frame frame,
Type type1,
Type type2)
Pops values from the stack of the indicated types (popped in
reverse argument order, so the first indicated type is for the
deepest element of the stack), and store them in the arguments
area, indicating that there are now that many arguments.
|
void |
BaseMachine.popArgs(Frame frame,
Type type1,
Type type2)
Pops values from the stack of the indicated types (popped in
reverse argument order, so the first indicated type is for the
deepest element of the stack), and store them in the arguments
area, indicating that there are now that many arguments.
|
void |
Machine.popArgs(Frame frame,
Type type1,
Type type2,
Type type3)
Pops values from the stack of the indicated types (popped in
reverse argument order, so the first indicated type is for the
deepest element of the stack), and store them in the arguments
area, indicating that there are now that many arguments.
|
void |
BaseMachine.popArgs(Frame frame,
Type type1,
Type type2,
Type type3)
Pops values from the stack of the indicated types (popped in
reverse argument order, so the first indicated type is for the
deepest element of the stack), and store them in the arguments
area, indicating that there are now that many arguments.
|
void |
Machine.run(Frame frame,
int offset,
int opcode)
"Runs" the indicated opcode in an appropriate way, using the arguments
area as appropriate, and modifying the given frame in response.
|
void |
ValueAwareMachine.run(Frame frame,
int offset,
int opcode)
"Runs" the indicated opcode in an appropriate way, using the arguments
area as appropriate, and modifying the given frame in response.
|
void |
Simulator.simulate(ByteBlock bb,
Frame frame)
Simulates the effect of executing the given basic block.
|
int |
Simulator.simulate(int offset,
Frame frame)
Simulates the effect of the instruction at the given offset, by
making appropriate calls on the given frame.
|
protected void |
BaseMachine.storeResults(Frame frame)
Stores the results of the latest operation into the given frame.
|
Copyright © 2020. All Rights Reserved.