source: trunk/ccl/ChangeLog @ 6143

Last change on this file since 6143 was 6143, checked in by gb, 13 years ago
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 708.6 KB
Line 
12007-04-06 22:10  gb
2
3        * lisp-kernel/pmcl-kernel.c: Patch from Andi Kleen: set vmemoryuse
4        (RLIMIT_AS) current resource limit to max limit, since some distros
5        limit it.
6
72007-04-03 03:11  gb
8
9        * level-1/l1-streams.lisp: Takehiko Abe's fix to
10        %IOBLOCK-WRITE-U16-ENCODED-CHAR.
11
122007-04-02 22:10  gb
13
14        * level-1/l1-unicode.lisp: Takehiko Abe's fixes (missing "stream"
15        arg in utf-16 encode, missing #x in little-endian bom-marker
16        definition.)
17
182007-03-14 23:10  gb
19
20        * lisp-kernel/x86-exceptions.c: Remove a debugging fprintf.
21
222007-03-14 05:11  gb
23
24        * lib/ffi-darwinppc32.lisp: Fix typo (extra quote) in
25        generate-callback-bindings.
26
272007-03-13 06:10  gb
28
29        * lisp-kernel/darwinx8664/Makefile: (re-)enable -O2.
30
312007-03-13 03:58  gb
32
33        * lib/backtrace.lisp: Fix fenceposts in CLOSURE-CLOSED-OVER-VALUES.
34
352007-03-12 05:11  gb
36
37        * lisp-kernel/x86-exceptions.c: Simplify interrupt_handler() a
38        little.
39
402007-03-12 05:10  gb
41
42        * lib/foreign-types.lisp: Fix "extra arguments" error message in
43        %EXTERNAL-CALL-EXPANDER.
44
452007-03-12 05:09  gb
46
47        * level-1/l1-clos-boot.lisp: class-wrapper-random-state: use
48        encapsulation, and a lock.
49
502007-03-12 05:08  gb
51
52        * level-1/: l1-aprims.lisp, l1-numbers.lisp: *RANDOM-STATE* is
53        thread-local.
54
552007-03-12 02:25  gb
56
57        * lisp-kernel/x86-exceptions.c: in catch_exception_raise(), try to
58        deal with variations in Mach behavior: "exception" may be
59        EXC_BAD_ACCESS when an illegal instruction causes a "general
60        protection fault".
61
622007-03-09 15:56  gb
63
64        * level-1/l1-files.lisp: Bill's fix to (MAKE-PATHNAME :DIRECTORY
65        NIL ...)
66
672007-03-09 00:01  gb
68
69        * lib/dumplisp.lisp: Use CLEAR-OPEN-FILE-STREAMS.
70
712007-03-09 00:00  gb
72
73        * lib/ccl-export-syms.lisp: Accessors of open-file-streams; no more
74        *OPEN-FILE-STREAMS*.
75
762007-03-09 00:00  gb
77
78        * level-1/: l1-streams.lisp, l1-sysio.lisp: Encapsulation for
79        open-file-streams.
80
812007-03-08 23:59  gb
82
83        * level-1/l1-readloop.lisp: OPEN-FILE-STREAMS is a function,
84        returns a copy of a list of open file streams in PREPARE-TO-QUIT.
85
862007-03-08 23:58  gb
87
88        * level-1/l1-init.lisp: Lose *OPEN-FILE-STREAMS* and the lock
89        associated with it.
90
912007-03-08 23:57  gb
92
93        * level-1/l1-aprims.lisp: Bind *GENSYM-COUNTER* per-thread.
94
952007-03-08 23:47  gb
96
97        * level-0/l0-hash.lisp: When REMHASH deletes the last entry in a
98        hash-table, it fills the hash-table vector with "free" markers.
99        (There may already be lots of "deleted" markers in the table.)
100
1012007-03-08 22:26  gb
102
103        * level-1/linux-files.lisp: *spin-lock-tries* with a trailing *.
104
1052007-03-08 22:24  gb
106
107        * lib/numbers.lisp: printing random-state: don't shift seeds.
108
1092007-03-08 22:24  gb
110
111        * level-1/l1-numbers.lisp: MAKE-RANDOM-STATE: don't shift.
112
1132007-03-08 22:24  gb
114
115        * level-0/X86/x86-numbers.lisp: Do %next-random-seed more portably.
116
1172007-03-08 22:23  gb
118
119        * level-0/PPC/PPC64/ppc64-bignum.lisp: Typo in comment.
120
1212007-03-08 22:23  gb
122
123        * level-0/PPC/ppc-numbers.lisp: Just a 32-bit version of
124        %next-random-pair.
125
1262007-03-08 22:22  gb
127
128        * level-0/l0-numbers.lisp: And, while we're at it: do the
129        next-random-seed permutation in %next-random-pair, which accepts
130        and returns a pair of 16-bit integers.  That's in lap on ppc32 and
131        in lisp on 64-bit platforms.
132
1332007-03-08 22:20  gb
134
135        * level-0/l0-numbers.lisp: Don't shift random seeds.
136
1372007-03-08 03:30  gb
138
139        * level-1/x86-error-signal.lisp: Check for trap opcode >= #x70
140        rather than >= #x80, because of the new way that
141        uuo-error-slot-unbound is encoded.
142
1432007-03-08 03:28  gb
144
145        * compiler/X86/x86-disassemble.lisp: Recognize
146        uuo-error-slot-unbound.
147
1482007-03-08 03:28  gb
149
150        * compiler/X86/x86-asm.lisp: Use (int #x7_) for
151        uuo-error-slot-unbound, since some (int #x8_) traps confuse Mach.
152
1532007-03-07 08:29  gb
154
155        * compiler/PPC/ppc2.lisp: Don't shadow the definition of PPC-DIV2.
156
1572007-03-07 07:45  gb
158
159        * level-1/linux-files.lisp: For #+linux-target, try to use
160        #_sysconf in CPU-COUNT, and fall back to parsing /proc/cpuinfo only
161        if that fails.  (CPU-COUNT is called early in the cold load, before
162        we can make the file-stream necessary to do the parsing.)
163
1642007-03-07 07:33  gb
165
166        * lisp-kernel/: linuxppc/Makefile, linuxppc64/Makefile,
167        linuxx8664/Makefile: Handle new GNU ld "hash-style" linker options.
168
1692007-03-07 07:25  gb
170
171        * lisp-kernel/x86-exceptions.h: Darwin signal return: logior in the
172        el-bizarro syscall mask, pass the magic number 0x1e as a second
173        arg, just in case.
174
1752007-03-07 07:24  gb
176
177        * level-1/l1-sysio.lisp: OPEN, CLOSE lock *OPEN-FILE-STREAMS-LOCK*
178        before accessing *OPEN-FILE-STREAMS*.
179
1802007-03-07 07:23  gb
181
182        * level-1/l1-readloop.lisp: Add comment about
183        *OPEN-FILE-STREAMS-LOCK*.
184
1852007-03-07 07:23  gb
186
187        * level-1/l1-init.lisp: Add *OPEN-FILE-STREAMS-LOCK*.
188
1892007-03-07 07:21  gb
190
191        * lib/nfcomp.lisp: Bind *FCOMP-PREVIOUS-POSITION* in
192        FCOMP-READ-LOOP (e.g., don't just hammer on the static binding.)
193
1942007-03-07 07:05  gb
195
196        * xdump/heap-image.lisp: Bump current image version.
197
1982007-03-07 07:02  gb
199
200        * lisp-kernel/x86-asmutils64.s: Some (currently unused) CPUID
201        "calls" want an argument in ecx.  Set that arg to 0 for now.
202
2032007-03-07 07:01  gb
204
205        * lisp-kernel/thread_manager.c: Use spinlocks to guard updates to
206        "real" locks; those updates can be simplified.
207       
208        lock_recursive_lock: no (ignored) timeout arg.
209
2102007-03-07 06:59  gb
211
212        * lisp-kernel/image.h: Bump current, max abi versions; continue to
213        support the old one.
214
2152007-03-07 06:59  gb
216
217        * lisp-kernel/Threads.h: #include #<sched.h>, for sched_yield()
218        prototype.  Change declaration of LOCK macro: no null timespec
219        required.  RECURSIVE_LOCKs have spinlock fields.
220
2212007-03-07 06:56  gb
222
223        * level-1/version.lisp: bump, indicate work-in-progress development
224        version.
225
2262007-03-07 06:56  gb
227
228        * level-1/linux-files.lisp: Determing *spin-lock-tries* at launch
229        time, based on cpu-count.  YIELD moved here, does #_sched_yield
230        rather than something lower-level.
231
2322007-03-07 06:53  gb
233
234        * level-0/l0-misc.lisp: Locks use spinlocks, try *spin-lock-tries*
235        to obtain them before yielding.
236
2372007-03-07 06:52  gb
238
239        * level-0/l0-io.lisp: Move YIELD elsewhere.
240
2412007-03-07 06:51  gb
242
243        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
244        X86/X8664/x8664-arch.lisp: Add spinlock field to lockptr storage
245        layout.
246
2472007-03-02 05:10  gb
248
249        * level-1/l1-application.lisp: Toplevel function: initial-listener
250        class is 'TTY-LISTENER.
251
2522007-03-02 05:09  gb
253
254        * level-1/l1-lisp-threads.lisp: Print n's value, not n in error
255        message.
256
2572007-03-02 05:09  gb
258
259        * level-1/l1-processes.lisp: New process class: TTY-LISTENER.
260       
261        EXIT-INTERACTIVE-PROCESS: for most processes, just PROCESS-KILL.
262        For TTY-LISTENER, call QUIT.
263
2642007-03-02 05:08  gb
265
266        * level-1/l1-readloop-lds.lisp: Don't call QUIT on EOF, call
267        EXIT-INTERACTIVE-PROCESS instead.
268       
269        Look at *QUIT-ON-EOF* when deciding what to do in response to EOF.
270
2712007-03-02 05:06  gb
272
273        * lib/ccl-export-syms.lisp: Export *quit-on-eof*.
274
2752007-03-02 05:06  gb
276
277        * lib/macros.lisp: WITH-MACPTRS: move initialization/modification
278        of null pointers into body.
279
2802007-03-02 05:05  gb
281
282        * lisp-kernel/x86-exceptions.c: Try to handle two more cases of
283        consus-interruptus.
284
2852007-03-02 05:05  gb
286
287        * compiler/nx0.lisp: (the <type> <constant>) transforms to
288        <constant> if constant is of type <type>.)
289       
290        Do we need an ignore-errors here ? Or does <type> need to be
291        defined ?
292
2932007-03-02 05:03  gb
294
295        * compiler/X86/x862.lisp: Do the / * thing.
296
2972007-03-02 05:02  gb
298
299        * compiler/X86/X8664/x8664-vinsns.lisp: things that do calls need
300        :call attribute.
301
3022007-03-01 04:04  gb
303
304        * lisp-kernel/x86-spentry64.s: binding primitives: set value after
305        new binding frame
306
3072007-02-28 07:04  gb
308
309        * level-0/X86/x86-numbers.lisp: In %fixnum-truncate, use -8(sp)
310        rather than %rbp; trust callback_for_interrupt() to preserve it.
311
3122007-02-28 07:03  gb
313
314        * lisp-kernel/x86-exceptions.c: Try to preserve -8(sp) across
315        callback_for_interrupt().
316
3172007-02-28 05:18  gb
318
319        * lisp-kernel/x86-gc.c: check_node: ignore tiny things (shift
320        counts) that may wind up on the vstack.
321       
322        Since those tiny things might be tagged as headers, walk the vstack
323        with new "headerless" functions that ignore headers.
324
3252007-02-28 05:16  gb
326
327        * lisp-kernel/x86-exceptions.c: In pc_luser_xp: if allocating and
328        before the alloc trap and interrupting, back out of the
329        modification to save_allocptr (and allocptr register) and set
330        *interrupt_displacement.
331
3322007-02-23 10:13  gb
333
334        * lib/foreign-types.lisp: Changes to GUESS-ALIGNMENT.  Again, this
335        only makes sense for cases where we have to guess; a bitfield
336        that's 8 bits wide still has an alignment of 1.
337       
338        Factor in the alignment of the containing int when bitfields are
339        involved.
340       
341        When parsing a record type, set the "bits" slot of each field.
342        (Not too many things look at that slot, but we want the effect of
343        loading a record from the database to match the effect of parsing a
344        definition as exactly as possible, and to be able to use EQUALP to
345        compare the results.)
346
3472007-02-23 10:06  gb
348
349        * lib/db-io.lisp: Some extra fields in
350        objc-message-info/objc-method-info structures.
351       
352        When calculating overall alignment of a structure, treat bitfields
353        as if they were :unsigned-int (since there's a "containing"
354        unsigned int that affects alignment.  N.B: this should be imposed
355        for anything that has an alignment of 1, not just a size of 1.)
356       
357        When loading integer types, try to use the precomputed types rather
358        than consing a new one.  This (a) reduces consing a little (b) is
359        more likely to get the alignment correct.  For (b), we really need
360        to distinguish between bitfields and addressable integers.
361
3622007-02-23 09:30  gb
363
364        * compiler/X86/x862.lisp: Nonsense in x862-set-bit.
365
3662007-02-22 02:33  gb
367
368        * level-0/l0-misc.lisp: Tweak ROOM output a little.
369
3702007-02-22 02:28  gb
371
372        * lisp-kernel/x86-gc.c: Fix up the verbose GC herald a bit (get
373        heap size right ...).
374
3752007-02-22 02:27  gb
376
377        * lisp-kernel/linuxx8664/Makefile: Tell GNU ld to use the
378        traditional (sysv) style of hash maps, if it understands that
379        option.
380
3812007-02-21 06:01  gb
382
383        * lisp-kernel/: ppc-gc.c, x86-gc.c: Handle the case where nothing
384        has been consed since last GC.  (There are some fenceposts there.)
385       
386        verbose GC herald tries to indicate how much is allocated in the
387        area being GCed.
388
3892007-02-21 05:58  gb
390
391        * lisp-kernel/: ppc-exceptions.c, x86-exceptions.c: If full GC is
392        deferred, ensure that a full GC happens after WITHOUT-GCING exits.
393
3942007-02-21 05:57  gb
395
396        * compiler/X86/x86-disassemble.lisp: Continue disassembly after
397        uuo-gc-trap.
398
3992007-02-19 04:50  gb
400
401        * lib/foreign-types.lisp: Use keywords more consistently.
402       
403        (Note: there seems to be a bug which is keeping the cdb data
404        structures from getting defined correctly at load time; the
405        workaround is to compile foreign-types.lisp - which defines them -
406        in the same session as and before db-io - which uses them - is
407        compiled.)
408
4092007-02-19 04:48  gb
410
411        * level-0/X86/x86-clos.lisp: UNSET-FIN-TRAMPOLINE: don't tail-call
412        error.
413
4142007-02-19 04:42  gb
415
416        * level-0/PPC/ppc-clos.lisp: UNSET-FIN-TRAMPOLINE: don't tail-call
417        the error function.
418
4192007-02-19 04:40  gb
420
421        * level-1/l1-clos-boot.lisp: MAYBE-UPDATE-OBSOLETE-INSTANCE: handle
422        funcallable objects that aren't STANDARD-GENERIC-FUNCTIONs.
423
4242007-02-19 04:40  gb
425
426        * level-1/l1-clos.lisp: Move GENERIC-FUNCTION-NAME to
427        FUNCALLABLE-STANDARD-OBJECT.
428       
429        %ALLOCATE-GF-INSTANCE: don't create a dispatch table if not
430        creating a GF.
431
4322007-02-19 04:36  gb
433
434        * lib/describe.lisp: STANDARD-OBJECT-LINE-N: handle
435        funcallable-stanard-objects better.
436
4372007-02-19 04:34  gb
438
439        * lib/ccl-export-syms.lisp: Export FUNCALLABLE-STANDARD-OBJECT from
440        CCL, OPENMCL-MOP.
441
4422007-02-19 02:09  gb
443
444        * level-1/l1-clos-boot.lisp: FUNCALLABLE-STANDARD-OBJECT is a
445        FUNCALLABLE-STANDARD-CLASS.
446
4472007-02-19 02:07  gb
448
449        * examples/bridge.lisp: MAKE-OPTIMIZED-SEND: missing "msg" arg in
450        error message.
451
4522007-02-15 02:46  gb
453
454        * examples/objc-support.lisp: Call REGISTER-OBJC-INIT-MESSAGES
455        after MAP-OBJC-CLASSES in LOAD-OBJC-EXTENSION-FRAMEWORK.
456
4572007-02-15 02:45  gb
458
459        * examples/bridge.lisp: UPDATE-OBJC-METHOD-INFO: don't process init
460        methods yet.
461
4622007-02-14 02:39  gb
463
464        * release-notes.txt: Fix a typo.
465
4662007-02-14 02:35  gb
467
468        * release-notes.txt: Update for 070214 snapshots.
469
4702007-02-13 23:36  gb
471
472        * level-1/version.lisp: Bump.
473
4742007-02-13 23:36  gb
475
476        * lisp-kernel/image.h, xdump/heap-image.lisp: Update
477        image-abi-version.
478
4792007-02-13 23:29  gb
480
481        * xdump/faslenv.lisp: Finish bumping fasl version.
482
4832007-02-13 23:15  gb
484
485        * lib/nfcomp.lisp: Bump current fasl version.
486
4872007-02-13 23:02  gb
488
489        * x86-headers64/gl/C/populate.sh: rm -rf ./usr
490
4912007-02-13 22:45  gb
492
493        * xdump/faslenv.lisp: Start bumping fasl-version.
494
4952007-02-13 22:41  gb
496
497        * freebsd-headers64/: gmp/C/populate.sh, gnome2/C/populate.sh,
498        gtk2/C/populate.sh, libc/C/populate.sh: rm -rf  ./usr
499
5002007-02-13 21:16  gb
501
502        * freebsd-headers64/gl/C/populate.sh: Avoid processing some files
503        that contain incompatible definitions of some math library stuff
504        ("log" either has to do with logarithms or logging ...).
505
5062007-02-13 18:42  gb
507
508        * lib/misc.lisp: Change the way that TIME is reported by default:
509        mention the number of available CPU cores, don't assume that
510        there's that much of a relationship between CPU time and wall-clock
511        time.
512
5132007-02-13 18:41  gb
514
515        * level-1/linux-files.lisp: Don't do whatever el-bizarro Mach thing
516        once seemed to be necessary in %%RUSAGE.  Require syscall stuff
517        when :execute, too.
518
5192007-02-13 18:35  gb
520
521        * lib/ffi-linuxppc64.lisp: It's %%get-unsigned-longlong, and the
522        offset arg is required.
523
5242007-02-13 18:12  gb
525
526        * level-0/X86/x86-misc.lisp: Add rdtsc (returns 60 bit non-negative
527        fixnum) and rdtsc64 (returns 64-bit non-negative integer.)
528
5292007-02-13 18:10  gb
530
531        * lib/time.lisp: Simpler GET-INTERNAL-RUN-TIME (tries harder not to
532        cons.)
533
5342007-02-13 18:10  gb
535
536        * examples/rubix/rubix.lisp: A little bit of cgfloat stuff; there
537        are more/other float-size issues deeper down in the code.
538
5392007-02-13 18:09  gb
540
541        * examples/objc-support.lisp: Fixup the x86-64 error-return
542        callback trampiline code (was missing a byte of machine code.)
543
5442007-02-13 18:08  gb
545
546        * examples/objc-runtime.lisp: Set the mxcsr/fpctrl fields of
547        jmp-buf to safe/sane values.
548
5492007-02-13 18:07  gb
550
551        * examples/cocoa-window.lisp: Don't change-class
552        *cocoa-event-process* until we start to run the event loop.
553       
554        Don't do _deallocHardCore: explicitly.
555
5562007-02-13 17:35  gb
557
558        * compiler/PPC/ppc2.lisp: poweropen-foreign-args: on ppc64, a
559        DOUBLE-FLOAT aliases just one gpr.
560
5612007-02-13 17:34  gb
562
563        * darwin-headers64/libc/C/populate.sh: Select the SDK directory.
564
5652007-02-13 17:34  gb
566
567        * library/pty.lisp: return-value pointers in OPEN-PTY-PAIR are just
568        32-bit ints, not "long".
569
5702007-02-13 17:33  gb
571
572        * lib/ffi-darwinppc64.lisp: Callback arguments: update offset/delta
573        for each scalar, not each arg.
574       
575        Fix some backquoting/indentation.
576
5772007-02-13 17:31  gb
578
579        * lib/ffi-darwinppc32.lisp: Fix typo (^get-signed-long).
580
5812007-02-12 16:23  gb
582
583        * darwin-x86-headers64/libc/C/populate.sh: Select an SDK.
584
5852007-02-11 20:22  gb
586
587        * examples/bridge.lisp: method-typestring needs to be
588        conditionalized.  How has this been working ?
589
5902007-02-11 20:22  gb
591
592        * examples/cocoa-editor.lisp: remove some debugging code.
593
5942007-02-11 20:21  gb
595
596        * examples/objc-runtime.lisp: %mlist-containing is
597        #-apple-objc-2.0.
598
5992007-02-11 20:21  gb
600
601        * examples/objc-support.lisp: Lose a quote mark, fix another typo.
602
6032007-02-11 05:35  gb
604
605        * level-1/version.lisp: Bump.
606
6072007-02-11 05:28  gb
608
609        * darwin-headers/: addressbook/C/populate.sh, carbon/C/populate.sh,
610        cocoa/C/populate.sh, gl/C/populate.sh, libc/C/populate.sh,
611        quicktime/C/populate.sh, webkit/C/populate.sh: Make the SDK prefix
612        an optional argument; default to the Tiger SDK.
613
6142007-02-11 05:26  gb
615
616        * lib/ffi-darwinppc32.lisp: Ignore errors; it's an error to ignore
617        an errror.
618
6192007-02-11 05:26  gb
620
621        * level-1/ppc-trap-support.lisp: Conditionalize for gratuitous
622        Leopard renaming.  Suffer.
623
6242007-02-11 05:25  gb
625
626        * level-1/l1-boot-lds.lisp: MAKE-MCL-LISTENER-PROCESS will preset
627        an existing process (so that the listener process appears to be
628        "persistent".)
629
6302007-02-11 05:24  gb
631
632        * level-1/l1-application.lisp: LISP-DEVELOPMENT-SYSTEM tries to
633        make the initial-listener object persistent acrosss
634        SAVE-APPLICATION.
635
6362007-02-11 00:01  gb
637
638        * examples/objc-support.lisp: Deftype for CF-FLOAT.
639       
640        Handle callback-error-returns on x86-64.
641
6422007-02-11 00:00  gb
643
644        * examples/objc-runtime.lisp: Pointer comparisons in splay trees
645        use %ptr<, to hide word-size differences.
646       
647        __NSConstantStringClassReference isn't what it used to be, so look
648        up NSConstantStringClass the hard way.
649       
650        Handle ns-exception/lisp-error stuff on x86-64.
651       
652        Do arg/result coercions differently.  Does any code depend on
653        COERCE-TO-ADDRESS behavior ?  (It can cause extra consing of
654        MACPTRs).
655       
656        Use the new FFI interface for message-sends, callbacks to try to
657        hide platform-specific ABI issues.
658       
659        The _deallocate-hook mechanism - which never really worked -
660        probably can't work on Objc-2.0.
661
6622007-02-10 23:54  gb
663
664        * examples/bridge.lisp: Make structure return-type explicit in
665        objc-message-send calls in send/stret and variants.
666
6672007-02-10 22:34  gb
668
669        * examples/cocoa-window.lisp: Some indentation changes and slight
670        reorganization of the code; shouldn't be any functional/semantic
671        changes.
672
6732007-02-10 22:30  gb
674
675        * examples/: cocoa-editor.lisp, cocoa-prefs.lisp,
676        cocoa-typeout.lisp: Need to ensure that floats are CG-FLOATs when
677        appropriate; other changes for 64-bit platforms, Objc-2.0.
678
6792007-02-10 22:28  gb
680
681        * examples/: webkit.lisp, tiny.lisp: Need to ensure that floats are
682        CG-FLOATs when appropriate.
683
6842007-02-10 22:28  gb
685
686        * hemlock/bin/openmcl/.cvsignore: Ignore fasls for all platforms.
687
6882007-02-10 22:28  gb
689
690        * level-0/X86/x86-misc.lisp: VALUES uses :ARGLIST pseudo-op.
691
6922007-02-10 22:27  gb
693
694        * lib/: ffi-linuxppc64.lisp, ffi-darwinppc32.lisp,
695        ffi-darwinppc64.lisp, ffi-linuxppc32.lisp: EXPAND-FF-CALL:
696        ignore-errors when trying to parse the last arglist form as a
697        foreign type.
698
6992007-02-10 22:26  gb
700
701        * lib/foreign-types.lisp: Pretty much commited to the new FF-CALL
702        expansion ...
703
7042007-02-10 22:26  gb
705
706        * lisp-kernel/x86-spentry64.s: Preserve %rax when doing ff-call;
707        use %rdx and %r11 to hold target address.
708
7092007-02-10 22:23  gb
710
711        * library/pty.lisp: Unicode stuff when accessing control char
712        array; conditionalize for #+darwin-target, not just
713        #+darwinppc-target.
714
7152007-02-10 22:22  gb
716
717        * level-1/l1-callbacks.lisp: Fix a comment (defcallback isn't
718        ppc-specific; the comment dated from the days of 68K MCL.)
719
7202007-02-10 22:21  gb
721
722        * compiler/X86/X8664/x8664-backend.lisp: Fix some typos; do struct
723        return 32 bits at a time, to avoid consing little bignums.
724
7252007-02-10 22:15  gb
726
727        * compiler/X86/x86-lap.lisp: Support :arglist directive.
728
7292007-02-10 22:15  gb
730
731        * compiler/X86/x862.lisp: alloc-c-frame vinsn takes "extra" word
732        count, not total byte count.
733       
734        Fix handling of $undo-x86-c-frame in x862-nlexit.  (Need to check
735        the PPC case, as well.)
736
7372007-02-10 22:11  gb
738
739        * compiler/X86/X8664/x8664-vinsns.lisp: There doesn't need to be a
740        "zero-extend-s8" vinsn, but there does need to be a
741        "zero-extend-u8".
742
7432007-02-10 05:38  gb
744
745        * level-0/PPC/ppc-misc.lisp: Use new :ARGLIST directive in
746        #'VALUES.
747
7482007-02-10 05:38  gb
749
750        * compiler/PPC/ppc-lap.lisp: Support an :ARGLIST directive, so that
751        ARGLIST can say -something- about lap functions that don't take a
752        fixed number of arguments.
753
7542007-02-07 02:54  gb
755
756        * compiler/X86/X8664/x8664-backend.lisp: They spell "valu" with an
757        "e".
758
7592007-02-02 02:32  gb
760
761        * examples/: bridge.lisp, objc-clos.lisp, objc-runtime.lisp,
762        objc-support.lisp: Start to integrate with FFI changes.  No more
763        %SEND, process and precompile "init" messages when interfaces are
764        accessed.  (Note: should try to handle varargs init messages, even
765        if we have to call %FF-CALL at runtime.)
766
7672007-02-02 02:31  gb
768
769        * examples/: addressbook.lisp, webkit.lisp: Change the
770        initialization code a bit.
771
7722007-02-02 02:27  gb
773
774        * lib/foreign-types.lisp: Try to fix another case involving
775        "auxiliary types".
776       
777        I think that the concept of auxiliary types might make sense in a
778        context like:
779       
780        (def-foreign-type nil   (:struct :foo     (:a :int)     (:b
781        (:struct :bar (:x :int) (:y :int)))))
782       
783        In that case, :struct :bar is local to the definition.  In the
784        similar case:
785       
786        (def-foreign-type nil   (:struct :foo     (:a :int)     (:b
787        (:struct :bar))))
788       
789        :BAR is presumably defined (globally) elsewhere.
790
7912007-02-02 02:17  gb
792
793        * darwin-headers/addressbook/C/populate.sh: Specify the SDK to use.
794         (Setting "SDK=" will hopefully work with older version of xcode.)
795
7962007-02-02 02:15  gb
797
798        * darwin-headers/addressbook/C/.cvsignore: Ignore ./Developer.
799
8002007-01-31 23:26  gb
801
802        * compiler/PPC/ppc2.lisp: Don't treat :registers arg as a real
803        argument in ppc2-poweropen-foreign-args.
804
8052007-01-31 22:47  gb
806
807        * lib/ffi-darwinppc64.lisp: Needed ,@ to return assign structure
808        components from registers.
809
8102007-01-31 22:45  gb
811
812        * lib/db-io.lisp: UNESCAPE-FOREIGN-NAME: strings with no angle
813        brackets are returned verbatim, not downcased.
814
8152007-01-31 22:44  gb
816
817        * level-0/PPC/ppc-def.lisp: Runtime version of 64-bit %ff-call
818        accepts :registers.
819
8202007-01-31 16:36  gb
821
822        * darwin-headers64/chud/: .cvsignore, C/.cvsignore, C/populate.sh:
823        New (and, so far, useless) files.
824
8252007-01-31 16:35  gb
826
827        * library/chud-metering.lisp: Add a comment; CHUD.Framework still
828        seems to be 32-bit only.
829
8302007-01-31 16:34  gb
831
832        * darwin-headers64/libc/C/.cvsignore: Ignore ./Developer.
833
8342007-01-31 16:34  gb
835
836        * darwin-headers64/libc/C/populate.sh: Use SDK; add dlfcn.h.
837
8382007-01-31 16:33  gb
839
840        * lib/db-io.lisp: Tweak the warning given if CDB-OPEN fails:
841        missing cdb file: dog bytes man; missing parent directory is more
842        newsworthy.
843
8442007-01-31 15:38  gb
845
846        * library/chud-metering.lisp: Tweak a little, so that it might work
847        on darwinppc64 (and on darwinx8664 when purify does something
848        there.)
849
8502007-01-31 15:06  gb
851
852        * darwin-headers/libc/C/populate.sh: Add dlfcn.h.
853
8542007-01-31 02:49  gb
855
856        * level-0/PPC/PPC32/ppc32-bignum.lisp: BIGNUM-NEGATE-TO-PTR.
857
8582007-01-30 22:53  gb
859
860        * freebsd-headers64/: gtk2/C/.cvsignore, gtk2/C/populate.sh,
861        gl/C/.cvsignore, gl/C/populate.sh, gnome2/.cvsignore,
862        gnome2/C/.cvsignore, gnome2/C/populate.sh, gtk2/.cvsignore,
863        gl/.cvsignore: new files.
864
8652007-01-30 22:21  gb
866
867        * freebsd-headers64/gmp/: C/.cvsignore, C/populate.sh, .cvsignore:
868        new files.
869
8702007-01-30 21:58  gb
871
872        * level-0/l0-bignum64.lisp: BIGNUM-NEGATE-TO-POINTER.
873
8742007-01-30 21:58  gb
875
876        * x86-headers64/gmp/: .cvsignore, C/.cvsignore, C/populate.sh: new
877        file
878
8792007-01-30 21:49  gb
880
881        * level-1/l1-sockets.lisp: Learn to conditionalize! It's easy and
882        fun!
883
8842007-01-30 21:40  gb
885
886        * library/openmcl-gtk-support.lisp: Conditionalize out the
887        event-polling task.
888
8892007-01-30 21:36  gb
890
891        * headers64/: gl/.cvsignore, gl/C/.cvsignore, gl/C/populate.sh,
892        gnome2/.cvsignore, gnome2/C/.cvsignore, gnome2/C/populate.sh,
893        gtk2/.cvsignore, gtk2/C/.cvsignore, gtk2/C/populate.sh: new file
894
8952007-01-30 21:35  gb
896
897        * headers/gl/C/populate.sh: process glu.h
898
8992007-01-30 17:47  gb
900
901        * library/parse-ffi.lisp: Always encode explicit structure-typed
902        function return values.
903       
904        Note when we see one, for now.
905
9062007-01-30 17:45  gb
907
908        * lib/foreign-types.lisp: %EXTERNAL-CALL-EXPANDER allows/requires a
909        leading argument to be paired with a structure-typed return-type.
910
9112007-01-30 17:43  gb
912
913        * lib/ffi-linuxppc32.lisp: linuxppc32 always returns structures via
914        the first-arg hack.
915
9162007-01-30 17:42  gb
917
918        * lib/db-io.lisp: Bump *interface-abi-version*, but continue to
919        support the old version.
920       
921        Don't check the :struct-by-value flag when encoding function
922        args/results.  (That decision's made above our pay grade now.)
923       
924        When reading a :struct/:union definition, try to update an existing
925        defintion rather than consing up a new one (this matters if the
926        record is anonymous.)
927
9282007-01-30 17:39  gb
929
930        * level-1/l1-sockets.lisp: Try to ensure that the :FORMAT argument
931        gets passed to MAKE-TCP-STREAM-SOCKET and MAKE-FILE-STREAM-SOCKET
932        correctly.
933       
934        Fix c_socket for #+linuxppc.
935
9362007-01-30 08:20  gb
937
938        * level-1/version.lisp: Bump.
939
9402007-01-30 08:20  gb
941
942        * lib/compile-ccl.lisp: Use make -j to build kernel.
943
9442007-01-30 07:02  gb
945
946        * lisp-kernel/x86-spentry64.s: .SPcallback returns rax/rdx,
947        xmm0/xmm1.
948
9492007-01-30 07:01  gb
950
951        * lib/macros.lisp: Use new callback interface unconditionally.  (A
952        day's work turned into 2 weeks, somehow.)
953
9542007-01-30 07:00  gb
955
956        * compiler/X86/X8664/x8664-backend.lisp, lib/ffi-darwinx8664.lisp,
957        lib/ffi-freebsdx8664.lisp, lib/ffi-linuxx8664.lisp: New callback
958        stuff for x8664 (all platfroms appear to use the same ABI.)
959
9602007-01-30 03:26  gb
961
962        * level-0/X86/x86-misc.lisp: Don't use boxed "disp" for
963        displacement in %ATOMIC-INCF-NODE.
964
9652007-01-29 07:27  gb
966
967        * lib/macros.lisp: Enable new callback stuff on #+ppc-target.
968
9692007-01-29 07:27  gb
970
971        * lib/ffi-darwinppc64.lisp: new callback stuff.
972
9732007-01-29 07:27  gb
974
975        * lib/ffi-darwinppc32.lisp: typos-r-us.
976
9772007-01-29 04:37  gb
978
979        * lib/ffi-darwinppc32.lisp: Flesh out darwinppc32 callback stuff.
980
9812007-01-29 04:37  gb
982
983        * lib/ffi-linuxppc64.lisp: Fix some typos/bugs; more likely remain.
984
9852007-01-29 04:36  gb
986
987        * lib/foreign-types.lisp: REQUIRE-FOREIGN-TYPE-BITS.
988
9892007-01-29 04:36  gb
990
991        * lib/macros.lisp: Use new callback scheme for darwinppc32, too.
992
9932007-01-29 04:36  gb
994
995        * compiler/PPC/PPC32/ppc32-backend.lisp: No more (old) callback
996        stuff here.
997
9982007-01-29 02:33  gb
999
1000        * lib/ffi-darwinppc32.lisp: Flesh out the new callback stuff.
1001
10022007-01-28 21:47  gb
1003
1004        * lib/: ffi-linuxppc32.lisp, ffi-linuxppc64.lisp: Flesh things out
1005        a bit more, change the API, get things working ... still a moving
1006        target.
1007
10082007-01-28 21:46  gb
1009
1010        * lib/macros.lisp: For linuxppc, use the new callback mechanism.
1011        (Other platforms still need more bootstrapping.)
1012
10132007-01-28 21:44  gb
1014
1015        * compiler/PPC/PPC32/ppc32-backend.lisp: Lose the old eabi-callback
1016        stuff; linuxppc 32/64-bit callbacks now use the new scheme.
1017
10182007-01-28 03:21  gb
1019
1020        * lib/ffi-linuxppc32.lisp: Remove some typos.  Need to pass
1021        dynamic-extent, other decls separately.
1022
10232007-01-28 03:20  gb
1024
1025        * compiler/PPC/PPC32/ppc32-backend.lisp: Fix some of this stuff;
1026        use the new (ftd-based) scheme.
1027
10282007-01-28 01:43  gb
1029
1030        * compiler/PPC/PPC64/ppc64-backend.lisp: Fix some typos.  (This
1031        code's getting replaced, but fix 'em anyway.)
1032
10332007-01-28 01:42  gb
1034
1035        * lib/db-io.lisp: If a .cdb file can't be opened, show the
1036        translated pathname and mention the fact that this might indicate a
1037        problem with "ccl:"'s logical translations.
1038
10392007-01-25 04:37  gb
1040
1041        * lib/foreign-types.lisp: Never fully understood the concept
1042        "auxiliary" foreign types, but try to canonicalize intermediate
1043        struct/union/enum references, so that (EQ (PARSE-FOREIGN-TYPE
1044        '(:STRUCT :FOO))     (PARSE-FOREIGN-TYPE '(:STRUCT :FOO))) is more
1045        likely to return T (e.g., something registered in the FTD.
1046       
1047        It seems clear that this is the right thing when the structure
1048        reference is in global scope; I'm not sure what it'd mean for that
1049        not to be the case.
1050
10512007-01-25 04:32  gb
1052
1053        * lib/ffi-linuxppc32.lisp: More plausible callback-bindings
1054        callback.
1055
10562007-01-24 23:41  gb
1057
1058        * lib/ffi-linuxppc32.lisp: First cut at callback-bindings thing;
1059        may not even compile.
1060
10612007-01-24 02:39  gb
1062
1063        * compiler/: PPC/PPC32/ppc32-backend.lisp,
1064        PPC/PPC64/ppc64-backend.lisp, X86/X8664/x8664-backend.lisp: Stubs
1065        for new FTD functions.
1066
10672007-01-24 02:28  gb
1068
1069        * lib/foreign-types.lisp: A few more fields (for callbacks) in ftd
1070        defstruct.
1071
10722007-01-23 15:28  gb
1073
1074        * compiler/PPC/: PPC32/ppc32-backend.lisp,
1075        PPC64/ppc64-backend.lisp: Get FPRs from where subprim saved them.
1076        Return FPRs in the same place.  (Will need to re-work all of this
1077        for platform-dependent structure stuff.)
1078
10792007-01-23 15:26  gb
1080
1081        * lisp-kernel/ppc-spentry.s: poweropen-callback, callbackX; save fp
1082        args here.  Return all (arg) GPRs and FPRs (needs cooperation from
1083        the lisp side.)
1084
10852007-01-23 15:21  gb
1086
1087        * lisp-kernel/: ppc-constants32.s, ppc-constants64.s: Add room in
1088        c_reg_save for saved fp args (f1-f13).
1089
10902007-01-23 15:14  gb
1091
1092        * lib/foreign-types.lisp: FF-CALL implemented in terms of the new
1093        ftd hook.
1094
10952007-01-23 07:19  gb
1096
1097        * level-1/l1-clos-boot.lisp: ppc32, ppc64 also had trouble with
1098        (CLASS-OF non-simple-string).
1099
11002007-01-23 07:02  gb
1101
1102        * level-1/l1-clos-boot.lisp: x8664 class-of: typo in non-simple
1103        array case, needed new string definition.
1104
11052007-01-23 07:01  gb
1106
1107        * lib/: ffi-darwinx8664.lisp, ffi-freebsdx8664.lisp,
1108        ffi-linuxx8664.lisp: Define ffi stuff in terms of common things in
1109        compiler/X86/X8664/x8664-backend.
1110
11112007-01-23 06:59  gb
1112
1113        * compiler/X86/X8664/x8664-backend.lisp: Define (common) x8664 ffi
1114        stuff here.
1115
11162007-01-21 08:32  gb
1117
1118        * compiler/X86/x862.lisp: Name vinsn ff-call-return-registers (not
1119        "-returning-").
1120       
1121        Typecheck the :registers arg.
1122
11232007-01-21 08:32  gb
1124
1125        * compiler/X86/X8664/x8664-vinsns.lisp: ff-call-return-registers.
1126
11272007-01-21 08:31  gb
1128
1129        * compiler/X86/X8664/x8664-arch.lisp: WITH-FFCALL-RESULTS: zero the
1130        stack-block.
1131
11322007-01-21 08:31  gb
1133
1134        * lisp-kernel/x86-spentry64.s: Don't use save3 in
1135        .SPffcall_return_registers (save3 = r11); use save2 (= r13)
1136        instead.
1137
11382007-01-21 06:46  gb
1139
1140        * compiler/PPC/PPC64/ppc64-arch.lisp: WITH-FFCALL-RESULTS needs
1141        space for 13 float registers, not 31.
1142
11432007-01-21 06:45  gb
1144
1145        * compiler/X86/X8664/x8664-arch.lisp: WITH-FFCALL-RESULTS for
1146        x86-64.
1147
11482007-01-21 06:38  gb
1149
1150        * compiler/X86/x862.lisp: ff-call: handle n-word struct-by-value,
1151        register return without typos.
1152
11532007-01-21 06:15  gb
1154
1155        * compiler/X86/x862.lisp: ff-call: handle n-word struct-by-value,
1156        register return.
1157
11582007-01-21 06:14  gb
1159
1160        * compiler/nx1.lisp: Don't assume that passing a structure by value
1161        in N words is Darwin-specific.  (LinuxPPC32 is probably the only
1162        platform that doesn't support the convention.)
1163
11642007-01-21 06:12  gb
1165
1166        * compiler/X86/X8664/x8664-arch.lisp: .SPffcall-return-registers
1167        replaces .SPunused-4.
1168
11692007-01-21 06:10  gb
1170
1171        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s:
1172        .SPffcall_return_registers (just returns %rax/rdx, %xmm0/%xmm1).
1173        (replaces .SPunused_4).
1174
11752007-01-21 00:05  gb
1176
1177        * lib/: ffi-linuxppc32.lisp, ffi-linuxppc64.lisp: Use
1178        argument/result coercion functions in os::expand-ff-call.
1179
11802007-01-20 23:53  gb
1181
1182        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp: Coerce arg,
1183        results when expanding an ff-call.
1184
11852007-01-20 23:52  gb
1186
1187        * lib/foreign-types.lisp: Default (no-op) functions for coercing
1188        foreign args, results.
1189
11902007-01-20 22:31  gb
1191
1192        * lib/ffi-linuxppc64.lisp: 4 down.  Whether 2 or 3 to go depends on
1193        your perspective (and on how close x86-64 Linux and x86-64 FreeBSD
1194        are to each other.  I'd guess that they're pretty close, and that
1195        x86-64 Darwin is random.)
1196
11972007-01-20 21:55  gb
1198
1199        * lib/ffi-linuxppc32.lisp: Pretty simple.  3 down, 4 to go.
1200
12012007-01-20 19:34  gb
1202
1203        * compiler/X86/X8664/x8664-backend.lisp: Package prefixes.  D'oh!
1204
12052007-01-20 19:25  gb
1206
1207        * compiler/X86/X8664/x8664-backend.lisp: Add references to the
1208        right os::ff-call-expander.
1209
12102007-01-20 19:24  gb
1211
1212        * compiler/PPC/PPC64/ppc64-arch.lisp: Remove some wip code.
1213
12142007-01-20 19:24  gb
1215
1216        * compiler/PPC/: PPC32/ppc32-backend.lisp,
1217        PPC64/ppc64-backend.lisp: Use os::expand-ff-call, for each value of
1218        OS.
1219
12202007-01-20 19:23  gb
1221
1222        * level-1/l1-sockets.lisp: Saw an opportunity to use PAREF;
1223        probably several more.
1224
12252007-01-20 19:22  gb
1226
1227        * lib/ffi-darwinppc64.lisp: Two down, 5 to go.
1228
12292007-01-20 19:21  gb
1230
1231        * lib/ffi-darwinppc32.lisp: Looks mostly right; might need to be
1232        extended to handle coercions at the Cocoa level, and probably needs
1233        some cooperation from %EXTERNAL-CALL-EXPANDER (e.g., what's
1234        installed by #_).
1235
12362007-01-20 19:18  gb
1237
1238        * lib/db-io.lisp: Encode, decode union types in arglists.
1239
12402007-01-20 19:17  gb
1241
1242        * lib/foreign-types.lisp: ftd's :ff-call-expand-function is
1243        os::expand-ff-call.
1244       
1245        Canonicalize the :void type a bit better.
1246
12472007-01-20 19:16  gb
1248
1249        * library/parse-ffi.lisp: Remove the debugging FORMAT call.
1250
12512007-01-18 23:15  gb
1252
1253        * level-1/l1-boot-2.lisp: Load with the new ffi-backend fasls.
1254
12552007-01-18 23:15  gb
1256
1257        * lib/compile-ccl.lisp: Deal with the new ffi-backend sources.
1258
12592007-01-18 23:15  gb
1260
1261        * lib/systems.lisp: Add the new ffi-backend sources.
1262
12632007-01-18 23:14  gb
1264
1265        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp,
1266        ffi-darwinx8664.lisp, ffi-freebsdx8664.lisp, ffi-linuxppc32.lisp,
1267        ffi-linuxppc64.lisp, ffi-linuxx8664.lisp: New (so far, empty)
1268        files.
1269
12702007-01-18 04:35  gb
1271
1272        * level-1/version.lisp: Bump.
1273
12742007-01-18 04:17  gb
1275
1276        * examples/bridge.lisp: Some word-size conditionalization.  Will
1277        need more work to handle struct return/asssignment correctly on all
1278        platforms.
1279
12802007-01-18 04:15  gb
1281
1282        * examples/: cocoa-editor.lisp, cocoa-backtrace.lisp: Use CGFloat,
1283        type casts, etc.  Likwise for :<NSI>nteger, :<NSUI>nteger.
1284
12852007-01-18 04:13  gb
1286
1287        * examples/: cocoa-prefs.lisp, cocoa-listener.lisp: Use CGFloat,
1288        type casts, etc.
1289
12902007-01-18 04:12  gb
1291
1292        * examples/cocoa-window.lisp: Use CGFloat, type casts, etc.  Avoid
1293        deprecated NSFont stuff.
1294
12952007-01-18 04:11  gb
1296
1297        * examples/objc-clos.lisp: Handle ivars, class
1298        creation/initialization differently for ObjC 2.0.
1299
13002007-01-18 04:10  gb
1301
1302        * examples/objc-runtime.lisp: More ObjC 2.0, ppc64 changes.
1303
13042007-01-18 04:09  gb
1305
1306        * examples/objc-support.lisp: Note which protocols are actually
1307        used when walking classes.  (There doesn't seem to be a good way of
1308        finding a Protocol object pre-objc-2.0, and we may need to test
1309        protocol compliance to disambiguate message sends in some cases.)
1310
13112007-01-18 04:07  gb
1312
1313        * examples/opengl-ffi.lisp: Conditionalize for darwin (not
1314        necessarily darwinppc).
1315
13162007-01-18 04:06  gb
1317
1318        * examples/addressbook.lisp: Conditionalize for darwin (not
1319        necessarily darwinppc).  May want to conditionalize for bundle
1320        executable name, as well.
1321
13222007-01-18 04:05  gb
1323
1324        * compiler/PPC/PPC64/ppc64-arch.lisp: WITH-FFCALL-RESULTS.  Start
1325        to sketch out structure return code (structures are often
1326        "returned" by returning field values in registers pn DarwinPPC64.)
1327
13282007-01-18 04:04  gb
1329
1330        * compiler/PPC/PPC64/ppc64-backend.lisp: New ftd stuff; new
1331        attributes for structure args/results.
1332
13332007-01-18 04:03  gb
1334
1335        * compiler/PPC/PPC64/ppc64-vinsns.lisp: ffcall-returning registers.
1336         (Will need this for other platforms, too.)
1337
13382007-01-18 04:01  gb
1339
1340        * lib/macros.lisp: Arch-specific macro interface for
1341        WITH-FFCALL-RESULTS.
1342
13432007-01-18 04:00  gb
1344
1345        * lib/db-io.lisp: Handle the case of an encoded structure type as a
1346        return value.
1347
13482007-01-18 04:00  gb
1349
1350        * lisp-kernel/: ppc-spentry.s, ppc-spjump.s:
1351        .SPpoweropen_ffcall_return_registers.
1352
13532007-01-18 03:59  gb
1354
1355        * library/parse-ffi.lisp: At least optionally, make structure
1356        return explicit (expecting it to be handled by higher-level code.)
1357
13582007-01-18 03:58  gb
1359
1360        * lib/foreign-types.lisp: ff-call-expand-function in ftd.  Don't
1361        try to type-expand :registers <exp> form in EXTERNAL-CALL.
1362
13632007-01-18 03:55  gb
1364
1365        * level-0/PPC/ppc-misc.lisp: Get the contents of the register that
1366        may hold OS thread context.
1367
13682007-01-18 03:54  gb
1369
1370        * compiler/PPC/PPC32/ppc32-backend.lisp: ff-call-expander function
1371        in ftd.
1372
13732007-01-18 03:53  gb
1374
1375        * compiler/PPC/PPC32/ppc32-arch.lisp: WITH-FFCALL-RESULTS arch
1376        macro.
1377
13782007-01-18 03:52  gb
1379
1380        * compiler/PPC/ppc2.lisp: Poweropen ff-calls might need to return
1381        all possible result regs.  (Maybe poweropen syscall, too.)
1382
13832007-01-18 03:51  gb
1384
1385        * compiler/PPC/ppc-arch.lisp: Replace unused subprim with
1386        .SPpoweropen-ff-call-return-registers.
1387
13882007-01-18 03:50  gb
1389
1390        * compiler/nx1.lisp: Support :registers <exp> in %ff-call; when
1391        supported, backend will return all (potential) result registers in
1392        buffer at <exp>.
1393
13942007-01-16 02:01  gb
1395
1396        * level-1/l1-streams.lisp: Make sure that STREAM-READ-IVECTOR and
1397        STREAM-WRITE-IVECTOR are defined on binary stream classes.  (These
1398        functions make less sense for character streams/strings than they
1399        used to.)
1400
14012007-01-16 01:39  gb
1402
1403        * level-1/l1-sockets.lisp: Ensure that the :FORMAT argument
1404        defaults to :BIVALENT
1405
14062007-01-16 01:37  gb
1407
1408        * level-0/l0-init.lisp: Put :OPENMCL-UNICODE-STRINGS on *FEATURES*.
1409
14102007-01-11 23:58  gb
1411
1412        * compiler/PPC/ppc2.lisp: Transform (/ (* constant1 exp) constant2)
1413        into (* (/ constant1 constant2) exp).  Not very general, but makes
1414        some foreign address arithmetic better.
1415
14162007-01-11 23:56  gb
1417
1418        * lib/macros.lisp: Simple PAREF: (paref pointer
1419        foreign-pointer-or-array-type index) does simple arithmetic for
1420        you.
1421
14222007-01-11 23:54  gb
1423
1424        * lib/foreign-types.lisp: %FOREIGN-ARRAY-ACCESS-FORM.
1425
14262007-01-10 15:50  gb
1427
1428        * compiler/PPC/ppc2.lisp: ppc2-vref1: lose extra arg to
1429        double->heap vinsn.
1430
14312007-01-09 11:33  gb
1432
1433        * lisp-kernel/x86-spentry64.s: When running an unwind-protect
1434        cleanup and multiple values are being thrown, be sure to set
1435        tcr.xframe from the target catch frame.  This is necessary on
1436        general principles (GC safety), and especially necessary if the
1437        cleanup form does a non-local exit.
1438
14392007-01-08 22:12  gb
1440
1441        * examples/: objc-clos.lisp, objc-runtime.lisp, objc-support.lisp:
1442        Revive some of the old GNUstep support; add partial ObjC 2.0
1443        support (for 64-bit targets only, so far.)
1444
14452007-01-08 22:11  gb
1446
1447        * examples/cocoa.lisp: Conditionalize for darwin-target, not
1448        darwinppc-target.
1449
14502007-01-08 22:10  gb
1451
1452        * examples/cocoa-listener.lisp: Disable background layout in the
1453        listener; the whole two-thread scheme probably isn't viable, but
1454        doing this seems to suppress a timing-related symptom.
1455
14562007-01-08 22:09  gb
1457
1458        * examples/cocoa-editor.lisp: Document-begin-editing,
1459        document-end-editing: both seem to have been conditionalized
1460        backwards.
1461
14622007-01-05 16:22  gb
1463
1464        * level-0/l0-numbers.lisp: Fix another typo ...
1465
14662007-01-05 16:16  gb
1467
1468        * level-0/l0-numbers.lisp: Fix typo (ppc32::, not ppc2::).
1469
14702007-01-05 15:27  gb
1471
1472        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Missing MISC-SET-C-S32 for
1473        PPC32.
1474
14752007-01-05 06:20  gb
1476
1477        * level-0/l0-cfm-support.lisp: OPEN-SHARED-LIBRARY: freebsd version
1478        of #_dlopen doesn't return a link map, but calling #_dlinfo on the
1479        result (with the right arg) does obtain a link map.
1480       
1481        Revive shared libraries on FreeBSD, but don't do the strange
1482        Linux-specific re-opening there.  (It seems like it's possible to
1483        #_dlopen something that already has a loaded link map - like the
1484        FreeBSD dynamic linker - or something.)
1485
14862007-01-04 05:46  gb
1487
1488        * level-1/l1-pathnames.lisp: %component-match-p: handle :WILD,
1489        :WILD-INFERIORS.
1490
14912007-01-04 05:45  gb
1492
1493        * lisp-kernel/pmcl-kernel.c: Try to check for old libc versions
1494        (which may use %gs instead of %fs for tls).
1495
14962007-01-04 05:44  gb
1497
1498        * lib/numbers.lisp: Explicitly require NUMBER-CASE-MACRO.
1499
15002007-01-04 05:44  gb
1501
1502        * level-0/l0-numbers.lisp:
1503        fixnum-sfloat-compare,fixnum-dfloat-compare: if the fixnum can be
1504        accurately represented in float, do so.
1505
15062007-01-03 03:35  gb
1507
1508        * lib/sequences.lisp: Fix a few type errors, check for explicit
1509        vector-type length earlier.
1510
15112007-01-03 03:31  gb
1512
1513        * level-1/l1-files.lisp: %STD-NAME-COMPONENT, %STD-TYPE-COMPONENT:
1514        preserved :WILD, don't map it to "*".
1515
15162007-01-03 03:30  gb
1517
1518        * lib/pathnames.lisp: More whack-a-mole with pathnames
1519        (specifically, preserving :WILD as name/type value and dealing with
1520        the consequences of doing so.)
1521
15222007-01-03 03:27  gb
1523
1524        * lib/numbers.lisp: Small (mostly cosmetic) change to RATIONAL.
1525
15262007-01-02 09:57  gb
1527
1528        * lib/macros.lisp: Keep fixing CTYPECASE.
1529
15302007-01-02 09:57  gb
1531
1532        * level-1/l1-streams.lisp: DOH! STREAM-READ-LINE method on
1533        BASIC-CHARACTER-INPUT-STREAM returns both values.
1534       
1535        "Composite" (two-way, concatenated, etc) streams need a close
1536        protocol.
1537
15382007-01-02 07:00  gb
1539
1540        * level-0/l0-pred.lisp: EQUAL on physical pathnames ignores the
1541        (new) version slot, as does practically everything else.
1542
15432007-01-02 06:59  gb
1544
1545        * level-0/l0-numbers.lisp: Don't assume that fixnums can be
1546        accurately coerced to floats when comparing fixnums and floats; do
1547        the logical equvalent of calling RATIONAL on the float instead.
1548
15492007-01-01 23:41  gb
1550
1551        * level-1/l1-files.lisp: ENOUGH-NAMESTRING: don't incorporate
1552        version into returned namestring for physical pathnames.
1553
15542006-12-31 10:15  gb
1555
1556        * release-notes.txt: Update.
1557
15582006-12-31 09:13  gb
1559
1560        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump image/abi
1561        version.
1562
15632006-12-31 08:57  gb
1564
1565        * xdump/faslenv.lisp: Bump fasl-min-vers.
1566
15672006-12-31 08:49  gb
1568
1569        * lib/nfcomp.lisp: Bump current fasl version.
1570
15712006-12-31 08:33  gb
1572
1573        * lisp-kernel/: linuxppc/elf32ppclinux.x, linuxppc64/elf64ppc.x:
1574        Tweak the executable start address.
1575
15762006-12-31 02:44  gb
1577
1578        * lisp-kernel/x86-spjump64.s: On Darwin, use a .space directive to
1579        ensure that there's nothing interesting in the first few pages of
1580        the address space (and ensure that those pages are mapped.)
1581
15822006-12-31 02:43  gb
1583
1584        * lisp-kernel/darwinx8664/Makefile: Sadly, we can't use -sectalign
1585        on x86-64 (ld64 does some floating-point arithmetic, fails to
1586        account for roundoff error, and claims that 0x1000 isn't a power of
1587        2.) If you can't say anything good about a linker, it's best not to
1588        say anything at all.
1589       
1590        We can force the first segment to be mapped at 0x1000, and can
1591        waste a few pages to ensure that all low-memory pages that the lisp
1592        wants are mapped.
1593
15942006-12-31 02:33  gb
1595
1596        * level-1/l1-pathnames.lisp: %SPLIT-COMPONENT: be a little more
1597        defensive.
1598
15992006-12-31 02:32  gb
1600
1601        * compiler/nx0.lisp: NX-FORM-TYPE: handle quoted constants.
1602
16032006-12-31 02:29  gb
1604
1605        * xdump/faslenv.lisp: Bump $fasl-vers.
1606
16072006-12-31 02:28  gb
1608
1609        * level-1/version.lisp: Bump; remove "Beta" designation.
1610
16112006-12-29 20:13  gb
1612
1613        * compiler/X86/X8664/x8664-arch.lisp, lisp-kernel/area.h,
1614        lisp-kernel/lisp_globals.h, lisp-kernel/x86-constants64.h,
1615        lisp-kernel/x86-constants64.s, xdump/xx8664-fasload.lisp: Move NIL
1616        up a page on x86-64 as well.
1617
16182006-12-29 16:09  gb
1619
1620        * lisp-kernel/ppc-spjump.s: Be a little clearer about where we're
1621        .orged.
1622
16232006-12-29 15:32  gb
1624
1625        * compiler/PPC/PPC32/ppc32-arch.lisp, lisp-kernel/area.h,
1626        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
1627        lisp-kernel/darwinppc/Makefile, xdump/xppcfasload.lisp: Static area
1628        (including NIL) now one page higher on ppc32, as well.
1629
16302006-12-29 02:38  gb
1631
1632        * level-0/PPC/ppc-float.lisp: SQRT in LAP (todo: inline it.)
1633
16342006-12-29 01:38  gb
1635
1636        * compiler/PPC/PPC64/ppc64-arch.lisp: Move ppc64::nil-value (and
1637        ppc64::reservation-discharge) up a page.
1638
16392006-12-29 01:37  gb
1640
1641        * xdump/xppcfasload.lisp: xload-static-space-address for ppc64 is
1642        #x2000; still #x1000 for ppc32.  (need to set this for x86-64)
1643
16442006-12-29 01:36  gb
1645
1646        * xdump/xfasload.lisp: *xload-static-space-address* depends on the
1647        backend.  ppc64 wants it one page higher than it has been, to avoid
1648        letting unmapped pages get claimed by the dynamic linker on Darwin.
1649
16502006-12-29 01:35  gb
1651
1652        * lisp-kernel/darwinppc64/Makefile: Change seg1addr/sectalign, so
1653        that the image starts at #x1000 and aligned section data for the
1654        text section starts on the next page.
1655
16562006-12-29 01:33  gb
1657
1658        * lisp-kernel/ppc-spjump.s: Org the spjump table 3 pages from where
1659        the aligned text section data starts.
1660
16612006-12-29 01:32  gb
1662
1663        * lisp-kernel/: ppc-constants64.h, ppc-constants64.s: nil_value,
1664        etc a page higher.
1665
16662006-12-29 01:32  gb
1667
1668        * lisp-kernel/pmcl-kernel.c: Don't remap ppc64 spjump table if it's
1669        already where it should be.
1670
16712006-12-29 01:32  gb
1672
1673        * lisp-kernel/lisp_globals.h: Access lisp_globals/nrs_symbols a
1674        page higher.
1675
16762006-12-29 01:30  gb
1677
1678        * lisp-kernel/area.h: Move STATIC_BASE_ADDRESS up a page for ppc64.
1679
16802006-12-22 01:40  gb
1681
1682        * lisp-kernel/ppc-exceptions.c: Ensure that sqrt() is prototyped.
1683
16842006-12-22 01:39  gb
1685
1686        * lisp-kernel/pmcl-kernel.c: Insist on at least Panther for
1687        PPC32/Darwin.
1688       
1689        Use dlopen() on 64-bit Darwin variants.  Might want to do a runtime
1690        test and use dlfcn functions if at least Tiger.
1691       
1692        (The old dyld functions are deprecated under Leopard, and there's
1693        reason to believe that they don't work correctly on at least ppc64/
1694        Leopard; attempting to use NSCreateObjectFileImageFromFile to open
1695        a 64-bit .dylib seems to lead to memory corruption rather than
1696        returning NSObjectFileImageInappropriateFile.
1697       
1698        The old functions work better than the dlfcn functions on pre-Tiger
1699        systems.)
1700
17012006-12-19 01:24  gb
1702
1703        * library/parse-ffi.lisp: Just to be on the safe side (new pathname
1704        bugs, or old ?), append -BAK to (NAMESTRING (TRUENAME path)), not
1705        just (NAMESTRING path) when renaming.  (MERGE-PATHNAMES call is
1706        producing a pathane with a non-null VERSION component, as it
1707        arguably should have been all along.
1708
17092006-12-18 13:22  gb
1710
1711        * lib/sequences.lisp: COERCE/MAKE-SEQUENCE try to simplify vector
1712        types into concrete vector types.
1713
17142006-12-18 13:04  gb
1715
1716        * level-1/l1-pathnames.lisp: Try (halfheartedly) to maintain
1717        PATHNAME-VERSION of physical pathnames.  (Totally meaningless, but
1718        failing to do this leads to many test failures.)
1719
17202006-12-18 13:03  gb
1721
1722        * level-1/l1-numbers.lisp: Don't call out to do sqrt.
1723
17242006-12-18 12:57  gb
1725
1726        * level-1/l1-files.lisp: Try (halfheartedly) to maintain
1727        PATHNAME-VERSION of physical pathnames.  (Totally meaningless, but
1728        failing to do this leads to many test failures.)
1729
17302006-12-18 12:54  gb
1731
1732        * level-0/X86/x86-float.lisp: Do single/double-float sqrt inline.
1733
17342006-12-16 05:28  gb
1735
1736        * level-0/PPC/ppc-float.lisp: Recognize that fsqrt/fsqrts
1737        instructions have a minor opcode in frb and only have one source
1738        operand.
1739
17402006-12-16 05:27  gb
1741
1742        * level-1/ppc-error-signal.lisp: If we get an FP exception during a
1743        SQRT, note that there's only one operand and that it's in frb.
1744
17452006-12-16 05:25  gb
1746
1747        * lisp-kernel/ppc-exceptions.c: Handle (some) unimplemented
1748        instructions, notably fsqrt/fqrts, which are optional and not
1749        implemented on some PPC machines.
1750
17512006-12-16 05:24  gb
1752
1753        * lisp-kernel/ppc-asmutils.s: Add get_fpscr().
1754
17552006-12-14 19:47  gb
1756
1757        * lisp-kernel/ppc-exceptions.c: Need to handle SIGQUIT on ppc, too.
1758
17592006-12-14 16:43  gb
1760
1761        * compiler/X86/X8664/x8664-vinsns.lisp: Constraints on some
1762        double-float arithmetic vinsns should say :double-float, not
1763        :single-float.  (I suspect cut-and-paste, frankly.)
1764
17652006-12-14 16:25  gb
1766
1767        * level-1/l1-lisp-threads.lisp: *initial-lisp-thread*, not
1768        initial-thread.
1769
17702006-12-14 16:24  gb
1771
1772        * level-1/x86-trap-support.lisp: Use frame pointer when signaling
1773        error.
1774
17752006-12-14 16:14  gb
1776
1777        * library/lispequ.lisp: Add a %PHYSICAL-PATHAME-VERSION slot to
1778        physical pathnames. (Yes, this is kind of silly.)
1779
17802006-12-14 16:01  gb
1781
1782        * level-1/x86-trap-support.lisp: Recognize the kernel's attempt to
1783        signal errors for (e.g.) failed memory allocation.
1784
17852006-12-14 16:00  gb
1786
1787        * lisp-kernel/x86-exceptions.c: If a memory allocation request
1788        fails, signal a lisp error (what a concept.)
1789
17902006-12-14 15:51  gb
1791
1792        * lisp-kernel/x86-exceptions.h: Define DARWIN_USE_PSEUDO_SIGRETURN.
1793       
1794        Might be worth revisiting this.
1795
17962006-12-14 15:50  gb
1797
1798        * lisp-kernel/x86-exceptions.c: Go back to using the
1799        pseudo_sigreturn mechanism on Darwin, since doing a real sigreturn
1800        from a fake context may not be reliable.
1801       
1802        When handling an interrupt with a partially created temp stack
1803        frame, do the right thing.  (That basically means reset the frame
1804        before calling out and recreating it if we return from the
1805        callout.)
1806       
1807        Handle SIGQUIT on the altstack, to provide a way of forcibly
1808        terminating threads that's a bit more GC-safe than doing it via
1809        #_pthread_cancel.
1810       
1811        Note the tcr of the gc thread on gc entry; if an exception happens
1812        in that thread, print a message and sleep for 60 seconds.
1813       
1814        Note that there's still a race condition here: if thread A gets an
1815        exception and thread B gets the mach_exception_lock (to GC) before
1816        the exception thread can handle the message, we deadlock (thread A
1817        would be suspended in the kernel and can't respond to a suspend
1818        signal.)  We can tell that this has happened and make a good guess
1819        as to why it happened, but dealing with it will require some
1820        thought.  (If we've already issued a suspend signal and eventually
1821        raise the suspended thread's resume semaphore, it'll suspend and
1822        resume once the mach exception thread makes it runnable.  Who
1823        cleans up its exception context in that case ?  Does it matter ?)
1824
18252006-12-14 15:19  gb
1826
1827        * lisp-kernel/thread_manager.c: Ensure that newly-created threads
1828        have all signals unmasked.
1829       
1830        If a tcr is dead, ensure that its stack areas are empty.
1831       
1832        Try to run shutdown_thread_tcr as a pthread cleanup action,
1833        hopefully before Mach clobbers the thread's signal mask.
1834
18352006-12-14 15:16  gb
1836
1837        * lisp-kernel/pmcl-kernel.c: lazarus() runs with a lock on the
1838        TCR_AREA_LOCK.
1839
18402006-12-14 15:15  gb
1841
1842        * lisp-kernel/memprotect.h: Don't declare do_memo_reset(), which
1843        hasn't existed in years.
1844
18452006-12-14 15:14  gb
1846
1847        * level-1/version.lisp: Bump.
1848
18492006-12-14 15:14  gb
1850
1851        * level-1/l1-readloop.lisp: PREPARE-TO-QUIT: wait for the
1852        termination semaphore.
1853
18542006-12-14 15:13  gb
1855
1856        * level-1/l1-processes.lisp: PROCESS objects are created with a
1857        termination semaphore.
1858
18592006-12-14 15:12  gb
1860
1861        * level-1/l1-lisp-threads.lisp: THREAD-ENABLE: second arg is
1862        TERMINATION-SEMAPHORE.
1863       
1864        KILL-LISP-THREAD: don't use #_pthread_cancel, which may force the
1865        target thread to transition from running lisp code to running
1866        foreign code without advertising that fact. Send a SIGQUIT instead,
1867        and trust the SIGQUIT handler to manage that transition.  Don't try
1868        to kill the initial thread.
1869
18702006-12-09 09:52  gb
1871
1872        * level-1/l1-streams.lisp: STRING-OUTPUT-STREAMs need to override
1873        their CLEAR-OUTPUT methods.
1874       
1875        MAKE-STRING-INPUT-STREAM: handle displaced strings better (remember
1876        their displaced-index-offsets.)
1877
18782006-12-09 09:49  gb
1879
1880        * lisp-kernel/thread_manager.c: Disable underflow traps in new
1881        threads on x86-64.  (The PPC never got around to enabling them.)
1882
18832006-12-09 09:47  gb
1884
1885        * lib/macros.lisp: WITH-OUTPUT-TO-STRING: if string provided,
1886        evaluate the ELEMENT-TYPE expression (for side-effects) and ignore
1887        the result of its evaluation.
1888       
1889        Some fixes in CTYPECASE handling, which hopefully didn't break
1890        anything else.
1891
18922006-12-09 09:36  gb
1893
1894        * compiler/X86/x862.lisp: In aset2/aset3, ensure that the (final,
1895        1d) index register is set - even if the index is a constant - if we
1896        think that the store needs EGC memoization.
1897       
1898        (Note that the test case that exposed this involved storing
1899        SINGLE-FLOATs, which don't need EGC write-barrier handling on
1900        64-bit platforms.)
1901       
1902        In aref2, don't worry about reserving unscaled index registers when
1903        targeting the 1d index; the unscaled index registers aren't live
1904        after, could be NULL if the index is a constant, and any overlap
1905        between one of them and the 1d index should be handled in the
1906        vinsn(s).
1907
19082006-12-09 09:30  gb
1909
1910        * level-1/l1-typesys.lisp: Ensure that the (relatively new)
1911        built-in-classes SIMPLE-FIXNUM-VECTOR and FIXNUM-VECTOR have
1912        class-translations.
1913
19142006-12-09 09:27  gb
1915
1916        * level-1/l1-aprims.lisp: In list case of ELT: who says that value
1917        returned by NTHCDR is a LIST ? (It's not necessarily a list, so
1918        don't segfault taking its CAR without checking.)
1919
19202006-12-06 18:48  gb
1921
1922        * level-0/X86/x86-float.lisp: x86-64 version of
1923        SFLOAT-SIGNIFICAND-ZEROS: count zero bits in the shifted float, not
1924        in %imm1 (which is undefined here ...)
1925
19262006-12-06 17:05  gb
1927
1928        * compiler/nx0.lisp: DEFINE-COMPILER-MACRO: if a SETF name, use the
1929        right symbol for the named block.
1930       
1931        COMPILER-MACRO-FUNCTION, (SETF COMPILER-MACRO-FUNCTION): deal with
1932        (SETF NAME).
1933
19342006-12-05 22:44  gb
1935
1936        * release-notes.txt: Update for 061205.
1937
19382006-12-05 20:31  gb
1939
1940        * lisp-kernel/darwinppc64/Makefile: Change LDFLAGS, to keep ld64
1941        from putting a linkedit segment in the wrong place and making
1942        32-bit memory unmappable.
1943
19442006-12-05 20:30  gb
1945
1946        * level-1/version.lisp: Bump.
1947
19482006-12-05 20:29  gb
1949
1950        * lisp-kernel/pmcl-kernel.c: Use _exit(), just in case.
1951
19522006-12-05 18:53  gb
1953
1954        * level-1/l1-reader.lisp: *ALTERNATE-LINE-TERMINATOR* set to
1955        #\Return on #+darwin-target, not just #+darwinppc-target. Change
1956        doc string for *ALTERNATE-LINE-TERMINATOR*.
1957
19582006-12-04 15:13  gb
1959
1960        * level-1/version.lisp: Append a patchlevel to the version string,
1961        at least until new tarballs can be built.
1962
19632006-12-04 15:12  gb
1964
1965        * level-1/l1-streams.lisp: If stream element type upgrades to
1966        FIXNUM, upgrade it further (to largest supported SIGNED-BYTE
1967        element-type.)
1968
19692006-12-04 13:02  gb
1970
1971        * level-0/l0-bignum32.lisp: BIGNUM-BIGNUM-GCD (whatever it's
1972        called): don't bother to shift by 0 bits.  Do shift the initial U
1973        if non-zero trailing 0 BITS (was testing for non-zero trailing
1974        DIGITS.)
1975
19762006-12-04 12:52  gb
1977
1978        * level-1/l1-streams.lisp: Choke earlier on unsupported stream
1979        element-types; do some upgrading to support some more element types
1980        (BIT -> (UNSIGNED-BYTE 8)).
1981       
1982        Maybe support arbitrarily large integer types someday soon.  Maybe
1983        not.
1984
19852006-12-04 12:48  gb
1986
1987        * level-1/l1-clos-boot.lisp: Make built-in classes for istruct
1988        types (compiler stuff, mostly).
1989
19902006-12-04 12:46  gb
1991
1992        * level-0/X86/X8664/x8664-bignum.lisp: Ensure that %ASHL handles
1993        shift count of 32 (and returns 0 in that case.)
1994
19952006-12-04 12:46  gb
1996
1997        * level-0/l0-bignum64.lisp: In BIGNUM-SHIFT-RIGHT-LOOP-1, use
1998        %ASHL, not %ILSL.  (Don't want nonsense in the high 32 bits, just
1999        in case.)
2000
20012006-12-04 12:43  gb
2002
2003        * level-0/l0-numbers.lisp: Bugs in GCD-2.  Long-standing bugs in
2004        GCD-2 ...
2005
20062006-12-04 09:26  gb
2007
2008        * level-1/l1-streams.lisp: STREAM-CLEAR-INPUT: don't inherit method
2009        for STRING-INPUT-STREAMs.
2010
20112006-12-04 09:24  gb
2012
2013        * level-0/l0-bignum64.lisp: BIGNUM-SHIFT-RIGHT-1: handle shift by 0
2014        bits.  BIGNUM-BIGNUM-GCD (whatever it's called): don't bother to
2015        shift by 0 bits.
2016
20172006-12-04 09:21  gb
2018
2019        * level-1/ppc-trap-support.lisp: Reset error-reentry count before
2020        doing %SLOT-UNBOUND-TRAP.
2021
20222006-12-04 09:21  gb
2023
2024        * level-1/l1-streams.lisp: Default STREAM-POSITION method for
2025        STREAMs, returns NIL.  STREAM-POSITION method for
2026        STRING-INPUT-STREAMs.
2027
20282006-12-04 09:19  gb
2029
2030        * level-1/l1-pathnames.lisp: Derive ccl-directory from pathname
2031        containing heap image.
2032
20332006-12-03 07:41  gb
2034
2035        * level-1/l1-streams.lisp: FORCE-OUTPUT, FINISH-OUTPUT on
2036        STRING-OUTPUT-STREAMs are no-ops.
2037       
2038        Need an ioblock-based character-read-vector function for
2039        string-input-streams.
2040
20412006-12-03 07:37  gb
2042
2043        * lib/describe.lisp: Minimal DESCRIBE support for
2044        CCL::BASIC-STREAM.
2045
20462006-12-03 07:36  gb
2047
2048        * lib/macros.lisp: If :element-type is supplied in
2049        WITH-OUTPUT-TO-STRING, don't quote it.
2050
20512006-12-03 05:11  gb
2052
2053        * level-1/x86-trap-support.lisp: Define RIP-REGISTER-OFFSET, which
2054        isn't necessarily 16.
2055
20562006-12-03 05:10  gb
2057
2058        * level-1/x86-error-signal.lisp: Use RIP-REGISTER-OFFSET, which
2059        isn't necessarily 16.
2060       
2061        Use WITH-ERROR-REENTRY-DETECTION n %xerr-disp; dtrt for
2062        %slot-unbound-trap.
2063
20642006-12-03 05:09  gb
2065
2066        * level-1/l1-streams.lisp: Tweak stream hierarchy a little, to
2067        avoid some NO-NEXT-METHODs.
2068
20692006-12-03 02:42  gb
2070
2071        * compiler/nx1.lisp: Handle VALUES type specifiers in THE forms a
2072        bit better.
2073
20742006-12-03 02:41  gb
2075
2076        * compiler/nx0.lisp: Handle VALUES type specifiers in THE forms a
2077        bit.
2078
20792006-12-03 02:28  gb
2080
2081        * lisp-kernel/x86-spentry64.s: Do vector bounds checking by
2082        clearing the low byte of the header, shifting it right, and
2083        comparing the index to that.  (It's not reliable to shift the index
2084        left.)
2085
20862006-12-03 02:26  gb
2087
2088        * level-1/l1-unicode.lisp: Memory/vector encode functions: don't
2089        write BOM, leave that up to higher-level code.
2090       
2091        Start to write some higher-level code.
2092
20932006-12-03 02:23  gb
2094
2095        * level-1/l1-sysio.lisp: Fix some indentation.
2096
20972006-12-03 02:21  gb
2098
2099        * compiler/X86/X8664/x8664-vinsns.lisp: CHECK-MISC-BOUNDS: shift
2100        the header word right (after clearing its low byte) and compare the
2101        index to that.  (Shifting the index left - d'oh - obviously fails
2102        for indices of large magnitude.)
2103
21042006-11-29 21:07  gb
2105
2106        * lib/db-io.lisp: Indentation change.
2107       
2108        Add CDB-ENUMERATE-KEYS.
2109
21102006-11-29 18:37  gb
2111
2112        * lib/level-2.lisp: %DESTRUCTURE-LAMBDA-LIST: other callers of
2113        VERIFY-LAMBDA-LIST (hopefully) check to see if the alleged list is
2114        LISTP first.  (I hope ...).  Do so.
2115
21162006-11-28 18:42  gb
2117
2118        * lisp-kernel/x86-spentry64.s: Wrong register typo in .SPaset2.
2119
21202006-11-28 16:14  gb
2121
2122        * examples/cocoa-window.lisp: DEFAULT-FONT: retain the font.
2123
21242006-11-28 16:12  gb
2125
2126        * examples/objc-runtime.lisp: Wrap a (primitive)
2127        WITH-AUTORELEASE-POOL around the code which detaches the dummy
2128        NSThread.
2129
21302006-11-28 16:09  gb
2131
2132        * examples/cocoa-listener.lisp: Don't claim that a callback
2133        parameter is ignored; use IGNORABLE instead.
2134
21352006-11-21 01:28  gb
2136
2137        * level-1/l1-sockets.lisp: Typo in PATH-FROM-UNIX-ADDRESS
2138        conditionalization.
2139
21402006-11-21 00:55  gb
2141
2142        * level-1/l1-sockets.lisp: INIT-UNIX-SOCKADDR: don't use
2143        %COPY-IVECTOR-TO-PTR to copy string to foreign memory.
2144       
2145        Basic file-socket streams.
2146
21472006-11-10 05:08  gb
2148
2149        * release-notes.txt: Update.
2150
21512006-11-10 04:28  gb
2152
2153        * lisp-kernel/image.h: Bump min image version.
2154
21552006-11-10 04:19  gb
2156
2157        * xdump/heap-image.lisp: bump current image version.
2158
21592006-11-10 04:19  gb
2160
2161        * lisp-kernel/image.h: bump current, max image version.
2162
21632006-11-10 04:10  gb
2164
2165        * xdump/faslenv.lisp: Bump min fasl version.
2166
21672006-11-10 03:56  gb
2168
2169        * lib/nfcomp.lisp: bump current fasl version.
2170
21712006-11-10 03:47  gb
2172
2173        * lisp-kernel/x86-exceptions.c: save_application: use #__exit, not
2174        #_exit
2175
21762006-11-10 03:46  gb
2177
2178        * compiler/X86/x862.lisp: TYPE typo.
2179
21802006-11-10 03:32  gb
2181
2182        * xdump/faslenv.lisp: Bump max fasl version.
2183
21842006-11-10 03:25  gb
2185
2186        * level-1/version.lisp: Bump.  New snapshots today!
2187
21882006-11-09 16:26  gb
2189
2190        * level-1/l1-readloop.lisp: QUIT uses #__quit.
2191       
2192        PREPARE-TO-QUIT kill stragglers without waiting as long.
2193
21942006-11-09 15:50  gb
2195
2196        * lisp-kernel/pmcl-kernel.c: Use #_ _exit for fatal termination.
2197       
2198        Try to run lisp code after #_exit via lazarus(); this is for some
2199        cases of SAVE-APPLICATION (e.g., in the Cocoa GUI).
2200       
2201        The environment in which The Undead code runs is a little funky,
2202        especially on PPC.  There might be GC implications (cstack will
2203        contain call history as of the point when #_exit called atexit
2204        handlers, vstack & tstack are emptied in lazarus()).  We should
2205        barely run any code in this environment, but we will GC a time or
2206        two ...
2207
22082006-11-09 15:45  gb
2209
2210        * lisp-kernel/ppc-exceptions.c: Use _exit afer save-application.
2211
22122006-11-09 15:43  gb
2213
2214        * examples/: cocoa-window.lisp, cocoa.lisp: Change the quit
2215        protocol.
2216
22172006-11-09 15:42  gb
2218
2219        * examples/cocoa-listener.lisp: :set-document-edited for listener
2220        "documents" is a no-op.
2221
22222006-11-09 15:39  gb
2223
2224        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
2225        PPC64/ppc64-vinsns.lisp: 3d-array accessor stuff for PPC as well.
2226
22272006-11-09 12:50  gb
2228
2229        * compiler/X86/x862.lisp: Always check that array-ctype's
2230        dimensions are a list before taking their length.
2231
22322006-11-09 12:13  gb
2233
2234        * compiler/X86/X8664/x8664-vinsns.lisp: 3d-unscaled-index does the
2235        right thing ...
2236
22372006-11-09 10:08  gb
2238
2239        * compiler/: nx1.lisp, X86/x862.lisp, X86/X8664/x8664-vinsns.lisp:
2240        Three-arg aref/(setf aref) for x8664.
2241
22422006-11-09 05:37  gb
2243
2244        * compiler/nx0.lisp: Map array-type keywords to 3d-array type
2245        errors.
2246
22472006-11-09 05:37  gb
2248
2249        * compiler/nxenv.lisp: Operators for 3d array access.
2250
22512006-11-09 05:36  gb
2252
2253        * compiler/arch.lisp, level-1/l1-error-system.lisp,
2254        lisp-kernel/errors.s, lisp-kernel/lisp-errors.h: Type-errors for 3d
2255        array types.
2256
22572006-11-08 12:50  gb
2258
2259        * level-1/x86-trap-support.lisp: In darwin Fake Structures For
2260        Leopard nonsense: define the stack context struct separately, make
2261        the ucontext stack field an instance of it.  (Not -sure- if that
2262        was necessary, but :poweropen-target was accidentally on *FEATURES*
2263        and foreign struct layout was using read-time condtionalization to
2264        decide whether or not to use brain-dead structure-alignment rules
2265        leftover from AIX/PowerOpen.
2266
22672006-11-08 12:46  gb
2268
2269        * lisp-kernel/x86-spentry64.s: Fix comment ("/*", not "/%" ...).
2270
22712006-11-08 12:40  gb
2272
2273        * compiler/optimizers.lisp: Try to infer/insert the array type when
2274        compiler-macroexpanding MAKE-ARRAY calls.
2275
22762006-11-08 12:39  gb
2277
2278        * compiler/PPC/PPC32/ppc32-backend.lisp: DarwinPPC32 FTD follows
2279        :poweropen-alignment rules.
2280
22812006-11-08 12:38  gb
2282
2283        * lib/foreign-types.lisp: parse-foreign-record-fields: conformance
2284        to poweropen structure layout rules should be an attribute of the
2285        FTD, not done via read-time conditionalization.
2286
22872006-11-08 05:15  gb
2288
2289        * level-1/version.lisp: Bump.
2290
22912006-11-08 05:15  gb
2292
2293        * level-1/l1-streams.lisp: Some bivalent/binary fixes.
2294       
2295        TODO: get rid of "bivalent" streams, but allow switching some
2296        streams (sockets) between "character mode" and "binary mode".
2297
22982006-11-08 02:39  gb
2299
2300        * compiler/PPC/ppc2.lisp: Typo in misc-ref-u64 vinsn emit.
2301
23022006-11-07 21:10  gb
2303
2304        * compiler/optimizers.lisp: Transform three-argument AREF->%AREF3,
2305        ASET->%ASET3.
2306
23072006-11-07 20:40  gb
2308
2309        * compiler/X86/x862.lisp: Implement %aset2 in the x8664 backend.
2310
23112006-11-07 20:39  gb
2312
2313        * level-0/X86/x86-array.lisp: %aref3, %aset3.
2314
23152006-11-07 20:38  gb
2316
2317        * level-0/l0-array.lisp: Use %aref2,%aref3.
2318
23192006-11-07 20:37  gb
2320
2321        * compiler/X86/X8664/x8664-vinsns.lisp: More (often redundant)
2322        vector-store vinsns.
2323
23242006-11-07 20:37  gb
2325
2326        * compiler/X86/X8664/x8664-arch.lisp: .SParef3, .SPaset3.
2327
23282006-11-07 10:28  gb
2329
2330        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s: .SParef3,
2331        .SPaset3.
2332
23332006-11-07 10:27  gb
2334
2335        * level-0/PPC/ppc-array.lisp: %ref3, %aset3.
2336
23372006-11-07 10:26  gb
2338
2339        * lisp-kernel/ppc-spentry.s, lisp-kernel/ppc-spjump.s,
2340        compiler/PPC/ppc-arch.lisp: .SPref3, .SPaset3.
2341
23422006-11-07 10:26  gb
2343
2344        * lisp-kernel/ppc-macros.s: Define mullr, which expands into one of
2345        mullw/mulld.
2346
23472006-11-07 04:12  gb
2348
2349        * compiler/PPC/ppc2.lisp: :signed-64-bit-vector is signed ...
2350
23512006-11-06 22:07  gb
2352
2353        * compiler/nx0.lisp: nx-error-for-simple-2d-array-type: forgot the
2354        :fixnum-vector case.
2355
23562006-11-06 22:04  gb
2357
2358        * compiler/PPC/ppc2.lisp: Handle vector assignment differently;
2359        handle (setf (aref ...)) of simple 2d-arrays inline if the type is
2360        known/declared.
2361
23622006-11-06 22:02  gb
2363
2364        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
2365        Add vinsns for misc-set-s* and variants. (Identical to the unsigned
2366        versions, but it helps not to have to remember which are
2367        implemented and which aren't.)
2368
23692006-11-06 22:01  gb
2370
2371        * compiler/nxenv.lisp: general-aset2, simple-typed-aset2.
2372
23732006-11-06 22:00  gb
2374
2375        * compiler/nx1.lisp: New %ASET2 handling.
2376
23772006-11-06 21:59  gb
2378
2379        * compiler/nx0.lisp: ACODE-FORM-TYPE: use var-inittype if var is
2380        never assigned to.
2381
23822006-11-05 22:09  gb
2383
2384        * level-1/x86-trap-support.lisp: Try to work around
2385        incompatibilites in Tiger/Leopard headers.
2386
23872006-11-05 22:08  gb
2388
2389        * level-1/l1-sockets.lisp: LOOKUP-PORT: use the macro HTONS, since
2390        the foreign function may not exist.
2391
23922006-11-05 20:41  gb
2393
2394        * compiler/X86/x862.lisp: 2d array error lookup -> nx.
2395
23962006-11-05 07:55  gb
2397
2398        * level-0/X86/x86-misc.lisp: %VALID-REMAINING-TIMESPEC-TIME-P for
2399        x86-64, as well.
2400
24012006-11-05 07:52  gb
2402
2403        * level-0/X86/x86-array.lisp: %AREF2, %ASET2 in x8664 lap.
2404
24052006-11-05 07:50  gb
2406
2407        * lisp-kernel/x86-spentry64.s: pre-add displacement in .SParef2,
2408        .SPaset2.
2409
24102006-11-05 07:48  gb
2411
2412        * lisp-kernel/ppc-spentry.s: .SParef2, .SPaset2: since we aren't
2413        testing simple-array-ness, add the (possibly 0) displacement from
2414        the header before handling the simple aref of the data vector.
2415
24162006-11-05 07:47  gb
2417
2418        * lib/foreign-types.lisp: PRINT-OBJECT method for EEPS: handle
2419        pointers on PPC(64), print 64-bit addresses on 64-bit platforms.
2420
24212006-11-05 07:46  gb
2422
2423        * level-1/version.lisp: Bump; new binaries soon.
2424
24252006-11-05 07:46  gb
2426
2427        * level-1/l1-lisp-threads.lisp: %NANOSLEEP calls
2428        %VALID-REMAINING-TIMESPEC-TIME-P, which is better than sleeping for
2429        4G seconds after an EINTR on Leopard.
2430
24312006-11-05 07:44  gb
2432
2433        * level-0/PPC/PPC64/ppc64-bignum.lisp: MACPTR->FIXNUM returns NIL
2434        if any non-fixnum bits would be set in the result.  (Should
2435        probably make this true on all platforms; for PPC64, it's important
2436        for foreign function addresses that're ... suboptimally aligned.)
2437
24382006-11-05 07:42  gb
2439
2440        * level-0/PPC/ppc-misc.lisp: Try to detect the case where
2441        %NANOSLEEP's second (by reference) argument contains garbage after
2442        an EINTR.  (The L word, again.)
2443
24442006-11-05 07:41  gb
2445
2446        * level-0/PPC/ppc-array.lisp: %AREF2, %ASET2: in LAP, just call
2447        into the kernel.
2448
24492006-11-05 07:40  gb
2450
2451        * level-0/l0-cfm-support.lisp: Some platforms (the L-word) generate
2452        ppc64 functions whose addresses are not 0 mod 8, so (a) make
2453        MACPTR->FIXNUM return NIL if an address isn't representable as a
2454        fixnum and (b) make FOREIGN-SYMBOL-ENTRY return an address if it
2455        can't return a fixnum on PPC (really just affects PPC64.)
2456
24572006-11-05 07:37  gb
2458
2459        * level-0/l0-array.lisp: %aref2, %aset2: call into kernel.
2460
24612006-11-05 07:36  gb
2462
2463        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
2464        2d aref support/changes.
2465
24662006-11-05 07:36  gb
2467
2468        * compiler/PPC/ppc2.lisp: Get the PPC2 backend caught up with the
2469        x8664 wrt 2d aref.  Stll a ways to go.
2470
24712006-11-05 07:35  gb
2472
2473        * compiler/nx0.lisp: NX-ERROR-FOR-SIMPLE-2D-ARRAY-TYPE.
2474
24752006-11-04 00:05  gb
2476
2477        * level-1/version.lisp: Bump.
2478
24792006-11-03 23:10  gb
2480
2481        * level-1/ppc-error-signal.lisp: fix parens.
2482
24832006-11-03 23:09  gb
2484
2485        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: arch
2486        gvector types contains :struct, not :structure.
2487
24882006-11-03 23:08  gb
2489
2490        * compiler/PPC/ppc2.lisp: aref2: new operator name(s), always call
2491        subprim.
2492       
2493        ppc2-fixed-call-builtin: (tail-)call subprims even if they aren't
2494        in the builtin functions table.
2495
24962006-11-03 15:19  gb
2497
2498        * compiler/PPC/ppc-arch.lisp: New .SParef2, .SPaset2 subprims.
2499
25002006-11-03 15:18  gb
2501
2502        * compiler/PPC/ppc-asm.lisp: Comments/indentation.
2503
25042006-11-03 15:17  gb
2505
2506        * level-1/ppc-error-signal.lisp: Change decoding/handlng of
2507        type-error UUOs.
2508
25092006-11-03 15:16  gb
2510
2511        * lisp-kernel/: ppc-spentry.s, ppc-spjump.s: .SParef2, .SPaset2.
2512
25132006-11-03 15:16  gb
2514
2515        * lisp-kernel/: ppc-constants32.s, ppc-constants64.s: Define arrayH
2516        (array-header) layout.
2517
25182006-11-03 13:46  gb
2519
2520        * level-1/l1-clos-boot.lisp: CANONICALIZE-SPECIALIZERS optionally
2521        returns its argument if all members are SPECIALIZERS.
2522       
2523        Use CANONICALIZE-SPECIALIZERS to canonicalize FIND-METHOD
2524        arguments, for the benefit of people who haven't read the MOP spec
2525        or who don't realize that the MOP defines some things differently
2526        from CLHS.
2527
25282006-11-03 13:38  gb
2529
2530        * compiler/X86/x862.lisp: Consistently use :struct (not :structure)
2531        to refer to primitive structure type.
2532       
2533        Fix array-ctype-dimensions check in %aref1, add it to %aset1.
2534
25352006-11-03 13:37  gb
2536
2537        * compiler/X86/X8664/x8664-arch.lisp: Ensure that :STRUCT (not
2538        :STRUCTURE) is on target-gvector-types.
2539
25402006-11-03 12:53  gb
2541
2542        * lisp-kernel/x86-uuo.s: uuo_error_array_bounds, such as it is.
2543
25442006-11-03 12:52  gb
2545
2546        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s: SParef2, .SPaset2.
2547         More to come ...
2548
25492006-11-03 12:52  gb
2550
2551        * lisp-kernel/x86-constants64.s: Define array-header layout.
2552
25532006-11-03 12:51  gb
2554
2555        * lisp-kernel/: errors.s, lisp-errors.h: New type-error uuo
2556        encodings, new type-error constants.
2557
25582006-11-03 12:50  gb
2559
2560        * level-1/x86-error-signal.lisp: New range/encoding of type-error
2561        traps.
2562
25632006-11-03 12:49  gb
2564
2565        * level-1/l1-utils.lisp: (temporary) mechanism to avoid
2566        constant-redefinition CERRORs.
2567
25682006-11-03 12:48  gb
2569
2570        * level-1/l1-error-system.lisp: New %type-error-typespecs%.
2571
25722006-11-03 12:47  gb
2573
2574        * level-0/l0-pred.lisp: array--header -> array-header.
2575
25762006-11-03 12:47  gb
2577
2578        * compiler/X86/X8664/x8664-vinsns.lisp: Fix misc-set-c-u64 braino;
2579        add/change some 2d array stuff.
2580
25812006-11-03 12:43  gb
2582
2583        * compiler/X86/X8664/x8664-arch.lisp: Define .SParef2/.SPaset2
2584        subprims; seem to be much (>5x) faster than the lisp/lap versions
2585        (though we can generally be faster still when we know the
2586        element-type and/or know whether the array is simple or explicitly
2587        displaced.)
2588
25892006-11-03 12:41  gb
2590
2591        * compiler/X86/x862.lisp: Change handling of 2d-aref; lots of
2592        related changes.
2593       
2594        Split the code which handles bounds/type-checking in vref out from
2595        the code which actually does the reference, so that the latter can
2596        be used in multidimensional cases.
2597       
2598        Need to do this on PPC as well; need to do more (%aset2, 3d cases,
2599        general case.)
2600
26012006-11-03 12:38  gb
2602
2603        * compiler/nx1.lisp: Change handling of 2d-aref.
2604
26052006-11-03 12:37  gb
2606
2607        * compiler/nxenv.lisp: aref2 -> simple-typed-aref2, add
2608        general-aref2.  More changes to come (and this may affect
2609        compilation on PPC until some PPC compiler changes are
2610        made/checked-in.)
2611
26122006-11-03 12:35  gb
2613
2614        * compiler/arch.lisp: type-errors (as encoded in UUOs) are now in
2615        the range 128-255, rather than 64-127; more are defined.
2616
26172006-11-02 09:43  gb
2618
2619        * level-1/l1-error-system.lisp: Move along, nothing to see here.
2620
26212006-11-02 09:37  gb
2622
2623        * compiler/arch.lisp: New error constants; work in progress ...
2624
26252006-11-01 11:40  gb
2626
2627        * lisp-kernel/errors.s: Some new constants; more to check in later.
2628
26292006-10-31 03:39  gb
2630
2631        * level-0/l0-io.lisp: You must be reading the OLD rule book
2632        (Leopard and #$EINTR).
2633
26342006-10-31 03:21  gb
2635
2636        * lisp-kernel/ppc-exceptions.c: handle_protection_violation: pass
2637        the tcr.  Initialize "addr" before testing it ...
2638
26392006-10-31 03:21  gb
2640
2641        * lisp-kernel/lisp-exceptions.h: handle_protection_violation: pass
2642        the tcr.
2643
26442006-10-30 20:40  gb
2645
2646        * lib/defstruct.lisp: DEFSTRUCT-REF-TRANSFORM for typed vector
2647        expands into something more useful.
2648
26492006-10-30 20:39  gb
2650
2651        * lisp-kernel/ppc-spentry.s: Fix ppc32
2652        misc_ref_double_float_vector.
2653
26542006-10-30 00:24  gb
2655
2656        * level-0/l0-bignum64.lisp: Enable the destructive version of
2657        %BIGNUM-BIGNUM-GCD; conditionalize it for 64-bit targets and
2658        provide/fix supporting functions.  Seems to work on ppc64; needs
2659        testing on x8664.
2660
26612006-10-27 17:49  gb
2662
2663        * darwin-x86-headers64/libc/C/: .cvsignore, populate.sh: New file.
2664
26652006-10-25 20:36  gb
2666
2667        * level-1/l1-streams.lisp: %BIVALENT-IOBLOCK-READ-U8-BYTE (and
2668        variants): always clear the untyi-char.
2669       
2670        %ENCODED-IOBLOCK-PEEK-CHAR: the read-char-when-locked function
2671        needs an argument.
2672       
2673        SETUP-IOBLOCK-OUTPUT: there are no special output functions for
2674        bivalent streams.
2675       
2676        %IOBLOCK-BINARY-READ-VECTOR: clear any untyi char.
2677
26782006-10-24 12:35  gb
2679
2680        * level-1/version.lisp: Bump.
2681
26822006-10-24 01:29  gb
2683
2684        * lisp-kernel/x86-spentry64.s: Fix :ALLOW-OTHER-KEYS check in
2685        _SPdestbind1 (still used in inlining, sometimes.)
2686
26872006-10-24 01:05  gb
2688
2689        * release-notes.txt: Change the date, add/change some content.
2690
26912006-10-24 01:05  gb
2692
2693        * lib/macros.lisp: Reference the (bound) STREAM-VAR argument - not
2694        STREAM - in the expansion of WITH-OUTPUT-TO-STRING.
2695
26962006-10-24 00:56  gb
2697
2698        * lib/ccl-export-syms.lisp: Reference the (bound) STREAM-VAR
2699        argument - not STREAM - in the expansion of WITH-OUTPUT-TO-STRING.
2700
27012006-10-24 00:55  gb
2702
2703        * level-1/l1-streams.lisp: When recycling
2704        string-output-stream-ioblocks, set the IOBLOCK-CHARPOS to 0.
2705        (Failure to do this can screw up the pretty-printer, among other
2706        things.)
2707
27082006-10-24 00:52  gb
2709
2710        * level-1/l1-sockets.lisp: DEFAULT-CHARACTER-ENCODING for :SOCKET,
2711        *DEFAULT-SOCKET-CHARACTER-ENCODING*.
2712
27132006-10-23 17:03  gb
2714
2715        * release-notes.txt: Updated; almost ready to go (still a
2716        WITH-OUTPUT-TO-STRING/PPRINT (?) bug).
2717
27182006-10-23 16:43  gb
2719
2720        * level-1/l1-sysio.lisp: NORMALIZE-EXTERNAL-FORMAT: use
2721        *DEFAULT-EXTERNAL-FORMAT* value for :DEFAULT.
2722
27232006-10-23 16:42  gb
2724
2725        * level-1/l1-streams.lisp: Use NORMALIZE-EXTERNAL-FORMAT in (SETF
2726        STREAM-EXTERNAL-FORMAT) methods.
2727
27282006-10-23 16:41  gb
2729
2730        * lib/ccl-export-syms.lisp: Export some unicode/external-format
2731        stuff.
2732
27332006-10-23 08:27  gb
2734
2735        * level-1/version.lisp: Bump; binaries today, honest.
2736
27372006-10-23 08:27  gb
2738
2739        * level-1/l1-streams.lisp: freelist string-output-stream-ioblocks.
2740
27412006-10-23 08:26  gb
2742
2743        * lib/macros.lisp: Some/most/all of the WITH-IOBLOCK-OUTPUT-LOCKED
2744        macros were checking for the presence of an input lock ...
2745
27462006-10-23 05:40  gb
2747
2748        * level-1/l1-streams.lisp: Optimize write-string on string streams
2749        a little.
2750
27512006-10-23 05:26  gb
2752
2753        * lib/macros.lisp: WITH-OUTPUT-TO-STRING: don't expand into code
2754        which evaluates the string form twice; don't do whatever was being
2755        done to default the element type of the string stream.
2756
27572006-10-23 05:24  gb
2758
2759        * compiler/optimizers.lisp: MAKE-STRING-OUTPUT-STREAM: skip some
2760        keyword/subtype checking if element-type not provided.  (Could also
2761        skip it if it's explicit and obviously OK.)
2762
27632006-10-23 05:22  gb
2764
2765        * level-0/X86/x86-misc.lisp: %HEAP-BYTES-ALLOCATED: don't add
2766        "current" allocation if nothing's reserved.
2767
27682006-10-23 05:19  gb
2769
2770        * lisp-kernel/x86-exceptions.c: In handle_alloc_trap(), fix call to
2771        update_bytes_allocated (sign of "disp").
2772
27732006-10-22 08:02  gb
2774
2775        * compiler/PPC/ppc2.lisp: MULTIPLE-VALUE-PROG1: treat the first
2776        form like a PROGN if there are no other forms.
2777
27782006-10-22 08:01  gb
2779
2780        * level-1/l1-streams.lisp: Don't disable interrupts when calling
2781        ioblock functions.
2782       
2783        New string-stream implementation.  Better ...
2784
27852006-10-22 07:59  gb
2786
2787        * lib/macros.lisp: If WITH-OUTPUT-TO-STRING gets the string, do so
2788        before the stream closes.
2789
27902006-10-22 07:59  gb
2791
2792        * lib/pprint.lisp: Don't assume that string output stream strings
2793        have a fill-pointer; use STREAM-POSITION instead.
2794
27952006-10-22 07:57  gb
2796
2797        * lib/streams.lisp: Don't disable interrupts when calling ioblock
2798        functions, after all.
2799       
2800        Go through (new) ioblock-unread-char-function.
2801
28022006-10-22 07:55  gb
2803
2804        * lisp-kernel/darwinppc/.gdbinit: Stop trying to print strings via
2805        x/s
2806
28072006-10-21 18:46  gb
2808
2809        * level-1/l1-streams.lisp: Typo.
2810
28112006-10-21 18:41  gb
2812
2813        * lisp-kernel/x86-exceptions.c: Initialize (zero, usually) more
2814        fields in pseudo sigcontexts.
2815
28162006-10-21 18:40  gb
2817
2818        * level-1/l1-streams.lisp: Mostly locking changes (don't lock
2819        twice, etc.)
2820
28212006-10-21 18:35  gb
2822
2823        * level-0/l0-array.lisp, level-0/l0-init.lisp,
2824        level-0/l0-pred.lisp, level-0/l0-utils.lisp,
2825        level-0/PPC/ppc-array.lisp, level-0/PPC/ppc-symbol.lisp,
2826        level-0/X86/x86-symbol.lisp, level-1/l1-aprims.lisp,
2827        lib/sequences.lisp: Remove vestival #+target-8-bit-chars stuff.
2828
28292006-10-21 16:45  gb
2830
2831        * level-1/l1-unicode.lisp: New! Improved! Now with more iso-8859
2832        encodings!
2833
28342006-10-19 13:48  gb
2835
2836        * level-0/PPC/ppc-misc.lisp: Reference the source argument - not
2837        arg_z - in %safe-get-ptr.
2838
28392006-10-19 13:22  gb
2840
2841        * level-0/l0-aprims.lisp: %CSTR-POINTER: make #\Nul termination
2842        optional, use #\Sub char-code as replaement char.
2843
28442006-10-19 13:21  gb
2845
2846        * examples/objc-runtime.lisp: Missing close paren.
2847
28482006-10-19 13:19  gb
2849
2850        * examples/: cocoa-editor.lisp, cocoa-listener.lisp: Careful BLTing
2851        strings to/from foreign memory.
2852
28532006-10-19 13:18  gb
2854
2855        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Typos in UNBOX-S8.
2856
28572006-10-18 08:04  gb
2858
2859        * level-1/version.lisp: Bump.  Binaries later today ?
2860
28612006-10-18 07:38  gb
2862
2863        * level-1/l1-clos-boot.lisp: The post-bootstrapping version of
2864        (SETF FIND-CLASS) only introduces (or removes) a type name if the
2865        class becomes (or ceases to be) a properly named class.
2866       
2867        The pre-bootstrapping version handles simpler cases of that; use
2868        ALIAS-CLASS to register some early class names as type names.
2869
28702006-10-18 07:36  gb
2871
2872        * level-1/l1-clos.lisp: (SETF CLASS-NAME) can affect the type
2873        system, since only symbols which name properly-named classes are
2874        type specifiers.  Changing the name of a class can either introduce
2875        or remove a properly-named class.
2876       
2877        Classes that have the kernel-p attribute shouldn't have their names
2878        changed casually.
2879
28802006-10-18 07:33  gb
2881
2882        * level-1/l1-sockets.lisp: Accept an :EXTERNAL-FORMAT argument to
2883        MAKE-SOCKET, pass it down to whatever function actually creates a
2884        stream socket.
2885
28862006-10-18 02:12  gb
2887
2888        * compiler/X86/x862.lisp: Allow closed-over addresses in
2889        conditional-form, NOT.
2890
28912006-10-18 01:43  gb
2892
2893        * lisp-kernel/x86-exceptions.c: handle_fault() checks for
2894        safe_ref_addres.
2895
28962006-10-18 01:43  gb
2897
2898        * level-0/X86/x86-misc.lisp: %safe-get-ptr for x8664.
2899
29002006-10-18 01:41  gb
2901
2902        * compiler/X86/X8664/x8664-vinsns.lisp: Compare stack
2903        addresses/vcells to nil.
2904
29052006-10-18 01:41  gb
2906
2907        * compiler/X86/x862.lisp: Stuff for comparing memory (stack)
2908        addresses to NIL.
2909       
2910        Mark arg_z and rcx/nargs as being in use when restoring interrupt
2911        level inline.
2912
29132006-10-18 01:39  gb
2914
2915        * compiler/X86/x86-disassemble.lisp: We've had UUO-ERROR-UNBOUND
2916        for a few months now.  The disassembler is always the last to know.
2917
29182006-10-17 19:15  gb
2919
2920        * compiler/PPC/PPC32/ppc32-arch.lisp,
2921        compiler/PPC/PPC64/ppc64-arch.lisp,
2922        compiler/X86/X8664/x8664-arch.lisp, examples/objc-runtime.lisp,
2923        level-0/l0-misc.lisp, level-0/PPC/ppc-misc.lisp,
2924        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
2925        lisp-kernel/ppc-constants64.h, lisp-kernel/ppc-constants64.s,
2926        lisp-kernel/ppc-exceptions.c, lisp-kernel/x86-constants64.h,
2927        lisp-kernel/x86-constants64.s: add safe-ref-address to tcr.
2928       
2929        Handle memory faults to safe-ref-addres on PPC (so far).
2930       
2931        Try using SAFE-GET-PTR in objc runtime (untested).
2932
29332006-10-17 17:34  gb
2934
2935        * compiler/PPC/ppc2.lisp: ppc backend %aref1/%aset1: notice array
2936        type in acode.
2937
29382006-10-17 14:02  gb
2939
2940        * level-1/l1-unicode.lisp: BOM-ENCODING.
2941
29422006-10-17 14:02  gb
2943
2944        * level-1/l1-sysio.lisp: FILE-STRING-LENGTH actually does
2945        something.
2946       
2947        Clear the pending-bom flag when seeking.
2948
29492006-10-17 14:01  gb
2950
2951        * level-1/l1-streams.lisp: (SETF STREAM-EXTERNAL-FORMAT) for
2952        ioblock-based character streams.
2953
29542006-10-17 13:45  gb
2955
2956        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: bind/unbind
2957        *interrupt-level* inline.
2958
29592006-10-17 13:44  gb
2960
2961        * compiler/X86/x86-disassemble.lisp: Act like ud2a takes a one-byte
2962        immmediate operand (xuuo).
2963
29642006-10-17 13:39  gb
2965
2966        * level-1/l1-streams.lisp, lib/streams.lisp: Disable interrupts
2967        when necessary.
2968
29692006-10-17 13:39  gb
2970
2971        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
2972        PPC64/ppc64-vinsns.lisp: bind/unbind *interrupt-level* inline.
2973
29742006-10-15 17:51  gb
2975
2976        * level-1/l1-streams.lisp: Handle 32-bit character encodings.
2977       
2978        Start to extend STREAM-EXTERNAL-FORMAT, start to make it SETFable.
2979
29802006-10-15 17:51  gb
2981
2982        * level-1/l1-unicode.lisp: utf-32/ucs-4 and variants.
2983
29842006-10-15 17:50  gb
2985
2986        * level-1/l1-sysio.lisp: EXTERNAL-FORMATs are immutable, interned.
2987
29882006-10-14 07:41  gb
2989
2990        * compiler/PPC/ppc2.lisp: Fix use of ^,<- vinsn macros inside
2991        ENSURING-NODE-TARGET.
2992       
2993        Inline the fixnum case of two-arg numeric comparisons.
2994
29952006-10-14 07:39  gb
2996
2997        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
2998        INLINE-SUB2 support.
2999
30002006-10-14 06:30  gb
3001
3002        * lib/defstruct.lisp: Don't (DECLARE (OPTIMIZE (SAFETY 3))) in
3003        generated DEFSTRUCT accessors.
3004
30052006-10-14 06:27  gb
3006
3007        * compiler/X86/x862.lisp: Fix many cases of ENSURING-NODE-TARGET.
3008       
3009        Do the fixnum case of two-argument subtraction inline.
3010       
3011        Inline the fixnum case of two-argument numeric comparisons.
3012       
3013        STRUCT-REF avoids typechecking when reckless.
3014
30152006-10-14 06:21  gb
3016
3017        * compiler/backend.lisp: It makes no sense to use the vinsn macros
3018        <- and ^ inside ENSURING-NODE-TARGET, so make it check for that.
3019
30202006-10-14 06:20  gb
3021
3022        * compiler/X86/X8664/x8664-vinsns.lisp: Do vector bounds-checking a
3023        little differently.
3024       
3025        Add xchg-registers.
3026
30272006-10-13 04:54  gb
3028
3029        * compiler/nx1.lisp: Use new NUMCMP operator.
3030
30312006-10-13 04:53  gb
3032
3033        * compiler/nx0.lisp: Change inline expansion: use optimize settings
3034        in effect at call time, not those in effect at definition time.
3035
30362006-10-13 04:50  gb
3037
3038        * level-0/l0-numbers.lisp: Change >=-2, <=-2, /=-2 to avoid
3039        inlining issues.
3040
30412006-10-13 04:30  gb
3042
3043        * compiler/nxenv.lisp: Replace unused num= with numcmp.
3044
30452006-10-12 19:46  gb
3046
3047        * lisp-kernel/pmcl-kernel.c: Terminate argument processing when
3048        "--" is seen.
3049
30502006-10-12 19:45  gb
3051
3052        * level-1/: l1-streams.lisp, l1-sysio.lisp, l1-unicode.lisp: Handle
3053        newline translation differenly (at the character I/O level, not the
3054        buffer level).
3055       
3056        All character encoding/decoding functions operate on octets, not
3057        necessarily code units.  (The stream encode/decode functions are an
3058        exception; serialization and byte ordering are handled by the
3059        stream.)
3060
30612006-10-09 16:34  gb
3062
3063        * level-1/l1-streams.lisp: Write  #\Sub's char-code if we can't
3064        encode a character in (implicit) iso-8859-1.
3065
30662006-10-09 16:33  gb
3067
3068        * level-0/l0-misc.lisp: %COPY-STRING-TO-U8: use #\Sub (ascii 26) as
3069        a replacement character.
3070
30712006-10-09 16:31  gb
3072
3073        * level-1/l1-unicode.lisp: :stream-encode/decode functions always
3074        write/read something, even if it's a replacement character of some
3075        sort.
3076
30772006-10-09 15:19  gb
3078
3079        * level-1/l1-streams.lisp: More stuff about line termination.  When
3080        will this end ?
3081
30822006-10-09 15:19  gb
3083
3084        * lib/chars.lisp: Use a hashtable to map characters to their names.
3085         (Maybe a sparse vector ?).
3086
30872006-10-09 15:18  gb
3088
3089        * level-1/l1-reader.lisp: Use a hashtable to map characters to
3090        their names.  (Maybe a sparse vector ?).
3091       
3092        Define #\Sub and #\Replacement_Character.
3093
30942006-10-08 21:17  gb
3095
3096        * level-1/l1-readloop-lds.lisp: SELECT-BACKTRACE: it's been all
3097        NEW-BACKTRACE for a while now.
3098
30992006-10-08 21:16  gb
3100
3101        * lisp-kernel/lisptypes.h: Need to #include <sys/signal.h> to keep
3102        Panther happy.
3103
31042006-10-08 20:30  gb
3105
3106        * lisp-kernel/x86_print.c: Print hex with leading #x, not #0x ...
3107
31082006-10-08 20:30  gb
3109
3110        * lib/dumplisp.lisp: Do some sanity checks on SAVE-APPLICATION
3111        pathname, before it's too late ...
3112
31132006-10-08 20:29  gb
3114
3115        * level-1/l1-unicode.lisp: ASCII, some other changes.
3116
31172006-10-08 20:29  gb
3118
3119        * level-1/l1-sysio.lisp: Rearrange a few things; pass
3120        :line-termination option to MAKE-FD-STREAM.
3121
31222006-10-08 20:28  gb
3123
3124        * level-1/l1-streams.lisp: Yet another line-termination translation
3125        scheme; hopefully, the last for a while. (More tedium before it's
3126        actually installed.)
3127
31282006-10-08 20:27  gb
3129
3130        * level-1/l1-reader.lisp: Add character names for #\Line_Separator,
3131        #\Paragraph_separator.
3132
31332006-10-07 20:35  gb
3134
3135        * level-1/l1-init.lisp: *TERMINAL-CHARACTER-ENCODING-NAME*.
3136
31372006-10-07 20:34  gb
3138
3139        * level-1/l1-error-signal.lisp: In %ERROR, go straight to the
3140        kernel debugger if interactive streams aren't initialized yet.
3141        (We'd probably get there sooner or later in that case; try to get
3142        there sooner.)
3143
31442006-10-07 20:33  gb
3145
3146        * level-1/l1-boot-2.lisp: Don't initialize interactive streams via
3147        DEF-LOAD-POINTERS.  Wrap that up in a function, and set a flag when
3148        the function's called (from APPLICATION's TOPLEVEL-FUNCTION
3149        method.)
3150
31512006-10-07 20:32  gb
3152
3153        * level-1/l1-application.lisp: Handle the (new)
3154        -K/--terminal-encoding command-line argument.
3155
31562006-10-07 11:14  gb
3157
3158        * level-1/l1-streams.lisp: INPUT-STREAM-P, OUTPUT-STREAM-P are true
3159        of instances if INPUT-STREAM/ OUTPUT-STREAM, respectively (not just
3160        instances of FUNDAMENTAL-INPUT/OUTPUT-STREAM).
3161
31622006-10-07 11:13  gb
3163
3164        * lisp-kernel/lisp-debug.c: Do abort() if kernel debugger is
3165        entered when --batch is in effect.
3166
31672006-10-07 11:12  gb
3168
3169        * level-1/l1-readloop.lisp: QUIT: flush *STDOUT* in
3170        PROCESS-EXIT-APPLICATION.
3171
31722006-10-07 11:11  gb
3173
3174        * level-1/l1-processes.lisp: PROCESS-EXIT-APPLICATION: flush
3175        *stdout* here.
3176
31772006-10-06 04:49  gb
3178
3179        * level-1/l1-streams.lisp: CODE-UNIT, not CODE-ELEMENT.  Add a
3180        TRANSLATE slot to IO-BUFFER.
3181
31822006-10-06 04:40  gb
3183
3184        * level-1/l1-sockets.lisp: basic (vs fundamental) socket streams.
3185
31862006-10-06 04:39  gb
3187
3188        * level-1/l1-sysio.lisp: Real, live EXTERNAL-FORMAT structures.
3189
31902006-10-06 04:38  gb
3191
3192        * level-1/version.lisp: Bump.
3193
31942006-10-06 04:38  gb
3195
3196        * level-0/l0-misc.lisp: %COPY-STRING-TO-U8: use #\? as a
3197        replacement character.
3198
31992006-10-05 14:46  gb
3200
3201        * lisp-kernel/lisptypes.h: More register name aliases.  FMH.
3202
32032006-10-05 14:46  gb
3204
3205        * lisp-kernel/x86-asmutils64.s: get_mxcsr, set_mxcsr.
3206
32072006-10-05 14:46  gb
3208
3209        * lisp-kernel/x86-exceptions.c: Save the mxcsr, load it with a
3210        C-like value (all exceptions masked) before doing a callback.  (Not
3211        doing this meant that tcr.foreign_mxcsr was often set to a "lispy"
3212        value, where most exceptions were unmasked, and this caused FP
3213        exceptions when calling out to foreign code with the "lispy"
3214        tcr.foreign_mxcsr in effect.)
3215       
3216        Mach exception stuff arranges to return via sigreturn.  Didn't fix
3217        the spurious SIGTRAPs, but might be the right idea (and might save
3218        a context switch or two.)
3219       
3220        Mach exception stuff initializes rflags to exception rflags when
3221        arranging to resume thread at handler.  Leaving them uninitialized
3222        was causing spurious SIGTRAPs, since the trace bit(s) may have been
3223        set.
3224
32252006-10-05 06:09  gb
3226
3227        * lib/macros.lisp: WITH-ENCODED-CSTR(s).  (Hey, it's a start.)
3228
32292006-10-05 06:09  gb
3230
3231        * lib/chars.lisp: CHAR-NAME: try to use at least 4 hex digits for
3232        #\U+xxxx syntax.
3233
32342006-10-05 06:08  gb
3235
3236        * level-1/l1-unicode.lisp: UCS-2, some other changes.
3237
32382006-10-05 06:07  gb
3239
3240        * level-1/l1-sysio.lisp: Try to get
3241        line-termination/external-format stuff working.
3242
32432006-10-05 05:35  gb
3244
3245        * level-1/l1-streams.lisp: Assume that character data is always
3246        encoded as one or more 8-bit octets.
3247
32482006-10-05 04:59  gb
3249
3250        * level-1/l1-boot-2.lisp: Set class-prototypes for basic-streams
3251        just before we make the first one.
3252
32532006-10-02 08:13  gb
3254
3255        * lisp-kernel/x86-exceptions.h: Darwin uses _sigtramp glue to call
3256        handlers, so we need to make handlers do a sigreturn after
3257        switching off the signal stack, etc.
3258
32592006-10-02 08:11  gb
3260
3261        * lisp-kernel/x86-exceptions.c: Don't use SIGRETURN to return from
3262        signal_handler() on Darwin (since we depend on pseudo_sigreturn
3263        handling for cleanup of tcr pending exception and since we can't
3264        easily restore the signal mask.)
3265       
3266        (Up until this point, SIGRETURN has been a nop on Darwin.)
3267
32682006-10-02 04:59  gb
3269
3270        * lisp-kernel/lisptypes.h: Compile on ppc,ppc64 osx 10.4 and
3271        earlier.
3272
32732006-10-02 04:47  gb
3274
3275        * lisp-kernel/: lisptypes.h, ppc-exceptions.c, ppc-exceptions.h:
3276        Compile on post OSX 10.4 systems, for ppc/ppc64.  (Broken on
3277        systems <= 10.4).
3278
32792006-10-02 02:46  gb
3280
3281        * lisp-kernel/: lisptypes.h, x86-exceptions.c, x86-exceptions.h:
3282        Try to make x86-64 version compile under 10.4 again; see if this
3283        breaks post-10.4 compilation.
3284
32852006-10-02 02:33  gb
3286
3287        * lisp-kernel/: lisptypes.h, pmcl-kernel.c, x86-exceptions.c,
3288        x86-exceptions.h: Change things so that they compile for x86-64 on
3289        systems later than 10.4.  Almost certainly break 10.4 compilation
3290        in the process.  (Thanks, Apple!  Any time I can cause you to waste
3291        hours on crap like this, just let me know!)
3292
32932006-09-27 20:33  gb
3294
3295        * lib/misc.lisp: DOCUMENTATION works on character-encodings.
3296
32972006-09-27 20:33  gb
3298
3299        * level-1/l1-unicode.lisp: Character-encodings have doc strings.
3300
33012006-09-27 05:46  gb
3302
3303        * level-1/l1-sysio.lisp: More FILE-STREAM changes.  Give
3304        BASIC-STREAM classes a class prototype.
3305
33062006-09-27 05:45  gb
3307
3308        * level-1/l1-streams.lisp: Some changes to FD-STREAM
3309        initialization, to make it easier to use MAKE-FD-STREAM to open
3310        (seekable) FILE-STREAMs.
3311
33122006-09-27 05:41  gb
3313
3314        * lisp-kernel/: x86-exceptions.c, x86-exceptions.h: Decode and
3315        handle UUO_ERROR_DEBUG_TRAP_WITH_STRING.
3316
33172006-09-27 05:39  gb
3318
3319        * lisp-kernel/x86-spentry64.s: Still get very occasional SIGFPE on
3320        return from (e.g.) #_asin on x86-64 Darwin.  (#_asin often does a
3321        division-by-zero, but that should be masked when in foreign code.)
3322        Don't reload the lisp mxcsr until other registers have been popped,
3323        to make debugging easier in case it's the act of reloading the
3324        mxcsr that causes the spurious trap.)
3325
33262006-09-27 05:36  gb
3327
3328        * level-0/X86/x86-misc.lisp: DEBUG-TRAP-WITH-STRING.
3329
33302006-09-27 05:35  gb
3331
3332        * level-0/nfasload.lisp: Not sure when it happened, but %FASLOAD
3333        was parenthesized in such a way as to not return the error value on
3334        error.
3335
33362006-09-27 05:34  gb
3337
3338        * level-0/l0-misc.lisp: On x8664, use a new UUO for BUG.  (Not
3339        passing context into the kernel makes it too difficult to debug/get
3340        backtrace, etc.)
3341
33422006-09-27 05:33  gb
3343
3344        * compiler/X86/: x86-asm.lisp, x86-disassemble.lisp:
3345        UUO-ERROR-DEBUG-TRAP-WITH-STRING.
3346
33472006-09-27 05:05  gb
3348
3349        * level-1/l1-clos-boot.lisp: CLASS-PROTOTYPE method for CLASS class
3350        (mostly for BUILT-IN-CLASSes).
3351
33522006-09-26 20:49  gb
3353
3354        * level-1/l1-sysio.lisp: SELECT-STREAM-CLASS: should probably take
3355        a BASIC-P argument.
3356
33572006-09-26 20:47  gb
3358
3359        * level-1/l1-streams.lisp: More changes.  Imagine that.
3360
33612006-09-26 20:46  gb
3362
3363        * compiler/: X86/X8664/x8664-vinsns.lisp, X86/x862.lisp,
3364        optimizers.lisp: (Redundant) FIXNUM decls in LDB compiler macro.
3365
33662006-09-26 20:43  gb
3367
3368        * level-1/l1-unicode.lisp: Memory/vector encode/decode functions
3369        take/return strings, not chars.
3370       
3371        Some bom stuff.
3372
33732006-09-24 20:14  gb
3374
3375        * lib/chars.lisp: Check for assumptions about character size.
3376        Remove some %i-isms (fixnum arithmetic), make assertions about type
3377        of char-code.
3378
33792006-09-24 20:12  gb
3380
3381        * level-1/l1-aprims.lisp: Remove unused (probably ancient)
3382        CHKBOUNDS function.  Simpler STRING-START-END.
3383
33842006-09-24 20:11  gb
3385
3386        * level-1/l1-streams.lisp: Some stuff to infer line-termination.
3387        Probably belongs elsewhere; some encodings may not make it at all
3388        possible.
3389
33902006-09-24 20:07  gb
3391
3392        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3393        Load-character-constant: accept :u32const on PPC32, PPC64, too.
3394
33952006-09-24 20:00  gb
3396
3397        * level-1/l1-streams.lisp: A little more u16 stuff.  Remove
3398        line-termination slot from ioblock and corresponding arg from
3399        functions which initialize it.
3400
34012006-09-24 19:59  gb
3402
3403        * level-1/l1-sysio.lisp: Input-filter, output-filter in
3404        file-ioblock.
3405
34062006-09-24 19:58  gb
3407
3408        * level-1/l1-unicode.lisp: Buffer translation functions don't
3409        belong here; start thinking about BOM.
3410
34112006-09-24 19:57  gb
3412
3413        * compiler/X86/X8664/x8664-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
3414        it's been a :u32const for the last few weeks ...
3415
34162006-09-24 04:29  gb
3417
3418        * lib/chars.lisp: CHAR-NAME looks in the *CHARACTER-NAMES* array if
3419        the code is within its bounds.
3420
34212006-09-24 04:27  gb
3422
3423        * level-1/l1-reader.lisp: Lots more character names.  Maintain
3424        mappings in a vector and a hash table, rather than in an alist.
3425
34262006-09-24 04:26  gb
3427
3428        * level-0/nfasload.lisp, xdump/xfasload.lisp, lib/nfcomp.lisp: Doh!
3429        character constant fasl encoding ($fasl-char).
3430
34312006-09-23 05:31  gb
3432
3433        * level-1/l1-unicode.lisp: Some other iso8859-n encodings.  (Not
3434        sure which are the most important.)
3435
34362006-09-23 05:29  gb
3437
3438        * level-1/l1-sysio.lisp: Start to separate
3439        line-termination/external-format stuff.
3440
34412006-09-23 05:28  gb
3442
3443        * level-1/l1-streams.lisp: Lots-o-changes.
3444
34452006-09-23 05:28  gb
3446
3447        * level-1/l1-boot-2.lisp: Make initial interactive streams use
3448        UTF-8 (mostly for debugging utf-8 ...)
3449
34502006-09-21 04:07  gb
3451
3452        * lisp-kernel/x86-spentry64.s: don't clobber callback index when
3453        doing the DARWIN_GS_HACK stuff in _SPcallback (syscall sometimes
3454        clobbered r11, sometimes didn't.)
3455
34562006-09-21 04:05  gb
3457
3458        * lisp-kernel/pmcl-kernel.c: Require mach/port.h.
3459
34602006-09-21 04:05  gb
3461
3462        * lisp-kernel/x86-exceptions.c: Save and restore errno in
3463        callback_for_interrupt.
3464
34652006-09-21 04:04  gb
3466
3467        * lisp-kernel/lisptypes.h: Guess again about preprocessor stuff for
3468        x86-64 ucontext/mcontext on Darwin.
3469
34702006-09-21 04:02  gb
3471
3472        * level-1/l1-lisp-threads.lisp: Use underscore prefix on all Darwin
3473        flavors.
3474       
3475        Add a type decl in %nanosleep.
3476
34772006-09-21 04:01  gb
3478
3479        * compiler/X86/X8664/x8664-vinsns.lisp: sign-extend/zero-extend
3480        vinsns.
3481
34822006-09-21 04:01  gb
3483
3484        * compiler/X86/x862.lisp: sign/zero-extend ffcall, syscall return
3485        values.  (Probably only matters in a few cases, like the Darwin
3486        x86-64 version of #_nanosleep, which returns a non-sign-extended
3487        "int" value if the sleep is interruted.)
3488
34892006-09-20 06:34  gb
3490
3491        * level-1/version.lisp: Bump.
3492
34932006-09-20 04:24  gb
3494
3495        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3496        slight improvements in signed-byte boxing, typechecking.
3497
34982006-09-20 04:22  gb
3499
3500        * lib/streams.lisp: WRITE-BYTE for BASIC-STREAMs.
3501
35022006-09-20 04:21  gb
3503
3504        * lib/macros.lisp: %SWAP-U16, %SWAP-U32.
3505
35062006-09-20 04:21  gb
3507
3508        * lib/level-2.lisp: %EVAL-REDEFs for new require-xx functions.
3509
35102006-09-20 04:20  gb
3511
3512        * level-1/l1-unicode.lisp: UTF-16, in native and byte-swapped
3513        versions.  Need a "logical" UTF-16, which deals with byte-order
3514        marks and a means of installing a concrete encoding.  Needs
3515        testing.
3516
35172006-09-20 04:15  gb
3518
3519        * level-1/l1-streams.lisp: Numerous changes.
3520
35212006-09-20 04:15  gb
3522
3523        * level-1/l1-sockets.lisp: %bswap16: fix type declaration.
3524
35252006-09-20 04:14  gb
3526
3527        * compiler/X86/X8664/x8664-vinsns.lisp: vinsns for signed/unsigned
3528        byte 8,16,32,64.  Tighten up some signed-byte boxing.
3529
35302006-09-20 04:12  gb
3531
3532        * compiler/X86/x862.lisp: New require ops for signed/unsigned byte
3533        8,16,32,64
3534
35352006-09-19 01:38  gb
3536
3537        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3538        vinsns for REQUIRE-[US][8,16,32,64]
3539
35402006-09-19 01:37  gb
3541
3542        * compiler/PPC/PPC32/ppc32-arch.lisp: Need
3543        THREE-DIGIT-BIGNUM-HEADER to recognize some cases of (UNSIGNED-BYTE
3544        64).
3545
35462006-09-19 01:36  gb
3547
3548        * compiler/PPC/ppc-backend.lisp: clean up an error message.
3549
35502006-09-19 01:36  gb
3551
3552        * compiler/PPC/ppc2.lisp: handle require-[us][8,16,32,64]
3553        operators.
3554
35552006-09-19 01:34  gb
3556
3557        * compiler/optimizers.lisp: REQUIRE-TYPE: transform into
3558        require-[us][8,16,32,64] when possible.
3559
35602006-09-19 01:34  gb
3561
3562        * compiler/nx1.lisp: inline require-[us][8,16,32,64].
3563
35642006-09-19 01:33  gb
3565
3566        * compiler/nxenv.lisp: New operators for require-[us][8,16,32,64].
3567
35682006-09-19 01:15  gb
3569
3570        * compiler/X86/X8664/x8664-vinsns.lisp: x8664 vinsns for
3571        typechecking signed/unsigned bytes of sizes 8,16,32,64.
3572
35732006-09-19 00:36  gb
3574
3575        * level-1/l1-streams.lisp: More changes; hard to bootstrap.
3576
35772006-09-18 21:42  gb
3578
3579        * lib/macros.lisp: Macros for locking the input/output locks of an
3580        ioblock, assuming that it exists.
3581
35822006-09-17 00:45  gb
3583
3584        * level-1/l1-streams.lisp: more changes
3585
35862006-09-13 06:52  gb
3587
3588        * level-1/l1-io.lisp: Direct BASIC-STREAM stuff for WRITE-CHAR,
3589        WRITE-STRING, TERPRI.
3590
35912006-09-13 06:08  gb
3592
3593        * lib/streams.lisp: READ-LINE changes for BASIC-STREAMs.
3594
35952006-09-13 06:07  gb
3596
3597        * level-1/l1-unicode.lisp: GET-CHARACTER-ENCODING errors if the
3598        named encoding isn't defined.
3599       
3600        Terse PRINT-OBJECT method for CHARACTER-ENCODING.
3601
36022006-09-13 06:06  gb
3603
3604        * level-1/l1-streams.lisp: More functions in the ioblock, some
3605        support for 8-bit encodings (like utf-8).  Not finished, but
3606        getting hard to bootstrap; need to check in and build on all
3607        platforms before it gets even harder.
3608
36092006-09-12 05:34  gb
3610
3611        * level-0/l0-misc.lisp: Use %CSTR-POINTER (not
3612        %copy-ivector-to-pointer) in BUG.
3613
36142006-09-12 05:31  gb
3615
3616        * lisp-kernel/x86-exceptions.c: Enter the debugger if
3617        altstack_signal_handler is entered in foreign code.  (Maybe want to
3618        signal a lisp error in some cases, but this is currently fatal and
3619        we might as well die earlier than with a stack overflow.)
3620
36212006-09-12 05:29  gb
3622
3623        * lisp-kernel/thread_manager.c: os_get_stack_bounds(): get stack
3624        direction right on FreeBSD.  (Much better than randomly scribbling
3625        on memory in the GC, as the FreeBSD port has been doing for months
3626        now ...)
3627
36282006-09-11 21:31  gb
3629
3630        * compiler/X86/x862.lisp: x862-explicit-non-fixnum-type-p looks for
3631        intersection.
3632
36332006-09-11 21:21  gb
3634
3635        * compiler/X86/x862.lisp: Partly inline 2-arg logior, logand.
3636
36372006-09-11 20:10  gb
3638
3639        * level-1/l1-unicode.lisp: Character encodings contain a
3640        LITERAL-CHAR-CODE-LIMIT field.
3641
36422006-09-11 20:09  gb
3643
3644        * level-1/l1-streams.lisp: extend IOBLOCK a bit.  Start to provide
3645        functionality for encoded streams.
3646
36472006-09-11 20:08  gb
3648
3649        * compiler/PPC/ppc2.lisp: Partialy inline 2-arg logior/logand.
3650
36512006-09-09 04:39  gb
3652
3653        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3654        REQUIRE-CHAR-CODE: compare against boxed char-code-limit.
3655
36562006-09-09 04:21  gb
3657
3658        * level-1/l1-reader.lisp: NAME-CHAR: insist on something more
3659        reasonable for ^c syntax; don't do MOD for octal.
3660
36612006-09-09 04:21  gb
3662
3663        * compiler/X86/X8664/x8664-vinsns.lisp: require-char-code checks
3664        agains boxed Unicode limit
3665
36662006-09-09 03:56  gb
3667
3668        * lisp-kernel/x86-gc.c: purify_range(), impurify_range(): handle
3669        x8664 functions, hash tables.  (PPC versions should handle hash
3670        table key movement.)
3671
36722006-09-08 22:47  gb
3673
3674        * lib/chars.lisp: CHAR-NAME: use U+xxxx for chars with codes >=
3675        #x100.
3676
36772006-09-08 22:38  gb
3678
3679        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3680        FIXNUM->CHAR: return NIL for surrogate pairs.
3681
36822006-09-08 22:33  gb
3683
3684        * compiler/PPC/ppc2.lisp: Don't be overly unsafe in %CHAR-CODE.
3685
36862006-09-08 22:31  gb
3687
3688        * lib/ppc-backtrace.lisp: Fix CFP-LFUN (fake stack frame case,
3689        sanity-check fn/lr).
3690
36912006-09-08 18:55  gb
3692
3693        * compiler/X86/x862.lisp: Don't be so reckless in %CODE-CHAR (don't
3694        necessarily want arbitrary expressions to be compiled unsafely; do
3695        want to avoid a little type-checking sometimes.)
3696
36972006-09-08 18:52  gb
3698
3699        * compiler/X86/X8664/x8664-vinsns.lisp: FIXNUM->CHAR returns NIL
3700        for values in the surrogate-pairs range.  (There are other things
3701        that it could plausibly return NIL for.)
3702
37032006-09-08 18:51  gb
3704
3705        * lisp-kernel/x86-gc.c: Start to get purify working on x86-64; for
3706        now, just purify strings.
3707
37082006-09-08 18:48  gb
3709
3710        * lib/macros.lisp: %CODE-CHAR asserts that code is (UNSIGNED-BYTE
3711        8), which is still useful (and exactly what it used to do.)
3712
37132006-09-08 18:47  gb
3714
3715        * lib/: compile-ccl.lisp, systems.lisp: Add l1-unicode.
3716
37172006-09-08 18:44  gb
3718
3719        * level-1/level-1.lisp: Load l1-unicode.
3720
37212006-09-08 18:44  gb
3722
3723        * level-1/l1-unicode.lisp: New file.
3724
37252006-09-07 03:50  gb
3726
3727        * lisp-kernel/area.h: Larger PURESPACE_RESERVE for x8664.
3728
37292006-09-07 03:44  gb
3730
3731        * xdump/: heap-image.lisp, xfasload.lisp, xppcfasload.lisp,
3732        xx8664-fasload.lisp: Bump abi version.  Make purespace-reserve an
3733        attribute of the backend (may need more pure space on x86-64.)
3734
37352006-09-07 03:43  gb
3736
3737        * lisp-kernel/image.h: Bump abi version.
3738
37392006-09-07 03:43  gb
3740
3741        * level-1/version.lisp: Bump.
3742
37432006-09-07 02:58  gb
3744
3745        * lisp-kernel/x86-exceptions.c: FreeBSD (at least with libthr)
3746        seems to mask synchronous signals.  Unmask them in signal handlers.
3747
37482006-09-07 02:57  gb
3749
3750        * lisp-kernel/thread_manager.c: suspend_resume_handler() : ignore
3751        signal mask.
3752
37532006-09-07 02:56  gb
3754
3755        * lisp-kernel/: lisptypes.h, ppc-constants32.h, ppc-constants32.s,
3756        ppc-constants64.h, ppc-constants64.s, ppc-gc.c, x86-constants64.h,
3757        x86-constants64.s: Lose the CHAR_SIZE_32 bootstrapping conditional
3758        (char are 32 bits wide on all platforms now.)
3759
37602006-09-07 00:40  gb
3761
3762        * lisp-kernel/x86-exceptions.c: SIGBUS might be
3763        SIGNUM_FOR_PROCESS_INTERRUPT.
3764
37652006-09-07 00:12  gb
3766
3767        * lisp-kernel/x86-spentry64.s: _SPbuiltin_aref1: use
3768        box_fixnum_no_flags.
3769
37702006-09-07 00:12  gb
3771
3772        * lisp-kernel/x86-macros.s: Define box_fixnum_no_flags (uses lea
3773        vice imul).
3774
37752006-09-06 21:18  gb
3776
3777        * compiler/X86/X8664/x8664-arch.lisp: Need
3778        MIN/MAX-8-BIT-IVECTOR-SUBTAG.
3779
37802006-09-06 18:37  gb
3781
3782        * lisp-kernel/x86-spentry64.s: misc_ref/misc_set: handle 32-bit
3783        strings.
3784
37852006-09-06 18:36  gb
3786
3787        * lisp-kernel/x86-macros.s: Zero-extend early when extracting
3788        typecodes.
3789
37902006-09-06 18:36  gb
3791
3792        * level-1/l1-streams.lisp: GET-OUTPUT-STREAM-STRING: use
3793        ENSURE-SIMPLE-STRING rather than horrible COERCE nonsense.
3794
37952006-09-06 18:35  gb
3796
3797        * level-1/l1-aprims.lisp: x8664 *immheader-1-array-element-types*
3798        contains entry for 32-bit BASE-CHAR.
3799
38002006-09-06 18:35  gb
3801
3802        * compiler/X86/X8664/x8664-vinsns.lisp: zero-extend early when
3803        extracting typecodes.
3804
38052006-09-06 18:34  gb
3806
3807        * compiler/X86/X8664/: x8664-arch.lisp, x8664-backend.lisp:
3808        32-bit-chars.
3809
38102006-09-06 18:33  gb
3811
3812        * compiler/X86/: x86-backend.lisp, x862.lisp: Defer handling of the
3813        :rcontext pseudo-register name until the target backend is in
3814        place.
3815
38162006-09-06 16:39  gb
3817
3818        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: 32-bit chars
3819        stuff for x8664.
3820
38212006-09-06 16:39  gb
3822
3823        * level-1/l1-reader.lisp: kids: bourbon and editing COPY-READTABLE
3824        don't mix!
3825
38262006-09-06 16:38  gb
3827
3828        * lib/compile-ccl.lisp: :verbose argument to rebuild-ccl.
3829
38302006-09-06 16:38  gb
3831
3832        * level-1/linux-files.lisp: process input/output: don't assume
3833        8-bit strings.
3834
38352006-09-06 14:42  gb
3836
3837        * compiler/PPC/PPC64/ppc64-backend.lisp: PPC64 callbacks are always
3838        #+poweropen-target; don't conditionalize the fp-arg-ptr argument
3839        (since that creates confustion when cross-compiling from a
3840        non-poweropen host.)
3841
38422006-09-06 00:08  gb
3843
3844        * compiler/PPC/PPC64/: ppc64-arch.lisp, ppc64-backend.lisp: remove
3845        8-bit char stuff.
3846
38472006-09-06 00:08  gb
3848
3849        * compiler/X86/X8664/x8664-arch.lisp: Forgot to set char-code-limit
3850        here.
3851
38522006-09-05 22:49  gb
3853
3854        * lib/macros.lisp: In DO-GC-AREAS, don't use comma before call to
3855        AREA-SUCC.  (Cross-compilation/ word-size issue.)
3856
38572006-09-05 22:42  gb
3858
3859        * level-0/l0-utils.lisp: If ENSURE-SIMPLE-STRING has to make a copy
3860        of a non-simple string, understand char width issues.
3861
38622006-09-05 22:41  gb
3863
3864        * level-0/nfasload.lisp: Some fixnum decls in %FIND-PKG.
3865
38662006-09-05 22:40  gb
3867
3868        * level-1/l1-aprims.lisp: ppc64 ARRAY-ELEMENT-SUBTYPES includes new
3869        string type.
3870
38712006-09-05 22:39  gb
3872
3873        * level-0/PPC/ppc-array.lisp: cr3, nor c33, in ppc64 %init-misc.
3874
38752006-09-05 22:38  gb
3876
3877        * compiler/nx0.lisp: NX-FORM-TYPEP uses NX-TARGET-TYPE.
3878
38792006-09-05 09:13  gb
3880
3881        * compiler/PPC/PPC32/ppc32-backend.lisp: darwinppc32 backend uses
3882        32-bit chars, too.
3883
38842006-09-05 09:01  gb
3885
3886        * compiler/PPC/PPC32/: ppc32-arch.lisp, ppc32-backend.lisp: ppc32
3887        defaults to 32-bit chars.
3888
38892006-09-05 05:18  gb
3890
3891        * xdump/xfasload.lisp: Deal with 32-bit lisp strings.
3892
38932006-09-05 05:18  gb
3894
3895        * lisp-kernel/linuxppc/.gdbinit: Start to depend on calling
3896        print_lisp_object, since x/s doesn't deal with 32-bit lisp strings.
3897
38982006-09-05 05:17  gb
3899
3900        * lisp-kernel/ppc-gc.c: conditionalize purify_displaced_object()
3901        for char size.
3902
39032006-09-05 05:16  gb
3904
3905        * lisp-kernel/plsym.c: find_symbol(): don't assume 8-bir lisp
3906        strings.
3907
39082006-09-05 05:15  gb
3909
3910        * lisp-kernel/lisptypes.h: Try using "u8_t" and "u32_t" for
3911        lisp_char_code; this may be more portable.
3912
39132006-09-05 05:14  gb
3914
3915        * lib/sequences.lisp: SIMPLE-1D-ARRAY-SUBSEQ: handle new strings.
3916
39172006-09-05 05:13  gb
3918
3919        * level-1/linux-files.lisp: CALL-WITH-STRING-VECTOR: don't assume
3920        8-bit char/strings.
3921
39222006-09-05 05:13  gb
3923
3924        * level-1/l1-streams.lisp: Use heap-ivectors of element-type
3925        (UNSIGNED-BYTE 8) for character streams.  (Should really depend on
3926        the coding system in use.)
3927
39282006-09-05 05:09  gb
3929
3930        * level-1/l1-aprims.lisp: Various archaic string functions: don't
3931        assume 8-bit strings.
3932
39332006-09-05 05:08  gb
3934
3935        * level-0/l0-array.lisp: Handle 32-bit strings in %UVECTOR-REPLACE.
3936
39372006-09-05 05:07  gb
3938
3939        * compiler/PPC/PPC64/ppc64-arch.lisp: No "x" in simple-base-string,
3940        when #-target-8-bit-chars.
3941
39422006-09-05 05:06  gb
3943
3944        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3945        REQUIRE-CHAR-CODE: comparison of OBJECT with TAG is not a CMPI.
3946
39472006-09-05 05:05  gb
3948
3949        * compiler/PPC/ppc2.lisp: PPC2-VREF: handle the 32-bit
3950        :SIMPLE-STRING case with constant index.
3951
39522006-09-04 17:44  gb
3953
3954        * lisp-kernel/lisptypes.h: Linux doesn't define uint8_t.  Try
3955        "unsigned char", and cross fingers.
3956
39572006-09-04 17:38  gb
3958
3959        * lisp-kernel/: lisptypes.h, ppc_print.c, x86_print.c: Define
3960        lisp_char_code type, use it when printing lisp string in the kernel
3961        debugger.
3962
39632006-09-04 17:28  gb
3964
3965        * level-1/version.lisp: Bump.
3966
39672006-09-04 17:18  gb
3968
3969        * level-0/PPC/ppc-array.lisp: Sigh.  Test for 8-bit-char case was
3970        conditionalized backwards in PPC64 %INIT-MISC.
3971
39722006-09-04 17:05  gb
3973
3974        * level-1/l1-init.lisp: Initial value of CHAR-CODE-LIMIT derived
3975        from the target arch (for bootstrapping.)
3976
39772006-09-04 17:04  gb
3978
3979        * level-1/l1-reader.lisp: Use (UNSIGNED-BYTE 8) for array element
3980        type of rdtab.ttab.
3981       
3982        Don't treat (code-char #xca) as whitespace; do treat (code-char
3983        #xa0) as whitespace.  (The former happens to be how the latter was
3984        encoded in MacRoman.)
3985       
3986        Handle U+<hex> syntax in NAME-CHAR.
3987
39882006-09-04 16:16  gb
3989
3990        * compiler/PPC/PPC64/ppc64-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
3991        and the char code with #xff to get the low byte.
3992
39932006-09-04 16:15  gb
3994
3995        * compiler/PPC/PPC32/ppc32-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
3996        and the char code with #xff or 255., not with #x255.  (Cause lots
3997        of wackiness, mostly in readtable initialization.)
3998
39992006-09-04 16:12  gb
4000
4001        * compiler/PPC/ppc2.lisp: Use u32->char (which is defined) vice
4002        u8->char (which is no more) in %CHAR-CODE.
4003
40042006-09-04 06:04  gb
4005
4006        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
4007        Gak.  Get guard/predicate syntax right in LOAD-CHARACTER-CONSTANT.
4008
40092006-09-04 06:03  gb
4010
4011        * level-0/PPC/ppc-array.lisp: New constants in ppc32 typecode range
4012        assertion.
4013
40142006-09-04 03:44  gb
4015
4016        * level-0/PPC/ppc-array.lisp: ppc32/ppc64 %init-misc tweaks.
4017
40182006-09-04 03:43  gb
4019
4020        * compiler/PPC/ppc-lapmacros.lisp: Typo in the (unused) 64-bit/no
4021        crf case of UNBOX-BASE-CHAR.
4022
40232006-09-04 02:30  gb
4024
4025        * level-1/l1-error-system.lisp: Object-not- (mod #x110000) type
4026        error.
4027
40282006-09-04 02:29  gb
4029
4030        * level-0/PPC/ppc-symbol.lisp: conditionalize %pname-hash for char
4031        size.
4032
40332006-09-04 02:26  gb
4034
4035        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s,
4036        ppc-constants64.h, ppc-constants64.s: Conditionalize for
4037        CHAR_SIZE_32.
4038
40392006-09-04 02:24  gb
4040
4041        * compiler/PPC/PPC32/ppc32-arch.lisp,
4042        compiler/PPC/PPC32/ppc32-vinsns.lisp,
4043        compiler/PPC/PPC64/ppc64-arch.lisp,
4044        compiler/PPC/PPC64/ppc64-vinsns.lisp, level-0/l0-array.lisp,
4045        level-0/l0-pred.lisp: Conditionalize for #-target-8-bit-chars.
4046
40472006-09-04 02:23  gb
4048
4049        * compiler/PPC/ppc2.lisp: Deal - sometimes conditionally - with
4050        32-bit characters.
4051
40522006-09-04 02:22  gb
4053
4054        * compiler/arch.lisp: ERROR-OBJECT-NOT-MOD-CHAR-CODE-LIMIT.
4055
40562006-09-03 16:03  gb
4057
4058        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
4059        conditionalize new string types.
4060
40612006-09-03 16:03  gb
4062
4063        * level-0/X86/x86-symbol.lisp: %pname-hash: conditionalize for
4064        string element size.
4065
40662006-09-03 16:02  gb
4067
4068        * compiler/X86/X8664/x8664-arch.lisp, level-0/l0-array.lisp,
4069        level-0/l0-pred.lisp: Sketch out new string types (read-time
4070        conditionalized.)
4071
40722006-09-03 15:02  gb
4073
4074        * level-0/l0-init.lisp: Put :target-8-bit-chars on *features*, for
4075        bootstrapping.
4076
40772006-09-03 14:20  gb
4078
4079        * level-1/l1-streams.lisp: More missing BASIC-STREAM methods.
4080
40812006-09-03 13:22  gb
4082
4083        * compiler/: X86/X8664/x8664-backend.lisp,
4084        PPC/PPC32/ppc32-backend.lisp, PPC/PPC64/ppc64-backend.lisp:
4085        :target-8-bit-chars on target features.
4086
40872006-09-03 13:21  gb
4088
4089        * level-0/l0-int.lisp: Some comments/indentation.
4090
40912006-09-03 13:01  gb
4092
4093        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Make
4094        CHAR-CODE-LIMIT an attribute of the target arch, for bootstrapping.
4095
40962006-09-02 11:24  gb
4097
4098        * level-1/x86-error-signal.lisp, lib/db-io.lisp: Fix typo.
4099
41002006-09-02 11:15  gb
4101
4102        * lisp-kernel/x86_print.c: hex/decimal integer printers: 3 is also
4103        a hex digit.
4104
41052006-09-02 11:11  gb
4106
4107        * lisp-kernel/x86-exceptions.c: Install a "bogus signal handler" on
4108        Darwin, to deal with apparent race conditions/Mach kernel lossage.
4109       
4110        Don't do the whole msg_server here; just do the exc_server thing.
4111       
4112        Fix a couple of Mach exception-handling bugs; at least one more may
4113        remain.
4114
41152006-09-02 11:07  gb
4116
4117        * lisp-kernel/x86-asmutils64.s: Use a hlt instruction to trap in
4118        pseudo_sigreturn.
4119       
4120        Still get spurious SIGTRAPs.
4121
41222006-09-02 11:06  gb
4123
4124        * lisp-kernel/thread_manager.c: Define some things in terms of
4125        USE_MACH_SEMAPHORES or USE_POSIX_SEMAPHORES.
4126       
4127        sem_wait_forever() does repeated timed waits, since I thought that
4128        Darwin was having trouble interrpting things that waited
4129        indefinitely.  (That might just be a GDB bug.  Who can tell ?)
4130
41312006-09-02 11:03  gb
4132
4133        * lisp-kernel/Threads.h: Define some things in terms of
4134        USE_MACH_SEMAPHORES or USE_POSIX_SEMAPHORES.  Note that as of Q3
4135        2006, Darwin still doesn't implement enough POSIX semaphore
4136        functionality to make it possible to avoid the use of Mach
4137        semaphores.
4138
41392006-09-02 11:01  gb
4140
4141        * lib/db-io.lisp:
4142        Try to avoid things like %COPY-IVECTOR-TO-IVECTOR when strings are
4143        involved.
4144
41452006-09-02 11:01  gb
4146
4147        * level-1/x86-threads-utils.lisp: Things that're %HEAP-IVECTOR-P
4148        aren't bogus objects.
4149
41502006-09-02 11:00  gb
4151
4152        * level-1/l1-streams.lisp: Try to avoid things like
4153        %COPY-IVECTOR-TO-IVECTOR when strings are involved.
4154
41552006-09-02 10:59  gb
4156
4157        * level-1/l1-events.lisp: AUTO-FLUSH-INTERACTIVE-STREAMS: use
4158        FORCE-OUTPUT.
4159
41602006-09-02 10:57  gb
4161
4162        * level-0/l0-misc.lisp: %COPY-U8-TO-STRING, %COPY-STRING-TO-U8:
4163        new, to avoid %COPY-IVECTOR-TO-IVECTOR when strings are involved.
4164       
4165        %STR-FROM-PTR: take dest string as optional arg, don't assume 8-bit
4166        chars.
4167       
4168        %GET-CSTRING: change type decl, use %GET-UNSIGNED-BYTE.
4169
41702006-09-02 10:55  gb
4171
4172        * level-0/l0-aprims.lisp: %CSTR-POINTER and %CSTR-SEGMENT-POINTER:
4173        don't assume 8-bit chars.
4174
41752006-08-28 17:35  gb
4176
4177        * lisp-kernel/ppc-spentry.s: Fix tag check in 32-bit
4178        misc_set_single_float_vector.
4179
41802006-08-28 17:01  gb
4181
4182        * xdump/faslenv.lisp: Bump max fasl version.
4183
41842006-08-28 16:48  gb
4185
4186        * lib/nfcomp.lisp: Use new string ops.  Bump current fasl version.
4187
41882006-08-28 16:33  gb
4189
4190        * xdump/faslenv.lisp: Bump (max) fasl version.
4191
41922006-08-28 16:30  gb
4193
4194        * xdump/xfasload.lisp: xloader was missing a few new ops.
4195
41962006-08-28 05:34  gb
4197
4198        * xdump/xfasload.lisp: New string stuff here, too.
4199
42002006-08-28 05:28  gb
4201
4202        * level-0/nfasload.lisp: New string stuff.
4203
42042006-08-28 04:57  gb
4205
4206        * level-1/l1-streams.lisp: More missing BASIC-STREAM methods
4207        (STREAM-LINE-COLUMN, STREAM-LISTEN, STREAM-EOFP.)
4208
42092006-08-28 04:57  gb
4210
4211        * level-1/l1-reader.lisp: Use READ-CHAR instead of
4212        STREAM-READ-CHAR, since it may be faster in some cases.
4213
42142006-08-28 04:56  gb
4215
4216        * level-1/l1-events.lisp: Unscramble auto-flush-streams stuff
4217        (don't assume ioblock-based stream.)
4218
42192006-08-28 04:55  gb
4220
4221        * level-1/l1-boot-2.lisp: Initial FD-STREAMs are BASIC-STREAMs.
4222
42232006-08-28 04:55  gb
4224
4225        * level-0/PPC/ppc-symbol.lisp: Change some REQUIRE forms; cosmetic.
4226         (Maybe not even cosmetic.)
4227
42282006-08-28 04:54  gb
4229
4230        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
4231        PPC64/ppc64-vinsns.lisp: %unbox-u8, u8-vref stuff.
4232
42332006-08-28 04:53  gb
4234
4235        * xdump/faslenv.lisp: New fasl ops for new string encodings.
4236
42372006-08-28 04:52  gb
4238
4239        * lib/macros.lisp: %CHAR-CODE: for how long has limit not been 2^16
4240        ?  For how long will limit be 2^8 ?
4241
42422006-08-28 04:51  gb
4243
4244        * level-0/nfasload.lisp: More fasl ops.
4245
42462006-08-28 04:51  gb
4247
4248        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: %UNBOX-U8,
4249        u8-vref stuff.
4250
42512006-08-28 04:50  gb
4252
4253        * compiler/arch.lisp: Add CHAR-CODE-LIMIT slot to TARGET-ARCH; may
4254        not be the best way to do this.
4255
42562006-08-26 13:58  gb
4257
4258        * release-notes.txt: Updated.
4259
42602006-08-26 13:50  gb
4261
4262        * release-notes.txt: Updated.
4263
42642006-08-26 13:50  gb
4265
4266        * darwin-x86-headers64/libc/.cvsignore: Added.
4267
42682006-08-26 03:17  gb
4269
4270        * level-1/version.lisp: Bump.  New snapshots soon, I hope.
4271
42722006-08-26 03:12  gb
4273
4274        * lisp-kernel/darwinx8664/Makefile: Pass -g in ASFLAGS; same
4275        problems as always, but avoids problems with Darwin x86-64 ld64
4276        segfaulting for unknown reasons.
4277
42782006-08-26 03:11  gb
4279
4280        * lisp-kernel/x86-exceptions.h: Need to do an explicit sigreturn on
4281        Darwin (because of the sigaltstack hacks; Darwin uses sigtramp glue
4282        that we can't just return to after switching off of the alt stack.)
4283
42842006-08-26 03:08  gb
4285
4286        * lib/numbers.lisp: Check fpu overflow bit (not underflow) when
4287        deciding whether or not to signal overflow.
4288
42892006-08-26 03:08  gb
4290
4291        * level-1/x86-trap-support.lisp: Need an indirection to access
4292        mcontext from ucontext on Darwin; invent xp-gp-regs to get at
4293        mcontext64.ss.
4294
42952006-08-26 03:06  gb
4296
4297        * level-1/x86-error-signal.lisp: Add a declaration, to make this
4298        easier to step through.
4299
43002006-08-26 03:05  gb
4301
4302        * level-0/l0-float.lisp: SINGLE-FLOAT-HALF-PI: use f0 not e0, just
4303        in case.
4304
43052006-08-25 20:35  gb
4306
4307        * level-1/l1-boot-lds.lisp, level-1/l1-events.lisp,
4308        lib/ccl-export-syms.lisp: Hyphenate ADD-AUTO-FLUSH-STREAM and
4309        REMOVE-AUTO-FLUSH-STREAM.
4310       
4311        Export them, too.
4312
43132006-08-25 20:22  gb
4314
4315        * lib/streams.lisp: READ-LINE on BASIC-INPUT-STREAM w/o
4316        STREAM-READ-LINE.
4317
43182006-08-25 20:22  gb
4319
4320        * lib/macros.lisp: HANDLER-CASE: the :NO-ERROR clause can appear at
4321        most once but doesn't have to be the last clause.
4322
43232006-08-25 20:21  gb
4324
4325        * level-1/l1-streams.lisp: BASIC-OUTPUT-STREAM isn't an
4326        INPUT-STREAM.
4327       
4328        Some STREAM-READ-LINE support for BASIC-CHARACTER-INPUT-STREAM.
4329
43302006-08-25 20:19  gb
4331
4332        * level-1/l1-readloop.lisp: PREPARE-TO-QUIT: other threads should
4333        be dead by the time that streams on *OPEN-FILE-STREAMS* are closed,
4334        so unlock those streams with extreme prejudice before closing them.
4335
43362006-08-25 20:18  gb
4337
4338        * level-1/l1-pathnames.lisp: FULL-PATHNAME: remove some weird old
4339        code that assumed that interfered with handling of relative logical
4340        pathnames.
4341
43422006-08-25 20:17  gb
4343
4344        * level-1/l1-events.lisp: Rename EVENT-POLL to
4345        AUTO-FLUSH-INTERACTIVE-STREAMS.
4346       
4347        Make AUTO-FLUSH-INTERACTIVE-STREAMS do conditional locking on each
4348        stream (doing nothing if it's not :SHARING :LOCK; unconditional
4349        locking on the *AUTO-FLUSH-STREAMS-LOCK*.
4350       
4351        ADD-AUTOFLUSH-STREAM ensures that the stream is :SHARING :LOCK.
4352       
4353        REMOVE-AUTOFLUSH-STREAM.
4354
43552006-08-25 20:13  gb
4356
4357        * level-1/l1-boot-lds.lisp: MAKE-MCL-LISTENER-STREAM uses
4358        ADD-AUTOFLUSH-STREAM, REMOVE-AUTOFLUSH-STREAM.
4359
43602006-08-23 22:59  gb
4361
4362        * lisp-kernel/x86-exceptions.c: Darwin needs to decode the mxcsr on
4363        SIGFPE.
4364       
4365        DARWIN_GS_HACK changes in altstack handlers for interrupt/suspend.
4366
43672006-08-23 22:58  gb
4368
4369        * lisp-kernel/x86-spentry64.s: x86-64 Darwin's math library is
4370        pretty casual about causing spurious exceptions, so ignore them.
4371
43722006-08-23 22:57  gb
4373
4374        * lisp-kernel/darwinx8664/.gdbinit: New file; like the linuxx8664
4375        version, with different signals to be ignored by gdb.
4376
43772006-08-23 22:56  gb
4378
4379        * lisp-kernel/x86-asmutils64.s: Using ud2b to force an exception in
4380        pseudo_sigreturn() seems to cause/be related to spurious SIGTRAPs.
4381        Use int $0 instead.
4382
43832006-08-23 22:55  gb
4384
4385        * level-1/x86-trap-support.lisp: First attempt at Darwinx8664
4386        support; may need more work.
4387
43882006-08-22 02:08  gb
4389
4390        * lisp-kernel/x86_print.c: Try not to use sprintf() (at least not
4391        for printing integers), since it seems to need access to pthread
4392        data (and calling print_lisp_object() from GDB might fail if %gs is
4393        pointing at the lisp TCR.)
4394
43952006-08-22 02:06  gb
4396
4397        * lisp-kernel/x86-spentry64.s: Unbox %arg_z (boxed entrypoint)
4398        earlier in _SPffcall, before entering foreign context.  (Need to
4399        check PPC version(s) as well.)
4400       
4401        Use DARWIN_GS_HACK to swap %gs memory around when transitioning
4402        between foreign code and lisp.
4403
44042006-08-22 02:04  gb
4405
4406        * lisp-kernel/x86-macros.s: Fix a typo.
4407
44082006-08-22 02:04  gb
4409
4410        * lisp-kernel/x86-exceptions.h: Define a few more things ...
4411
44122006-08-22 02:03  gb
4413
4414        * lisp-kernel/x86-exceptions.c: Lots of changes, especially to Mach
4415        exception handling code.
4416       
4417        Do the DARWIN_GS_HACK things to overload %gs.
4418
44192006-08-22 02:02  gb
4420
4421        * lisp-kernel/x86-asmutils64.s: atomic_and(), pseudo_sigreturn()
4422        for DarwinX8664.
4423
44242006-08-22 02:01  gb
4425
4426        * lisp-kernel/thread_manager.c: Some PPC64 conditionalizations
4427        should really have tested WORD_SIZE.
4428       
4429        DARWIN_GS_HACK stuff around suspend/resume signal handlers.  (May
4430        not be necessary.)
4431       
4432        Ensure that tcr.linear gets set on x86, even if not HAVE_TLS.
4433
44342006-08-22 01:59  gb
4435
4436        * lisp-kernel/pmcl-kernel.c: Don't really flush cache lines on
4437        x8664.
4438       
4439        Some PPC64 conditionalizations should really have tested WORD_SIZE.
4440
44412006-08-22 01:58  gb
4442
4443        * lisp-kernel/m4macros.m4: Define SYSCALL_SETS_CARRY_ON_ERROR for
4444        FreeBSDX664, DarwinX8664.
4445
44462006-08-22 01:57  gb
4447
4448        * lisp-kernel/darwinx8664/Makefile: Much smaller pagezero, much
4449        lower seg1addr.
4450       
4451        Something in the (m4-generated) symbolic info in some .s files is
4452        screwy and causes ld64 to segfault; it's currently necesssary to
4453        use "strip -S" on the assembler-generated .o files.
4454
44552006-08-22 01:55  gb
4456
4457        * scripts/openmcl64: Untested changes for Darwinx8664.
4458
44592006-08-22 01:54  gb
4460
4461        * xdump/xx8664-fasload.lisp: Fix typo in darwinx8664
4462        xload-backend-info (compiler target is :darwinx8664, not
4463        :linuxx8664).
4464
44652006-08-22 01:53  gb
4466
4467        * lib/nfcomp.lisp: Dump concatenated functions from xfunctions when
4468        cross-compiling to x86 from x86.
4469
44702006-08-22 01:52  gb
4471
4472        * lib/misc.lisp: MACHINE-VERSION:  conditionalize on :DARWIN-TARGET
4473        (not :DARWINPPC-TARGET).
4474
44752006-08-22 01:50  gb
4476
4477        * lib/foreign-types.lisp: :DARWIN-TARGET (not :DARWINPPC-TARGET).
4478
44792006-08-22 01:50  gb
4480
4481        * lib/compile-ccl.lisp: :DARWINX8664 stuff.
4482
44832006-08-22 01:49  gb
4484
4485        * level-1/version.lisp: Bump.
4486
44872006-08-22 01:49  gb
4488
4489        * level-1/l1-sysio.lisp: FILE-STREAM-EXTERNAL-FORMAT stuff for
4490        BASIC-STREAMs.
4491
44922006-08-22 01:48  gb
4493
4494        * level-1/: l1-sockets.lisp, linux-files.lisp: Conditionalize on
4495        DARWIN-TARGET, not DARWINPPC-TARGET.
4496
44972006-08-22 01:47  gb
4498
4499        * level-0/l0-init.lisp: DarwinX8664 *features*.
4500
45012006-08-22 01:47  gb
4502
4503        * level-0/l0-cfm-support.lisp: Some DARWINPPC-TARGET conditionals
4504        really want to be DARWIN-TARGET.
4505
45062006-08-22 01:46  gb
4507
4508        * compiler/X86/X8664/x8664-arch.lisp: YIELD-SYSCALL for
4509        DarwinX8664.
4510
45112006-08-22 01:45  gb
4512
4513        * compiler/X86/x862.lisp: Use CROSS-CREATE-X86-FUNCTION if not
4514        compiling natively.
4515       
4516        Fix X862-FIXUP-FWD-REFS if not native function on x86.
4517
45182006-08-22 01:44  gb
4519
4520        * compiler/X86/x86-lap.lisp: Ensure that CROSS-CREATE-X86-FUNCTION
4521        is defined, even on x86.  Use it if not compiling natively on x86.
4522
45232006-08-20 23:59  gb
4524
4525        * lisp-kernel/darwinx8664/Makefile: Define DARWIN_GS_HACK.
4526
45272006-08-20 23:58  gb
4528
4529        * lisp-kernel/x86-exceptions.c: Still needs lots of work.
4530
45312006-08-20 23:58  gb
4532
4533        * lisp-kernel/x86-exceptions.h: Include Mach stuff on Darwin;
4534        prototypes for DARWIN_GS_HACK %gs segment switching.
4535
45362006-08-20 23:57  gb
4537
4538        * lisp-kernel/x86-subprims64.s: Manipulate the %gs register when a
4539        lisp thread starts, exits and DARWIN_GS_HACK is defined.
4540       
4541        This isn't so bad, but doing it around every ff-call might be.
4542
45432006-08-20 23:56  gb
4544
4545        * lisp-kernel/x86-macros.s: DARWIN_GS_HACK macros.
4546
45472006-08-20 23:53  gb
4548
4549        * lisp-kernel/thread_manager.c: Note the need for DARWIN_GS_HACK.
4550
45512006-08-20 23:51  gb
4552
4553        * lisp-kernel/x86-asmutils64.s: DARWIN_GS_HACK hacks.
4554
45552006-08-20 23:51  gb
4556
4557        * lisp-kernel/m4macros.m4: Hope that the need for DARWIN_GS_HACK is
4558        also temporary.
4559
45602006-08-20 23:50  gb
4561
4562        * lisp-kernel/lisptypes.h: Hope that the workaround for missing
4563        mcontext64 in x8664 Darwin is temporary.
4564
45652006-08-20 20:35  gb
4566
4567        * library/darwinx664-syscalls.lisp: typo
4568
45692006-08-20 20:35  gb
4570
4571        * library/darwinx8664-syscalls.lisp: spell name right
4572
45732006-08-20 17:10  gb
4574
4575        * xdump/xx8664-fasload.lisp: :darwinx8664 stuff.
4576
45772006-08-20 17:10  gb
4578
4579        * lib/db-io.lisp: :struct-by-value: don't read-time conditionalize
4580        (do other things still use read-time conditionals ?)
4581
45822006-08-20 17:09  gb
4583
4584        * compiler/X86/X8664/x8664-backend.lisp: Darwinx8664: overload %gs,
4585        setup syscall mask.
4586
45872006-08-20 17:08  gb
4588
4589        * compiler/nx1.lisp: Handle syscall, ff-call for :darwinx8664 as
4590        well.
4591
45922006-08-20 17:06  gb
4593
4594        * library/darwinx664-syscalls.lisp: New file; or's in the bit for
4595        Unix syscalls on Darwinx8664.  (Screw: should (carefully) review
4596        word-size issues.)
4597
45982006-08-20 17:03  gb
4599
4600        * library/darwinppc-syscalls.lisp: Mask for PPC.
4601
46022006-08-20 17:02  gb
4603
4604        * level-0/l0-io.lisp, level-1/l1-sockets.lisp,
4605        level-1/linux-files.lisp: Syscall conditionalization.
4606
46072006-08-20 17:01  gb
4608
4609        * level-1/l1-streams.lisp: Syscall conditionalization.
4610       
4611        SELECTION-INPUT-STREAM created with :sharing :lock.
4612
46132006-08-20 17:00  gb
4614
4615        * examples/objc-runtime.lisp: Fencepost in
4616        POINTER-IN-CFSTRING-SECTION-P.
4617
46182006-08-20 16:16  gb
4619
4620        * library/: darwinppc-syscalls.lisp, darwin-syscalls.lisp: rename
4621
46222006-08-18 09:50  gb
4623
4624        * lisp-kernel/thread_manager.c: Enable FP underflow detection on
4625        x8664.  Should do this on PPC as well, and should probably offer
4626        some backward-compatible behavior for reader.
4627
46282006-08-18 09:47  gb
4629
4630        * compiler/X86/X8664/x8664-backend.lisp: Dress up the Darwin x86-64
4631        backend a little.
4632       
4633        Explicily define lisp-context-register slot in each backend (%gs
4634        for those imolementations that follow the standard ABI, %fs for
4635        Darwin.)
4636
46372006-08-18 09:44  gb
4638
4639        * compiler/X86/X8664/x8664-vinsns.lisp: Use :rcontext when
4640        necessary.
4641
46422006-08-18 09:43  gb
4643
4644        * compiler/X86/: x86-backend.lisp, x86-lap.lisp: Recognize
4645        :rcontext as a reference to the backend's LISP-CONTEXT-REGISTER
4646        slot.
4647
46482006-08-18 09:42  gb
4649
4650        * compiler/backend.lisp: Backend now has a lisp-context-register
4651        slot.
4652
46532006-08-18 09:42  gb
4654
4655        * compiler/X86/X8664/x8664-arch.lisp: No more (constant) rcontext.
4656
46572006-08-18 09:40  gb
4658
4659        * level-0/X86/: x86-def.lisp, x86-float.lisp, x86-io.lisp,
4660        x86-misc.lisp, x86-symbol.lisp, x86-utils.lisp: Refer to rcontext
4661        segment register as :rcontext, since x86-64 Darwin doesn't laugh
4662        and play like the other children.
4663
46642006-08-18 09:29  gb
4665
4666        * lisp-kernel/x86-exceptions.c: Copy some of the Mach exception
4667        code from the PPC version and tweak it a little; needs more work.
4668
46692006-08-18 09:27  gb
4670
4671        * lisp-kernel/x86-exceptions.h: Provide some interim Darwin
4672        conditionalization.
4673
46742006-08-18 09:25  gb
4675
4676        * lisp-kernel/m4macros.m4: Spell FREEBSD correctly.
4677       
4678        Generate an equate for HAVE_TLS.
4679
46802006-08-18 09:23  gb
4681
4682        * lisp-kernel/x86-gc.c: Changes in purify_xp().
4683
46842006-08-18 09:19  gb
4685
4686        * lisp-kernel/x86-spentry64.s: Darwin x86-64 assembler doesn't like
4687        absolute jumps, prefers slower ones.
4688       
4689        Move lock prefixes to their own lines, to satisfy you-know-who.
4690       
4691        If we don't have thread-local-storage (TLS), it's hard to avoid the
4692        get_tcr() call on each calback.
4693
46942006-08-18 09:13  gb
4695
4696        * lisp-kernel/: freebsdx8664/Makefile, linuxx8664/Makefile: Tell m4
4697        that we HAVE_TLS.
4698
46992006-08-17 10:41  phil
4700
4701        * examples/FFI/:
4702        Allocating-foreign-data-on-the-lisp-heap/ptrtest-compile.sh,
4703        Allocating-foreign-data-on-the-lisp-heap/ptrtest.c,
4704        Allocating-foreign-data-on-the-lisp-heap/ptrtest.lisp,
4705        Using-basic-calls-and-types/Readme.rtf,
4706        Using-basic-calls-and-types/typetest-compile.sh,
4707        Using-basic-calls-and-types/typetest.c,
4708        Using-basic-calls-and-types/typetest.lisp: Initial version
4709
47102006-08-17 10:40  phil
4711
4712        * examples/FFI/Allocating-foreign-data-on-the-lisp-heap/Readme.rtf:
4713        [no log message]
4714
47152006-08-08 13:07  gb
4716
4717        * lisp-kernel/darwinx8664/Makefile: New file.
4718
47192006-08-08 13:07  gb
4720
4721        * lisp-kernel/x86-exceptions.h: xp accessors for Darwinx8664.
4722
47232006-08-08 13:06  gb
4724
4725        * lisp-kernel/x86-constants64.h: REG_* constants for Darwin.
4726
47272006-08-08 13:05  gb
4728
4729        * lisp-kernel/x86-asmutils64.s: Darwin assembler doesn't like lock
4730        instructions on the same line as the locked instruction.  (Maybe
4731        there's a better way to do this, than just pretending that lock is
4732        a standalone instruction, but that lock instruction does seem to be
4733        treated as a prefix.)
4734
47352006-08-08 13:03  gb
4736
4737        * lisp-kernel/pmcl-kernel.c: Treat X8664 like PPC64 (e.g., use
4738        dlfcn) on Darwin.
4739
47402006-08-08 13:02  gb
4741
4742        * lisp-kernel/lisptypes.h: xcode 2.4 headers: <i386/ucontext.h>
4743        doesn't define mcontext64, but lots of other things reference it.
4744        #define it here for now, but that'll likely break when the headers
4745        are fixed.
4746
47472006-08-08 12:58  gb
4748
4749        * lisp-kernel/lisp-debug.c: Define Iregnames for darwinx8664.
4750
47512006-08-08 12:58  gb
4752
4753        * lisp-kernel/area.h: Define an IMAGE_BASE_ADDRESS for
4754        x8664/Darwin.
4755
47562006-07-29 08:41  gb
4757
4758        * level-1/l1-streams.lisp: STREAM-WRITE-BYTE, STREAM-WRITE-IVECTOR.
4759         :BASIC defaults to T in OPEN; BASIC-FILE-STREAM probably still
4760        needs READ/WRITE- SEQUENCE support.
4761
47622006-07-29 07:39  gb
4763
4764        * level-1/l1-aprims.lisp: ALLOCATE-RESOURCE, FREE-RESOURCE: use
4765        lock.  TODO: evaluate whether resources are worthwhile;  used for
4766        string-output-stream allocation and DELETE-DUPLICATES.
4767
47682006-07-29 06:27  gb
4769
4770        * library/lispequ.lisp: Resources aren't thread-private, need
4771        locks.
4772
47732006-07-29 06:26  gb
4774
4775        * level-1/l1-sysio.lisp: MAKE-FILE-STREAM: support for
4776        BASIC-STREAMs.
4777
47782006-07-29 06:26  gb
4779
4780        * level-1/l1-streams.lisp: OPEN handles BASIC-STREAMs; not yet the
4781        default.
4782
47832006-07-29 06:25  gb
4784
4785        * level-1/l1-reader.lisp: *PARSE-STRING-RESOURCE* probably hasn't
4786        been used in 10 or 12 years.
4787
47882006-07-29 03:40  gb
4789
4790        * level-1/l1-sysio.lisp: Most BASIC-FILE-STREAM stuff.
4791
47922006-07-29 03:40  gb
4793
4794        * library/lispequ.lisp: BASIC-FILE-STREAM.EXTERNAL-FORMAT, at least
4795        for now.
4796
47972006-07-29 03:39  gb
4798
4799        * level-1/l1-streams.lisp: BASIC-IO-STREAM; ALLOCATE-BASIC-STREAM
4800        makes one more slot in BASIC-FILE-STREAM.
4801
48022006-07-28 04:17  gb
4803
4804        * level-1/version.lisp: Bump.
4805
48062006-07-28 04:15  gb
4807
4808        * level-1/l1-streams.lisp: A couple of more (soon-to-be-used) slots
4809        in IOBLOCK.
4810
48112006-07-28 01:17  gb
4812
4813        * level-1/l1-streams.lisp: Lots of changes; lots more to go.
4814
48152006-07-28 01:16  gb
4816
4817        * level-1/l1-sockets.lisp: Pass :CHARACTER-P T to MAKE-FD-STREAM.
4818
48192006-07-28 00:58  gb
4820
4821        * examples/cocoa-listener.lisp: Want :SHARING :LOCK on listener
4822        output.
4823       
4824        (SLIME probably faces the same issue; should probably do something
4825        in the auto-flush case.  Of course, it's hard to know just what to
4826        do in that case. or at least what to do safely in that case.)
4827
48282006-07-28 00:49  gb
4829
4830        * level-1/l1-sysio.lisp: Define SELECT-STREAM-CLASS on
4831        FUNDAMENTAL-FILE-STREAM.
4832
48332006-07-28 00:49  gb
4834
4835        * lib/streams.lisp: READ-BYTE for BASIC-STREAMs.
4836
48372006-07-28 00:48  gb
4838
4839        * library/lispequ.lisp: Need an explicit
4840        BASIC-STREAM-FLAG.OPEN-CHARACTER bit, due to bivalence.
4841
48422006-07-28 00:47  gb
4843
4844        * lib/macros.lisp: BASIC-STREAM-IOBLOCK.
4845
48462006-07-25 03:48  gb
4847
4848        * compiler/optimizers.lisp: Compiler-macro for BASIC-STREAM-P.
4849
48502006-07-24 04:55  gb
4851
4852        * lib/streams.lisp: READ-CHAR bypasses STREAM-READ-CHAR for
4853        BASIC-STREAMs.
4854
48552006-07-24 04:55  gb
4856
4857        * level-1/l1-streams.lisp: Some BASIC-STREAM stuff starts to
4858        appear.
4859
48602006-07-24 04:51  gb
4861
4862        * library/lispequ.lisp: Add a plist to basic-/basic-file-stream.
4863
48642006-07-24 02:43  gb
4865
4866        * level-1/l1-sysio.lisp: FILE-STREAM is now abstract (and some
4867        sublasses may get that way); FUNDAMENTAL-FILE-STREAM is an
4868        implementation of it (and BASIC-FILE-STREAM soon will be.)
4869
48702006-07-23 03:05  gb
4871
4872        * level-1/l1-clos-boot.lisp: *class-table* entry for BASIC-STREAM.
4873
48742006-07-23 03:03  gb
4875
4876        * level-1/l1-streams.lisp: STREAM-IOBLOCK now takes 2 required args
4877        and is inlined.
4878       
4879        Some bug fixes; STREAM class no longer has slots.
4880       
4881        IOBLOCK-READ-CHAR-FUNCTION used by READ-CHAR.  %ioblock-read-byte
4882        variants; fix read-byte botch (should vector according to
4883        element-type.)
4884
48852006-07-23 02:54  gb
4886
4887        * level-1/: linux-files.lisp, l1-sysio.lisp, l1-sockets.lisp:
4888        STREAM-IOBLOCK now takes 2 required args.
4889
48902006-07-23 02:54  gb
4891
4892        * level-1/version.lisp: Bump.
4893
48942006-07-23 02:53  gb
4895
4896        * library/lispequ.lisp: Start to define what a BASIC-STREAM looks
4897        like.
4898
48992006-07-23 02:53  gb
4900
4901        * lib/macros.lisp: Move stream-ioblock access/locking macros here.
4902       
4903        Likewise WITH-EAGAIN.
4904
49052006-07-23 01:12  gb
4906
4907        * level-1/: l1-sysio.lisp, l1-streams.lisp, l1-boot-2.lisp,
4908        l1-sockets.lisp: Fix a few botches.
4909       
4910        :private arg to stream creation primitives replaced with :sharing,
4911        which can have values:
4912       
4913         :private (the default; stream can only be accessed by the creating
4914        thread)
4915         :lock  (the old, often slow, default); most accesses to stream
4916        involve locking
4917         :nil or :external (stream code doesn't enforce exclusion).
4918
49192006-07-22 23:57  gb
4920
4921        * level-1/l1-streams.lisp: Bootstrapping stuff.
4922       
4923        Move along, nothing to see here.
4924
49252006-07-20 03:43  gb
4926
4927        * level-1/: l1-boot-2.lisp, l1-sockets.lisp, l1-streams.lisp,
4928        l1-sysio.lisp: First (rough) cut at making streams "private"
4929        (effectively always locked by the "owning" thread) to reduce some
4930        locking overhead.  More to come, some of which will be a little
4931        tricky to bootstrap.
4932
49332006-07-20 01:09  gb
4934
4935        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s,
4936        ppc-constants64.h, ppc-constants64.s, x86-constants64.h,
4937        x86-constants64.s: subtag_lisp_thread -> subtag_basic_stream.
4938
49392006-07-20 01:09  gb
4940
4941        * library/lispequ.lisp: new (istruct-based) LISP-THREAD accessors.
4942
49432006-07-20 01:08  gb
4944
4945        * level-1/version.lisp: Bump.
4946
49472006-07-20 01:07  gb
4948
4949        * level-1/l1-streams.lisp: Introduce "owner" slot in basic ioblock.
4950         A little tricky to bootstrap.
4951
49522006-07-20 01:05  gb
4953
4954        * level-0/l0-misc.lisp, level-1/l1-processes.lisp,
4955        level-1/l1-clos-boot.lisp, level-1/l1-lisp-threads.lisp: Use new
4956        (istruct-based) lisp-thread accessors.
4957
49582006-07-20 01:02  gb
4959
4960        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
4961        X86/X8664/x8664-arch.lisp: Get rid of the lisp-thread subtag
4962        (lisp-thread's are ISTRUCTs now); re-use it for (to-be-introduced)
4963        BASIC-STREAM.
4964
49652006-07-15 15:02  gb
4966
4967        * level-1/l1-error-system.lisp: Insert some fresh lines in the
4968        IMPOSSIBLE-NUMBER condition :REPORT method.
4969
49702006-07-15 15:00  gb
4971
4972        * compiler/X86/x862.lisp: x862-%aref1,x862-%aset1: don't try to do
4973        simple vector operations unless we're sure that the vector is a
4974        (SIMPLE-ARRAY * (*)) and we know the element-type (these were
4975        leaping into the simple-typed-vector case when the element-type was
4976        known but the vector wasn't known to be SIMPLE.
4977
49782006-07-14 05:57  gb
4979
4980        * compiler/nx0.lisp: NX-FORM-TYPEP: unqoute constants.
4981
49822006-07-13 16:01  gb
4983
4984        * level-1/l1-typesys.lisp: SPECIALIZED-ARRAY-ELEMENT-TYPES needs to
4985        know about FIXNUM arrays.
4986
49872006-07-11 14:23  gb
4988
4989        * compiler/X86/x862.lisp: Destination and 1st source arg overlap
4990        (2-address instructions) in natural logical, arithmetic operations.
4991
49922006-07-05 02:38  gb
4993
4994        * release-notes.txt: Update.
4995
49962006-07-05 02:22  gb
4997
4998        * level-0/l0-init.lisp: Reluctantly put :MCL back on *features*;
4999        its removal needs to be better publicized.
5000
50012006-07-04 22:24  gb
5002
5003        * level-1/linux-files.lisp: Use NATIVE-TRANSLATED-NAMESTRING on the
5004        PROGRAM arg to RUN-PROGRAM.
5005
50062006-07-04 22:23  gb
5007
5008        * level-1/version.lisp: Bump.
5009
50102006-06-29 02:11  gb
5011
5012        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump
5013        image-abi-version.
5014
50152006-06-28 05:24  gb
5016
5017        * level-0/l0-cfm-support.lisp: *rtld-default* wants to be a null
5018        pointer on DarwinPPC32 (at the very least, that platform's
5019        xFindSymbol gets confused by anything but a null pointer/global
5020        lookup.)
5021
50222006-06-28 05:09  gb
5023
5024        * level-1/version.lisp: Bump.  Call the FreeBSD/AMD64 version
5025        "Alpha", which may be a bit generous (pretty regular deadlock,
5026        random thread creation errors, other bugs.)
5027
50282006-06-28 05:07  gb
5029
5030        * lisp-kernel/freebsdx8664/.gdbinit: new; awfully similar to linux
5031        x86-64 version.
5032
50332006-06-28 04:04  gb
5034
5035        * lisp-kernel/x86-exceptions.c: FreeBSD doesn't do a good job of
5036        identifying the cause of XMM FP exceptions.  Try to do that by
5037        looking at MXCSR bits.
5038
50392006-06-28 04:03  gb
5040
5041        * lisp-kernel/x86-spentry64.s: FreeBSD syscalls set carry flag to
5042        indicate error return.
5043
50442006-06-28 04:03  gb
5045
5046        * level-1/: l1-sockets.lisp, linux-files.lisp,
5047        x86-trap-support.lisp: Some FreeBSD changes/fixes.
5048
50492006-06-28 04:02  gb
5050
5051        * level-0/l0-cfm-support.lisp: Remove a #+freebsd-target
5052        breakpoint.
5053
50542006-06-27 18:08  gb
5055
5056        * level-0/l0-cfm-support.lisp: fix (?) nested #+/#-.  Maybe.
5057
50582006-06-27 17:30  gb
5059
5060        * lisp-kernel/x86-exceptions.h: Fix Linux def of IS_MAYBE_INT_TRAP.
5061
50622006-06-27 17:27  gb
5063
5064        * lisp-kernel/pmcl-kernel.c: (possibly) make get_r_debug more
5065        portable; possibly break it completely ...
5066
50672006-06-27 08:55  gb
5068
5069        * lisp-kernel/x86-exceptions.c: map the altstack
5070        read/write/execute.
5071
50722006-06-27 08:54  gb
5073
5074        * lisp-kernel/thread_manager.c: Fix os_get_stack_bounds() for
5075        FreeBSD.
5076
50772006-06-27 08:54  gb
5078
5079        * lisp-kernel/Threads.h: FreeBSD needs prototypes from
5080        <pthread_np.h>
5081
50822006-06-27 08:53  gb
5083
5084        * lib/compile-ccl.lisp: New (renamed) kernel-build-direcory for
5085        :freebsdx8664.
5086
50872006-06-27 08:53  gb
5088
5089        * level-1/x86-trap-support.lisp: freebsd x8664 GPR indices.  (Needs
5090        testing.)
5091       
5092        Don't conditionalize as much code. Indices/offsets are
5093        platform-specific, but accessors defiend in terms of them needn't
5094        be.
5095
50962006-06-27 08:51  gb
5097
5098        * level-1/x86-callback-support.lisp: Remove 1st line (bogus
5099        comment.)
5100
51012006-06-27 08:50  gb
5102
5103        * level-0/l0-init.lisp: More freebsd x8664 features.
5104
51052006-06-27 08:50  gb
5106
5107        * scripts/openmcl64: Update for FreeBSD/amd64.
5108
51092006-06-27 08:47  gb
5110
5111        * compiler/X86/X8664/x8664-backend.lisp: FreeBSD backend has
5112        :freebsdx8664-target as a target-specific-feature.
5113
51142006-06-27 05:05  gb
5115
5116        * lisp-kernel/: freebsdx8664/Makefile, freebsd8664/Makefile,
5117        freebsd8664/elf_x86_64.x: directory rename
5118
51192006-06-27 04:59  gb
5120
5121        * xdump/xx8664-fasload.lisp: FreeBSD xload-backend.
5122
51232006-06-27 04:47  gb
5124
5125        * lisp-kernel/x86-exceptions.h: Some macros for FreeBSD changes.
5126
51272006-06-27 04:46  gb
5128
5129        * lisp-kernel/x86-exceptions.c: FreeBSD changes (at least enough to
5130        recognize UUOs, which generate SIGBUS vice SIGSEGV.)
5131
51322006-06-27 04:45  gb
5133
5134        * lisp-kernel/x86-asmutils64.s: Define freebsd_sigreturn.
5135       
5136        TODO (maybe): copy the sigtramp code when evacuating the altstack.
5137
51382006-06-27 04:44  gb
5139
5140        * lisp-kernel/thread_manager.c: FreeBSD sigreturn from
5141        suspend_resume_handler.
5142
51432006-06-27 04:44  gb
5144
5145        * lisp-kernel/pmcl-kernel.c: Some FreeBSD conditionalization;
5146        get_r_debug() for ELF platforms.  (Needs testing under Linux.)
5147
51482006-06-27 04:43  gb
5149
5150        * lisp-kernel/imports.s: Don't import metering-control; do import
5151        get_r_debug().
5152
51532006-06-27 04:42  gb
5154
5155        * library/x8664-freebsd-syscalls.lisp: New file.  Should check
5156        word-size stuff (here and in other versions.)
5157
51582006-06-27 04:42  gb
5159
5160        * lib/misc.lisp: Find MACHINE-VERSION string via #_sysctl on
5161        FreeBSD.
5162
51632006-06-27 04:39  gb
5164
5165        * lib/foreign-types.lisp: Signed char nonsense (should use target
5166        ftd, not reader macros here.)
5167
51682006-06-27 04:38  gb
5169
5170        * lib/compile-ccl.lisp: Some FreeBSD support.
5171
51722006-06-27 04:36  gb
5173
5174        * level-1/: l1-sockets.lisp, l1-streams.lisp, linux-files.lisp:
5175        Some FreeBSD changes/conditionalization. Maybe not enough.
5176
51772006-06-27 04:35  gb
5178
5179        * level-1/l1-boot-1.lisp: Recognize FREEBSD platform-os-name.
5180
51812006-06-27 04:34  gb
5182
5183        * level-0/X86/: .cvsignore, X8664/.cvsignore: Ignore *fsl.
5184
51852006-06-27 04:34  gb
5186
5187        * level-0/l0-io.lisp: FreeBSD syscalls.
5188
51892006-06-27 04:33  gb
5190
5191        * level-0/l0-init.lisp: Some FreeBSD features.
5192
51932006-06-27 04:33  gb
5194
5195        * level-0/l0-cfm-support.lisp: Lots of FreeBSD conditionalization,
5196        changes.
5197       
5198        MAY HAVE BROKEN LINUX PORTS; need to recompile on those platforms
5199        and test.
5200       
5201        Now depends on an imported lisp-kernel function on ELF platforms
5202        (Linux/FreeBSD), and therefore depends on recent kernel changes.
5203
52042006-06-27 04:30  gb
5205
5206        * level-0/.cvsignore: Ignore *fsl.
5207
52082006-06-27 04:29  gb
5209
5210        * compiler/X86/X8664/x8664-backend.lisp: Fix platform-syscall-mask
5211        in freebsd backend.
5212
52132006-06-27 04:27  gb
5214
5215        * compiler/X86/X8664/x8664-arch.lisp: Don't import
5216        metering-control; do import get-r-debug (for Elf shared libraries.)
5217       
5218        A yield-syscall constant for FreeBSD. (This is all a bad idea ...)
5219
52202006-06-27 04:26  gb
5221
5222        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp:
5223        Don't import metering-control; do import get-r-debug (for Elf
5224        shared libraries.)
5225
52262006-06-27 04:26  gb
5227
5228        * compiler/nx1.lisp: Use the non-eabi syscall on freebsd as well.
5229
52302006-06-26 16:38  gb
5231
5232        * compiler/X86/X8664/x8664-vinsns.lisp:
5233        SET-BIGITS-AND-HEADER-FOR-FIXNUM-OVERFLOW: need to change the
5234        (wrong) sign of the top 3 (fixnumshift) bits only.  Where did the
5235        constant #xffff000000000000 come from ?
5236
52372006-06-26 16:35  gb
5238
5239        * compiler/X86/x862.lisp: Fix some indentation.
5240
52412006-06-25 20:32  gb
5242
5243        * compiler/X86/X8664/x8664-backend.lisp: FreeBSD x8664 backend;
5244        change initialiation of x8664 foreign-type stuff.
5245
52462006-06-25 20:31  gb
5247
5248        * compiler/backend.lisp: PLATFORM-OS-FREEBSD.
5249
52502006-06-23 19:52  gb
5251
5252        * darwin-headers/: gl/C/.cvsignore, libc/C/.cvsignore,
5253        quicktime/C/.cvsignore: Ignore Developer subdirectory.  c
5254
52552006-06-23 19:28  gb
5256
5257        * release-notes.txt: Update some.
5258
52592006-06-23 19:11  gb
5260
5261        * examples/gtk2-clock.lisp: New file.
5262
52632006-06-23 18:56  gb
5264
5265        * level-1/version.lisp: Bump.
5266
52672006-06-23 18:52  gb
5268
5269        * lib/ccl-export-syms.lisp: Export DEFLOADVAR.
5270
52712006-06-22 13:39  gb
5272
5273        * x86-headers64/gnome2/C/.cvsignore: new
5274
52752006-06-22 13:36  gb
5276
5277        * x86-headers64/: gl/C/.cvsignore, gnome2/C/populate.sh: new
5278
52792006-06-22 13:33  gb
5280
5281        * x86-headers64/: gl/.cvsignore, gl/C/populate.sh,
5282        gnome2/.cvsignore: new
5283
52842006-06-22 13:30  gb
5285
5286        * examples/opengl-ffi.lisp: #+linuxppc-target -> #+linux-target.
5287
52882006-06-22 13:28  gb
5289
5290        * level-1/version.lisp: Bump.
5291
52922006-06-21 15:15  gb
5293
5294        * lisp-kernel/: ppc-constants64.h, ppc-constants64.s,
5295        ppc-spentry.s: Define new string subtags; handle them in ppc64
5296        misc_ref/misc_set.
5297
52982006-06-21 15:14  gb
5299
5300        * level-0/PPC/ppc-array.lisp: Fix %INIT-MISC (both ppc2 and ppc64
5301        versions) to handle FIXNUM vectors, new UCS4 strings.
5302
53032006-06-21 15:14  gb
5304
5305        * level-0/l0-array.lisp: Fix %INIT-MISC (bot ppc2 and ppc64
5306        versions) to handle FIXNUM vectors, new UCS4 strings.
5307
53082006-06-21 15:12  gb
5309
5310        * darwin-headers/: carbon/C/populate.sh, cocoa/C/populate.sh,
5311        gl/C/populate.sh, libc/C/populate.sh, quicktime/C/populate.sh,
5312        webkit/C/populate.sh: Use 10.4u headers from XCode SDK.
5313
53142006-06-21 15:11  gb
5315
5316        * compiler/PPC/PPC64/ppc64-arch.lisp: Add SUBTAG-NEW-STRING.
5317
53182006-06-21 15:11  gb
5319
5320        * compiler/PPC/PPC32/ppc32-arch.lisp: MAX-32-BIT-IVECTOR-SUBTAG
5321        wasn't updated with the introduction of fixnum vectors, (unused)
5322        UCS4 "new"strings.
5323
53242006-06-16 03:50  gb
5325
5326        * examples/objc-support.lisp: Re-compute static NSString info after
5327        opening an extension framework.
5328
53292006-06-16 03:45  gb
5330
5331        * examples/webkit.lisp: Use new functions for augmenting
5332        interfaces, loading framework.
5333
53342006-06-16 03:43  gb
5335
5336        * examples/objc-runtime.lisp: Juggle things around so that add-on
5337        framework bundles get loaded on appication re-launch.
5338       
5339        REVIVE-OBJC-CLASSES tells MAP-OBJC-CLASSES not to hit the database,
5340        since (a) it may not be there, or may not be where we can find it
5341        yet and (b) it's probably more reasonable to do that than it would
5342        be to teach CLOS about classes that're "discovered" when the
5343        appication's launched on a newer OS release than it was saved on.
5344
53452006-06-16 03:39  gb
5346
5347        * examples/cocoa-application.lisp: Touch tha application bundle
5348        before saving an image into it.  That -may- convincve
5349        LaunchServices to do the right thing.
5350
53512006-06-16 03:38  gb
5352
5353        * examples/objc-support.lisp: Reload any addon/framework bundles
5354        that had been loaded before the image was saved when starting a
5355        bundled application.
5356       
5357        Juggle things around, so that that works (need to be able to use
5358        low-level bridge features early.)
5359
53602006-06-16 03:36  gb
5361
5362        * lib/db-io.lisp: Disable the #? reader macro.
5363
53642006-06-14 15:42  gb
5365
5366        * level-0/: PPC/ppc-def.lisp, X86/x86-def.lisp: Fix #+APPLY+
5367        lfun-bits.
5368
53692006-06-12 20:24  gb
5370
5371        * lib/ppc-backtrace.lisp: PPC version of
5372        %find-register-argument-value had the same sort of fencepost as the
5373        x86-64 version had a few days ago.
5374
53752006-06-10 23:52  gb
5376
5377        * lib/arglist.lisp: %ARGLIST-INTERNAL: if generic-function, return
5378        its GENERIC-FUNCTION-LAMBDA-LIST.
5379
53802006-06-10 23:51  gb
5381
5382        * level-1/l1-clos.lisp: Give reader/writer method args more
5383        descriptive names. (Barely more descriptive ...)
5384
53852006-06-10 19:25  gb
5386
5387        * level-1/l1-clos-boot.lisp: Arrgh.  In
5388        %MAYBE-STD-SETF-SLOT-VALUE-USING-CLASS, we know nothing about the
5389        type of the instance, so don't use INSTANCE.SLOTS (instead, let
5390        INSTANCE-SLOTS do a TYPECASE; it's inlined at this point.)
5391       
5392        This was keeping non-standard instances - like ObjC classes and
5393        metaclasses - from having some of their slots initialized
5394        correctly.
5395
53962006-06-10 19:22  gb
5397
5398        * examples/objc-clos.lisp: PRINT-OBJECT methods for objc-class,
5399        objc-metaclass: don't die if the class is unnamed (makes it easier
5400        to print classes for debugging during initialization.)
5401
54022006-06-10 13:05  gb
5403
5404        * level-1/ppc-trap-support.lisp: Fix LinuxPPC64 versions of
5405        XP-FPSCR-INFO and XP-DOUBLE-FLOAT.
5406
54072006-06-08 05:01  gb
5408
5409        * release-notes.txt: Update a bit.
5410
54112006-06-08 03:56  gb
5412
5413        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump
5414        image-abi-version.
5415
54162006-06-08 03:46  gb
5417
5418        * xdump/faslenv.lisp: Bump (min) fasl version.
5419
54202006-06-08 03:35  gb
5421
5422        * lib/nfcomp.lisp: Bump (current) fasl-version.
5423
54242006-06-08 03:28  gb
5425
5426        * lisp-kernel/linuxx8664/Makefile: -O2.
5427
54282006-06-08 03:26  gb
5429
5430        * xdump/faslenv.lisp: Bump (max) fasl version.
5431
54322006-06-08 03:18  gb
5433
5434        * level-1/version.lisp: Bump; give x86-64 port the benefit of the
5435        doubt and claim that it's a beta.
5436
54372006-06-08 03:18  gb
5438
5439        * lisp-kernel/darwinppc64/Makefile: Enable -O2.
5440
54412006-06-08 03:17  gb
5442
5443        * lisp-kernel/darwinppc/Makefile: Some commented-out debugging
5444        options; enable -O2.
5445
54462006-06-08 02:55  gb
5447
5448        * lisp-kernel/x86-exceptions.c: thread_signal_setup() moved here.
5449        Handle suspend (and maybe someday resume, again) signals on the
5450        altstack, since we don't really want a signal context in the middle
5451        of the tagged lisp stack ...
5452
54532006-06-08 02:52  gb
5454
5455        * lisp-kernel/thread_manager.c: thread_signal_setup() moved to
5456        PLATFORM-exceptions.c; some constants/prototypes moved to
5457        Threads.h.
5458
54592006-06-08 02:51  gb
5460
5461        * lisp-kernel/ppc-exceptions.c: suspend_resume_handler() installed
5462        via install_signal_handler(); thread_signal_setup() moved here, to
5463        do that installation.
5464
54652006-06-08 02:50  gb
5466
5467        * lisp-kernel/pmcl-kernel.c: Don't enable_fp_exceptions() twice.
5468       
5469        Don't call (or define) prepare_for_the_worst(), which is kind of
5470        too bad ...
5471
54722006-06-08 02:49  gb
5473
5474        * lisp-kernel/Threads.h: suspend/resume constants, prototypes.
5475
54762006-06-08 01:11  gb
5477
5478        * level-1/l1-files.lisp: Back out of ill-advised changed to %LOAD;
5479        let OPTIMIZE proclamations persist beyond the LOAD.
5480
54812006-06-07 21:45  gb
5482
5483        * lisp-kernel/x86-subprims64.s: No nore %tsp/%Rnext_tsp.
5484
54852006-06-07 21:38  gb
5486
5487        * lisp-kernel/x86-spentry64.s: Don't maintain current/next tsp in
5488        MMX regs.  Do maintain them in TCR.
5489
54902006-06-07 21:37  gb
5491
5492        * lisp-kernel/x86-macros.s: Don't maintain %tsp when stack-consing;
5493        update (decrement) tcr.next_tsp atomically, use %stack_temp as a
5494        temporary (old tsp), finish frame by storing into tcr.save_tsp.
5495
54962006-06-07 21:34  gb
5497
5498        * lisp-kernel/x86-exceptions.c: tsp is in the TCR now.
5499
55002006-06-07 21:33  gb
5501
5502        * lisp-kernel/x86-constants64.s: No more %tsp, %Rnext_tsp.  Define
5503        %stack_temp.
5504
55052006-06-07 21:32  gb
5506
5507        * lisp-kernel/x86-constants64.h: No more Itsp, Inext_tsp.
5508
55092006-06-07 21:30  gb
5510
5511        * level-0/X86/x86-def.lisp: %CURRENT-TSP: the tsp is in the TCR
5512        now.
5513
55142006-06-07 21:30  gb
5515
5516        * compiler/X86/X8664/x8664-vinsns.lisp: Don't try to maintain %tsp
5517        (since it no longer exists ...).  Use %stack-temp in some cases.
5518
55192006-06-07 21:29  gb
5520
5521        * compiler/X86/X8664/x8664-arch.lisp: No more %tsp or %next-tsp.
5522        %stack-temp is a symbolic name for an MMX register that can be used
5523        for (e.g.) linking frames on the temp/foreign stacks (or for any
5524        other purpose ...)
5525
55262006-06-07 15:29  gb
5527
5528        * compiler/X86/X8664/x8664-vinsns.lisp: No more %Rforeign_sp.  Keep
5529        tcr.next_tsp in sync with %next_tsp Check to ensure that
5530        %tsp,tcr.save_tsp,and tcr.next_tsp all have the same value when
5531        allocating on the temp stack.  (This will soon change, so that %tsp
5532        and %next_tsp will not be canonical and the tcr fields are, then
5533        will change so that %tsp and %next_tsp will cease to exist.)
5534
55352006-06-07 15:25  gb
5536
5537        * lisp-kernel/x86-subprims64.s: No more %Rforeign_sp.
5538
55392006-06-07 15:25  gb
5540
5541        * lisp-kernel/: x86-macros.s, x86-spentry64.s: Keep tcr.next_tsp in
5542        sync with %Rnext_tsp.  No more %Rforeign_sp, but we can use %mm5 as
5543        a temporary.
5544
55452006-06-07 15:23  gb
5546
5547        * lisp-kernel/x86-exceptions.c: Find the foreign RSP from the TCR;
5548        don't need FP regs for this.  (They're sometimes invalid and
5549        sometimes missing, which is the point of recent changes.)
5550
55512006-06-07 15:21  gb
5552
5553        * lisp-kernel/x86-constants64.s: No foreign_sp.  Rename %next_tsp
5554        to %Rnext_tsp to avoid potential m4 lossage.
5555
55562006-06-07 15:20  gb
5557
5558        * lisp-kernel/x86-constants64.h: No Iforeign_sp.
5559
55602006-06-07 15:20  gb
5561
5562        * lisp-kernel/thread_manager.c: Initialize tcr->next_tsp on X86.
5563
55642006-06-07 15:19  gb
5565
5566        * level-1/version.lisp: Bump.
5567
55682006-06-07 15:19  gb
5569
5570        * level-0/X86/x86-def.lisp: Get foreign-sp from the TCR.
5571
55722006-06-07 15:18  gb
5573
5574        * compiler/X86/X8664/x8664-arch.lisp: More bootstrapping: no more
5575        foreign-sp register (though some code still uses %mm5 as a
5576        temporary, the "canonical" foreign SP is maintained in the TCR.)
5577
55782006-06-07 04:52  gb
5579
5580        * lisp-kernel/x86-macros.s: When making a catch/unwind-protect
5581        frame, get the foreign SP out of the TCR.
5582
55832006-06-07 04:52  gb
5584
5585        * compiler/X86/X8664/x8664-vinsns.lisp,
5586        lisp-kernel/x86-spentry64.s: More bootstrapping: continue to
5587        maintain the foreign sp in both the TCR and the MMX register, but
5588        consider the TCR version to be canonical.
5589
55902006-06-07 02:46  gb
5591
5592        * compiler/X86/X8664/x8664-vinsns.lisp: More bootstrapping: if the
5593        %tsp MMX register doesn't match the value in the tcr, trap.
5594        Likewise for %foreign-sp.
5595
55962006-06-07 01:29  gb
5597
5598        * compiler/X86/X8664/x8664-vinsns.lisp, lisp-kernel/x86-macros.s,
5599        lisp-kernel/x86-spentry64.s: Try to keep tcr.save_tsp in synch with
5600        %tsp, and likewise for %Rforeign_sp/tcr.foreign_sp.
5601       
5602        (The idea is to keep the temp/foreign stack pointers in the tcr and
5603        only use the MMX registers as temporaries, since it seems that
5604        handlers for asynchronous signals can't count on the MMX register
5605        values in the signal context being correct.  This seems to either
5606        be a Linux kernel bug or ill-considered if it's intentional
5607        behavior, but it seems better to work around it this way.)
5608       
5609        This is just an early step in bootstrapping that change; it's being
5610        checked into CVS so that it doesn't get lost (and so that I can
5611        recover to this point if/when I hose things on a later step.)
5612
56132006-06-07 01:24  gb
5614
5615        * compiler/X86/X8664/x8664-arch.lisp: Add a next-tsp slot to the
5616        tcr.
5617
56182006-06-07 01:22  gb
5619
5620        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Add a
5621        next_tsp slot to the tcr.
5622
56232006-06-06 04:25  gb
5624
5625        * lib/ppc-metering.lisp: no hope
5626
56272006-06-06 04:22  gb
5628
5629        * lib/x86-backtrace.lisp: %find-register-argument-value: Current
5630        frame (cfp argument) could be an exception callback frame (xcf-p
5631        may be true of it), in which case the saved register value is in
5632        the xcf.xp context.  (Basically, this means look at the first frame
5633        if it's an xcf, otherwise skip it and start with the child.)
5634
56352006-06-06 01:48  gb
5636
5637        * compiler/X86/x86-lapmacros.lisp,
5638        compiler/X86/X8664/x8664-vinsns.lisp, lisp-kernel/x86-macros.s:
5639        Using imul to box fixnums is smaller and seems to be faster than
5640        using lea with a scale factor.
5641
56422006-06-05 23:56  gb
5643
5644        * lisp-kernel/thread_manager.c: I don't think that
5645        suspend_resume_handler wants to have suspend signals unmasked, does
5646        it ?
5647
56482006-06-05 12:43  gb
5649
5650        * library/chud-metering.lisp: area-readonly is in ccl:: now.
5651
56522006-06-03 03:11  gb
5653
5654        * lisp-kernel/x86-spentry64.s: In _SPnthrowvalues: don't skip the
5655        last catch frame, do skip others (test was backwards.  As it
5656        probably had been in the single-value case at one point.)
5657
56582006-06-02 03:48  gb
5659
5660        * lib/encapsulate.lisp: Don't print trace indent/outdent stuff to
5661        *terminal-io*; do print it to *trace-output*.
5662
56632006-06-01 20:20  gb
5664
5665        * level-0/l0-array.lisp: There's a T in subtag.
5666
56672006-06-01 20:17  gb
5668
5669        * compiler/X86/x862.lisp: X862-MVCALL wasn't handling things like:
5670       
5671        (multiple-value-bind (...)   (multiple-value-call #'foo ...))
5672       
5673        correctly.
5674
56752006-06-01 20:16  gb
5676
5677        * compiler/nx0.lisp: Defvars for global optimization quantities
5678        moved to level-0.
5679
56802006-06-01 20:15  gb
5681
5682        * level-1/l1-files.lisp: Bind the variables which hold global
5683        compiler optimization quantities, since people persist in doing
5684        things like:
5685       
5686        (declaim (optimize
5687        <something-that-they-probably-think-has-local-effects>))
5688       
5689        without bothering to use EVAL-WHEN or otherwise thinking very
5690        clearly.
5691       
5692        Note that this means that anyone who wanted such a declamation to
5693        have persistent global effects is now SOL.  Blame whoever wrote
5694        (for instance) clx/glx.lisp.
5695
56962006-06-01 20:11  gb
5697
5698        * level-0/l0-init.lisp: Move *nx-speed*, etc here, so that they can
5699        be referenced early in the cold load.
5700
57012006-06-01 13:13  gb
5702
5703        * lib/x86-backtrace.lisp: In %FIND-REGISTER-ARGUMENT-VALUE, pass a
5704        pointer to ENCODED-GPR-LISP if we have to get the register value
5705        from an exception frame.
5706
57072006-05-30 19:27  gwking
5708
5709        * tools/asdf.lisp: Updated asdf to the current CVS head (revision
5710        1.98)
5711
57122006-05-30 17:12  gb
5713
5714        * level-1/version.lisp: bump again.
5715
57162006-05-30 16:31  gb
5717
5718        * lisp-kernel/x86-spentry64.s: When unwinding the stack, try to
5719        ensure that tcr.xframe is updated from the catch frame (a) in all
5720        execution paths and (b) before RSP is updated.
5721
57222006-05-30 16:30  gb
5723
5724        * level-0/l0-array.lisp, lib/sequences.lisp: Handle (simple) fixnum
5725        vectors.
5726
57272006-05-30 16:29  gb
5728
5729        * level-1/l1-typesys.lisp: Add a DEFTYPE for fixnum vectors.
5730
57312006-05-30 16:29  gb
5732
5733        * release-notes.txt: Update some more ...
5734
57352006-05-30 16:23  gb
5736
5737        * lib/ccl-export-syms.lisp: There are two 'e's in UNPROCESSED.
5738        Apparently.
5739
57402006-05-30 16:15  gb
5741
5742        * release-notes.txt: updated
5743
57442006-05-30 01:58  gb
5745
5746        * level-1/version.lisp: Bump.
5747
57482006-05-30 01:48  gb
5749
5750        * lisp-kernel/x86-exceptions.c: altstack_interrupt_handler: having
5751        made copies of the signal context and siginfo on the foreign stack,
5752        don't pass the originals to interrupt_handler().
5753       
5754        (altstack_interrupt_handler() looks suspiciously like
5755        altstack_signal_handler(), which probably had the same bug a few
5756        months ago ...)
5757       
5758        Since the alternate signal stack (as we use it) isn't reentrant,
5759        the next signal (perhaps a suspend signal) overwrote the context.
5760        Which is one reason to have made a copy in the first place ...
5761
57622006-05-30 01:43  gb
5763
5764        * level-1/l1-lisp-threads.lisp: In THREAD-ENABLE, use the new
5765        %TIMED-WAIT-ON-SEMAPHORE-PTR; regardless of whether or not a
5766        timeout is a good idea here, make sure that the timeout isn't
5767        fooled by #$EINTR.
5768
57692006-05-30 01:39  gb
5770
5771        * level-1/linux-files.lisp: Rename the old
5772        %TIMED-WAIT-ON-SEMAPHORE-PTR to %PROCESS-WAIT-ON-SEMAPHORE-PTR,
5773        since it basically waits indefinitely.
5774       
5775        Split out the functionality in TIMED-WAIT-ON-SEMAPHORE into a new
5776        %TIMED-WAIT-ON-SEMAPHORE-PTR function, so that it's possible to do
5777        a "timed wait" that handles interruptions, etc. when the caller
5778        just has a "raw" (native) semaphore.
5779       
5780        Change callers, endure warnings.  New binaries soon.
5781
57822006-05-30 01:36  gb
5783
5784        * level-0/l0-misc.lisp: When waiting for a lock, use the new
5785        %PROCESS-WAIT-ON-SEMAPHORE-PTR.
5786
57872006-05-29 22:34  gb
5788
5789        * lisp-kernel/x86-exceptions.c: The
5790        clear_tcr_save_allocptr_tag_instruction opcode array was one byte
5791        too small ...
5792
57932006-05-29 14:03  gb
5794
5795        * level-1/linux-files.lisp: In %OS-GETCWD: don't trust
5796        syscall-based getcwd (it doesn't work as it once did/is documented
5797        to on linuxx8664); use the library function on all platforms.
5798
57992006-05-29 14:02  gb
5800
5801        * lisp-kernel/x86-exceptions.c: Clear interrupt_pending flag before
5802        processing interrupt.
5803
58042006-05-28 17:01  gb
5805
5806        * lisp-kernel/ppc-exceptions.c: If we handle a
5807        SIGNAL_FOR_PROCESS_INTERRUPT trap, clear tcr->interrupt_pending.
5808       
5809        Back out of the hack that tried to work around a Darwin bug (FP
5810        exception flags were cleared in the MSR after a thread had been
5811        interrupted via pthread_kill()), since the fix seems not to be
5812        GC-safe.
5813       
5814        Add some debugging code to print when the exception lock is
5815        acquired/released.
5816
58172006-05-28 01:10  gb
5818
5819        * level-1/solaris-files.lisp: long gone
5820
58212006-05-23 20:25  gb
5822
5823        * compiler/: PPC/ppc2.lisp, X86/x862.lisp: D'oh!
5824
58252006-05-22 22:59  gb
5826
5827        * darwin-headers/addressbook/: C/populate.sh, .cvsignore,
5828        C/.cvsignore: New file.
5829
58302006-05-22 22:57  gb
5831
5832        * level-1/l1-processes.lisp: PROCESS-SUSPEND: don't allow current
5833        thread to suspend itself.
5834
58352006-05-22 22:57  gb
5836
5837        * compiler/PPC/PPC64/ppc64-vinsns.lisp: Use the SP red zone to load
5838        SINGLE-FLOAT constants.
5839       
5840        SINGLE-FLOAT foreign args are stored in the low 32 bits of each
5841        64-bit arg word, regardless of whether they're also passed in
5842        f1-f13 as well.
5843
58442006-05-22 22:55  gb
5845
5846        * compiler/PPC/PPC64/ppc64-backend.lisp: Callback fixes:
5847        SINGLE-FLOATs passed in memory are passed in the low 32 bits of the
5848        64-bit word.
5849
58502006-05-22 22:54  gb
5851
5852        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Use the red zone (on SP)
5853        for LOAD-SINGLE-FLOAT-CONSTANT, LOAD-DOUBLE-FLOAT-CONSTANT.
5854
58552006-05-22 22:53  gb
5856
5857        * compiler/PPC/PPC32/ppc32-backend.lisp: "poweropen ABI" (Darwin)
5858        callback fixes: SINGLE-FLOATs passed in memory are passed as ...
5859        SINGLE-FLOATs, so don't use %GET-SINGLE-FLOAT-FROM-DOUBLE-PTR to
5860        access them.
5861
58622006-05-22 03:53  gb
5863
5864        * level-1/version.lisp: Bump.
5865
58662006-05-22 03:32  gb
5867
5868        * compiler/X86/X8664/x8664-vinsns.lisp: fixnum->float vinsns.
5869
58702006-05-22 03:31  gb
5871
5872        * compiler/X86/x862.lisp: Numeric contagion on binops,
5873        fixnum->float.
5874
58752006-05-22 03:29  gb
5876
5877        * compiler/PPC/ppc2.lisp: Do stupid self-tail-call tricks on PPC as
5878        well.
5879
58802006-05-22 03:28  gb
5881
5882        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Load tcr.cs-limit a little
5883        earlier when creating a stack frame inline.  Doesn't seem to affect
5884        latency much.
5885
58862006-05-22 03:27  gb
5887
5888        * compiler/X86/x862.lisp: Comment formatting on the first line of
5889        the file.
5890
58912006-05-22 03:26  gb
5892
5893        * compiler/nx0.lisp: Check argument counts on self-calls.  (AFAIK,
5894        this hasn't been done for at least 20 years in MCL/OpenMCL ...)
5895
58962006-05-21 07:34  gb
5897
5898        * compiler/X86/x862.lisp: Long-standing X862-COPY-REGISTER bug.
5899
59002006-05-21 07:32  gb
5901
5902        * compiler/PPC/ppc2.lisp: Implement (late) div2; use (simple)
5903        numeric-contagion stuff for arithmetic ops.
5904
59052006-05-21 07:31  gb
5906
5907        * compiler/nx1.lisp: Use div2 for /-2.
5908
59092006-05-21 07:31  gb
5910
5911        * compiler/nx0.lisp: Binop numeric contagion.
5912
59132006-05-21 06:49  gb
5914
5915        * compiler/nx0.lisp: ACODE-REAL-CONSTANT-P.
5916
59172006-05-21 06:49  gb
5918
5919        * compiler/PPC/ppc2.lisp: Weird case in ppc2-copy-register wasn't
5920        weird, just wrong.
5921
59222006-05-21 06:17  gb
5923
5924        * level-0/l0-pred.lisp: PPC64: %typep recognizes
5925        SIMPLE-FIXNUM-VECTORs.
5926
59272006-05-21 06:16  gb
5928
5929        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
5930        Fixnum vector stuff.  FIXNUM->FPR uses SP red zone.
5931
59322006-05-21 06:16  gb
5933
5934        * compiler/PPC/PPC32/ppc32-arch.lisp,
5935        compiler/PPC/PPC64/ppc64-arch.lisp, lisp-kernel/ppc-constants64.h,
5936        lisp-kernel/ppc-constants64.s, lisp-kernel/ppc-spentry.s: Fixnum
5937        vector stuff.
5938
59392006-05-21 06:15  gb
5940
5941        * compiler/PPC/ppc2.lisp: %fixnum-to-single, %fixnum-to-double.
5942       
5943        Fixnum vector vref/vset.
5944
59452006-05-21 06:15  gb
5946
5947        * compiler/: nx1.lisp, nxenv.lisp: %fixnum-to-single,
5948        %fixnum-to-double.
5949
59502006-05-21 06:14  gb
5951
5952        * compiler/nx0.lisp: More operator result types.
5953
59542006-05-21 04:35  gb
5955
5956        * level-0/l0-array.lisp, level-0/l0-pred.lisp,
5957        level-1/l1-aprims.lisp, level-1/l1-clos-boot.lisp: Integrate
5958        specialized FIXNUM array-element-type into type system, CLOS.
5959        (Knock wood.)
5960
59612006-05-21 04:34  gb
5962
5963        * lisp-kernel/x86-spentry64.s: Support for (out-of-line)
5964        fixnum-vector access (.SPmisc_ref, .SPmisc_set).
5965
59662006-05-21 04:33  gb
5967
5968        * compiler/X86/X8664/x8664-arch.lisp,
5969        lisp-kernel/x86-constants64.h, lisp-kernel/x86-constants64.s: New
5970        subtag for :fixnum-vector.
5971
59722006-05-21 04:32  gb
5973
5974        * compiler/X86/x862.lisp: 64-bit vset wasn't handling non-constant
5975        indices correctly.
5976       
5977        64-bit vset, vref: handle :FIXNUM-VECTOR.
5978
59792006-05-21 00:22  gb
5980
5981        * level-0/l0-aprims.lisp: Spell istruct-typep correctly.
5982
59832006-05-20 18:13  gb
5984
5985        * compiler/X86/x862.lisp: Do some self-tail calls (fixed args, no
5986        stack args) without restoring/re-saving NVRs.
5987
59882006-05-19 15:07  gb
5989
5990        * level-1/linux-files.lisp: RUN-PROGRAM: waiting for the child's
5991        completion semaphore (when :WAIT is true) happens inside an
5992        UNWIND-PROTECT cleanup and therefore needs to explicitly allow
5993        interrupts.
5994
59952006-05-19 15:06  gb
5996
5997        * level-0/l0-aprims.lisp: Add SEMAPHOREP, make it a type-predicate
5998        for SEMAPHORE.
5999
60002006-05-19 12:23  gwking
6001
6002        * lib/misc.lisp: Added help and redisplay to select-item-from-list.
6003        Also changed it so that it displays all items before trying to get
6004        an answer.
6005
60062006-05-19 12:00  gwking
6007
6008        * .cvsignore: The *fsl wasn't cutting it for me..., take two
6009
60102006-05-19 11:57  gwking
6011
6012        * .cvsignore: The *fsl wasn't cutting it for me...
6013
60142006-05-19 11:50  gb
6015
6016        * level-1/version.lisp: Bump.
6017
60182006-05-19 11:49  gb
6019
6020        * level-1/l1-streams.lisp: Change the EVAL-WHEN that requires
6021        syscall definitions so that it can be moused on.
6022
60232006-05-19 11:48  gb
6024
6025        * compiler/X86/X8664/: x8664-arch.lisp, x8664-vinsns.lisp:
6026        .SPeabi-syscall -> .SPsyscall.
6027
60282006-05-19 11:45  gb
6029
6030        * compiler/X86/x862.lisp: Inline ADD2, unless we know that at least
6031        one arg couldn't be a fixnum.  (Should do the same for SUB2.) This
6032        does indeed burn cache lines, but going out of line isn't cheap
6033        either.  (100 million iterations of (+ x (+ y z)) - where X Y and Z
6034        are in fact fixnums and no overflow is involved - seems to be about
6035        2X faster when inlined this way.  Not sure if that'll be the case
6036        on PPC.)
6037
60382006-05-19 11:40  gb
6039
6040        * compiler/nx0.lisp: Use NX-TARGET-TYPE in some of the acode-type
6041        stuff.
6042
60432006-05-18 14:47  gb
6044
6045        * lisp-kernel/ppc-spentry.s: When unwinding the stack (hopefully,
6046        in all places that do so ...), update tcr.xframe from
6047        catch_frame.xframe on all execution paths (in particular, do so
6048        before SP is restored from the catch_frame, since a tcr.xframe
6049        "beyond" SP is clearly bogus.)
6050
60512006-05-18 02:34  gb
6052
6053        * level-1/version.lisp: Bump.
6054
60552006-05-17 23:12  gb
6056
6057        * compiler/PPC/ppc2.lisp: "late" acode-type stuff (add2/sub2/mul2)
6058        for PPC, too.
6059
60602006-05-17 22:53  gb
6061
6062        * level-0/X86/x86-float.lisp: %FP-ERROR-FROM-STATUS: don't cons an
6063        &REST arg.  Should do a quicker test (logandc2 and a shift) to see
6064        if any unmasked exceptions were raised before even calling this ...
6065
60662006-05-17 22:51  gb
6067
6068        * compiler/X86/X8664/x8664-vinsns.lisp: If we have to spill
6069        SINGLE-FLOAT registers, spill them (boxed) on the vstack.
6070
60712006-05-17 22:50  gb
6072
6073        * compiler/X86/x862.lisp: Work harder to find acode types in some
6074        cases.
6075
60762006-05-17 22:50  gb
6077
6078        * compiler/X86/x86-disassemble.lisp: Handle (new-style) byte
6079        registers in OP-REG.
6080       
6081        Don't want to use RET very often if at all, but disassembler should
6082        treat as as a :JUMP.
6083
60842006-05-17 22:48  gb
6085
6086        * compiler/nxenv.lisp: MUL2, DIV2.
6087
60882006-05-17 22:48  gb
6089
6090        * compiler/: nx0.lisp, nx1.lisp: A little of that there
6091        type-inferencing (or, more accurately, paying a little more
6092        attention here and there.)
6093
60942006-05-12 20:40  gwking
6095
6096        * examples/addressbook.lisp: added examples/addressbook.lisp
6097
60982006-05-11 18:42  gb
6099
6100        * level-1/l1-application.lisp: Stop processing command-line
6101        arguments when "--" is encountered; anything after that "--" is
6102        retained in CCL:*UNPROCESSED-COMMAND-LINE-ARGUMENTS*.
6103
61042006-05-11 18:42  gb
6105
6106        * lib/ccl-export-syms.lisp: Export command-line stuff
6107
61082006-05-11 18:40  gb
6109
6110        * level-1/l1-processes.lisp: Lennart Staflin's fix to PRINT-OBJECT
6111        method for LOCKs.
6112
61132006-05-11 18:39  gb
6114
6115        * level-1/l1-files.lisp: In %DIFECTORY-LIST-NAMESTRING: all strings
6116        are base-strings (and always have been in OpenMCL.)
6117
61182006-05-11 18:37  gb
6119
6120        * level-1/l1-sockets.lisp: CCL:BASE-CHARACTER -> CL:BASE-CHAR.
6121
61222006-05-11 08:11  gwking
6123
6124        * lib/db-io.lisp: Added a check that the directory exists to
6125        fid-open-output in order to make it clearer what is wrong when one
6126        is unable to rebuild interface files because they are trying to do
6127        so in a place without FFI files to read!
6128
61292006-05-11 05:14  gb
6130
6131        * level-1/version.lisp, lisp-kernel/image.h, xdump/heap-image.lisp:
6132        Bump lisp-implementation-version, image-abi-version.
6133
61342006-05-11 05:04  gb
6135
6136        * xdump/faslenv.lisp: Bump (min) fasl version.
6137
61382006-05-11 04:52  gb
6139
6140        * lib/nfcomp.lisp: Bump (current) FASL version.
6141
61422006-05-11 04:52  gb
6143
6144        * level-1/l1-files.lisp: FASL-FILE-P looks for inital #xFF00
6145        (big-endian) instead of just #xff, to avoid UTF-16 BOM confusion.
6146
61472006-05-11 04:35  gb
6148
6149        * xdump/faslenv.lisp: Bump (max) fasl version.
6150
61512006-05-11 04:32  gb
6152
6153        * compiler/X86/X8664/x8664-backend.lisp: Little-endianness is a
6154        target-specific feature.
6155
61562006-05-11 03:35  gb
6157
6158        * compiler/PPC/PPC32/ppc32-arch.lisp,
6159        compiler/PPC/PPC32/ppc32-vinsns.lisp, level-0/l0-array.lisp,
6160        level-0/l0-pred.lisp, level-0/PPC/ppc-array.lisp,
6161        level-1/l1-aprims.lisp, level-1/l1-clos-boot.lisp,
6162        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
6163        lisp-kernel/ppc-spentry.s, xdump/xppcfasload.lisp: Juggle PPC32
6164        typecodes around: get rid of the (unused) old 16-bit string; add an
6165        (as yet unused) UCS-4 string type.
6166       
6167        These changes generally involve cross-compilation (or some very
6168        tricky bootstrapping that I didn't attempt)  FASL versions and
6169        kernel ABI versions will need to change, and new binaries will be
6170        made available soon.
6171
61722006-05-10 20:20  gb
6173
6174        * compiler/PPC/ppc-lapmacros.lisp,
6175        compiler/PPC/PPC32/ppc32-arch.lisp,
6176        compiler/PPC/PPC32/ppc32-vinsns.lisp,
6177        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s:
6178        Change CHARCODE-SHIFT constant on PPC32, so that the (currently
6179        8-bit) character code is stored in the #x0000xx00 byte of a
6180        CHARACTER, rather than in the #x00xx0000 byte,  This is hard to
6181        bootstrap natively (which is why I was trying to make ppc64->ppc32
6182        cross-compilation work.)
6183       
6184        Change related macros/visnsns as well.
6185
61862006-05-10 19:00  gb
6187
6188        * xdump/xppcfasload.lisp: Reintroduce a TARGET-ARCH-CASE, but I
6189        think that this is just hard to do right the way that it's being
6190        done.
6191
61922006-05-10 18:59  gb
6193
6194        * level-1/ppc-threads-utils.lisp: BOGUS-THING-P is hard to do right
6195        when cross-compiling (because word-size differences aren't handled
6196        correctly by macros.)  Until the macros are fixed, don't even try
6197        ...
6198
61992006-05-10 18:58  gb
6200
6201        * level-1/l1-clos-boot.lisp: In NEW-CLASS-WRAPPER-HASH-INDEX, user
6202        target::target-most-positive-fixnum (not the host's
6203        MOST-POSITIVE-FIXNUM).
6204
62052006-05-10 18:57  gb
6206
6207        * compiler/: nx0.lisp, nx1.lisp: Use NX-TARGET-TYPE in at least a
6208        few places.
6209
62102006-05-10 18:56  gb
6211
6212        * compiler/nx.lisp: XCOMPILE-LAMBDA binds *TARGET-BACKEND*.
6213
62142006-05-10 18:55  gb
6215
6216        * compiler/nx-basic.lisp: NX-TARGET-TYPE: there may be other
6217        differences between host and target types, but try to turn
6218        references to FIXNUM to the appropriate target-specific type.
6219
62202006-05-09 21:01  gb
6221
6222        * compiler/PPC/PPC32/ppc32-vinsns.lisp: UNBOX-BASE-CHAR just checks
6223        that the lowbyte is SUBTAG-CHARACTER; it used to rotate things
6224        around to check the high bits of the char code, but all chars have
6225        been base-chars for several years now ...
6226       
6227        UNBOX-CHARACTER was unused.
6228       
6229        (This is the first step of what may be several bootstrapping steps
6230        to change PPC32::CHARCODE-SHIFT from 16 to 8, so that we have 24
6231        easily-accessed char-code bits on PPC32.)
6232
62332006-05-09 11:48  gb
6234
6235        * lisp-kernel/xlbt.c: No psn in cs_area.
6236
62372006-05-09 02:42  gb
6238
6239        * lisp-kernel/: gc.h, ppc-gc.c: Back out of the extra Boolean arg
6240        to mark_simple_area_range().
6241
62422006-05-09 02:33  gb
6243
6244        * compiler/PPC/: PPC32/ppc32-backend.lisp,
6245        PPC64/ppc64-backend.lisp: Endianness is also target-specific.
6246
62472006-05-09 02:25  gb
6248
6249        * lisp-kernel/thread_manager.c: Thread stack areas are "owned by"
6250        the containing TCR, to make low-level debugging a bit easier.
6251
62522006-05-09 02:25  gb
6253
6254        * lisp-kernel/ppc-gc.c: Mostly some added consistency/sanity checks
6255        and debugging printfs.
6256
62572006-05-09 02:24  gb
6258
6259        * lisp-kernel/ppc-exceptions.h: Note that pc_luser_xp() needs an
6260        extra (signed_natural *) arg, for allocptr displacement.
6261
62622006-05-09 02:23  gb
6263
6264        * lisp-kernel/ppc-exceptions.c: Lots of #ifdef DEBUG fprintfs.
6265       
6266        Change the way that pc_luser_xp() and normalize_tcr() handle alloc
6267        regs/ saved TCR fields.  The general idea is that the after they
6268        run, all threads have tcr->save_allocptr/tcr_save_allocbase set to
6269        VOID_ALLOCPTR; if the thread was interrupted in lisp code, the
6270        allocbase register will be set to VOID_ALLOCPTR and allocptr will
6271        be set to either VOID_ALLOCPTR or to VOID_ALLOCPTR-disp.
6272       
6273        On an interrupt, the caller needs to pass in a signed_natural * to
6274        pick up the allocptr displacement (if consing was interrupted at
6275        the alloc trap); the interrupt handler uses this value to fix up
6276        alloptr when it returns if consing was interrupted.
6277       
6278        This is all pretty clearly right, but something still goes wrong
6279        under some combination of high thread stress, frequent allocation,
6280        and blocking ff-calls.
6281
62822006-05-09 02:17  gb
6283
6284        * lisp-kernel/plbt.c: No psn currently available.
6285
62862006-05-09 02:16  gb
6287
6288        * lisp-kernel/lisp-debug.c: Bug() passes xp to lisp_Debugger(),
6289        where it may come in handy ...
6290
62912006-05-09 02:16  gb
6292
6293        * lisp-kernel/gc.h: mark_simple_area_range() takes an added Boolean
6294        arg.
6295
62962006-05-09 02:13  gb
6297
6298        * lisp-kernel/area.h: area struct's owner is a (TCR *).
6299
63002006-05-09 02:12  gb
6301
6302        * level-1/l1-error-system.lisp: $xfunbnd was used after all.
6303        Restore it.
6304
63052006-05-09 02:12  gb
6306
6307        * level-0/l0-error.lisp, library/lispequ.lisp,
6308        lisp-kernel/errors.s: $xfunbnd was used after all.  Restore it, and
6309        recycle $XNOCDR.
6310
63112006-05-09 02:11  gb
6312
6313        * compiler/PPC/PPC64/ppc64-backend.lisp: :64-bit-target is ...
6314        target-specific.
6315
63162006-05-09 02:11  gb
6317
6318        * compiler/PPC/PPC32/ppc32-backend.lisp: :32-bit-target is ...
6319        target-specific.
6320
63212006-05-09 00:40  gb
6322
6323        * level-1/l1-lisp-threads.lisp: Foreign thread callback stuff moved
6324        here.
6325
63262006-05-09 00:39  gb
6327
6328        * level-1/x86-threads-utils.lisp: Support for BOGUS-THING-P on
6329        x8664.
6330
63312006-05-09 00:39  gb
6332
6333        * level-1/ppc-threads-utils.lisp: Move foreign-thread callback
6334        stuff up to l1-lisp-threads.lisp.
6335
63362006-05-08 22:58  gb
6337
6338        * lisp-kernel/ppc-spentry.s: misc_ref/misc_set jump tables on PPC64
6339        handle array and vector headers.
6340
63412006-05-08 22:57  gb
6342
6343        * library/lispequ.lisp: Synch errors $xbadvec, $xsetbadvec (neither
6344        of which should ever happen) with the kernel.
6345
63462006-05-08 22:56  gb
6347
6348        * level-1/l1-processes.lisp: %PROCESS-PRESET-INTERNAL doesn't need
6349        the TCR either.
6350
63512006-05-08 22:55  gb
6352
6353        * level-1/l1-error-system.lisp: $XFUNBND is no more.
6354
63552006-05-08 22:55  gb
6356
6357        * level-0/l0-error.lisp: Define the format strings for $xbadvec,
6358        $xsetbadvec.
6359
63602006-05-08 03:26  gb
6361
6362        * lisp-kernel/x86-spentry64.s: .SPstkconslist_star: ensure that
6363        flags are set to the result of decrementing %nargs at the end of
6364        the loop.
6365
63662006-05-08 03:25  gb
6367
6368        * level-1/x86-error-signal.lisp: uuo-error-udf: %err-disp-internal
6369        wants a list of condition args, not a single arg.
6370
63712006-05-08 03:24  gb
6372
6373        * level-1/l1-processes.lisp: %PROCESS-PRESET-INTERNAL doesn't need
6374        CS-AREA.
6375
63762006-05-08 03:23  gb
6377
6378        * level-0/X86/x86-symbol.lisp: %FUNCTION: signal error via
6379        uuo_error_udf, not as a type error.
6380
63812006-05-07 16:50  gb
6382
6383        * lib/describe.lisp: INSPECTOR objects haven't had FORWARDED-P
6384        slots in a long time (they probably haven't -needed- them in even
6385        longer; I think that this had to do with the old partial MOP.)
6386        Don't define the slot for FUNCTION-INSPECTOR, and don't call the
6387        accessor in STANDARD-OBJECT-SETF-LINE-N.
6388
63892006-05-07 04:39  gb
6390
6391        * x86-headers64/gtk2/: .cvsignore, C/.cvsignore, C/populate.sh: New
6392        file.
6393
63942006-05-07 04:34  gb
6395
6396        * lisp-kernel/: area.h, lisp_globals.h, memory.c, pmcl-kernel.c,
6397        thread_manager.c: Combine the AREA_LOCK and TCR_LOCK into a single
6398        lock (TCR_AREA_LOCK).  (This makes it a little harder to deadlock
6399        if code that wants both locks isn't careful to try to obtain them
6400        in some canonical order.)
6401
64022006-05-07 04:29  gb
6403
6404        * lib/x86-backtrace.lisp: Finally find those pesky registers.
6405
64062006-05-07 04:29  gb
6407
6408        * level-1/x86-threads-utils.lisp: Stub BOGUS-THING-P moves here.
6409
64102006-05-07 04:28  gb
6411
6412        * level-0/l0-cfm-support.lisp: FOREIGN-SYMBOL-ENTRY: return NIL if
6413        xFindSymbol/dlsym returns 0 on x8664.
6414
64152006-05-07 04:27  gb
6416
6417        * compiler/X86/: x86-lapmacros.lisp, X8664/x8664-vinsns.lisp: Use
6418        PSRLQ/PSLLQ for single-float boxing/unboxing.  (A few months ago,
6419        I'd mistakenly decided that it was faster to go through memory than
6420        to use these instructions.  It seems to actually be substantially
6421        slower, as one would expect.)
6422
64232006-05-07 04:25  gb
6424
6425        * compiler/X86/x86-asm.lisp: Add support for
6426        PSRLQ/PSRLDQ/PSLLQ/PSLLDQ (sse2 shifts.)
6427
64282006-05-07 04:21  gb
6429
6430        * library/hash-cons.lisp: Fix doc in comments.
6431
64322006-05-07 04:21  gb
6433
6434        * lib/ppc-backtrace.lisp: GET/SET-REGISTER-VALUE.
6435
64362006-05-07 04:20  gb
6437
6438        * lib/format.lisp: YES-OR-NO-P: bell goes to *QUERY-IO*.
6439
64402006-05-07 04:19  gb
6441
6442        * lib/backtrace-lds.lisp: Move GET/SET-REGISTER-VALUE to
6443        TARGET-backtrace.lisp.
6444
64452006-05-07 04:18  gb
6446
6447        * level-1/l1-lisp-threads.lisp: Move (implementation-dependent)
6448        BOGUS-THING-P to TARGET-thread-utils.lisp.
6449
64502006-05-07 04:17  gb
6451
6452        * level-1/ppc-threads-utils.lisp: Move (implementation-dependent)
6453        BOGUS-THING-P support here.
6454
64552006-05-07 04:16  gb
6456
6457        * level-1/l1-processes.lisp: Don't set "owner" field of tcr.cs_area
6458        to psn.
6459
64602006-05-06 15:27  gb
6461
6462        * compiler/nx1.lisp: Ash left by constant: prefer the fixnum case
6463        to the "natural" case.
6464
64652006-05-06 15:26  gb
6466
6467        * compiler/X86/x862.lisp: Pass the right number of args to
6468        NATURAL-SHIFT-LEFT and NATURAL-SHIFT-RIGHT.
6469
64702006-05-06 15:26  gb
6471
6472        * compiler/X86/X8664/x8664-vinsns.lisp: Indentation.
6473
64742006-05-06 02:09  gb
6475
6476        * lisp-kernel/thread_manager.c: Let's see: if thread X holds local
6477        A and tries to obtain lock B, and thread Y holds lock B and tries
6478        to obtain lock A, what is that a classic case of ?
6479       
6480        Try to avoid that classic deadlock case in shutdown_thread_tcr()
6481        when HAVE_TLS is in effect.  suspend_other_threads wants to hold
6482        two locks at the same time, and that's always a bit dangerous; it
6483        might be safer to merge TCR_LOCK and AREA_LOCK into a single lock
6484        that must be owned in order to manipulate either the tcr or area
6485        queues.
6486
64872006-05-06 02:04  gb
6488
6489        * level-1/linux-files.lisp: Make (%REALPATH "") behave like
6490        %REALPATH of the current directory namestring, as it does by
6491        default on some platforms (but not Linux.)
6492
64932006-05-05 20:08  gb
6494
6495        * compiler/X86/x862.lisp: x862-ff-call: really implement the
6496        simple-foreign-args stuff.  Box u64/s64, or don't ... but don't do
6497        the el-bizarro <- with a (temp) node target.
6498
64992006-05-05 20:06  gb
6500
6501        * lib/x86-backtrace.lisp: Get PC-FROM-XCF right (it needs to be
6502        relative to the tagged entrypoint, not to the start of the
6503        underlying function-vector.)
6504
65052006-05-05 13:24  gb
6506
6507        * lisp-kernel/x86-spentry64.s: Preserve NEXT-METHOD-CONTEXT when
6508        heap-consing an &REST arg.  (%allocptr and %next-method-context are
6509        the same register, so &rest clobbbers %next-method-context.)
6510       
6511        Could make separate entry points, so that this is only done when
6512        %next-method-context needs to be preserved ...
6513
65142006-05-05 13:21  gb
6515
6516        * level-0/X86/x86-def.lisp: Use RESERVED-FRAME-MARKER.
6517
65182006-05-05 02:23  gb
6519
6520        * freebsd-headers64/libc/C/populate.sh: New file.  Needs some work.
6521
65222006-05-05 02:23  gb
6523
6524        * freebsd-headers64/libc/: .cvsignore, C/.cvsignore: New file.
6525
65262006-05-05 01:37  gb
6527
6528        * level-1/version.lisp: Bump du jour.
6529
65302006-05-05 01:36  gb
6531
6532        * level-0/X86/x86-def.lisp: %FF-CALL: maintain the distinction
6533        between the first 6 words of the outgoing frame (from which GPRs
6534        will be loaded) and other words (which stay on the stack); after
6535        the first 8 FP args, floats have to be passed on the stack, even if
6536        there's still room in the first 6 words of the outgoing frame.
6537       
6538        Need to understand the struct-by-value rules better: can a struct
6539        be passed partly in registers and partly on the stack ? RTFM (or,
6540        in this case, TF ABI spec.)
6541
65422006-05-05 01:31  gb
6543
6544        * compiler/X86/x862.lisp: In X862-FF-CALL:  - the general integer
6545        case should store relative to "other-offset" (rather than   
6546        "gpr-offset") when more than 6 (not 8) GPR args have been passed. 
6547        - both the single and double-float cases were incrementing
6548        "other-offset"     twice when more than 8 FP args were involved.
6549        This had the effect of     storing floats into every other word and
6550        writing beyond the bounds of     the outgoing stack frame, possibly
6551        overwriting return addresses on the     foreign stack.
6552
65532006-05-04 23:12  gb
6554
6555        * level-1/l1-streams.lisp: James Bielman's fix to
6556        READ-TOPLEVEL-FORM (INPUT-STREAM) (EOF handling/peek-char.)
6557
65582006-05-04 18:30  gb
6559
6560        * compiler/X86/X8664/x8664-backend.lisp: When binding FP args,
6561        decrement FPR-ARG-OFFSET by 8, not -8.
6562       
6563        (This could cause values outside of the stack frame to be read, but
6564        I still haven't found what's writing beyond the frame bounds.)
6565
65662006-05-04 18:27  gb
6567
6568        * lib/x86-backtrace.lisp: If its argument is an exception callback
6569        frame, %CFP-LFUN tries to determine the relative PC associated with
6570        the frame's nominal function and return that as a second value
6571        (just as it does for a real frame.)
6572       
6573        I think that this should work a high percentage of the time, but
6574        callers should generally be prepared to deal with a NULL second
6575        return value from %CFP-LFUN.
6576
65772006-05-04 11:12  gb
6578
6579        * compiler/X86/X8664/x8664-backend.lisp: More callback issues:
6580        since we're using the same stack pointer to return values as we are
6581        to find arguments, don't try to "optimize" its initialization.
6582
65832006-05-03 18:52  gb
6584
6585        * compiler/X86/X8664/x8664-backend.lisp: Clean  up x8664 callbacks
6586        a little.  Don't coerce single float results to double; bind
6587        stack-ptr variable even if no args (might be a return value form
6588        that references it.) Failure to do the latter was creating a weird
6589        free variable reference that wasn't handled by the fasloader.
6590
65912006-05-03 18:50  gb
6592
6593        * level-0/nfasload.lisp: $fasl-vmksym-special wasn't implemented.
6594
65952006-05-03 18:49  gb
6596
6597        * lib/nfcomp.lisp: Indent a comment.
6598
65992006-05-03 18:16  gb
6600
6601        * compiler/X86/x862.lisp, level-0/X86/x86-def.lisp: In an %FF-CALL
6602        that might involve a variable-length arglist (at this level,
6603        always), set %rax to the number (0-8) of FP arguments passed in xmm
6604        registers.
6605
66062006-05-03 13:26  gb
6607
6608        * lisp-kernel/x86-exceptions.c: In find_foreign_rsp(), mask with
6609        ~15, not ~!5.  (This was causing segfaults on return from
6610        interrupts sometimes.)
6611
66122006-05-03 13:24  gb
6613
6614        * lib/backtrace.lisp: CLOSURE-CLOSED-OVER-VALUES, which is needed
6615        by SWANK/SLIME.
6616
66172006-05-03 13:23  gb
6618
6619        * lib/backtrace-lds.lisp: FRAME-SUPPLIED-ARGS, hopefully in a form
6620        that'll work on all platforms.  (Note that FRAME-SUPPLIED-ARGS
6621        seems to get many things wrong.)
6622
66232006-05-03 11:37  gb
6624
6625        * level-1/version.lisp: You mist have yesterday's version.
6626
66272006-05-03 11:37  gb
6628
6629        * level-0/X86/x86-def.lisp: Implement #'%FF-CALL.  Not too much
6630        LAP.
6631
66322006-05-03 11:36  gb
6633
6634        * level-0/l0-init.lisp: Put :X86-64 and :AMD64 on *FEATURES* if
6635        #+x8664-target.
6636
66372006-05-03 11:36  gb
6638
6639        * compiler/X86/X8664/x8664-vinsns.lisp: Bad typo in UNBOX-S64, and
6640        it can just check for a 2-digit bignum header if it has something
6641        of tag TAG-MISC.
6642
66432006-05-03 11:34  gb
6644
6645        * compiler/X86/x862.lisp: X862-COPY-REGISTER: handle :S64
6646        destinations.
6647
66482006-05-03 11:33  gb
6649
6650        * compiler/X86/x86-disassemble.lisp: Recognize
6651        uuo-error-eep-unresolved.
6652
66532006-05-02 18:07  gb
6654
6655        * level-1/version.lisp: Bump.
6656
66572006-05-02 18:07  gb
6658
6659        * lib/: backtrace-lds.lisp, describe.lisp: Comment out stuff that's
6660        (mostly ?) unused and currently PPC-specific, if it works at all
6661        ...
6662
66632006-05-02 10:27  gb
6664
6665        * level-1/l1-streams.lisp: Don't definea STREAM-CLEAR-INPUT method
6666        for STRING-INPUT-STREAMs; it's not clear what such a method should
6667        do (and fairly clear that it shouldn't do what the previous
6668        definition was doing.)
6669
66702006-05-02 10:26  gb
6671
6672        * lib/format.lisp: clear input from *query-io*, not from
6673        *terminal-io* in YES-OR-NO-P, Y-OR-N-P
6674
66752006-05-02 10:26  gb
6676
6677        * library/hash-cons.lisp: x8664 lap
6678
66792006-05-02 10:26  gb
6680
6681        * lisp-kernel/x86-gc.c: hons area stuff
6682
66832006-04-29 09:14  gb
6684
6685        * lisp-kernel/x86-exceptions.c: Write-protect handlers for stack
6686        overflow (on value/temp stacks).
6687
66882006-04-29 09:13  gb
6689
6690        * level-1/x86-trap-support.lisp: Handle stack overflow in cmain
6691        callback.
6692
66932006-04-29 09:10  gb
6694
6695        * lisp-kernel/freebsd8664/Makefile: x86-gc.o.
6696       
6697        No linker script.
6698       
6699        Use -lthr, which offers 1:1 threads.
6700
67012006-04-29 09:09  gb
6702
6703        * lisp-kernel/lisptypes.h: Remove the __sighandler typedef.
6704
67052006-04-29 09:01  gb
6706
6707        * lisp-kernel/x86-exceptions.h: xpMMXreg for FreeBSD.
6708
67092006-04-29 09:00  gb
6710
6711        * lisp-kernel/x86-exceptions.c: Don't use __sighandler_t.  (See if
6712        anything cares ...)
6713
67142006-04-29 08:59  gb
6715
6716        * lisp-kernel/x86-constants64.h: FreeBSD register constants.
6717
67182006-04-29 08:58  gb
6719
6720        * lisp-kernel/lisp-debug.c: FreeBSD regiser names.
6721
67222006-04-29 08:58  gb
6723
6724        * lisp-kernel/area.h: Update IMAGE_BASE_ADDRESS for FreeBSD.
6725
67262006-04-28 21:28  gb
6727
6728        * level-1/version.lisp: bump.
6729
67302006-04-28 21:27  gb
6731
6732        * lib/backtrace.lisp: changes to print-call-history (and "internal"
6733        version).
6734
67352006-04-28 21:24  gb
6736
6737        * lib/ppc-backtrace.lisp: Fix typo.
6738
67392006-04-28 21:23  gb
6740
6741        * level-1/l1-readloop-lds.lisp: Add :NFRAMES break loop command.
6742       
6743        Change the command/keyword parser a little, so that :FOO is just
6744        :FOO and not (:FOO).
6745       
6746        Change :B break loop command (and :F) to allow focusing on a range
6747        of frames, and change PRINT-CALL-HISTORY to more easily support
6748        that.
6749
67502006-04-28 19:37  gb
6751
6752        * level-0/PPC/ppc-numbers.lisp: Remove a quote from a LAP
6753        LOAD-CONSTANT form.
6754
67552006-04-28 19:34  gb
6756
6757        * lib/: backtrace.lisp, ppc-backtrace.lisp, x86-backtrace.lisp:
6758        Factor out a little more.  Time to see what's broken on PPC ...
6759
67602006-04-28 19:34  gb
6761
6762        * level-1/: l1-readloop-lds.lisp, l1-streams.lisp: Make parens
6763        around colon-commands optional.
6764
67652006-04-28 04:11  gb
6766
6767        * lisp-kernel/linuxx8664/.gdbinit: 'lregs' calls the kernel
6768        debugger's register display code.
6769
67702006-04-28 04:11  gb
6771
6772        * lisp-kernel/xlbt.c: Don't claim that the (legitimate) last frame
6773        on the stack is bogus.
6774
67752006-04-28 04:10  gb
6776
6777        * lisp-kernel/x86-exceptions.c: Create fake stack frames (sort of
6778        ...) when calling back for an exception.
6779
67802006-04-28 03:36  gb
6781
6782        * lisp-kernel/x86-constants64.h: A few symbolic register names.
6783       
6784        xcf struct.
6785
67862006-04-28 03:36  gb
6787
6788        * library/lispequ.lisp: FAKE-STACK-FRAME is #+ppc-target.
6789
67902006-04-28 03:36  gb
6791
6792        * lib/x86-backtrace.lisp: Implemented some stuff.
6793       
6794        Backtrace (sort of) works on x8664 now; need to find register
6795        values,  hide tagged return addresses, a few other things.
6796
67972006-04-28 03:34  gb
6798
6799        * lib/ppc-backtrace.lisp: Stuff moved here from elsewhere.
6800
68012006-04-28 03:34  gb
6802
6803        * lib/backtrace-lds.lisp: LAST-CATCH-SINCE moved elsewhere.
6804
68052006-04-28 03:33  gb
6806
6807        * level-1/x86-trap-support.lisp: Flags register accessor.
6808       
6809        New exception callback scheme.
6810
68112006-04-28 03:33  gb
6812
6813        * level-1/x86-threads-utils.lisp: The lowlevel system keeps
6814        changing.
6815
68162006-04-28 03:32  gb
6817
6818        * level-1/x86-error-signal.lisp: New exception callback stuff.
6819
68202006-04-28 03:32  gb
6821
6822        * level-1/l1-readloop-lds.lisp: No fake stack frames on x86.
6823
68242006-04-28 03:32  gb
6825
6826        * level-1/l1-lisp-threads.lisp: Move more stuff to arch-specific
6827        files.
6828
68292006-04-28 03:31  gb
6830
6831        * level-1/l1-events.lisp: No fake-stack-frames on x86, but we do
6832        have exception callback frames ...
6833
68342006-04-28 03:30  gb
6835
6836        * level-1/l1-error-system.lisp: Tweak :report method for
6837        wrong-number-of-args errors.
6838
68392006-04-28 03:30  gb
6840
6841        * level-0/X86/x86-def.lisp: Implement APPLY+.
6842
68432006-04-28 03:29  gb
6844
6845        * compiler/X86/X8664/x8664-arch.lisp: eXception Callback Frame.
6846
68472006-04-28 03:27  gb
6848
6849        * compiler/X86/x86-lapmacros.lisp: Add missing IN-PACKAGE.
6850       
6851        CHECK-NARGS: don't enforce upper bound if it's null.
6852
68532006-04-28 03:17  gb
6854
6855        * compiler/X86/x86-arch.lisp: x86 xFLAGS bits.
6856
68572006-04-28 03:16  gb
6858
6859        * compiler/nx0.lisp: Allow (FUNCTION (SETF name)) in
6860        IGNORE/IGNORABLE/DYNAMIC-EXTENT declarations.
6861
68622006-04-26 14:18  gb
6863
6864        * compiler/nx0.lisp: Allow (SETF NAME) in DEFINE-COMPILER-MACRO.
6865
68662006-04-26 14:17  gb
6867
6868        * lib/misc.lisp: Disassemble is supposed to signal an error (or "be
6869        prepared" to do so) if its argument isn't a function designator, so
6870        don't quietly call METHOD-FUNCTION for the user.
6871
68722006-04-26 13:56  gb
6873
6874        * lib/encapsulate.lisp: Use REPLACE-FUNCTION-CODE (not (SETF (UVREF
6875        ...))) in ENCAPSULATE, REMOVE-ENCAPSULATION.
6876
68772006-04-26 03:59  gb
6878
6879        * lisp-kernel/: x86-spentry64.s, x86-subprims64.s: zero out the
6880        exception bits whenever mxcsr is stored in tcr.foreign_mxcsr, so no
6881        exceptions will be pending when we start an ff-call (and the mxcsr
6882        is loaded from that location.)
6883       
6884        tcr.ffi_exception will then contain non-zero exception bits iff the
6885        most recent ff-call raised a (probably masked) FP exception.
6886       
6887        TODO: make this reentrant (PROCESS-INTERRUPT should preserve this.)
6888
68892006-04-26 03:55  gb
6890
6891        * lisp-kernel/x86-constants.s: define mxcsr exception bits.
6892
68932006-04-26 03:23  gb
6894
6895        * lisp-kernel/x86-constants64.s: Update comment on
6896        tcr.ffi_exception.
6897
68982006-04-26 03:22  gb
6899
6900        * lisp-kernel/x86-spentry64.s: Maintain tcr.ffi_exception on return
6901        from ffcall.  (Should maybe clear exception bits on entry to
6902        foreign state, so we're sure that any exception bits set in the
6903        tcr.ffi_exception slot were caused by the most recent ff-call.)
6904
69052006-04-26 03:20  gb
6906
6907        * level-0/X86/x86-float.lisp: Check MXCSR status bits from last
6908        ffcall, compare them to unmasked exception bits in current MXCSR,
6909        maybe raise FP exception.  (Note: compile this change and rebuild
6910        image before making corresponding kernel change.)
6911
69122006-04-26 02:31  gb
6913
6914        * lisp-kernel/x86-spentry64.s: .SPbuiltin-logxor was calling out to
6915        LOGAND-2, not to LOGXOR-2.  Sheesh.
6916
69172006-04-26 02:01  gb
6918
6919        * compiler/X86/X8664/x8664-vinsns.lisp: %ILOGBITP treats "large"
6920        bit numbers as tests of the sign bit.   (This is probably best
6921        viewed as being "formally undefined", but it's not too expensive to
6922        check for that.  The case where the bit number's negative is
6923        definitely undefined; I think that it also gets treated as a test
6924        of the sign bit.)
6925
69262006-04-26 01:58  gb
6927
6928        * lisp-kernel/x86-spentry64.s: Logbitp calls out if bit number
6929        negative.
6930
69312006-04-26 01:32  gb
6932
6933        * lisp-kernel/x86-spentry64.s: If both args fixnums, handle bits >=
6934        61.  (Should check here for negative bit .)
6935
69362006-04-26 01:31  gb
6937
6938        * lisp-kernel/x86-exceptions.c: If we get the "no FP regs in
6939        context" error - which typically indicates a fault during exception
6940        processing - pass the context in to the kernel debugger.
6941
69422006-04-26 01:30  gb
6943
6944        * level-0/X86/x86-pred.lisp: Change EQL doc string.
6945
69462006-04-26 00:56  gb
6947
6948        * level-0/X86/x86-pred.lisp: EQL on two bignums works much better
6949        if it compares all corresponding digits, rather than repeatedly
6950        comparing the 0th digits N times ...
6951
69522006-04-25 17:38  gb
6953
6954        * lisp-kernel/x86-spentry64.s: _SPmvslide: skip the loop if nargs
6955        is 0, not if disp is 0.  ash: always make a signed integer out of
6956        the result,  since arg is always signed.
6957
69582006-04-25 17:37  gb
6959
6960        * level-0/X86/x86-float.lisp: Negate floats by fliping the sign
6961        bit, so (for instance) (- 0.0d0) is -0.0d0.
6962
69632006-04-25 17:36  gb
6964
6965        * level-0/X86/x86-hash.lisp: Hash bignums 32 bits (not 64!) at a
6966        time.
6967
69682006-04-25 17:35  gb
6969
6970        * compiler/X86/x862.lisp: %%INEG: need to ensure that source
6971        operand is in target reg (2-address issue.)
6972
69732006-04-24 16:42  gb
6974
6975        * lisp-kernel/x86-spentry64.s: How hard can misc_set_s32 be ?
6976        Apparently, pretty hard.  It was doing a logical shift right when
6977        typechecking the value, so negative values were rejected.
6978
69792006-04-24 16:41  gb
6980
6981        * lisp-kernel/x86-exceptions.c: Call out to handle SIGFPE.  cmain
6982        callback now takes a 'signo' argument.
6983
69842006-04-24 16:40  gb
6985
6986        * level-1/x86-trap-support.lisp: Initial support for handling
6987        arithmetic errors.  Will need more work to get operation and
6988        operands right.
6989
69902006-04-24 16:39  gb
6991
6992        * lib/compile-ccl.lisp: REBUILD-CCL: :reload arg defaults to T.
6993
69942006-04-24 13:58  gb
6995
6996        * level-1/x86-error-signal.lisp: SETQ (not #'SET) in the
6997        uuo-error-reg-not-type case.
6998
69992006-04-24 13:57  gb
7000
7001        * level-0/X86/x86-float.lisp: Generally want to use FPZERO, not
7002        FP0, for 0.0[d,f]0.  (One case wanted to use fp1, but that's
7003        another story.)
7004
70052006-04-24 13:55  gb
7006
7007        * compiler/X86/X8664/x8664-vinsns.lisp: REQUIRE-REAL,
7008        REQUIRE-NUMBER: mask wont fit in 32 bits.  OTOH, doesn't need to be
7009        boxed, either.
7010
70112006-04-24 12:02  gb
7012
7013        * lisp-kernel/x86-spentry64.s: misc_set_s32: register botch.
7014        _SPtcallnfngen: several bugs, which were already fixed in similar
7015        variants.
7016
70172006-04-24 12:01  gb
7018
7019        * lisp-kernel/x86-gc.c: Use FORCE_DWS_MARK to force use of the
7020        Deutch/Waite/Schorr marker.
7021
70222006-04-24 12:00  gb
7023
7024        * lisp-kernel/pmcl-kernel.c: Only turn on GC debug bit if
7025        GC_INTEGRITY_CHECKING is defined (e.g., in Makefile.)
7026
70272006-04-24 11:59  gb
7028
7029        * level-1/linux-files.lisp: Remove debugging FORMAT call.
7030
70312006-04-24 11:58  gb
7032
7033        * level-0/X86/x86-numbers.lisp: %ROUND-NEAREST-SHORT-FLOAT->FIXNUM:
7034        argument is a SINGLE/SHORT-FLOAT, so don't access as a
7035        DOUBLE-FLOAT.
7036
70372006-04-24 11:58  gb
7038
7039        * level-0/X86/x86-float.lisp: %MAKE-FLOAT-FROM-FIXNUMS: mask the
7040        high and low words of the mantissa, to ensure that no hidden bits
7041        are set.  (Some such bits were set, causing many double-float
7042        constansts - like MOST-POSITVE-DOUBLE-FLOAT - to be bogus NaNs).
7043
70442006-04-24 02:21  gb
7045
7046        * lisp-kernel/image.c: Expect a MANAGED_STATIC section in the
7047        image.
7048       
7049        (Don't expect it to have any contents yet; that'll require several
7050        more changes.   This is all intended to support PURIFY on x8664,
7051        where we'll want to ensure that any constant referenced by a
7052        function in readonly/pure memory has a fixed, static address.)
7053
70542006-04-24 02:14  gb
7055
7056        * lisp-kernel/image.h: Bump IMAGE_ABI_VERSION.  New managed_static
7057        section makes NUM_IMAGE_SECTIONS 4.
7058
70592006-04-24 02:13  gb
7060
7061        * lisp-kernel/area.h: Typo in the definition of
7062        AREA_MANAGED_STATIC.
7063
70642006-04-24 02:12  gb
7065
7066        * lisp-kernel/: pmcl-kernel.c, kernel-globals.h: Global pointers to
7067        more areas.
7068
70692006-04-24 02:12  gb
7070
7071        * lisp-kernel/ppc-exceptions.c: EGC write-barrier labels are the
7072        addresses of instructions (not pointers thereto ...)
7073
70742006-04-24 02:11  gb
7075
7076        * lisp-kernel/ppc-gc.c: Add conditionalization to force DWS marker
7077        (mostly so that I could step through it to remember how it worked
7078        ...).
7079
70802006-04-24 02:10  gb
7081
7082        * lisp-kernel/ppc-spentry.s: write-barrier exported symbols: remove
7083        indirection.
7084
70852006-04-24 02:09  gb
7086
7087        * lisp-kernel/x86-gc.c: Remove a sanity check.
7088
70892006-04-24 02:09  gb
7090
7091        * xdump/xfasload.lisp: Create (empty) managed-static section
7092        (mostly for x8664 PURIFY, but might be useful on PPC someday.)
7093
70942006-04-24 02:08  gb
7095
7096        * xdump/heap-image.lisp: New image-abi-version, for managed-static
7097        section.
7098
70992006-04-24 02:07  gb
7100
7101        * level-1/linux-files.lisp: GET-DESCRIPTOR-FOR: try not to leak
7102        fds, take CLOSE-ON-ERROR more seriously.
7103
71042006-04-24 02:06  gb
7105
7106        * compiler/PPC/ppc2.lisp: (eq %FOREIGN-STACK-POINTER
7107        %CURRENT-FRAME-PTR) on PPC32/64.
7108
71092006-04-24 00:50  gb
7110
7111        * level-1/version.lisp: Bump.  Getting there ...
7112
71132006-04-24 00:50  gb
7114
7115        * level-0/l0-misc.lisp: Use %GET-NATURAL where possible.
7116       
7117        Note that TCRs aren't guaranteed to be in the low 32 bits on x8664,
7118        so pass them as a pointer to avoid word-size issues.
7119
71202006-04-24 00:48  gb
7121
7122        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Implement
7123        things that had been missing.
7124
71252006-04-24 00:48  gb
7126
7127        * compiler/X86/x86-disassemble.lisp: Recognize recently-defined
7128        UUOs.
7129
71302006-04-24 00:48  gb
7131
7132        * compiler/X86/x86-backend.lisp: Fix FIXUP-OPCODE-ORDINALS (again).
7133
71342006-04-24 00:47  gb
7135
7136        * compiler/X86/x86-asm.lisp: UUO-ERROR-ARRAY-BOUNDS.
7137
71382006-04-24 00:47  gb
7139
7140        * compiler/PPC/PPC64/ppc64-vinsns.lisp: A little word-size cleanup.
7141
71422006-04-24 00:47  gb
7143
7144        * compiler/nxenv.lisp: %FOREIGN-STACK-POINTER.
7145
71462006-04-24 00:46  gb
7147
7148        * compiler/nx1.lisp: WITH-C-FRAME, WITH-VARIABLE-C-FRAME: use (new)
7149        %FOREIGN-STACK-POINTER, not %CURRENT-FRAME-PTR (differ on x8664;
7150        need to boostrap on PPC).
7151       
7152        Parse %FOREIGN-STACK-POINTER.
7153
71542006-04-22 03:30  gb
7155
7156        * lisp-kernel/thread_manager.c: If we're using thread-local-storage
7157        (HAVE_TLS is defined), make shutdow_thread_tcr() dequeue the tcr,
7158        because (a) nothing else will and (b) the tcr will likely become
7159        unmapped soon, and we don't want things that walk the tcr list to
7160        segfault.
7161
71622006-04-22 03:27  gb
7163
7164        * lisp-kernel/x86-exceptions.c: Something's clearly wrong in
7165        find_foreign_rsp; call Bug() and exit() if the context has no
7166        fpregs.  (That's a symptom, not the proble, but it's slightly
7167        better to do this than to double fault, which is what seems to be
7168        happening.)
7169
71702006-04-21 10:12  gb
7171
7172        * lisp-kernel/x86-exceptions.c: implement pc_luser_xp; just has to
7173        worry about consing, write-barrier stuff.
7174
71752006-04-21 10:11  gb
7176
7177        * lisp-kernel/x86-constants.h: Define X86 flags register bits
7178        (condition codes.)
7179
71802006-04-21 10:11  gb
7181
7182        * lisp-kernel/x86-exceptions.h: change the signature of pc_luser_xp
7183        (again.)
7184       
7185        Define enumeration constants for matching the instructions that can
7186        occur during consing.
7187
71882006-04-21 10:09  gb
7189
7190        * lisp-kernel/x86-spentry64.s: Preserve %temp0 in
7191        store_node_conditional, in case pc_luser_xp() needs to complete the
7192        memoization.
7193
71942006-04-21 02:50  gb
7195
7196        * lisp-kernel/x86-spentry64.s: Use only the value of the first
7197        instance of :ALLOW-OTHER-KEYS to determine whether unknown keys are
7198        allowed.
7199
72002006-04-21 02:49  gb
7201
7202        * lisp-kernel/lisp-debug.c: Tweak things so that %rip and %flags
7203        line up with GPRs.
7204
72052006-04-21 02:48  gb
7206
7207        * lib/sequences.lisp: SIMPLE-1D-ARRAY-SUBSEQ: 64-bit vector case is
7208        #+64-bit-target, not #+ppc64-target.
7209
72102006-04-21 02:47  gb
7211
7212        * level-0/X86/x86-array.lisp: %SIMPLE-BIT-BOOLE: shift by the right
7213        amount.
7214
72152006-04-21 02:46  gb
7216
7217        * level-0/l0-array.lisp: %UVECTOR-REPLACE: 64-bit vectors aren't
7218        unique to PPC64 (but do depend on #+64-bit-target).
7219
72202006-04-21 02:46  gb
7221
7222        * compiler/X86/x862.lisp: The binding(s) of *INTERRUPT-LEVEL*
7223        confuse PROGV; remove them, for now.
7224
72252006-04-20 23:35  gb
7226
7227        * lisp-kernel/x86-spentry64.s: In the bignum case of
7228        .SPinteger-sign, sign-extend the bignum's sign digit instead of ...
7229        whatever the code was trying to do there.
7230       
7231        In the lexpr-has-two-values case of .SPspread-lexprz, load arg_y
7232        and arg_z from the correct offsets within the lexpr.
7233
72342006-04-20 04:48  gb
7235
7236        * lisp-kernel/x86-gc.c: Get the link-inverting marker written;
7237        force it to always be used, for now.
7238
72392006-04-19 17:11  gb
7240
7241        * lisp-kernel/pmcl-kernel.c: (Very) different
7242        MAXIMUM_MAPPABLE_MEMORY for Solaris.
7243
72442006-04-19 17:10  gb
7245
7246        * lisp-kernel/area.h: (Very) different IMAGE_BASE_ADDRESS for
7247        Solaris.
7248
72492006-04-19 00:35  gb
7250
7251        * lisp-kernel/x86-gc.c: Write a few paragraphs outlining how the
7252        reversing-pointer marker should work.  (Perhaps it's a strong
7253        argument for implementing "purify" soon.)
7254
72552006-04-19 00:34  gb
7256
7257        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
7258        function-boundary-marker.
7259
72602006-04-19 00:33  gb
7261
7262        * lisp-kernel/macros.h: Add node_aligned and indirect_node macros.
7263
72642006-04-18 19:35  gb
7265
7266        * lisp-kernel/x86-spentry64.s: Comparison was backwards in
7267        multiple-value case of THROW: don't want to do unbind_to if tcr's
7268        db-link matches target catch frame's.
7269
72702006-04-18 19:33  gb
7271
7272        * lisp-kernel/x86-uuo.s: Add UUO-ERROR-DEBUG-TRAP, remove
7273        UUO-ERROR-STACK-OVERFLOW.  Still need to get this completely in
7274        synch with x86-asm.
7275
72762006-04-18 19:33  gb
7277
7278        * level-1/l1-readloop-lds.lisp: Say more about the availability of
7279        :R in break messages.
7280       
7281        Say more about :C in :R.
7282
72832006-04-18 19:32  gb
7284
7285        * level-1/l1-readloop.lisp: Remove the #+x86-target debugging code
7286        in QUIT's PROCESS-INTERRUPT call, since the closure- trashing bug
7287        seems to have been fixed.
7288
72892006-04-18 19:31  gb
7290
7291        * level-1/x86-error-signal.lisp: Recognize (uuo-error-not-tag %rn
7292        x8664::subtag-catch-tag) as CANT-THROW-ERROR.  (Yes, this is a
7293        horrible kludge, but it only happens once.)
7294
72952006-04-18 19:19  gb
7296
7297        * level-1/l1-processes.lisp: Remove the #+x86-target debugging code
7298        in PROCESS-EXIT-APPLICATION, since the closure- trashing bug seems
7299        to have been fixed.
7300
73012006-04-18 19:18  gb
7302
7303        * level-0/X86/x86-pred.lisp: EQL on bignums wasn't using
7304        X8664::MISC-DATA-OFFSET, so it was comparing a few bytes beyond the
7305        ends of its arguments and ignoring the first few bytes (as well as
7306        doing misaligned memory references.)
7307
73082006-04-18 19:16  gb
7309
7310        * level-0/X86/x86-def.lisp: Insert the PPC version of APPLY+ here.
7311        This'll require some thought, mostly because of the reserved-frame
7312        issue(s).
7313
73142006-04-18 06:21  gb
7315
7316        * lisp-kernel/ppc-constants32.s: Comment mishaps.  These wacky
7317        adventures are about to end, I'm afraid.
7318
73192006-04-18 06:04  gb
7320
7321        * level-1/version.lisp: Daily bump.
7322
73232006-04-18 05:59  gb
7324
7325        * level-1/l1-sockets.lisp: Comment indentation.
7326
73272006-04-18 05:56  gb
7328
7329        * level-0/PPC/ppc-def.lisp: Move APPLY+ here.
7330
73312006-04-18 05:55  gb
7332
7333        * lib/setf-runtime.lisp: Move APPLY+ (which is defined in LAP) to
7334        ppc-def (that means that there will need to be an APPLY+ for
7335        x8664).
7336
73372006-04-18 05:38  gb
7338
7339        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Try to get the
7340        compiler and x8664-vinsn-templates to agree on vinsn-names and
7341        implement some vinsns that had been missing.  (About 15 or so
7342        undefined vinsns remain.)
7343
73442006-04-18 05:37  gb
7345
7346        * compiler/X86/x86-backend.lisp: The mechanism that tries to fixup
7347        opcode ordinals in vinsn templates (e.g., in case new instructions
7348        are defined in the assembler) wasn't checking to see if vinsn
7349        templates named in the hash table were defined.  (It was apparently
7350        getting away with this because CONSP was broken.)  So, don't try to
7351        fixup opcode ordinals in NIL, and optionally report templates
7352        that're referenced but not defined.
7353
73542006-04-18 04:38  gb
7355
7356        * compiler/X86/x862.lisp: CONSP was using the EXTRACT-FULLTAG vinsn
7357        (which only sets the low 8 bits of its destination), then comparing
7358        all 64-bits of the destination to a zero-extended 32-bit constant.
7359        (E.g., CONSP had little chance of being right all other things
7360        being equal, but may have been right more than one in 2^56 times if
7361        some random preceding instruction had zeroed the upper 56 bits.)
7362       
7363        (It's also shorter to do an 8-bit compare.)
7364
73652006-04-18 03:11  gb
7366
7367        * level-0/X86/x86-hash.lisp: box-fixnum arg order in %DFLOAT-HASH.
7368
73692006-04-18 02:51  gb
7370
7371        * compiler/X86/X8664/x8664-vinsns.lisp: Now that all assemblers are
7372        happy (well, as happy as they're going to be ...), back to finding
7373        bugs.  MULTIPLY-FIXNUMS has to unbox one arg (the source).
7374
73752006-04-18 01:26  gb
7376
7377        * lisp-kernel/thread_manager.c: Some Solaris changes.
7378
73792006-04-18 00:48  gb
7380
7381        * lisp-kernel/solarisx64/Makefile: The version of gm4 that Sun
7382        installs in /usr/sfw/bin is both newer and buggier than the version
7383        available on the "Solaris Companion" disk, which gets installed in
7384        /opt/sfw/bin.
7385       
7386        Ordinarily, I'd wonder why a "companion" disk offers to install
7387        software that's bundled as part of the installation (especially old
7388        versions of that software.)  Now I know.
7389
73902006-04-18 00:45  gb
7391
7392        * lisp-kernel/x86-spentry64.s: # __line__ wasn't a comment.
7393
73942006-04-18 00:45  gb
7395
7396        * lisp-kernel/m4macros.m4: Fix changecom.
7397
73982006-04-18 00:11  gb
7399
7400        * lisp-kernel/x86-spentry64.s: x8664 linux as doesn't like typos,
7401        but is otherwise fine with single-line /* */.
7402
74032006-04-18 00:09  gb
7404
7405        * lisp-kernel/: errors.s, imports.s, lisp.s, m4macros.m4,
7406        ppc-asmutils.s, ppc-constants.s, ppc-constants32.s,
7407        ppc-constants64.s, ppc-macros.s, ppc-spentry.s, ppc-spjump.s,
7408        ppc-subprims.s, ppc-uuo.s, x86-asmutils64.s, x86-constants.s,
7409        x86-constants64.s, x86-macros.s, x86-spentry64.s, x86-spjump64.s,
7410        x86-subprims64.s, x86-uuo.s, darwinppc/Makefile,
7411        darwinppc64/Makefile: Whoops.  Darwin as doesn't like #.  I dont
7412        like Darwin as, but we're back to single-line /* */, which is often
7413        pretty ugly and not well-supported by Emacs.
7414
74152006-04-17 23:23  gb
7416
7417        * lisp-kernel/: errors.s, imports.s, lisp.s, m4macros.m4,
7418        ppc-asmutils.s, ppc-constants.s, ppc-constants32.s,
7419        ppc-constants64.s, ppc-uuo.s, x86-asmutils64.s, x86-constants.s,
7420        x86-constants64.s, x86-macros.s, x86-spjump64.s, x86-subprims64.s,
7421        x86-uuo.s: Use #/newline for comment delimiters, which is supported
7422        by Emacs and by all current GAS versions (but see ARM conventions.)
7423         No more jerking around with this, knock wood.
7424
74252006-04-17 23:23  gb
7426
7427        * lisp-kernel/x86-spentry64.s: _SPspread_lexprz wasn't handling the
7428        case where caller provided args before the lexpr, which is much
7429        harder than the simple case.
7430       
7431        Use #/newline for comment delimiters, which is supported by Emacs
7432        and by all current GAS versions (but see ARM conventions.)  No more
7433        jerking around with this, knock wood.
7434
74352006-04-17 23:20  gb
7436
7437        * level-0/X86/x86-numbers.lisp: %FIXNUM-GCD was horrible, espcially
7438        when numbers differed greatly in magnitude.  Current (binary)
7439        algorithm is usually OK.
7440
74412006-04-17 23:17  gb
7442
7443        * compiler/X86/x86-lap.lisp: Condition name should be
7444        UNDEFINED-X86-LAP-LABEL, since it's (a) referenced and (b) that's
7445        not the problem.  Name wasn't spelled correctly in code that
7446        signals the condition, anyway.
7447
74482006-04-17 16:34  gb
7449
7450        * lisp-kernel/x86-exceptions.c: pc_luser_xp always takes a tcr
7451        argument, takes a new boolean to distinguish current tcr from
7452        others.  (The current tcr is only lusered on an interrupt; others
7453        are only lusered on GC entry.)
7454
74552006-04-17 16:33  gb
7456
7457        * lisp-kernel/x86-exceptions.h: X86 prototype for pc_luser_xp moved
7458        here.  (No deep reason not to share the new x86 signature on all
7459        architectures.)
7460
74612006-04-17 16:32  gb
7462
7463        * lisp-kernel/ppc-exceptions.h: PPC prototype for pc_luser_xp moved
7464        here.  (No deep reason not to share the new x86 signature on all
7465        architectures.)
7466
74672006-04-17 16:31  gb
7468
7469        * lisp-kernel/lisp-exceptions.h: prototype for pc_luser_xp is
7470        platform-dependent.
7471
74722006-04-17 06:49  gb
7473
7474        * level-1/l1-readloop.lisp: In the closure created in QUIT, only do
7475        CCL::DBG if (a) we're on X86 and (b) the inner closure is bad
7476        already.
7477
74782006-04-17 06:17  gb
7479
7480        * lisp-kernel/lisptypes.h: Don't know if there's such a thing as
7481        truly portable type name.
7482
74832006-04-17 06:16  gb
7484
7485        * lisp-kernel/: errors.s, lisp.s, m4macros.m4, x86-constants.s,
7486        x86-constants64.h, x86-constants64.s, x86-exceptions.c,
7487        x86-exceptions.h, x86-gc.c, x86-macros.s, x86-spentry64.s,
7488        x86-spjump64.s, x86-uuo.s: Well, // style comments seem to only
7489        work if they're at the start of a line in Linux GAS.  Try /* */
7490        comments, but limit them to a single line.  (May ultimately be
7491        better to use m4 dnl - carefully - and avoid end-of-line comments.)
7492
74932006-04-17 05:28  gb
7494
7495        * lisp-kernel/: x86-macros.s, x86-spentry64.s, x86-spjump64.s,
7496        x86-subprims64.s, x86-uuo.s: // comments.
7497
74982006-04-17 05:28  gb
7499
7500        * lisp-kernel/x86-gc.c: timeradd, timersub.  Other Solaris
7501        conditionalization.
7502
75032006-04-17 05:27  gb
7504
7505        * lisp-kernel/x86-exceptions.h: Solaris-related changes (xp
7506        accessors, etc.)
7507
75082006-04-17 05:26  gb
7509
7510        * lisp-kernel/x86-exceptions.c: Solaris-related changes (mostly in
7511        the sigstack trampoline stuff.)
7512
75132006-04-17 05:25  gb
7514
7515        * lisp-kernel/x86-constants64.h: // comments, Solaris-friendly
7516        integer types.
7517
75182006-04-17 05:24  gb
7519
7520        * lisp-kernel/: x86-asmutils64.s, x86-constants.s,
7521        x86-constants64.s: // comments.
7522
75232006-04-17 05:23  gb
7524
7525        * lisp-kernel/pmcl-kernel.c: Some Solaris conditionalization.
7526        Solaris mmap() is ... unusual.
7527
75282006-04-17 05:21  gb
7529
7530        * lisp-kernel/m4macros.m4: Use C++-style single-line comments,
7531        since Solaris version of GAS doen't handle multi-line comments (/*
7532        ... */).  It -seems- that other assemblers do handle them
7533        correctly; we'll see.
7534       
7535        Some Solaris conditionalization (ELFstabs, etc.)
7536
75372006-04-17 05:20  gb
7538
7539        * lisp-kernel/lisptypes.h: Conditionalize for Solaris (type names).
7540         We'll see what this breaks.
7541
75422006-04-17 05:19  gb
7543
7544        * lisp-kernel/lisp.h: PLATFORM_OS is PLATFORM_OS_SOLARIS when
7545        SOLARIS is defined.
7546
75472006-04-17 05:18  gb
7548
7549        * lisp-kernel/lisp-debug.c: Solaris conditionalization; print
7550        registers in predictable order.
7551
75522006-04-17 05:17  gb
7553
7554        * lisp-kernel/: errors.s, imports.s, lisp.s: Use C++-style
7555        single-line comments, since Solaris version of GAS doen't handle
7556        multi-line comments (/* ... */).  It -seems- that other assemblers
7557        do handle them correctly; we'll see.
7558
75592006-04-17 05:15  gb
7560
7561        * lisp-kernel/area.h: IMAGE_BASE_ADDRESS for SolarisX64.  Wrong.
7562
75632006-04-17 05:15  gb
7564
7565        * lisp-kernel/Threads.h: Conditionalize for Solaris.
7566       
7567        TODO: drop Jaguar support, use POSIX (vice Mach) semaphores on all
7568        platforms ?
7569
75702006-04-17 05:01  gb
7571
7572        * lisp-kernel/solarisx64/Makefile: new file
7573
75742006-04-17 04:56  gb
7575
7576        * lisp-kernel/linuxx8664/Makefile: Make it a little easier to
7577        change the name/usage of the linker script.
7578       
7579        Stop using the linker script (since spjump is the only thing in the
7580        kernel that has to be at a fixed address and we can copy it there.)
7581       
7582        Don't disable the EGC.
7583
75842006-04-17 04:54  gb
7585
7586        * lisp-kernel/x86-spjump64.s: Define spjump_start as the origin of
7587        the spjump table, exported for C (so that spjump can be mapped into
7588        low memory.)
7589
75902006-04-17 04:54  gb
7591
7592        * lisp-kernel/x86-spentry64.s: Use reserved_frame_marker.
7593       
7594        If the tlb's too small when trying to bind a special, push the
7595        binding index of the symbol we're binding (for the benefit of the
7596        handler.)
7597
75982006-04-17 04:52  gb
7599
7600        * lisp-kernel/x86-gc.c: Check for cases where a function has more
7601        code words than it has elements (can't happen, unless the
7602        function's code-words word is garbage, which seems to happen when
7603        closures get consed up in non-zeroed memory.)
7604       
7605        Make sure that we mark and forward Itemp2 (= %rcx = %temp2 =
7606        %nargs.q), which sometimes contains something tagged and
7607        non-immediate.
7608
76092006-04-17 04:48  gb
7610
7611        * lisp-kernel/x86-exceptions.c: new_heap_segment() (slowly) checks
7612        to ensure that everythings's zeroed.
7613       
7614        x8664 implementation of extend_tcr_tlb().
7615       
7616        on a gc trap, use tcr->save_allocptr (not the random value in %rbx)
7617        in call to update_bytes_allocated().
7618       
7619        normalize_tcr() - alway set tcr->save_allocptr/tcr->save_allocbase
7620        to VOID_ALLOCPTR (I -think- that this explains the crash-on-quit
7621        bug, and possibly some other instabiliy.)
7622       
7623        handle_exception: keep trying to guess how to distinguish memory
7624        faults from other sources of SIGSEGV.
7625       
7626        On debug traps, advance the PC past the UUO before entering the
7627        debugger.
7628       
7629        Handle XUUO_TLB_TOO_SMALL.
7630
76312006-04-17 04:42  gb
7632
7633        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
7634        reserved_frame_marker.
7635
76362006-04-17 04:42  gb
7637
7638        * lisp-kernel/thread_manager.c: Remove implementation of
7639        extend_tcr_tlb().
7640
76412006-04-17 04:41  gb
7642
7643        * lisp-kernel/ppc-exceptions.h: Prototype for PPC version of
7644        extend_tcr_tlb().
7645
76462006-04-17 04:41  gb
7647
7648        * lisp-kernel/ppc-exceptions.c: PPC version of extend_tcr_tlb().
7649
76502006-04-17 04:40  gb
7651
7652        * lisp-kernel/pmcl-kernel.c: Remap the spjump table on x8664, so
7653        that we don't need to use a linker script.
7654
76552006-04-17 04:40  gb
7656
7657        * lisp-kernel/Threads.h: extend-tcr-tlb: signature defined by
7658        target xxx-exceptions.h now.
7659
76602006-04-17 04:39  gb
7661
7662        * lib/misc.lisp: Some comment formatting/editing.
7663
76642006-04-17 04:38  gb
7665
7666        * level-1/version.lisp: Bump.
7667
76682006-04-17 04:38  gb
7669
7670        * level-1/l1-readloop.lisp: Some debugging code in the code which
7671        creates the final closure.  It seems that when it's bad, it's bad
7672        on creation (here.)
7673
76742006-04-17 04:37  gb
7675
7676        * level-1/l1-processes.lisp: Some debugging code in
7677        PROCESS-EXIT-APPLICATION, to try to catch whatever's causing the
7678        final closure to be trashed.
7679       
7680        I don't think that other threads were getting their allocptr's
7681        nullified correctly by the GC/normalize_tcr(); with the current
7682        debugging code in place, it seems like the closure is consed on top
7683        of something other than free, thread-private heap memory (when it's
7684        bad, it fails the first check here.  I'm not sure that the latest
7685        round of GC/normalize-tcr() changes have fixed the problem, but I
7686        haven't seen it in a while now, either.)
7687
76882006-04-17 04:32  gb
7689
7690        * level-0/X86/x86-def.lisp: %FUNCTION-CODE-BYTE (for partial
7691        disassembly, etc.).
7692
76932006-04-17 04:31  gb
7694
7695        * compiler/X86/X8664/x8664-vinsns.lisp: Use RESERVED-FRAME-MARKER
7696        in RESERVE-OUTGOING-FRAME; don't use ENSURE-RESERVED-FRAME at all
7697        (anymore.)
7698       
7699        Subprims are down in low memory again; make INIT-CLOSURE skip
7700        setting the high byte of .SPcall-closure's address if it's zero.
7701
77022006-04-17 04:28  gb
7703
7704        * compiler/X86/X8664/x8664-arch.lisp: Define RESERVED-FRAME-MARKER,
7705        which may help backtrace.
7706
77072006-04-17 04:26  gb
7708
7709        * lib/: backtrace.lisp, ppc-backtrace.lisp: Split up RAW-FRAME-REF
7710        (interface/implementation.)
7711
77122006-04-15 09:20  gb
7713
7714        * level-1/x86-callback-support.lisp: Ensure that callback
7715        trampolines are allocated in executable memory.
7716
77172006-04-15 09:12  gb
7718
7719        * lib/dumplisp.lisp: Refresh external entry points before reviving
7720        callbacks.  Reset callback storage before reviving callbacks.
7721
77222006-04-15 09:10  gb
7723
7724        * level-1/x86-error-signal.lisp: Don't prefix the unknown trap
7725        error message with a %.  (Where did that come from ?)
7726
77272006-04-15 09:08  gb
7728
7729        * level-1/ppc-callback-support.lisp: Don't (knock wood) need to do
7730        anything in RESET-CALLBACK-STORAGE for PPC, since malloc()ed memory
7731        is executable.
7732
77332006-04-14 09:02  gb
7734
7735        * lib/time.lisp: Jeez.  Save buffer, why dontcha.
7736
77372006-04-14 08:21  gb
7738
7739        * lib/time.lisp: ENCODE-UNIVERSAL-TIME: treat year 0-99 as
7740        shorthand for the nearest matching year.
7741
77422006-04-14 08:20  gb
7743
7744        * lib/format.lisp: FORMAT-PRINT-NUMBER was printing commas even
7745        when : was missing.
7746
77472006-04-13 23:09  gb
7748
7749        * lib/ppc-backtrace.lisp: Eschew missing parens.
7750
77512006-04-13 23:08  gb
7752
7753        * lib/describe.lisp: Change NTH-VALUE-IN-FRAME call.
7754
77552006-04-13 23:08  gb
7756
7757        * lib/backtrace.lisp: DBG-FORM checks the second return value from
7758        ARGLIST-FROM-MAP.
7759
77602006-04-13 23:02  gb
7761
7762        * lib/arglist.lisp: Don't pass a "conser" function around (the idea
7763        is leftover from 68K MCL).  ARGLIST-FROM-MAP tries to be consistent
7764        about returning a second value; returns values NIL, T for functions
7765        that take no args and don't have a symbol map.
7766
77672006-04-13 22:53  gb
7768
7769        * level-1/l1-lisp-threads.lisp: Try to make args to
7770        NTH-VALUE-IN-FRAME et al a little saner.
7771
77722006-04-13 22:37  gb
7773
7774        * lib/numbers.lisp: Conditionalize on word size, not PPC processor
7775        type.
7776
77772006-04-13 22:36  gb
7778
7779        * level-1/version.lisp: Bump.
7780
77812006-04-13 22:35  gb
7782
7783        * level-1/l1-aprims.lisp: Remove the DBG trap from #'APPLY.  Still
7784        trying to find the cause of the crash-on-quit bug.
7785
77862006-04-13 07:30  gb
7787
7788        * lib/ppc-backtrace.lisp: Migrate some stuff here.
7789
77902006-04-13 07:29  gb
7791
7792        * level-1/l1-lisp-threads.lisp, lib/backtrace.lisp: Migrate some
7793        stuff to target-backtrace.
7794
77952006-04-13 06:45  gb
7796
7797        * lisp-kernel/x86-gc.c: mark_root: need to handle TRAs earlier.
7798
77992006-04-13 06:44  gb
7800
7801        * lisp-kernel/pmcl-kernel.c: Set GC debug bits manually here on
7802        x8664.
7803
78042006-04-13 06:44  gb
7805
7806        * level-1/x86-error-signal.lisp: XP-ARGUMENT-LIST: only the low 13
7807        bytes of %nargs_q contain arg count.
7808
78092006-04-13 06:43  gb
7810
7811        * level-1/l1-error-system.lisp: No EVAL-PROGRAM-ERROR. Please.
7812
78132006-04-13 06:43  gb
7814
7815        * level-1/l1-aprims.lisp: Trying to find what's (sometimes)
7816        trashing a closure during QUIT; embed a #+x86-target breakpoint in
7817        APPLY.
7818
78192006-04-13 06:42  gb
7820
7821        * level-0/X86/x86-numbers.lisp: Bad typo in %FIXNUM-GCD.
7822
78232006-04-13 06:41  gb
7824
7825        * compiler/X86/x862.lisp: Lap expression changes; recycle constant
7826        operands.
7827
78282006-04-13 06:41  gb
7829
7830        * compiler/X86/x86-lap.lisp: Freelist a lot of things; use
7831        "vector-lists" instead of adjustable arrays, simplify handling of
7832        constant expressions.  Still conses hysterically; need to find out
7833        where and tone it down a bit, if possible.
7834
78352006-04-13 06:39  gb
7836
7837        * compiler/X86/x86-disassemble.lisp: Maybe no lap immediate
7838        operands; maybe no lap constant-expressions.
7839
78402006-04-13 06:39  gb
7841
7842        * compiler/X86/x86-asm.lisp: Don't need
7843        *lap-constant-0-expression*.
7844
78452006-04-13 00:46  gb
7846
7847        * lisp-kernel/linuxx8664/Makefile: Kernel depends on Makefile,
7848        linker script.
7849
78502006-04-13 00:45  gb
7851
7852        * lisp-kernel/linuxx8664/elf_x86_64.x: Use linker script from ld
7853        2.16.1 (Thanks to James Bielman).
7854
78552006-04-12 18:53  gb
7856
7857        * lisp-kernel/linuxx8664/elf_x86_64.x: Try to avoid use of
7858        PROVIDE_HIDDEN, since some versions of GNU ld don't like it.  (Most
7859        of this seems to have to do with C++ static constructors, which
7860        aren't really relevant here.)
7861
78622006-04-12 18:28  gb
7863
7864        * lisp-kernel/x86-spentry64.s: Use movd (not movq) when moving
7865        between %Rforeign_sp and GPRs.
7866
78672006-04-12 18:22  gb
7868
7869        * lisp-kernel/linuxx8664/Makefile: egc flag
7870
78712006-04-12 18:08  gb
7872
7873        * lisp-kernel/x86-gc.c: Add current/prev (temporarily) to help find
7874        where we're losing here.
7875
78762006-04-12 18:07  gb
7877
7878        * lisp-kernel/x86-exceptions.c: pc_luser_xp: notice if we're in the
7879        write barrier code, crap out if so.
7880
78812006-04-12 18:06  gb
7882
7883        * lisp-kernel/pmcl-kernel.c: Disable EGC if DISABLE_EGC is defined
7884        (presumably in a Makefile).
7885
78862006-04-12 14:50  gb
7887
7888        * level-1/version.lisp: Bump.
7889
78902006-04-12 14:46  gb
7891
7892        * lib/: compile-ccl.lisp, ppc-backtrace.lisp, systems.lisp,
7893        x86-backtrace.lisp: new target backtrace stuff.
7894
78952006-04-12 14:45  gb
7896
7897        * lib/backtrace.lisp: Start splitting things up, ideally into a
7898        mostly abstract API and gory platform- dependent implementation
7899        details.
7900
79012006-04-11 21:40  gb
7902
7903        * lisp-kernel/pmcl-kernel.c: Only way to stress-test EGC is to turn
7904        the damned thing on.  (A little painful with integrity checking
7905        enabled, as it still is by default.)
7906       
7907        TODO:
7908       
7909        - sleep (me) - non-recursive (link-inverting) marker - pc-lusering
7910        (pc_luser_xp()) - backtrace - ANSI CL tests - purify - 2d-aref - FP
7911        exception handling - check UUO usage in kernel, disassembler,
7912        exception handlers - stack overflow recovery
7913
79142006-04-11 21:24  gb
7915
7916        * lisp-kernel/x86-gc.c: Skip over function code in
7917        check_refmap_consistency.
7918
79192006-04-11 21:23  gb
7920
7921        * lisp-kernel/x86-spentry64.s: Write barrier memoization sets bits
7922        backwards.
7923
79242006-04-11 19:11  gb
7925
7926        * compiler/X86/x862.lisp: Change LABELS for new closure format.
7927
79282006-04-11 19:11  gb
7929
7930        * lisp-kernel/x86-spentry64.s: 3 words of code + inner function in
7931        a closure, no lfname slot in closure.
7932
79332006-04-11 16:29  gb
7934
7935        * lisp-kernel/linuxx8664/.gdbinit: ada  prints active dynamic (GC)
7936        area.
7937
79382006-04-11 16:29  gb
7939
7940        * lisp-kernel/x86-subprims64.s: Maintain the MXCSR on transitions
7941        between lisp/foreign code.
7942
79432006-04-11 16:29  gb
7944
7945        * lisp-kernel/x86-spentry64.s: Add write barrier stuff (may have
7946        bit-order problems.)
7947       
7948        Maintain the MXCSR on transitions between lisp/foreign code.
7949
79502006-04-11 16:28  gb
7951
7952        * lisp-kernel/x86-macros.s: Access globals in expressions.
7953
79542006-04-11 16:27  gb
7955
7956        * lisp-kernel/x86-gc.c: Start to implement EGC for X8664; this'll
7957        need some bootstrapping stuff (function boundary markers) for a few
7958        reasons, as will DWS marker.
7959
79602006-04-11 16:27  gb
7961
7962        * lisp-kernel/x86-exceptions.c: If we get an FP exception, report
7963        the siginfo error code.
7964
79652006-04-11 16:26  gb
7966
7967        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Define MXCSR
7968        fields in tcr.
7969
79702006-04-11 16:25  gb
7971
7972        * lisp-kernel/x86-constants.h: Define MXCSR bits.
7973
79742006-04-11 16:25  gb
7975
7976        * lisp-kernel/thread_manager.c: Setup the MXCSR somewhat sanely
7977        when starting a lisp thread.  (It'll be saner when FP exceptions
7978        are handled.)
7979
79802006-04-11 16:24  gb
7981
7982        * level-1/x86-error-signal.lisp: Recognize what complaints about
7983        non-uvectors are trying to tell us.
7984
79852006-04-11 16:23  gb
7986
7987        * level-1/l1-io.lisp: PRINT-OBJECT method for TRAs, symbol/function
7988        vectors.
7989
79902006-04-11 16:23  gb
7991
7992        * level-1/l1-clos-boot.lisp: Spell TAGGED-RETURN-ADDRESS with more
7993        Ses.  Define classes for function/symbol vectors.
7994
79952006-04-11 16:22  gb
7996
7997        * level-0/X86/x86-def.lisp: %RETURN-ADDRESS-OFFSET.
7998
79992006-04-11 16:21  gb
8000
8001        * compiler/X86/X8664/x8664-vinsns.lisp: Closure initialization
8002        needs to add a function boundary marker (but we can stop padding
8003        each closure with a null function name slot.)
8004
80052006-04-11 16:20  gb
8006
8007        * compiler/X86/X8664/x8664-arch.lisp: Define
8008        FUNCTION-BOUNDARY-MARKER, which should never exist in the wild.
8009
80102006-04-11 16:19  gb
8011
8012        * compiler/X86/x862.lisp: Emit a function boundary marker between
8013        code and constants. (For GC reasons.) Change closure initialization
8014        to account for it.
8015
80162006-04-11 16:18  gb
8017
8018        * compiler/X86/x86-lap.lisp: Emit a function boundary marker
8019        between code and constants. (For GC reasons.)
8020
80212006-04-11 16:17  gb
8022
8023        * compiler/X86/x86-disassemble.lisp: Require more stuff.
8024
80252006-04-11 16:17  gb
8026
8027        * compiler/nxenv.lisp: Require X8664ENV on X8664.
8028       
8029        See if we can get by without 68K condition code ...
8030
80312006-04-11 06:53  gb
8032
8033        * lisp-kernel/x86-exceptions.c: We'll need to handle FP exceptions
8034        soon.
8035
80362006-04-11 06:53  gb
8037
8038        * lib/numbers.lisp: Infinity constants conditionalized on/off
8039        during MXCSR adventures.  On now.
8040
80412006-04-11 06:52  gb
8042
8043        * lib/describe.lisp: Comment indentation.
8044       
8045        No such thing as an interpreted function; hasn't been for years.
8046
80472006-04-11 06:51  gb
8048
8049        * level-1/x86-threads-utils.lisp: Fixup lfun bits of %FIXNUM-SET et
8050        al.
8051
80522006-04-11 06:51  gb
8053
8054        * level-1/version.lisp: Bumped yesterday.
8055
80562006-04-11 06:50  gb
8057
8058        * level-1/l1-error-signal.lisp: Comments.
8059
80602006-04-11 06:50  gb
8061
8062        * level-1/l1-clos-boot.lisp: CLASS-OF handles non-simple vectors,
8063        at least.
8064
80652006-04-11 06:50  gb
8066
8067        * level-0/X86/x86-float.lisp: MXCSR stuff.  Better, mostly because
8068        a fixnum constant is boxed in %SET-MXCSR.
8069
80702006-04-11 06:49  gb
8071
8072        * level-0/X86/x86-def.lisp: Get info about register usage.
8073
80742006-04-11 06:49  gb
8075
8076        * compiler/X86/X8664/x8664-vinsns.lisp: Natural arithmetic; start
8077        work on 2d aref.  Fix MISC-SET-U64 (or some flavor thereof), which
8078        though that it was dealing with a scaled index.
8079
80802006-04-11 06:48  gb
8081
8082        * compiler/X86/x862.lisp: Natural arithmetic; start work on 2d
8083        aref.
8084
80852006-04-11 06:48  gb
8086
8087        * compiler/X86/x86-lap.lisp: FRAGs are freelisted.  Really need to
8088        do something about FRAG-CODE-BUFFERs, and need to tone down
8089        expression overkill.
8090
80912006-04-11 06:46  gb
8092
8093        * compiler/X86/x86-backend.lisp: Vinsn template fixup mechanism,
8094        for when opcode ordinals change.
8095
80962006-04-11 06:46  gb
8097
8098        * compiler/X86/x86-asm.lisp: UUO-ERROR-STACK-OVERFLOW ->
8099        UUO-ERROR-ARRAY-RANK.
8100       
8101        Vinsn template fixup mechanism, for when opcode ordinals change.
8102
81032006-04-11 06:45  gb
8104
8105        * compiler/X86/x86-arch.lisp: Try to unscramble MXCSR bits/masks.
8106
81072006-04-11 06:45  gb
8108
8109        * compiler/nx0.lisp: NX-U31-CONSTANT-P.
8110
81112006-04-11 06:44  gb
8112
8113        * compiler/dll-node.lisp: WITH-DLL-NODE-FREELIST: syntax to allow
8114        specialized list header initialization.
8115
81162006-04-11 06:43  gb
8117
8118        * level-1/l1-error-system.lisp, compiler/arch.lisp: Type errors for
8119        2d float arrays.
8120
81212006-04-10 10:19  gb
8122
8123        * lisp-kernel/x86-spentry64.s: _SPcallback is now called with the
8124        foreign SP properly obeying C alignment conventions.  In order to
8125        get it aligned for lisp usage during the callback, an extra word
8126        needs to be pushed before the backpointer to the old foreign RSP.
8127
81282006-04-10 10:18  gb
8129
8130        * lisp-kernel/x86-exceptions.c: Ensure that the copied sigcontext
8131        is 16-byte aligned, so that the foreign stack pointer is aligned
8132        according to C conventions when we enter the signal handler on that
8133        stack.
8134
81352006-04-10 10:13  gb
8136
8137        * lib/numbers.lisp: Define FP infinities, since we're running with
8138        FP exceptions masked. (We don't handle FP exceptions on X8664 yet,
8139        but this was crashing due to ldmxcsr/stmxcsr confusion, not because
8140        an unmasked FP exception was raised and unhandled.)
8141
81422006-04-10 10:10  gb
8143
8144        * lib/level-2.lisp: Remove the WARN and the conditionalization
8145        around bit/bitfield accessors on X8664.
8146
81472006-04-10 10:09  gb
8148
8149        * level-0/X86/x86-float.lisp: Repeat after me: to load the mxcsr
8150        from memory, we say "ldmxcsr".  We want to do such a load in order
8151        to write new values into the mxcsr.  To store it in memory, we say
8152        "stmxcsr".  We want to do such a store (and a subsequent load from
8153        memory) in order to access the value of the mxcsr.  Simple, no ?
8154
81552006-04-10 10:07  gb
8156
8157        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp:
8158        %GET-BIT/%SET-BIT.
8159
81602006-04-10 08:29  gb
8161
8162        * compiler/X86/X8664/x8664-vinsns.lisp: Float
8163        addition/multiplication: either arg can overlap result (and often
8164        will).  Float subtraction/division: caller should ensure that
8165        result and second arg are disjoint.
8166
81672006-04-10 08:27  gb
8168
8169        * compiler/X86/x862.lisp: Float arithmetic is two-address; ensure
8170        that result doesn't overlap second argument for non-commutative
8171        operations.
8172
81732006-04-10 08:26  gb
8174
8175        * lisp-kernel/lisp-debug.c: Show FPRs on LinuxX8664.
8176
81772006-04-10 05:12  gb
8178
8179        * lisp-kernel/thread_manager.c: Don't free dead TCRs if we didn't
8180        malloc them.
8181
81822006-04-10 05:12  gb
8183
8184        * lib/compile-ccl.lisp: REBUILD-CCL paramaters for :LINUXX8664.
8185
81862006-04-10 05:11  gb
8187
8188        * level-1/l1-pathnames.lisp: No need to reference PPC package, and
8189        good reason not to.
8190
81912006-04-10 04:39  gb
8192
8193        * xdump/xfasload.lisp: signed 32-bit, 64-bit integers in fasl files
8194        are always big-endian.
8195
81962006-04-10 04:38  gb
8197
8198        * lisp-kernel/x86-gc.c: mark_root(): if we're marking a function
8199        reachable via a TRA, update the variable "dnode" so that the
8200        correct bits get set.
8201
82022006-04-10 04:37  gb
8203
8204        * level-0/X86/X8664/x8664-bignum.lisp: Remove some breakpoints.
8205
82062006-04-10 04:37  gb
8207
8208        * level-0/X86/x86-array.lisp: %SIMPLE-BIT-BOOLE.  Could stand to be
8209        a bit simpler.
8210
82112006-04-10 04:36  gb
8212
8213        * level-0/l0-hash.lisp: Whoops: %SET-NEEDS-REHASHING is called from
8214        the MAKE-LOAD-FORM method for hashtables.
8215
82162006-04-09 09:17  gb
8217
8218        * lisp-kernel/thread_manager.c: Inflate control stack size on
8219        x8664, until DWS marker works (and do so correctly this time).
8220
82212006-04-09 09:12  gb
8222
8223        * lisp-kernel/thread_manager.c: Inflate control stack size on
8224        x8664, until DWS marker works.
8225
82262006-04-09 09:09  gb
8227
8228        * level-0/l0-hash.lisp: Now that bitvectors work, remove
8229        #+x86-target DBG trap.
8230
82312006-04-09 08:57  gb
8232
8233        * level-0/l0-hash.lisp: Set/clear rehash bits via SBIT, not AREF.
8234        (Should be exactly the same code, but may not have been 15 years
8235        ago or whenever this was written.)
8236
82372006-04-09 08:56  gb
8238
8239        * lisp-kernel/x86-spentry64.s,
8240        compiler/X86/X8664/x8664-vinsns.lisp: Clear bits in a bit vector
8241        via btrX (Bit Test and Reset), not btcX (Bit Test and Complement.)
8242
82432006-04-09 03:52  gb
8244
8245        * lisp-kernel/x86-macros.s: Parens around negative displacement in
8246        condition_to_boolean.  Not clear why this is necessary, but it
8247        seems to be.
8248
82492006-04-09 03:24  gb
8250
8251        * lisp-kernel/x86-macros.s: Use shorter sequence in
8252        condition_to_boolean.
8253
82542006-04-09 02:32  gb
8255
8256        * compiler/X86/X8664/x8664-vinsns.lisp: Using cmovCC intstead of
8257        setCC for cr-bit->boolean is 1 instruction and 2 bytes shorter, all
8258        other things being equal.
8259
82602006-04-09 01:37  gb
8261
8262        * compiler/X86/x86-asm.lisp: reg/reg variants of bsfX, bsrX had
8263        operands backwards.
8264
82652006-04-09 01:37  gb
8266
8267        * compiler/optimizers.lisp: Comment formatting.
8268
82692006-04-09 01:29  gb
8270
8271        * level-0/X86/X8664/x8664-bignum.lisp: %BIGNUM-SIGN-DIGITS:
8272        bsr/xorl != clz when (zerop n).
8273
82742006-04-08 21:25  gb
8275
8276        * lisp-kernel/x86-exceptions.c: Forget about blocking SIGINT in
8277        current thread before entering kernel debugger.
8278
82792006-04-08 21:21  gb
8280
8281        * lib/compile-ccl.lisp: early def of XLOAD-LEVEL-0: require
8282        (TARGET-XLOAD-MODULES).
8283
82842006-04-08 21:21  gb
8285
8286        * lisp-kernel/x86-spentry64.s: misc_set_s16: forgot a lognot.
8287
82882006-04-08 21:20  gb
8289
8290        * level-0/nfasload.lisp: 64-bit vectors: target::, not ppc64::.
8291
82922006-04-08 20:46  gb
8293
8294        * lib/foreign-types.lisp: Add missing paren ...
8295
82962006-04-08 20:45  gb
8297
8298        * lib/foreign-types.lisp: Recognize a :struct-by-value case.
8299
83002006-04-08 20:44  gb
8301
8302        * compiler/X86/X8664/x8664-backend.lisp: X8664 ABI seems to pass
8303        structs by value, sort of.
8304
83052006-04-08 20:43  gb
8306
8307        * x86-headers64/libc/C/populate.sh: Add -D_GNU_SOURCE to CFLAGS.
8308
83092006-04-08 20:42  gb
8310
8311        * library/hash-cons.lisp: Port some of this to x8664; need to add
8312        code to maintain "used" bitmap.
8313
83142006-04-08 20:42  gb
8315
8316        * lib/numbers.lisp: Conditionalize out the FP infinity stuff in the
8317        short term.
8318
83192006-04-08 20:41  gb
8320
8321        * lib/edit-callers.lisp: %MAP-LFIMMS: lfun-vector changes.  Should
8322        someday fix this crap.
8323
83242006-04-08 20:40  gb
8325
8326        * lib/describe.lisp: Conditionalize, a little.
8327
83282006-04-08 20:40  gb
8329
8330        * lib/db-io.lisp: SAVE-DB-FUNCTION appears to be unused.
8331
83322006-04-08 20:39  gb
8333
8334        * level-1/l1-io.lisp: PRINT-A-NAN not #+ppc-target.
8335
83362006-04-08 20:39  gb
8337
8338        * level-1/l1-readloop-lds.lisp: Error reentry stuff here.
8339
83402006-04-08 20:39  gb
8341
8342        * level-1/l1-sockets.lisp: Workaround ffi translator lossage in
8343        _inet_ntoa (just as Darwin has for years; why not fix this ?)
8344
83452006-04-08 20:38  gb
8346
8347        * level-1/ppc-trap-support.lisp: Error-reentry stuff to
8348        l1-readloop-lds (nothing to do with PPC or traps ...)
8349
83502006-04-08 20:37  gb
8351
8352        * .cvsignore: Ignore *CL*/*cl*, not necessarily *CCL*/*ccl*.
8353
83542006-04-08 04:46  gb
8355
8356        * compiler/X86/x862.lisp: X862-MVCALL needs to always save and
8357        restore, even if there's only one values-producing form (that form
8358        might produce more values than will fit in argument registers, and
8359        we therefore have to reserve space for a stack frame.)
8360
83612006-04-08 04:45  gb
8362
8363        * compiler/X86/x86-asm.lisp: Need to actually define INSERT-IMM64.
8364
83652006-04-08 04:43  gb
8366
8367        * lib/macros.lisp: Scanning backwards for instructions depends on a
8368        reasonable architecture.
8369
83702006-04-08 04:43  gb
8371
8372        * lib/compile-ccl.lisp: TARGET-XLOAD-MODULES for x8664.
8373
83742006-04-08 04:42  gb
8375
8376        * xdump/xfasload.lisp: Hide ppc32 double-float-vector stuff in
8377        target arch.
8378
83792006-04-08 04:41  gb
8380
8381        * xdump/.cvsignore: ignore *.*fsl
8382
83832006-04-07 22:46  gb
8384
8385        * compiler/nx.lisp: XCOMPILE-LAMBDA is #+ppc-target for now.
8386
83872006-04-07 22:45  gb
8388
8389        * compiler/nx1.lisp: Provide an FTYPE declaration for
8390        %DEFINE-PPC-LAP-FUNCTION.
8391
83922006-04-07 22:25  gb
8393
8394        * level-1/version.lisp: Bump.
8395
83962006-04-07 22:19  gb
8397
8398        * compiler/PPC/ppc-asm.lisp, compiler/PPC/ppc-backend.lisp,
8399        compiler/PPC/ppc-disassemble.lisp, compiler/PPC/ppc-lap.lisp,
8400        lib/backtrace-lds.lisp: ARCH::OPCODE, ARCH::OPERAND moved to CCL
8401        package.
8402
84032006-04-07 22:18  gb
8404
8405        * compiler/risc-lap.lisp: OPCODE, OPERAND moved here and from
8406        arch:: to ccl::.
8407
84082006-04-07 22:17  gb
8409
8410        * compiler/arch.lisp: OPERAND, OPCODE belong elsewhere (in
8411        RISC-LAP, for instance).  That's a different package, too.
8412
84132006-04-07 20:46  gb
8414
8415        * library/lispequ.lisp: %CONS-FAKE-STACK-FRAME here.  Really.
8416
84172006-04-07 20:45  gb
8418
8419        * level-0/l0-pred.lisp: *IMMHEADER-1-TYPES* was wrong, too.  Should
8420        I maybe look at the others, or just fix them as I stumble on them ?
8421
84222006-04-07 20:44  gb
8423
8424        * compiler/X86/X8664/x8664-vinsns.lisp: jns->jne when checking for
8425        a DOUBLE-FLOAT.
8426
84272006-04-07 20:41  gb
8428
8429        * level-0/nfasload.lisp: Print file pos in FASL-DISPATCH debug
8430        message.
8431
84322006-04-07 20:40  gb
8433
8434        * lib/nfcomp.lisp: #+x8664: Check for fulltag-immheader-1, not
8435        fulltag-immheader-0 twice in fasl-scan-dispatch
8436       
8437        FASL-DUMP-SYMBOL needs a SYMPTR->SYMVECTOR.  (Note that FASLOAD has
8438        never handled uninterned symbols that need a binding index.)
8439
84402006-04-07 07:55  gb
8441
8442        * lib/describe.lisp: Formatting changes, mostly.
8443
84442006-04-07 07:54  gb
8445
8446        * compiler/X86/x862.lisp: multiple-value-calls need to reserve an
8447        outgoing stack frame when more than 3 args/ values are involved.
8448
84492006-04-07 07:53  gb
8450
8451        * lisp-kernel/x86-spentry64.s, lisp-kernel/x86-spjump64.s,
8452        compiler/X86/X8664/x8664-arch.lisp,
8453        compiler/X86/X8664/x8664-vinsns.lisp: _SPrecover-values-for-mvcall
8454        (reserves outgoing frame if necessary.)
8455
84562006-04-07 07:52  gb
8457
8458        * level-1/ppc-trap-support.lisp: %CONS-FAKE-STACK-FRAME moved to
8459        lispequ.
8460
84612006-04-07 06:28  gb
8462
8463        * compiler/X86/X8664/x8664-vinsns.lisp: pop argument regs in the
8464        right order.
8465
84662006-04-07 06:27  gb
8467
8468        * level-0/X86/x86-misc.lisp: VALUES accounts for reserved frame.
8469
84702006-04-07 03:59  gb
8471
8472        * compiler/X86/x862.lisp: Don't push the function on the "value"
8473        stack when doing a MULTIPLE-VALUE-CALL, since its presence there
8474        can interfere with multiple-value continuations.  (Can it be popped
8475        before recovering multiple values ?  I didn't think of that, but I
8476        suspect that that'd be simpler than what I did; check this.  Maybe
8477        there is -or once was- an issue with _SPrecovervalues bashing a
8478        register.)
8479       
8480        Pushing the function on the temp stack while collecting multiple
8481        values avoids the issue (but it may be far better to simply vpop it
8482        before the call to _SPrecovervalues.)
8483       
8484        Most of the issues related to X862-MVCALL calling itself
8485        recursively have to do with cleaning the function off of the stack
8486        in non tail-call cases.  Since the function's not there anymore,
8487        the rationale for splitting this into a base and recursive case
8488        isn't very strong.
8489       
8490        Changes in X862-MVCALL exposed bugs in X862-INVOKE-FN: we don't
8491        want to emit or otherwise reference the mvpass label if it's null.
8492
84932006-04-07 03:51  gb
8494
8495        * compiler/X86/X8664/x8664-vinsns.lisp: TEMP-PUSH-NODE,
8496        TEMP-POP-NODE.
8497
84982006-04-06 21:27  gb
8499
8500        * lib/db-io.lisp: CDB-HASH-MASK happens to be =
8501        PPC32::TARGET-MOST-POSITIVE-FIXNUM.
8502
85032006-04-06 21:26  gb
8504
8505        * level-1/x86-trap-support.lisp: Bugs, not worth describing in
8506        detail.
8507
85082006-04-06 21:25  gb
8509
8510        * level-1/x86-error-signal.lisp: Bugs, not worth describing in
8511        detail ...
8512
85132006-04-06 21:24  gb
8514
8515        * level-1/l1-lisp-threads.lisp: Simplify CFP-LFUN.
8516
85172006-04-06 21:23  gb
8518
8519        * compiler/X86/X8664/x8664-backend.lisp: Fenceposts with the last
8520        gpr/fpr args.
8521
85222006-04-06 21:22  gb
8523
8524        * compiler/X86/X8664/x8664-arch.lisp: tcr->linear_end ->
8525        tcr->save_rbp.
8526
85272006-04-06 21:21  gb
8528
8529        * lisp-kernel/x86-spentry64.s: Maintain tcr->save_rbp on
8530        ffcall/callback.
8531
85322006-04-06 21:20  gb
8533
8534        * lisp-kernel/x86-exceptions.c: Setup tcr->save_rbp when doing a
8535        callback.
8536       
8537        Pass rpc to %ERR-DISP, as it expects.
8538
85392006-04-06 21:19  gb
8540
8541        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
8542        tcr->linear_end -> tcr->save_rbp.
8543
85442006-04-06 07:03  gb
8545
8546        * lisp-kernel/x86-exceptions.c: Call out to handle errors.
8547
85482006-04-06 07:03  gb
8549
8550        * lisp-kernel/linuxx8664/.gdbinit: Ignore more signals.
8551
85522006-04-06 06:44  gb
8553
8554        * compiler/X86/X8664/x8664-vinsns.lisp: Use new UUOs for
8555        slot-boundp checks, eep.address.
8556
85572006-04-06 06:43  gb
8558
8559        * compiler/X86/x862.lisp: X862-FIXUP-FWD-REFS: don't assume that
8560        functions are uvectors or that their constants start at index 1.
8561       
8562        PROGV: don't keep interrupts off in the body.
8563
85642006-04-06 05:58  gb
8565
8566        * compiler/X86/x86-asm.lisp: RESOLVE-EEP uuo needs source and dest
8567        registers to be recoverable.
8568       
8569        Use (int ($ #x8x)) for SLOT-UNBOUND, since it needs slot-vector,
8570        index, and dest reg to be recoverable.
8571       
8572        Note that the use of this range of (int N) operands may lead to
8573        confusion on platforms that use int #x80 for syscalls.  That (a)
8574        doesn't apply to x8664, since SYSCALL is present and used on x8664
8575        and (b) would only be a problem if the dest reg was %rax, which it
8576        won't be.
8577
85782006-04-06 05:53  gb
8579
8580        * lib/macros.lisp: DEFSETF for INTERRUPT-LEVEL here.
8581
85822006-04-06 05:53  gb
8583
8584        * level-0/l0-init.lisp: Better (useful) X8664 *FEATURES*.
8585
85862006-04-06 05:52  gb
8587
8588        * level-0/l0-hash.lisp: Remove some #+x86-target DBG traps.   Add a
8589        few fixnum decls in and around DO-REHASH.
8590
85912006-04-06 05:51  gb
8592
8593        * level-0/X86/x86-def.lisp: %RETURN-ADDRESS-FUNCTION: if argument
8594        is a "real" tagged return address, return the associated function.
8595
85962006-04-06 05:50  gb
8597
8598        * level-1/: x86-error-signal.lisp, x86-trap-support.lisp: Flesh
8599        this out some.  The FAKE-STACK-FRAME stuff isn't quite the right
8600        idea on X8664; may need to revise it.
8601
86022006-04-06 05:49  gb
8603
8604        * level-1/ppc-trap-support.lisp: Remove HANDLE-GC-HOOKS.
8605
86062006-04-06 05:49  gb
8607
8608        * level-1/ppc-threads-utils.lisp: DEFSETF for INTERRUPT-LEVEL moved
8609        ... anywhere but a platform-specific file.
8610
86112006-04-06 05:48  gb
8612
8613        * level-1/l1-events.lisp: HANDLE-GC-HOOKS isn't really
8614        platform-specific, so move it here.
8615
86162006-04-06 05:47  gb
8617
8618        * level-1/: l1-clos-boot.lisp, l1-clos.lisp: Hashing code expects
8619        instance.hash to be a fixnum, so violating that expectation (as was
8620        done a few weeks ago for debugging) fouls things up royally.  This
8621        may have led to instability on PPC as well.
8622
86232006-04-06 05:44  gb
8624
8625        * lisp-kernel/x86-exceptions.c: Return false (for now) on unhandled
8626        UUO.  (Need to merge code from another machine, which will try to
8627        call out to lisp.)
8628
86292006-04-06 05:43  gb
8630
8631        * lisp-kernel/pmcl-kernel.c: register_sigint_handler on x8664.
8632
86332006-04-05 06:57  gb
8634
8635        * lisp-kernel/x86-spentry64.s: nthrow variants: set %Rforeign_sp,
8636        not tcr slot.
8637       
8638        _SPcallback aligns the foreign stack the way that lisp expects.
8639
86402006-04-05 06:56  gb
8641
8642        * lisp-kernel/x86-exceptions.c: Handle more stuff, including
8643        interrupt callbacks.
8644
86452006-04-05 06:55  gb
8646
8647        * library/x8664-linux-syscalls.lisp: GETUID was wrong.
8648
86492006-04-05 06:55  gb
8650
8651        * level-1/x86-trap-support.lisp: VERY early callback for interrupt
8652        handling.
8653
86542006-04-05 06:54  gb
8655
8656        * level-1/l1-callbacks.lisp: Comment format
8657
86582006-04-05 06:54  gb
8659
8660        * level-0/X86/x86-utils.lisp: Arg order in lap macros.
8661
86622006-04-05 06:54  gb
8663
8664        * level-0/l0-pred.lisp: Get *IMMHEADER-2-TYPES* (or whatever it's
8665        called) right.
8666
86672006-04-05 06:53  gb
8668
8669        * compiler/X86/X8664/x8664-backend.lisp: DEFCALLBACK guts for
8670        X8664.
8671
86722006-04-05 05:20  gb
8673
8674        * lisp-kernel/x86-exceptions.c: Do some callbacks.  Let's see if
8675        they work yet.
8676
86772006-04-05 05:19  gb
8678
8679        * lisp-kernel/x86-spentry64.s: Use interrupt-checking macros.  Fix
8680        callback typos.
8681
86822006-04-05 05:19  gb
8683
8684        * lisp-kernel/x86-macros.s: Check for interrupts, and do so when we
8685        know that they've just become enabled.
8686
86872006-04-05 05:17  gb
8688
8689        * lisp-kernel/x86-exceptions.c: Set high bit of tcr->interrupt
8690        pending when there's ... a pending interrupt.
8691
86922006-04-05 05:17  gb
8693
8694        * lisp-kernel/x86-exceptions.h: Define xuuo stuff.
8695
86962006-04-04 21:47  gb
8697
8698        * lisp-kernel/x86-spentry64.s: callback changes.
8699
87002006-04-04 21:47  gb
8701
8702        * lisp-kernel/lisp-debug.c: rip "=", not "-".
8703
87042006-04-04 21:46  gb
8705
8706        * lisp-kernel/linuxx8664/.gdbinit: Ignore SIGPWR, until we know
8707        better.
8708
87092006-04-04 18:51  gb
8710
8711        * lisp-kernel/pmcl-kernel.c: Wimp out, back to 128GB for
8712        LinuxPPC64.
8713
87142006-04-04 18:50  gb
8715
8716        * level-1/linux-files.lisp: Don't use %GET-NATURAL in Linux version
8717        of PIPE, since file descriptors are always C ints.
8718
87192006-04-04 18:03  gb
8720
8721        * compiler/PPC/PPC32/ppc32-backend.lisp,
8722        compiler/PPC/PPC64/ppc64-backend.lisp, lib/macros.lisp: callback
8723        implementation moved to the backend.
8724
87252006-04-04 18:02  gb
8726
8727        * lib/arglist.lisp: ARGLIST-FROM-MAP: get &rest name right when
8728        &key is also present.
8729
87302006-04-04 16:10  gb
8731
8732        * lisp-kernel/pmcl-kernel.c: linuxppc64 can't mmap 512GB; try
8733        256GB.
8734
87352006-04-04 15:52  gb
8736
8737        * level-1/version.lisp: Bump. New images soon.
8738
87392006-04-04 15:52  gb
8740
8741        * compiler/backend.lisp: Add slots for callback definition.
8742
87432006-04-04 15:52  gb
8744
8745        * compiler/nx0.lisp: Remove a #-bccl.
8746
87472006-04-04 15:26  gb
8748
8749        * lisp-kernel/x86_print.c: print_unsigned_hex: conditionalize on
8750        word size.
8751
87522006-04-04 15:26  gb
8753
8754        * lisp-kernel/x86-spentry64.s: First cut of _SPcallback.
8755
87562006-04-04 15:26  gb
8757
8758        * lisp-kernel/x86-macros.s: Catch frames save foreign sp from
8759        register, not from tcr slot.
8760
87612006-04-04 15:25  gb
8762
8763        * lisp-kernel/x86-exceptions.c: Uncomment the body of
8764        interrupt_handler.
8765
87662006-04-04 15:18  gb
8767
8768        * compiler/lambda-list.lisp: %LFUN-INFO & friends: do
8769        (FUNCTION-TO-FUNCTION-VECTOR).
8770
87712006-04-04 15:18  gb
8772
8773        * compiler/X86/x86-lapmacros.lisp: check-nargs: bad comparison on
8774        max when both min and max.
8775
87762006-04-04 15:18  gb
8777
8778        * lib/macros.lisp: spurious checkin; no real change
8779
87802006-04-03 23:01  gb
8781
8782        * lisp-kernel/x86-gc.c: Make purify() a nop, for now.
8783
87842006-04-03 22:43  gb
8785
8786        * scripts/openmcl64: Maybe (check for x8664 Linux is untested).
8787
87882006-04-03 22:42  gb
8789
8790        * lisp-kernel/bits.h: Constants are word-size (not CPU-variant)
8791        -specific.
8792
87932006-04-03 22:42  gb
8794
8795        * lisp-kernel/pmcl-kernel.c: 512GB MAXIMUM_MAPPABLE_MEMORY on
8796        x8664/Linux as well.
8797
87982006-04-03 22:41  gb
8799
8800        * lisp-kernel/ppc-gc.c: Remove X86 conditionalization.  Maybe merge
8801        x86-gc.c and ppc-gc.c back into a single file someday (or at least
8802        put truly shared code there),but for now this is simpler.
8803
88042006-04-03 22:38  gb
8805
8806        * lisp-kernel/x86-exceptions.c: A little more infrastructure, so
8807        that we can actually call the GC.
8808
88092006-04-03 22:37  gb
8810
8811        * lisp-kernel/x86-exceptions.h: Define UUO, trap opcodes.
8812
88132006-04-03 22:36  gb
8814
8815        * lisp-kernel/x86-gc.c: It's ... alive.
8816
88172006-04-03 22:36  gb
8818
8819        * lisp-kernel/x86-spentry64.s: Use new vector bounds traps. How
8820        about boundp checks ?
8821
88222006-04-03 22:35  gb
8823
8824        * lisp-kernel/x86-uuo.s: New uuo definitions.
8825
88262006-04-03 22:35  gb
8827
8828        * lib/macros.lisp: DO-GC-AREAS,which is one of those macro things,
8829        moved here. Uses archmacro AREA-SUCC (defined here) to avoid
8830        TARGET-ARCH-CASE lossage.
8831
88322006-04-03 22:34  gb
8833
8834        * level-1/l1-lisp-threads.lisp: DO-GC-AREAS,which is one of those
8835        macro things, moved to macros.lisp.
8836
88372006-04-03 22:33  gb
8838
8839        * level-0/X86/x86-misc.lisp: Zero out all of the write-lock's
8840        writer slot, not just the low half.
8841
88422006-04-03 22:32  gb
8843
8844        * level-0/PPC/ppc-utils.lisp: TRUE, FALSE : cmplr vs cmplri.
8845        Typical rookie PPC assembler mistake ...
8846
88472006-04-03 22:31  gb
8848
8849        * level-0/l0-misc.lisp: %FREEBYTES looked like a job for
8850        %GET-NATURAL.
8851
88522006-04-03 22:31  gb
8853
8854        * compiler/X86/X8664/x8664-vinsns.lisp: Use newfangled UUOs.
8855
88562006-04-03 22:30  gb
8857
8858        * compiler/X86/x86-asm.lisp: Add UUO-ERROR-UNBOUND,
8859        UUO-ERROR-SLOT-UNBOUND, UUO-ERROR-EEP-UNRESOLVED.
8860
88612006-04-03 22:29  gb
8862
8863        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
8864        X86/X8664/x8664-arch.lisp: AREA-SUCC archmacro.
8865
88662006-04-01 23:36  gb
8867
8868        * lisp-kernel/x86-exceptions.h: xpMMXreg, sigaltstack stuff.
8869
88702006-04-01 23:35  gb
8871
8872        * lisp-kernel/x86-exceptions.c: take signals on an alternate signal
8873        stack, run the handler on the foreign stack (this is all intended
8874        to keep signal handlers from splatting sigcontexts all over the
8875        tagged lisp stack.)
8876
88772006-04-01 23:33  gb
8878
8879        * lisp-kernel/x86-constants64.h: mmx register indices.
8880
88812006-04-01 23:33  gb
8882
8883        * lisp-kernel/x86-asmutils64.s: switch_to_foreign_stack().
8884
88852006-04-01 23:32  gb
8886
8887        * lisp-kernel/thread_manager.c: register_cstack_holding_area_lock()
8888        takes a natural stack size.
8889
88902006-04-01 23:32  gb
8891
8892        * lisp-kernel/pmcl-kernel.c: register_cstack_holding_area_lock()
8893        takes a natural stack size, sets up alternate signal stack if
8894        USE_SIGALTSTACK.
8895
88962006-04-01 23:31  gb
8897
8898        * lisp-kernel/lisp.h: USE_SIGALTSTACK if X8664.  (Might someday
8899        depend on platform.)
8900
89012006-03-31 23:15  gb
8902
8903        * lisp-kernel/linuxx8664/Makefile: gc.o -> x86-gc.o
8904
89052006-03-31 23:00  gb
8906
8907        * lisp-kernel/x86-gc.c: New file; currently, an exact copy of
8908        ppc-gc.c, but they'll diverge some soon.
8909
89102006-03-31 22:56  gb
8911
8912        * lisp-kernel/: linuxppc/Makefile, linuxppc64/Makefile,
8913        static-linuxppc/Makefile: gc.o -> ppc-gc.o
8914
89152006-03-31 22:52  gb
8916
8917        * lisp-kernel/: darwinppc/Makefile, darwinppc64/Makefile: gc.o ->
8918        ppc-gc.o
8919
89202006-03-31 22:51  gb
8921
8922        * lisp-kernel/area.h: Need prototype for heap_area_containing().
8923        heap_node_area_containing(), which doesn't exist ... not so much.
8924
89252006-03-31 22:50  gb
8926
8927        * lisp-kernel/memory.c: Some functions moved here from gc.c before
8928        it was renamed/split.
8929
89302006-03-31 22:48  gb
8931
8932        * lisp-kernel/gc.c: rename/split
8933
89342006-03-31 22:46  gb
8935
8936        * lisp-kernel/ppc-gc.c: renamed
8937
89382006-03-31 00:54  gb
8939
8940        * lisp-kernel/x86-spentry64.s: Progvsave, progvrestore seem to
8941        work.
8942       
8943        Not sure about the tail end of the multiple-value case of THROW,
8944        but at least it's there.
8945
89462006-03-31 00:53  gb
8947
8948        * library/x8664-linux-syscalls.lisp: still need work, but more
8949        stuff (including socket syscalls) are defined now.
8950
89512006-03-31 00:52  gb
8952
8953        * level-1/version.lisp: Bump.
8954
89552006-03-31 00:52  gb
8956
8957        * level-1/l1-sockets.lisp: Conditionalize lots for x8664.
8958
89592006-03-31 00:51  gb
8960
8961        * level-0/X86/x86-def.lisp: No debug trap in %CFP-LFUN.
8962
89632006-03-31 00:50  gb
8964
8965        * level-0/l0-init.lisp: Simplify *FEATURES* init a little.  Try to
8966        ensure that :linuxx8664-target is there if it should be.
8967
89682006-03-31 00:46  gb
8969
8970        * compiler/X86/X8664/x8664-arch.lisp: Define
8971        MAX-8-BIT-IVECTOR-SUBTAG, too.
8972
89732006-03-30 03:23  gb
8974
8975        * level-1/l1-aprims.lisp: ELEMENT-SUBTYPE-TYPE for x8664.
8976
89772006-03-30 03:22  gb
8978
8979        * level-1/l1-boot-2.lisp: Load some x8664 files,
8980
89812006-03-30 03:21  gb
8982
8983        * level-1/l1-boot-3.lisp: Comments and formatting.
8984
89852006-03-30 03:20  gb
8986
8987        * level-1/l1-clos-boot.lisp: Some x8664 changes.
8988
89892006-03-30 03:20  gb
8990
8991        * level-1/l1-clos.lisp: Use REPLACE-FUNCTION-CODE another time or
8992        two.
8993       
8994        Set class's INSTANCE.HASH slots to class name, to make classes
8995        easier to identify in kernel debugger.  (Might not want to keept
8996        this, but could set/clear a bit there.)
8997
89982006-03-30 03:18  gb
8999
9000        * level-1/: l1-files.lisp, l1-dcode.lisp: Comments and formatting
9001        changes only.
9002
90032006-03-30 03:17  gb
9004
9005        * level-1/l1-lisp-threads.lisp: Start to move some stuff into
9006        platform-dependent files.
9007
90082006-03-30 03:16  gb
9009
9010        * level-1/: l1-pathnames.lisp, l1-numbers.lisp: Conditionalize.
9011
90122006-03-30 03:16  gb
9013
9014        * level-1/l1-streams.lisp: 64-bit conditionalization, and x8664
9015        stuff.
9016
90172006-03-30 03:15  gb
9018
9019        * level-1/l1-typesys.lisp: 64-bit array type on all (both) 64-bit
9020        platforms.
9021
90222006-03-30 03:13  gb
9023
9024        * level-1/l1-utils.lisp: TRUE and FALSE now in LAP.
9025
90262006-03-30 03:13  gb
9027
9028        * level-1/level-1.lisp: Load "new" x8664 files.
9029
90302006-03-30 03:12  gb
9031
9032        * level-1/linux-files.lisp: Conditionalize some for x8664.
9033
90342006-03-30 03:12  gb
9035
9036        * level-1/ppc-threads-utils.lisp: Some stuff moved here from
9037        l1-lisp-threads.
9038
90392006-03-30 03:11  gb
9040
9041        * lib/compile-ccl.lisp: X8664-related changes.
9042
90432006-03-30 03:11  gb
9044
9045        * lib/foreign-types.lisp: Setup host-ftd based on compile-time
9046        target.  Yow, recursion.
9047
90482006-03-30 03:10  gb
9049
9050        * lib/macros.lisp: LET-GLOBALLY deals with symptr/symvector stuff.
9051
90522006-03-30 03:10  gb
9053
9054        * lib/misc.lisp: Fix Linux MACHINE-INSTANCE.
9055       
9056        Move DISASSEMBLE and interface here.
9057
90582006-03-30 03:09  gb
9059
9060        * lib/nfcomp.lisp: Conditionalize for x8664; dump native functions
9061        via fasl-clfun.
9062
90632006-03-30 03:08  gb
9064
9065        * lib/prepare-mcl-environment.lisp: Needed symptr/symvector stuff.
9066
90672006-03-30 03:08  gb
9068
9069        * lib/systems.lisp: Add new x86 level-1 stuff; remove some truly
9070        ancient MCLisms.
9071
90722006-03-30 03:06  gb
9073
9074        * library/x8664-linux-syscalls.lisp: Some fixes and additions, but
9075        still needs lots of work.
9076
90772006-03-30 03:06  gb
9078
9079        * lisp-kernel/x86_print.c: If instance.hash of an instance isn't a
9080        fixnum, treat it as a class name.  (Hard to otherwise recognize
9081        classes from the kernel.)
9082
90832006-03-30 03:04  gb
9084
9085        * lisp-kernel/x86-spjump64.s: rename poweropen_callback ->callback.
9086
90872006-03-30 03:04  gb
9088
9089        * lisp-kernel/x86-spentry64.s: Lots of bug fixes.
9090       
9091        Multiple-value THROW still needs work, and CALLBACK still needs to
9092        be written (both sides).
9093
90942006-03-30 03:02  gb
9095
9096        * lisp-kernel/x86-constants64.s: No FPSCR here, but an MXCSR.
9097
90982006-03-30 03:01  gb
9099
9100        * lisp-kernel/ppc-spentry.s: Error call in misc_set_invalid
9101        involves 4 args.
9102
91032006-03-30 03:00  gb
9104
9105        * lisp-kernel/pmcl-kernel.c: Larger GC defaults if 64-bit, not just
9106        PPC64.
9107       
9108        Insist on Linux kernel 2.6 if x8664 linux.
9109
91102006-03-30 02:59  gb
9111
9112        * lisp-kernel/plsym.c: Missing #\% in format string.
9113
91142006-03-30 02:56  gb
9115
9116        * lisp-kernel/linuxx8664/.gdbinit: More stuff.
9117
91182006-03-30 02:55  gb
9119
9120        * level-1/: x86-callback-support.lisp, x86-error-signal.lisp,
9121        x86-threads-utils.lisp, x86-trap-support.lisp: Nee files.
9122
91232006-03-30 02:54  gb
9124
9125        * level-0/X86/X8664/x8664-bignum.lisp: Remove debug traps from
9126        things that're believed to be working.
9127
91282006-03-30 02:54  gb
9129
9130        * level-0/X86/x86-utils.lisp: CLASS-OF changes/fixes.  Move
9131        #'TRUE/#'FALSE here.
9132
91332006-03-30 02:53  gb
9134
9135        * level-0/X86/x86-symbol.lisp: %SYMPTR->SYMBOL: check for nilsym,
9136        not NIL.
9137
91382006-03-30 02:52  gb
9139
9140        * level-0/X86/x86-numbers.lisp: %FIXNUM-TRUNCATE: return results in
9141        the right order.
9142       
9143        %IASL: shift the right register.
9144
91452006-03-30 02:51  gb
9146
9147        * level-0/X86/x86-misc.lisp: Fix %FUDGE-HEAP-POINTER; define
9148        INTERRUPT-LEVEL.
9149
91502006-03-30 02:51  gb
9151
9152        * level-0/X86/x86-float.lisp: %get-mxcsr stores the mxcsr in memory
9153        so that we can load it into a fixnum.
9154
91552006-03-30 02:50  gb
9156
9157        * level-0/X86/x86-def.lisp: %CFP-LFUN: try to recognize
9158        multiple-value returning calls, return NIL if tra offset is 0.
9159
91602006-03-30 02:49  gb
9161
9162        * level-0/X86/x86-clos.lisp: Remove debug traps; use registers
9163        sanely in the SETF case.
9164
91652006-03-30 02:48  gb
9166
9167        * level-0/PPC/ppc-utils.lisp: Implement TRUE and FALSE in LAP.
9168
91692006-03-30 02:48  gb
9170
9171        * level-0/PPC/ppc-clos.lisp: Change the name of a constant that'll
9172        get clobbered when this is cloned anyway.  (Is that clear ?)
9173
91742006-03-30 02:47  gb
9175
9176        * level-0/l0-pred.lisp: %TYPE-OF fixes for x8664.
9177       
9178        We haven't had interpreted functions for a few years.
9179
91802006-03-30 02:46  gb
9181
9182        * level-0/l0-float.lisp: %SET-DOUBLE-FLOAT-EXP: endianness, use
9183        symbolic constant for high word.
9184
91852006-03-30 02:45  gb
9186
9187        * level-0/l0-array.lisp: SUBTAG-BYTES for X8664.
9188
91892006-03-30 02:45  gb
9190
9191        * compiler/X86/X8664/x8664-vinsns.lisp: Lots of bug fixes.
9192
91932006-03-30 02:44  gb
9194
9195        * compiler/X86/X8664/x8664-arch.lisp: REQUIRE what we need.
9196       
9197        Get CATCH-FRAME definition right.
9198       
9199        .SPpoweropen-callback -> .SPcallback.
9200
92012006-03-30 02:43  gb
9202
9203        * compiler/X86/x862.lisp: Lots of changes and bugfixes.
9204
92052006-03-30 02:42  gb
9206
9207        * compiler/X86/x86-lap.lisp: Avid path in REQUIRE; create native
9208        functions.
9209
92102006-03-30 02:42  gb
9211
9212        * compiler/X86/x86-disassemble.lisp: Run natively: provide
9213        X8664-XDISASSEMBLE.
9214
92152006-03-30 02:41  gb
9216
9217        * compiler/X86/x86-asm.lisp: Assemble things (uuos) with a "pseudo"
9218        ModRM byte, which allows encoding two 4-bit x8664 registers in a
9219        single byte.
9220
92212006-03-30 02:40  gb
9222
9223        * compiler/X86/x86-arch.lisp: Need to explicitly (REQUIRE "ARCH").
9224
92252006-03-30 02:39  gb
9226
9227        * compiler/PPC/PPC64/ppc64-arch.lisp: Define high and low 32-bit
9228        parts of a DOUBLE-FLOAT.
9229
92302006-03-30 02:39  gb
9231
9232        * compiler/PPC/ppc-disassemble.lisp: DISASSEMBLE and
9233        FUNCTION-FOR-DISASSEMBLY moved elsewhere.
9234
92352006-03-25 20:47  gb
9236
9237        * lisp-kernel/lisp-debug.c: Fix x8664 lisp register display.
9238
92392006-03-25 20:42  gb
9240
9241        * lib/ccl-export-syms.lisp: Fix export of CCL::GETENV and
9242        CCL::SETENV.
9243
92442006-03-25 20:37  gb
9245
9246        * lisp-kernel/x86-spentry64.s: Dozens of bug fixes.
9247       
9248        Do uvref (not yet uvset) via jump table.
9249
92502006-03-25 20:36  gb
9251
9252        * lisp-kernel/x86-macros.s: Do arithmetic correctly in Cons macro.
9253       
9254        Split up Misc_Alloc.
9255
92562006-03-25 20:34  gb
9257
9258        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Tag juggling.
9259
92602006-03-25 20:34  gb
9261
9262        * lisp-kernel/ppc_print.c: Identify SLOT-VECTORs in kernel
9263        debugger.
9264
92652006-03-25 20:33  gb
9266
9267        * lisp-kernel/errors.s: Add some error numbers for uvref/uvset
9268        failures that should never happen.
9269
92702006-03-25 20:32  gb
9271
9272        * lisp-kernel/lisp-debug.c: Change x8664 lisp register display.
9273
92742006-03-25 20:32  gb
9275
9276        * lisp-kernel/gc.c: IMPURIFY: maybe grow the dynamic area, but
9277        don't shrink it.
9278
92792006-03-25 20:31  gb
9280
9281        * lisp-kernel/plsym.c: Symbol address may be longer than 32 bits.
9282
92832006-03-25 20:31  gb
9284
9285        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s: sgbuf has
9286        been lisp_thread for the past few years.
9287
92882006-03-25 20:30  gb
9289
9290        * lisp-kernel/ppc-spentry.s: Do uvref/uvset via jump tables.
9291        (Fewer branches, more redundancy.)
9292
92932006-03-25 20:29  gb
9294
9295        * lisp-kernel/x86_print.c: Identify SLOT-VECTORs.  Print TRAs.
9296
92972006-03-25 20:28  gb
9298
9299        * lisp-kernel/xlbt.c: Skip over lexpr nonsense.
9300
93012006-03-25 20:28  gb
9302
9303        * lisp-kernel/linuxx8664/.gdbinit: More GDB macros.
9304
93052006-03-25 20:27  gb
9306
9307        * library/lispequ.lisp: %GF-DISPATCH-TABLE-REF uses %SVREF.
9308
93092006-03-25 20:26  gb
9310
9311        * lib/misc.lisp: MACHINE-VERSION caches the result per-session;
9312        looks in /proc/cpuinfo for something machine-dependent on Linux,
9313        passes 64-bit stuff on DarwinPPC64.
9314
93152006-03-25 20:25  gb
9316
9317        * lib/macros.lisp: LFUN-BITS-KNOWN-FUNCTIONS uses arch macros to
9318        access function vector.
9319
93202006-03-25 20:23  gb
9321
9322        * level-1/version.lisp: Bump.
9323
93242006-03-25 20:23  gb
9325
9326        * level-1/l1-io.lisp: No more interpreted functions.
9327
93282006-03-25 20:23  gb
9329
9330        * level-1/l1-dcode.lisp: Mostly comment and formatting changes.
9331
93322006-03-25 20:22  gb
9333
9334        * level-1/l1-clos.lisp: Fix typos in x86 function cloning;
9335        comment/formatting changs.
9336
93372006-03-25 20:21  gb
9338
9339        * level-1/l1-clos-boot.lisp: Lots of formatting changes; try to use
9340        DEFGLOBAL, since special variable lookup is ~10 instructions or so.
9341
93422006-03-25 20:20  gb
9343
9344        * level-1/l1-boot-1.lisp: HOST-PLATFORM, PLATFORM-DESCRIPTION:
9345        generalize, a little.
9346
93472006-03-25 20:19  gb
9348
9349        * level-1/l1-aprims.lisp: LFUN-KEYVECT access function vector, if
9350        that's not the function.  NREVERSE checks for NIL, mostly so I
9351        wouldn't have to single-step through that case in GDB.
9352
93532006-03-25 20:18  gb
9354
9355        * level-0/X86/X8664/x8664-bignum.lisp: Shift in the correct
9356        direction, sign-extend (or don't) as apropriate, etc.  Still some
9357        debug traps on things that haven't been called yet.
9358
93592006-03-25 20:17  gb
9360
9361        * level-0/X86/x86-utils.lisp: CLASS-OF fixes.
9362
93632006-03-25 20:17  gb
9364
9365        * level-0/X86/x86-pred.lisp: If the recursive list case of EQUAL
9366        fails, fail; don't fall into the uvector case ...
9367
93682006-03-25 20:16  gb
9369
9370        * level-0/X86/x86-numbers.lisp: Fenceposts in fixnum
9371        integer-length.
9372
93732006-03-25 20:15  gb
9374
9375        * level-0/X86/x86-hash.lisp: Strip-tag-to-fixnum without shifts.
9376
93772006-03-25 20:15  gb
9378
9379        * level-0/X86/x86-def.lisp: Stuff here seems to work, so far ...
9380
93812006-03-25 20:14  gb
9382
9383        * level-0/X86/x86-clos.lisp: debug traps on slot-lookup LAP
9384        prototypes.
9385
93862006-03-25 20:12  gb
9387
9388        * level-0/l0-pred.lisp: rearrange %type-of for tag changes.
9389
93902006-03-25 20:12  gb
9391
9392        * level-0/l0-numbers.lisp: No need to specify an initial value 0
9393        when stack-consing a bignum in %BIGNUM-RANDOM.  Add a fixnum decl
9394        or two.
9395
93962006-03-25 20:11  gb
9397
9398        * level-0/l0-hash.lisp: Symbol aren't (necessarily) uvectors. X86
9399        breakpoints if we hash any symbols ...
9400
94012006-03-25 20:09  gb
9402
9403        * level-0/l0-bignum64.lisp: Um, most of this is supposed to be
9404        #+64-bit-target, not #+ppc64-target.
9405
94062006-03-25 20:09  gb
9407
9408        * compiler/X86/X8664/x8664-vinsns.lisp:
9409        SET-CLOSURE-FORWARD-REFERENCE: functions aren't uvectors.
9410       
9411        Lots of other changes/fixes.
9412
94132006-03-25 20:08  gb
9414
9415        * compiler/X86/X8664/x8664-arch.lisp: Tag reorganization.
9416       
9417        MISC-SYMBOL-OFFSET, MISC-FUNCTION-OFFSET.
9418       
9419        FUNCTION-TO-FUNCTION-VECTOR, FUNCTION-VECTOR-TO-FUNCTION arch
9420        macros have something to do here.
9421
94222006-03-25 20:06  gb
9423
9424        * compiler/X86/x862.lisp: Some operators can push results directly.
9425       
9426        Lots of bug fixes.
9427
94282006-03-25 20:05  gb
9429
9430        * compiler/X86/x86-asm.lisp: CMPB: accept signed/unsigned
9431        immediate.
9432
94332006-03-25 20:04  gb
9434
9435        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Arch
9436        macros for FUNCTION-TO-FUNCTION-VECTOR and
9437        FUNCTION-VECTOR-TO-FUNCTION.
9438       
9439        (NOPs.)
9440
94412006-03-25 20:03  gb
9442
9443        * compiler/optimizers.lisp: MACPTRP.
9444
94452006-03-25 20:03  gb
9446
9447        * compiler/nx.lisp: COMPILE: don't check for INTERPRETED-FUNCTION,
9448        unless/until we have them again (in some form.)
9449
94502006-03-20 10:05  gwking
9451
9452        * lib/ccl-export-syms.lisp: Exporting getenv and setenv from CCL
9453
94542006-03-19 20:30  gb
9455
9456        * lisp-kernel/x86-spentry64.s: Old-style destructuring, VALUES.
9457
94582006-03-19 20:29  gb
9459
9460        * lisp-kernel/x86-constants64.s: Define %nargs_b.
9461
94622006-03-19 20:29  gb
9463
9464        * lisp-kernel/x86-constants.s: Define registers/bitfields used in
9465        old-style destructuring subprims.
9466
94672006-03-19 20:28  gb
9468
9469        * library/lispequ.lisp: $XNOFINFUNCTION.
9470
94712006-03-19 20:27  gb
9472
9473        * lib/level-2.lisp: Conditionalize out bit, bitfield accessors
9474        until they work ...
9475
94762006-03-19 20:27  gb
9477
9478        * lib/backtrace-lds.lisp: Conditionalize
9479        GET-REGISTER-VALUE/SET-REGISTER-VALUE catch frame access.
9480
94812006-03-19 20:26  gb
9482
9483        * level-1/: l1-clos-boot.lisp, l1-clos.lisp, l1-dcode.lisp:
9484        Conditionalize, mostly for whether the implementation has separate
9485        code-vector and function objects or not. (ppc vs x86, for now.)
9486
94872006-03-19 20:25  gb
9488
9489        * level-0/X86/x86-numbers.lisp: %FIXNUM-GCD.  Slower then the one
9490        that counts bits, but doesn't need as many registers.
9491
94922006-03-19 20:24  gb
9493
9494        * level-0/X86/x86-def.lisp: Do the lexpr/methd-context apply stuff.
9495         %X86-CLONE-FUNCTION, REPLACE-FUNCTION-CODE.
9496       
9497        Wouldn't hurt to do some typechecking in some of the lap code here.
9498
94992006-03-19 20:22  gb
9500
9501        * level-0/X86/x86-clos.lisp: Yet.
9502
95032006-03-19 20:22  gb
9504
9505        * level-0/PPC/ppc-def.lisp: REPLACE-FUNCTION-CODE abstraction.
9506
95072006-03-19 20:22  gb
9508
9509        * level-0/PPC/ppc-clos.lisp: UNSET-FIN-TRAMPOLINE doesn't reference
9510        constants.  (This could neve  have worked.)
9511
95122006-03-19 20:21  gb
9513
9514        * level-0/l0-error.lisp: Replace error format string 9.
9515
95162006-03-19 20:20  gb
9517
9518        * compiler/X86/X8664/x8664-vinsns.lisp: &lexpr fixes, old-style
9519        destructuring.
9520
95212006-03-19 20:20  gb
9522
9523        * compiler/X86/X8664/x8664-arch.lisp: Add the xtra slot to
9524        lisp-frame.  yield syscall, gf-code-size.
9525
95262006-03-19 20:19  gb
9527
9528        * compiler/X86/x862.lisp: Fix some lexpr confusion, mv-call
9529        recursive problems.
9530
95312006-03-19 20:18  gb
9532
9533        * compiler/X86/x86-lapmacros.lisp: SAVE-FRAME-VARIABLE-ARG-COUNT,
9534        CALL-SUBPRIM.
9535
95362006-03-19 20:17  gb
9537
9538        * compiler/X86/x86-lap.lisp: Support :CODE-SIZE and :ORG
9539        directives.  Change :CONSTANTS to :FIXED-CONSTANTS.
9540
95412006-03-19 20:16  gb
9542
9543        * compiler/nx1.lisp: Can use MAKE-ARRAY rather than MAKE-SEQUENCE.
9544
95452006-03-17 23:38  gb
9546
9547        * xdump/xfasload.lisp: Special case references to NIL in package
9548        htabs.
9549       
9550        Leave deleted markers behind for symbols that we haven't seen
9551        references to; leave empty (0) words empty.
9552
95532006-03-17 23:36  gb
9554
9555        * lisp-kernel/linuxx8664/.gdbinit: Add a few lisp debugging things.
9556
95572006-03-17 23:36  gb
9558
9559        * lisp-kernel/xlbt.c: Recognize multiple-value returning frames and
9560        find the real tra underneath ret1valn.
9561
95622006-03-17 23:35  gb
9563
9564        * lisp-kernel/x86-spentry64.s: "gen" tcalls had the same bug as the
9565        known-stack-args cases did several days ago.
9566
95672006-03-17 23:34  gb
9568
9569        * lisp-kernel/x86-macros.s: New do_funcall().
9570
95712006-03-17 23:33  gb
9572
9573        * lisp-kernel/x86-exceptions.c: When we field an alloc trap, make
9574        sure that both the allocptr register and the save_allocptr slot in
9575        the TCR are updated and consistent with each other.
9576
95772006-03-17 23:32  gb
9578
9579        * lisp-kernel/x86-constants64.h: A lisp frame may have two return
9580        addresses (one for the multiple-value mechanism and the real one.)
9581
95822006-03-17 23:31  gb
9583
9584        * lisp-kernel/plsym.c: If there's such a thing as fulltag_symbol,
9585        try to use it.
9586
95872006-03-17 23:29  gb
9588
9589        * level-0/X86/x86-symbol.lisp: Symptr/symvector deconflation.
9590
95912006-03-17 23:28  gb
9592
9593        * level-0/X86/x86-pred.lisp: Add %LISP-LOWBYTE-REF; could be
9594        open-coded (and may once have been.)
9595
95962006-03-17 23:27  gb
9597
9598        * level-0/nfasload.lisp: Some SYMPTR->SYMVECTOR usage.  Define
9599        %FASL-READ-SIGNED-LONG;  use it in a few places.  Assume that
9600        scalar integers are stored big-endian; construct native-endian
9601        integers from them.
9602
96032006-03-17 23:26  gb
9604
9605        * level-0/l0-symbol.lisp: Lots of SYMPTR->SYMVECTOR usage.
9606
96072006-03-17 23:25  gb
9608
9609        * level-0/l0-pred.lisp: Do %TYPE-OF for x8664.
9610
96112006-03-17 23:24  gb
9612
9613        * level-0/l0-def.lisp: Use SYMPTR->SYMVECTOR where necessary, so
9614        that we can %SVREF around in symbols.
9615       
9616        A little light reorganization, to make it easier to add debugging
9617        breakpoints for things like FUNCTION-NAME.
9618
96192006-03-17 23:22  gb
9620
9621        * compiler/X86/X8664/x8664-vinsns.lisp: Kinder, gentler
9622        CHECK-MISC-BOUND.  (What was I thinking ?)
9623       
9624        More cleanup to FUNCALL and variants.
9625       
9626        MAKE-TSP-CONS: fix braindamage, use only one register.  (Need to
9627        write down pc-luser-xp constraints for TSP allocation, but I think
9628        that this meets the current artist's conception of them.)
9629       
9630        %SYMBOL->SYMPTR does what it does on other platforms (e.g., map NIL
9631        to a proxy symbol and/or insist on a real symbol.)
9632        %SYMPTR->SYMVECTOR maps something tagged as a symbol to the
9633        underlying uvector by playing with tag bits, and %SYMVECTOR->SYMPTR
9634        does the inverse.
9635       
9636        There were two definitions of %SCHARCODE in the file; the later one
9637        (that took effect) was completely wrong.
9638
96392006-03-17 23:05  gb
9640
9641        * compiler/X86/X8664/x8664-arch.lisp: Add HONS fields to AREA
9642        definition.
9643       
9644        SYMVECTOR->SYMPTR and its inverse don't do much, but it's not worth
9645        spending a function call to do a little.
9646
96472006-03-17 23:03  gb
9648
9649        * compiler/X86/x862.lisp: Don't sign-extend the $LFBITS-NONAME-BIT;
9650        doing so had to do with 29-bit fixnums on an old 68K
9651        implementation.
9652       
9653        Fix parenthesization in %i-, so that we branch in all cases that
9654        need to.
9655       
9656        Implement %SYMPTR->SYMVECTOR and %SYMVECTOR->SYMPTR, which change
9657        something tagged X8664::FULLTAG-SYMBOL into the underlying uvector
9658        and back again.
9659
96602006-03-17 22:59  gb
9661
9662        * compiler/X86/x86-lap.lisp: Change the sign of TRA displacements,
9663        to match what the compiler expects and what some other things do.
9664       
9665        When checking to see if an ASSUMED-SHORT[-CONDITIONAL]-BRANCH can
9666        use a 1-byte branch displacement, get the sign of that displacment
9667        right.  (Doing it the wrong way was encoding a forward branch to a
9668        label 128 bytes away in one byte, which made it a backward branch
9669        128 bytes away ...)
9670
96712006-03-17 22:55  gb
9672
9673        * library/lispequ.lisp: Use NTH-IMMEDIATE to access COMBINED-METHOD
9674        slots.
9675
96762006-03-17 22:54  gb
9677
9678        * lib/nfcomp.lisp: Comments clarify that scalar integers are always
9679        dumped big-endian.  (They have to be read/written a byte at a time
9680        anyway; there's no clear advantage in writing them in native
9681        endianness.)
9682
96832006-03-17 22:52  gb
9684
9685        * lib/macros.lisp: SYMPTR->SYMVECTOR and SYMVECTOR->SYMBOL are
9686        arch-specfic (NOP on PPC, inlined tag-bits stuff on x8664.)
9687
96882006-03-17 22:50  gb
9689
9690        * level-1/l1-dcode.lisp: Star to conditionalize, a little.
9691
96922006-03-17 22:48  gb
9693
9694        * level-1/l1-boot-2.lisp: Conditionalize.
9695
96962006-03-17 22:48  gb
9697
9698        * level-1/: l1-callbacks.lisp, l1-utils.lisp: Comment formatting.
9699
97002006-03-17 22:45  gb
9701
9702        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-arch.lisp,
9703        PPC64/ppc64-arch.lisp: %SYMPTR->SYMVECTOR and %SYMVECTOR->SYMPTR
9704        shold never be called on PPC, but implement them as idenity
9705        operations, just in case.
9706
97072006-03-17 22:44  gb
9708
9709        * compiler/: nx1.lisp, nxenv.lisp: Worth inlining
9710        %SYMPTR->SYMVECTOR on x8664 (should never happen on PPC, but treat
9711        it as identity function there.)
9712
97132006-03-16 02:03  gb
9714
9715        * level-1/l1-sockets.lisp: Spell LINUX correctly.
9716
97172006-03-16 02:00  gb
9718
9719        * lisp-kernel/x86-spentry64.s: We were inlining NTH-VALUE
9720        incorrectly, but were always inlining it.
9721       
9722        Use debug traps to catch some cases that're NYI.
9723
97242006-03-16 01:58  gb
9725
9726        * lisp-kernel/lisp-debug.c: X8664 register-printing changes.
9727
97282006-03-16 01:58  gb
9729
9730        * library/parse-ffi.lisp: Treat VEC64/VEC128 like large integers,
9731        for now.
9732
97332006-03-16 01:57  gb
9734
9735        * library/lispequ.lisp: gf accessors use NTH-IMMEDIATE.
9736
97372006-03-16 01:56  gb
9738
9739        * lib/numbers.lisp: Conditionaliz on target word size.
9740
97412006-03-16 01:56  gb
9742
9743        * lib/nfcomp.lisp: Need to be aware of cases where host/target
9744        endianness differ.
9745       
9746        Byte-swap 16/32-bit constant ivectors; note that other cases may
9747        also need byte-swapping.
9748
97492006-03-16 01:54  gb
9750
9751        * lib/macros.lisp: NTH-IMMEDIATE is arch-specific; so is
9752        SET-NTH-IMMEDIATE, which is its SETF inverse.
9753
97542006-03-16 01:53  gb
9755
9756        * lib/foreign-types.lisp: So far, Darwin's the only platform that
9757        uses signed chars.  (For a good laugh, note that the PPC has an
9758        unsigned "load byte" instruction, but it takes two instructions to
9759        treat char as signed.  This is, of course, much less significant
9760        than all of the other things that are wrong about Darwin ...)
9761
97622006-03-16 01:51  gb
9763
9764        * lib/compile-ccl.lisp: RISC-LAP is PPC-specific (and maybe
9765        specific to other RISC architectures).  X86-DISASSEMBLE should be
9766        built for x8664.
9767
97682006-03-16 01:49  gb
9769
9770        * lib/backtrace-lds.lisp: Some conditinalization.
9771
97722006-03-16 01:48  gb
9773
9774        * tools/.cvsignore, library/.cvsignore: Ignore fasl extensions yet
9775        to come.
9776
97772006-03-16 01:46  gb
9778
9779        * level-1/version.lisp: Bump.
9780
97812006-03-16 01:46  gb
9782
9783        * level-1/l1-sockets.lisp: Some conditionalization; need more, and
9784        need to handle wrong-endianness.
9785
97862006-03-16 01:44  gb
9787
9788        * level-1/l1-lisp-threads.lisp: %KERNEL-GLOBAL-OFFSET-FORM:
9789        probably should lose this.  It's a function, and therefore has some
9790        trouble accessing the right (macroexpand-time) backend.
9791
97922006-03-16 01:43  gb
9793
9794        * level-1/l1-files.lisp: Set *.FASL-PATHAME* via #.'ed reference to
9795        target backend.
9796
97972006-03-16 01:42  gb
9798
9799        * level-1/l1-clos-boot.lisp: Conditionalize a little.
9800
98012006-03-16 01:42  gb
9802
9803        * level-1/l1-aprims.lisp: Use #. to set OS package name fron
9804        backend/ftd.
9805
98062006-03-16 01:41  gb
9807
9808        * level-0/X86/x86-symbol.lisp: %SYMPTR->SYMBOL is often called with
9809        real (tagged) symbols; make it a nop in that case.
9810
98112006-03-16 01:40  gb
9812
9813        * level-0/X86/x86-def.lisp: %SET-NTH-IMMEDIATE.
9814
98152006-03-16 01:40  gb
9816
9817        * level-0/X86/x86-clos.lisp: Start some of this. Still need to
9818        decide whether to use lexprs; better decide soon.
9819
98202006-03-16 01:38  gb
9821
9822        * compiler/X86/X8664/x8664-vinsns.lisp: TRAP-UNLESS-CHARACTER.
9823        Float memory accessors/setters for the constant-offset case.
9824        NTH-VALUE was wrong; now simpler.  MAKE-TSP-VCELL.  Binding
9825        subprims.
9826       
9827        Yet another FUNCALL scheme.
9828
98292006-03-16 01:36  gb
9830
9831        * level-0/l0-symbol.lisp: MAKE-SYMBOL returns the symbol pointer.
9832        Maybe conditionalize this for X8664.
9833
98342006-03-16 01:35  gb
9835
9836        * level-0/l0-io.lisp: Hopefully, the "split" 64-bit lseek is at
9837        best LinuxPPC32-specific.
9838
98392006-03-16 01:34  gb
9840
9841        * compiler/X86/x862.lisp: Use %ra0 for the inner function when
9842        making a closure, to avoid conflicts with other temps.  No need to
9843        reference memory on self-calls (and good reasons not to ...)
9844        X862-UNBOXED-INTEGER-ARG-TO-REG handles 64-bit regs.
9845
98462006-03-16 01:31  gb
9847
9848        * compiler/X86/x86-lapmacros.lisp: EXTRACT-TYPECODE: use a GENSYMed
9849        label.
9850
98512006-03-16 01:30  gb
9852
9853        * compiler/X86/x86-lap.lisp: New stuff for "pre-allocated"
9854        constants.
9855
98562006-03-16 01:29  gb
9857
9858        * compiler/X86/x86-arch.lisp: Didn't have the relatively recent
9859        STACK-SIZE.
9860
98612006-03-16 01:29  gb
9862
9863        * compiler/X86/X8664/x8664-arch.lisp: Change the
9864        %GET-KERNEL-GLOBAL[-PTR] archmacros, so that they'll work with
9865        cross-compilation.  Fixnum offsets aren't supported; they weren't
9866        used, this isn't public, and it wasn't well-defined anyway.
9867       
9868        Add %NTH-IMMEDIATE.
9869
98702006-03-16 01:28  gb
9871
9872        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp:
9873        Change the %GET-KERNEL-GLOBAL[-PTR] archmacros, so that they'll
9874        work with cross-compilation.  Fixnum offsets aren't supported; they
9875        weren't used, this isn't public, and it wasn't well-defined anyway.
9876
98772006-03-14 14:08  gb
9878
9879        * binppc/.cvsignore, l1-pfsls/.cvsignore: remove
9880
98812006-03-14 14:02  gb
9882
9883        * level-1/: l1-boot-2.lisp, level-1.lisp: Always use physical bin,
9884        l1-fasls relative pathnames.
9885
98862006-03-14 14:02  gb
9887
9888        * level-1/l1-pathnames.lisp: Simpler translations.
9889
98902006-03-14 13:51  gb
9891
9892        * l1-dfsls/.cvsignore, bindarwin/.cvsignore: removed
9893
98942006-03-14 13:31  gb
9895
9896        * bin/.cvsignore, l1-fasls/.cvsignore: new file.
9897
98982006-03-14 13:24  gb
9899
9900        * level-1/: l1-boot-2.lisp, level-1.lisp: Step 1: don't hardwire
9901        the target fasl pathname in a big #+ nest, get it from the target
9902        backend.  (Hope that works with macrolet.)
9903
99042006-03-14 13:22  gb
9905
9906        * lisp-kernel/x86-spentry64.s: _SPstack_misc_alloc fixes.
9907        _SPsyscall: just return negative return values, don't negate them.
9908
99092006-03-14 13:20  gb
9910
9911        * library/x8664-linux-syscalls.lisp: Hide the incomplete
9912        definitions.  This needs work; should use real foreign types.
9913
99142006-03-14 13:19  gb
9915
9916        * compiler/X86/X8664/x8664-vinsns.lisp: %init-gvector: pop the last
9917        element first.
9918
99192006-03-14 13:19  gb
9920
9921        * compiler/X86/X8664/x8664-backend.lisp: :linuxx8664-target on
9922        features, too.
9923
99242006-03-14 13:18  gb
9925
9926        * compiler/X86/x862.lisp: x862-allocate-initialized-gvector: works
9927        better if the gvector is actually allocated ...
9928
99292006-03-14 03:11  gb
9930
9931        * compiler/X86/x862.lisp: Remove a comment that described the
9932        mid-1990s behavior of MacsBug.
9933
99342006-03-14 03:10  gb
9935
9936        * compiler/X86/x86-lap.lisp: In X86-LAP-EQUATE-FORM, check for and
9937        disallow bindings that match defined X86 register names.
9938
99392006-03-14 03:09  gb
9940
9941        * compiler/X86/x86-disassemble.lisp: Some UUOs shouldn't terminate
9942        a disassembly block.
9943
99442006-03-14 03:09  gb
9945
9946        * library/syscall.lisp: Whoops.
9947
99482006-03-14 03:01  gb
9949
9950        * lisp-kernel/x86-spentry64.s: Fixes in _SPcall_closure,
9951        _SPstkgvector.
9952
99532006-03-14 03:00  gb
9954
9955        * lisp-kernel/x86-exceptions.c: Handle uuo_debug_trap.
9956
99572006-03-14 03:00  gb
9958
9959        * lisp-kernel/x86-constants64.h: Iflags is REG_EFL on Linux.
9960
99612006-03-14 02:59  gb
9962
9963        * lisp-kernel/lisp-debug.c: Make (R)egisters command work on x8664.
9964
99652006-03-14 02:59  gb
9966
9967        * library/syscall.lisp: BACKEND-SYSCALL-DEFINITIONS uses whatever
9968        bits are in the backend's BACKEND-PLATFORM-SYSCALL-MASK.
9969
99702006-03-14 02:57  gb
9971
9972        * library/x8664-linux-syscalls.lisp: New file. Woefully incomplete,
9973        and may need word-size fixes.
9974
99752006-03-14 02:57  gb
9976
9977        * library/ppc-linux-syscalls.lisp: Set the mask per the new (new)
9978        scheme.
9979
99802006-03-14 02:56  gb
9981
9982        * level-0/X86/x86-utils.lisp: Fix a few bugs in heap-walking code.
9983
99842006-03-14 02:56  gb
9985
9986        * level-0/X86/x86-def.lisp: %NTH-IMMEDIATE needed to box;  both it
9987        and %FUNCTION-CODE-WORDS needed to avoid naming parameters FN.
9988
99892006-03-14 02:55  gb
9990
9991        * level-1/: l1-sockets.lisp, l1-streams.lisp, linux-files.lisp: Use
9992        the right set of syscall definitions for Linux.
9993
99942006-03-14 02:54  gb
9995
9996        * level-0/nfasload.lisp: Add a fixnum declaration.
9997
99982006-03-14 02:54  gb
9999
10000        * level-0/l0-io.lisp: Include the right set of syscall defs for
10001        Linux.
10002
100032006-03-14 02:53  gb
10004
10005        * level-0/l0-symbol.lisp: Need to use %symptr->symbol for x86;
10006        harmless on PPC.
10007
100082006-03-14 02:53  gb
10009
10010        * compiler/X86/X8664/x8664-vinsns.lisp: SETUP-VCELL-ALLOCATION
10011        needs to bias the size by fulltag-misc.
10012
100132006-03-14 02:52  gb
10014
10015        * compiler/X86/X8664/x8664-backend.lisp: At least for Linux/X86/64,
10016        need to look at os/cpu/word-size to deterine applicable syscall
10017        defs.
10018
100192006-03-14 02:51  gb
10020
10021        * compiler/PPC/: PPC32/ppc32-backend.lisp,
10022        PPC64/ppc64-backend.lisp: All PPC (32/64) backends can use syscall
10023        defs for OS/CPU, regardless of word size.
10024
100252006-03-14 02:50  gb
10026
10027        * compiler/backend.lisp: Add PLATFORM-SYSCALL-MASK to backend
10028        struct.
10029
100302006-03-14 02:09  gb
10031
10032        * library/: ppc-linux-syscalls.lisp, linux-syscalls.lisp: renamed
10033
100342006-03-13 02:33  gb
10035
10036        * level-1/version.lisp: Bump.
10037
100382006-03-13 02:24  gb
10039
10040        * xdump/xfasload.lisp: AREA constants now in CCL package.
10041
100422006-03-13 02:23  gb
10043
10044        * lisp-kernel/x86-spentry64.s: ret1valn: no LEAVE here.
10045        nthrowvalues: fix several bugs.
10046
100472006-03-13 02:22  gb
10048
10049        * lisp-kernel/x86-macros.s: TSP_Alloc_Var: zero the dnode at the
10050        new tsp, as well.
10051
100522006-03-13 02:21  gb
10053
10054        * library/lispequ.lisp: Define AREA constants here (in CCL
10055        package.)
10056
100572006-03-13 02:20  gb
10058
10059        * lib/macros.lisp: Move DO-CONSING-AREAS here.  AREA-CODE is an
10060        arch macro.
10061
100622006-03-13 02:20  gb
10063
10064        * level-1/l1-lisp-threads.lisp: Move DO-CONSING-AREAS to
10065        macros.lisp.
10066
100672006-03-13 02:19  gb
10068
10069        * level-0/X86/x86-utils.lisp: Walk static, dynamic areas.
10070
100712006-03-13 02:19  gb
10072
10073        * level-0/PPC/ppc-utils.lisp: Comments.
10074
100752006-03-13 02:18  gb
10076
10077        * level-0/nfasload.lisp: %MAP-AREAS call might have to deal with
10078        symbol/symbol-vector distinction.
10079
100802006-03-13 02:18  gb
10081
10082        * level-0/l0-utils.lisp: AREA constants are in CCL package, not
10083        PPC.  %MAP-LFUNS might have to deal with function/function-vector
10084        distinction.
10085
100862006-03-13 02:17  gb
10087
10088        * level-0/l0-misc.lisp: AREA constants are in CCL package, not PPC.
10089
100902006-03-13 02:17  gb
10091
10092        * level-0/l0-hash.lisp: %GROW-HASH-TABLE is always called inside
10093        WITHOUT-INTERRUPTS, so no need to do it again.
10094
100952006-03-13 02:16  gb
10096
10097        * compiler/X86/x862.lisp: Push at most one stack frame on function
10098        entry ...
10099
101002006-03-13 02:14  gb
10101
10102        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
10103        X86/X8664/x8664-arch.lisp: AREA-CODE archmacro.
10104
101052006-03-13 02:13  gb
10106
10107        * compiler/: PPC/ppc-arch.lisp, X86/x86-arch.lisp: AREA constants
10108        moved to CCL package.
10109
101102006-03-11 23:54  gb
10111
10112        * lisp-kernel/linuxx8664/.gdbinit: Don't change handling of SIGUSR1
10113        or SIGUSR2; I don't think that we use them under Linux.
10114
101152006-03-11 23:52  gb
10116
10117        * lisp-kernel/x86-spentry64.s: builtin_eql was extracting lisptags
10118        and comparing fulltags, and thus returning false when it shouldn't
10119        have.
10120       
10121        nthrow1value was making too small of a TSP frame around the call to
10122        the cleanup code, clobbering TSP links in some cases.  It was also
10123        failing to pop catch frames.
10124       
10125        stkgvector was unimplented.
10126       
10127        _car order-of-arguments problems in (at least) spreadargz.
10128
101292006-03-11 23:47  gb
10130
10131        * lisp-kernel/x86-subprims64.s: Push a 0 and make the initial lisp
10132        %rbp point to it, to mark the end of the line.
10133
101342006-03-11 23:47  gb
10135
10136        * lisp-kernel/xlbt.c: Sketchy kernel-debugger backtrace.
10137
101382006-03-11 23:46  gb
10139
10140        * lisp-kernel/x86-constants64.h: A lisp_frame struct, for kernel
10141        backtrace.
10142
101432006-03-11 23:46  gb
10144
10145        * lisp-kernel/pmcl-kernel.c: Try (temporily) disabling Lisp's
10146        SIGINT handler.   There seem to be problems using a keyboard
10147        interrupt to awaken GDB on the version of x96-64 Linux I'm using.
10148        This didn't fix those problems completely, but we won't need to
10149        handle SIGINT in the lisp until more code works.
10150
101512006-03-11 23:43  gb
10152
10153        * lisp-kernel/macros.h: I may have parenthesized nodeheader_tag_p
10154        and immheader_tag_p; several versions of  GCC generated code that
10155        looked wrong, but since it's C it's hard to tell.   Splitting the
10156        macros up (into "mask definition" and "mask testing" seems to
10157        generate the right code (a bit test if optimization's cranked up.)
10158
101592006-03-11 23:41  gb
10160
10161        * level-0/X86/x86-misc.lisp: Fix a few typos (fixnum vs unboxed
10162        constants, etc.)
10163       
10164        %ATOMIC-DECF-PTR-IF-POSITIVE should return what we would have
10165        (might have) stored in the word accessed by the pointer (in
10166        particular, it should return a negative value if there are no other
10167        threads waiting on a recursive lock.)
10168
101692006-03-11 23:38  gb
10170
10171        * level-0/PPC/ppc-misc.lisp: Fix file name in comment.
10172
101732006-03-11 23:38  gb
10174
10175        * compiler/X86/X8664/x8664-vinsns.lisp: ENSURE-RESERVED-FRAME: test
10176        was backwards.
10177
101782006-03-11 23:37  gb
10179
10180        * compiler/X86/X8664/x8664-arch.lisp: Don't use FN as arg name in
10181        LFUN-VECTOR, since x8664::fn is a constant (symbolic register
10182        name.)
10183       
10184        Add missing close paren.
10185
101862006-03-11 23:36  gb
10187
10188        * compiler/X86/x862.lisp: Ensure stack fencepost in simple
10189        &optional arg case.
10190       
10191        Do the variable-arg-count case if complex &optional, no &rest/&key,
10192        and some (possibly unsupplied) optionals may or may not have been
10193        pushed by the caller.
10194
101952006-03-11 04:11  gb
10196
10197        * lisp-kernel/: image.c, lisp_globals.h: Fix conditionalization: we
10198        don't define PPC32, but it might be clearer if we did.
10199
102002006-03-11 03:28  gb
10201
10202        * level-1/version.lisp: Bump.
10203
102042006-03-11 03:20  gb
10205
10206        * library/: darwin-syscalls.lisp, linux-syscalls.lisp,
10207        syscall.lisp: New mechanism, mostly to make cross-compilation
10208        easier.
10209
102102006-03-11 03:20  gb
10211
10212        * level-0/X86/x86-def.lisp: Extra paren; %NTH-IMMEDIATE and
10213        function/lfun-vector stuff, CLOSURE-FUNCTION here until that can be
10214        abstracted away sanely.
10215
102162006-03-11 03:18  gb
10217
10218        * level-0/X86/x86-misc.lisp: %STORE-IMMEDIATE-CONDITIONAL needs to
10219        discard the frame that the caller reserved.
10220
102212006-03-11 03:17  gb
10222
10223        * level-0/X86/x86-clos.lisp: Comment out the PPC LAP (e.g.,
10224        everything in the file, still).
10225
102262006-03-11 03:15  gb
10227
10228        * level-0/PPC/ppc-def.lisp: CLOSURE-FUNCTION here.  (Abstract away
10229        NTH-IMMEDIATE ?)
10230
102312006-03-11 03:14  gb
10232
10233        * level-0/l0-misc.lisp: Indentation.
10234
102352006-03-11 03:13  gb
10236
10237        * level-0/l0-def.lisp: Move CLOSURE-FUNCTION to arch-specific dir.
10238        Use LFUN-VECTOR, which should hopefully compile away on PPC but
10239        needs to be there on X8664.
10240
102412006-03-11 03:11  gb
10242
10243        * compiler/X86/X8664/x8664-vinsns.lisp: Now that subprim addresses
10244        are higher, there's another significant byte to deal with in the
10245        subprim jump in %INIT-CLOSURE.
10246       
10247        Use a temporary - and a smaller instruction sequence - in
10248        MISC-ELEMENT-COUNT-FIXNUM, so that src and dest can overlap.  (More
10249        instructions, but fewer bytes.)
10250
102512006-03-11 03:08  gb
10252
10253        * compiler/PPC/PPC32/ppc32-arch.lisp,
10254        compiler/PPC/PPC64/ppc64-arch.lisp,
10255        compiler/X86/X8664/x8664-arch.lisp, lib/macros.lisp: LFUN-VECTOR
10256        and LFUN-VECTOR-LFUN are arch-specific macros.
10257
102582006-03-11 03:07  gb
10259
10260        * lisp-kernel/x86-spentry64.s: Reformat a comment.
10261
102622006-03-10 22:06  gb
10263
10264        * xdump/xx8664-fasload.lisp: Target-specific static-space (NIL
10265        representation, mostly) init functions.
10266       
10267        Move image-base-address up a few terabytes.
10268       
10269        Undefined function and macro trampolines are vectors with an
10270        executable fixnum in the 0th word.
10271
102722006-03-10 22:05  gb
10273
10274        * xdump/xppcfasload.lisp: Target-specific static-space (NIL
10275        representation, mostly) init functions.
10276
102772006-03-10 22:04  gb
10278
10279        * xdump/xfasload.lisp: Lots of changes, to deal with
10280        symbol/function tagging issues, x86 clfuns, etc.
10281
102822006-03-10 22:03  gb
10283
10284        * xdump/heap-image.lisp: Endianness, word-size conditionalization
10285        stuff.
10286
102872006-03-10 22:02  gb
10288
10289        * lisp-kernel/linuxx8664/Makefile: C files depend on lisptypes.h.
10290
102912006-03-10 22:01  gb
10292
10293        * lisp-kernel/linuxx8664/elf_x86_64.x: Don't try to link into low
10294        memory (no real reason to.) Do try to put spjump at a
10295        fixed/known/page-aligned address.
10296
102972006-03-10 21:59  gb
10298
10299        * lisp-kernel/x86_print.c: Recognize some x8664 tags.
10300
103012006-03-10 21:59  gb
10302
10303        * lisp-kernel/x86-subprims64.s: Use Rforeign_sp; get valence right
10304        on exit.
10305
103062006-03-10 21:58  gb
10307
10308        * lisp-kernel/x86-spjump64.s: Rename ffcall/syscall.
10309
103102006-03-10 21:58  gb
10311
10312        * lisp-kernel/x86-spentry64.s: Lots of fixes/changes (including
10313        ffcall/syscall).
10314
103152006-03-10 21:56  gb
10316
10317        * lisp-kernel/x86-macros.s: TSP_Alloc_Size is an immediate operand
10318        in TSP_Alloc_Fixed().
10319       
10320        Fix allocptr/allocbase comparison when consing.
10321       
10322        Misc_Alloc_Fixed: m4/gas $ conflation.
10323
103242006-03-10 21:54  gb
10325
10326        * lisp-kernel/x86-exceptions.h: Extra parens around xpGPR
10327        expansion.
10328
103292006-03-10 21:54  gb
10330
10331        * lisp-kernel/x86-exceptions.c: Actually handle something
10332        (uuo_alloc()), since we can't do much without it.
10333
103342006-03-10 21:53  gb
10335
10336        * lisp-kernel/x86-constants64.s: Call the foreign sp register
10337        Rforeign_sp, to avoid m4 lossage.
10338       
10339        nrs starts at #x2020, because NIL is between there and #x2000.
10340
103412006-03-10 21:52  gb
10342
10343        * lisp-kernel/x86-constants64.h: Iallocptr for trap handler.
10344       
10345        tcr was missing foreign_sp definition.
10346
103472006-03-10 21:51  gb
10348
10349        * lisp-kernel/thread_manager.c: get_tcr() change for HAVE_TLS case.
10350
103512006-03-10 21:51  gb
10352
10353        * lisp-kernel/ppc-exceptions.c: Put a sane value in the FPSCR
10354        before calling back to lisp on an exception.
10355
103562006-03-10 21:50  gb
10357
10358        * lisp-kernel/pmcl-kernel.c: Use address of bad_funcall, not
10359        "value".
10360       
10361        Disable EGC on x8664.
10362
103632006-03-10 21:49  gb
10364
10365        * lisp-kernel/lisptypes.h: formatting change only.
10366
103672006-03-10 21:49  gb
10368
10369        * lisp-kernel/lisp_globals.h: Layout of lisp-globals/nrs on x8664
10370        not identical to ppc64 (NIL representation differs.)
10371
103722006-03-10 21:48  gb
10373
10374        * lisp-kernel/lisp-debug.c: Lisp register stuff for x8664.
10375
103762006-03-10 21:48  gb
10377
10378        * lisp-kernel/image.c: Fix some conditionalization.
10379
103802006-03-10 21:47  gb
10381
10382        * lisp-kernel/area.h: Larger IMAGE-BASE-ADDRESS for X8664 Linux.
10383
103842006-03-10 21:46  gb
10385
10386        * library/: linux-syscalls.lisp, syscall.lisp: Try to make things a
10387        little more portable, but really need to keep things in the
10388        target-ftd.  Soon.
10389
103902006-03-10 21:45  gb
10391
10392        * level-0/l0-numbers.lisp: Don't reference
10393        TARGET::LEAST-SIGNIFICANT-BIT in ASH; express limits in terms of
10394        TARGET::NBITS-IN-WORD.
10395
103962006-03-10 21:45  gb
10397
10398        * level-0/l0-misc.lisp: Add some fixnum decls to %GET-CSTRING, so
10399        that single-stepping through it in GDB is faster.
10400
104012006-03-10 21:44  gb
10402
10403        * level-0/l0-io.lisp: %YIELD here, so all level-0 syscalls are in
10404        one file.
10405
104062006-03-10 21:43  gb
10407
10408        * level-0/l0-cfm-support.lisp: We generally want foreign symbol
10409        addresses to be boxed integers on X8664, and can't assume that
10410        they're fixnum-aligned.
10411
104122006-03-10 21:42  gb
10413
10414        * level-0/: l0-array.lisp, l0-init.lisp: Comment indentation.
10415
104162006-03-10 21:41  gb
10417
10418        * lisp-kernel/linuxx8664/.gdbinit: Well, it's a start ...
10419
104202006-03-10 21:41  gb
10421
10422        * level-0/X86/x86-utils.lisp: %KERNEL-IMPORT boxes what may not
10423        have been a fixnum.
10424
104252006-03-10 21:40  gb
10426
10427        * level-0/X86/x86-misc.lisp: Fix typo.
10428       
10429        STORE-NODE-CONDITIONAL pops stack arg, discards stack frame
10430        reserved by caller before jumping into kernel.
10431
104322006-03-10 21:39  gb
10433
10434        * level-0/X86/x86-float.lisp: Missing SET-MXCSR-CONTROL was hidden
10435        in duplicate SET-MSCSR-STATUS.  May want to always set/get the
10436        control and rounding modes.
10437
104382006-03-10 21:37  gb
10439
10440        * level-0/X86/x86-def.lisp: Comment out the missing lexpr/apply
10441        stuff, so that the rest of the file compiles.
10442
104432006-03-10 21:36  gb
10444
10445        * level-0/X86/x86-array.lisp: %INIT-MISC wants/needs to be in LAP
10446        because of write-barrier issues.
10447
104482006-03-10 21:35  gb
10449
10450        * lib/x8664env.lisp: It's OK (in fact necessary) to use FP0 as a
10451        temporary.  0.0 is in FPZERO.
10452
104532006-03-10 21:34  gb
10454
10455        * lib/nfcomp.lisp: Spit out a fasl op while writing CLFUNs.
10456
104572006-03-10 21:33  gb
10458
10459        * level-0/PPC/ppc-float.lisp: Don't CLEAR-FPU-EXCEPTIONS, at least
10460        without knowing why.
10461
104622006-03-10 21:32  gb
10463
10464        * compiler/X86/X8664/x8664-vinsns.lisp: SETcc sets the byte to 1 or
10465        0, so we need to negate.
10466       
10467        Other bug fixes and additions.
10468
104692006-03-10 21:31  gb
10470
10471        * compiler/X86/X8664/x8664-arch.lisp: Fix a typo in
10472        X8664-MISC-BYTE-SIZE.
10473       
10474        Move subprims base up to #x410000, to make it easier on the linker.
10475
104762006-03-10 21:29  gb
10477
10478        * compiler/X86/x862.lisp: Lots-o-fixes; FFI stuff.  When generating
10479        code involving a :REG8 operand, be careful to pass the 8-bit reg
10480        entry to LAP.
10481
104822006-03-10 21:27  gb
10483
10484        * compiler/X86/x86-lapmacros.lisp: X86 CMOV instructions reference
10485        the source operand (possibly generating a memory fault) even if the
10486        destination operand isn't written to.  Who knew ?
10487
104882006-03-10 21:24  gb
10489
10490        * compiler/X86/x86-disassemble.lisp: Recognize newer UUOs.
10491
104922006-03-10 21:24  gb
10493
10494        * compiler/X86/x86-lap.lisp: Use the #x80 bit in an instruction's
10495        REX prefix to indicate when the prefix needs to be emitted (even if
10496        the #x7 bits are clear).
10497
104982006-03-10 21:23  gb
10499
10500        * compiler/X86/x86-asm.lisp: A few UUOs; try to ensure that we'll
10501        generate (at least) a #x40 REX prefix if a new-style byte register
10502        is used as an operand.  (e.g., we generally don't want to refer to
10503        the traditional things like %dh, and do want to refer to the newer
10504        things like %sil.)
10505
105062006-03-10 21:20  gb
10507
10508        * compiler/X86/x86-arch.lisp: rename *X86-NILREG-RELATIVE-SYMBOLS*
10509        -> *X86-NIL-RELATIVE-SYMBOLS*.
10510
105112006-03-10 21:18  gb
10512
10513        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
10514        PPC64/ppc64-vinsns.lisp: %SINGLE-TO-DOUBLE, %DOUBLE-TO-SINGLE, to
10515        avoid consing in some simple cases.
10516
105172006-03-10 21:17  gb
10518
10519        * compiler/PPC/ppc-arch.lisp: Rename *PPC-NILREG-RELATIVE-SYMBOLS*
10520        -> *PPC-NIL-RELATIVE-SYMBOLS* (NIL hasn't been in a register in a
10521        few years.)
10522
105232006-03-10 21:15  gb
10524
10525        * compiler/optimizers.lisp: On 64-bit targets, SINGLE-FLOATs are
10526        EQL iff EQ.
10527       
10528        Try to recognize a few ways of coercing SINGLE-FLOATs to
10529        DOUBLE-FLOATs and vice versa, so that we have some chance of
10530        avoiding consing in some cases.
10531
105322006-03-10 21:13  gb
10533
10534        * compiler/nxenv.lisp: Add %SINGLE-TO-DOUBLE, %DOUBLE-TO-SINGLE.
10535        Replace unused EMBEDDED-CALL with SYSCALL.
10536
105372006-03-10 21:12  gb
10538
10539        * compiler/nx1.lisp: Just use SYSCALL operator to mark x8664
10540        syscalls.
10541
105422006-03-10 21:12  gb
10543
10544        * .cvsignore: Change patterns.
10545
105462006-03-07 06:49  gb
10547
10548        * lisp-kernel/x86-spentry64.s: Assume that fpzero (not fp0)
10549        contains 0.0.
10550       
10551        Get a few more things working, or at least written.
10552
105532006-03-07 06:48  gb
10554
10555        * lisp-kernel/: x86-macros.s, x86-subprims64.s: Assume that fpzero
10556        (not fp0) contains 0.0.
10557
105582006-03-07 06:48  gb
10559
10560        * lisp-kernel/x86-constants64.s: Define fpzero = xmm15.
10561       
10562        Pad the (misnamed) fpscr field in the TCR.
10563
105642006-03-06 06:37  gb
10565
10566        * lib/nfcomp.lisp: Initial, crude support for cross-dumping
10567        "concatenated" lisp functions.
10568
105692006-03-06 06:36  gb
10570
10571        * level-0/l0-numbers.lisp: Fix comment indentation in a function
10572        that the x8664 backend was choking on.
10573
105742006-03-06 06:36  gb
10575
10576        * compiler/X86/X8664/x8664-vinsns.lisp: use fpzero when a zero is
10577        needed,  not fp0.
10578
105792006-03-06 06:35  gb
10580
10581        * compiler/X86/X8664/x8664-arch.lisp: xmm15 is fpzero (contains
10582        0.0[de]0).  (xmm0 is used for ff-call.)
10583
105842006-03-06 06:35  gb
10585
10586        * compiler/X86/x862.lisp: X862-COMPILE: don't reserve quad for null
10587        function name, even if debug info is present.
10588
105892006-03-06 06:34  gb
10590
10591        * compiler/X86/x86-lap.lisp: RELAX-FRAG-LIST: account for (possibly
10592        non-zero) length of :ALIGN frags.  CROSS-CREATE-X86-FUNCTION: don't
10593        emit function name if it's nil, even if debug-info is present.
10594
105952006-03-06 06:30  gb
10596
10597        * compiler/X86/x86-asm.lisp: Add a declaration to suppress compiler
10598        warning on forward reference.
10599
106002006-03-06 03:27  gb
10601
10602        * xdump/xfasload.lisp: Fix parens.
10603
106042006-03-06 02:59  gb
10605
10606        * xdump/xfasload.lisp: Remove many uses of TARGET-ARCH-CASE (thus
10607        removing many uses of ppc/ppc32/ppc64 package symbols.)  Some uses
10608        remain.
10609
106102006-03-06 02:57  gb
10611
10612        * lib/macros.lisp: Define TARGET-ARCH-CASE in terms of CASE, not
10613        ECASE.
10614
106152006-03-05 19:12  gb
10616
10617        * compiler/PPC/PPC64/ppc64-arch.lisp: typecode, lisptag are in ccl
10618        package.
10619
106202006-03-05 19:01  gb
10621
10622        * level-1/version.lisp: Bump; some of this is hard to bootstrap.
10623
106242006-03-05 19:00  gb
10625
10626        * lib/macros.lisp: Move some %kernel-global nonsense here.
10627
106282006-03-05 19:00  gb
10629
10630        * level-1/l1-lisp-threads.lisp: Define macros in ... macros.lisp,
10631        of all places.
10632
106332006-03-05 18:59  gb
10634
10635        * level-0/X86/x86-array.lisp: write some code in lisp
10636        (temporarily), clean up some typos so that the file compiles.
10637
106382006-03-05 18:58  gb
10639
10640        * compiler/: arch.lisp, PPC/PPC32/ppc32-arch.lisp,
10641        PPC/PPC64/ppc64-arch.lisp, X86/X8664/x8664-arch.lisp: More
10642        parameters (mostly for xloader) in target-arch struct.
10643
106442006-03-05 18:52  gb
10645
10646        * xdump/xfasload.lisp: Get target parameters from
10647        (backend-target-arch *target-backend*)).
10648
106492006-03-05 06:17  gb
10650
10651        * xdump/xx8664-fasload.lisp: Closer ...
10652
106532006-03-05 06:17  gb
10654
10655        * xdump/hashenv.lisp: Arch macros for hashing macros.
10656
106572006-03-05 06:16  gb
10658
10659        * level-1/l1-lisp-threads.lisp: Arch macros for kernel globals.
10660
106612006-03-05 06:16  gb
10662
10663        * level-1/l1-readloop-lds.lisp: Check *interrupt-level* value, not
10664        (interrupt-level).
10665
106662006-03-05 06:15  gb
10667
10668        * level-1/l1-clos-boot.lisp: Make *class-table* a global.
10669
106702006-03-05 06:15  gb
10671
10672        * level-0/X86/X8664/x8664-bignum.lisp: use temp2.b (= cl) for
10673        variable shifts.
10674
106752006-03-05 06:14  gb
10676
10677        * level-0/nfasload.lisp: No code-vectors on x8664.
10678
106792006-03-05 06:14  gb
10680
10681        * level-0/l0-numbers.lisp: Conditionalization: 64-bit-target
10682        implies no (need for) destructive single-float ops.
10683
106842006-03-05 06:13  gb
10685
10686        * level-0/l0-misc.lisp: Remove some unused stuff.
10687
106882006-03-05 06:13  gb
10689
10690        * level-0/l0-array.lisp: array-element-type for x8664.
10691
106922006-03-05 06:12  gb
10693
10694        * compiler/X86/X8664/x8664-vinsns.lisp: More stuff.
10695
106962006-03-05 06:12  gb
10697
10698        * compiler/X86/x862.lisp: (Mostly) try to fix fixnum subtraction.
10699
107002006-03-05 06:11  gb
10701
10702        * compiler/X86/x86-lapmacros.lisp: TRAP-UNLESS-FIXNUM,
10703        PUSH-ARGREGS, some syntax fixes.
10704
107052006-03-05 06:10  gb
10706
10707        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
10708        X86/X8664/x8664-arch.lisp: More arch macros.
10709
107102006-03-05 06:10  gb
10711
10712        * compiler/backend.lisp: DECLARE-ARCH-SPECIFIC-MACRO returns macro
10713        name.
10714
107152006-03-05 06:09  gb
10716
10717        * level-0/X86/x86-utils.lisp: Warn for things that don't work yet;
10718        other things compile.
10719
107202006-03-05 06:08  gb
10721
10722        * level-0/X86/: x86-misc.lisp, x86-float.lisp: Compiles.
10723
107242006-03-05 06:08  gb
10725
10726        * level-0/X86/x86-pred.lisp: Fix typos/new syntax.
10727
107282006-03-04 19:13  gb
10729
10730        * lib/nfcomp.lisp: Some conditionalization.
10731
107322006-03-04 19:12  gb
10733
10734        * compiler/X86/X8664/x8664-vinsns.lisp: More stuff.  Need to review
10735        float arithmetic.
10736
107372006-03-04 19:11  gb
10738
10739        * level-0/l0-float.lisp: Comment indentation.
10740
107412006-03-04 19:11  gb
10742
10743        * level-0/X86/x86-utils.lisp: Fix a few typos; needs more work.
10744
107452006-03-04 18:30  gb
10746
10747        * lib/foreign-types.lisp: Can use TARGET-WORD-SIZE-CASE instead of
10748        TARGET-ARCH-CASE.
10749
107502006-03-04 18:29  gb
10751
10752        * lib/macros.lisp: New arch-specific macros. (Still need to do
10753        something about DEFCALLBACK and related functions.)
10754
107552006-03-04 18:29  gb
10756
10757        * lib/number-macros.lisp: New arch-specific macros.
10758
107592006-03-04 18:28  gb
10760
10761        * compiler/X86/x862.lisp: Keep unboxed float constants in the
10762        function (as aligned words following "real" instructions and
10763        preceding boxed constants.)
10764
107652006-03-04 18:26  gb
10766
10767        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
10768        X86/X8664/x8664-arch.lisp: Remove some remaining uses of
10769        TARGET-ARCH-CASE by using arch-specific macro implementations.
10770
107712006-03-04 18:25  gb
10772
10773        * compiler/backend.lisp: Mechanism for arch-specific macros.
10774
107752006-03-04 18:24  gb
10776
10777        * compiler/arch.lisp: New constructor, so that we can keep track of
10778        defined target-archs.  Hash table in each arch structure, for
10779        arch-dependent macros.
10780
107812006-03-03 19:38  gb
10782
10783        * lib/number-macros.lisp: Will need a lot more work.
10784
107852006-03-03 19:38  gb
10786
10787        * lib/systems.lisp: xx8664xfasload.
10788
107892006-03-03 19:38  gb
10790
10791        * lib/compile-ccl.lisp: *x8664-xload-modules*.
10792
107932006-03-03 19:37  gb
10794
10795        * level-0/X86/X8664/.cvsignore: ignore lx64fsl files.
10796
107972006-03-03 19:37  gb
10798
10799        * level-0/X86/x86-def.lisp: extra close paren.
10800
108012006-03-03 19:36  gb
10802
10803        * level-0/X86/x86-float.lisp: package prefix on MXCSR-CONTROL-BYTE.
10804
108052006-03-03 19:36  gb
10806
10807        * level-0/X86/x86-numbers.lisp: Don't call local variable "shift".
10808
108092006-03-03 19:11  gb
10810
10811        * level-0/: .cvsignore, X86/.cvsignore: Ignore lx64fsl files.
10812
108132006-03-03 19:11  gb
10814
10815        * compiler/X86/X8664/x8664-vinsns.lisp: A few more things.
10816
108172006-03-03 19:11  gb
10818
10819        * compiler/X86/x862.lisp: Conserve imm regs more in inc-ptr
10820
108212006-03-03 19:10  gb
10822
10823        * compiler/X86/x86-lapmacros.lisp: Remove (duplicate, bad)
10824        definitions of int-to-double.
10825
108262006-03-03 19:09  gb
10827
10828        * compiler/X86/: x86-asm.lisp, x86-disassemble.lisp: A few more
10829        UUOs.
10830
108312006-03-03 19:09  gb
10832
10833        * compiler/nx1.lisp: Use (old, unused) ff-call operator to mark
10834        x8664 ff-calls.
10835
108362006-03-03 02:09  gb
10837
10838        * compiler/X86/X8664/x8664-vinsns.lisp: fix typo.
10839
108402006-03-03 02:09  gb
10841
10842        * compiler/X86/X8664/x8664-arch.lisp: rcontext is %fs, and (with
10843        that change) tcr-bias is 0.
10844
108452006-03-03 02:08  gb
10846
10847        * xdump/xppcfasload.lisp: move xcompile-level-0, etc, away from
10848        here.
10849
108502006-03-03 02:07  gb
10851
10852        * xdump/xfasload.lisp: move xcompile-level-0, etc, here.
10853
108542006-03-03 02:06  gb
10855
10856        * xdump/xx8664-fasload.lisp: New file; still needs work.
10857
108582006-03-03 01:15  gb
10859
10860        * lisp-kernel/thread_manager.c: Um,function name is
10861        'amd64_set_gsbase'.
10862
108632006-03-03 01:05  gb
10864
10865        * lisp-kernel/: freebsd8664/Makefile, linuxx8664/Makefile: Assert
10866        that we have thread-local storage by passing -DHAVE_TLS.
10867
108682006-03-03 01:04  gb
10869
10870        * lisp-kernel/thread_manager.c: new_tcr sets up extra segment
10871        register if x8664 and HAVE_TLS.
10872
108732006-03-03 01:03  gb
10874
10875        * lisp-kernel/x86-constants64.h: tcr.single_float_convert is a
10876        struct; tag in most significant word.
10877
108782006-03-03 01:03  gb
10879
10880        * lisp-kernel/x86-constants64.s: tcr bias is 0.  rcontext = %gs, at
10881        least for Linux/FreeBSD.
10882
108832006-03-02 23:16  gb
10884
10885        * compiler/arch.lisp: add big-endian field to target-arch.
10886
108872006-03-02 23:16  gb
10888
10889        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Big
10890        endian.
10891
108922006-03-02 23:14  gb
10893
10894        * compiler/X86/: X8664/x8664-vinsns.lisp, x862.lisp: &lexpr stuff,
10895        mostly.
10896
108972006-03-02 23:14  gb
10898
10899        * compiler/X86/X8664/x8664-arch.lisp: We're not big-endian.
10900
109012006-03-02 23:13  gb
10902
10903        * lib/macros.lisp: Comment formatting.
10904
109052006-03-02 23:12  gb
10906
10907        * level-0/: l0-cfm-support.lisp, l0-hash.lisp, l0-init.lisp,
10908        l0-io.lisp, l0-misc.lisp, l0-numbers.lisp, l0-pred.lisp,
10909        l0-symbol.lisp, l0-utils.lisp, nfasload.lisp: Conditionalization
10910        changes.
10911
109122006-03-02 23:11  gb
10913
10914        * lisp-kernel/thread_manager.c: Change thread creation/activation,
10915        so that new_tcr() call happens on the new thread.
10916
109172006-03-02 22:51  gb
10918
10919        * lisp-kernel/Threads.h: Fix new_tcr() prototype.  Why did this
10920        compile in FreeBSD/x86-64 ?
10921
109222006-03-02 22:28  gb
10923
10924        * lisp-kernel/freebsd8664/Makefile: Depend on the linker script.
10925        Use some make variables to make changing/ ignoring that script
10926        easier.
10927
109282006-03-02 22:27  gb
10929
10930        * lisp-kernel/thread_manager.c: Conditionalize some for FreeBSD.
10931
109322006-03-02 22:27  gb
10933
10934        * lisp-kernel/pmcl-kernel.c: FreeBSD can also map (at least) 512GB.
10935       
10936        Not sure how to get real name of executable in FreeBSd, so use
10937        argv[0] for now.
10938       
10939        CPUID instruction returns cache block size in ebx, not eax.
10940
109412006-03-02 22:25  gb
10942
10943        * lisp-kernel/freebsd8664/elf_x86_64.x: Output file wasn't
10944        executable if subprims were mapped to low memory; map them to a
10945        fixed address (0x410000).  Will need to change subprims base in
10946        arch definition, and things (bad_funcall) that may depend on it.
10947
109482006-03-02 19:19  gb
10949
10950        * lisp-kernel/x86-spentry64.s: Try to avoid use of %temp0 (which
10951        may contain next_method_context); use %temp1 instead.
10952
109532006-03-02 19:18  gb
10954
10955        * lisp-kernel/x86-constants64.s: next_method_context is temp0, not
10956        temp1 (according to lisp).
10957
109582006-03-01 12:42  gb
10959
10960        * level-0/nfasload.lisp: One lousy missing #\)!  All this fuss over
10961        one lousy missing #\) !
10962
109632006-03-01 12:39  gb
10964
10965        * xdump/faslenv.lisp: Define $fasl-clfun.
10966
109672006-03-01 12:38  gb
10968
10969        * level-1/ppc-threads-utils.lisp: Rename %FIXNUM-SET-U32 ->
10970        %FIXNUM-SET-NATURAL.
10971
109722006-03-01 12:37  gb
10973
10974        * level-0/X86/x86-def.lisp: Translate most of this, except for the
10975        lexpr stuff.
10976
109772006-03-01 12:37  gb
10978
10979        * level-0/PPC/ppc-def.lisp: Delete a few things that seem to be
10980        totally unused.  Rename %FIXNUM-SET-U32 -> %FIXNUM-SET-NATURAL.
10981
109822006-03-01 12:36  gb
10983
10984        * level-0/nfasload.lisp: $fasl-clfun.
10985
109862006-03-01 12:33  gb
10987
10988        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: %ilogbitp,
10989        inline multiplication.
10990
109912006-03-01 12:32  gb
10992
10993        * compiler/X86/x86-lap.lisp: %define-x86-lap-function: "function
10994        creator" isn't a parameter, so signature matches what the compiler
10995        expects.
10996
109972006-03-01 12:31  gb
10998
10999        * compiler/X86/x86-asm.lisp: Insert register operand correctly in
11000        immeditate bt/btc/btr/bts.  Some imul variants (at least the
11001        64/32/16-bit versions.)
11002
110032006-03-01 12:19  gb
11004
11005        * compiler/nx1.lisp: Don't require SPARC-LAP in nx-x86-lap-function
11006        ...
11007
110082006-02-28 19:46  gb
11009
11010        * compiler/X86/x862.lisp: Always build/ensure that a frame exists
11011        before calling a subprim.  Handle &key, other/harder &optional
11012        cases.
11013       
11014        Todo: &lexpr, %ilogbitp, ??
11015
110162006-02-28 19:44  gb
11017
11018        * compiler/X86/X8664/x8664-vinsns.lisp: &optional defaulting and
11019        supplied-p handling; keywords subprims.
11020
110212006-02-28 19:43  gb
11022
11023        * level-1/l1-reader.lisp: Signal IMPOSSIBLE-NUMBER conditions if
11024        parsing an potential number yields an ARITHMETIC-ERROR.
11025
110262006-02-28 19:43  gb
11027
11028        * level-1/l1-error-system.lisp: Define IMPOSSIBLE-NUMBER as a
11029        subtype of READER-ERROR.
11030
110312006-02-28 19:42  gb
11032
11033        * lib/numbers.lisp: If we'd get overflow or underflow when creating
11034        a float and the corresponding exception is enabled, generate the
11035        appropriate condition rather than CERRORing unconditionally.
11036
110372006-02-28 19:40  gb
11038
11039        * lib/macros.lisp: Use target-word-size-case in %ilogbitp.
11040
110412006-02-28 19:37  gb
11042
11043        * lisp-kernel/x86-spentry64.s: stkconslist, stkconslist_star,
11044        mkstackv, fix in heap_cons_rest_arg, simple_keywords, keyword_args,
11045        keyword_bind, fix in stack_cons_rest_arg, spreadargz, tfuncallgen,
11046        tfuncallslide,tfuncallvsp,tcallsymgen, tcallsymslide, tcallsymvsp,
11047        tcallnfngen, tcallnfnslide, tcallnfnvsp.
11048       
11049        todo: ffcall, syscall, callback, lexprs.
11050
110512006-02-28 19:33  gb
11052
11053        * lisp-kernel/x86-macros.s: compare_reg_to_nil, discard_temp_frame.
11054
110552006-02-28 19:32  gb
11056
11057        * lisp-kernel/x86-constants64.s: function_header_offset,
11058        function_data_offset
11059
110602006-02-28 19:32  gb
11061
11062        * lisp-kernel/x86-constants64.h: TCR flags are a natural.
11063
110642006-02-28 19:31  gb
11065
11066        * lisp-kernel/x86-constants64.h: TCR flags are unsigned.
11067
110682006-02-28 19:31  gb
11069
11070        * lisp-kernel/x86-constants.h: TCR flags.
11071
110722006-02-28 19:31  gb
11073
11074        * lisp-kernel/ppc-spentry.s: Fix comment (have never used temp0 for
11075        closure data).
11076
110772006-02-27 14:14  gb
11078
11079        * compiler/PPC/ppc2.lisp: Hadn't saved the buffer; ppc2-%aset2
11080        changes were incomplete.
11081
110822006-02-26 23:30  gb
11083
11084        * lisp-kernel/pmcl-kernel.c: Suppress compiler warning.
11085
110862006-02-26 22:51  gb
11087
11088        * release-notes.txt: Update.
11089
110902006-02-26 22:51  gb
11091
11092        * level-1/: l1-application.lisp, l1-boot-lds.lisp,
11093        l1-lisp-threads.lisp: Exercise more control over the stack sizes of
11094        listener threads (especially the initial listener.)
11095       
11096        (The --thread-stack-size argument affects the size of the initial
11097        listener's stacks only.)
11098
110992006-02-26 22:49  gb
11100
11101        * lisp-kernel/pmcl-kernel.c: Fix the usage message.
11102
111032006-02-26 21:58  gb
11104
11105        * lisp-kernel/pmcl-kernel.c: Split --stack-size and
11106        --thread-stack-size args, to avoid rlimit problems (and because
11107        they're really separate issues.)
11108
111092006-02-26 21:23  gb
11110
11111        * lib/macros.lisp: Remove (most) support for tracing callbacks.
11112        (Having the functionality isn't a bad idea, but the way that it was
11113        implemented made the code hard to read and maintain.  Maybe redo
11114        this.)
11115
111162006-02-26 21:21  gb
11117
11118        * lisp-kernel/pmcl-kernel.c: Can't reserve 512GB on LinuxPPC64; try
11119        256GB instead.
11120
111212006-02-26 20:59  gb
11122
11123        * level-1/version.lisp: Bump.
11124
111252006-02-26 20:37  gb
11126
11127        * lisp-kernel/: darwinppc/Makefile, darwinppc64/Makefile: Restore
11128        COPT setting, clobbered on last (accidental) checkin.
11129
111302006-02-26 20:35  gb
11131
11132        * lisp-kernel/lisp_globals.h: stack-size global
11133
111342006-02-26 20:35  gb
11135
11136        * lisp-kernel/ppc-asmutils.s: atomic_and
11137
111382006-02-26 20:35  gb
11139
11140        * lisp-kernel/pmcl-kernel.c: more mappable memory on 64-bit
11141        platforms.  Set stack-size global from command line arg
11142
111432006-02-26 20:35  gb
11144
11145        * lisp-kernel/gc.c: check_range() takes a headers_allowed arg (not