Changeset 5633


Ignore:
Timestamp:
Dec 20, 2006, 12:08:16 PM (18 years ago)
Author:
Gary Byers
Message:

* empty log message *

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/ChangeLog

    r5562 r5633  
     12006-12-19 01:24  gb
     2
     3        * library/parse-ffi.lisp: Just to be on the safe side (new pathname
     4        bugs, or old ?), append -BAK to (NAMESTRING (TRUENAME path)), not
     5        just (NAMESTRING path) when renaming.  (MERGE-PATHNAMES call is
     6        producing a pathane with a non-null VERSION component, as it
     7        arguably should have been all along.
     8
     92006-12-18 13:22  gb
     10
     11        * lib/sequences.lisp: COERCE/MAKE-SEQUENCE try to simplify vector
     12        types into concrete vector types.
     13
     142006-12-18 13:04  gb
     15
     16        * level-1/l1-pathnames.lisp: Try (halfheartedly) to maintain
     17        PATHNAME-VERSION of physical pathnames.  (Totally meaningless, but
     18        failing to do this leads to many test failures.)
     19
     202006-12-18 13:03  gb
     21
     22        * level-1/l1-numbers.lisp: Don't call out to do sqrt.
     23
     242006-12-18 12:57  gb
     25
     26        * level-1/l1-files.lisp: Try (halfheartedly) to maintain
     27        PATHNAME-VERSION of physical pathnames.  (Totally meaningless, but
     28        failing to do this leads to many test failures.)
     29
     302006-12-18 12:54  gb
     31
     32        * level-0/X86/x86-float.lisp: Do single/double-float sqrt inline.
     33
     342006-12-16 05:28  gb
     35
     36        * level-0/PPC/ppc-float.lisp: Recognize that fsqrt/fsqrts
     37        instructions have a minor opcode in frb and only have one source
     38        operand.
     39
     402006-12-16 05:27  gb
     41
     42        * level-1/ppc-error-signal.lisp: If we get an FP exception during a
     43        SQRT, note that there's only one operand and that it's in frb.
     44
     452006-12-16 05:25  gb
     46
     47        * lisp-kernel/ppc-exceptions.c: Handle (some) unimplemented
     48        instructions, notably fsqrt/fqrts, which are optional and not
     49        implemented on some PPC machines.
     50
     512006-12-16 05:24  gb
     52
     53        * lisp-kernel/ppc-asmutils.s: Add get_fpscr().
     54
     552006-12-14 19:47  gb
     56
     57        * lisp-kernel/ppc-exceptions.c: Need to handle SIGQUIT on ppc, too.
     58
     592006-12-14 16:43  gb
     60
     61        * compiler/X86/X8664/x8664-vinsns.lisp: Constraints on some
     62        double-float arithmetic vinsns should say :double-float, not
     63        :single-float.  (I suspect cut-and-paste, frankly.)
     64
     652006-12-14 16:25  gb
     66
     67        * level-1/l1-lisp-threads.lisp: *initial-lisp-thread*, not
     68        initial-thread.
     69
     702006-12-14 16:24  gb
     71
     72        * level-1/x86-trap-support.lisp: Use frame pointer when signaling
     73        error.
     74
     752006-12-14 16:14  gb
     76
     77        * library/lispequ.lisp: Add a %PHYSICAL-PATHAME-VERSION slot to
     78        physical pathnames. (Yes, this is kind of silly.)
     79
     802006-12-14 16:01  gb
     81
     82        * level-1/x86-trap-support.lisp: Recognize the kernel's attempt to
     83        signal errors for (e.g.) failed memory allocation.
     84
     852006-12-14 16:00  gb
     86
     87        * lisp-kernel/x86-exceptions.c: If a memory allocation request
     88        fails, signal a lisp error (what a concept.)
     89
     902006-12-14 15:51  gb
     91
     92        * lisp-kernel/x86-exceptions.h: Define DARWIN_USE_PSEUDO_SIGRETURN.
     93       
     94        Might be worth revisiting this.
     95
     962006-12-14 15:50  gb
     97
     98        * lisp-kernel/x86-exceptions.c: Go back to using the
     99        pseudo_sigreturn mechanism on Darwin, since doing a real sigreturn
     100        from a fake context may not be reliable.
     101       
     102        When handling an interrupt with a partially created temp stack
     103        frame, do the right thing.  (That basically means reset the frame
     104        before calling out and recreating it if we return from the
     105        callout.)
     106       
     107        Handle SIGQUIT on the altstack, to provide a way of forcibly
     108        terminating threads that's a bit more GC-safe than doing it via
     109        #_pthread_cancel.
     110       
     111        Note the tcr of the gc thread on gc entry; if an exception happens
     112        in that thread, print a message and sleep for 60 seconds.
     113       
     114        Note that there's still a race condition here: if thread A gets an
     115        exception and thread B gets the mach_exception_lock (to GC) before
     116        the exception thread can handle the message, we deadlock (thread A
     117        would be suspended in the kernel and can't respond to a suspend
     118        signal.)  We can tell that this has happened and make a good guess
     119        as to why it happened, but dealing with it will require some
     120        thought.  (If we've already issued a suspend signal and eventually
     121        raise the suspended thread's resume semaphore, it'll suspend and
     122        resume once the mach exception thread makes it runnable.  Who
     123        cleans up its exception context in that case ?  Does it matter ?)
     124
     1252006-12-14 15:19  gb
     126
     127        * lisp-kernel/thread_manager.c: Ensure that newly-created threads
     128        have all signals unmasked.
     129       
     130        If a tcr is dead, ensure that its stack areas are empty.
     131       
     132        Try to run shutdown_thread_tcr as a pthread cleanup action,
     133        hopefully before Mach clobbers the thread's signal mask.
     134
     1352006-12-14 15:16  gb
     136
     137        * lisp-kernel/pmcl-kernel.c: lazarus() runs with a lock on the
     138        TCR_AREA_LOCK.
     139
     1402006-12-14 15:15  gb
     141
     142        * lisp-kernel/memprotect.h: Don't declare do_memo_reset(), which
     143        hasn't existed in years.
     144
     1452006-12-14 15:14  gb
     146
     147        * level-1/version.lisp: Bump.
     148
     1492006-12-14 15:14  gb
     150
     151        * level-1/l1-readloop.lisp: PREPARE-TO-QUIT: wait for the
     152        termination semaphore.
     153
     1542006-12-14 15:13  gb
     155
     156        * level-1/l1-processes.lisp: PROCESS objects are created with a
     157        termination semaphore.
     158
     1592006-12-14 15:12  gb
     160
     161        * level-1/l1-lisp-threads.lisp: THREAD-ENABLE: second arg is
     162        TERMINATION-SEMAPHORE.
     163       
     164        KILL-LISP-THREAD: don't use #_pthread_cancel, which may force the
     165        target thread to transition from running lisp code to running
     166        foreign code without advertising that fact. Send a SIGQUIT instead,
     167        and trust the SIGQUIT handler to manage that transition.  Don't try
     168        to kill the initial thread.
     169
     1702006-12-09 09:52  gb
     171
     172        * level-1/l1-streams.lisp: STRING-OUTPUT-STREAMs need to override
     173        their CLEAR-OUTPUT methods.
     174       
     175        MAKE-STRING-INPUT-STREAM: handle displaced strings better (remember
     176        their displaced-index-offsets.)
     177
     1782006-12-09 09:49  gb
     179
     180        * lisp-kernel/thread_manager.c: Disable underflow traps in new
     181        threads on x86-64.  (The PPC never got around to enabling them.)
     182
     1832006-12-09 09:47  gb
     184
     185        * lib/macros.lisp: WITH-OUTPUT-TO-STRING: if string provided,
     186        evaluate the ELEMENT-TYPE expression (for side-effects) and ignore
     187        the result of its evaluation.
     188       
     189        Some fixes in CTYPECASE handling, which hopefully didn't break
     190        anything else.
     191
     1922006-12-09 09:36  gb
     193
     194        * compiler/X86/x862.lisp: In aset2/aset3, ensure that the (final,
     195        1d) index register is set - even if the index is a constant - if we
     196        think that the store needs EGC memoization.
     197       
     198        (Note that the test case that exposed this involved storing
     199        SINGLE-FLOATs, which don't need EGC write-barrier handling on
     200        64-bit platforms.)
     201       
     202        In aref2, don't worry about reserving unscaled index registers when
     203        targeting the 1d index; the unscaled index registers aren't live
     204        after, could be NULL if the index is a constant, and any overlap
     205        between one of them and the 1d index should be handled in the
     206        vinsn(s).
     207
     2082006-12-09 09:30  gb
     209
     210        * level-1/l1-typesys.lisp: Ensure that the (relatively new)
     211        built-in-classes SIMPLE-FIXNUM-VECTOR and FIXNUM-VECTOR have
     212        class-translations.
     213
     2142006-12-09 09:27  gb
     215
     216        * level-1/l1-aprims.lisp: In list case of ELT: who says that value
     217        returned by NTHCDR is a LIST ? (It's not necessarily a list, so
     218        don't segfault taking its CAR without checking.)
     219
     2202006-12-06 18:48  gb
     221
     222        * level-0/X86/x86-float.lisp: x86-64 version of
     223        SFLOAT-SIGNIFICAND-ZEROS: count zero bits in the shifted float, not
     224        in %imm1 (which is undefined here ...)
     225
     2262006-12-06 17:05  gb
     227
     228        * compiler/nx0.lisp: DEFINE-COMPILER-MACRO: if a SETF name, use the
     229        right symbol for the named block.
     230       
     231        COMPILER-MACRO-FUNCTION, (SETF COMPILER-MACRO-FUNCTION): deal with
     232        (SETF NAME).
     233
     2342006-12-05 22:44  gb
     235
     236        * release-notes.txt: Update for 061205.
     237
     2382006-12-05 20:31  gb
     239
     240        * lisp-kernel/darwinppc64/Makefile: Change LDFLAGS, to keep ld64
     241        from putting a linkedit segment in the wrong place and making
     242        32-bit memory unmappable.
     243
     2442006-12-05 20:30  gb
     245
     246        * level-1/version.lisp: Bump.
     247
     2482006-12-05 20:29  gb
     249
     250        * lisp-kernel/pmcl-kernel.c: Use _exit(), just in case.
     251
     2522006-12-05 18:53  gb
     253
     254        * level-1/l1-reader.lisp: *ALTERNATE-LINE-TERMINATOR* set to
     255        #\Return on #+darwin-target, not just #+darwinppc-target. Change
     256        doc string for *ALTERNATE-LINE-TERMINATOR*.
     257
     2582006-12-04 15:13  gb
     259
     260        * level-1/version.lisp: Append a patchlevel to the version string,
     261        at least until new tarballs can be built.
     262
     2632006-12-04 15:12  gb
     264
     265        * level-1/l1-streams.lisp: If stream element type upgrades to
     266        FIXNUM, upgrade it further (to largest supported SIGNED-BYTE
     267        element-type.)
     268
     2692006-12-04 13:02  gb
     270
     271        * level-0/l0-bignum32.lisp: BIGNUM-BIGNUM-GCD (whatever it's
     272        called): don't bother to shift by 0 bits.  Do shift the initial U
     273        if non-zero trailing 0 BITS (was testing for non-zero trailing
     274        DIGITS.)
     275
     2762006-12-04 12:52  gb
     277
     278        * level-1/l1-streams.lisp: Choke earlier on unsupported stream
     279        element-types; do some upgrading to support some more element types
     280        (BIT -> (UNSIGNED-BYTE 8)).
     281       
     282        Maybe support arbitrarily large integer types someday soon.  Maybe
     283        not.
     284
     2852006-12-04 12:48  gb
     286
     287        * level-1/l1-clos-boot.lisp: Make built-in classes for istruct
     288        types (compiler stuff, mostly).
     289
     2902006-12-04 12:46  gb
     291
     292        * level-0/X86/X8664/x8664-bignum.lisp: Ensure that %ASHL handles
     293        shift count of 32 (and returns 0 in that case.)
     294
     2952006-12-04 12:46  gb
     296
     297        * level-0/l0-bignum64.lisp: In BIGNUM-SHIFT-RIGHT-LOOP-1, use
     298        %ASHL, not %ILSL.  (Don't want nonsense in the high 32 bits, just
     299        in case.)
     300
     3012006-12-04 12:43  gb
     302
     303        * level-0/l0-numbers.lisp: Bugs in GCD-2.  Long-standing bugs in
     304        GCD-2 ...
     305
     3062006-12-04 09:26  gb
     307
     308        * level-1/l1-streams.lisp: STREAM-CLEAR-INPUT: don't inherit method
     309        for STRING-INPUT-STREAMs.
     310
     3112006-12-04 09:24  gb
     312
     313        * level-0/l0-bignum64.lisp: BIGNUM-SHIFT-RIGHT-1: handle shift by 0
     314        bits.  BIGNUM-BIGNUM-GCD (whatever it's called): don't bother to
     315        shift by 0 bits.
     316
     3172006-12-04 09:21  gb
     318
     319        * level-1/ppc-trap-support.lisp: Reset error-reentry count before
     320        doing %SLOT-UNBOUND-TRAP.
     321
     3222006-12-04 09:21  gb
     323
     324        * level-1/l1-streams.lisp: Default STREAM-POSITION method for
     325        STREAMs, returns NIL.  STREAM-POSITION method for
     326        STRING-INPUT-STREAMs.
     327
     3282006-12-04 09:19  gb
     329
     330        * level-1/l1-pathnames.lisp: Derive ccl-directory from pathname
     331        containing heap image.
     332
     3332006-12-03 07:41  gb
     334
     335        * level-1/l1-streams.lisp: FORCE-OUTPUT, FINISH-OUTPUT on
     336        STRING-OUTPUT-STREAMs are no-ops.
     337       
     338        Need an ioblock-based character-read-vector function for
     339        string-input-streams.
     340
     3412006-12-03 07:37  gb
     342
     343        * lib/describe.lisp: Minimal DESCRIBE support for
     344        CCL::BASIC-STREAM.
     345
     3462006-12-03 07:36  gb
     347
     348        * lib/macros.lisp: If :element-type is supplied in
     349        WITH-OUTPUT-TO-STRING, don't quote it.
     350
     3512006-12-03 05:11  gb
     352
     353        * level-1/x86-trap-support.lisp: Define RIP-REGISTER-OFFSET, which
     354        isn't necessarily 16.
     355
     3562006-12-03 05:10  gb
     357
     358        * level-1/x86-error-signal.lisp: Use RIP-REGISTER-OFFSET, which
     359        isn't necessarily 16.
     360       
     361        Use WITH-ERROR-REENTRY-DETECTION n %xerr-disp; dtrt for
     362        %slot-unbound-trap.
     363
     3642006-12-03 05:09  gb
     365
     366        * level-1/l1-streams.lisp: Tweak stream hierarchy a little, to
     367        avoid some NO-NEXT-METHODs.
     368
     3692006-12-03 02:42  gb
     370
     371        * compiler/nx1.lisp: Handle VALUES type specifiers in THE forms a
     372        bit better.
     373
     3742006-12-03 02:41  gb
     375
     376        * compiler/nx0.lisp: Handle VALUES type specifiers in THE forms a
     377        bit.
     378
     3792006-12-03 02:28  gb
     380
     381        * lisp-kernel/x86-spentry64.s: Do vector bounds checking by
     382        clearing the low byte of the header, shifting it right, and
     383        comparing the index to that.  (It's not reliable to shift the index
     384        left.)
     385
     3862006-12-03 02:26  gb
     387
     388        * level-1/l1-unicode.lisp: Memory/vector encode functions: don't
     389        write BOM, leave that up to higher-level code.
     390       
     391        Start to write some higher-level code.
     392
     3932006-12-03 02:23  gb
     394
     395        * level-1/l1-sysio.lisp: Fix some indentation.
     396
     3972006-12-03 02:21  gb
     398
     399        * compiler/X86/X8664/x8664-vinsns.lisp: CHECK-MISC-BOUNDS: shift
     400        the header word right (after clearing its low byte) and compare the
     401        index to that.  (Shifting the index left - d'oh - obviously fails
     402        for indices of large magnitude.)
     403
     4042006-11-29 21:07  gb
     405
     406        * lib/db-io.lisp: Indentation change.
     407       
     408        Add CDB-ENUMERATE-KEYS.
     409
     4102006-11-29 18:37  gb
     411
     412        * lib/level-2.lisp: %DESTRUCTURE-LAMBDA-LIST: other callers of
     413        VERIFY-LAMBDA-LIST (hopefully) check to see if the alleged list is
     414        LISTP first.  (I hope ...).  Do so.
     415
     4162006-11-28 18:42  gb
     417
     418        * lisp-kernel/x86-spentry64.s: Wrong register typo in .SPaset2.
     419
     4202006-11-28 16:14  gb
     421
     422        * examples/cocoa-window.lisp: DEFAULT-FONT: retain the font.
     423
     4242006-11-28 16:12  gb
     425
     426        * examples/objc-runtime.lisp: Wrap a (primitive)
     427        WITH-AUTORELEASE-POOL around the code which detaches the dummy
     428        NSThread.
     429
     4302006-11-28 16:09  gb
     431
     432        * examples/cocoa-listener.lisp: Don't claim that a callback
     433        parameter is ignored; use IGNORABLE instead.
     434
    14352006-11-21 01:28  gb
    2436
Note: See TracChangeset for help on using the changeset viewer.