Add MONO_FAST_TLS_ADDR so we can get the address of a fast tls var.
authorRodrigo Kumpera <kumpera@gmail.com>
Thu, 19 Jan 2012 21:34:30 +0000 (19:34 -0200)
committerRodrigo Kumpera <kumpera@gmail.com>
Mon, 23 Jan 2012 18:12:43 +0000 (16:12 -0200)
mono/utils/mono-compiler.h

index ced09b06ce28c648faa78ca05446c87aca9a5b9b..2e8b27db8196d146979665cb9d617d30fed71b7a 100644 (file)
 #define MONO_HAVE_FAST_TLS
 #define MONO_FAST_TLS_SET(x,y) pthread_setspecific(x, y)
 #define MONO_FAST_TLS_GET(x) pthread_getspecific(x)
+#define MONO_FAST_TLS_ADDR(x) (mono_mach_get_tls_address_from_thread (pthread_self (), x))
 #define MONO_FAST_TLS_INIT(x) pthread_key_create(&x, NULL)
 #define MONO_FAST_TLS_DECLARE(x) static pthread_key_t x;
 
 #define MONO_FAST_TLS_INIT(x)
 #endif
 
+#if defined(MONO_HAVE_FAST_TLS) && !defined(MONO_FAST_TLS_ADDR)
+#define MONO_FAST_TLS_ADDR(x) (&(x))
+#endif
+
+
 /* Deal with Microsoft C compiler differences */
 #ifdef _MSC_VER