sbcl.git
17 years ago1.0.4.18: trap handling cleanup continues
Nikodemus Siivola [Mon, 2 Apr 2007 15:20:39 +0000 (15:20 +0000)]
1.0.4.18: trap handling cleanup continues

 * handle_trap is even better then maybe_handle_trap: if we can't
   handle the trap sanely pass the buck to unhandled_trap_error
   instead of generic signal handling routines.

 * implement Windows trap handling on top of handle_trap, not
   sigtrap_handler: some copy-paste from x86-arch.c later Windows is
   now almost free of the "signal handling" remnants.

 * Replace the bogus lossage messages saying
   "fake_foreign_function_call fell through" with things that actually
   make sense.

17 years ago1.0.4.17: interrupt handler spring cleaning
Nikodemus Siivola [Mon, 2 Apr 2007 13:40:48 +0000 (13:40 +0000)]
1.0.4.17: interrupt handler spring cleaning

 * interrupt_handle_now was always called with the real context, not
   a void context: remove the useless cast. Also fix
   FOREIGN_FUNCTION_CALL_FLAG usage there.

 * low_level_interrupt_handle_now was also always called with the real
   context, not a void context: useless cast is now gone. It also
   needs no FP control restoration or Darwin context fixage.

 * maybe_now_maybe_later and low_level_maybe_now_maybe_later were
   missing the Darwin context fix on one codepath.

 * interrupt_handle_now_handler was missing the FP control fixage.

17 years ago1.0.4.16: some GC and interrupt refactoring
Nikodemus Siivola [Mon, 2 Apr 2007 08:37:36 +0000 (08:37 +0000)]
1.0.4.16: some GC and interrupt refactoring

 * Conditionalize foreign_function_call_active on
   FOREIGN_FUNCTION_CALL_FLAG for clarity, and excice it from x86
   assember code.

 * Rename interrupt_maybe_gc to cheyneygc_handle_wp_violation, and
   move it cheyneygc.c. Don't pretend it is a signal handler, but pass
   in just the context and faulting address it needs.

 * Make gc_trigger_hit to accept the faulting address directly, since
   we already have it handy, and move it to cheneygc.c.

 * Rename interrupt_maybe_gc_int to maybe_gc, and move it to
   gc-common.c. Don't pretend it is a signal handler, but pass in just
   the context it needs.

 * maybe_gc_pending unused, deleted.

 * Only a single bytes_consed_between_gcs declaration, in gc.h.

 * Whitespace.

 No significant functional changes. Tested on x86/GENCGC, PPC/GENCGC,
 and PPC/Cheney.

 ...did you know that stepping is broken on PPC/Cheney but not on
 PPC/GENCGC?

17 years ago1.0.4.15:
Thiemo Seufer [Sun, 1 Apr 2007 19:49:25 +0000 (19:49 +0000)]
1.0.4.15:
Add missing void parameters.

17 years ago1.0.4.14: oops! duplicate definition of print_unknown
Nikodemus Siivola [Sun, 1 Apr 2007 19:40:00 +0000 (19:40 +0000)]
1.0.4.14: oops! duplicate definition of print_unknown
 * ECHERRYPICK.

17 years ago1.0.4.13: refactor trap handling
Nikodemus Siivola [Sun, 1 Apr 2007 19:36:16 +0000 (19:36 +0000)]
1.0.4.13: refactor trap handling

 * All architectures had an essentially identical switch(trap){...}
   for different trap codes. Pull this into a single shared
   handle_trap function, which dispatches to architecture specific
   functions where necessary.

 * Remove unnecessary signal and siginfo arguments from breakpoint
   handling functions and interrupt_internal_error as a tentative step
   towards admitting that POSIX is not the only world out there.

 * Clean up some compiler warnings from the runtime, and a missing
   anti-copyright header.

 * Fix the PPC build... at least on G4 Darwin 10.3: no suseconds_t
   here.

 Tested on x86, x86-64, and PPC. Sparc, MIPS (and Alpha) testing
 needed.

17 years ago1.0.4.12: stale bugs
Nikodemus Siivola [Sat, 31 Mar 2007 10:51:20 +0000 (10:51 +0000)]
1.0.4.12: stale bugs
 * bug 27 has not been observed in ages, and our interrupt handling has
   changed sufficiently since to consider the case closed.
 * bug 78 has ...evolved.
 * bug 256.b has been fixed (test added now.)
 * bug 381 was fixed a while back by MAYBE-CYCLIC-P.

17 years ago1.0.4.11: trivial hash-table cleanup / optimization
Nikodemus Siivola [Sat, 31 Mar 2007 10:12:15 +0000 (10:12 +0000)]
1.0.4.11: trivial hash-table cleanup / optimization

 * Hash table code does lots of AREFs using indexes (* 2 i) and (1+ (* 2 i)),
   where I obviously has to be less then (floor array-dimension-limit 2),
   for which both calculations are known to fit into a fixnum.

 * Define such a type (aka INDEX/2) and use it where appropriate. We
   were already doing this in WITH-HASH-TABLE-ITERATOR, but not
   elsewhere.

17 years ago1.0.4.10: conditionalize bignum-character line writing test
Nikodemus Siivola [Thu, 29 Mar 2007 18:33:34 +0000 (18:33 +0000)]
1.0.4.10: conditionalize bignum-character line writing test
 * Takes too long on 64 bit platforms!

