Nikodemus Siivola [Fri, 2 Jan 2009 11:14:27 +0000 (11:14 +0000)]
1.0.24.2: CONSTANTP aware GET-SETF-EXPANDER
* Or rather GET-SETF-METHOD-INVERSE -- check for constant arguments,
which don't need to be rebound. This allows compiler macros for
SETF-functions to see their constant arguments.
* This exposes a small thinko in ACCESSOR-VALUES-INTERNAL (something
gets optimized during PCL build which wasn't before): EARLY-P there
doesn't mean the method is early.
Gabor Melis [Thu, 1 Jan 2009 20:50:41 +0000 (20:50 +0000)]
1.0.24.1: Reading from a TWO-WAY-STREAM need not flush the output stream.
In fact, it unnecessarily complicates writing thread-safe code as
readers and writers access the output stream concurrently.
Christophe Rhodes [Wed, 31 Dec 2008 13:27:21 +0000 (13:27 +0000)]
1.0.24: release, will be tagged as sbcl_1_0_24
Also, include build fix for sparc (Juho Snellman / Bruce O'Neel
sbcl-devel 30-12-2008) and mark test :throw :no-such-tag as failing on
x86/linux and x86-64/linux (because they do for me).
Nikodemus Siivola [Wed, 31 Dec 2008 11:44:37 +0000 (11:44 +0000)]
1.0.23.72: missing NEWS entries for this month
* Also add fill-column to modeline.
Nikodemus Siivola [Wed, 31 Dec 2008 09:51:47 +0000 (09:51 +0000)]
1.0.23.71: fix overlapping spaces on OpenBSD
* Patch by Josh Elsasser. Going is despite the freeze since
overlapping spaces are just plain broken.
* Also mark THROW NO-SUCH-TAG failing on OpenBSD.
Richard M Kreuter [Fri, 26 Dec 2008 18:33:56 +0000 (18:33 +0000)]
1.0.23.70: Add a keyword to DIRECTORY to suppress symlink resolution.
* Contributed by TC-Rucho.
Richard M Kreuter [Fri, 26 Dec 2008 15:43:25 +0000 (15:43 +0000)]
1.0.23.69: Add docstrings to SB-BSD-SOCKETS:SOCKET-MAKE-STREAM.
* Contributed by Robert Goldman.
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".