Alastair Bridgewater [Sat, 3 Apr 2010 00:42:24 +0000 (00:42 +0000)]
1.0.37.29: Cleanup from fasl format and fasdump logic changes.
* Bump fasl format version.
* Remove fop-normal-load and fop-maybe-cold-load now that they're not
used.
* Remove *cold-load-dump* logic, now that it's not used.
* Remove various fop-normal-load-related logic from genesis.
Alastair Bridgewater [Sat, 3 Apr 2010 00:41:50 +0000 (00:41 +0000)]
1.0.37.28: Remove fop-normal-load games when dumping stuff.
* Layouts, fixup-kinds, and assembly-routine names are named by
interned symbols, which genesis now knows how to read with cold-fops.
Alastair Bridgewater [Sat, 3 Apr 2010 00:41:04 +0000 (00:41 +0000)]
1.0.37.27: Add new named-package FOPs for simpler package fasdumping.
* A new cloned-fop pair, fop-named-package-save and
fop-small-named-package-save, taking an inlined string and doing the
package lookup, save to fasl-table, etc.
* Defined in genesis as new clone-cold-fop pair, as genesis needs host
package objects in its fasl table.
* Package references now dumped using the new fop pair, instead of
faffing about with switching between cold and normal loads, dumping the
package name, dumping a fop-package and dumping fop-pop.
* Old fop-package retained for use by the fopcompiler.
Alastair Bridgewater [Sat, 3 Apr 2010 00:40:26 +0000 (00:40 +0000)]
1.0.37.26: Remove FASL-DUMP-COLD-LOAD-FORM and its one use.
* Used in one place, when doing the assembly pass over the
assembly-routine source, to dump an in-package form.
* Said in-package form is useless, as symbols are only ever dumped in
relation to an explicit home package, not the current package.
Alastair Bridgewater [Sat, 3 Apr 2010 00:39:25 +0000 (00:39 +0000)]
1.0.37.25: Defer interning symbols to cold-core as long as possible.
* Don't cold-intern symbols in cold-load-symbol.
* Use host symbols NIL and T for fop-empty-list and fop-truth.
* Do cold-intern symbols-as-value in write-wordindexed.
* Warm-fun-name of a symbol is the symbol itself, modulo uncrossing
packages (SB-XC -> COMMON-LISP).
* Type declaration fixups to allow passing symbols as well as
descriptors in some places.
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.