public abstract class NativeStackFrame extends StackFrame
ATTR_IS_FROZEN, attributes, attrs, frameAttr, isRef, mi, pc, prev, slots, stackBase, thisRef, top
Constructor and Description |
---|
NativeStackFrame(NativeMethodInfo mi) |
Modifier and Type | Method and Description |
---|---|
void |
clearReturnValue() |
StackFrame |
clone() |
boolean |
equals(Object object)
default implementation is just an identity check
|
Object[] |
getArguments() |
long |
getLongResult() |
Object |
getLongResultAttr() |
int |
getReferenceResult() |
int |
getResult() |
Object |
getResultAttr() |
Object |
getReturnAttr() |
Object |
getReturnValue() |
boolean |
hasAnyRef() |
protected void |
hash(HashData hd) |
boolean |
isNative() |
boolean |
isSynthetic() |
void |
markThreadRoots(Heap heap,
int tid)
mark all objects reachable from local or operand stack positions containing
references.
|
boolean |
modifiesState()
is this StackFrame modifying the KernelState
this is true unless this is callerSlots NativeStackFrame
|
void |
setArgs(Object[] args) |
void |
setArgumentLocal(int idx,
int value,
Object attr) |
void |
setLongArgumentLocal(int idx,
long value,
Object attr) |
void |
setReferenceArgumentLocal(int idx,
int ref,
Object attr) |
void |
setReturnAttr(Object a) |
void |
setReturnValue(Object r) |
String |
toString() |
addFrameAttr, addLocalAttr, addLongOperandAttr, addOperandAttr, addOperandAttr, advancePC, checkIsModifiable, clearOperandStack, createReferenceMap, defreeze, dup_x1, dup_x2, dup, dup2_x1, dup2_x2, dup2, frameAttrIterator, frameAttrIterator, freeze, getArgumentAttrs, getCalleeThis, getCalleeThis, getClassInfo, getClassName, getDepth, getDoubleLocalVariable, getDoubleLocalVariable, getDoubleResult, getDoubleResultAttr, getFieldValue, getFloatLocalVariable, getFloatResult, getFloatResultAttr, getFrameAttr, getFrameAttr, getLine, getLocalAttr, getLocalAttr, getLocalAttrIndex, getLocalOrFieldValue, getLocalValueObject, getLocalVariable, getLocalVariable, getLocalVariableCount, getLocalVariableSlotIndex, getLocalVariableType, getLocalVariableType, getLocalVarInfo, getLocalVarInfo, getLocalVars, getLongLocalVariable, getLongLocalVariable, getLongOperandAttr, getLongOperandAttr, getMethodInfo, getMethodName, getNextFrameAttr, getNextLocalAttr, getNextLongOperandAttr, getNextOperandAttr, getNextOperandAttr, getOperandAttr, getOperandAttr, getOperandAttr, getOperandAttr, getPC, getPrevious, getReferenceMap, getSlot, getSlotAttr, getSlotAttrs, getSlots, getSourceFile, getStackTraceInfo, getThis, getTopPos, hasArgumentAttr, hasAttrs, hasFrameAttr, hasFrameAttr, hasFrameAttrValue, hashCode, hasLocalAttr, hasLocalAttr, hasLongOperandAttr, hasLongOperandAttr, hasOperandAttr, hasOperandAttr, hasOperandAttr, hasOperandAttr, includesReferenceOperand, includesReferenceOperand, isDirectCallFrame, isFirewall, isFrozen, isLocalVariableRef, isOperandRef, isOperandRef, isReferenceSlot, isReflection, localAttrIterator, localAttrIterator, longOperandAttrIterator, longOperandAttrIterator, mixinExecutionStateHash, objectHashCode, operandAttrIterator, operandAttrIterator, operandAttrIterator, operandAttrIterator, peek, peek, peekDouble, peekDouble, peekFloat, peekFloat, peekLong, peekLong, pop, pop, popDouble, popFloat, popLong, printContentsOn, printOperands, printSlots, printStackContent, printStackTrace, processRefArguments, push, push, pushDouble, pushFloat, pushLocal, pushLong, pushLongLocal, pushRef, removeArguments, removeFrameAttr, removeLocalAttr, removeLongOperandAttr, removeOperandAttr, removeOperandAttr, replaceFrameAttr, replaceLocalAttr, replaceLongOperandAttr, replaceOperandAttr, replaceOperandAttr, reset, setDoubleArgumentLocal, setFloatArgumentLocal, setFrameAttr, setLocalAttr, setLocalReferenceVariable, setLocalVariable, setLocalVariable, setLongLocalVariable, setLongOperandAttr, setOperand, setOperandAttr, setOperandAttr, setPC, setPrevious, setReflection, setSlotAttr, setThis, storeLongOperand, storeOperand, swap, visitReferenceSlots
public NativeStackFrame(NativeMethodInfo mi)
public void setArgs(Object[] args)
public StackFrame clone()
clone
in class StackFrame
public boolean isNative()
isNative
in class StackFrame
public boolean isSynthetic()
isSynthetic
in class StackFrame
public boolean modifiesState()
StackFrame
modifiesState
in class StackFrame
public boolean hasAnyRef()
hasAnyRef
in class StackFrame
public void setReturnAttr(Object a)
public void setReturnValue(Object r)
public void clearReturnValue()
public Object getReturnValue()
public Object getReturnAttr()
public Object[] getArguments()
public void markThreadRoots(Heap heap, int tid)
StackFrame
markThreadRoots
in class StackFrame
protected void hash(HashData hd)
hash
in class StackFrame
public boolean equals(Object object)
Object
equals
in class StackFrame
public String toString()
toString
in class StackFrame
public void setArgumentLocal(int idx, int value, Object attr)
setArgumentLocal
in class StackFrame
public void setLongArgumentLocal(int idx, long value, Object attr)
setLongArgumentLocal
in class StackFrame
public void setReferenceArgumentLocal(int idx, int ref, Object attr)
setReferenceArgumentLocal
in class StackFrame
public int getResult()
getResult
in class StackFrame
public int getReferenceResult()
getReferenceResult
in class StackFrame
public long getLongResult()
getLongResult
in class StackFrame
public Object getResultAttr()
getResultAttr
in class StackFrame
public Object getLongResultAttr()
getLongResultAttr
in class StackFrame