Alastair Bridgewater [Sat, 3 Apr 2010 00:38:18 +0000 (00:38 +0000)]
 
1.0.37.24: Genesis deFIXMEification: Symbol allocation gspace.
  * Removed *cold-symbol-allocation-gspace*
  * Added keyword argument for allocation gspace to allocate-symbol.
  * Added keyword argument for allocation space to cold-intern, changing
optional package argument to be a keyword argument as well.
  * Changed initialize-non-nil-symbols to pass explicit gspace arguments
to cold-intern instead of using *cold-symbol-allocation-gspace*.
  * Fixed the one use of the package argument to cold-intern for the
keyword-argument version.
Nikodemus Siivola [Fri, 2 Apr 2010 15:34:56 +0000 (15:34 +0000)]
 
1.0.37.23: saner SB-PROFILE::COUNTER-COUNT handling
 * Each overflow accounts for (1+ +MOST-POSITIVE-WORD+) instead of
   +MOST-POSITIVE-WORD+, just like in
     0x01 + [0x00,0xff] = [0x01,0x00]
   ...one less ATOMIC-INCF needed for the overflow case.
Nikodemus Siivola [Thu, 1 Apr 2010 17:36:02 +0000 (17:36 +0000)]
 
1.0.37.22: SB-PROFILE improvements
 * More efficient counters: use CAS to increment the overflow, no need
   for a separate spinlock.
 * Current off-by-one in the event of counter-overflows.
 * Report per-function GC overhead. (patch by John Fremlin)
Nikodemus Siivola [Thu, 1 Apr 2010 12:52:04 +0000 (12:52 +0000)]
 
1.0.37.21: :AUTO-CLOSE and better FD-STREAM-NAME for socket streams
 Fixed launchpad bug #540413.
Tobias C. Rittweiler [Wed, 31 Mar 2010 19:35:11 +0000 (19:35 +0000)]
 
1.0.37.20: Make stress test for SB-CONCURRENCY:MAILBOX more robust.
  * The MAILBOX.INTERRUPT-SAFETY.1 test kills threads randomly while
    stress-testing a mailbox--in the test we made sure that at least
    one receiver remains to properly finish the test; however, some of
    the receiver threads were written with a specific upper bound of
    runs. In the unlikely event that only those receivers remain,
    there was a chance that they could not properly finish the test.
  * We rewrite the receivers to do their work until they receive a
    special FIN token as message. After all senders are done, we make
    sure to send enough FIN for all receivers to shut down.
  * Also gather some more information during the test so in case of
    failure we can gain understanding on what went wrong.
Tobias C. Rittweiler [Tue, 30 Mar 2010 21:40:39 +0000 (21:40 +0000)]
 
1.0.37.19: Forgot to add sb-queue/package.lisp in last commit.
Tobias C. Rittweiler [Tue, 30 Mar 2010 10:48:08 +0000 (10:48 +0000)]
 
still 1.0.38.18; forgot to delete old sb-queue files.
Tobias C. Rittweiler [Tue, 30 Mar 2010 10:46:43 +0000 (10:46 +0000)]
 
1.0.37.18: New contrib SB-CONCURRENCY.
sb-concurrency related changes:
  * create contrib/sb-concurrency/
  * add the implementation of lock-free Queues from sb-queue.
  * add a new implementation of Mailboxes on top of the Queues.
sb-queue related changes:
  * merged into sb-concurrency
  * deprecated now, but the system / package is still retained for
    backwards compatibility; the package simply reexports from
    sb-concurrency.
doc changes:
  * add section for sb-concurrency to manual
Nikodemus Siivola [Tue, 30 Mar 2010 10:09:04 +0000 (10:09 +0000)]
 
1.0.37.17: multiplication-by-one misoptimization in (FLOAT-ACCURACY 0) policies
 * Our transforms optimized (* <int> 1.0) into <int>. Oops.
Nikodemus Siivola [Mon, 29 Mar 2010 15:31:25 +0000 (15:31 +0000)]
 
1.0.37.16: fix build
 * Oops. Missing package prefixes and wrong slot type
   for SEMAPHORE-WAITCOUNT.
Tobias C. Rittweiler [Mon, 29 Mar 2010 10:54:08 +0000 (10:54 +0000)]
 
1.0.37.15: Make SB-THREAD:TRY-SEMAPHORE decrement count by N.
Add an &optional N parameter to SB-THREAD:TRY-SEMAPHORE as an
optimization so a user who wants to do so does not need to
acquire a semaphore's lock multiple times but just once.
Nikodemus Siivola [Mon, 29 Mar 2010 08:05:11 +0000 (08:05 +0000)]
 
