[Openmcl-cvs-notifications] r11353 - /trunk/source/level-0/X86/X8632/x8632-pred.lisp

gb at clozure.com gb at clozure.com
Tue Nov 11 12:55:54 EST 2008


Author: gb
Date: Tue Nov 11 12:55:53 2008
New Revision: 11353

Log:
In EQUAL: if we have two non-EQ lists, terminate if either is NIL.
[(EQUAL '(NIL . NIL) NIL) was erroneously returning T.]


Modified:
    trunk/source/level-0/X86/X8632/x8632-pred.lisp

Modified: trunk/source/level-0/X86/X8632/x8632-pred.lisp
=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/level-0/X86/X8632/x8632-pred.lisp (original)
+++ trunk/source/level-0/X86/X8632/x8632-pred.lisp Tue Nov 11 12:55:53 2008
@@ -131,6 +131,11 @@
   (movl ($ (target-t-value)) (% arg_z))
   (single-value-return)
   @cons
+  ;; If either X or Y is NIL, lose.
+  (cmp-reg-to-nil x)
+  (je @lose)
+  (cmp-reg-to-nil y)
+  (je @lose)
   ;; Check to see if the CARs are EQ.  If so, we can avoid saving
   ;; context, and can just tail call ourselves on the CDRs.
   (%car x temp0)



More information about the Openmcl-cvs-notifications mailing list