major rework of jvmti. now we have three processes in jvmti mode. there are still...
[cacao.git] / src / threads / native / threads.h
index 18088b4831edf20c63a8108f7dfedcb1f005f0a4..4f1afcbb7f93944092ad7168af9d66abc0dfe26a 100644 (file)
@@ -28,7 +28,7 @@
 
    Changes: Christian Thalinger
 
-   $Id: threads.h 4443 2006-02-05 13:39:34Z stefan $
+   $Id: threads.h 4661 2006-03-21 00:04:59Z motse $
 
 */
 
@@ -160,7 +160,7 @@ struct monitorLockRecord {
        s4                 queuers;
        monitorLockRecord *waiter;
        monitorLockRecord *incharge;
-       monitorLockRecord *waiting;
+       java_objectheader *waiting;
        sem_t              queueSem;
        pthread_mutex_t    resolveLock;
        pthread_cond_t     resolveWait;
@@ -182,9 +182,10 @@ monitorLockRecord *monitorEnter(threadobject *, java_objectheader *);
 bool monitorExit(threadobject *, java_objectheader *);
 
 bool threadHoldsLock(threadobject *t, java_objectheader *o);
-void signal_cond_for_object(java_objectheader *obj);
-void broadcast_cond_for_object(java_objectheader *obj);
-void wait_cond_for_object(java_objectheader *obj, s8 time, s4 nanos);
+
+void wait_cond_for_object(java_objectheader *o, s8 millis, s4 nanos);
+void signal_cond_for_object(java_objectheader *o);
+void broadcast_cond_for_object(java_objectheader *o);
 
 void *thread_getself(void);
 
@@ -201,7 +202,7 @@ void threads_start_thread(thread *t, functionptr function);
 
 void joinAllThreads();
 
-void sleepThread(s8 millis, s4 nanos);
+void thread_sleep(s8 millis, s4 nanos);
 void yieldThread();
 
 void setPriorityThread(thread *t, s4 priority);
@@ -210,6 +211,11 @@ void interruptThread(java_lang_VMThread *);
 bool interruptedThread();
 bool isInterruptedThread(java_lang_VMThread *);
 
+#if defined(ENABLE_JVMTI)
+void setthreadobject(threadobject *thread);
+#endif
+
+
 /* This must not be changed, it is used in asm_criticalsections */
 typedef struct {
        u1 *mcodebegin;