Richard M Kreuter [Fri, 26 Dec 2008 14:19:06 +0000 (14:19 +0000)]
 
1.0.23.68: Cleanups in constraint propagation.
* Three changes here:
(1) Have the conset's min slot always be a fixnum.  The min and max
    slots should now conform to CL sequence bounding index idioms.
(2) Update the extrema in parallel, rather than in sequence, in the
    conset-union, -intersection, -difference.
(3) Remove some noise from conset-intersection that probably included
    an off-by-one error.
* Fixes a bug reported by Tobias C. Rittweiler on sbcl-devel.
Thiemo Seufer [Thu, 25 Dec 2008 20:36:19 +0000 (20:36 +0000)]
 
1.0.23.67: Fix MIPS FIXED-ALLOC VOP.
  * No observable change in behaviour. Apparently nothing ever allocates
    a non-pointer referenced object via this code path.
Thiemo Seufer [Tue, 23 Dec 2008 14:10:23 +0000 (14:10 +0000)]
 
1.0.23.66: Calculate array sizes in a more reliable way.
  * The old implementation depended on the array header size being
    an even number of words.
  * Also, another micro-optimization for MIPS.
Thiemo Seufer [Tue, 23 Dec 2008 00:52:13 +0000 (00:52 +0000)]
 
1.0.23.65: MIPS runtime micro-optimization.
Nikodemus Siivola [Mon, 22 Dec 2008 13:38:04 +0000 (13:38 +0000)]
 
1.0.23.64: fixed bug 395
 * Add support for base-strings in fill-pointer output streams.
 * Also fix a bug revealed by this change in derivation of
   ARRAY-ELEMENT-TYPE return type.
Nikodemus Siivola [Mon, 22 Dec 2008 12:00:24 +0000 (12:00 +0000)]
 
1.0.23.63: WITH-HASH-TABLE-ITERATOR lambda-list beautification
 * Iterator lambda-list name is NAME, not FUNCTION, which was a bit
   confusing since it is bound to a macro.
 * Thanks to Tobias Rittweiler.
Nikodemus Siivola [Mon, 22 Dec 2008 10:50:35 +0000 (10:50 +0000)]
 
1.0.23.62: fix bug 357
 Originally reported by Bruno Haible, more recently by Stephen Wilson.
 * SHARED-INITIALIZE (SLOT-OBJECT) should not check structure slots
   versus +SLOT-UNBOUND+: uninitialized slots are zeroed. Since adding
   slots to structure classes cannot cause those slots to be added to
   structure instances, we don't really have to check for boundness at
   all.
 * SB-PCL::STRUCTURE-TYPE-SLOT-DESCRIPTION-LIST and
   SB-PCL::MAKE-STRUCTURE-CLASS-DEFSTRUCT-FORM did not take overridden
   slot specifications into account, and the latter also omitted
   initform and type information.
 * Delete SB-PCL::ALLOCATE-STRUCTURE-INSTANCE, unused.
 * ALLOCATE-INSTANCE (STRUCTURE-OBJECT) should not fall back on
   ALLOCATE-STANDARD-INSTANCE.
Thiemo Seufer [Sun, 21 Dec 2008 17:55:18 +0000 (17:55 +0000)]
 
1.0.23.62: Micro-optimization for MIPS' SYMBOL-HASH VOP.
  * MIPS sucks now less.
Nikodemus Siivola [Sun, 21 Dec 2008 15:03:11 +0000 (15:03 +0000)]
 
1.0.23.61: tweak concurrent hash-table access check
 * Moves the with-concurrent-access-check inside the body where
   the lock is already held. Patch by Attila Lendvai.
 * Fix various attributions in NEWS, caught by TCR.
Nikodemus Siivola [Sun, 21 Dec 2008 09:51:01 +0000 (09:51 +0000)]
 
1.0.23.60: fix bug 354: XEPs in backtraces, properly this time
 * Don't terminate the block in MAYBE-TERMINATE-BLOCK even if the node
   is a call to a function that never returns if it is also the tail
   end of a XEP -- this allows TCO to deal with the XEP.
 * More stale bugs:
   ** 143 -- cannot replicate, interrupt handling has been robustified
      and partially redesigned since than, so confidence that this is
      really gone is reasonably high.
   ** 238 -- has gotten fixed at some point.
