#include "mm/memory.h"
+#if defined(ENABLE_TLH)
+#include "mm/tlh.h"
+#endif
+
#include "native/localref.h"
#include "threads/mutex.h"
#endif
+
/* current threadobject *******************************************************/
#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)
+ tlh_t tlh;
+#endif
+
+#if defined(ENABLE_ESCAPE_REASON)
+ void *escape_reasons;
+#endif
+
listnode_t linkage; /* threads-list */
listnode_t linkage_free; /* free-list */
};
void threads_thread_interrupt(threadobject *thread);
+#if defined(ENABLE_TLH)
+void threads_tlh_add_frame();
+void threads_tlh_remove_frame();
+#endif
+
#endif /* _THREAD_POSIX_H */