[Openmcl-cvs-notifications] r11110 - /trunk/source/lisp-kernel/x86-spentry32.s

rme at clozure.com rme at clozure.com
Thu Oct 16 20:38:37 EDT 2008


Author: rme
Date: Thu Oct 16 20:38:37 2008
New Revision: 11110

Log:
Port r9057 here.  (Don't automatically assume that Darwin generates
bogus FP exceptions.)

Modified:
    trunk/source/lisp-kernel/x86-spentry32.s

Modified: trunk/source/lisp-kernel/x86-spentry32.s
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/lisp-kernel/x86-spentry32.s (original)
+++ trunk/source/lisp-kernel/x86-spentry32.s Thu Oct 16 20:38:37 2008
@@ -4135,13 +4135,12 @@
 	__(clr %temp0)
 	__(clr %fn)
 	__(pxor %fpzero,%fpzero)
-	__ifdef([DARWIN])
-	/* Darwin's math library seems to cause spurious FP exceptions. */
+	__(cmpb $0,C(bogus_fp_exceptions))
+	__(je 0f)
 	__(movl %arg_z,rcontext(tcr.ffi_exception))
-	__else
-	__(stmxcsr rcontext(tcr.ffi_exception))
-	__endif
-	__(pushl rcontext(tcr.save_eflags))
+	__(jmp 1f)
+0:	__(stmxcsr rcontext(tcr.ffi_exception))
+1:	__(pushl rcontext(tcr.save_eflags))
 	__(popfl)
 	__(movl rcontext(tcr.save_vsp),%esp)
 	__(movl rcontext(tcr.save_ebp),%ebp)



More information about the Openmcl-cvs-notifications mailing list