Nikodemus Siivola [Fri, 19 Dec 2008 19:00:01 +0000 (19:00 +0000)]
 
1.0.23.59: bug 3b has been fixed a while now
 * Test case added.
Nikodemus Siivola [Fri, 19 Dec 2008 18:03:09 +0000 (18:03 +0000)]
 
1.0.23.58: bug 405 has been fixed a while now
 * Fixed as of 1.0.19.32.
Nikodemus Siivola [Fri, 19 Dec 2008 16:14:58 +0000 (16:14 +0000)]
 
1.0.23.57: rewrite bug 217
 * Case A is a non-issue. SBCL interprets "unpredictable but harmless"
   to mean "anything, but heap will no be corrupted, data lost, etc"
   -- that is, an error may or may not be signalled, but it the lisp
   session will remain sane and operable.
 * Case B is negated by the portability argument: since specifying both
   is unspecified, we should not build useful-seeming extensions on top
   of it, as it will only create portability problems for users.
 * Case C remains partially valid, except for the runtime WARNINGs.
   Integrated into the new text.
Nikodemus Siivola [Fri, 19 Dec 2008 15:20:43 +0000 (15:20 +0000)]
 
1.0.23.56: special variables cause special cases in CLOS cleverness
 * As we cannot reliably ensure nothing calls SET or (SETF
   SYMBOL-VALUE) on the special variable, we need to disable
   optimizations perutation vector optimizations for them.
 * For the same reason we cannot implicitly declare types for even
   local specials in DEFMETHODs.
 * Delete bug 276: the issue it refers to was fixed back when we
   stopped inserting declarations for special variables.
Nikodemus Siivola [Fri, 19 Dec 2008 13:46:34 +0000 (13:46 +0000)]
 
1.0.23.55: three stale bugs
 * 332, 369, 380: added test-cases which pass.
Nikodemus Siivola [Thu, 18 Dec 2008 20:41:57 +0000 (20:41 +0000)]
 
1.0.23.54: compiler-macros for WRITE and WRITE-TO-STRING
 * The common use-cases have only constant keywords, but due to the
   way they are defined inlining doesn't really help -- so do it with
   compiler-macros, which bind only those specials specified in the
   call.
Nikodemus Siivola [Thu, 18 Dec 2008 20:39:38 +0000 (20:39 +0000)]
 
1.0.23.53: FORMAT performance tweaking 2
 * Rearrange FORMAT-FIXED and open code guts of FORMAT-FIXED-AUX for
   both single and double-float cases, gaining ~5% speedup for ~F.
Nikodemus Siivola [Thu, 18 Dec 2008 11:56:47 +0000 (11:56 +0000)]
 
1.0.23.52: FORMAT performance tweaking
 * Handle plain ~D using explicitly bindings and OUTPUT-OBJECT to
   avoid paying for WRITE keyword argument parsing.
 * Compile format control strings when SPEED = SPACE.
 * Always transform FORMAT calls when the second argument is a
   function -- trying to save space there doesn't make much sense.
Nikodemus Siivola [Thu, 18 Dec 2008 10:48:21 +0000 (10:48 +0000)]
 
1.0.23.51: wrong return value from READ-SEQUENCE :START on file streams
 * Regression since 1.0.12.22.
 * Reported by Daniel Herring, patch by Paul Huong.
 * Also tweak the "write a line with bignum characters test" to run a bit faster.
Thiemo Seufer [Thu, 18 Dec 2008 00:53:15 +0000 (00:53 +0000)]
 
1.0.23.50: Less magic constants in the MIPS backend.
Thiemo Seufer [Wed, 17 Dec 2008 20:36:18 +0000 (20:36 +0000)]
 
1.0.23.49: Eliminate FCN as function moniker.
Nikodemus Siivola [Wed, 17 Dec 2008 17:34:17 +0000 (17:34 +0000)]
 
1.0.23.48: REPL recovers from *READ-SUPPRESS* T with a warning
 * Reported by Daniel Herring.
Nikodemus Siivola [Wed, 17 Dec 2008 17:12:57 +0000 (17:12 +0000)]
 
1.0.23.47: binaries built on now Leopard run on Tiger as well
 * -mmacosx-version-min=10.4 needed in LINKFLAGS as well.