1.0.37.14: fix the other half of the WAIT-ON-SEMAPHORE buglet
 * ATOMIC-DECF doesn't do any good if the other write isn't atomic as
   well: even though we are always holding the lock while incrementing
   the waitcount, the possibly unlocked but atomic decrement means the
   increment needs to be atomic too.
Tobias C. Rittweiler [Sun, 28 Mar 2010 20:08:38 +0000 (20:08 +0000)]
 
1.0.37.13: Make SIGNAL-SEMAPHORE interruptable.
Although a SEMAPHORE's mutex is private to that SEMAPHORE, and the
mutex is released during the wait in WAIT-ON-SEMAPHORE, it's still
possible to starve in SIGNAL-SEMAPHORE while waiting to acquire the
mutex because a deadline handler around WAIT-ON-SEMAPHORE could be
running in the implicitly called CONDITION-WAIT which reacquires the
mutex.
Hence make sure that the call to GET-MUTEX in SIGNAL-SEMAPHORE is
interruptable.
Tobias C. Rittweiler [Sun, 28 Mar 2010 17:44:49 +0000 (17:44 +0000)]
 
1.0.37.12: Fix typo in "Reporting bugs" section of the manual.
  s/call_backtrace_from_fp/call backtrace_from_fp/
  fixes lp#541771
  (The last commit message contained a bogus commit version header
   of "1.0.37.6"; it was "1.0.37.11", of course.)
Tobias C. Rittweiler [Sun, 28 Mar 2010 17:35:37 +0000 (17:35 +0000)]
 
1.0.37.6: Add SB-SYS:CANCEL-DEADLINE restart to DEADLINE-TIMEOUTs.
  * Establish an SB-SYS:CANCEL-DEADLINE restart in SIGNAL-DEADLINE.
  * Add an SB-SYS:CANCEL-DEADLINE restart function.
  * Make SB-INT:READ-EVALUATED-FORM take an optional prompt. This
    function is commonly used to query the user for input in restarts.
    Use it in the SB-SYS:DEFER-DEADLINE restart in SIGNAL-DEADLINE.
  * Bind *DEADLINE-SECONDS* in SB-THREAD:MAKE-THREAD. Not binding it
    does not seem to have severe consequences, but that's not obvious
    so just bind both so humans won't waste brain cycles on
    it. SB-KERNEL:SUB-GC also binds both.
  * Add usage of WITH-TEST to tests/deadline.impure.lisp. Also add
    a test case for the new CANCEL-DEADLINE restart.
Nikodemus Siivola [Sun, 28 Mar 2010 16:36:30 +0000 (16:36 +0000)]
 
1.0.37.10: docs, docs are good
 * Add ATOMIC-INCF, ATOMIC-DECF, COMPARE-AND-SWAP, and TRY-SEMAPHORE
   to the manual.
 * Teach docstrings.lisp to skip &ENVIRONMENT and &WHOLE in
   lambda-lists. (Needed by the above.)
Nikodemus Siivola [Sun, 28 Mar 2010 16:29:13 +0000 (16:29 +0000)]
 
1.0.37.9: atomic STOREW for large integer constants on x86-64
 * First move the constant into TEMP-REG-TN, then into memory -- not
   into memory in two stages. Even though memory is probably
   write-combining, an interrupt could still leave us with a bogus
   value.
Nikodemus Siivola [Sun, 28 Mar 2010 15:19:11 +0000 (15:19 +0000)]
 
1.0.37.8: add ATOMIC-DECF, fix WAIT-ON-SEMAPHORE-BUGLET
 * We already had SB-EXT:ATOMIC-INCF, so this seems a sensible
   companion. I really cannot remember why I didn't do things like
   this in the first place -- lack of time, maybe?
 * Use ATOMIC-DECF instead of DECF in WAIT-ON-SEMAPHORE to decrement
   the waitcount: if we unwind from CONDITION-WAIT due to timeout the
   mutex might no longer be ours.
Nikodemus Siivola [Sun, 28 Mar 2010 13:44:46 +0000 (13:44 +0000)]
 
1.0.37.7: RETRY restart for NO-APPLICABLE-METHOD and NO-PRIMARY-METHOD
 Wrap calling the NO-FOO gf in a CALL-NO-FOO function which provides
 the restart.
 Can't do the same easily for NO-NEXT-METHOD, as return-value from
 CALL-NEXT-METHOD would get messed up.
Tobias C. Rittweiler [Sun, 28 Mar 2010 13:37:22 +0000 (13:37 +0000)]
 
1.0.37.6: Add SB-THREAD:TRY-SEMAPHORE.
Nikodemus Siivola [Sun, 28 Mar 2010 12:16:02 +0000 (12:16 +0000)]
 
