From: Nikodemus S. <de...@us...> - 2008-02-14 16:40:54
|
Update of /cvsroot/sbcl/sbcl/src/compiler In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv1264/src/compiler Modified Files: globaldb.lisp Log Message: 1.0.14.27: rename MAKE-FIXNUM to POINTER-HASH * Use VOP translation instead of %PRIMITIVE. * On x86 and x86-64 improve the pointer-hash slightly: use the whole address, but none of the tag bits in the hash. * Fix type in INDEX-FOR-HASHING: the first argument is a HASH, not an INDEX. Given the better quality of low bits on x86oids (and hopefully soon on others as well), adjust the mixing a bit. Index: globaldb.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/compiler/globaldb.lisp,v retrieving revision 1.51 retrieving revision 1.52 diff -u -d -r1.51 -r1.52 --- globaldb.lisp 15 Jul 2007 22:28:13 -0000 1.51 +++ globaldb.lisp 14 Feb 2008 16:40:47 -0000 1.52 @@ -583,11 +583,11 @@ :element-type 'compact-info-entry)) (sorted (sort (names) #+sb-xc-host #'< - ;; (This MAKE-FIXNUM hack implements - ;; pointer comparison, as explained above.) + ;; POINTER-HASH hack implements pointer + ;; comparison, as explained above. #-sb-xc-host (lambda (x y) - (< (%primitive make-fixnum x) - (%primitive make-fixnum y)))))) + (< (pointer-hash x) + (pointer-hash y)))))) (/show0 "done making/sorting vectors in COMPACT-INFO-ENVIRONMENT") (let ((entries-idx 0)) (dolist (types sorted) |