| java.lang.Object gov.nasa.jpf.jvm.JPF_java_lang_Thread
JPF_java_lang_Thread | public class JPF_java_lang_Thread (Code) | | MJI NativePeer class for java.lang.Thread library abstraction
|
Method Summary | |
public static int | countStackFrames(MJIEnv env, int objref) | public static int | currentThread(MJIEnv env, int clsObjRef) | public static boolean | holdsLock(MJIEnv env, int clsObjRef, int objref) | public static void | init0(MJIEnv env, int objref, int rGroup, int rRunnable, int rName, long stackSize) | public static void | interrupt(MJIEnv env, int objref) | public static boolean | isAlive(MJIEnv env, int objref) | public static boolean | isInterrupted(MJIEnv env, int objref, boolean clearStatus) | public static void | registerNatives(MJIEnv env, int clsObjRef) | public static void | resume0(MJIEnv env, int objref) | public static void | setDaemon0(MJIEnv env, int objref, boolean isDaemon) | public static void | setName0(MJIEnv env, int objref, int nameRef) | public static void | setPriority0(MJIEnv env, int objref, int prio) | public static void | sleep__J(MJIEnv env, int clsObjRef, long millis) | public static void | sleep__JI(MJIEnv env, int clsObjRef, long millis, int nanos) | public static void | start(MJIEnv env, int objref) | public static void | stop0(MJIEnv env, int objref, int threadDeathExcptRef) | public static void | suspend0(MJIEnv env, int objref) | public static void | yield(MJIEnv env, int clsObjRef) |
countStackFrames | public static int countStackFrames(MJIEnv env, int objref)(Code) | | |
currentThread | public static int currentThread(MJIEnv env, int clsObjRef)(Code) | | |
holdsLock | public static boolean holdsLock(MJIEnv env, int clsObjRef, int objref)(Code) | | |
init0 | public static void init0(MJIEnv env, int objref, int rGroup, int rRunnable, int rName, long stackSize)(Code) | | This method is the common initializer for all Thread ctors, and the only
single location where we can init our ThreadInfo, but it is PRIVATE
|
interrupt | public static void interrupt(MJIEnv env, int objref)(Code) | | |
isAlive | public static boolean isAlive(MJIEnv env, int objref)(Code) | | |
isInterrupted | public static boolean isInterrupted(MJIEnv env, int objref, boolean clearStatus)(Code) | | |
registerNatives | public static void registerNatives(MJIEnv env, int clsObjRef)(Code) | | |
resume0 | public static void resume0(MJIEnv env, int objref)(Code) | | |
setDaemon0 | public static void setDaemon0(MJIEnv env, int objref, boolean isDaemon)(Code) | | |
setName0 | public static void setName0(MJIEnv env, int objref, int nameRef)(Code) | | |
setPriority0 | public static void setPriority0(MJIEnv env, int objref, int prio)(Code) | | |
sleep__J | public static void sleep__J(MJIEnv env, int clsObjRef, long millis)(Code) | | |
sleep__JI | public static void sleep__JI(MJIEnv env, int clsObjRef, long millis, int nanos)(Code) | | |
start | public static void start(MJIEnv env, int objref)(Code) | | public static boolean $isExecutable_start (MJIEnv env, int objref) {
ThreadInfo newThread = getThreadInfo(env,objref);
int target = env.getIntField(objref,"target");
if (target == -1) {
target = objref;
}
// better late than never
newThread.setTarget(target);
// bug fix, only grab lock if "isSynchronized" 3/1/2002
// <2do> pcm - I don't think that's right, start nowadays IS synced
ElementInfo ei = env.getElementInfo(target);
ClassInfo ci = ei.getClassInfo();
MethodInfo run = ci.getMethod("run()", true);
if (run.isSynchronized()) {
return ei.canLock(newThread);
}
return true;
}
|
stop0 | public static void stop0(MJIEnv env, int objref, int threadDeathExcptRef)(Code) | | |
suspend0 | public static void suspend0(MJIEnv env, int objref)(Code) | | |
yield | public static void yield(MJIEnv env, int clsObjRef)(Code) | | |
|
|