1.0.37.5: remove a redundant IF
  (IF BOOL X X) == X
  The duplication occurred at 0.9.3.32 when INSTANCE-LAMBDA in the
  first leg was be replaced with a regular LAMBDA.
Nikodemus Siivola [Sun, 28 Mar 2010 10:51:51 +0000 (10:51 +0000)]
 
1.0.37.4: robuster page table pickup
 The Problem:
   It is rare, but apparently possible, for there to be free pages in
   the middle of allocated pages even after the double-collection we
   do in gc_and_save().
   Previously this was not an issue, since the static space pickup
   mechanism just ended up marking those pages as boxed and full --
   so we could get a page or few of (0 . 0) in the static generation.
   No biggie.
   Now, however, we save page table information into the core (for
   normal, not cold cores). This means that a would get a page marked
   as free, but since it was below alloc_ptr gencgc_pickup_dynamic()
   would mark it having bytes_used=PAGE_BYTES, etc.
   ...and later, find_freeish_pages() would look at the page and
   cry out in existential anguish becaue it should be free but
   didn't have bytes_used==0. Oh Noes!
 The Fix:
   gencgc_pickup_dynamic() needs to be careful about pages marked free
   if partial pickup has already been done from the core.
Nikodemus Siivola [Sun, 28 Mar 2010 10:44:04 +0000 (10:44 +0000)]
 
1.0.37.3: make *STANDARD-INPUT*, *STANDARD-OUTPUT*, and *ERROR-OUTPUT* bivalent
 * Also allow bivalent output streams to use :LINE buffering: take it
   to mean :FULL for binary output.
Nikodemus Siivola [Sun, 28 Mar 2010 09:38:46 +0000 (09:38 +0000)]
 
1.0.37.2.: document UNLOAD-SHARED-OBJECT in the manual
Nikodemus Siivola [Sun, 28 Mar 2010 09:37:39 +0000 (09:37 +0000)]
 
1.0.37.1: more correct restart text for MAKE-PACKAGE
 * Selecting CONTINUE will clobber the existing package, not leave
   it alone.
Christophe Rhodes [Sun, 28 Mar 2010 09:02:28 +0000 (09:02 +0000)]
 
1.0.37: will be tagged as sbcl_1_0_37
Nikodemus Siivola [Fri, 26 Mar 2010 12:59:25 +0000 (12:59 +0000)]
 
1.0.36.40: fix PPC build
 * Resent unknown-type reparsing changes could result in LVAR-TYPE
   being #<UNKNOWN-TYPE RESTART> but _behaving_ as if it actually was
   #<STRUCTURE-CLASSOID RESTART> -- make PRIMITIVE-TYPE reparse the type
   if appropriate so that the right template can be found.
 * This problem was masked on x86oids as they have %INSTANCE-REF arg
   type *, whereas PPC had INSTANCE.
 Fixes launchpad bug #542894.
Nikodemus Siivola [Thu, 25 Mar 2010 12:24:39 +0000 (12:24 +0000)]
 
1.0.36.39: report location correctly in run-sbcl.sh
 * Thanks to Attila Lendvai for noticing. In despite the freeze.
Nikodemus Siivola [Tue, 23 Mar 2010 18:06:05 +0000 (18:06 +0000)]
 
1.0.36.38: unBREAK
 ...oops.
Nikodemus Siivola [Tue, 23 Mar 2010 17:52:10 +0000 (17:52 +0000)]
 
1.0.36.37: fix minor regression from 1.0.36.33
 * Don't patch the &REST into the type when it has * for args.
Juho Snellman [Sun, 21 Mar 2010 06:32:04 +0000 (06:32 +0000)]
 
1.0.36.36: Update release checklist
     * Add a note about chmoding the release directories to
       group-writable.
     * Remove the obsolete and commented out upload instructions.
Tobias C. Rittweiler [Sat, 20 Mar 2010 16:08:06 +0000 (16:08 +0000)]
 
1.0.36.35: More accurate WHO-CALLS / WHO-EXPANDS information
  * Fix for .34 which also affects WHO-EXPANDS; instead of pointing at
    the toplevel form, actually point into the right subform.
  * Bug due to typo: CDDR was used instead of CADDR.
Nikodemus Siivola [Fri, 19 Mar 2010 21:33:08 +0000 (21:33 +0000)]
 
1.0.36.34: WHO-CALLS information for source transformed calls
 * Generalize the solution used for macroexpansion XREFs to take care
   of other source-level stuff: this includes both source-transforms
   and compiler-macros.
 Fixes launchpad bug #542174.
 Note re. 1.0.36.33: the commit message is erronous. The real commit
 message would have noted that since FIND-OPTIONAL-DISPATCH-TYPES
 doesn't rightly consider &REST mismatch a lossage in the presence of
 &KEY, we need to make sure the type assigned to the leaf has a &REST
 type if the function actually has a &REST argument.
