Diff of /src/runtime/thread.h [2da80a] .. [93108e] Maximize Restore

  Switch to side-by-side view

--- a/src/runtime/thread.h
+++ b/src/runtime/thread.h
@@ -4,6 +4,7 @@
 
 #include <sys/types.h>
 #include <unistd.h>
+#include <stddef.h>
 #include "runtime.h"
 #include "sbcl.h"
 #include "os.h"
@@ -94,6 +95,18 @@
 	[fixnum_value(SymbolValue(FREE_INTERRUPT_CONTEXT_INDEX,th)-1)];
 }
 
+inline static struct thread *arch_os_get_current_thread() {
+#ifdef LISP_FEATURE_SB_THREAD
+    register struct thread *me=0;
+    if(all_threads)
+	__asm__ __volatile__ ("movl %%fs:%c1,%0" : "=r" (me)
+		 : "i" (offsetof (struct thread,this)));
+    return me;
+#else
+    return all_threads;
+#endif
+}
+
 
 int arch_os_thread_init(struct thread *thread);
 extern struct thread *arch_os_get_current_thread();