* configure.ac: Define ENABLE_TLH if ENABLE_SSA
[cacao.git] / src / threads / posix / thread-posix.h
index d2603ea13ddc3c9868a91b655c16f557b604e744..87df756dde8760b893f5e97567776c5a4582c867 100644 (file)
@@ -77,14 +77,12 @@ typedef struct {
 
 #if defined(HAVE___THREAD)
 
-#define THREADSPECIFIC    __thread
 #define THREADOBJECT      thread_current
 
 extern __thread threadobject *thread_current;
 
 #else /* defined(HAVE___THREAD) */
 
-#define THREADSPECIFIC
 #define THREADOBJECT \
        ((threadobject *) pthread_getspecific(thread_current_key))
 
@@ -173,6 +171,12 @@ struct threadobject {
        u4                    tracejavacallcount;
 #endif
 
+#if defined(ENABLE_TLH)
+       uint8_t              *tlhstart;
+       uint8_t              *tlhtop;
+       uint8_t              *tlhbase;
+#endif
+
        listnode_t            linkage;      /* threads-list                       */
        listnode_t            linkage_free; /* free-list                          */
 };
@@ -275,23 +279,19 @@ void threads_set_thread_priority(pthread_t tid, int priority);
 
 bool threads_detach_thread(threadobject *thread);
 
+#if defined(ENABLE_GC_CACAO)
 bool threads_suspend_thread(threadobject *thread, s4 reason);
 void threads_suspend_ack(u1* pc, u1* sp);
 bool threads_resume_thread(threadobject *thread);
+#endif
 
 void threads_join_all_threads(void);
 
-void threads_sleep(s8 millis, s4 nanos);
+void threads_sleep(int64_t millis, int32_t nanos);
 
 void threads_wait_with_timeout_relative(threadobject *t, s8 millis, s4 nanos);
 
 void threads_thread_interrupt(threadobject *thread);
-bool threads_check_if_interrupted_and_reset(void);
-
-#if !defined(DISABLE_GC)
-void threads_stopworld(void);
-void threads_startworld(void);
-#endif
 
 #endif /* _THREAD_POSIX_H */