Nikodemus Siivola [Fri, 19 Mar 2010 20:35:15 +0000 (20:35 +0000)]
 
1.0.36.33: handle missing &REST in proclamations
 * FIND-OPTIONAL-DISPATCH-TYPES cannot skip &REST verification in the
   presence of &KEY.
 Fixes launchpad bug #458354.
Nikodemus Siivola [Thu, 18 Mar 2010 18:58:20 +0000 (18:58 +0000)]
 
1.0.36.32: reparsing undefined types when necessary
 In type methods for unknown types that have since parsing become
 defined, update the type as necessary.
 Fixes bug #309128.
Nikodemus Siivola [Thu, 18 Mar 2010 11:17:01 +0000 (11:17 +0000)]
 
1.0.36.30: on x86-64 split MOVE-TO-SINGLE into -REG and -STACK versions
 * More accurate lifetime for the temporary in both, to avoid spurious
   moves, as per patch.
 * When moving from control stack to reg, untag in the XMM register
   instead of a GP register, as per patch.
 * Missing commas in SSE shuffle instruction printers.
 Adapted from patch by Lutz Euler on sbcl-devel 2009-10-12.
Nikodemus Siivola [Thu, 18 Mar 2010 08:16:50 +0000 (08:16 +0000)]
 
1.0.36.30: print_generation_stats even if heap exhaustion happens during allocation
 Ditto for various GC control variables. Handling heap exhaustion is
 tricky enough that puking more information is better than less.
Nikodemus Siivola [Wed, 17 Mar 2010 16:51:55 +0000 (16:51 +0000)]
 
1.0.36.29: better Control-C signaling
  Actually SIGNAL the SB-SYS:INTERACTIVE-INTERRUPT so that handlers
  can run.
Nikodemus Siivola [Wed, 17 Mar 2010 14:28:00 +0000 (14:28 +0000)]
 
1.0.36.28: real LOAD-LOGICAL-PATHNAME-TRANSLATIONS
 * Read translations from SYS:SITE;HOST.TRANSLATIONS.NEWEST.
 Patch by Michael Weber on sbcl-devel.
Nikodemus Siivola [Wed, 17 Mar 2010 12:35:29 +0000 (12:35 +0000)]
 
1.0.36.27: less mprotect calls in GENCGC
 * In unprotect_oldspace(), instead of calling os_protect() for every
   page that needs unprotecting separately, call it once for every
   contiguous region of pages. (Thanks to Vitaly Mayatskikh.)
 * Replace the unprotection calls from free_oldspace() and
   copy_large_object() with asserts: unprotect_oldspace should already
   have unprotected everything of interest.
Nikodemus Siivola [Wed, 17 Mar 2010 11:53:29 +0000 (11:53 +0000)]
 
1.0.36.26: bug using OF-TYPE VECTOR in LOOP
 Case of :ELEMENT-TYPE * vs T confusion.
 Fixes launchpad bug #540186.
Nikodemus Siivola [Mon, 15 Mar 2010 09:36:41 +0000 (09:36 +0000)]
 
1.0.36.25: stuff silly putty into pipe to stop ASDF-INSTALL leaking
 * ...or the moral equivalent thereof.
Nikodemus Siivola [Mon, 15 Mar 2010 09:13:59 +0000 (09:13 +0000)]
 
1.0.36.24: FIND/POSITION bounds checking on lists
 * Signal an error if the list is shorter than required, and also
   check for circularity.
   Based on patch by: Jorge Tavares
   Fixes launchpad bug #452008.
 * Also add declarations for some error signaling functions used by
   sequence code so that compiler knows they never return.
Nikodemus Siivola [Fri, 12 Mar 2010 12:37:12 +0000 (12:37 +0000)]
 
1.0.36.23: more consistent handling of ignored DX declarations
 * Use COMPILER-STYLE-WARN if the declaration is for an unbound
   variable or function.
 * Use COMPILER-NOTIFY is the declaration is free, but the
   var/function is bound.
 * Take care not to create an entry in *FREE-VARS* due to processing
   a DX declaration.
 Fixed launchpad bug #497321.
Nikodemus Siivola [Fri, 12 Mar 2010 11:23:09 +0000 (11:23 +0000)]
 
1.0.36.22: bogus style-warning in DEFSTRUCT edge-case
 * Using initformless &AUX to specify uninitialized structure slots
   caused a bogus style-warning.
   Patch by: Adlai Chandrasekhar <Munchking@gmail.com>
 Fixed launchpad bug #528807.
Nikodemus Siivola [Fri, 12 Mar 2010 09:38:25 +0000 (09:38 +0000)]
 