Thiemo Seufer [Wed, 17 Dec 2008 14:43:26 +0000 (14:43 +0000)]
 
1.0.23.46: Remove redundant uses of zero-tn in the MIPS backend.
Thiemo Seufer [Wed, 17 Dec 2008 14:42:15 +0000 (14:42 +0000)]
 
1.0.23.45: Remove superfluous register :offsets in the MIPS backend.
Thiemo Seufer [Wed, 17 Dec 2008 14:39:28 +0000 (14:39 +0000)]
 
1.0.23.44: Nicer code for MIPS, lifted from the SPARC backend.
  * Add some :note annotations.
  * Kill a few magic constants.
Thiemo Seufer [Wed, 17 Dec 2008 14:36:11 +0000 (14:36 +0000)]
 
1.0.23.43: More consistent coding style for mips/array.lisp
Nikodemus Siivola [Tue, 16 Dec 2008 16:37:07 +0000 (16:37 +0000)]
 
1.0.23.42: don't grab *WORLD-LOCK* in CLASSOID-TYPEP
 * A shoddy bandaid to make Slime less prone to deadlock against the
   compiler when using :SPAWN.
 * Proper fix is to be much, much more principled about grabbing the
   *WORLD-LOCK* in the compiler: we should only ever grab it in places
   where we cannot end up calling arbitary user code while holding
   it.
Nikodemus Siivola [Mon, 15 Dec 2008 09:40:07 +0000 (09:40 +0000)]
 
1.0.23.41: fix DX-COMBINATION-P
 * Punt on multiple result-uses. Reported by Pascal Costanza and
   Thiemo Seufer.
 * Also check for clean arg flow all cases.
Nikodemus Siivola [Sat, 13 Dec 2008 10:52:07 +0000 (10:52 +0000)]
 
1.0.23.40: export page sizes to C with LU suffix
 * Rename GENCGC-PAGE-SIZE and *BACKEND-PAGE-SIZE* to
   GENCGC-PAGE-BYTES and *BACKEND-PAGE-BYTES* respectively.
 * Clean up constant.h generation: instead of guessing when to add an
   U suffix, specify when the value is "large", and then add an LU
   suffix.
 * Without the LU suffix some C compilers chose to truncate results of
   some operations where these quantities featured, leading at least
   to an upper limit of #xffff0000 bytes in dynamic space on certain
   64 bit systems.
Nikodemus Siivola [Fri, 12 Dec 2008 15:51:28 +0000 (15:51 +0000)]
 
1.0.23.39: Red Hat Enterprise 3 mmap randomization workaround
 * Patch by Thomas Burdick: RHEL 3 suffers from the randomized mmap
   nonesense, and reports kernel version 2.4.21. With the attached
   patch, it SBCL runs correctly on these machines.
Nikodemus Siivola [Fri, 12 Dec 2008 13:05:23 +0000 (13:05 +0000)]
 
1.0.23.38: fix bug 430 (stack alloc by nested defstruct constructors)
 * Mark lambdas introduced by the compiler as such, so that
   LAMBDA-SYSTEM-LAMBDA-P returns true for them.
 * Allow USE-GOOD-FOR-DX-P to inspect COMBINATIONs with CLAMBDA
   functionals: if the return value of the function always originates
   from a known DX-capable combination, and the arguments of the
   original combination are used only by the DX-capable combination,
   consider the original combination good for DX.
 * Allow USE-GOOD-FOR-DX-P to inspect REFs to LAMBDA-VARs: if the var
   is bound by a system lambda, has no other refs, is never set, gets
   its value from a single-value combination, and the LVAR it gets its
   value from is good for DX ... then the REF is good for DX as well.
 * HANDLE-NESTED-DYNAMIC-EXTENT-LVARS handles REFs as well by
   recursing on the lvar the REF gets its value from.
Nikodemus Siivola [Fri, 12 Dec 2008 12:27:00 +0000 (12:27 +0000)]
 
