sbcl-cvs-import.git
7 years ago0.8.15.14.x86-64-again-branch.40: x86-64-again-branch
Christophe Rhodes [Thu, 23 Dec 2004 13:21:26 +0000]
0.8.15.14.x86-64-again-branch.40:
Make save.c alpha32-safe

7 years ago0.8.15.14.x86-64-again-branch.39:
Christophe Rhodes [Thu, 23 Dec 2004 13:05:42 +0000]
0.8.15.14.x86-64-again-branch.39:
Fix thinko in reader conditional, and conditionalize
(un)signed-num primitive type aliases.

7 years ago0.8.15.14.x86-64-again-branch.38:
Christophe Rhodes [Wed, 22 Dec 2004 16:25:39 +0000]
0.8.15.14.x86-64-again-branch.38:
Fix for thinko in make-complex-double-float.  Detected during
maxima compilation.

7 years ago0.8.15.14.x86-64-again-branch.37:
Christophe Rhodes [Wed, 22 Dec 2004 14:54:51 +0000]
0.8.15.14.x86-64-again-branch.37:
cheneygc fixes (builds modulo save on alpha32)

7 years ago0.8.15.14.x86-64-again-branch.36:
Juho Snellman [Thu, 16 Dec 2004 22:49:16 +0000]
0.8.15.14.x86-64-again-branch.36:
* Fix large immediate handling in IF-EQ (patch by Cheuksan
          Edward Wang) and SAP+.
* Rewrite MOVE-IMMEDIATE to use a temporary register for
          too large immediates instead of shifts and ors.
        * Use MOVE-IMMEDIATE in more VOPs for some OAOO goodness.

7 years ago0.8.15.14.x86-64-again-branch.35:
Christophe Rhodes [Wed, 15 Dec 2004 12:50:33 +0000]
0.8.15.14.x86-64-again-branch.35:
Fix a backend bug in base-char argument handling (was causing
hemlock to spew garbage everywhere)

7 years ago0.8.15.14.x86-64-again-branch.34:
Juho Snellman [Tue, 14 Dec 2004 02:31:34 +0000]
0.8.15.14.x86-64-again-branch.34:
* Fix some probable 32-bit Alpha problems that were introduced
          earlier during the port in primtype, sb-sprof and run-program.
* Use a more space-efficient boxed presentation for double-floats
          and complex double-floats.
        * Add VOP for non-constant modular left shifts (added to
          other archs after the AMD64 port was originally started).
        * Add a REX-prefix for XCHG.
        * Implement inline allocation.
        * More int -> long in gencgc.
        * Only scan pages up to last_free_page instead of NUM_PAGES in
          update_x86_dynamic_space_free_pointer() (otherwise GC is
          ridiculously slow with large dynamic spaces).

7 years ago0.8.15.14.x86-64-again-branch.33:
Juho Snellman [Sun, 12 Dec 2004 06:37:21 +0000]
0.8.15.14.x86-64-again-branch.33:
Move the dynamic space into the >4G memory region.
* Use RIP-relative addressing for accessing constant TNs
          and for setting the return address to a label, instead of
          the disgusting games x86 plays with absolute fixups during
          GC time.
        * Don't use fixups as the target of absolute jumps / calls,
          instead load the target address into a register first (there's
          no real absolute jump/call with immediate in AMD64).
          Use r13 if no temporary TN is available, as the code
          generator currently never uses it anyway.
        * Remove some dead code.

7 years ago0.8.15.14.x86-64-again-branch.32:
Juho Snellman [Sun, 12 Dec 2004 03:40:41 +0000]
0.8.15.14.x86-64-again-branch.32:
* Pass count of float arguments passed in XMM registers in RAX,
          as per ABI.

7 years ago0.8.15.14.x86-64-again-branch.31:
Juho Snellman [Sat, 11 Dec 2004 01:43:56 +0000]
0.8.15.14.x86-64-again-branch.31:
* Change arg-type of specialized array indexing VOPs with constant
          indexes to (signed-byte 29), since larger immediate displacements
          are impossible.
        * Fix too large shifts in %RANDOM-DOUBLE-FLOAT which caused the
          random number to always have a value of approximately 0d0.
        * Change SB-ALIEN:INTEGER -> SB-ALIEN:INT for socket functions,
          since they're declared to take ints (32-bit on AMD64) while
          SB-ALIEN:INTEGER is 64-bit.
        * Add a special case for Linux/AMD64 to fcntl/f-getfl test,
          O_LARGEFILE is always set on this platform.
        * Maybe-add-rex-prefix in test even if register is accumulator.

7 years ago0.8.15.14.x86-64-again-branch.30:
Juho Snellman [Wed, 8 Dec 2004 23:25:10 +0000]
0.8.15.14.x86-64-again-branch.30:
* Add size data for all specialized array types in *META-ROOM-INFO*,
          to fix ROOM and SB-SPROF.
        * SET-SLOT tried to mov 64-bit immediates into an EA. Patch provided
          by Cheuksan Edward Wang.
        * Remove R[ABCD]X/[ABCD]L punning where possible. Extend punning
          to cover all qword/byte register pairs where it can't be removed.

7 years agox86-64-again-branch.29:
Kevin Rosenberg [Sun, 5 Dec 2004 19:25:50 +0000]
x86-64-again-branch.29:
* contrib/sb-aclrepl/tests.lisp: Fix bignum testing for
sb-vm::n-word-bits of 64.

