General disentwingling of fixnums and words.
authorAlastair Bridgewater <nyef_sbcl@lisphacker.com>
Sun, 14 Feb 2010 16:30:50 +0000 (11:30 -0500)
committerAlastair Bridgewater <nyef@virtdev-1.lisphacker.com>
Wed, 19 Oct 2011 19:49:32 +0000 (15:49 -0400)
commit7e02fe01f102c9e536df701dc783149a8d76b3fc
treebd8647cc027edc514e84549f58ea822d027ba019
parenta53e74a650cf42012d8c66835e450acdf73c23d6
General disentwingling of fixnums and words.

  * Historically, n-fixnum-tag-bits has been equal to word-shift and has
been (1- n-lowtag-bits).  This led to implementors using constants and
calculations which happened to be right by coincidence rather than by
design.

  * Fix all places not part of the support for a particular backend to
use the defined-correct constants and calculations for the operations
being performed.

  * Thanks to Paul Khuong for helping with the finding and fixing of
many of these coincidences.
src/code/bit-bash.lisp
src/code/debug-int.lisp
src/compiler/generic/genesis.lisp
src/compiler/generic/utils.lisp
src/runtime/alloc.c
src/runtime/breakpoint.c