17 years ago1.0.4.9: writing bignum characters onto a single line
Nikodemus Siivola [Thu, 29 Mar 2007 18:08:47 +0000 (18:08 +0000)]
1.0.4.9: writing bignum characters onto a single line
 * FD-STREAM-CHAR-POS can run into bignums. It might be prudent to
   stop incrementing it for stupendously long lines, but this will
   do for now.

17 years ago1.0.4.8:
William Harold Newman [Wed, 28 Mar 2007 17:59:16 +0000 (17:59 +0000)]
1.0.4.8:
"What's old is new again" or "what was he thinking?"
At least in the wisdom of hindsight I can see that my new RANDOM
is not ready for release, so I have reverted it. This
version should be essentially 1.0.4.5 with a new version
number. (It also has an extra, orphaned file in
src/compiler/integer-tran.lisp. When I revisit the
problem later, that should be cleaned up one way or
another, meanwhile I don't feel like deleting it and
then likely recreating it later.)
Sorry about the confusion.:-(

17 years ago1.0.4.7:
William Harold Newman [Wed, 28 Mar 2007 14:32:08 +0000 (14:32 +0000)]
1.0.4.7:
Argh! My shiny new RANDOM-of-INTEGER in 1.0.4.6 was badly broken
for 64-bit CPUs.
Replace RANDOM-CHUNK with %RANDOM-WORD (mostly) or %RANDOM32
(for code which implicitly knows which foo-FLOAT bit
subsequences are <=32 bits).

17 years ago1.0.4.6:
William Harold Newman [Tue, 27 Mar 2007 16:20:38 +0000 (16:20 +0000)]
1.0.4.6:
rewrote RANDOM for INTEGER case to eliminate (small) bias
Alas, it doesn't seem practical to test this properly. (Difficulty
of building a nice test suite seems to be a pervasive
problem for randomized code.) I could write a test case
narrowly targeted to detect the old bug, but I don't
think I could make even that single test simultaneously
fast enough and reliable enough that it would be
a good candidate for run-tests.sh. And aiming at a
more comprehensive set of tests just makes the
making-it-fast-enough problem that much harder.

17 years ago1.0.4.5 slot reader/writer documentation in the manual
Rudi Schlatte [Tue, 27 Mar 2007 05:58:07 +0000 (05:58 +0000)]
1.0.4.5  slot reader/writer documentation in the manual
  * Also remove writers for sb-bsd-sockets:host-ent class slots
  * Thanks to Richard M Kreuter

17 years ago1.0.4.4: simplify JOIN-THREAD interface
Gabor Melis [Mon, 26 Mar 2007 15:30:02 +0000 (15:30 +0000)]
1.0.4.4: simplify JOIN-THREAD interface

17 years ago1.0.4.3: interrupt and GC issues
Nikodemus Siivola [Mon, 26 Mar 2007 10:30:21 +0000 (10:30 +0000)]
1.0.4.3: interrupt and GC issues
 * Add WITHOUT-INTERRUPTS to WITHOUT-GCING.
 * Warn if WITH-INTERRUPTS nested in WITHOUT-GCING.
 * Make sure that SIG_STOP_FOR_GC and SIG_RESUME_FROM_GC are enabled on
   threaded builds before calling into SUB-GC from the runtime.
 * Better WITHOUT-GCING, WITHOUT-INTERRUPTS, and WITH-INTERRUPTS
   documentation.
 * Internals documentation about POSIX signal safety rules.

17 years ago1.0.4.2: really commit darwin sb-posix fixes
Cyrus Harmon [Mon, 26 Mar 2007 02:23:05 +0000 (02:23 +0000)]
1.0.4.2: really commit darwin sb-posix fixes
 * see commit log message for 1.0.4.1. the sb-posix files didn't get
   properly committed.
 * in short, revert sb-posix st_atime, st_mtime, and st_ctime behavior
   to the way it was before I tried to fix things for the
   x86-64/darwin port.

17 years ago1.0.4.1: fix sb-posix atime/mtime/ctime
Cyrus Harmon [Mon, 26 Mar 2007 00:57:09 +0000 (00:57 +0000)]
1.0.4.1: fix sb-posix atime/mtime/ctime
 * st_atime, st_mtime and st_ctime were broken in a perhaps misguided
   attempt to fix these for x86-64 by exposing the timespec struct
   instead of just passing the first time_t (which is really the
   tv_sec field of the struct) as the return value. This patch
   restores the previous behavior. This may cause a regression for
   x86_64/darwin, but we should find a better fix. We should also
   consider removing the wrapped_stat bit and the corresponding C code
   wrapper.

17 years ago1.0.4: release, will be tagged as sbcl_1_0_4
William Harold Newman [Sun, 25 Mar 2007 16:39:54 +0000 (16:39 +0000)]
1.0.4: release, will be tagged as sbcl_1_0_4

17 years ago1.0.3.48: mark JOIN-THREAD as experimental
Gabor Melis [Fri, 23 Mar 2007 16:09:49 +0000 (16:09 +0000)]
1.0.3.48: mark JOIN-THREAD as experimental

17 years ago1.0.3.47: fixed threads tests
Gabor Melis [Wed, 21 Mar 2007 08:26:19 +0000 (08:26 +0000)]
1.0.3.47: fixed threads tests