1.0.23.37: more CLOS and classoid thread safety
 * Rename *BIG-COMPILER-LOCK* as *WORLD-LOCK*.
 * Use it to protect classoids, layouts/wrappers, obsolete instance
   updating, etc.
 * Rename sevaral functions which assume their callers are holding the
   lock to have % prefix. Perhaps we should have a separate prefix
   convention for "requires called to lock"? Or a nifty macro layer?
   (Actually there are probably places where read/write locks (or
   STM!)  would be a win...)
 * ENSURE-CLASS-USING-CLASS needs to set up type translations only
   while PCL is being build.
 * DEFCLASS and ENSURE-CLASS-USING-CLASS are now expected to be thread
   safe.
 * Test-case for parallel defclass and make-instance.
Nikodemus Siivola [Fri, 12 Dec 2008 10:57:52 +0000 (10:57 +0000)]
 
1.0.23.36: typecheck :ALLOCATION :CLASS slot initforms in safe code
 * Initforms for shared slots are not applied at make-instance, but at
   class definition time. (See CLHS 4.3.6 and 7.1.) Reported by Didier
   Verna.
Nikodemus Siivola [Fri, 12 Dec 2008 10:55:34 +0000 (10:55 +0000)]
 
1.0.23.35: CLOS tweaking
 * Muffle undefined function style-warning for slot-accessors. The
   slot-accessor name is an internal detail, and defining functions
   accessing slots before classes with such slots are defined is fine.
 * Don't double-fetch slot-definition-initfunction in
   SHARED-INITIALIZE (SLOT-OBJECT).
 * Don't double-fetch various slot-definition properties in
   COMPUTE-EFFECTIVE-SLOT-DEFINITION-INITARGS, and declare
   type-check-functions as functions.
Thiemo Seufer [Thu, 11 Dec 2008 20:38:32 +0000 (20:38 +0000)]
 
1.0.23.34: A nicer register dump for ldb.
Thiemo Seufer [Thu, 11 Dec 2008 20:28:13 +0000 (20:28 +0000)]
 
1.0.23.33: Stack-allocatable vectors for MIPS.
Thiemo Seufer [Thu, 11 Dec 2008 20:26:00 +0000 (20:26 +0000)]
 
1.0.23.32: Flush icache for MIPS alien callback stub.
Thiemo Seufer [Wed, 10 Dec 2008 22:11:51 +0000 (22:11 +0000)]
 
1.0.23.31: NFP is not a descriptor-reg.
Thiemo Seufer [Wed, 10 Dec 2008 22:09:59 +0000 (22:09 +0000)]
 
1.0.23.30: Don't export storage class names.
Thiemo Seufer [Wed, 10 Dec 2008 22:07:06 +0000 (22:07 +0000)]
 
1.0.23.29: Specify the required double-stack alignment for MIPS.
Thiemo Seufer [Wed, 10 Dec 2008 22:04:13 +0000 (22:04 +0000)]
 
1.0.23.28: defconstant -> def!constant in the MIPS backend.
Thiemo Seufer [Wed, 10 Dec 2008 22:01:07 +0000 (22:01 +0000)]
 
1.0.23.27: Less magic constants in the MIPS backend.
Nikodemus Siivola [Fri, 5 Dec 2008 13:47:37 +0000 (13:47 +0000)]
 
1.0.23.26: AMOPly correct defaulting of direct superclasses
  "The class standard-object is the default direct superclass of the
  class standard-class. When an instance of the class standard-class
  is created, and no direct superclasses are explicitly specified, it
  defaults to the class standard-object."
  "The same is true for funcallable-standard-class and
  funcallable-standard-object."
  * Add :DEFAULT-INITARGS to that effect.
Nikodemus Siivola [Fri, 5 Dec 2008 13:22:50 +0000 (13:22 +0000)]
 
1.0.23.25: better errors for bogus RECURSIVE-P in reader
 * When RECURSIVE-P was true in a non-recursive context, we used to
   signal an unbound-variable error. Now signal a sensible
   reader-error instead.
 * Patch by Tobias Rittweiler. Also apologies for constant mistyping
   of his name: mentally s/Ritter/Ritt/ in historical commit
   messages...
Nikodemus Siivola [Fri, 5 Dec 2008 13:16:21 +0000 (13:16 +0000)]
 
1.0.23.24: fix bad test for ARRAY-STORAGE-VECTOR
 * How many problems can a trivial change have? Moral: don't do manual
   cherry-picking. It always goes wrong.
