Prevent x86-64 disassembly from decoding unboxed constants as opcodes.

Also, *DISASSEM-LOCATION-COLUMN-WIDTH* gets a new feature - a width of zero
will not show addresses, which makes diffing work with relatively less
pain; and a width of NIL will show addresses as compactly as possible.
Less repetitive definitions of x86 shift instructions.
Resolve pathnames with :back.

Remove as much :back as possible at MAKE-PATHNAME time.

Handle any left :back in UNPARSE-NATIVE-UNIX/WIN32-NAMESTRING the same as
:up.
improve generic function encapsulation

Perform the encapsulation in an :AROUND method specialized on
STANDARD-GENERIC-FUNCTION, so that subclasses transparently inherit
encapsulation handling while still being able to override the standard
COMPUTE-DISCRIMINATING-FUNCTION behaviour.  (This is method structure
that AMOP allows implementations, as the :AROUND method is an
extending one -- it calls CALL-NEXT-METHOD)
define sane escaping in win32 pathname namestrings

We can't use \\ to escape, because it's the directory separator; that
way lies madness.  There's some evidence from random web searching that
win32 users might not be too confused with ^ as an escape character, so
try that.
x86-64 allows R12 as an index register in SIB addressing.

As R12 is wired to the current thread ptr, this fix has little practical
impact, but corrects the inconsistency that "lea Rn,[rax+r12]" is
effectively identical to "lea Rn,[r12+rax]" except the former caused
the assembler to crash and the disassembler to be confused.
Add transforms for SORT and STABLE-SORT.

Transform SORT and STABLE-SORT into more specialized functions when
possible,
Improve LOGAND-BIGNUM/C VOP on x86-64.

Avoid putting unboxed constants into the code when possible.
Speed up iterative regalloc a little.

Avoid consing an intermediate list in vertex-color-possible-p.
Reduce consing in iterative regalloc.

The COLOR slot of VERTEX is defined as (cons color sc), but SC is
already accessible through the TN slot, as (tn-sc (vertex-tn vertex)).
Store only the color number in the COLOR slot, reducing consing.
Handle bogus std handles on win32.
Change encapsulation to use functions instead of evaluation forms.

In preparation for making sb-profile use ENCAPSULATE, reducing
profiling overhead from evaluation.
sb-profile: use ENCAPSULATE to wrap functions around.

For better compatibility with generic functions, use ENCAPSULATE.

Fixes lp#309086.
support Wine builds of sb-bsd-sockets

We get a different error telling us that UDP Streams aren't allowed
1.1.16: will be tagged as "sbcl-1.1.16"
De-obfuscate DEFINE-INSTRUCTION-FORMAT.

Previously if two unrelated formats had same-named args in the same positions,
specifying {prefilter,labeler,printer} as lambda expressions could clobber
one or the other format, e.g.
  (define-instruction-format (foo 8)
    (bits :field (byte 2 2) :printer (lambda (a b c) (something a b c))))
  (define-instruction-format (bar 8)
    (bits :field (byte 2 2) :printer (lambda (a b c) (otherthing a b c))))
produced two DEFPARAMETERs for the same symbol:
 (DEFPARAMETER *BITS-0-PRINTER-WRAPPER* (LAMBDA (A B C) ...))
These are now named not to collide in most cases.

Incompatible changes- :INCLUDE is parsed by the macroexpander and not
evaluated. Access functions for bits of a dchunk are generated only if
requested via a :READER option, and they appear in the target core.

Also fixed DEFINE-ARG-TYPE not to accept a :VALUE, on account of that
not being propagated by SET-ARG-FROM-TYPE, which seemed correct;
and DEFTYPE FILTERED-VALUE-INDEX was off by 1.
Make the disassembler's :USING clause work as intended
Remove some unnecessary package prefixes
sxhash on LAYOUT objects can use the CLOS-HASH slot

... dunno yet if it actually makes a difference in my use case's
timings
Simplify sb-int:encapsulate.

Instead of using special variables sb-int:basic-definition and
sb-int:arg-list, call the wrapper function with the original function
and its arguments as arguments.