1.0.36.21: stricter handling of invalid backquote expressions
 Based on patch by: Stas Boukarev <stassats@gmail.com>
 Fixed launchpad bug #309093.
Nikodemus Siivola [Thu, 11 Mar 2010 17:09:46 +0000 (17:09 +0000)]
 
1.0.36.20: prettier WITH-COMPILATION-UNIT documentation
 * Adjust the docstring for the benefit of the manual, and
   teach docstrings.lisp more about parsing embedded examples.
Nikodemus Siivola [Thu, 11 Mar 2010 13:53:49 +0000 (13:53 +0000)]
 
1.0.36.19: WITH-COMPILATION-UNIT :POLICY
 * Allows binding *POLICY* and *POLICY-RESTRICTIONS*. Read the
   docstring and weep.
 * Document both RESTRICT-COMPILER-POLICY and WITH-COMPILER-POLICY in
   the manual.
 * Also make DECLARATION-INFORMATION heed *POLICY-RESTRICTIONS*.
   Based on patch by: Tobias C. Rittweiler <tcr@freebits.de>
   Fixes Launchpad bug #313337.
Nikodemus Siivola [Thu, 11 Mar 2010 10:11:44 +0000 (10:11 +0000)]
 
1.0.36.18: remove *MERGE-SORT-TEMP-VECTOR* and *ZAP-ARRAY-DATA-TEMP*
 * STABLE-SORT no longer uses a pre-allocated temporary vector, but
   rather allocates it as-required.
   Based on patch by: Keith James <dev@deoxybyte.co.uk>
 * ADJUST-ARRAY no longer uses a pre-allocated temporary vector, but
   rather allocates is as-required.
 In both cases after the temporary vector is done with, it is
 truncated to 0-length to prevent garbage retention.
 Fixes Launchpad bug #496249.
Nikodemus Siivola [Thu, 11 Mar 2010 08:33:59 +0000 (08:33 +0000)]
 
1.0.36.17: SB-INTROSPECT building without SB-EVAL
 Patch by: Stas Boukarev <stassats@gmail.com>
 Fixes Launchpad bug #535658.
Nikodemus Siivola [Tue, 9 Mar 2010 09:57:29 +0000 (09:57 +0000)]
 
1.0.36.16: allocation profiling for new threads
 Patch by: Leslie Polzer <polzer@gnu.org>
 Fixes Launchpad bug #472499.
Nikodemus Siivola [Mon, 8 Mar 2010 17:05:41 +0000 (17:05 +0000)]
 
1.0.36.15: upgraded array element-type of unions and intersections
 * Rename EXTRACT-UPGRADED-ELEMENT-TYPE and
   EXTRACT-DECLARED-ELEMENT-TYPE ARRAY-TYPE-UPGRADED-ELEMENT-TYPE and
   ARRAY-TYPE-DECLARED-ELEMENT-TYPE, and make them work on array types
   instead of LVARs.
 * Make ARRAY-TYPE-UPGRADED-ELEMENT-TYPE able to handle general
   intersection and union types. Code by "Gustavo"
   <gugamilare@gmail.com>.
 * Make ARRAY-TYPE-DIMENSIONS-OR-GIVE-UP able to handle general
   intersection and union types.
 Fixes Launchpad bug #316078.
Nikodemus Siivola [Mon, 8 Mar 2010 13:44:58 +0000 (13:44 +0000)]
 
1.0.36.14: better differences of numeric types
 Handle differences of numeric types accurately in TYPE-DIFFERENCE (no
 change unless both arguments are number-types.)
 Fixes Launchpad bug #309124.
Alastair Bridgewater [Mon, 1 Mar 2010 17:31:03 +0000 (17:31 +0000)]
 
1.0.36.13: Fix test case clos.impure.lisp / BUG-520366.
  * Fix rename failure quux -> quux-520366.
Alastair Bridgewater [Mon, 1 Mar 2010 16:54:00 +0000 (16:54 +0000)]
 
1.0.36.12: Make sb-posix build on win32 again.
  * Don't support accessing d_ino on win32.
Alastair Bridgewater [Mon, 1 Mar 2010 16:51:17 +0000 (16:51 +0000)]
 
1.0.36.11: Make slam.sh work on Win32.
  * This is just a matter of changing the userinit and sysinit to
    version.lisp-expr like was done back when for make.sh.
Alastair Bridgewater [Mon, 1 Mar 2010 16:32:55 +0000 (16:32 +0000)]
 
1.0.36.10: UD2-BREAKPOINTS for Win32
  * Make UD2-BREAKPOINTS work on Win32.
  * Add :ud2-breakpoints as a feature affecting fasl format, as it
    changes the trap code used in compiled code.
