From d04b4584610ec595d3913bc61ecb49b1f1914051 Mon Sep 17 00:00:00 2001 From: Joakim Tjernlund Date: Thu, 10 Feb 2005 23:38:14 +0000 Subject: Add THREAD_SELF definition to PPC. This should make threads on PPC a bit faster. --- libpthread/linuxthreads/sysdeps/powerpc/pt-machine.h | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'libpthread/linuxthreads') diff --git a/libpthread/linuxthreads/sysdeps/powerpc/pt-machine.h b/libpthread/linuxthreads/sysdeps/powerpc/pt-machine.h index 19b77b7e6..9e6543a26 100644 --- a/libpthread/linuxthreads/sysdeps/powerpc/pt-machine.h +++ b/libpthread/linuxthreads/sysdeps/powerpc/pt-machine.h @@ -41,6 +41,16 @@ extern int __compare_and_swap (long int *p, long int oldval, long int newval); #define CURRENT_STACK_FRAME stack_pointer register char * stack_pointer __asm__ ("r1"); +/* Register r2 (tp) is reserved by the ABI as "thread pointer". */ +struct _pthread_descr_struct; +register struct _pthread_descr_struct *__thread_self __asm__("r2"); + +/* Return the thread descriptor for the current thread. */ +#define THREAD_SELF __thread_self + +/* Initialize the thread-unique value. */ +#define INIT_THREAD_SELF(descr, nr) (__thread_self = (descr)) + /* Compare-and-swap for semaphores. */ /* note that test-and-set(x) is the same as !compare-and-swap(x, 0, 1) */ -- cgit v1.2.3