better SB-INT:MIX

Use a large prime multiplier rather than 3 in the linear mix.  Potentially
slower, particularly on x86 without :pentium4 where it might get implemented
as a large bunch of LEAs, but better output.
improve SXHASH on fixnums

Remove one redundant LOGAND; also, use the whole of the fixnum
range on 64-bit platforms.
alter ftype declarations in genesis.lisp

change (or descriptor symbol) to (or symbol descriptor) to work
around a CCL bug regarding type test elision.
Fix is_linkage_table_addr in win32-os.c

The aptly misnamed function in_range_p doesn't actually take START and
END of the range as arguments, but START and SIZE.
change
in_range_p(addr, LINKAGE_TABLE_SPACE_START, LINKAGE_TABLE_SPACE_END)
to
in_range_p(addr, LINKAGE_TABLE_SPACE_START, LINKAGE_TABLE_SPACE_SIZE)
Optimize RETURN-MULTIPLE on x86-64.

Replace REP MOVS with simple instructions.

RETURN-MULTIPLE is used to copy the multiple value down the stack.
The following code becomes around 5 times faster on a modern CPU,
passing more values is faster as well, but not by as much.

(defun m ()
  (declare (optimize speed (safety 0)))
  (values 1 2 3 4))

(defun b ()
  (declare (optimize speed (safety 0)))
  (let (*)
    (m)))
Better error when calling an undefined alien function on x86-64.

(sb-alien:alien-funcall
 (sb-alien:extern-alien "nnnn" (function sb-alien:void)))
now says "The alien function "nnnn" is undefined." instead of
"Attempt to call an undefined alien function."

This is achieved by storing the address of the linkage table entry in
RBX before the call. Should be trivial to port to other platforms.
Optimize sb-bsd-sockets::(get-host-by-name get-host-by-address).

Add declarations to reduce SAP consing.
Optimize the compiler a bit.

Optimize make-values-type-cached by adding a declaration or two.
Building SBCL sans contribs goes from 1:52 to 1:39.
make-values-type-cached: Hardcode values of (sxhash t/nil)).

To avoid relying on the xc host.
Forward referenced classoid-cells can now be loaded from FASLs.

When
(defun x (x)
  (typep x 'bar))

(defclass bar ()
  ())

is compiled twice, the typecheck is optimized and a classoid-cell is
dumped into the FASL, but upon load in a new instance it's
reconstructed using FIND-CLASSOID-CELL with :errorp t, resulting in an
error, defeating the stated reason for indirection.

Fixes lp#746132.
Add a test-case for the previous commit.
Prevent personality setting on Linux from going in circles.

Apparently, setuid causes ADDR_NO_RANDOMIZE to be stripped away.
Stop restarting SBCL itself indefinitely by adding an
SBCL_IS_RESTARTING environment variable and consulting it before
trying to restart again.
Reported by Teemu Likonen.
hexstr / cold-print fixes from Douglas Katzman
don't consider an interpreted->compiled function change interesting

fix from Douglas Katzman, lp#1042405
Fix another regression in dumping specialized vectors.

It should read "CEILING", not "*".

Reported by Jan Moringen.
Fix (compile '(setf function)).

COMPILE was defined as
(name &optional (definition (or (macro-function name) (fdefinition name))))

The call to macro-function caused an error when called on '(setf x).
Change it to
(or (and (symbolp name) (macro-function name))
    (fdefinition name))

Reported by Douglas Katzman.
Fix on Solaris by accounting for /bin/sh there.

Solaris' /bin/sh does not grok $(...), so use `...` instead.

Note that all recent versions of Solaris have included /bin/bash, but
I'm not sure the impact of using #!/bin/bash instead of #!/bin/sh on
some of our other platforms.
For consistency with other shell scripts here, use #!/bin/sh.

This (alone) used #!/bin/bash, but does not seem to depend on it.
sb-introspect:find-definition-sources-by-name: support globals.

(sb-ext:defglobal x ...) couldn't be found.
sb-bsd-sockets: Rearrange how get-host-by-name/address are defined.
#+/-sb-bsd-sockets-addrinfo have different definitions of
get-host-by-name and get-host-by-address. Instead of having
(defun get-host-by-name ()
  #+sb-bsd-sockets-addrinfo (call-getaddrinfo-flavour)
  #-sb-bsd-sockets-addrinfo
  (implementaiton-using gethostbyname))

define
#+sb-bsd-sockets-addrinfo
(defun get-host-by-name ()
  (implementaiton-using getaddrinfo))

#-sb-bsd-sockets-addrinfo
(defun get-host-by-name ()
  (implementaiton-using gethostbyname))