sbcl.git
18 years ago0.9.5.53:
Juho Snellman [Thu, 13 Oct 2005 00:01:36 +0000 (00:01 +0000)]
0.9.5.53:
        More merging. SAVE-LISP-AND-DIE defaults to not purifying on
        GENCGC platforms.

18 years ago0.9.5.52:
Juho Snellman [Wed, 12 Oct 2005 23:53:47 +0000 (23:53 +0000)]
0.9.5.52:
        More merging. Make non-purified cores suck less.

        * Do a non-conservative GC when saving a core without purifying.
        * Save critical bits of the page table in the core, to allow
          picking up the core without walking through the whole core.
        * The dynamic section of a core is picked up into a special
          non-collected generation (currently called "pseudo static"
          in the source, but I'm not attached to that name).
        * #ifdef out some fixup code that's not needed on x86-64.
        * Refactor save.c a bit.

18 years ago0.9.5.51:
Juho Snellman [Wed, 12 Oct 2005 21:42:48 +0000 (21:42 +0000)]
0.9.5.51:
        Start merging some safe and uncontroversial changes from from
        gencgc-pagetable-branch. Hopefully once all of the safe changes
        has been merged, taking care of the remaining changes will be
        less daunting.

        Cleanups, should cause no functional changes.

        * Add typedefs for indices into the generation/page tables for
          clarity and to ease changing their sizes later. Use these
          consistently in gencgc.c.
        * Change some suspicious 'unsigned's to 'unsigned long's.
        * Define logical names for the various special generations, instead
          of using NUM_GENERATIONS [- 1, + 0, + 1].
        * Rename update_x86_dynamic_space_free_pointer() to
          update_dynamic_space_free_pointer().

18 years ago0.9.5.50:
Christophe Rhodes [Wed, 12 Oct 2005 16:44:24 +0000 (16:44 +0000)]
0.9.5.50:
Fix for type-intersection2 failed aver (nikodemus on #lisp)
... actually I think the aver is just wrong.

18 years ago0.9.5.49:
Thiemo Seufer [Wed, 12 Oct 2005 15:12:17 +0000 (15:12 +0000)]
0.9.5.49:
Add mips-specific ugliness to stat(2) wrapper handling.

18 years ago0.9.5.48:
Thiemo Seufer [Wed, 12 Oct 2005 15:08:18 +0000 (15:08 +0000)]
0.9.5.48:
Linux/MIPS uses "unsigned long" instead of dev_t in struct stat.

18 years ago0.9.5.47: minor INSPECT & DESCRIBE improvements
Nikodemus Siivola [Wed, 12 Oct 2005 12:35:31 +0000 (12:35 +0000)]
0.9.5.47: minor INSPECT & DESCRIBE improvements
 * INSPECT on closures should not display the closure itself.
 * Refactor DESCRIBE to use %CLOSURE-VALUES too, and clean up printing of the
   source form when from lisp.
 * Amend bug 33 to reflect current state of affairs.

18 years ago0.9.5.46: threads
Gabor Melis [Wed, 12 Oct 2005 12:18:59 +0000 (12:18 +0000)]
0.9.5.46: threads
  * sig_stop_for_gc_handler: sigwaitinfo returns a value for a reason,
    use it
  * removed obsolete, failing test

18 years ago0.9.5.45: COMPUTE-RESTARTS with :TEST & no condition
Nikodemus Siivola [Wed, 12 Oct 2005 11:11:56 +0000 (11:11 +0000)]
0.9.5.45: COMPUTE-RESTARTS with :TEST & no condition
 * COMPUTE-RESTARTS should return all restarts, even those with a test-function,
   when invoked without a condition. (RESTART-BIND describes test-function as
   accepting a condition, so we can't legally pass NIL in anyways -- the sane
   alternative seems to be to skip this filtering when computing restarts without the
   condition.)

   Reported by Helmut Eller for CMUCL.

18 years ago0.9.5.44: oops
Gabor Melis [Wed, 12 Oct 2005 08:56:04 +0000 (08:56 +0000)]
0.9.5.44: oops
  * didn't want to commit everything

18 years ago0.9.5.43:
Gabor Melis [Wed, 12 Oct 2005 08:36:08 +0000 (08:36 +0000)]
0.9.5.43:
  * binding *CURRENT-THREAD* to NIL when interrupts are enabled is
    asking for trouble

18 years ago0.9.5.42:
Juho Snellman [Tue, 11 Oct 2005 20:21:16 +0000 (20:21 +0000)]
0.9.5.42:
        The alignment of alien structure fields can be explicitly specified.
(Patch by Cyrus Harmon on sbcl-devel "[PATCH] optional explicit
        sb-alien struct alignment", 2005-09-30)

18 years ago0.9.5.41:
Juho Snellman [Tue, 11 Oct 2005 19:45:14 +0000 (19:45 +0000)]
0.9.5.41:
Give a STYLE-WARNING when the return value of a function like
        NREVERSE isn't used.

(Patch by Kevin Reid on sbcl-devel "Patch: warnings on ignored
        results of destructive functions", 2005-09-27)

18 years ago0.9.5.40:
Thiemo Seufer [Tue, 11 Oct 2005 17:58:44 +0000 (17:58 +0000)]
0.9.5.40:
The mips FP status is 32 bits long (and we don't want to set it
with an uninitialized result value).

18 years ago0.9.5.39:
Thiemo Seufer [Tue, 11 Oct 2005 17:50:23 +0000 (17:50 +0000)]
0.9.5.39:
Fix typos in comments.

18 years ago0.9.5.38:
Thiemo Seufer [Tue, 11 Oct 2005 17:47:43 +0000 (17:47 +0000)]
0.9.5.38:
The stat macros return a boolean, not a mode-t, this becomes an
int in C.

18 years ago0.9.5.37:
Thiemo Seufer [Tue, 11 Oct 2005 17:37:27 +0000 (17:37 +0000)]
0.9.5.37:
Pointer-compare was only used by character-compare.

18 years ago0.9.5.36: nop
Gabor Melis [Tue, 11 Oct 2005 14:26:31 +0000 (14:26 +0000)]
0.9.5.36: nop
  * (ALIEN-FUNCALL ... (GET-LISP-OBJ-ADDRESS OBJ)) is racy with
    non-conservative gcs. Add a few WITH-PINNED-OBJECTS to the
    threading code in anticipation of exact gcs.

18 years ago0.9.5.35:
Gabor Melis [Tue, 11 Oct 2005 09:38:48 +0000 (09:38 +0000)]
0.9.5.35:
  * Use mutexes instead of spinlock where appropriate: possibly high
    lock contention, holding the lock for more than a jiffy. Seems to
    cure the sporadic hang-for-a-while-then-continue behaviour that
    some tests displayed.

18 years ago0.9.5.34:
Gabor Melis [Tue, 11 Oct 2005 09:31:32 +0000 (09:31 +0000)]
0.9.5.34:
  * grab all_threads_lock for the duration of creating and linking a
    thread struct to avoid gc lossage (reinstated STATE_STARTING and
    recomplicated thread start vs gc interaction)
  * fixed thread creation test

18 years ago0.9.5.33:
Christophe Rhodes [Mon, 10 Oct 2005 14:54:48 +0000 (14:54 +0000)]
0.9.5.33:
Fix SUBTYPEP.CONS.42 from PFD ansi-tests (solution provided by
chandler on #lisp: "is it throwing away the second return value
        of subtypep somewhere?"

18 years ago0.9.5.32:
Christophe Rhodes [Sun, 9 Oct 2005 20:34:25 +0000 (20:34 +0000)]
0.9.5.32:
Merge patch for asdf-install from Alexander Kjeldaas.

18 years ago0.9.5.31:
Gabor Melis [Fri, 7 Oct 2005 11:18:10 +0000 (11:18 +0000)]
0.9.5.31:
  * simpler WITH-RECURSIVE-LOCK
  * improved async unwind safety of WITH-MUTEX
  * WITH-RECURSIVE-LOCK can be nested in a WITH-MUTEX for the same lock

18 years ago0.9.5.30:
Gabor Melis [Fri, 7 Oct 2005 08:57:00 +0000 (08:57 +0000)]
0.9.5.30:
  * sb-sprof does not uninstall the sigprof handler anymore to avoid races
  * sb-sprof checks for 0 sample count

18 years ago0.9.5.29:
Christophe Rhodes [Fri, 7 Oct 2005 04:57:09 +0000 (04:57 +0000)]
0.9.5.29:
Fix bug reported by Matthew D Swank on comp.lang.lisp
... macroexpand-1 shouldn't expand a global symbol macro
if there's a local binding in the environment.
... (setf wasn't getting this wrong, because it was converting
immediately to setq, but push was, because it calls
get-setf-expansion)

18 years ago0.9.5.27: preparing for aysnc unwinds
Gabor Melis [Thu, 6 Oct 2005 19:43:00 +0000 (19:43 +0000)]
0.9.5.27: preparing for aysnc unwinds
  * refactoring: lisp level interrupt handlers can enable interrupts
    with with-interrupts, the runtime no longer does so before calling
    unknonw lisp handlers
  * sigchld, sigalrm don't get lost when an async unwind occurs

18 years ago0.9.5.26:
Nathan Froyd [Thu, 6 Oct 2005 18:11:46 +0000 (18:11 +0000)]
0.9.5.26:
Oops.  It's (INST CLRLWI ...), not (CLRLWI ...).

18 years ago0.9.5.25:
Thiemo Seufer [Thu, 6 Oct 2005 15:31:37 +0000 (15:31 +0000)]
0.9.5.25:
Mark two tests as expected to fail on mips, all others pass now.

18 years ago0.9.5.24:
Gabor Melis [Thu, 6 Oct 2005 11:01:24 +0000 (11:01 +0000)]
0.9.5.24:
  * remove leftovers from 0.9.5.20 to make the manual build again

18 years ago0.9.5.23:
Juho Snellman [Wed, 5 Oct 2005 20:08:41 +0000 (20:08 +0000)]
0.9.5.23:
        Add the neccessary *COMPILER-ERROR-CONTEXT* bindings to allow
        Slime compiler note annotation to work on CONSTANT-MODIFIED
        warnings.

18 years ago0.9.5.22:
Thiemo Seufer [Wed, 5 Oct 2005 19:45:12 +0000 (19:45 +0000)]
0.9.5.22:
Fix float-fast-bit definition for mips. Evaluate constant params
only once.

18 years ago0.9.5.21:
Nathan Froyd [Tue, 4 Oct 2005 17:53:50 +0000 (17:53 +0000)]
0.9.5.21:
Define CLRLWI{,.} instruction macros for the PPC.

18 years ago0.9.5.20:
Gabor Melis [Tue, 4 Oct 2005 17:31:26 +0000 (17:31 +0000)]
0.9.5.20:
  * thread stacks are freed by the thread that exists next.
    There is at most one freeable stack at any time.

  Details:

  * protect_control_stack_*_page always operates on the current thread
  * the lisp thread object does not keep a pointer to the C thread struct
    because it can now be freed at any time
  * the interruption queue is moved to the lisp thread object
  * much simpler thread start/stop and gc interaction and locking
  * STATE_STARTING is removed

18 years ago0.9.5.19:
Nathan Froyd [Mon, 3 Oct 2005 18:53:41 +0000 (18:53 +0000)]
0.9.5.19:
Micro-optimizations for PPC "small-data" array and raw slot vops.

18 years ago0.9.5.18:
Juho Snellman [Mon, 3 Oct 2005 09:46:39 +0000 (09:46 +0000)]
0.9.5.18:
Minor cleanups to tools-for-build/where-is-mcontext:

        * Include stdlib.h to get rid of warning (thanks to Rex Dieter)
        * Explicitly return 0 on success (thanks to Trent Buck)

18 years ago0.9.5.17:
Juho Snellman [Sun, 2 Oct 2005 00:32:00 +0000 (00:32 +0000)]
0.9.5.17:
SB-SPROF:ADJUST-SAMPLES-FOR-ADDRESS-CHANGES was consing excessively,
        sometimes resulting in an endless cycle of GC / run the
        adjusting in a *AFTER-GC-HOOK* / GC / etc. (Reported by David
        Lichteblau)

        * Declare the &REST arguments of numeric comparison operators
          as DYNAMIC-EXTENT. At least I was surprised by (SORT ... #'>)
          consing.
        * Clear *DYNAMIC-SPACE-CODE-INFO* every time RECORD-DYNINFO is
          called (significant for multiple profiling runs without
          intervening RESETs)

18 years ago0.9.5.16:
Juho Snellman [Sat, 1 Oct 2005 17:23:29 +0000 (17:23 +0000)]
0.9.5.16:
Apparently FreeBSD 4 doesn't have putwc(), hence no boinkmarks
for the last few days. Add putwc() detection to grovel-features.sh,
        and fallback to fputc() if putwc() isn't implemented.

        (Actually untested on FreeBSD, but I figure it can't get any worse).

18 years ago0.9.5.15:
Juho Snellman [Sat, 1 Oct 2005 15:58:16 +0000 (15:58 +0000)]
0.9.5.15:
Give distinct error messages for the two ways mmap() can fail in
        os_validate() (i.e. mmap() can't allocate memory vs. can't map
        it at the requested address).

        Fix a gcc warning when LISP_FEATURE_SB_THREAD.

18 years ago0.9.5.14:
Juho Snellman [Sat, 1 Oct 2005 13:01:11 +0000 (13:01 +0000)]
0.9.5.14:
Explicitly bind *PRINT-PRETTY* to T when printing the symbol
        conflict resolution prompt, to make the output less ugly in
        Slime (sldb binds *PRINT-PRETTY* to NIL).

18 years ago0.9.5.13:
Juho Snellman [Thu, 29 Sep 2005 21:41:29 +0000 (21:41 +0000)]
0.9.5.13:
        Some test framework improvements, inspired by trying to remote-debug a
        test failure on #lisp:

        * Print a backtrace for unhandled errors (unless running with
          --break-on-failure).
        * Consistently use HANDLER-BIND instead of HANDLER-CASE, to
          get the backtrace/debugger prompt in the right dynamic
          state.
        * Name all WITH-TESTs. Most tests were already named, and the
          automatically assigned numbers aren't really optimal for
          locating tests.

18 years ago0.9.5.12:
Thiemo Seufer [Thu, 29 Sep 2005 08:47:51 +0000 (08:47 +0000)]
0.9.5.12:
Exclude non-linkage-table ports from lazy alien resolution tests

18 years ago0.9.5.11:
Thiemo Seufer [Thu, 29 Sep 2005 06:45:08 +0000 (06:45 +0000)]
0.9.5.11:
Linkage table support for mips.

18 years ago0.9.5.10:
Thiemo Seufer [Thu, 29 Sep 2005 06:36:16 +0000 (06:36 +0000)]
0.9.5.10:
Enable consing tests also for mips.

18 years ago0.9.5.9:
Thiemo Seufer [Wed, 28 Sep 2005 21:11:56 +0000 (21:11 +0000)]
0.9.5.9:
Fix typo in manual.

18 years ago0.9.5.8:
Thiemo Seufer [Wed, 28 Sep 2005 16:24:57 +0000 (16:24 +0000)]
0.9.5.8:
Fix spurious failures in timer.impure.lisp which sometimes
happen after a slam.sh build (but not after a full make.sh).

18 years ago0.9.5.7:
Thiemo Seufer [Wed, 28 Sep 2005 15:10:39 +0000 (15:10 +0000)]
0.9.5.7:
Actually implement stack allocatable closures.

18 years ago0.9.5.6:
Thiemo Seufer [Wed, 28 Sep 2005 13:42:24 +0000 (13:42 +0000)]
0.9.5.6:
Random collection of small code improvements.

18 years ago0.9.5.5:
Thiemo Seufer [Wed, 28 Sep 2005 13:36:45 +0000 (13:36 +0000)]
0.9.5.5:
Whitespace painting.

18 years ago0.9.5.4:
Thiemo Seufer [Wed, 28 Sep 2005 13:25:42 +0000 (13:25 +0000)]
0.9.5.4:
Less copy&paste in C code, minor code cleanups.

18 years ago0.9.5.3:
Juho Snellman [Tue, 27 Sep 2005 17:29:23 +0000 (17:29 +0000)]
0.9.5.3:
Fix LDB backtraces when SB-UNICODE is on. Patch by David Lichteblau,
        sbcl-devel "sb-unicode and ldb backtrace".

18 years ago0.9.5.2:
Juho Snellman [Tue, 27 Sep 2005 16:58:47 +0000 (16:58 +0000)]
0.9.5.2:
Yet another personality() change, this time for some Linux kernels
        that don't change the personality, but nor return an error code.
        Patch by Svein Ove Aas on sbcl-devel, "[PATCH] Workaround buggy
        personality() call on old Linux kernels".

        Reformat isnptl().

18 years ago0.9.5.1:
Thiemo Seufer [Tue, 27 Sep 2005 15:52:50 +0000 (15:52 +0000)]
0.9.5.1:
Use consistently "unsigned int" as C type for an instruction.

18 years ago0.9.5:
William Harold Newman [Tue, 27 Sep 2005 13:58:15 +0000 (13:58 +0000)]
0.9.5:
release, tagged as sbcl_0_9_5

18 years ago0.9.4.85:
Juho Snellman [Sat, 24 Sep 2005 00:23:57 +0000 (00:23 +0000)]
0.9.4.85:
Mostly revert 0.9.4.84, since it doesn't compile at all on modern
        Linux systems (see sbcl-devel message by "Dave" on 2005-09-23):
        * The decision of whether to use personality() should be completely
          a run-time property, not a compile-time one.
        * Change LISP_FEATURE_LINUX cpp conditionals back to LISP_FEATURE_X86
          or remove them entirely (this is in linux-os.c, so LISP_FEATURE_LINUX
          had better be defined; randomization is only enabled on x86 so
          it's pointless to include the code on other platforms)

        Additionally:
        * To solve the problem that 0.9.4.84 was trying to address
          (no <sys/personality.h> on versions of glibc more than three years
          old) define the prototype of personality() in linux-os.c. This
          might not be the optimal solution, but I suppose this isn't the
          right time to experiment...

        The syscall itself is old (goes at least back to kernel 2.0),
        so the system call wrapper should exist even on old versions
        of libc. There should thus be no problems with linking this
        code even on ancient systems.

18 years ago0.9.4.84:
William Harold Newman [Wed, 21 Sep 2005 17:21:29 +0000 (17:21 +0000)]
0.9.4.84:
suppressed <sys/personality.h> stuff for old Linux systems (like
one of mine) which don't have it
(Assuming that I didn't make some weird clerical error, the changes
are smaller than they look; I added some extra braces
and let emacs regularize the indentation in hopes that
it would make it less likely for me to mess up the
nesting of if() and #if.)

18 years ago0.9.4.83:
Christophe Rhodes [Wed, 21 Sep 2005 11:28:56 +0000 (11:28 +0000)]
0.9.4.83:
Pacify the compiler when inlining LAST1's code in a high-speed
low-space compilation environment.
... rebind the argument within last1 so that the assignments
are to that binding.

18 years ago0.9.4.82:
Thiemo Seufer [Tue, 20 Sep 2005 19:12:27 +0000 (19:12 +0000)]
0.9.4.82:
The final piece to fix bug #379 for mips.

18 years ago0.9.4.81:
Thiemo Seufer [Tue, 20 Sep 2005 14:13:04 +0000 (14:13 +0000)]
0.9.4.81:
More mips branch delay slot fixes, and a step forward to a
working singlestepper.

18 years ago0.9.4.80:
Thiemo Seufer [Tue, 20 Sep 2005 11:12:28 +0000 (11:12 +0000)]
0.9.4.80:
Fix one more bad break insn for mips.

18 years ago0.9.4.79:
Thiemo Seufer [Tue, 20 Sep 2005 09:12:21 +0000 (09:12 +0000)]
0.9.4.79:
Don't call alloc_sap before fake_foreign_function_call is run,
because this will reset dynamic_space_free_pointer to the
original reg_ALLOC value from the signal context, so the next
(Lisp-side) allocation will overwrite the SAP object. This may
fix Bug #379 (at least partially).

18 years ago0.9.4.78:
Christophe Rhodes [Mon, 19 Sep 2005 21:13:38 +0000 (21:13 +0000)]
0.9.4.78:
Delete some really really stale bugs from the manual page
... also add some formatting directives which make postscript
output a bit nicer.

18 years ago0.9.4.77:
Christophe Rhodes [Mon, 19 Sep 2005 19:23:00 +0000 (19:23 +0000)]
0.9.4.77:
Update fasl file version
... also expand a little on metaobject protocol
incompatibilities.

18 years ago0.9.3.76:
Gabor Melis [Mon, 19 Sep 2005 14:18:13 +0000 (14:18 +0000)]
0.9.3.76:
  * WITH-TIMEOUT doesn't signal a timeout if the timeout is zero for
   backward compatibility reasons (i.e. not to break CLX). When unsafe
   unwinds are dealt with this may be revisited.
  * suggestions from whitespace-o'matic

18 years ago0.9.4.75:
Christophe Rhodes [Sun, 18 Sep 2005 10:55:11 +0000 (10:55 +0000)]
0.9.4.75:
Remove one more AMOP incompatibility
... COMPUTE-SLOTS on FUNCALLABLE-STANDARD-CLASS doesn't need to
be different from the method on STANDARD-CLASS.

18 years ago0.9.4.74:
Alexey Dejneka [Sun, 18 Sep 2005 07:13:36 +0000 (07:13 +0000)]
0.9.4.74:
        * Don't optimize two-argument BACKQ-LIST* to BACKQ-CONS when
          the first argument may be expanded later (fixes a bug
          reported on cll by Alexander <malishev>).

18 years ago0.9.4.73:
Alexey Dejneka [Sat, 17 Sep 2005 07:43:33 +0000 (07:43 +0000)]
0.9.4.73:
        * PACK does not modify a hashtable, which it iterates on
          (patch by Rob MacLachlan for a bug reported by Bryan
          O'Connor).

18 years ago0.9.4.72:
Thiemo Seufer [Fri, 16 Sep 2005 13:26:39 +0000 (13:26 +0000)]
0.9.4.72:
Robustify the build system scripts.

18 years ago0.9.4.71:
Thiemo Seufer [Fri, 16 Sep 2005 13:22:08 +0000 (13:22 +0000)]
0.9.4.71:
Fix disassembly printing for mips break instructions.

18 years ago0.9.4.70:
Thiemo Seufer [Thu, 15 Sep 2005 17:42:36 +0000 (17:42 +0000)]
0.9.4.70:
Use subcodes of mips break instructions with a major code of 0,
for triggering SIGTRAP, since other major codes are reserved
for various purposes (Code 0 is supposed to be used for the
debugger).

18 years ago0.9.4.69:
Thiemo Seufer [Thu, 15 Sep 2005 12:54:28 +0000 (12:54 +0000)]
0.9.4.69:
Fix Bugs #346/#353 for mips.

18 years ago0.9.4.68:
Thiemo Seufer [Tue, 13 Sep 2005 12:28:41 +0000 (12:28 +0000)]
0.9.4.68:
Some more use of preinitialized sigset_t. Minor code cleanup.

18 years ago0.9.4.67:
Thiemo Seufer [Mon, 12 Sep 2005 21:12:25 +0000 (21:12 +0000)]
0.9.4.67:
Use snarf-error-junk as the only lisp function to parse internal
error arguments. Improve comment.

18 years ago0.9.4.66:
Thiemo Seufer [Mon, 12 Sep 2005 21:07:42 +0000 (21:07 +0000)]
0.9.4.66:
Whitespace painting.

18 years ago0.9.4.65:
Thiemo Seufer [Mon, 12 Sep 2005 14:00:30 +0000 (14:00 +0000)]
0.9.4.65:
Add missing definitions for object-not-list-trap,
object-not-instance-trap, peudo-atomic-trap.

18 years ago0.9.4.64:
Thiemo Seufer [Mon, 12 Sep 2005 12:05:49 +0000 (12:05 +0000)]
0.9.4.64:
Handle also for branch delay slot of newer mips instructions,
reduce copy&pasteage, remove SIGILL handler which was only good
for debugging.

18 years ago0.9.4.63:
Thiemo Seufer [Mon, 12 Sep 2005 09:44:22 +0000 (09:44 +0000)]
0.9.4.63:
Improve signal handling performance a bit by using sigfillset,
removing redundant check_blockables_blocked_or_lose calls, and
copying pre-initialized sigset_t where possible.

18 years ago0.9.4.62:
Thiemo Seufer [Mon, 12 Sep 2005 09:39:31 +0000 (09:39 +0000)]
0.9.4.62:
Less copy&paste code.

18 years ago0.9.4.61:
Alexey Dejneka [Mon, 12 Sep 2005 02:38:51 +0000 (02:38 +0000)]
0.9.4.61:
        * s/vrotaru/Vasile Rotaru/

18 years ago0.9.4.60:
Thiemo Seufer [Sun, 11 Sep 2005 09:53:43 +0000 (09:53 +0000)]
0.9.4.60:
Define LONG-LONG/UNSIGNED-LONG-LONG as 64bit integer alien
types and use them for the mips port.

18 years ago0.9.4.59:
Alexey Dejneka [Sun, 11 Sep 2005 07:27:43 +0000 (07:27 +0000)]
0.9.4.59:
        * Fix compiler failure reported by vrotaru on sbcl-help: the
          main pass of physical environment analysis clears closure
          information made by the prepass.

18 years ago0.9.4.58:
Brian Mastenbrook [Sat, 10 Sep 2005 22:12:43 +0000 (22:12 +0000)]
0.9.4.58:
* Fix problem where TYPEP in compiled code could return a
          true-or-false answer on a bad literal type specifier.

18 years ago0.9.4.57:
Christophe Rhodes [Fri, 9 Sep 2005 20:27:59 +0000 (20:27 +0000)]
0.9.4.57:
Implement the METAOBJECT class as per AMOP.
... we can do this safely now that INSTANCE and
FUNCALLABLE-INSTANCE confusion has been resolved.
Woohoo.

18 years ago0.9.4.56:
Christophe Rhodes [Fri, 9 Sep 2005 17:43:45 +0000 (17:43 +0000)]
0.9.4.56:
Make VALIDATE-SUPERCLASS obey the rules.
... ah, but we need an additional constraint for CLOS classes
to behave: F-S-Cs must have FUNCTION in their CPL, while
S-Cs mustn't.  Otherwise you end up with things which
are functions but whose type-of isn't subtypep
function, and similar disasters.
... document this additional constraint.

18 years ago0.9.4.55:
Christophe Rhodes [Fri, 9 Sep 2005 16:09:51 +0000 (16:09 +0000)]
0.9.4.55:
The class SB-PCL::STD-OBJECT is now useless: delete it
mercilessly.
... this means that there are no direct instances of STD-CLASS
any more: so it can be removed from the braid.
... document that we're no longer nonconforming wrt
{,funcallable-}standard-object

18 years ago0.9.4.54:
Christophe Rhodes [Fri, 9 Sep 2005 14:16:17 +0000 (14:16 +0000)]
0.9.4.54:
Declassification of INSTANCE and FUNCALLABLE-INSTANCE.

It turns out that the classes INSTANCE and
        FUNCALLABLE-INSTANCE, as expressed in instance-pointer-lowtag
and funcallable-instance-widetag, are incompatible with the
MOP's notion of classes: the types INSTANCE and
FUNCALLABLE-INSTANCE are necessarily disjoint (no instance can
have a widetag of anything other than instance-header-widetag),
but FUNCALLABLE-STANDARD-OBJECT is required to be a subclass of
STANDARD-OBJECT, and must therefore have the superclasses of
STANDARD-OBJECT among its superclasses.  If INSTANCE is one of
those, FUNCALLABLE-INSTANCE cannot be, so F-S-Os would not be of
type FUNCALLABLE-INSTANCE (which is wrong); if it is not one of
those, then ordinary S-Os would not be of type INSTANCE (which
is wrong).  CMUCL, at the time of writing, exhibits type system
confusion in this area, as demonstrated by CSR cmucl-imp
2005-09-0x).

So, we need to do something else; probably most straightforward
to make INSTANCE and FUNCALLABLE-INSTANCE named types, as they
are of the same order of specialness as e.g. T -- not quite as
special, but almost.  Some hacking later...

... the usual type system dance.  Play whack-a-mole with test
failures and compilation failures until they all go
away.  Primtype, class, typetran, and so on are
fiddled with.
... somewhat hacky code for determining when a class is subtypep
instance / funcallable-instance.
... different hard-coded constants for genesis; don't make a
special instance-layout, because the instance class is
gone.
... just to prove we've achieved something, make STANDARD-OBJECT
a superclass of FUNCALLABLE-STANDARD-OBJECT.
(Supporting METAOBJECT should be straightforward now)
... many many new tests, both of the before-xc variety (it's
amazing in how many ways I can get the type system
wrong) and of the regular form.  Also add some
ctor tests that aren't exercised yet.

18 years ago0.9.4.53:
Thiemo Seufer [Fri, 9 Sep 2005 11:39:33 +0000 (11:39 +0000)]
0.9.4.53:
Hunt down compiler warnings.

18 years agoWe don't want to adjust pc-offset here, since it potentially misses
Thiemo Seufer [Thu, 8 Sep 2005 08:21:34 +0000 (08:21 +0000)]
We don't want to adjust pc-offset here, since it potentially misses
a branch target.

18 years agoAdd missing trace-table-fun-prologue.
Thiemo Seufer [Thu, 8 Sep 2005 08:16:37 +0000 (08:16 +0000)]
Add missing trace-table-fun-prologue.

18 years agoRemove superfluous package prefixes.
Thiemo Seufer [Thu, 8 Sep 2005 08:11:15 +0000 (08:11 +0000)]
Remove superfluous package prefixes.

18 years agoAlways keep the break instruction in the branch delay slot.
Thiemo Seufer [Thu, 8 Sep 2005 08:09:40 +0000 (08:09 +0000)]
Always keep the break instruction in the branch delay slot.

18 years agoFix mips debug print argument handling.
Thiemo Seufer [Thu, 8 Sep 2005 08:04:48 +0000 (08:04 +0000)]
Fix mips debug print argument handling.

18 years agoRemove unused *internal-error-args* variable.
Thiemo Seufer [Thu, 8 Sep 2005 07:57:23 +0000 (07:57 +0000)]
Remove unused *internal-error-args* variable.

18 years agoCanonicalize in-package argument.
Thiemo Seufer [Thu, 8 Sep 2005 07:25:32 +0000 (07:25 +0000)]
Canonicalize in-package argument.

18 years agoSmall mips-vm.lisp improvement, lifted from the ppc version.
Thiemo Seufer [Thu, 8 Sep 2005 07:23:06 +0000 (07:23 +0000)]
Small mips-vm.lisp improvement, lifted from the ppc version.

18 years agoUse generated labels for the mips list length vop.
Thiemo Seufer [Wed, 7 Sep 2005 23:27:45 +0000 (23:27 +0000)]
Use generated labels for the mips list length vop.

18 years agoThe define-binop subtract accepted too large types.
Thiemo Seufer [Wed, 7 Sep 2005 23:12:58 +0000 (23:12 +0000)]
The define-binop subtract accepted too large types.

18 years agoProtect the last store into the object also by pseudo-atomic.
Thiemo Seufer [Wed, 7 Sep 2005 23:10:22 +0000 (23:10 +0000)]
Protect the last store into the object also by pseudo-atomic.

18 years agoLESS MAGIC NUMBERS.
Thiemo Seufer [Wed, 7 Sep 2005 23:06:19 +0000 (23:06 +0000)]
LESS MAGIC NUMBERS.

18 years agoDon't use signalling adds, we don't handle them.
Thiemo Seufer [Wed, 7 Sep 2005 23:04:46 +0000 (23:04 +0000)]
Don't use signalling adds, we don't handle them.

18 years agoIn the mips sigtrap hander, and for the case of a break instruction in a
Thiemo Seufer [Wed, 7 Sep 2005 23:03:16 +0000 (23:03 +0000)]
In the mips sigtrap hander, and for the case of a break instruction in a
branch delay slot we looked up the error code in the preceeding branch
instruction instead of the break instruction. The result were unhandled
sigtraps which killed SBCL.