projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
0.8.2.7:
[sbcl.git]
/
src
/
compiler
/
x86
/
alloc.lisp
diff --git
a/src/compiler/x86/alloc.lisp
b/src/compiler/x86/alloc.lisp
index
4286c2e
..
c01f9a2
100644
(file)
--- 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.
(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)
(inst shr temp 1)
(inst and temp #xfffffffc)
(storew temp result symbol-hash-slot other-pointer-lowtag)