1.0.9.62: Performance and stability improvement of threading on FreeBSD
[sbcl.git] / src / runtime / x86-64-assem.S
index 8cfd582..42d21da 100644 (file)
@@ -182,6 +182,10 @@ Lstack:
        push    %rsi    #
        push    %rdx    #
 #ifdef LISP_FEATURE_SB_THREAD
+#ifdef LISP_FEATURE_GCC_TLS
+       movq    %fs:0, %rax
+       movq    GNAME(current_thread)@TPOFF(%rax), %r12
+#else
 #ifdef LISP_FEATURE_DARWIN
        mov     GSYM(GNAME(specials)),%rdi
 #else
@@ -190,6 +194,7 @@ Lstack:
        call    GNAME(pthread_getspecific)
        mov     %rax,%r12
 #endif
+#endif
        pop     %rcx    # num args
        pop     %rbx    # arg vector
        pop     %rax    # function ptr/lexenv