x86-64 disentwingling of fixnums and words.
authorAlastair Bridgewater <nyef_sbcl@lisphacker.com>
Wed, 2 Dec 2009 22:18:55 +0000 (17:18 -0500)
committerAlastair Bridgewater <nyef@virtdev-1.lisphacker.com>
Wed, 19 Oct 2011 19:49:32 +0000 (15:49 -0400)
commit3b5fb548ed34612fb853b11b2bcdd29440834eaa
tree36cab4e575c5f8a4435585f12add2dfd5952235c
parent7e02fe01f102c9e536df701dc783149a8d76b3fc
x86-64 disentwingling of fixnums and words.

  * This is mostly constant fixups and supplying scaling factors in
places.

  * Where possible, I have used constructs that will simply generate the
correct code no matter what the width of a fixnum is.  In other places,
I have used an explicit check for the historic case and provided and
alternate code sequence for when it no longer applies.

  * Thanks to Paul Khuong for helping with the finding and fixing of
many of these places.
15 files changed:
src/assembly/x86-64/arith.lisp
src/assembly/x86-64/assem-rtns.lisp
src/compiler/x86-64/alloc.lisp
src/compiler/x86-64/arith.lisp
src/compiler/x86-64/array.lisp
src/compiler/x86-64/call.lisp
src/compiler/x86-64/cell.lisp
src/compiler/x86-64/debug.lisp
src/compiler/x86-64/macros.lisp
src/compiler/x86-64/move.lisp
src/compiler/x86-64/nlx.lisp
src/compiler/x86-64/static-fn.lisp
src/compiler/x86-64/system.lisp
src/compiler/x86-64/values.lisp
src/runtime/x86-64-assem.S