Nikodemus Siivola [Fri, 5 Dec 2008 12:58:51 +0000 (12:58 +0000)]
 
1.0.23.23: properly rename SIMPLE-ARRAY-VECTOR to ARRAY-STORAGE-VECTOR
 * Missed package-data-list.lisp-expr from last commit.
Nikodemus Siivola [Fri, 5 Dec 2008 11:31:39 +0000 (11:31 +0000)]
 
1.0.23.22: rename SIMPLE-ARRAY-VECTOR to ARRAY-STORAGE-VECTOR
 * Allow fething the underlying vector of any non-displaced array.
Thiemo Seufer [Fri, 5 Dec 2008 07:01:39 +0000 (07:01 +0000)]
 
1.0.23.21: Stack allocated conses for MIPS.
Nikodemus Siivola [Thu, 4 Dec 2008 19:02:08 +0000 (19:02 +0000)]
 
1.0.23.20: check for standard readtable modification
 * CLHS says that frobbing the standard readtable is undefined.
 * Patch by Tobias Ritterweiler.
Nikodemus Siivola [Thu, 4 Dec 2008 18:50:24 +0000 (18:50 +0000)]
 
1.0.23.19 deja vu
 (missing version.lisp-expr update for last commit)
Nikodemus Siivola [Thu, 4 Dec 2008 18:18:22 +0000 (18:18 +0000)]
 
1.0.23.19: cosmetic reader changes
 * Patch by Tobias Ritterweiler, slightly mangled by yours truly.
    ** Convert macros to functions.
    ** Remove various FIXMEs.
    ** Update comments.
Nikodemus Siivola [Thu, 4 Dec 2008 16:50:14 +0000 (16:50 +0000)]
 
1.0.23.18: SET-[DISPATCH-]MACRO-CHARACTER fixes
 * Patch by Tobias Ritterweiler, plus tests and making S-D-M-C return T.
Nikodemus Siivola [Thu, 4 Dec 2008 10:01:04 +0000 (10:01 +0000)]
 
1.0.23.17: new function: SIMPLE-ARRAY-VECTOR
 * For users to extract the underlying vector from a multidimensional
   array. Warn about implementation-detail nature of this.
 * Add Miscellaneuous Extensions section to Beyond ANSI chapter in the
   manual.
Nikodemus Siivola [Wed, 3 Dec 2008 16:31:10 +0000 (16:31 +0000)]
 
1.0.23.16: more generic assembly op optimizations on x86 and x86-64
 * Cleanup: replace bunch of magic numbers with fixnum-tag-mask and
   n-fixnum-tag-bits.
 * More cases of "one test to check both argument types against fixnum".
 * Use CMOV where appropriate. (Thanks to Vitaly Mayatskikh)
Nikodemus Siivola [Wed, 3 Dec 2008 13:13:07 +0000 (13:13 +0000)]
 
1.0.23.15: GET-MUTEX to set new mutex owner unithreaded platforms
 * Can't believe no-one has complained about this...
Nikodemus Siivola [Tue, 2 Dec 2008 19:15:30 +0000 (19:15 +0000)]
 
1.0.23.14: fix CheyneyGC build
 * Tested on PPC/Darwin.
Nikodemus Siivola [Tue, 2 Dec 2008 17:43:34 +0000 (17:43 +0000)]
 
1.0.23.13: missing declaration from Cheyney GC port (broken by recent GC changes)
 * Thanks to Larry Valkama
Nikodemus Siivola [Tue, 2 Dec 2008 09:43:23 +0000 (09:43 +0000)]
 
1.0.23.12: release checklist
 * From WHN via CSR & kreuter.
Paul Khuong [Tue, 2 Dec 2008 04:36:13 +0000 (04:36 +0000)]
 