Alastair Bridgewater [Mon, 1 Mar 2010 13:09:00 +0000 (13:09 +0000)]
 
1.0.36.9: UD2-BREAKPOINTS feature for x86oid systems
  * Add new feature UD2-BREAKPOINTS, enabled by default only on x86oid
darwin targets.
  * Use said feature instead of DARWIN for breakpoint trap selection.
  * Make breakpoints work when using UD2-BREAKPOINTS (tested on x86 and
x86-64 linux).
  * This patch brought to you by lp#309067, which remains valid for
three reasons: First, the test case is still disabled.  Second, this
only fixes for x86oids, not for PPC.  And third, I didn't actually test
this on a darwin system.
Nikodemus Siivola [Sun, 28 Feb 2010 20:26:43 +0000 (20:26 +0000)]
 
1.0.36.8: deal with environment argument in TYPEP transforms
 Thanks to Karol Swietlicki.
 Launchpad bug #309788
Nikodemus Siivola [Sun, 28 Feb 2010 19:40:40 +0000 (19:40 +0000)]
 
1.0.36.7: fix SB-C::CLASS-INFO printing
 Launchpad bug #514762
Nikodemus Siivola [Sun, 28 Feb 2010 19:37:09 +0000 (19:37 +0000)]
 
1.0.36.6: array data vector type derivation
 * Needs to be done for ARRAY-STORAGE-VECTOR and %ARRAY-DATA-VECTOR
   in addition to %DATA-VECTOR-AND-INDEX.
 * If the array is simple, we may be able to derive the exact length
   of the data vector, not just the element type.
Nikodemus Siivola [Sun, 28 Feb 2010 19:05:39 +0000 (19:05 +0000)]
 
1.0.36.5: delay transforms for SLOT-VALUE and (SETF SLOT-VALUE)
 Fixes launchpad bug #520366
Nikodemus Siivola [Sun, 28 Feb 2010 18:51:56 +0000 (18:51 +0000)]
 
1.0.36.4: muffle style-warnings for undefined slot writers
 * Reported by Frederik Tolf on sbcl-help.
Nikodemus Siivola [Sun, 28 Feb 2010 17:52:37 +0000 (17:52 +0000)]
 
1.0.36.3: FUNCTION-LAMBDA-EXPRESSION and declarations in interpreted functions
 * Don't throw them away, that is.
 Fixes launchpad bug #524707
Nikodemus Siivola [Sun, 28 Feb 2010 17:37:12 +0000 (17:37 +0000)]
 
1.0.36.2: buglet in LVAR-MATCHES
 * LVAR-USE where it should have been LVAR-USES.
 Fixes launchpad bug #523612.
Alastair Bridgewater [Sun, 28 Feb 2010 17:13:59 +0000 (17:13 +0000)]
 
1.0.36.1: Improve backtrace from THROW to unknown tag on x86oids.
  * Essentially, just fake up another stack frame before hitting the
    error trap.
Christophe Rhodes [Sun, 28 Feb 2010 15:59:05 +0000 (15:59 +0000)]
 
1.0.36: will be tagged as sbcl_1_0_36
Christophe Rhodes [Sat, 27 Feb 2010 16:47:49 +0000 (16:47 +0000)]
 
1.0.35.23: restore buildability on clisp
Problem report and fix from Josh Elasser sbcl-devel 2010-02-16.
Nathan Froyd [Sat, 27 Feb 2010 16:46:05 +0000 (16:46 +0000)]
 
1.0.35.22: fix building on Darwin when sysctl is not in PATH
Thanks to Robert Goldman for the fix.
Nathan Froyd [Sat, 27 Feb 2010 16:43:12 +0000 (16:43 +0000)]
 
1.0.35.21: ANSI-fy random-state seeding changes
Thanks to Fare for redoing his patch.
Nathan Froyd [Sat, 27 Feb 2010 16:22:56 +0000 (16:22 +0000)]
 
1.0.35.20: More robust checking for DEFMETHOD argument specializers
Fixes lp#525916, reported by Reinout Stevens.
Nathan Froyd [Sat, 27 Feb 2010 16:01:21 +0000 (16:01 +0000)]
 
1.0.35.19: fix SB-EXT:GENERATION-* accessors for generation > 0
Add the `lutexes' slot to `struct generation' as defined from Lisp.
Not paying attention to OAOO bites again.  Unfortunately, several things
are still OAOOM...
Nathan Froyd [Mon, 22 Feb 2010 21:54:31 +0000 (21:54 +0000)]
 
1.0.35.18: Fix type-derivation for EXPT
A small thinko in the condition checking for (EXPT <RATIONAL> <RATIONAL>).
Nathan Froyd [Tue, 16 Feb 2010 04:45:25 +0000 (04:45 +0000)]
 
