X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fx86%2Falloc.lisp;h=c01f9a2fd0abf47346fa3ae55dc8201393b87f63;hb=98a76d4426660876dec6649b1e228d2e5b47f579;hp=4286c2e11440f108a3dcd9733cd5ffed40022138;hpb=50305b602c3953440af716137a56f50cd204375d;p=sbcl.git diff --git a/src/compiler/x86/alloc.lisp b/src/compiler/x86/alloc.lisp index 4286c2e..c01f9a2 100644 --- a/src/compiler/x86/alloc.lisp +++ b/src/compiler/x86/alloc.lisp @@ -250,6 +250,11 @@ (inst mov (make-fixup (extern-alien-name "fast_random_state") :foreign) temp) ;; We want a positive fixnum for the hash value, so discard the LS bits. + ;; + ;; FIXME: OK, who wants to tell me (CSR) why these two + ;; instructions aren't replaced by (INST AND TEMP #x8FFFFFFC)? + ;; Are the following two instructions actually faster? Does the + ;; difference in behaviour really matter? (inst shr temp 1) (inst and temp #xfffffffc) (storew temp result symbol-hash-slot other-pointer-lowtag)