Public Methods | |
ThreadInfo () | |
ThreadInfo (KernelState ks, int[] data) | |
void | callerPop (int n) |
void | clearOperandStack () |
void | cloneFrame () |
void | cloneFrame (int idx) |
InstructionHandle | createAndThrowException (String classname, SystemState ss, KernelState ks, ThreadInfo th) |
void | createMethodStackFrame (MethodInfo mi) |
int | depth () |
int | doRandom (int max, Scheduler sch) |
void | dup () |
void | dup_x1 () |
void | dup_x2 () |
void | dup2 () |
void | dup2_x1 () |
void | dup2_x2 () |
void | executeAtomicMethod () |
void | executeAtomicMethod (int offset) |
InstructionHandle | executeInstruction (SystemState ss, KernelState ks) |
boolean | executeStep (SystemState ss, KernelState ks) |
boolean | findNondeterminismInNextInstruction (iSystemState ss, iKernelState ks) |
int | getCalleeThis (int locals) |
ClassInfo | getClassInfo () |
ConstantPoolGen | getCPG () |
ClassInfo | getCurrentClass () |
ClassInfo | getCurrentClass (int idx) |
int | getCurrentLine () |
int | getCurrentLine (int idx) |
MethodInfo | getCurrentMethod () |
MethodInfo | getCurrentMethod (int idx) |
int | getLocalVariable (int idx) |
int | getLockCount () |
LockSet | getLockSet () |
LockTree | getLockTree () |
long | getLongLocalVariable (int idx) |
InstructionHandle | getPC () |
InstructionHandle | getPC (int i) |
Ref | getReference () |
int | getStatus () |
int[] | getStoringData () |
int | getTarget () |
int | getThis () |
int | getThreadReference () |
StackFrame | getTopStackFrame () |
TrailInfo | getTrailInfo () |
void | hash (HashData hd) |
int | hashCode () |
void | incIntLocalVariable (int index, int number) |
boolean | isAlive () |
boolean | isEnabled () |
boolean | isNotified () |
boolean | isOperandRef () |
boolean | isOperandRef (int idx) |
boolean | isRunnable (iSystemState ss, iKernelState ks) |
boolean | isRunning () |
boolean | isSafe () |
void | local2stack (int index) |
void | local2stack2 (int index) |
void | log () |
void | log (KernelState ks) |
void | mark (DynamicArea da) |
void | newFrame (MethodInfo mi) |
ThreadData | newThreadData () |
int | pcs () |
int | peek () |
int | peek (int n) |
long | peek2 () |
long | peek2 (int n) |
int | pop () |
void | pop (int n) |
long | pop2 () |
void | popFrame () |
void | printInternalErrorTrace (Throwable e) |
void | printStackContent () |
void | printStackTrace () |
void | push (int v) |
void | push2 (long v) |
void | removeArguments (MethodInfo mi) |
void | revertTo (KernelState ks, int[] data) |
void | setAtomicData (int d, MethodInfo m, int l) |
void | setClassInfo (ClassInfo c) |
void | setLocalVariable (int idx, int v) |
void | setLocalVariableRef (int idx) |
void | setLockCount (int l) |
void | setOperandRef () |
void | setPC (InstructionHandle pc) |
void | setReference (Ref o) |
void | setStatus (int s) |
void | setTarget (int t) |
void | setThreadReference (int t) |
int | size () |
void | stack2local (int index) |
void | stack2local2 (int index) |
void | swap () |
void | update () |
int | xpop () |
void | xSetLocalVariableRef (int idx) |
void | xSetOperandRef () |
ThreadInfo (int o) | |
ThreadInfo (ThreadInfo ti) | |
boolean | atInvoke (String mname) |
boolean | atLabel (String label) |
boolean | atMethod (String mname) |
boolean | atPosition (int position) |
boolean | atReturn () |
void | backtrackTo (ArrayOffset storing, Object backtrack) |
void | callerPop (int n) |
void | clearOperandStack () |
Object | clone () |
int | countStackFrames () |
Instruction | createAndThrowException (ClassInfo ci) |
Instruction | createAndThrowException (String cname) |
void | createMethodStackFrame (MethodInfo mi) |
void | dup () |
void | dup_x1 () |
void | dup_x2 () |
void | dup2 () |
void | dup2_x1 () |
void | dup2_x2 () |
void | enterSoftAtomic () |
Instruction | executeInstruction () |
void | executeMethod (MethodInfo mi) |
void | executeStaticMethod (MethodInfo mi) |
boolean | executeStep () |
Object | getBacktrackData () |
boolean | getBooleanLocal (int lindex) |
boolean | getBooleanLocal (String lname) |
boolean | getBooleanReturnValue () |
byte | getByteLocal (int lindex) |
byte | getByteLocal (String lname) |
byte | getByteReturnValue () |
int | getCalleeThis (int size) |
int | getCalleeThis (MethodInfo mi) |
String[] | getCallStack () |
char | getCharLocal (int lindex) |
char | getCharLocal (String lname) |
char | getCharReturnValue () |
ClassInfo | getClassInfo () |
double | getDoubleLocal (int lindex) |
double | getDoubleLocal (String lname) |
double | getDoubleReturnValue () |
float | getFloatLocal (int lindex) |
float | getFloatLocal (String lname) |
float | getFloatReturnValue () |
int | getIntLocal (int lindex) |
int | getIntLocal (String lname) |
int | getIntReturnValue () |
int | getLine () |
int | getLine (int idx) |
int | getLocalVariable (int idx) |
int | getLocalVariable (String name) |
String | getLocalVariableType (String name) |
int | getLockCount () |
long | getLongLocal (int lindex) |
long | getLongLocal (String lname) |
long | getLongLocalVariable (int idx) |
long | getLongLocalVariable (String name) |
long | getLongReturnValue () |
MethodInfo | getMethod () |
MethodInfo | getMethod (int idx) |
Reference | getObjectLocal (int lindex) |
Reference | getObjectLocal (String lname) |
int | getObjectReference () |
Reference | getObjectReturnValue () |
Instruction | getPC () |
Instruction | getPC (int i) |
short | getShortLocal (int lindex) |
short | getShortLocal (String lname) |
short | getShortReturnValue () |
int | getStatus () |
int[] | getStoringData () |
String | getStringLocal (int lindex) |
String | getStringLocal (String lname) |
String | getStringReturnValue () |
int | getTarget () |
int | getThis () |
void | hash (HashData hd) |
int | hashCode () |
void | interrupt () |
boolean | isAlive () |
boolean | isCalleeThis (Reference r) |
boolean | isEnabled () |
boolean | isLocalVariableRef (int idx) |
boolean | isOperandRef () |
boolean | isOperandRef (int idx) |
boolean | isRunnable () |
boolean | isSafe () |
boolean | isThis (Reference r) |
void | leaveSoftAtomic () |
void | log () |
long | longPeek () |
long | longPeek (int n) |
long | longPop () |
void | longPush (long v) |
void | mark () |
void | newFrame (MethodInfo mi) |
int | peek () |
int | peek (int n) |
int | pop () |
void | pop (int n) |
void | popFrame () |
void | printInternalErrorTrace (Throwable e) |
void | printStackContent () |
void | printStackTrace () |
void | push (int v, boolean ref) |
void | removeArguments (MethodInfo mi) |
void | setLocalVariable (int idx, int v, boolean ref) |
void | setLockCount (int l) |
void | setLongLocalVariable (int idx, long v) |
void | setPC (Instruction pc) |
void | setStatus (int s) |
void | setTarget (int t) |
void | swap () |
Instruction | throwException (int objref) |
Public Attributes | |
ThreadList | list |
int | index |
BitSet | hasChanged |
boolean | anyChanged |
Private Methods | |
void | addFrame (StackFrame sf) |
void | removeFrame () |
ThreadInfo () | |
boolean | executeAtomicLinesStep () |
boolean | executeNoAtomicLinesStep () |
StackFrame | frame (int idx) |
StackFrame | frameClone (int i) |
int | getStackFrameIndex (int i) |
int | getThreadDataIndex () |
void | setStackFrameIndex (int i, int idx) |
void | setThreadDataIndex (int idx) |
ThreadData | threadDataClone () |
StackFrame | top () |
StackFrame | topClone () |
Private Attributes | |
int | status = STATUS.NEW |
ClassInfo | ci = null |
Stack | JVMStack = new Stack() |
LockSet | lockset = new LockSet() |
Ref | ref = Ref.NULL |
int | target = -1 |
int | threadref = -1 |
int | lock_count = 0 |
int | tdIndex = -1 |
boolean | tdChanged = true |
boolean | anyFrameChanged = false |
BitSet | frameChanged = new BitSet() |
int[] | frameData = new int[0] |
LockTree | lockTree |
int | depth = 0 |
MethodInfo | currentMethod = null |
int | line = -1 |
boolean | inAtomicMethod = false |
boolean | inSameMethod = true |
ThreadData | threadData |
AtomicData | atomicData |
StackFrame[] | stack |
int[] | data |
int | lowestChanged |
Static Private Attributes | |
HashPool | threadDataPool = new HashPool() |
HashPool | stackFramePool = new HashPool() |
Definition at line 16 of file lib/jpf/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java.
|
Creates a new empty thread info. Used to backtrack. Definition at line 112 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Creates a new thread info. It is associated with the object passed and sets the target object as well. Definition at line 122 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Restores the state of the system. Definition at line 239 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. Referenced by ThreadList::backtrackTo().
|
|
Pops a set of values from the caller stack frame. Definition at line 272 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Clears the operand stack of all value. Definition at line 278 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Returns the number of stack frames. Definition at line 298 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Creates an exception and throws it. Definition at line 312 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Creates an exception and throws it. Definition at line 304 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Creates a stack frame for a newly called method. Definition at line 318 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. Referenced by ClassInfo::executeMethod(), and ClassInfo::executeStaticMethod().
|
|
Duplicates a value on the top stack frame. Definition at line 343 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Duplicates a long value on the top stack frame. Definition at line 361 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Duplicates a long value on the top stack frame. Definition at line 367 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Duplicates a long value on the top stack frame. Definition at line 373 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Duplicates a value on the top stack frame. Definition at line 349 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Duplicates a value on the top stack frame. Definition at line 355 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Starts a soft atomic block. Definition at line 379 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Executes a step where lines are atomic.
Definition at line 386 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Execute next instruction. Definition at line 474 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Executes a method call. It executes the whole method as one * atomic step and returns when the call is over. It also allows for methods to be reflected. The arguments to the method must already be onto the stack. Definition at line 502 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
execute a step without considering lines to be atomic. Definition at line 544 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Executes a static method call. It executes the whole method as one atomic step and returns when the call is over. It also allows for methods to be reflected. The arguments to the method must already be onto the stack. Definition at line 620 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Executes next step.
Definition at line 664 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Returns a specific stack frame. Definition at line 676 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Returns a clone of a specific stack frame. Definition at line 684 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Returns the information necessary to backtrack. Definition at line 700 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Returns the this pointer of the callee from the stack. Definition at line 718 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Returns the this pointer of the callee from the stack. Definition at line 712 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. Referenced by ClassInfo::executeMethod(), ClassInfo::isMethodDeterministic(), and ClassInfo::isMethodExecutable().
|
|
Returns the class information. Definition at line 741 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Returns the line the thread is at. Definition at line 762 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Returns the line number of the program counter of the top stack frame. Definition at line 756 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Gets the value of a local variable from its name. Definition at line 774 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Returns the value of a local variable. Definition at line 768 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Gets the type associated with a local variable. Definition at line 780 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Returns the number of locks in the last wait. Definition at line 786 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. Referenced by Monitor::lockNotified().
|
|
Gets the value of a long local variable from its name. Definition at line 800 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Returns the value of a long local variable. Definition at line 794 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Returns the method info of a specific stack frame. Definition at line 813 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Returns the current method in the top stack frame. Definition at line 807 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Returns the object reference. Definition at line 872 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Returns the program counter of a stack frame. Definition at line 887 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Returns the program counter of the top stack frame. Definition at line 879 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Returns the current status of the thread. Definition at line 906 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Returns the information necessary to store. Definition at line 912 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Returns the object reference of the target. Definition at line 943 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Returns the pointer to the object reference. Definition at line 949 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
An alive thread is either running, waiting, notified, or interrupted. Definition at line 994 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
An enabled thread is either running, notified, or interrupted. It also checks if it belongs to the race window. Definition at line 1019 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Checks if a local variable is a reference. Definition at line 1033 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Checks if an operand is a reference. Definition at line 1045 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Checks if the top operand is a reference. Definition at line 1039 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Returns true if it is possible to execute the next instruction of this thread. This function is used by the scheduler to determine which threads can be executed. Definition at line 1053 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Checks if the thread is safe. A thread is safe if its next instruction is safe. Definition at line 1087 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Leaves a soft atomic block. Definition at line 1103 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Peeks a long value from the top stack frame. Definition at line 1120 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Peeks the top long value from the top stack frame. Definition at line 1114 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Pops the top long value from the top stack frame. Definition at line 1126 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Pushes a long value of the top stack frame. Definition at line 1132 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Marks the objects referenced by the stack frames. Definition at line 1139 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Adds a new stack frame for a new called method. Definition at line 1149 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. Referenced by ClassInfo::createMainThread().
|
|
Peeks a value from the top stack frame. Definition at line 1180 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Peeks the top value from the top stack frame. Definition at line 1174 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Pops a set of values from the top stack frame. Definition at line 1192 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Pops the top value from the top stack frame. Definition at line 1186 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Removes a stack frame. Definition at line 1198 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Prints the content of the stack. Definition at line 1246 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Prints the trace of the stack. Definition at line 1253 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Pushes a value on the top stack frame. Definition at line 1260 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Removes the arguments of a method call. Definition at line 1266 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Sets the value of a local variable. Definition at line 1274 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. Referenced by ClassInfo::createMainThread().
|
|
Sets the number of locks held at the time of a wait. Definition at line 1280 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. Referenced by Monitor::lockNotified(), and Monitor::wait().
|
|
Sets the value of a long local variable. Definition at line 1287 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Sets the program counter of the top stack frame. Definition at line 1293 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Updates the status of the thread. Definition at line 1303 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. Referenced by ClassInfo::createMainThread(), Monitor::interrupt(), Monitor::lockNotified(), Monitor::notifyAll(), and Monitor::wait().
|
|
Sets the target of the thread. Definition at line 1319 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Swaps two entry on the stack. Definition at line 1331 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Returns a clone of the thread data. Definition at line 1337 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Throws an exception throught the stack frames. Definition at line 1347 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Returns the top stack frame. Definition at line 1394 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Returns a clone of the top stack frame. Definition at line 1400 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Set if any stack frame changed. Definition at line 97 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Some information about the thread that are used to handle atomicity. Definition at line 67 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Keeps the information from the last storing. Definition at line 102 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Identifies which thread has changed. Definition at line 92 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Position in the thread list. Definition at line 82 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Reference of the thread list it is in. Definition at line 77 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Remembers which is the lowest changed stack frame. Definition at line 107 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
The stack frames of the JVM. Definition at line 72 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Pool used to store the stack frames. Definition at line 56 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Contains the index of the thread data last used. Definition at line 87 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Information about the thread. Definition at line 61 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |
|
Pool used to store the thread data. Definition at line 51 of file src/gov/nasa/arc/ase/jpf/jvm/ThreadInfo.java. |