gencgc: More precise conservatism for pointers to boxed pages.
[sbcl.git] / src / runtime / x86-darwin-os.h
index edc3a6c..f3b7311 100644 (file)
@@ -16,12 +16,11 @@ static inline os_context_t *arch_os_get_context(void **void_context)
 void set_data_desc_size(data_desc_t* desc, unsigned long size);
 void set_data_desc_addr(data_desc_t* desc, void* addr);
 
-/* As of XCode 3.0, the field names for the thread state have changed
- * and now are prepended with __. Use some #define hackery to deal
- * with this. MAC_OS_X_VERSION_10_5 seems to be a good test to see if
- * we need the new style field names.
+/* On OS X 10.5, the field names for the thread state have changed and
+ * now are prepended with __. Use some #define hackery to deal with
+ * this.
  */
-#if MAC_OS_X_VERSION_10_5
+#if __DARWIN_UNIX03
 
 #define CONTEXT_ADDR_FROM_STEM(stem) &context->uc_mcontext->__ss.__##stem
 #define EIP __eip
@@ -41,6 +40,8 @@ void set_data_desc_addr(data_desc_t* desc, void* addr);
 #define SS __ss
 #define GS __gs
 
+#define FPU_FCW __fpu_fcw
+
 #else
 
 #define CONTEXT_ADDR_FROM_STEM(stem) &context->uc_mcontext->ss.stem
@@ -61,8 +62,11 @@ void set_data_desc_addr(data_desc_t* desc, void* addr);
 #define SS ss
 #define GS gs
 
-#endif /* MAC_OS_X_VERSION_10_5 */
+#define FPU_FCW fpu_fcw
 
+#endif /* __DARWIN_UNIX03 */
 
+#define RESTORE_FP_CONTROL_FROM_CONTEXT
+void os_restore_fp_control(os_context_t *context);
 
 #endif /* _X86_DARWIN_OS_H */