7 years ago0.8.15.14.x86-64-again-branch.28:
Juho Snellman [Sun, 5 Dec 2004 04:33:55 +0000]
0.8.15.14.x86-64-again-branch.28:
Fix a bunch of bugs revealed by (an two month old copy of)
        Paul Dietz's ansi-tests. "60 out of 18248 total tests failed".
        * Remove 32-bit assumptions from bignum -> float coercion.
        * It just wouldn't feel like a x86-64 commit without a sign
          extension fix. This time to fast constant binops.
        * Rework the bit-twiddling in DEF-SMALL-DATA-VECTOR-FROBS
          to MOV the mask into a temporary register, since it no
          longer fits in an immediate.
        * Fix completely broken accessing of float arrays.
        * Implement accessing complex float arrays.
        * Add missing shift to single-float ABS VOP.
        * Encode float registers properly, so that c-calls with more
          than one float argument work.
        * Add a rex-prefix to the sign-extending moves based on
          dst size instead of src size.
* Add (%SET-)(SIGNED-)SAP-REF-WORD as suggested by Nathan Froyd.
          Replace at the obvious usages of SAP-REF-32 with this.

7 years ago0.8.15.14.x86-64-again-branch.27:
Juho Snellman [Sat, 4 Dec 2004 15:16:47 +0000]
0.8.15.14.x86-64-again-branch.27:
* Treat the context register values as unsigned-long instead of
          unsigned-int.
        * Fix broken logic in SIGNED-BYTE-32-P with NOT-P.

7 years ago0.8.15.14.x86-64-again-branch.26:
Juho Snellman [Sat, 4 Dec 2004 01:27:51 +0000]
0.8.15.14.x86-64-again-branch.26:
Can be used as host compiler for SBCL build.
        * Fix one more problem with sign-extension of immediates,
          this time in STOREW.

7 years agox86-64-again-branch.25:
Kevin Rosenberg [Fri, 3 Dec 2004 21:22:14 +0000]
x86-64-again-branch.25:
* Better checking of the RWXB REX bits for argument width.
Ensure that 'reg-width is reset as needed. Will likely
need to have explicit width for source and destination registers
to properly handle instructions such as "MOV AL,[R8-15]".

7 years agox86-64-again-branch.24:
Kevin Rosenberg [Fri, 3 Dec 2004 19:55:47 +0000]
x86-64-again-branch.24:
* Add disassembler support for inc, dec, and string-op.

7 years agox86-64-again-branch.22:
Kevin Rosenberg [Fri, 3 Dec 2004 18:55:57 +0000]
x86-64-again-branch.22:
* Add support for test opcode
* Use default immediate size 32 bits so that it most correct
for x86-64. Add separate dstate property of reg-width
since register width is uncoupled from immediate width on amd64
* mov is not yet well supported

7 years agox86-64-again-branch.21:
Kevin Rosenberg [Fri, 3 Dec 2004 18:07:03 +0000]
x86-64-again-branch.21:
* Initial support for disassembly of x86-64 opcodes.
Still requires better support for discerning 32-bit vs. 64-bit
immediates as well as SSE2 support.

7 years ago0.8.15.14.x86-64-again-branch.20:
Juho Snellman [Fri, 3 Dec 2004 03:17:00 +0000]
0.8.15.14.x86-64-again-branch.20:
* Fix some hardcoded constants in debugger internals.
        * FLOAT15 is reseved for 0d0 in SBCL, but can be clobbered in C.
          Reset it back after each c-call.
        * Fix yet another problem related to sign-extensions of immediates.
        * Clean up some mistakes made in earlier commits about
          when to use N-WORD-BITS and when N-MACHINE-WORD-BITS.
        * Explicitly set -fno-omit-frame-pointer, allowing backtracing
          through foreign frames.
        * Rewrite os_context_register_addr, fixing the broken debugger
          messages after traps.

7 years agox86-64-again-branch.19:
Kevin Rosenberg [Wed, 1 Dec 2004 15:30:26 +0000]
x86-64-again-branch.19:
* fix sb-aclrepl inspector's bignum header (reported by Juho Snellman)
* Add missing instruction bytes in disassembly which were added by
read-suffix called by prefilter
* Disasble old "DEC" disassembly opcode since that is now REX prefix
* Partial fix of disassembly for POP and DEC

