#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))
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 */
};
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 */