1.0.23.11: Typecheck late-bound calls too
 * Ensures that the compiler can't be confused into IR2 converting
   bad `late-bound' calls like (funcall 'cons 1).
   Reported by madnificient on #lisp
Nikodemus Siivola [Mon, 1 Dec 2008 20:08:52 +0000 (20:08 +0000)]
 
1.0.23.10: allocate code objects using allocation CODE_PAGE_FLAG
 (Code and data separation 5.)
 * CODE_PAGE_FLAG == BOXED_PAGE_FLAG|UNBOXED_PAGE_FLAG, which may or
   may not be better then having a separate bit for it -- but seemed
   easier to implement and doesn't seem too horrible.
 * Define page predicates instead of manually open coding things all
   over the place. Also a convenient way to make sure we catch all the
   places where == needs to be changed to & when checking for boxed
   pages, etc.
 * trans_code_header keeps code objects on code pages.
 * Take separated code pages into account when pinning: since
   code-objects live on their own pages, we get most of the accuracy
   benefit of the scanning by just checking for code_page_p.
   Similarly, there is no need to do a full scan unless
   is_lisp_pointer is true.
Nikodemus Siivola [Mon, 1 Dec 2008 20:01:39 +0000 (20:01 +0000)]
 
1.0.23.9: extend pa_alloc to accept a page_type_flag
 (Code and data separation 4/5.)
 * Define alloc() and pa_alloc() in terms of a new function,
   general_alloc(), which accepts a page_type_flag.
   Guts of old alloc() are now called general_alloc_internal(), called
   by general_alloc() after selecting the region to use, and locking
   if using a non-thread-local region.
Nikodemus Siivola [Mon, 1 Dec 2008 19:51:22 +0000 (19:51 +0000)]
 
1.0.23.8: factor out similar code from gc_alloc_large and gc_alloc_update_page_tables
 (Code and data separation 3/5.)
 * New functions: generation_alloc_start_page and set_generation_alloc_start_page.
Nikodemus Siivola [Mon, 1 Dec 2008 19:41:06 +0000 (19:41 +0000)]
 
1.0.23.7: introduce page type flags
 (Code and data separation 2/5.)
 * Use page_type_flag instead of unboxed/boxed booleans in
   gc_find_freeish_pages, gc_alloc_new_region, gc_alloc_large,
   gc_alloc_with_region, and gc_alloc_update_page_tables.
 * Similarly use page_type_flag instead of unboxed/boxed boolean in
   gc_general_alloc. Also make it static inline on GENCGC platforms,
   and move to gc-internal.h (since the page_type_flag is constant in
   every call by inlining we get rid of the branch to select the
   region, whoopee.)
Nikodemus Siivola [Mon, 1 Dec 2008 19:32:33 +0000 (19:32 +0000)]
 
1.0.23.6: move code-object allocation to C side on x86 and x86-64
 (Code and data separation 1/5.)
 * Replace VOPs with alloc_code in alloc.c.
Richard M Kreuter [Mon, 1 Dec 2008 17:35:36 +0000 (17:35 +0000)]
 
1.0.23.5: Make sb-grovel's generated files not need it at runtime.
Nikodemus Siivola [Mon, 1 Dec 2008 15:44:41 +0000 (15:44 +0000)]
 
1.0.23.4: fix error signalling from (SETF FILL-POINTER)
 * Thanks to Stas Boukarev.
Nikodemus Siivola [Mon, 1 Dec 2008 15:32:21 +0000 (15:32 +0000)]
 
1.0.23.3: faster generic arithmetic dispatch on x86 and x86-64
 * Single branch to check if both arguments are fixnums, rerorder fixnum branch to
   be the fallthru.
Nikodemus Siivola [Mon, 1 Dec 2008 15:28:35 +0000 (15:28 +0000)]
 
1.0.23.2: STRING->UTF8 did not handle the start argument correctly
 * Thank to Luis Oliveira.
Nikodemus Siivola [Mon, 1 Dec 2008 15:25:36 +0000 (15:25 +0000)]
 
1.0.23.1: declaring the type of a bound variable gives :DECLARED as LEAF-WHERE-FROM
 * Makes SB-CLTL2 do the right thing with local declarations. Reported
   by Larry D'Anna.
Richard M Kreuter [Mon, 1 Dec 2008 15:04:33 +0000 (15:04 +0000)]
 
1.0.23: release, will be tagged as sbcl_1_0_23.
Nikodemus Siivola [Mon, 1 Dec 2008 07:40:08 +0000 (07:40 +0000)]
 
1.0.22.22: (SETF FIND-CLASSOID) to drop DEFTYPE lambda-lists and source-locations
 * Going in despite the freeze, as this is a regression of sorts as of
   1.0.22.8.
 * Don't store early source-locations for defined types: use
   WITH-SOURCE-LOCATION to ensure we convert them to proper
   source-locations.
 Thanks to Tobias Ritterweiler for the heads-up.
Richard M Kreuter [Mon, 1 Dec 2008 03:26:24 +0000 (03:26 +0000)]
 
1.0.22.21: Fix return value from DEFTYPE, broken in 1.0.22.20.
Richard M Kreuter [Sun, 30 Nov 2008 20:37:22 +0000 (20:37 +0000)]
 
1.0.22.20: Make a stab at having DEFTYPE types replace structure types.
* Probably a still bit wrong around the edges, but seems to work.
Richard M Kreuter [Mon, 24 Nov 2008 15:56:11 +0000 (15:56 +0000)]
 
1.0.22.19: Canonicalize whitespace in .asd files.
Gabor Melis [Fri, 14 Nov 2008 14:07:46 +0000 (14:07 +0000)]
 
1.0.22.18: select() and EAGAIN
On at least x86 linux 2.6.26 select() can return EAGAIN under load. I
guess this is what the commit message of 1.0.21.8 refers to as "what
happens in the wild" as EAGAIN is not mentioned in the select man
page.
Brian Mastenbrook [Fri, 7 Nov 2008 15:01:36 +0000 (15:01 +0000)]
 
1.0.22.17: fix cross-compile from CMUCL 19e
Brian Mastenbrook [Wed, 5 Nov 2008 03:46:46 +0000 (03:46 +0000)]
 
1.0.22.16: mkdtemp is unimplemented on Solaris
 * ... so don't fail SB-POSIX tests because it's not there.
Nikodemus Siivola [Tue, 4 Nov 2008 18:56:27 +0000 (18:56 +0000)]
 
1.0.22.15: 16 byte align assembly routines on x86 and x86-64
 * Modern processors like it that way, and x86-64 was mostly there
   already.
 * Also fix a stupid typo in bug 419.
Brian Mastenbrook [Mon, 3 Nov 2008 21:44:31 +0000 (21:44 +0000)]
 
1.0.22.14: fix a bug in PPC alien function calls
 * On SVR4 ABI systems (Linux and NetBSD), fix a bogus situation where
   the proper alignment would not be set when a SAP is passed before a
   long long argument.
Nikodemus Siivola [Mon, 3 Nov 2008 18:09:38 +0000 (18:09 +0000)]
 
1.0.22.13: fixed bug 426: nested inline expansion failure
 * In RECOGNIZE-KNOWN-CALL, if an inline function has already been
   converted in the component, replace the REF-LEAF with the
   functional.
 * Test cases.
Nikodemus Siivola [Mon, 3 Nov 2008 17:23:35 +0000 (17:23 +0000)]
 
1.0.22.12: fix DEFTYPE regression revealed by ansi tests
 * DEFTYPE body can be empty.
Nikodemus Siivola [Mon, 3 Nov 2008 15:11:53 +0000 (15:11 +0000)]
 
1.0.22.11: name *pcl-lock*
 * For your debugging pleasure.
Nikodemus Siivola [Mon, 3 Nov 2008 14:33:27 +0000 (14:33 +0000)]
 
1.0.22.10: detect infinite recursion during wrapper validation
 * Patch by Attila Lendvai. ...still hoping for a test-case, so this
   could be fixed properly.
Nikodemus Siivola [Mon, 3 Nov 2008 14:19:33 +0000 (14:19 +0000)]
 
1.0.22.9: SB-INTROSPECT regression from 1.0.22.8
 * Don't signal an error if no TYPE exists when FIND-DEFINITION-SOURCES-BY-NAME
   is called with :TYPE as the second argument.
Nikodemus Siivola [Mon, 3 Nov 2008 13:34:32 +0000 (13:34 +0000)]
 
1.0.22.8: DEFTYPE tweaking
 * If the expansion is a quoted contant, T, or NIL use a closure as
   the expander instead of compiling a separate expander.
 * When using a closure as above, save the source location separately.
 * Use the space saved to the store the DEFTYPE lmabda-list, and make
   DESCRIBE report it.
Richard M Kreuter [Fri, 31 Oct 2008 20:47:40 +0000 (20:47 +0000)]
 
1.0.22.7: Update to ASDF 1.130
* Includes fix for circular dependency detection.
Nikodemus Siivola [Fri, 31 Oct 2008 18:12:44 +0000 (18:12 +0000)]
 
1.0.22.6: some ANSI-STREAM cleanups & micro-optimization
 * Make WRITE-LINE dispatch on the type of the stream only once -- not
   for both writing the string and the newline separately.
 * ANSI-STREAM-WRITE-LINE checks the START and END parameters, so
   callers of %WRITE-LINE don't need to.
 * Remove some redundant type checks from WRITE-LINE and WRITE-STRING
   code paths.
 * SB-IMPL::INDENTING-STREAM was unused, delete it. (Note: update your
   Slime!)
Nikodemus Siivola [Fri, 31 Oct 2008 16:57:36 +0000 (16:57 +0000)]
 
1.0.22.5: teach DISASSEMBLE about %METHOD-FUNCTIONs
 * Disassemble both the %METHOD-FUNCTION object itself, and the
   associated fast-function.
 * Clarify the disassembler output slightly by prepending it with
   ; disassembly for <function name>.
Nikodemus Siivola [Fri, 31 Oct 2008 12:52:46 +0000 (12:52 +0000)]
 
1.0.22.4: symbol macros and type declarations in PCL
* When PCL walks the method body, doing permutation vector
   optimizations, take into account type declarations for symbol
   macros, to get the benefit of the declaration in
   (WITH-SLOTS (X) OBJECT ... (DECLARE (FIXNUM X)) ... (FOO X) ...)
   which currently happens only in DEFUN, where permuation vector
   optimizations do not occur.
Nikodemus Siivola [Fri, 31 Oct 2008 12:46:10 +0000 (12:46 +0000)]
 
1.0.22.3: use EQ instead of EQL to check *GC-EPOCH*
Nikodemus Siivola [Fri, 31 Oct 2008 12:43:44 +0000 (12:43 +0000)]
 
1.0.22.2: optimize output under *PRINT-PRETTY*
 * Don't construct the pretty stream when it is not needed.
Gabor Melis [Fri, 31 Oct 2008 09:56:15 +0000 (09:56 +0000)]
 
1.0.22.1: run-sbcl.sh improvements
- make run-sbcl.sh executable
- don't require it to be started from the top of the source dir
... so that "~/sbcl/run-sbcl.sh" is a drop in replacement for "sbcl".
Richard M Kreuter [Thu, 30 Oct 2008 21:58:46 +0000 (21:58 +0000)]
 
1.0.22: release, will be tagged sbcl_1_0_22.
Nikodemus Siivola [Thu, 30 Oct 2008 14:47:42 +0000 (14:47 +0000)]
 
1.0.21.38: lisp-side %ASIN, %ACOS, %SINH, %TANH, and %HYPOT
 * For Win32 build robustness: on some toolchains asin &co were not
   getting linked to the runtime as we'd like to.
   Caveat: %HYPOT is stupid about under/overflows unlike hypot().
Brian Mastenbrook [Wed, 29 Oct 2008 16:09:27 +0000 (16:09 +0000)]
 
1.0.21.37:
  Use /**/ instead of ## to concatenate symbols on PPC/Darwin
Richard M Kreuter [Tue, 28 Oct 2008 21:49:41 +0000 (21:49 +0000)]
 
1.0.21.36: Fix a bug in one path through RUN-PROGRAM.
* Ensure that the template buffer for sb_mkstemp is null-terminated.
Nikodemus Siivola [Mon, 27 Oct 2008 16:01:09 +0000 (16:01 +0000)]
 
1.0.21.35: fix build / SAVE-LISP-AND-DIE on non-GENCGC platforms
 * Move back SAVE outside the WHEN in SAVE-LISP-AND-DIE. Thanks to
   Bruce O'Neel.
Gabor Melis [Tue, 21 Oct 2008 14:41:59 +0000 (14:41 +0000)]
 
1.0.21.34: fix build on x86/x86-64 lutex platforms
Gabor Melis [Mon, 20 Oct 2008 12:05:21 +0000 (12:05 +0000)]
 
1.0.21.33: fix lack of null termination bug in mk{d,s}temp