From 5e8e4ba8abf8692720b5c5d64ba9530f08899dab Mon Sep 17 00:00:00 2001
From: rtoy <rtoy>
Date: Sat, 15 May 2004 18:30:47 +0000
Subject: [PATCH] Make the symbol hash slot contain the sxhash of the symbol
 name instead of a random value, just like on sparc.

---
 code/hash-new.lisp                |  6 +++---
 code/symbol.lisp                  |  6 +++---
 compiler/generic/new-genesis.lisp |  5 ++---
 compiler/generic/objdef.lisp      | 15 +++++++--------
 compiler/x86/alloc.lisp           |  3 ++-
 5 files changed, 17 insertions(+), 18 deletions(-)

diff --git a/code/hash-new.lisp b/code/hash-new.lisp
index 12629a84e..13c9e997e 100644
--- a/code/hash-new.lisp
+++ b/code/hash-new.lisp
@@ -5,7 +5,7 @@
 ;;; Carnegie Mellon University, and has been placed in the public domain.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/hash-new.lisp,v 1.29 2004/05/14 13:40:18 rtoy Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/hash-new.lisp,v 1.30 2004/05/15 18:30:46 rtoy Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -929,8 +929,8 @@
 	 (sxhash-instance s-expr)))
     ;; Other-pointer types.
     (simple-string (sxhash-simple-string s-expr))
-    (symbol #-sparc (sxhash-simple-string (symbol-name s-expr))
-	    #+sparc (kernel:symbol-hash s-expr))
+    (symbol #-(or sparc x86) (sxhash-simple-string (symbol-name s-expr))
+	    #+(or sparc x86) (kernel:symbol-hash s-expr))
     (number
      (etypecase s-expr
        (integer (ldb sxhash-bits-byte s-expr))
diff --git a/code/symbol.lisp b/code/symbol.lisp
index 6193f2ac3..2eca7d75c 100644
--- a/code/symbol.lisp
+++ b/code/symbol.lisp
@@ -5,7 +5,7 @@
 ;;; Carnegie Mellon University, and has been placed in the public domain.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/symbol.lisp,v 1.33 2004/05/14 13:40:18 rtoy Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/symbol.lisp,v 1.34 2004/05/15 18:30:46 rtoy Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -96,9 +96,9 @@
 
 (defun make-symbol (string)
   "Make and return a new symbol with the STRING as its print name."
-  #-(or gengc sparc) (make-symbol string)
+  #-(or gengc x86 sparc) (make-symbol string)
   #+gengc (%make-symbol (random most-positive-fixnum) string)
-  #+sparc (%make-symbol (sxhash string) string))
+  #+(or sparc x86) (%make-symbol (sxhash string) string))
 
 #+(or gengc x86 sparc)
 (defun symbol-hash (symbol)
diff --git a/compiler/generic/new-genesis.lisp b/compiler/generic/new-genesis.lisp
index 5e5b750d4..7f7571734 100644
--- a/compiler/generic/new-genesis.lisp
+++ b/compiler/generic/new-genesis.lisp
@@ -4,7 +4,7 @@
 ;;; Carnegie Mellon University, and has been placed in the public domain.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/generic/new-genesis.lisp,v 1.65 2004/05/14 13:40:18 rtoy Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/generic/new-genesis.lisp,v 1.66 2004/05/15 18:30:47 rtoy Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -565,8 +565,7 @@
 	      (c:backend-featurep :sparc))
       (let ((offset #+(or x86 sparc) vm:symbol-hash-slot
 		    #-(or x86 sparc) vm:symbol-unused-slot)
-	    (value #+x86 (1+ (random vm:target-most-positive-fixnum))
-		   #+sparc (sxhash name)))
+	    (value (sxhash name)))
 	
       (write-indexed symbol offset (make-fixnum-descriptor value))))
 
diff --git a/compiler/generic/objdef.lisp b/compiler/generic/objdef.lisp
index 9a30aa898..310285962 100644
--- a/compiler/generic/objdef.lisp
+++ b/compiler/generic/objdef.lisp
@@ -5,7 +5,7 @@
 ;;; Carnegie Mellon University, and has been placed in the public domain.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/generic/objdef.lisp,v 1.51 2004/05/14 13:40:19 rtoy Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/generic/objdef.lisp,v 1.52 2004/05/15 18:30:47 rtoy Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -466,29 +466,28 @@
 
 ;;;; Symbols
 
-#+(or gengc sparc)
+#+(or gengc sparc x86)
 (defknown %make-symbol (index simple-string) symbol
   (flushable movable))
 
-#+(or gengc sparc)
+#+(or gengc sparc x86)
 (defknown symbol-hash (symbol) index
   (flushable movable))
 
-#+x86
+#+(and nil x86)
 (defknown symbol-hash (symbol) lisp::hash
   (flushable movable))
 
 (define-primitive-object (symbol :lowtag other-pointer-type
 				 :header symbol-header-type
-				 #-x86 :alloc-trans
+				 :alloc-trans
 				 #-(or gengc x86 sparc) make-symbol
-				 #+(or gengc sparc) %make-symbol)
+				 #+(or gengc x86 sparc) %make-symbol)
   (value :set-trans %set-symbol-value
 	 :init :unbound)
   #-(or gengc x86 sparc) unused
-  #+(or gengc sparc)
+  #+(or gengc x86 sparc)
   (hash :init :arg)
-  #+x86 (hash)
   (plist :ref-trans symbol-plist
 	 :set-trans %set-symbol-plist
 	 :init :null)
diff --git a/compiler/x86/alloc.lisp b/compiler/x86/alloc.lisp
index 3d83f980e..8379c1ddf 100644
--- a/compiler/x86/alloc.lisp
+++ b/compiler/x86/alloc.lisp
@@ -7,7 +7,7 @@
 ;;; Scott Fahlman or slisp-group@cs.cmu.edu.
 ;;;
 (ext:file-comment
- "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/alloc.lisp,v 1.11 2003/08/25 20:50:58 gerd Exp $")
+ "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/alloc.lisp,v 1.12 2004/05/15 18:30:47 rtoy Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -255,6 +255,7 @@
 
 
 
+#+nil
 (define-vop (make-symbol)
   (:policy :fast-safe)
   (:translate make-symbol)
-- 
GitLab