7 years ago0.8.15.14.x86-64-again-branch.18:
Juho Snellman [Wed, 1 Dec 2004 14:23:03 +0000]
0.8.15.14.x86-64-again-branch.18:
Basic debugger support (can't backtrace through foreign frames yet).
* 4 -> SB!VM::N-WORD-BYTES in x86-call-context
        * Fix purifying vectors.

7 years agox86-64-again-branch.17:
Kevin Rosenberg [Wed, 1 Dec 2004 05:02:43 +0000]
x86-64-again-branch.17:
* contrib/sb-aclrepl/inspect.lisp: Add 64-bit support for double
and single floats, bignums, and object addresses to inspector.
Fix character-widetag to base-char-widetag.

7 years agox86-64-again-branch.16:
Kevin Rosenberg [Wed, 1 Dec 2004 02:21:19 +0000]
x86-64-again-branch.16:
* Print instruction bytes in disassembly. This may either be temporary code
to aid in fixing the x86-64 disassembler or perhaps kept as an keyword controlled,
non-ANSI extension to the DISASSEMBLE function.

7 years ago0.8.15.14.x86-64-again-branch.15:
Juho Snellman [Mon, 29 Nov 2004 21:04:08 +0000]
0.8.15.14.x86-64-again-branch.15:
* Use SB!VM::N-MACHINE-WORD-BITS instead of N-WORD-BITS in sb-posix
          to avoid breaking Alpha.
        * Fix double-float dumping in genesis with 64-bit words.
          Add some OAOOM.
        * Set +BACKEND-FASL-FILE-IMPLEMENTATION+ to x86-64.
        * Oops. Double-float-low-bits is unsigned, not signed. Remove
          sign-extension.
        * Fix instruction argument order in float conversion vops.
        * Force a rex-prefix on some SSE2 instructions to always enable
          64-bitness.
        * Fix off-by one in unsigned-byte-32 type check vops.

7 years ago0.8.15.14.x86-64-again-branch.14:
Juho Snellman [Sun, 28 Nov 2004 02:26:14 +0000]
0.8.15.14.x86-64-again-branch.14:
* Fix fixnum multiplication overflow.
        * Replace some #!+/-alpha with suitable SB-VM::N-FOO.
        * Fix + cleanup float %NEGATE / ABS.
        * Sign-extend the result of foo-float-bits (to for example
          get correct MINUSP results from them).
        * Add ANDPS SSE2 instruction.
        * Add missing simple-vector widetags to case-statements in
          maybe_adjust_large_object and
          possibly_valid_dynamic_space_pointer.

7 years ago0.8.15.14.x86-64-again-branch.13:
Juho Snellman [Sat, 27 Nov 2004 20:17:15 +0000]
0.8.15.14.x86-64-again-branch.13:
Can run Slime.
        * Implement linkage-tables.
        * Fix purify.
* Fix making double-floats again (MAKE-DOUBLE-FLOAT also
          assumed stack consists of 32-bit words).
        * Comment out the hack for building 32-bit contrib .so:s on
          x86-64.
        * Replace magic numbers in sb-posix:mmap with numbers derived
          from sb-vm::n-foo.

7 years ago0.8.15.14.x86-64-again-branch.12:
Juho Snellman [Fri, 26 Nov 2004 20:26:59 +0000]
0.8.15.14.x86-64-again-branch.12:
* Fix making double-floats (DOUBLE-FLOAT-HIGH-BITS / -LOW-BITS
          assumed stack consists of 32-bit words).
        * Re-enable REALPART / IMAGPART.
        * Replace hardcoded wordsizes related to RUN-PROGRAM with
          SB!VM::N-WORD-BYTES.
        * Add a horrible kludge to sign-extend signed-byte-32 return
          values from c-calls.
        * Replace uses of putw() in save.c with calls to something
          that actually puts a word, instead of an int.

7 years ago0.8.15.14.x86-64-again-branch.11:
Juho Snellman [Wed, 24 Nov 2004 20:01:58 +0000]
0.8.15.14.x86-64-again-branch.11:
Creates a 170MB warm core that doesn't work.
        * The high-byte register access (AH, etc) is impossible if the
          instruction has a rex-prefix. Remove the high-byte registers
          and add new low-byte registers SIL, DIL, R{8-15}B.
        * Fix MOVE-TO/FROM-BASE-CHAR to take into account the above.
        * Fix LOGCOUNT.
        * Use sb!vm:word instead of the ugly '(unsigned-byte
          #.sb!vm:n-word-bits) in some places.
        * Fix CHECK-SIGNED-BYTE-32 again, this time for real.

7 years ago0.8.15.14.x86-64-again-branch.10:
Juho Snellman [Fri, 19 Nov 2004 10:33:11 +0000]
0.8.15.14.x86-64-again-branch.10:
Passes multiple GCs, can compile most of PCL (up to std-class.lisp).
* Fix loading single floats from the stack.
* Fix ABS for floats (i.e. doesn't crash, don't know whether
          the results are right).
        * Implement enough of the missing bits of complex floats to
          allow creating prototype instances of them for PCL.
        * Change appropriate ints in the GC to longs. (Mainly sizes,
          and page indexes).

7 years ago0.8.15.14.x86-64-again-branch.9:
Juho Snellman [Thu, 18 Nov 2004 04:46:32 +0000]
0.8.15.14.x86-64-again-branch.9:
* Fix return value handling of non-local-exits.
* Make SAP-INT / INT-SAP argument and return types word-sized.
          Remove kludgy typecheck workaround from FROB-INPUT.
        * Change various hardcoded 4s in SB!THREAD to
          SB!VM:N-WORD-BYTES.
        * Fix GENERIC-+ / GENERIC-- shifts on overflow.
          (1+ MOST-POSITIVE-FIXNUM) now returns correct value.

7 years ago0.8.15.14.x86-64-again-branch.8:
Juho Snellman [Wed, 17 Nov 2004 06:00:29 +0000]
0.8.15.14.x86-64-again-branch.8:
        * Change arg-type of comparison vops specialized for
          signed/unsigned constants to (...-byte 31) from 32 in
          order to avoid sign extension of the immediates.
        * Fix bitvector reading (4 -> n-word-bytes, :dword -> :qword).
        * Add rex-prefix in random-arith-ops even if src is constant
          and target is accumulator-p.
        * Remove some legacy instructions that are invalid in 64 bit mode.
        * Comment out bogus instruction printers so that the disassembler
          doesn't crash.
        * Oops. change #ifdef FOO || BAR to #if defined(FOO) || defined(BAR)

7 years ago0.8.15.14.x86-64-again-branch.7:
Juho Snellman [Fri, 12 Nov 2004 21:39:06 +0000]
0.8.15.14.x86-64-again-branch.7:
GC scavenges hashtables (and thereby corrupts less memory),
        compiler works in the cold core, disassembler doesn't crash
        immediately.
        ... Another 64->32 bit fixup change
        ... Change some hardcoded 2s to SB!VM:N-FIXNUM-TAG-BITS
        ... GC word-size cleanups
        ... Make disassembler chunks word-sized
        ... Fix bignum size detection in MOVE-FROM-UNSIGNED

7 years ago0.8.15.14.x86-64-again-branch.6:
Juho Snellman [Thu, 11 Nov 2004 03:14:13 +0000]
0.8.15.14.x86-64-again-branch.6:
More progress, though none of it immediately visible unless
        you turn the GC off.
        ... Replace various magic constants in bit-bashing with
            suitable SB!VM constants.
        ... Add a horrible kludge to FROB-INPUT to work around a
            spurious typecheck. Still need to fix the real bug.
        ... Fix code that was treating fixups as being 64-bit values
            (they're still 32).
        ... Conditionally add rex-prefix to call.
        ... Add check-(unsigned|signed)-byte-64 vops. Fix the costs
            of the 32-bit checks.

7 years ago0.8.15.14.x86-64-again-branch.5:
Juho Snellman [Mon, 8 Nov 2004 17:50:41 +0000]
0.8.15.14.x86-64-again-branch.5:
Passes first GC, but with mysterious memory corruption.
        ... Oops, another try on the immediate 64-bit moves.
        ... Float arrays use SSE instead of x87.
        ... Fix a typoed N-WIDETAG-BITS -> N-LOWTAG-BITS in array
            header generation
        ... Don't use DEF-FULL-DATA-VECTOR-FROBS for defining (U-B 32) /
            (S-B 32) vops (assumed that the element size is N-WORD-BYTES)
        ... Change more x86 cpp conditionals to include x86_64
        ... Change more hardcoded 4s to N_WORD_BYTES

7 years ago0.8.15.14.x86-64-again-branch.4:
Juho Snellman [Sun, 7 Nov 2004 05:00:50 +0000]
0.8.15.14.x86-64-again-branch.4:
Gets all the way to !PPRINT-COLD-INIT (assuming the complex number
        tests in pred.lisp are commented out, leaving that for later).
        ... Change more reader conditionals from x86 to (or x86 x86-64)
            and from -alpha +alpha to conditionalization based on
            SB!VM:N-WORD-BITS.
        ... VAR-ALLOC was shifting the length field of the header word
            one bit too far to the left, causing memory corruption on
            bignum operations.
        ... SIGNED-BYTE-32-P / CHECK-SIGNED-BYTE didn't work for negative
            values (required that bits 32-64 were all 0, needs to
            be all 0 or all 1).
        ... Pass some c-call arguments in registers instead of the
            stack (AMD64 ABI)

7 years ago0.8.15.14.x86-64-again-branch.3:
Juho Snellman [Fri, 5 Nov 2004 04:24:16 +0000]
0.8.15.14.x86-64-again-branch.3:
        ... Fix &rest arguments (n-word-bytes -> n-lowtag-bits)
        ... Pad the short jumps in multiple-value receiving callers with
            a nop, so that they're as long as the "mov %rbx,%rsp".
            (This calling convention is sick).
        ... Use #B8-#BF moves for 64-bit immediates instead of
            SHL and OR (the immediate argument for OR is sign-extended).

7 years ago0.8.15.14.x86-64-again-branch.2:
Juho Snellman [Tue, 2 Nov 2004 21:48:00 +0000]
0.8.15.14.x86-64-again-branch.2:
Hashing fixes to pass MAKE-HASH-TABLE / REMHASH / %PUTHASH
        ... change all arrays of (u-b 32) to (u-b #.sb!vm:n-word-bits)
            in defstruct, hash-table and target-hash-table
        ... change %SXHASH-SUBSTRING to do calculations with 64-bit
            modular arithmetic instead of 32-bit. The latter was
            confusing something in the compiler, resulting in negative
            hash values. Real bug still exists somewhere. Add some
            macros to make %SXHASH-SUBSTRING less ugly, while we're at
            it.

7 years ago0.8.15.14.x86-64-again-branch.1:
Juho Snellman [Tue, 2 Nov 2004 21:31:50 +0000]
0.8.15.14.x86-64-again-branch.1:
Float fixes needed for not crashing in MAKE-HASH-TABLE / REHASH /
        %PUTHASH
        ... rex-prefix byte must come after legacy prefix byte
            (that's why they call it the prefix byte...)
        ... movq is #xf3 #0xf #x7e, not #xf3 #0xf #x73
        ... make (add|sub|mul|div)(s|d) use (dst src) argument order
            for the sake of consistency
        ... use scalar (instead of packed) xmm ops in
            %foo-float/signed
        ... fix comparison vop translations / policy
        ... cargo-cult handling of vops that overwrite one source
            register

7 years ago ... Perl 6 will be "better, stronger, faster" [...].
Daniel Barlow [Wed, 20 Oct 2004 20:21:03 +0000]
... Perl 6 will be "better, stronger, faster" [...].
A preview release should be available by next summer.

Current status: Genesis works but new core dies after 1.5
function calls or so

- many more #+x86 clauses widened for -64 too

- made a bit of a mess to get ROOM to compile (it's still
  broken; that's not the point)

- lea doesn't work when the destination is a stack location,
          so don't use it like that

- cvttss2si works better when called with the right number of
          arguments, so use it like that

7 years ago "The good news is that in 1995 we will have a good operating
Daniel Barlow [Wed, 20 Oct 2004 10:52:48 +0000]
"The good news is that in 1995 we will have a good operating
system and programming language; the bad news is that they
will be Unix and C++."

Expunge bits of long-float support as and when we see it

Cold boot doesn't need complex numbers (I think; at least,
don't need them yet) so temprarily comment out the definitions
of realpart and imagpart

c-call for an x86-64 looks remarkably like that for an x86.
We should find a better target-feature for "uses alien stack"
than (or x86 x86-64)

some 64 vs 32 bit issues in primtype still need working
through

add FP-{SINGLE,DOUBLE}-ZERO IMMEDIATE-CONSTANTs: currently we
reserve xmm15 for that purpose

movzx won't load a short immediate number and zero-extend it;
substitute lea

comparison vops for floats had info args all ove the place:
tidy

new SINGLE-FLOAT-BITS, DOUBLE-FLOAT-HIGH-BITS, DOUBLE-FLOAT-LOW-BITS
vops

make REG-TN-ENCODING and EMIT-EA and all that stuff understand
FLOAT-REGISTERs

Various float VOP brainos, fixed

Added a bunch of files that missed CVS last time

7 years ago "just a hobby, won't be big and professional like gnu"
Daniel Barlow [Mon, 18 Oct 2004 22:50:07 +0000]
"just a hobby, won't be big and professional like gnu"

Bunch of missing files copied across from the previous attempt

Hack make-config.sh to understand x86-64 a bit better

Break c-call (it was broken anyway) for floats in callout

%%NIP-VALUES by renaming register names int he x86 version

Random runtime frobs

7 years ago "640 k should be enough for anyone" : resuscitating the AMD64 port
Daniel Barlow [Mon, 18 Oct 2004 21:16:16 +0000]
"640 k should be enough for anyone" : resuscitating the AMD64 port

Add necessary "128 bit media" instruction definitions to
compile float.lisp

Rename XMM register-related variables back to "float"

7 years ago0.8.15.18: Linkage table tweaks & alien bugfix
Nikodemus Siivola [Mon, 18 Oct 2004 14:59:34 +0000]
0.8.15.18: Linkage table tweaks & alien bugfix
            * Build with linkage-table by default on x86/NetBSD and
               sparc/Linux as well.
            * Don't try to be too clever about when to warn user about
               alien definitions when saving cores on non-linkage-table
               platforms: do it unconditionally.
            * Fix parsing of recursive alien record and union types
               (reported by Thomas F. Burdick, port of Helmut Eller's
               patch for the same problem in CMUCL.)

7 years ago0.8.15.17
Daniel Barlow [Mon, 18 Oct 2004 13:07:41 +0000]
0.8.15.17
Merge NetBSD stack exhaustion patch from Richard Kreuter:
after a signal handler returns, NetBSD restores esp from the
mcontext's uesp slot, not the esp slot
(sbcl-devel 2004-10-15)

7 years ago0.8.15.16: "oops"
Nikodemus Siivola [Mon, 18 Oct 2004 12:37:53 +0000]
0.8.15.16: "oops"
            * Ignorance may be a bliss, but IGNOREABLE is not a
               declaration.

7 years ago0.8.15.15: Removing non-ANSI FTYPE proclaims and TYPE declarares from PCL
Nikodemus Siivola [Mon, 18 Oct 2004 12:16:35 +0000]
0.8.15.15: Removing non-ANSI FTYPE proclaims and TYPE declarares from PCL
            * Use internal machinary for accessor FTYPE information
               instead of PROCLAIM.
            * Don't declare TYPE for special DEFMETHOD parameters:
               setq-p hack doesn't work for those. Python not happy,
               but no can do right now.
            * Incidentally these changes also fix all current known
               package-lock bugs.

7 years ago0.8.15.14: x86-64-again
Alexey Dejneka [Wed, 13 Oct 2004 18:05:36 +0000]
0.8.15.14:
        * Fix bug MISC.427: rebuild DFO before loop analysis.

7 years ago0.8.15.13:
Juho Snellman [Tue, 12 Oct 2004 22:01:39 +0000]
0.8.15.13:
Port over / reconstruct ancient CMUCL loop analysis code.
Improve register allocation:
... Pack TNs that are used in deep loops first, giving them a
    higher chance of getting allocated in a register.
... Inside loops, pack the most used TNs first.
... When (> SPEED COMPILE-SPEED) attempt to pack the TNs into
    the most used locations in the SB instead of the earlier
    behaviour of scattering them into as many locations as
    possible. This results in tighter allocation / fewer spills.

7 years ago0.8.15.12:
Juho Snellman [Tue, 12 Oct 2004 21:14:40 +0000]
0.8.15.12:
On non-x86 platforms allocate the header TN of the var-alloc
VOP in a non-descriptor-register instead of an any-register.
Fixes "attempted to scavenge non-descriptor value" warning.

7 years ago0.8.15.11:
Christophe Rhodes [Wed, 6 Oct 2004 22:55:57 +0000]
0.8.15.11:
Fix ~< justification directive (patch essentially that applied
by rtoy for cmucl 2004-08-27)

7 years ago0.8.15.10:
Christophe Rhodes [Wed, 6 Oct 2004 17:01:05 +0000]
0.8.15.10:
Fix PPRINT-TAB (as implemented by COMPUTE-TAB-SIZE).
... it was, well, completely wrong.

7 years ago0.8.15.9:
Christophe Rhodes [Wed, 6 Oct 2004 15:31:39 +0000]
0.8.15.9:
PPRINT-INDENT should take reals, not just integers, as arguments.
... make it so.
... note a possible bug in the way it's been made so.

7 years ago0.8.15.8:
Christophe Rhodes [Wed, 6 Oct 2004 12:56:14 +0000]
0.8.15.8:
Fix for PRINT-LEVEL.8 and PRINT-LEVEL.9.
... ANSI makes the slightly bizarre requirement that while
the slots of a structure are 'components' in the sense of
*PRINT-LEVEL*, the type name isn't.  So, printing a slotless
struct does not involve descending a level.

7 years ago0.8.15.7
Daniel Barlow [Sun, 3 Oct 2004 00:57:13 +0000]
0.8.15.7
Threading fixes :

- bind *restart-clusters* *handler-clusters*
          *condition-restarts* at thread entry: inter-thread restarts
  don't work (nor is it clear what they'd do if they did)

- threads exit when their initial function returns, no need to
          call unix-exit (which may do interesting things with file
          buffers that we'd rather didn't happen)

arrange_return_to_lisp_function wasn't restoring esp
properly.  Not sure it ever makes a difference in practice,
but fix it anyway.

7 years ago0.8.15.6:
Alexey Dejneka [Sat, 2 Oct 2004 07:48:32 +0000]
0.8.15.6:
        * Fix bug from the Debian report #273606 by Gabor Melis:
          special variable *ALLOW-INSTRUMENTING* controls insertion of
          debug CATCH and stepper forms; is is enabled during IR1
          conversion (initial and inline expansion) and disabled
          otherwise (e.g. for IR1 transforms).

7 years ago0.8.15.5:
Christophe Rhodes [Fri, 1 Oct 2004 13:24:21 +0000]
0.8.15.5:
Fix for DEFGENERIC/FUNCTION/:METHOD interaction (Zach Beane
2004-09-29 sbcl-devel)

7 years ago0.8.15.4:
Christophe Rhodes [Fri, 1 Oct 2004 12:35:26 +0000]
0.8.15.4:
Fix for method redefinition WARNING (Zach Beane sbcl-devel
2004-09-24)
... slight tweak to get &optional (stream *standard-output*)
right.

7 years ago0.8.15.3:
Christophe Rhodes [Thu, 30 Sep 2004 20:20:26 +0000]
0.8.15.3:
Well, as one-line patches go, that was pretty bad.  Fix the
(SIGNED-BYTE N) streams problem, and additionally fix
(SIMPLE-STRING) as a type specifier for sequence creators.

7 years ago0.8.15.2:
Christophe Rhodes [Thu, 30 Sep 2004 13:59:03 +0000]
0.8.15.2:
Fix for (signed-byte N) read/write consistency (reported by
Bruno Haible cmucl-imp 2004-09-06)

7 years ago0.8.15.1:
Christophe Rhodes [Thu, 30 Sep 2004 13:48:49 +0000]
0.8.15.1:
Fix POSITION on displaced vectors (PFD tests).
... whoops!
... (you know, it's good not to have to think of a tagline for
commits once in a while :-)

7 years ago0.8.15: sbcl.0.8.15 sbcl_0_8_15
William Harold Newman [Wed, 29 Sep 2004 19:34:39 +0000]
0.8.15:
some trivial text fixes (like s/the the/the/)
release, tagged as sbcl_0_8_15

7 years ago0.8.14.30:
Andreas Fuchs [Tue, 28 Sep 2004 08:42:57 +0000]
0.8.14.30:
One last fix before the release: make REMOVE-DUPLICATES :START work

* Fix due to Peter Graves and the Sacla test suite
* Also add a test case for that and DELETE-DUPLICATES, while we're
  at it.

7 years ago0.8.14.29:
William Harold Newman [Sun, 26 Sep 2004 22:37:34 +0000]
0.8.14.29:
merged Brian Mastenbrook's fix for SBCL build on OS X
broke some long lines (turning 1-liner into slightly
  nontrivial-looking patch, alas)

7 years ago0.8.14.28:
William Harold Newman [Sun, 19 Sep 2004 19:38:55 +0000]
0.8.14.28:
"not when there is nothing more to add, but when there is
nothing more to be taken away"
deleted old DocBook manual sources
deleted references to DocBook manual sources (in DOCDOC and
clean.sh and so forth)
minor tidying of doc-building and doc/-cleaning machinery
(hopefully leaving it working basically as before)

7 years ago0.8.14.28:
William Harold Newman [Sun, 19 Sep 2004 19:16:19 +0000]
0.8.14.28:
"not when there is nothing more to add, but when there is
nothing more to be taken away"
deleted old DocBook manual sources
deleted references to DocBook manual sources (in DOCDOC and
clean.sh and so forth)
minor tidying of doc-building and doc/-cleaning machinery
(hopefully leaving it working basically as before)

7 years ago0.8.14.27:
Christophe Rhodes [Sun, 19 Sep 2004 09:32:21 +0000]
0.8.14.27:
Fix for "Strange bug in MOP" (R. Mattes sbcl-help 2004-09-15)
... we need the CPL before the class has been fully finalized;
... can't use SLOT-BOUNDP (see note in CPL-OR-NIL);
... define new slot in class to hold boundp information.

7 years ago0.8.14.26:
Christophe Rhodes [Wed, 15 Sep 2004 19:48:32 +0000]
0.8.14.26:
Add references to the FORMAT subsystem
... make FORMAT-ERROR inherit from REFERENCE-CONDITION;
... make REFERENCE-CONDITION exist on the host, with
more-or-less the same interface (though no printing);
... elide printing "See also: " if we have a reference condition
but no references.  (This change in a
REFERENCE-CONDITION's contract is probably going to
irritate our friends in the slime world...);
... decorate format-related logic with :REFERENCES initargs.

7 years ago0.8.14.25:
Christophe Rhodes [Wed, 15 Sep 2004 17:54:07 +0000]
0.8.14.25:
Fix for ~<~:;~> and ~W/~I/~:T/~_/~<~:> interaction in CLHS
22.3.5.2.

7 years ago0.8.14.24: En Garde!
Nikodemus Siivola [Tue, 14 Sep 2004 18:11:24 +0000]
0.8.14.24: En Garde!
            * Robuster control stack exhaustion handling:
               automagically reprotect the guard-page after enough
               stack has unwound.
            * Simple stress tests for this.

7 years ago0.8.14.23:
Christophe Rhodes [Tue, 14 Sep 2004 17:25:16 +0000]
0.8.14.23:
Attempt to fix the fixnump()-related problems in the runtime.
This version Works For Me, but then so did the old one...

7 years ago0.8.14.22:
Christophe Rhodes [Tue, 14 Sep 2004 14:07:09 +0000]
0.8.14.22:
Fix spurious code deletion notes from PPRINT-LOGICAL-BLOCK

7 years ago0.8.14.21: oops
Nikodemus Siivola [Tue, 14 Sep 2004 07:04:39 +0000]
0.8.14.21: oops
            * Clean up bogus character from docstring
               of LOAD-SHARED-OBJECT, which made cvs think
               it was a binary file. *blush*

7 years ago0.8.14.20: Documentation madness, yet again
Nikodemus Siivola [Tue, 14 Sep 2004 06:51:12 +0000]
0.8.14.20: Documentation madness, yet again
            * Merge a partial rewrite of the docstring extractor,
               capable of handling a few more cases and providing
               nicer xref-names: @xref{Macro common-lisp:trace}
               instead of @xref{macro-common-lisp-trace}.
            * Reformat a few docstrings for nicer display.
            * Add documentation for LOAD-SHARED-OBJECT to the manual.
            * Move SAVE-LISP-AND-DIE to "Starting and Stopping"
               chapter. Say bye-bye to "Interface to Low-level
               Implementation."
            * Extract the version number for the manual from
               the SBCL the docstrings are pulled from, not
               version.lisp-expr.

7 years ago0.8.4.19:
Alexey Dejneka [Tue, 14 Sep 2004 03:38:14 +0000]
0.8.4.19:
        * Quick fix: disable insertion of stepping forms in
          FILTER-LVAR. (The proper way would be to rename
          *ALLOW-DEBUG-CATCH-TAG* to *ALLOW-CODE-INSTRUMENTATION* and
          use it to disable insertion of stepping forms into
          internally generated code, but first I'd like to restore
          SLIME compilability.)

7 years ago0.8.14.18: non-x86 %listify-rest-args fixes
Nikodemus Siivola [Mon, 13 Sep 2004 22:51:38 +0000]
0.8.14.18: non-x86 %listify-rest-args fixes
            * Fix buildabillity on non-x86 arches. Tested only on
               sparc, though.

7 years ago0.8.14.17:
Alexey Dejneka [Mon, 13 Sep 2004 15:56:07 +0000]
0.8.14.17:
        * Fix MISC.391.

7 years ago0.8.14.16: Zipper Up
Nikodemus Siivola [Mon, 13 Sep 2004 15:25:08 +0000]
0.8.14.16: Zipper Up
            * Fix deftype lambda-list parsing to bind unsupplied
               keyword parameters to * instead of NIL if no initform
               was supplied -- only one of the four cases used to be
               handled correctly. Reported by Johan Bockgård on #lisp
            * Fix #347: define-compiler-macro lambda-list parsing
               binds correctly when FUNCALL appears as the car of the
               form (port of Raymond Toy's fix for the same from
               CMUCL). Also reported by Johan Bockgård.
            * In course of fixing the latter, make simple but
               philosophically profound change to parse-defmacro: what
               was error-kind is now thought of as a context marker.
            * Tests, tests, tests

7 years agosbcl-0.8.14.15:
Alexey Dejneka [Mon, 13 Sep 2004 13:23:44 +0000]
sbcl-0.8.14.15:
        * Provide stubs for %%POP-DX and %%NIP-DX.

7 years ago0.8.14.14: Two commits for the price of one
Nikodemus Siivola [Mon, 13 Sep 2004 08:36:29 +0000]
0.8.14.14: Two commits for the price of one
            * Clean up indentation of IR1-CONVERT
            * NEWS entry about single stepping.

7 years ago0.8.14.13: Step SBCL, step!
Nikodemus Siivola [Mon, 13 Sep 2004 07:14:35 +0000]
0.8.14.13: Step SBCL, step!
            * Merge the new intrumentation based single stepper,
               excise stale breakpoint code for STEP; TRACE breakpoints
               should be unaffected.
            * A dash of documentation.

7 years ago0.8.14.12:
Alexey Dejneka [Mon, 13 Sep 2004 06:01:11 +0000]
0.8.14.12:
        * New bug.

7 years agosbcl-0.8.14.11:
Alexey Dejneka [Mon, 13 Sep 2004 05:40:27 +0000]
sbcl-0.8.14.11:
        * Merge DX sbcl-0-8-13-dx branch.
        * Out-of-line VALUES does not cons.
        * Forbid loading of initialization files in foreign.test.sh.

7 years ago0.8.14.10: quoth the FORMAT, LOOP for on!
Nikodemus Siivola [Sat, 11 Sep 2004 12:54:25 +0000]
0.8.14.10: quoth the FORMAT, LOOP for on!
            * Merge FORMAT and LOOP patches by Julian Squires
               and Teemu Kalvas respectively, plus test-cases.

7 years ago0.8.14.9:
William Harold Newman [Fri, 10 Sep 2004 15:36:17 +0000]
0.8.14.9:
fixes for build on my old Debian system...
...added missing #!+LINKAGE-TABLE
...converted "cd foo" to "cd ./foo" so that CDPATH-based logic
won't helpfully announce the name of the new dir to
  stdout (and thus into local-target-features.lisp-expr);
then "cd ./foo > /dev/null" for overkill
generally grepped for and changed "cd foo" to "cd ./foo" to
reduce the amount of CDPATH ambiguity involved and
the amount of stdout noise generated

7 years ago0.8.14.8:
Nathan Froyd [Fri, 10 Sep 2004 14:22:38 +0000]
0.8.14.8:
"These are not the tests you're looking for."

Oops.  Fix new tests as suggested by Christophe on sbcl-devel.

7 years ago0.8.14.7: self building. self building is good
Nikodemus Siivola [Fri, 10 Sep 2004 09:28:48 +0000]
0.8.14.7: self building. self building is good
           * Oops fixage, to make self builds possible
              once again.

7 years ago0.8.14.6:
Nathan Froyd [Thu, 9 Sep 2004 20:50:11 +0000]
0.8.14.6:
Oops.  Fix dumping of specialized arrays whose elements are
  smaller than a single byte.

Now with added tests!  Passes all tests.

7 years ago0.8.14.5: Join the foreign legion!
Nikodemus Siivola [Thu, 9 Sep 2004 12:10:11 +0000]
0.8.14.5: Join the foreign legion!
           * x86/FreeBSD, x86/Linux and Sparc/SunOS now have
              linkage-table support, allowing SAVE-LISP-AND-DIE to
              function properly in the presence of loaded shared
              objects.
           * As a related cleanup automate testing for dlopen
              support on the plaform, and conditionalize
              LOAD-SHARED-OBJECT support on the resulting
              :os-provides-dlopen feature.

7 years ago0.8.14.4:
Nathan Froyd [Wed, 8 Sep 2004 19:22:47 +0000]
0.8.14.4:
Oops.  Better write things in the dumper as halfwords in addition
  to reading them as such in the fasl loader.

7 years ago0.8.14.3:
Nathan Froyd [Wed, 8 Sep 2004 18:17:36 +0000]
0.8.14.3:
FASL changes for 64-bit compatibility

* read and write appropriate fop args as word-sized chunks rather
  than 32-bit-sized chunks
* fixes for 32-bit assumptions in array sizes and elsewhere
* a few cleanups along the same lines

Passes all tests and appears to not break FASL compatibility.

7 years ago0.8.14.2:
Nathan Froyd [Wed, 8 Sep 2004 16:05:14 +0000]
0.8.14.2:
Lots of GC cleanups:

* use N_WORD_BYTES where appropriate, even in gencgc.c
* use inline functions instead of macros (there are a few cases
  yet to replace, though)
* use `fixnump' where possible instead of `& 0x3' (which will
  break with 64-bit ports)
* tweak NWORDS to function correctly for n_bits greater than
  the word size (important for 64-bit ports)
* changes to use to new, improved NWORDS function when
  appropriate (e.g. for determining the length of float arrays)

purify.c needs some of the same tweaks; I have a version which
  seems to work on alpha64 but fails at the end of warm-init.

Passes all tests.

7 years ago0.8.14.1:
Kevin Rosenberg [Wed, 1 Sep 2004 19:59:10 +0000]
0.8.14.1:
Fix for defgeneric expansion as reported on sbcl-devel Aug 31, 2004

7 years ago0.8.14: sbcl.0.8.14 sbcl_0_8_14
William Harold Newman [Mon, 30 Aug 2004 22:06:25 +0000]
0.8.14:
release, tagged as sbcl_0_8_14

7 years ago0.8.13.80: Last minute manual twiddling
Nikodemus Siivola [Thu, 26 Aug 2004 16:17:06 +0000]
0.8.13.80: Last minute manual twiddling
            * Fix a bunch of tyepos, including the all-important
               distinction between < and >.
            * Correct cross-references pertaining to
               *INVOKE-DEBUGGER-HOOK*.
            * Remove cartouches from docs, as they seem to mess up the
               HTML output.
            * Remove a duplicated text about muffle-conditions, left in
               after a cut & paste fest.

7 years ago0.8.13.79: ...Flew Together
Nikodemus Siivola [Wed, 25 Aug 2004 19:25:52 +0000]
0.8.13.79: ...Flew Together
           * "Oops." Fix the piping to /dev/null in
      tools-for-build/grovel-features.sh so that it doesn't
      puke compiler-errors all over the place -- specifically
      to local-target-features.lisp-expr...

7 years ago0.8.13.78: Birds of Feather
Nikodemus Siivola [Wed, 25 Aug 2004 14:24:23 +0000]
0.8.13.78: Birds of Feather
            * Fix dladdr bogosities: test if dladdr is supported on
               the platform, and add an ldso_stub for it if so. This
               so that SBCL isn't dependant on the dladdr being at the
               same location at runtime as it was on the build-host.
               Move the dummy definition for FOREIGN-SYMBOL-IN-ADDRESS
               to target-load, so that backtraces on target will work
               before foreign.lisp is built. Clean up the real F-S-I-A
               definition to use the :os-provides-dladdr feature.
            * Fix manual bogosities: generate functions signalling
               UNSUPPORTED-OPERATOR-ERROR for SB-BSD-SOCKETS
               platform-dependant sockopts on platforms where they're
               not supported; make these functions have the normal
               doctrings. This so that manual building will work on
               non-Linux as well. Also clean up the .sbclrc examples
               slightly.

7 years ago0.8.13.77: character.branch.point character_branch_point
Christophe Rhodes [Wed, 18 Aug 2004 17:23:06 +0000]
0.8.13.77:
Some bugfixes
... make failures of REQUIRE printable.  How did that happen?
... patch from Dave Roberts (sbcl-devel 2004-08-18) for
sb-bsd-sockets export
... fix for ENOUGH-NAMESTRING, allowing :relative pathnames
to be namestringized.

7 years ago0.8.13.76: Doc'a'tweak
Nikodemus Siivola [Wed, 18 Aug 2004 12:58:41 +0000]
0.8.13.76: Doc'a'tweak
            * Update the asdf.texinfo from upstream so that
               install-info will work.
            * Nicer html installation hierarchy.

7 years ago0.8.13.75: MORE MANUALS
Nikodemus Siivola [Wed, 18 Aug 2004 12:42:43 +0000]
0.8.13.75: MORE MANUALS
            * Pull asdf.texinfo from upstream; build and install
               it along with the rest of the documentation.