17 years ago1.0.3.46: De-pessimized x86 sub-byte DATA-VECTOR-SET/* VOPs.
lisphacker [Sun, 18 Mar 2007 23:46:07 +0000 (23:46 +0000)]
1.0.3.46: De-pessimized x86 sub-byte DATA-VECTOR-SET/* VOPs.
  Reduced register usage requirements by one (much needed) register.

17 years ago1.0.3.45: added JOIN-THREAD
Gabor Melis [Sun, 18 Mar 2007 19:30:25 +0000 (19:30 +0000)]
1.0.3.45: added JOIN-THREAD

Implementation by NIIMI Satoshi. Added more docstrings and changed the
interface according to the styling advice of Thomas F. Burdick.

17 years ago1.0.3.44: x86-64 print vop preserves 16-byte stack alignment
Cyrus Harmon [Sun, 18 Mar 2007 17:36:55 +0000 (17:36 +0000)]
1.0.3.44: x86-64 print vop preserves 16-byte stack alignment
 * rework the x86-64 print (really should be debug-print or some such)
   to preserve 16-byte stack alignment. This was breaking
   x86-64/darwin sb-show builds.

17 years ago1.0.3.43: Restore manual autobuildability
Andreas Fuchs [Sun, 18 Mar 2007 01:57:45 +0000 (01:57 +0000)]
1.0.3.43: Restore manual autobuildability

Adding a dependency of ../../output/sbcl.core in the manual's Makefile goes
against the ability of specifying the SBCL_SYSTEM to the build process. This
change should restore the old behavior.

17 years ago1.0.3.42: two LOOP buglets
Nikodemus Siivola [Sun, 18 Mar 2007 00:06:52 +0000 (00:06 +0000)]
1.0.3.42: two LOOP buglets
 * Avoid bogus package-lock violations from LOOP, don't declare types
   for special variables in COMMON-LISP. Reported by Eric Marsen on
   sbcl-devel.
 * Avoid attempts to coerce loop variable initialization values to
   range-limited types. Reported by Andras Simon on sbcl-devel.

17 years ago1.0.3.41:
Nathan Froyd [Sat, 17 Mar 2007 21:24:59 +0000 (21:24 +0000)]
1.0.3.41:
Use a local variable for %%CURRENT-{VOP,SEGMENT}%% rather than a
  dynamic variable; eliminates spurious BOUNDP checks and
  generates smaller code for VOP emitters.  Saves ~170k on core
  size on x86-64/linux.

17 years ago1.0.3.40: :EXECUTABLE T implies --noinform
Juho Snellman [Fri, 16 Mar 2007 03:57:08 +0000 (03:57 +0000)]
1.0.3.40: :EXECUTABLE T implies --noinform

        * Patch from Kevin Reid.
* Not the right solution. This can be revisited once somebody
          implements the mythical saving of command-line parameters into the
          core.
        * Also check in some fixes to the build process of the manual (patch
          by Richard Kreuter).

17 years ago1.0.3.39: larger heap size for x86-64/darwin
Cyrus Harmon [Thu, 15 Mar 2007 15:14:15 +0000 (15:14 +0000)]
1.0.3.39: larger heap size for x86-64/darwin
 * removed darwin specific params for space locations.
 * modify gettimeofday of call on darwin x86-64 to not pass in a
   timezone pointer as this causes the gettimeofday syscall to
   occasionally fail. This is a temporary hack and should be fixed.

17 years ago1.0.3.38: record bug #411, disable NAN-COMPARISONS test on x86-64
Nikodemus Siivola [Mon, 12 Mar 2007 12:04:14 +0000 (12:04 +0000)]
1.0.3.38: record bug #411, disable NAN-COMPARISONS test on x86-64
 ...avaiting the attention of x86-64 hackers...

17 years ago1.0.3.37: Oops, fix bad argument types in the new x86-64 modular arithmetic VOPs
Juho Snellman [Thu, 8 Mar 2007 18:09:32 +0000 (18:09 +0000)]
1.0.3.37: Oops, fix bad argument types in the new x86-64 modular arithmetic VOPs

17 years ago1.0.3.36: Don't fail on timeout on contrib/sb-simple-streams tests.
sa2c [Thu, 8 Mar 2007 11:12:21 +0000 (11:12 +0000)]
1.0.3.36: Don't fail on timeout on contrib/sb-simple-streams tests.

Timeout may occur on the restricted systems (e.g. FreeBSD with
jail(8) or blackhole(4) is used) when connecting to even localhost.

17 years ago1.0.3.35: fix problem with backtraces showing NIL as the function name
Juho Snellman [Wed, 7 Mar 2007 05:20:27 +0000 (05:20 +0000)]
1.0.3.35: fix problem with backtraces showing NIL as the function name

        * Reported by Edi Weitz
        * Might also fix the debug.impure failures that some people have
          reported on BSDs

17 years ago1.0.3.34:
Nathan Froyd [Wed, 7 Mar 2007 02:12:56 +0000 (02:12 +0000)]
1.0.3.34:
Make (SETF C-STRING->LISP-STRING) substantially faster and cons less.

17 years ago1.0.3.33: sb-bsd-sockets fixes for x86-64/darwin
Cyrus Harmon [Tue, 6 Mar 2007 23:26:32 +0000 (23:26 +0000)]
1.0.3.33: sb-bsd-sockets fixes for x86-64/darwin
 * add gethostbyname2 (#+darwin)
 * make ai_addrlen be a socklen_t (#+darwin)
 * turn off :sb-bsd-sockets-addrinfo on x86-64/darwin as this seems
   to be broken
 * workaround gethostbyname length bug by alllowing length 4 or 8
   on x86-64 darwin

17 years ago1.0.3.32: make-local-alien stack alignment simplification
Cyrus Harmon [Tue, 6 Mar 2007 18:29:54 +0000 (18:29 +0000)]
1.0.3.32: make-local-alien stack alignment simplification
 * treat x86-64/darwin stack like x86-64/linux rather than x86/darwin
 * remove stack-pointer saving vops as we don't need to save and
   restore the stack in order to preserve 16-byte alignment as the
   stack should already be 16-byte aligned

17 years ago1.0.3.31: fix new = and /= transformations for NaNs
Nikodemus Siivola [Mon, 5 Mar 2007 16:58:26 +0000 (16:58 +0000)]
1.0.3.31: fix new = and /= transformations for NaNs
 * (= nan nan) is false, and (/= nan nan) is true, as pointed out by
   CSR.
 * More tests.

17 years ago1.0.3.30: More compact typechecks on x86-64
Juho Snellman [Mon, 5 Mar 2007 00:57:52 +0000 (00:57 +0000)]
1.0.3.30: More compact typechecks on x86-64

        * Patch by Lutz Euler

17 years ago1.0.3.29: kill a bogus "variable defined but not used" warning in FORMATTER
Juho Snellman [Sun, 4 Mar 2007 23:52:39 +0000 (23:52 +0000)]
1.0.3.29: kill a bogus "variable defined but not used" warning in FORMATTER

17 years ago1.0.3.28: handle output for fatal-compiler-errors more consistently
Juho Snellman [Sun, 4 Mar 2007 23:47:58 +0000 (23:47 +0000)]
1.0.3.28: handle output for fatal-compiler-errors more consistently

* Format the output like it's done for other errors / warnings
        * Output to *error-output*
        * Output unconditionally regardless of the value of *compiler-verbose*

17 years ago1.0.3.27: disable test for get-host-by-name for non-existing hosts
Juho Snellman [Sun, 4 Mar 2007 23:42:32 +0000 (23:42 +0000)]
1.0.3.27: disable test for get-host-by-name for non-existing hosts

* Many people have DNS setups where this test will always fail.

17 years ago1.0.3.26: port modular-xor/fixnum changes from x86 to x86-64
Juho Snellman [Sun, 4 Mar 2007 23:39:34 +0000 (23:39 +0000)]
1.0.3.26: port modular-xor/fixnum changes from x86 to x86-64

* Code like (logand most-positive-fixnum (logxor (the fixnum x)
                                                         (the fixnum y))
          would end up with a full call to SB-VM::LOGXOR-MOD64.

17 years ago1.0.3.25: freebsd sb-bsd-sockets fixes
Cyrus Harmon [Sat, 3 Mar 2007 20:53:15 +0000 (20:53 +0000)]
1.0.3.25: freebsd sb-bsd-sockets fixes
 * SO_NO_CHECK doesn't exist on freebsd. Make this #-freebsd.
 * EAI-ADDRFAMILY and EAI-NODATA are deprecated and don't exist on
   freebsd. Make these #-freebsd.

17 years ago1.0.3.24: remove win32 alien-timeval
Cyrus Harmon [Sat, 3 Mar 2007 20:19:26 +0000 (20:19 +0000)]
1.0.3.24: remove win32 alien-timeval
 * remove alien-timeval struct defintion
 * make define-protocol-class timeval be #-win32

17 years ago1.0.3.23: fix sb-posix timeval struct
Cyrus Harmon [Sat, 3 Mar 2007 18:58:48 +0000 (18:58 +0000)]
1.0.3.23: fix sb-posix timeval struct
 * add timeval struct for #+win32 and use long instead of suseconds_t

17 years ago1.0.3.22: fix with-pinned-object buglets
Cyrus Harmon [Sat, 3 Mar 2007 18:28:43 +0000 (18:28 +0000)]
1.0.3.22: fix with-pinned-object buglets
 * on ppc types and variables were unused, which was causing a warning
   which was getting promoted to an error. make them ignorable.
 * #+(or x86 x86-64) -> #!+(or x86 x86-64) which should help building
   from non sbcl hosts.
 * also fix indentation in timeval struct definition

17 years ago1.0.3.21: suseconds_t -> long on win32
Cyrus Harmon [Sat, 3 Mar 2007 17:52:46 +0000 (17:52 +0000)]
1.0.3.21: suseconds_t -> long on win32
 * suseconds_t doesn't exist on win32, so use long instead

17 years ago1.0.3.20: better SEARCH transform
Nikodemus Siivola [Sat, 3 Mar 2007 17:21:58 +0000 (17:21 +0000)]
1.0.3.20: better SEARCH transform

 * Better type declarations for index variables -- fixes the
   performance regression in BENCH-STRINGS from the NaN-comparison
   changes.

 * Extend the transform to work with general vectors, arbitrary :TEST and
   :KEY, and constant but arbitrary :FROM-END.

 * Tests.

17 years ago1.0.3.19: the count argument in DOTIMES is known to be an integer
Nikodemus Siivola [Sat, 3 Mar 2007 10:49:26 +0000 (10:49 +0000)]
1.0.3.19: the count argument in DOTIMES is known to be an integer
 * Declaring it as such for the non-constant expansion of dotimes
   allows the inversion of >= to < kick in for the termination test.

17 years ago1.0.3.18: Fix build on FreeBSD/amd64
sa2c [Sat, 3 Mar 2007 07:19:36 +0000 (07:19 +0000)]
1.0.3.18: Fix build on FreeBSD/amd64

17 years ago1.0.3.17: fix x86-64-assem.S build
Cyrus Harmon [Sat, 3 Mar 2007 06:24:38 +0000 (06:24 +0000)]
1.0.3.17: fix x86-64-assem.S build
 * on darwin, use GSYM(GNAME(all_threads)),%rax, on linux use
   GNAME(all_threads). This is isn't the cleanest fix, but it should
   restore buildability while I work out a proper fix.

17 years ago1.0.3.16: experimental x86-64/darwin suport
Cyrus Harmon [Sat, 3 Mar 2007 00:42:01 +0000 (00:42 +0000)]
1.0.3.16: experimental x86-64/darwin suport
 * fix sb-posix time structs to match headers on darwin
 * comment out mtime sb-posix test as this isn't working ATM
 * add UD2A trap stuff to x86-64 and corresponding word-imm support
 * remove bogus extern-alien-name in boxed_region fixups
 * add compiler parameters for Darwin
 * add x86-64 darwin config file
 * some type safety fixes (proper types) in darwin-dlshim.c
 * use setpgid on Darwin
 * add signal context support x86-64/darwin
 * report trap instead of si_code for trap_Error/trap_Cerror
 * unsigned -> unsigned long in purify.c
 * add mach exception handler support for x86-64/darwin
 * x86-64 assembly hacks to make darwin's assembler happy
 * update x86-64-bsd-os.c to suppot darwin and mach exceptions
 * add x86-64-darwin-os.c/h
 * update LDSO stubs for x86-64 darwin

17 years ago1.0.3.15: timeval tv-usec should be suseconds-t not time-t
Cyrus Harmon [Fri, 2 Mar 2007 22:43:43 +0000 (22:43 +0000)]
1.0.3.15: timeval tv-usec should be suseconds-t not time-t
 * add suseconds-t to grovel-headers
 * fix timeval struct such that tv-usec is a suseconds-t instead of time-t
 * fix whitespace

17 years ago1.0.3.14: fix print_obj on x86-64
Cyrus Harmon [Fri, 2 Mar 2007 17:52:55 +0000 (17:52 +0000)]
1.0.3.14: fix print_obj on x86-64
 * debugging code in print_obj was hardcoded to use 3-bit lowtags.
   Now it's hardcoded to use appropriate 4-bit lowtags on x86-64.
 * Added a fixme about how this should be fixed properly at some point.

17 years ago1.0.3.13: working NaN comparison tests outside Darwin
Nikodemus Siivola [Fri, 2 Mar 2007 17:03:09 +0000 (17:03 +0000)]
1.0.3.13: working NaN comparison tests outside Darwin
 * Other platforms have invalid operation traps normally in effect.

17 years ago1.0.3.13: "Oops"
Juho Snellman [Fri, 2 Mar 2007 06:08:37 +0000 (06:08 +0000)]
1.0.3.13: "Oops"

17 years ago1.0.3.12: Use the interpreter when creating functions for undeclared aliens
Juho Snellman [Fri, 2 Mar 2007 05:05:32 +0000 (05:05 +0000)]
1.0.3.12: Use the interpreter when creating functions for undeclared aliens

          * No sense in invoking the compiler, since the functions will
            just be discarded after one use.
          * Undeclared aliens should no longer be hideously expensive

17 years ago1.0.3.11: Fix deportation gc safety bug
Juho Snellman [Fri, 2 Mar 2007 04:35:58 +0000 (04:35 +0000)]
1.0.3.11: Fix deportation gc safety bug

          * Pin objects that are deported by taking a SAP to a GCd object
          * In some cases the object that the SAP is taken to isn't actually
            EQ to the one that was deported -> split deportation into
            separate alien-type-class-methods for the allocation and the
            actual deportation.
          * Don't do pinning on non-x86oids, since we can't really disable
            the GC during all alien calls.

17 years ago1.0.3.10: Add -D_REENTRANT to Solaris CFLAGS
Juho Snellman [Fri, 2 Mar 2007 03:16:31 +0000 (03:16 +0000)]
1.0.3.10: Add -D_REENTRANT to Solaris CFLAGS

         * Otherwise localtime_r in time.c won't be found.
         * Problem and solution reported by Thomas Burdick.

17 years ago1.0.3.9: Allow characters as string designators for SHADOW
Juho Snellman [Fri, 2 Mar 2007 02:02:01 +0000 (02:02 +0000)]
1.0.3.9: Allow characters as string designators for SHADOW

         * Patch by Eric Marsden

17 years ago1.0.3.8: Use an explicit :initial-element 0 when making sset storage vectors
Juho Snellman [Fri, 2 Mar 2007 01:37:08 +0000 (01:37 +0000)]
1.0.3.8: Use an explicit :initial-element 0 when making sset storage vectors

         * Would cause build failures with clisp and abcl
         * Patch by Peter Graves

17 years ago1.0.3.7: Compile XEPs using the policy from the correct environment
Juho Snellman [Fri, 2 Mar 2007 01:33:13 +0000 (01:33 +0000)]
1.0.3.7: Compile XEPs using the policy from the correct environment

         * Didn't matter before the fop-compiler function handling changes.

17 years ago1.0.3.6: Make sb-bsd-sockets use getaddrinfo/getnameinfo where available
Juho Snellman [Fri, 2 Mar 2007 00:59:07 +0000 (00:59 +0000)]
1.0.3.6: Make sb-bsd-sockets use getaddrinfo/getnameinfo where available

         * Generally thread-safe functions (though not on OS X) unlike
           gethostbyaddr/gethostbyname.
         * The interfaces are not totally compatible (e.g. no aliases data
           available, different error codes, etc). Try to make this change as
           transparent as possible.
         * Clean up old CMUCL compability cruft
         * Delete the obsolete documentation generator
         * Add a little extra documentation on the name-service to the manual

17 years ago1.0.3.5: slightly different SEQUENCE type handling.
Christophe Rhodes [Wed, 28 Feb 2007 16:05:57 +0000 (16:05 +0000)]
1.0.3.5: slightly different SEQUENCE type handling.
The UNION TYPE= issue affects type derivation as in
(defun foo (x)
          (declare (type (simple-array character) x))
          (subseq x 1 2))
        where the system fails to derive that the intersection of
consed-sequence and (simple-array character) is distinct from
consed-sequence.  Change SEQUENCE to be an explicit union of
LIST, VECTOR and an EXTENDED-SEQUENCE named type, defining
appropriate type methods, and the symptom (but not the cause)
goes away.

(Note: it may well be that the EXTENDED-SEQUENCE named type
disappears again, to be replaced by an actual protocol class
similar to FUNDAMENTAL-STREAM for Gray streams, for reasons of
future extensibility and ease of compatibility with other Lisps.
        Waiting for ILC feedback...)

17 years ago1.0.3.4: make-target-2.lisp split into compile and dump phases.
Andreas Fuchs [Wed, 28 Feb 2007 13:01:58 +0000 (13:01 +0000)]
1.0.3.4: make-target-2.lisp split into compile and dump phases.

* Split make-target-2.lisp into make-target-2.lisp and
  make-target-2-load.lisp, reducing unnecessary state that was kept around.
  Not keeping symbols that were interned during the compilation of PCL
  saves us 400kB on x86 and between 1MB and 1.5MB on x86_86.
* Unintern symbols that are internal to CL-USER before dumping the core.
  This doesn't save any space; just removes confusion.

17 years ago1.0.3.3:
Christophe Rhodes [Wed, 28 Feb 2007 12:56:26 +0000 (12:56 +0000)]
1.0.3.3:
Make the #=/## reader macro work on funcallable instances.

17 years ago1.0.2:
William Harold Newman [Tue, 27 Feb 2007 23:25:38 +0000 (23:25 +0000)]
1.0.2:
logged bug

17 years ago1.0.3.1: fix behaviour of >= and <= with NaNs
Nikodemus Siivola [Tue, 27 Feb 2007 21:57:12 +0000 (21:57 +0000)]
1.0.3.1: fix behaviour of >= and <= with NaNs

 * Problem: (>= (/ 0.0 0.0) 1.0) evaluates to true.

   Move inversion from >= to < and from <= to > from the source
   transformations to new deftransforms, and make it conditional on
   the derived type, avoiding the inversion for potential floats.

   This fixes the NaN issues with >= and <=, but exposes gaps in our
   transformations for =, causing a constraint propagation test to
   fail...

 * Tweak the deftransform for = so that another transformation can
   co-exist with it.

   Write INTERVAL-= and INTERVAL-/=, and deftransforms for = and /=
   based on them.

   This fixes the constant propagation issue, except for the bug it
   exposes elsewhere...

 * INTERVAL-INTERSECTION/DIFFERENCE returns bogus intersections -- fix
   it.

   ...and all is well.

 * Tests.

 * NUMERIC-TYPE-OR-LOSE is unused, deleted.

 * Also fix tests/stream.impure.lisp for UTF-8 environments.

17 years ago1.0.3:
William Harold Newman [Tue, 27 Feb 2007 20:03:42 +0000 (20:03 +0000)]
1.0.3:
release, will be tagged as sbcl_1_0_3

17 years ago1.0.2.27:
William Harold Newman [Thu, 22 Feb 2007 20:14:13 +0000 (20:14 +0000)]
1.0.2.27:
fixed thinko in man page (thanks to Trent Buck and Zach Beane)

17 years ago1.0.2.26: replace *all-components* special with a local variable
Nikodemus Siivola [Mon, 19 Feb 2007 11:55:51 +0000 (11:55 +0000)]
1.0.2.26: replace *all-components* special with a local variable
 * Was used only in COMPILE-TOPLEVEL where it was also bound.

17 years ago1.0.2.25: Better MUFFLE-CONDITIONS handling for inlined functions
Juho Snellman [Tue, 13 Feb 2007 07:40:38 +0000 (07:40 +0000)]
1.0.2.25: Better MUFFLE-CONDITIONS handling for inlined functions

* Inherit MUFFLE-CONDITIONS from the call-site
          lexenv. Otherwise it's basically impossible to selectively
          muffle "alien runtime allocation" notes, at least for
          SB-GROVELed alien functions.

17 years ago1.0.2.24: Support readlink in SB-POSIX
Juho Snellman [Mon, 12 Feb 2007 03:43:11 +0000 (03:43 +0000)]
1.0.2.24: Support readlink in SB-POSIX

        * Thanks to Richard M Kreuter

17 years ago1.0.2.23: Clean up handling SB-POSIX functions with runtime wrappers
Juho Snellman [Mon, 12 Feb 2007 03:20:39 +0000 (03:20 +0000)]
1.0.2.23: Clean up handling SB-POSIX functions with runtime wrappers

        * Thanks to Richard M Kreuter

17 years ago1.0.2.22: Minor NetBSD changes
Juho Snellman [Mon, 12 Feb 2007 03:12:40 +0000 (03:12 +0000)]
1.0.2.22: Minor NetBSD changes

        * Use gtar as the tar in asdf-install (thanks to Jon Buller)
        * Fix bashism in make-target-contrib.sh (thanks to Magnus Henoch)

17 years ago1.0.2.21:
Nathan Froyd [Wed, 7 Feb 2007 19:12:42 +0000 (19:12 +0000)]
1.0.2.21:
Make ASH VOPs use 'LEA <reg>, [<reg>+<reg>]' instead of
  'LEA <reg>, [<reg>*2]' on x86 and x86-64, resulting in
  shorter code.

17 years ago1.0.2.20:
Nathan Froyd [Wed, 7 Feb 2007 18:35:54 +0000 (18:35 +0000)]
1.0.2.20:
Fix parenthetical typo.

17 years ago1.0.2.19: Fix fopcompiling references to undefined variables
Juho Snellman [Tue, 6 Feb 2007 18:24:55 +0000 (18:24 +0000)]
1.0.2.19: Fix fopcompiling references to undefined variables

        * While undefined, this should be handled the same way in the compiler
          and the fopcompiler
        * Signal a warning, use the symbol-value of the slot
        * Reported by Gregory Vanuxem on sbcl-devel

17 years ago1.0.2.18:
Christophe Rhodes [Tue, 6 Feb 2007 15:51:14 +0000 (15:51 +0000)]
1.0.2.18:
Whoops.  Add the new files for the PPC/NetBSD port, from
Aymeric Vincent.

17 years ago1.0.2.17: Bypass the hairy AREF transform for simple arrays
Juho Snellman [Tue, 6 Feb 2007 08:11:17 +0000 (08:11 +0000)]
1.0.2.17: Bypass the hairy AREF transform for simple arrays

* To improve compilation speed for array-heavy code

17 years ago1.0.2.16: Replace SVREF with DATA-VECTOR-REF in %INSTANCE-TYPEP deftransform
Juho Snellman [Tue, 6 Feb 2007 06:12:07 +0000 (06:12 +0000)]
1.0.2.16: Replace SVREF with DATA-VECTOR-REF in %INSTANCE-TYPEP deftransform

* Since the SVREF is compiled with SAFETY 0, it'd eventually get
          transformed to exactly the same thing, but going through several
          heavy intermediate stages.
        * Big compilation speed improvement for code that uses structs.

17 years ago1.0.2.15: Cache the results of BLOCK-PHYSENV during lifetime analysis
Juho Snellman [Tue, 6 Feb 2007 05:51:30 +0000 (05:51 +0000)]
1.0.2.15: Cache the results of BLOCK-PHYSENV during lifetime analysis

* Fetching the home-lambda of a block (needed in
          BLOCK-PHYSENV) can be an expensive operation under some
          circumstances, and it needs to be done a lot during lifetime
          analysis when compiling with high DEBUG (e.g. 30% of the
          total compilation time for CL-PPCRE with DEBUG 3 just for
          that).

17 years ago1.0.2.14: Speed up constraint propagation
Juho Snellman [Tue, 6 Feb 2007 05:24:13 +0000 (05:24 +0000)]
1.0.2.14: Speed up constraint propagation

        * Rewrite ADD-EQL-VAR-VAR-CONSTRAINT to do a constant number of
          passes over the constraint set, rather than an amount proportional
          to the amount of EQL constraints on the variables in question.
        * Use SSET-MEMBER directly in CONSTRAIN-REF-TYPE, rather than
          a COPY-SSET and SSET-INTERSECTION.

17 years ago1.0.2.13: Use an sset for LAMBDA-CALLS-OR-CLOSES
Juho Snellman [Tue, 6 Feb 2007 05:06:37 +0000 (05:06 +0000)]
1.0.2.13: Use an sset for LAMBDA-CALLS-OR-CLOSES

        * Used to be an unsorted list (often long) and PUSHNEW / NUNION

17 years ago1.0.2.12: New hash-based implementation of ssets
Juho Snellman [Tue, 6 Feb 2007 04:48:36 +0000 (04:48 +0000)]
1.0.2.12: New hash-based implementation of ssets

        * The old version that used sorted lists had bad worst case performance,
          which was especially noticeable with constraint propagation on
          hairy functions.
        * Use yet another custom hash implementation (with open addressing
          and double hashing), since the standard hash-tables are too heavy
          for this (e.g. locking overhead, memory consumption).
        * An sset implementation based on balanced trees was also tested,
          but in practice turned out to be even slower than the sorted lists,
          due to the high
        * DO-SSET-ELEMENTS no longer iterates in SSET-ELEMENT-NUMBER order,
          but we don't seem to rely on the old behaviour anywhere.

17 years ago1.0.2.11:
Christophe Rhodes [Mon, 5 Feb 2007 07:23:40 +0000 (07:23 +0000)]
1.0.2.11:
NetBSD/PPC support (from Aymeric Vincent sbcl-devel 2007-01-18).

17 years ago1.0.2.10:
Nathan Froyd [Mon, 5 Feb 2007 03:58:32 +0000 (03:58 +0000)]
1.0.2.10:
Delete a pile of unused bignum code.

17 years ago1.0.2.9:
Nathan Froyd [Mon, 5 Feb 2007 03:47:01 +0000 (03:47 +0000)]
1.0.2.9:
Micro-optimizations to the bignum code: use LOGTEST and LOGBITP
  where appropriate.

17 years ago1.0.2.8:
Christophe Rhodes [Sun, 4 Feb 2007 16:26:47 +0000 (16:26 +0000)]
1.0.2.8:
Two slightly improved comments relating to the extensible
sequences checked in in the 1.0.0 series.

17 years ago1.0.2.7: Darwin/MacOS threading improvements
Cyrus Harmon [Fri, 2 Feb 2007 19:26:23 +0000 (19:26 +0000)]
1.0.2.7: Darwin/MacOS threading improvements

    * use LOCK_CREATE_THREAD on MacOS/Darwin too
    * add new mach_exception_lock and grab this lock when handling
      exceptions
    * fix signal mask restoring logic (I think...)
    * restore float state in addition to thread state when done
      handling an emulated signal

17 years ago1.0.2.6:
Nathan Froyd [Mon, 29 Jan 2007 21:24:11 +0000 (21:24 +0000)]
1.0.2.6:
*sigh* Fix #+sb-unicode builds.

17 years ago1.0.2.5:
Nathan Froyd [Mon, 29 Jan 2007 20:38:40 +0000 (20:38 +0000)]
1.0.2.5:
Fix DATA-VECTOR-{REF,SET}-WITH-OFFSET for #-sb-unicode builds.

17 years ago1.0.2.4: Improve inlined array heap allocation on x86.
Nathan Froyd [Mon, 29 Jan 2007 18:30:24 +0000 (18:30 +0000)]
1.0.2.4: Improve inlined array heap allocation on x86.
...allow IMMEDIATE SCs to ALLOCATE-VECTOR-ON-HEAP;
...use shorter instructions to set the widetag.

Cuts a couple of pages off of sbcl.core.

17 years ago1.0.1.3:
Nathan Froyd [Sun, 28 Jan 2007 19:58:54 +0000 (19:58 +0000)]
1.0.1.3:
Fix two buglets in MAKE-EA-FOR-FLOAT-REF.

17 years ago1.0.2.2:
Nathan Froyd [Sat, 27 Jan 2007 03:57:20 +0000 (03:57 +0000)]
1.0.2.2:
Delete a few spurious debugging FORMATs.

17 years ago1.0.2.1: DATA-VECTOR-{REF,SET}-WITH-OFFSET for the x86
Nathan Froyd [Sat, 27 Jan 2007 03:45:45 +0000 (03:45 +0000)]
1.0.2.1: DATA-VECTOR-{REF,SET}-WITH-OFFSET for the x86

Compile calls of (AREF FOO (+ INDEX <constant>) more efficiently:
... turn DATA-VECTOR-{REF,SET} into
  DATA-VECTOR-{REF,SET}-WITH-OFFSET when the element type of FOO
  is at least 8 bits wide;
... introduce general mechanism for optimization of such calls;
... redo the x86 DATA-VECTOR-FOO VOPs, reducing the number of such
  VOPs in the process;
... do the same for BIGNUM-REF and SAP-REF-FOO.

Upshot: 5-10% increase in performance on array-heavy code such
  as Ironclad; a 20% increase in performance has been observed
  on cellular automata codes.  Some restrictions apply; see the
  KLUDGE in src/compiler/generic/vm-tran for an example.

17 years ago1.0.2:
William Harold Newman [Thu, 25 Jan 2007 15:51:34 +0000 (15:51 +0000)]
1.0.2:
release, will be tagged as sbcl_1_0_2

17 years ago1.0.1.35: propagate (EQL X Y) constraints symmetrically
Gabor Melis [Tue, 23 Jan 2007 16:04:53 +0000 (16:04 +0000)]
1.0.1.35: propagate (EQL X Y) constraints symmetrically
  After an (EQL X Y) test both X and Y shall inherit the constraints
  of the other. Thanks to jsnell for spotting this.

17 years ago1.0.1.34: quote fix for old cpp
sa2c [Sun, 21 Jan 2007 03:48:23 +0000 (03:48 +0000)]
1.0.1.34: quote fix for old cpp
fix build with gcc 2.95.

17 years ago1.0.1.33: Better forward reference handling in WITH-COMPILATION-UNIT ...
Juho Snellman [Fri, 19 Jan 2007 01:55:46 +0000 (01:55 +0000)]
1.0.1.33: Better forward reference handling in WITH-COMPILATION-UNIT ...

        * ... for the case where a forward reference is made during
          compilation, and the referenced function is loaded from a
          pre-existing fasl while still inside the same compilation unit.
          (Reported by Jeremy Brown).
        * Tests.