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

gb at clozure.com gb at clozure.com
Sat Nov 15 07:44:23 EST 2008


Author: gb
Date: Sat Nov 15 07:44:23 2008
New Revision: 11363

Log:
In WALK-STATIC-AREA and %WALK-DYNAMIC-AREA: be careful to treat
uvector subtags as unsigned (e.g., jbe, not jle after comparison
of byte to sign-extended constant.)  Seems to close ticket:379.


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

Modified: trunk/source/level-0/X86/X8632/x8632-utils.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-utils.lisp (original)
+++ trunk/source/level-0/X86/X8632/x8632-utils.lisp Sat Nov 15 07:44:23 2008
@@ -114,11 +114,11 @@
     (mov (@ (% obj)) (% imm0))
     (je @32)
     (cmpb ($ x8632::max-32-bit-ivector-subtag) (% imm0.b))
-    (jle @32)
+    (jbe @32)
     (cmpb ($ x8632::max-8-bit-ivector-subtag) (% imm0.b))
-    (jle @8)
+    (jbe @8)
     (cmpb ($ x8632::max-16-bit-ivector-subtag) (% imm0.b))
-    (jle @16)
+    (jbe @16)
     (cmpb ($ x8632::subtag-double-float-vector) (% imm0.b))
     (je @double-float)
     ;; if we get here, it's a bit vector
@@ -218,11 +218,11 @@
     (mov (@ (% obj)) (% imm0))
     (je @32)
     (cmpb ($ x8632::max-32-bit-ivector-subtag) (% imm0.b))
-    (jle @32)
+    (jbe @32)
     (cmpb ($ x8632::max-8-bit-ivector-subtag) (% imm0.b))
-    (jle @8)
+    (jbe @8)
     (cmpb ($ x8632::max-16-bit-ivector-subtag) (% imm0.b))
-    (jle @16)
+    (jbe @16)
     (cmpb ($ x8632::subtag-double-float-vector) (% imm0.b))
     (je @double-float)
     ;; if we get here, it's a bit vector



More information about the Openmcl-cvs-notifications mailing list