1.0.35.17: micro-optimize x86-64 MOVE-TO-SINGLE
Sometimes we move a descriptor -> float -> stack.  Teach MOVE-TO-SINGLE
how to do descriptor -> stack in one step.
Alastair Bridgewater [Sun, 14 Feb 2010 20:17:36 +0000 (20:17 +0000)]
 
1.0.35.16: Whitespace damage.
Tobias C. Rittweiler [Sat, 13 Feb 2010 01:04:44 +0000 (01:04 +0000)]
 
1.0.35.15: Add and export various functions related to type specifiers.
  * TYPEXPAND-1, TYPEXPAND, TYPEXPAND-ALL work like their MACROEXPAND
    counterparts except that they expand type specifiers.
  * DEFINED-TYPE-NAME-P returns whether a symbol is known to name a
    type specifier.
  * VALID-TYPE-SPECIFIER-P returns whether a (possibly compound) type
    specifier is known, and syntactically / structurally correct. A
    type specifier is valid if it is to be accepted as second argument
    by TYPEP -- except that VALID-TYPE-SPECIFIER-P can also deal with
    FUNCTION and VALUES type specifiers.
  * Export these functions from SB-EXT.
Tobias C. Rittweiler [Sat, 13 Feb 2010 00:12:52 +0000 (00:12 +0000)]
 
1.0.35.14: Remove unused function PRINT-CONTINUATION.
Tobias C. Rittweiler [Thu, 11 Feb 2010 22:11:07 +0000 (22:11 +0000)]
 
1.0.35.12: Minor cleanup in %TARGET-DEFSTRUCT.
  * Minor refactoring: split MAKE-DEFSTRUCT-PREDICATE and
    MAKE-DEFSTRUCT-COPIER out of %TARGET-DEFSTRUCT.
  * Remove FIXME: MAKE-DEFSTRUCT-COPIER now returns a closure which
    type checks its argument for proper layout before passing it to
    COPY-STRUCTURE.
Tobias C. Rittweiler [Thu, 11 Feb 2010 22:04:03 +0000 (22:04 +0000)]
 
1.0.35.12: Add SB-INTROSPECT:FUNCTION-TYPE.
  * New function which takes a function designator and returns the
    function's declared, or derived FTYPE.
Tobias C. Rittweiler [Thu, 11 Feb 2010 18:11:20 +0000 (18:11 +0000)]
 
1.0.35.11: Minor cleanup in MAKE-FUN-TYPE / MAKE-VALUES-TYPE
  * MAKE-FUN-TYPE and MAKE-VALUES-TYPE took an :ARGS key parameter
    to translate from a list type-specifier to a ctype. This
    was used in the type-translators for FUNCTION and VALUES, only.
    So I removed :ARGS, and put that code into those type-translators.
  * Renamed ARGS-TYPES helper function to PARSE-ARGS-TYPES.
Nathan Froyd [Thu, 11 Feb 2010 03:37:26 +0000 (03:37 +0000)]
 
1.0.35.10: d_ino access in SB-POSIX
Thanks to Philipp Marek and Pierre THIERRY for independent, nearly
identical patches.
Nathan Froyd [Thu, 11 Feb 2010 03:26:58 +0000 (03:26 +0000)]
 
1.0.35.9: Add support for non-trivial random seeds
SBCL is using the popular MT19937 PRNG algorithm, but up until now,
was only seeding the initial random state with a 32-bit seed, and
choosing a seed subject to a lot of collisions (a second-precise timer)
when called with (MAKE-RANDOM-STATE T).
This patch adds and documents an SBCL extension to MAKE-RANDOM-STATE
that supports initializing a random-state based on an arbitrary UNSIGNED-BYTE
or a (SIMPLE-ARRAY (UNSIGNED-BYTE 8)). Also supported (but documented as
not officially so) is a (SIMPLE-ARRAY (UNSIGNED-BYTE 32)). Last but not least,
(MAKE-RANDOM-STATE T) will try to initialize the random state by reading
256 bits from /dev/urandom, which should eliminate the collision problem and
make SBCL's PRNG suitable for more applications than before.
Finally, we use in our random-state initialization routines the very same
algorithms that the author of MT19937 recommends in the latest version
of his C source, and we have tested the output to be identical (see
November 2009 discussion in the sbcl-devel mailing-list).
Nathan Froyd [Mon, 8 Feb 2010 17:42:25 +0000 (17:42 +0000)]
 
1.0.35.8: Fix FILE-POSITION on simple-streams after READ-VECTOR
Patch ported from CMUCL; independent testcase that doesn't rely on Unixisms
added instead of the one from CMUCL.
Nathan Froyd [Mon, 8 Feb 2010 16:13:14 +0000 (16:13 +0000)]
 
