diff options
Diffstat (limited to 'libjava/include/posix-threads.h')
-rw-r--r-- | libjava/include/posix-threads.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/libjava/include/posix-threads.h b/libjava/include/posix-threads.h index e033209..a268f1d 100644 --- a/libjava/include/posix-threads.h +++ b/libjava/include/posix-threads.h @@ -250,6 +250,24 @@ _Jv_ThreadSelf (void) #endif /* __ia64__ */ +#ifdef __alpha__ + +#include <asm/pal.h> + +typedef unsigned long _Jv_ThreadId_t; + +inline _Jv_ThreadId_t +_Jv_ThreadSelf (void) +{ + unsigned long id; + __asm__ ("call_pal %1\n\tmov $0, %0" : "=r"(id) : "i"(PAL_rduniq) : "$0"); + return id; +} + +#define JV_SELF_DEFINED + +#endif /* __alpha__ */ + #if defined(SLOW_PTHREAD_SELF) typedef pthread_t _Jv_ThreadId_t; |