1.0.35.7: fix docstrings for printing-releated things
This fixes Launchpad bug #518696.
Tobias C. Rittweiler [Sat, 6 Feb 2010 10:30:36 +0000 (10:30 +0000)]
 
1.0.35.6: Fix typo in make-config.sh
on ppc: :stacka-allocatable-lists -> :stack-allocatable-lists
Alastair Bridgewater [Sat, 6 Feb 2010 05:03:13 +0000 (05:03 +0000)]
 
1.0.35.5: Fix backtrace from internal-error on x86-64 OS X.
  * Backtraces from internal-error traps were truncated before reaching
the erring stack frame due to an invalid frame pointer value being set
up in the mach exception handler.  Fixed.
Gabor Melis [Thu, 4 Feb 2010 23:27:00 +0000 (23:27 +0000)]
 
1.0.35.4: fix compilation on chenygc platforms
Thanks to Larry Valkama and Bruce O'Neel.
Tobias C. Rittweiler [Thu, 4 Feb 2010 21:13:04 +0000 (21:13 +0000)]
 
1.0.35.3: Give initial thread function an explicit name..
...for slightly improved backtrace experience.
Tobias C. Rittweiler [Mon, 1 Feb 2010 18:55:13 +0000 (18:55 +0000)]
 
1.0.35.2: Fix CONDITION-WAIT to signal deadline with interrupts enabled.
Tobias C. Rittweiler [Sun, 31 Jan 2010 20:25:30 +0000 (20:25 +0000)]
 
1.0.35.1: Fix CONDITION-WAIT not to signal a deadline twice (LP #512914)
Christophe Rhodes [Sun, 31 Jan 2010 11:10:39 +0000 (11:10 +0000)]
 
1.0.35: will be tagged as sbcl_1_0_35
Christophe Rhodes [Sat, 30 Jan 2010 21:30:50 +0000 (21:30 +0000)]
 
1.0.34.16: Test case for ROUND brokenness
Paul Khuong [Sat, 30 Jan 2010 16:16:13 +0000 (16:16 +0000)]
 
1.0.34.15: Fix DERIVE-TYPE optimizer for %UNARY-ROUND
Handle exclusive bounds conservatively by treating them as inclusive
(instead of dying).
Christophe Rhodes [Thu, 28 Jan 2010 11:36:26 +0000 (11:36 +0000)]
 
1.0.34.14: fix permissions of directories of asdf-using contribs
Report (lp #508485, sbcl-devel variously) and fix from Eugene Ossintsev
Nathan Froyd [Wed, 27 Jan 2010 01:57:12 +0000 (01:57 +0000)]
 
1.0.34.13: add DERIVE-TYPE optimizer for %UNARY-ROUND
This change enables %UNARY-ROUND to be inlined on several platforms.
Nathan Froyd [Wed, 27 Jan 2010 00:45:11 +0000 (00:45 +0000)]
 
1.0.34.12: slightly better code generation for x86-64 float conversions
%{SINGLE,DOUBLE}-FLOAT required an unnecessary temporary stack slot.
Float->integer and float->float conversions also suffered from not being
able to take arguments in stack SCs.
Nathan Froyd [Tue, 26 Jan 2010 15:42:42 +0000 (15:42 +0000)]
 
1.0.34.11: properly inline %UNARY-TRUNCATE/{SINGLE,DOUBLE}-FLOAT
Add DERIVE-TYPE optimizers for them so the compiler can see that VOPs
are applicable.  Add a testcase that should be valid everywhere.
Alastair Bridgewater [Mon, 25 Jan 2010 03:47:20 +0000 (03:47 +0000)]
 
1.0.34.10: New chapter for internals manual.
  * Chapter: Objects In Memory, describing type tags and heap object
layouts.
Cyrus Harmon [Thu, 21 Jan 2010 05:09:43 +0000 (05:09 +0000)]
 
1.0.34.9: darwin/x86-64 sb-posix:stat fixes from Kei Suzuki
* sb-unix:unix-stat/lstat/fstat return the 32bit inode with x86 and
  the 64bit inode with x86-64,
* sb-posix:stat/lstat/fstat get stat values using the old stat calls
  with x86 and the new ones with x86-64
* re-enable now-working sb-posix stat tests
Tobias C. Rittweiler [Wed, 20 Jan 2010 22:51:19 +0000 (22:51 +0000)]
 
1.0.34.8: Cosmetic improvements to error output on compilation abort.
* Make sure that error output is printed on a fresh line.
* Add mandatory newline before and after so the abortion
  stands out visually.
* Make sure to report the actual condition (fatal-compiler-error
  is just an encapsulation.)