source: trunk/ccl/ChangeLog @ 6037

Last change on this file since 6037 was 6037, checked in by gb, 14 years ago
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 708.1 KB
<
Line 
12007-03-14 05:11  gb
2
3        * lib/ffi-darwinppc32.lisp: Fix typo (extra quote) in
4        generate-callback-bindings.
5
62007-03-13 06:10  gb
7
8        * lisp-kernel/darwinx8664/Makefile: (re-)enable -O2.
9
102007-03-13 03:58  gb
11
12        * lib/backtrace.lisp: Fix fenceposts in CLOSURE-CLOSED-OVER-VALUES.
13
142007-03-12 05:11  gb
15
16        * lisp-kernel/x86-exceptions.c: Simplify interrupt_handler() a
17        little.
18
192007-03-12 05:10  gb
20
21        * lib/foreign-types.lisp: Fix "extra arguments" error message in
22        %EXTERNAL-CALL-EXPANDER.
23
242007-03-12 05:09  gb
25
26        * level-1/l1-clos-boot.lisp: class-wrapper-random-state: use
27        encapsulation, and a lock.
28
292007-03-12 05:08  gb
30
31        * level-1/: l1-aprims.lisp, l1-numbers.lisp: *RANDOM-STATE* is
32        thread-local.
33
342007-03-12 02:25  gb
35
36        * lisp-kernel/x86-exceptions.c: in catch_exception_raise(), try to
37        deal with variations in Mach behavior: "exception" may be
38        EXC_BAD_ACCESS when an illegal instruction causes a "general
39        protection fault".
40
412007-03-09 15:56  gb
42
43        * level-1/l1-files.lisp: Bill's fix to (MAKE-PATHNAME :DIRECTORY
44        NIL ...)
45
462007-03-09 00:01  gb
47
48        * lib/dumplisp.lisp: Use CLEAR-OPEN-FILE-STREAMS.
49
502007-03-09 00:00  gb
51
52        * lib/ccl-export-syms.lisp: Accessors of open-file-streams; no more
53        *OPEN-FILE-STREAMS*.
54
552007-03-09 00:00  gb
56
57        * level-1/: l1-streams.lisp, l1-sysio.lisp: Encapsulation for
58        open-file-streams.
59
602007-03-08 23:59  gb
61
62        * level-1/l1-readloop.lisp: OPEN-FILE-STREAMS is a function,
63        returns a copy of a list of open file streams in PREPARE-TO-QUIT.
64
652007-03-08 23:58  gb
66
67        * level-1/l1-init.lisp: Lose *OPEN-FILE-STREAMS* and the lock
68        associated with it.
69
702007-03-08 23:57  gb
71
72        * level-1/l1-aprims.lisp: Bind *GENSYM-COUNTER* per-thread.
73
742007-03-08 23:47  gb
75
76        * level-0/l0-hash.lisp: When REMHASH deletes the last entry in a
77        hash-table, it fills the hash-table vector with "free" markers.
78        (There may already be lots of "deleted" markers in the table.)
79
802007-03-08 22:26  gb
81
82        * level-1/linux-files.lisp: *spin-lock-tries* with a trailing *.
83
842007-03-08 22:24  gb
85
86        * lib/numbers.lisp: printing random-state: don't shift seeds.
87
882007-03-08 22:24  gb
89
90        * level-1/l1-numbers.lisp: MAKE-RANDOM-STATE: don't shift.
91
922007-03-08 22:24  gb
93
94        * level-0/X86/x86-numbers.lisp: Do %next-random-seed more portably.
95
962007-03-08 22:23  gb
97
98        * level-0/PPC/PPC64/ppc64-bignum.lisp: Typo in comment.
99
1002007-03-08 22:23  gb
101
102        * level-0/PPC/ppc-numbers.lisp: Just a 32-bit version of
103        %next-random-pair.
104
1052007-03-08 22:22  gb
106
107        * level-0/l0-numbers.lisp: And, while we're at it: do the
108        next-random-seed permutation in %next-random-pair, which accepts
109        and returns a pair of 16-bit integers.  That's in lap on ppc32 and
110        in lisp on 64-bit platforms.
111
1122007-03-08 22:20  gb
113
114        * level-0/l0-numbers.lisp: Don't shift random seeds.
115
1162007-03-08 03:30  gb
117
118        * level-1/x86-error-signal.lisp: Check for trap opcode >= #x70
119        rather than >= #x80, because of the new way that
120        uuo-error-slot-unbound is encoded.
121
1222007-03-08 03:28  gb
123
124        * compiler/X86/x86-disassemble.lisp: Recognize
125        uuo-error-slot-unbound.
126
1272007-03-08 03:28  gb
128
129        * compiler/X86/x86-asm.lisp: Use (int #x7_) for
130        uuo-error-slot-unbound, since some (int #x8_) traps confuse Mach.
131
1322007-03-07 08:29  gb
133
134        * compiler/PPC/ppc2.lisp: Don't shadow the definition of PPC-DIV2.
135
1362007-03-07 07:45  gb
137
138        * level-1/linux-files.lisp: For #+linux-target, try to use
139        #_sysconf in CPU-COUNT, and fall back to parsing /proc/cpuinfo only
140        if that fails.  (CPU-COUNT is called early in the cold load, before
141        we can make the file-stream necessary to do the parsing.)
142
1432007-03-07 07:33  gb
144
145        * lisp-kernel/: linuxppc/Makefile, linuxppc64/Makefile,
146        linuxx8664/Makefile: Handle new GNU ld "hash-style" linker options.
147
1482007-03-07 07:25  gb
149
150        * lisp-kernel/x86-exceptions.h: Darwin signal return: logior in the
151        el-bizarro syscall mask, pass the magic number 0x1e as a second
152        arg, just in case.
153
1542007-03-07 07:24  gb
155
156        * level-1/l1-sysio.lisp: OPEN, CLOSE lock *OPEN-FILE-STREAMS-LOCK*
157        before accessing *OPEN-FILE-STREAMS*.
158
1592007-03-07 07:23  gb
160
161        * level-1/l1-readloop.lisp: Add comment about
162        *OPEN-FILE-STREAMS-LOCK*.
163
1642007-03-07 07:23  gb
165
166        * level-1/l1-init.lisp: Add *OPEN-FILE-STREAMS-LOCK*.
167
1682007-03-07 07:21  gb
169
170        * lib/nfcomp.lisp: Bind *FCOMP-PREVIOUS-POSITION* in
171        FCOMP-READ-LOOP (e.g., don't just hammer on the static binding.)
172
1732007-03-07 07:05  gb
174
175        * xdump/heap-image.lisp: Bump current image version.
176
1772007-03-07 07:02  gb
178
179        * lisp-kernel/x86-asmutils64.s: Some (currently unused) CPUID
180        "calls" want an argument in ecx.  Set that arg to 0 for now.
181
1822007-03-07 07:01  gb
183
184        * lisp-kernel/thread_manager.c: Use spinlocks to guard updates to
185        "real" locks; those updates can be simplified.
186       
187        lock_recursive_lock: no (ignored) timeout arg.
188
1892007-03-07 06:59  gb
190
191        * lisp-kernel/image.h: Bump current, max abi versions; continue to
192        support the old one.
193
1942007-03-07 06:59  gb
195
196        * lisp-kernel/Threads.h: #include #<sched.h>, for sched_yield()
197        prototype.  Change declaration of LOCK macro: no null timespec
198        required.  RECURSIVE_LOCKs have spinlock fields.
199
2002007-03-07 06:56  gb
201
202        * level-1/version.lisp: bump, indicate work-in-progress development
203        version.
204
2052007-03-07 06:56  gb
206
207        * level-1/linux-files.lisp: Determing *spin-lock-tries* at launch
208        time, based on cpu-count.  YIELD moved here, does #_sched_yield
209        rather than something lower-level.
210
2112007-03-07 06:53  gb
212
213        * level-0/l0-misc.lisp: Locks use spinlocks, try *spin-lock-tries*
214        to obtain them before yielding.
215
2162007-03-07 06:52  gb
217
218        * level-0/l0-io.lisp: Move YIELD elsewhere.
219
2202007-03-07 06:51  gb
221
222        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
223        X86/X8664/x8664-arch.lisp: Add spinlock field to lockptr storage
224        layout.
225
2262007-03-02 05:10  gb
227
228        * level-1/l1-application.lisp: Toplevel function: initial-listener
229        class is 'TTY-LISTENER.
230
2312007-03-02 05:09  gb
232
233        * level-1/l1-lisp-threads.lisp: Print n's value, not n in error
234        message.
235
2362007-03-02 05:09  gb
237
238        * level-1/l1-processes.lisp: New process class: TTY-LISTENER.
239       
240        EXIT-INTERACTIVE-PROCESS: for most processes, just PROCESS-KILL.
241        For TTY-LISTENER, call QUIT.
242
2432007-03-02 05:08  gb
244
245        * level-1/l1-readloop-lds.lisp: Don't call QUIT on EOF, call
246        EXIT-INTERACTIVE-PROCESS instead.
247       
248        Look at *QUIT-ON-EOF* when deciding what to do in response to EOF.
249
2502007-03-02 05:06  gb
251
252        * lib/ccl-export-syms.lisp: Export *quit-on-eof*.
253
2542007-03-02 05:06  gb
255
256        * lib/macros.lisp: WITH-MACPTRS: move initialization/modification
257        of null pointers into body.
258
2592007-03-02 05:05  gb
260
261        * lisp-kernel/x86-exceptions.c: Try to handle two more cases of
262        consus-interruptus.
263
2642007-03-02 05:05  gb
265
266        * compiler/nx0.lisp: (the <type> <constant>) transforms to
267        <constant> if constant is of type <type>.)
268       
269        Do we need an ignore-errors here ? Or does <type> need to be
270        defined ?
271
2722007-03-02 05:03  gb
273
274        * compiler/X86/x862.lisp: Do the / * thing.
275
2762007-03-02 05:02  gb
277
278        * compiler/X86/X8664/x8664-vinsns.lisp: things that do calls need
279        :call attribute.
280
2812007-03-01 04:04  gb
282
283        * lisp-kernel/x86-spentry64.s: binding primitives: set value after
284        new binding frame
285
2862007-02-28 07:04  gb
287
288        * level-0/X86/x86-numbers.lisp: In %fixnum-truncate, use -8(sp)
289        rather than %rbp; trust callback_for_interrupt() to preserve it.
290
2912007-02-28 07:03  gb
292
293        * lisp-kernel/x86-exceptions.c: Try to preserve -8(sp) across
294        callback_for_interrupt().
295
2962007-02-28 05:18  gb
297
298        * lisp-kernel/x86-gc.c: check_node: ignore tiny things (shift
299        counts) that may wind up on the vstack.
300       
301        Since those tiny things might be tagged as headers, walk the vstack
302        with new "headerless" functions that ignore headers.
303
3042007-02-28 05:16  gb
305
306        * lisp-kernel/x86-exceptions.c: In pc_luser_xp: if allocating and
307        before the alloc trap and interrupting, back out of the
308        modification to save_allocptr (and allocptr register) and set
309        *interrupt_displacement.
310
3112007-02-23 10:13  gb
312
313        * lib/foreign-types.lisp: Changes to GUESS-ALIGNMENT.  Again, this
314        only makes sense for cases where we have to guess; a bitfield
315        that's 8 bits wide still has an alignment of 1.
316       
317        Factor in the alignment of the containing int when bitfields are
318        involved.
319       
320        When parsing a record type, set the "bits" slot of each field.
321        (Not too many things look at that slot, but we want the effect of
322        loading a record from the database to match the effect of parsing a
323        definition as exactly as possible, and to be able to use EQUALP to
324        compare the results.)
325
3262007-02-23 10:06  gb
327
328        * lib/db-io.lisp: Some extra fields in
329        objc-message-info/objc-method-info structures.
330       
331        When calculating overall alignment of a structure, treat bitfields
332        as if they were :unsigned-int (since there's a "containing"
333        unsigned int that affects alignment.  N.B: this should be imposed
334        for anything that has an alignment of 1, not just a size of 1.)
335       
336        When loading integer types, try to use the precomputed types rather
337        than consing a new one.  This (a) reduces consing a little (b) is
338        more likely to get the alignment correct.  For (b), we really need
339        to distinguish between bitfields and addressable integers.
340
3412007-02-23 09:30  gb
342
343        * compiler/X86/x862.lisp: Nonsense in x862-set-bit.
344
3452007-02-22 02:33  gb
346
347        * level-0/l0-misc.lisp: Tweak ROOM output a little.
348
3492007-02-22 02:28  gb
350
351        * lisp-kernel/x86-gc.c: Fix up the verbose GC herald a bit (get
352        heap size right ...).
353
3542007-02-22 02:27  gb
355
356        * lisp-kernel/linuxx8664/Makefile: Tell GNU ld to use the
357        traditional (sysv) style of hash maps, if it understands that
358        option.
359
3602007-02-21 06:01  gb
361
362        * lisp-kernel/: ppc-gc.c, x86-gc.c: Handle the case where nothing
363        has been consed since last GC.  (There are some fenceposts there.)
364       
365        verbose GC herald tries to indicate how much is allocated in the
366        area being GCed.
367
3682007-02-21 05:58  gb
369
370        * lisp-kernel/: ppc-exceptions.c, x86-exceptions.c: If full GC is
371        deferred, ensure that a full GC happens after WITHOUT-GCING exits.
372
3732007-02-21 05:57  gb
374
375        * compiler/X86/x86-disassemble.lisp: Continue disassembly after
376        uuo-gc-trap.
377
3782007-02-19 04:50  gb
379
380        * lib/foreign-types.lisp: Use keywords more consistently.
381       
382        (Note: there seems to be a bug which is keeping the cdb data
383        structures from getting defined correctly at load time; the
384        workaround is to compile foreign-types.lisp - which defines them -
385        in the same session as and before db-io - which uses them - is
386        compiled.)
387
3882007-02-19 04:48  gb
389
390        * level-0/X86/x86-clos.lisp: UNSET-FIN-TRAMPOLINE: don't tail-call
391        error.
392
3932007-02-19 04:42  gb
394
395        * level-0/PPC/ppc-clos.lisp: UNSET-FIN-TRAMPOLINE: don't tail-call
396        the error function.
397
3982007-02-19 04:40  gb
399
400        * level-1/l1-clos-boot.lisp: MAYBE-UPDATE-OBSOLETE-INSTANCE: handle
401        funcallable objects that aren't STANDARD-GENERIC-FUNCTIONs.
402
4032007-02-19 04:40  gb
404
405        * level-1/l1-clos.lisp: Move GENERIC-FUNCTION-NAME to
406        FUNCALLABLE-STANDARD-OBJECT.
407       
408        %ALLOCATE-GF-INSTANCE: don't create a dispatch table if not
409        creating a GF.
410
4112007-02-19 04:36  gb
412
413        * lib/describe.lisp: STANDARD-OBJECT-LINE-N: handle
414        funcallable-stanard-objects better.
415
4162007-02-19 04:34  gb
417
418        * lib/ccl-export-syms.lisp: Export FUNCALLABLE-STANDARD-OBJECT from
419        CCL, OPENMCL-MOP.
420
4212007-02-19 02:09  gb
422
423        * level-1/l1-clos-boot.lisp: FUNCALLABLE-STANDARD-OBJECT is a
424        FUNCALLABLE-STANDARD-CLASS.
425
4262007-02-19 02:07  gb
427
428        * examples/bridge.lisp: MAKE-OPTIMIZED-SEND: missing "msg" arg in
429        error message.
430
4312007-02-15 02:46  gb
432
433        * examples/objc-support.lisp: Call REGISTER-OBJC-INIT-MESSAGES
434        after MAP-OBJC-CLASSES in LOAD-OBJC-EXTENSION-FRAMEWORK.
435
4362007-02-15 02:45  gb
437
438        * examples/bridge.lisp: UPDATE-OBJC-METHOD-INFO: don't process init
439        methods yet.
440
4412007-02-14 02:39  gb
442
443        * release-notes.txt: Fix a typo.
444
4452007-02-14 02:35  gb
446
447        * release-notes.txt: Update for 070214 snapshots.
448
4492007-02-13 23:36  gb
450
451        * level-1/version.lisp: Bump.
452
4532007-02-13 23:36  gb
454
455        * lisp-kernel/image.h, xdump/heap-image.lisp: Update
456        image-abi-version.
457
4582007-02-13 23:29  gb
459
460        * xdump/faslenv.lisp: Finish bumping fasl version.
461
4622007-02-13 23:15  gb
463
464        * lib/nfcomp.lisp: Bump current fasl version.
465
4662007-02-13 23:02  gb
467
468        * x86-headers64/gl/C/populate.sh: rm -rf ./usr
469
4702007-02-13 22:45  gb
471
472        * xdump/faslenv.lisp: Start bumping fasl-version.
473
4742007-02-13 22:41  gb
475
476        * freebsd-headers64/: gmp/C/populate.sh, gnome2/C/populate.sh,
477        gtk2/C/populate.sh, libc/C/populate.sh: rm -rf  ./usr
478
4792007-02-13 21:16  gb
480
481        * freebsd-headers64/gl/C/populate.sh: Avoid processing some files
482        that contain incompatible definitions of some math library stuff
483        ("log" either has to do with logarithms or logging ...).
484
4852007-02-13 18:42  gb
486
487        * lib/misc.lisp: Change the way that TIME is reported by default:
488        mention the number of available CPU cores, don't assume that
489        there's that much of a relationship between CPU time and wall-clock
490        time.
491
4922007-02-13 18:41  gb
493
494        * level-1/linux-files.lisp: Don't do whatever el-bizarro Mach thing
495        once seemed to be necessary in %%RUSAGE.  Require syscall stuff
496        when :execute, too.
497
4982007-02-13 18:35  gb
499
500        * lib/ffi-linuxppc64.lisp: It's %%get-unsigned-longlong, and the
501        offset arg is required.
502
5032007-02-13 18:12  gb
504
505        * level-0/X86/x86-misc.lisp: Add rdtsc (returns 60 bit non-negative
506        fixnum) and rdtsc64 (returns 64-bit non-negative integer.)
507
5082007-02-13 18:10  gb
509
510        * lib/time.lisp: Simpler GET-INTERNAL-RUN-TIME (tries harder not to
511        cons.)
512
5132007-02-13 18:10  gb
514
515        * examples/rubix/rubix.lisp: A little bit of cgfloat stuff; there
516        are more/other float-size issues deeper down in the code.
517
5182007-02-13 18:09  gb
519
520        * examples/objc-support.lisp: Fixup the x86-64 error-return
521        callback trampiline code (was missing a byte of machine code.)
522
5232007-02-13 18:08  gb
524
525        * examples/objc-runtime.lisp: Set the mxcsr/fpctrl fields of
526        jmp-buf to safe/sane values.
527
5282007-02-13 18:07  gb
529
530        * examples/cocoa-window.lisp: Don't change-class
531        *cocoa-event-process* until we start to run the event loop.
532       
533        Don't do _deallocHardCore: explicitly.
534
5352007-02-13 17:35  gb
536
537        * compiler/PPC/ppc2.lisp: poweropen-foreign-args: on ppc64, a
538        DOUBLE-FLOAT aliases just one gpr.
539
5402007-02-13 17:34  gb
541
542        * darwin-headers64/libc/C/populate.sh: Select the SDK directory.
543
5442007-02-13 17:34  gb
545
546        * library/pty.lisp: return-value pointers in OPEN-PTY-PAIR are just
547        32-bit ints, not "long".
548
5492007-02-13 17:33  gb
550
551        * lib/ffi-darwinppc64.lisp: Callback arguments: update offset/delta
552        for each scalar, not each arg.
553       
554        Fix some backquoting/indentation.
555
5562007-02-13 17:31  gb
557
558        * lib/ffi-darwinppc32.lisp: Fix typo (^get-signed-long).
559
5602007-02-12 16:23  gb
561
562        * darwin-x86-headers64/libc/C/populate.sh: Select an SDK.
563
5642007-02-11 20:22  gb
565
566        * examples/bridge.lisp: method-typestring needs to be
567        conditionalized.  How has this been working ?
568
5692007-02-11 20:22  gb
570
571        * examples/cocoa-editor.lisp: remove some debugging code.
572
5732007-02-11 20:21  gb
574
575        * examples/objc-runtime.lisp: %mlist-containing is
576        #-apple-objc-2.0.
577
5782007-02-11 20:21  gb
579
580        * examples/objc-support.lisp: Lose a quote mark, fix another typo.
581
5822007-02-11 05:35  gb
583
584        * level-1/version.lisp: Bump.
585
5862007-02-11 05:28  gb
587
588        * darwin-headers/: addressbook/C/populate.sh, carbon/C/populate.sh,
589        cocoa/C/populate.sh, gl/C/populate.sh, libc/C/populate.sh,
590        quicktime/C/populate.sh, webkit/C/populate.sh: Make the SDK prefix
591        an optional argument; default to the Tiger SDK.
592
5932007-02-11 05:26  gb
594
595        * lib/ffi-darwinppc32.lisp: Ignore errors; it's an error to ignore
596        an errror.
597
5982007-02-11 05:26  gb
599
600        * level-1/ppc-trap-support.lisp: Conditionalize for gratuitous
601        Leopard renaming.  Suffer.
602
6032007-02-11 05:25  gb
604
605        * level-1/l1-boot-lds.lisp: MAKE-MCL-LISTENER-PROCESS will preset
606        an existing process (so that the listener process appears to be
607        "persistent".)
608
6092007-02-11 05:24  gb
610
611        * level-1/l1-application.lisp: LISP-DEVELOPMENT-SYSTEM tries to
612        make the initial-listener object persistent acrosss
613        SAVE-APPLICATION.
614
6152007-02-11 00:01  gb
616
617        * examples/objc-support.lisp: Deftype for CF-FLOAT.
618       
619        Handle callback-error-returns on x86-64.
620
6212007-02-11 00:00  gb
622
623        * examples/objc-runtime.lisp: Pointer comparisons in splay trees
624        use %ptr<, to hide word-size differences.
625       
626        __NSConstantStringClassReference isn't what it used to be, so look
627        up NSConstantStringClass the hard way.
628       
629        Handle ns-exception/lisp-error stuff on x86-64.
630       
631        Do arg/result coercions differently.  Does any code depend on
632        COERCE-TO-ADDRESS behavior ?  (It can cause extra consing of
633        MACPTRs).
634       
635        Use the new FFI interface for message-sends, callbacks to try to
636        hide platform-specific ABI issues.
637       
638        The _deallocate-hook mechanism - which never really worked -
639        probably can't work on Objc-2.0.
640
6412007-02-10 23:54  gb
642
643        * examples/bridge.lisp: Make structure return-type explicit in
644        objc-message-send calls in send/stret and variants.
645
6462007-02-10 22:34  gb
647
648        * examples/cocoa-window.lisp: Some indentation changes and slight
649        reorganization of the code; shouldn't be any functional/semantic
650        changes.
651
6522007-02-10 22:30  gb
653
654        * examples/: cocoa-editor.lisp, cocoa-prefs.lisp,
655        cocoa-typeout.lisp: Need to ensure that floats are CG-FLOATs when
656        appropriate; other changes for 64-bit platforms, Objc-2.0.
657
6582007-02-10 22:28  gb
659
660        * examples/: webkit.lisp, tiny.lisp: Need to ensure that floats are
661        CG-FLOATs when appropriate.
662
6632007-02-10 22:28  gb
664
665        * hemlock/bin/openmcl/.cvsignore: Ignore fasls for all platforms.
666
6672007-02-10 22:28  gb
668
669        * level-0/X86/x86-misc.lisp: VALUES uses :ARGLIST pseudo-op.
670
6712007-02-10 22:27  gb
672
673        * lib/: ffi-linuxppc64.lisp, ffi-darwinppc32.lisp,
674        ffi-darwinppc64.lisp, ffi-linuxppc32.lisp: EXPAND-FF-CALL:
675        ignore-errors when trying to parse the last arglist form as a
676        foreign type.
677
6782007-02-10 22:26  gb
679
680        * lib/foreign-types.lisp: Pretty much commited to the new FF-CALL
681        expansion ...
682
6832007-02-10 22:26  gb
684
685        * lisp-kernel/x86-spentry64.s: Preserve %rax when doing ff-call;
686        use %rdx and %r11 to hold target address.
687
6882007-02-10 22:23  gb
689
690        * library/pty.lisp: Unicode stuff when accessing control char
691        array; conditionalize for #+darwin-target, not just
692        #+darwinppc-target.
693
6942007-02-10 22:22  gb
695
696        * level-1/l1-callbacks.lisp: Fix a comment (defcallback isn't
697        ppc-specific; the comment dated from the days of 68K MCL.)
698
6992007-02-10 22:21  gb
700
701        * compiler/X86/X8664/x8664-backend.lisp: Fix some typos; do struct
702        return 32 bits at a time, to avoid consing little bignums.
703
7042007-02-10 22:15  gb
705
706        * compiler/X86/x86-lap.lisp: Support :arglist directive.
707
7082007-02-10 22:15  gb
709
710        * compiler/X86/x862.lisp: alloc-c-frame vinsn takes "extra" word
711        count, not total byte count.
712       
713        Fix handling of $undo-x86-c-frame in x862-nlexit.  (Need to check
714        the PPC case, as well.)
715
7162007-02-10 22:11  gb
717
718        * compiler/X86/X8664/x8664-vinsns.lisp: There doesn't need to be a
719        "zero-extend-s8" vinsn, but there does need to be a
720        "zero-extend-u8".
721
7222007-02-10 05:38  gb
723
724        * level-0/PPC/ppc-misc.lisp: Use new :ARGLIST directive in
725        #'VALUES.
726
7272007-02-10 05:38  gb
728
729        * compiler/PPC/ppc-lap.lisp: Support an :ARGLIST directive, so that
730        ARGLIST can say -something- about lap functions that don't take a
731        fixed number of arguments.
732
7332007-02-07 02:54  gb
734
735        * compiler/X86/X8664/x8664-backend.lisp: They spell "valu" with an
736        "e".
737
7382007-02-02 02:32  gb
739
740        * examples/: bridge.lisp, objc-clos.lisp, objc-runtime.lisp,
741        objc-support.lisp: Start to integrate with FFI changes.  No more
742        %SEND, process and precompile "init" messages when interfaces are
743        accessed.  (Note: should try to handle varargs init messages, even
744        if we have to call %FF-CALL at runtime.)
745
7462007-02-02 02:31  gb
747
748        * examples/: addressbook.lisp, webkit.lisp: Change the
749        initialization code a bit.
750
7512007-02-02 02:27  gb
752
753        * lib/foreign-types.lisp: Try to fix another case involving
754        "auxiliary types".
755       
756        I think that the concept of auxiliary types might make sense in a
757        context like:
758       
759        (def-foreign-type nil   (:struct :foo     (:a :int)     (:b
760        (:struct :bar (:x :int) (:y :int)))))
761       
762        In that case, :struct :bar is local to the definition.  In the
763        similar case:
764       
765        (def-foreign-type nil   (:struct :foo     (:a :int)     (:b
766        (:struct :bar))))
767       
768        :BAR is presumably defined (globally) elsewhere.
769
7702007-02-02 02:17  gb
771
772        * darwin-headers/addressbook/C/populate.sh: Specify the SDK to use.
773         (Setting "SDK=" will hopefully work with older version of xcode.)
774
7752007-02-02 02:15  gb
776
777        * darwin-headers/addressbook/C/.cvsignore: Ignore ./Developer.
778
7792007-01-31 23:26  gb
780
781        * compiler/PPC/ppc2.lisp: Don't treat :registers arg as a real
782        argument in ppc2-poweropen-foreign-args.
783
7842007-01-31 22:47  gb
785
786        * lib/ffi-darwinppc64.lisp: Needed ,@ to return assign structure
787        components from registers.
788
7892007-01-31 22:45  gb
790
791        * lib/db-io.lisp: UNESCAPE-FOREIGN-NAME: strings with no angle
792        brackets are returned verbatim, not downcased.
793
7942007-01-31 22:44  gb
795
796        * level-0/PPC/ppc-def.lisp: Runtime version of 64-bit %ff-call
797        accepts :registers.
798
7992007-01-31 16:36  gb
800
801        * darwin-headers64/chud/: .cvsignore, C/.cvsignore, C/populate.sh:
802        New (and, so far, useless) files.
803
8042007-01-31 16:35  gb
805
806        * library/chud-metering.lisp: Add a comment; CHUD.Framework still
807        seems to be 32-bit only.
808
8092007-01-31 16:34  gb
810
811        * darwin-headers64/libc/C/.cvsignore: Ignore ./Developer.
812
8132007-01-31 16:34  gb
814
815        * darwin-headers64/libc/C/populate.sh: Use SDK; add dlfcn.h.
816
8172007-01-31 16:33  gb
818
819        * lib/db-io.lisp: Tweak the warning given if CDB-OPEN fails:
820        missing cdb file: dog bytes man; missing parent directory is more
821        newsworthy.
822
8232007-01-31 15:38  gb
824
825        * library/chud-metering.lisp: Tweak a little, so that it might work
826        on darwinppc64 (and on darwinx8664 when purify does something
827        there.)
828
8292007-01-31 15:06  gb
830
831        * darwin-headers/libc/C/populate.sh: Add dlfcn.h.
832
8332007-01-31 02:49  gb
834
835        * level-0/PPC/PPC32/ppc32-bignum.lisp: BIGNUM-NEGATE-TO-PTR.
836
8372007-01-30 22:53  gb
838
839        * freebsd-headers64/: gtk2/C/.cvsignore, gtk2/C/populate.sh,
840        gl/C/.cvsignore, gl/C/populate.sh, gnome2/.cvsignore,
841        gnome2/C/.cvsignore, gnome2/C/populate.sh, gtk2/.cvsignore,
842        gl/.cvsignore: new files.
843
8442007-01-30 22:21  gb
845
846        * freebsd-headers64/gmp/: C/.cvsignore, C/populate.sh, .cvsignore:
847        new files.
848
8492007-01-30 21:58  gb
850
851        * level-0/l0-bignum64.lisp: BIGNUM-NEGATE-TO-POINTER.
852
8532007-01-30 21:58  gb
854
855        * x86-headers64/gmp/: .cvsignore, C/.cvsignore, C/populate.sh: new
856        file
857
8582007-01-30 21:49  gb
859
860        * level-1/l1-sockets.lisp: Learn to conditionalize! It's easy and
861        fun!
862
8632007-01-30 21:40  gb
864
865        * library/openmcl-gtk-support.lisp: Conditionalize out the
866        event-polling task.
867
8682007-01-30 21:36  gb
869
870        * headers64/: gl/.cvsignore, gl/C/.cvsignore, gl/C/populate.sh,
871        gnome2/.cvsignore, gnome2/C/.cvsignore, gnome2/C/populate.sh,
872        gtk2/.cvsignore, gtk2/C/.cvsignore, gtk2/C/populate.sh: new file
873
8742007-01-30 21:35  gb
875
876        * headers/gl/C/populate.sh: process glu.h
877
8782007-01-30 17:47  gb
879
880        * library/parse-ffi.lisp: Always encode explicit structure-typed
881        function return values.
882       
883        Note when we see one, for now.
884
8852007-01-30 17:45  gb
886
887        * lib/foreign-types.lisp: %EXTERNAL-CALL-EXPANDER allows/requires a
888        leading argument to be paired with a structure-typed return-type.
889
8902007-01-30 17:43  gb
891
892        * lib/ffi-linuxppc32.lisp: linuxppc32 always returns structures via
893        the first-arg hack.
894
8952007-01-30 17:42  gb
896
897        * lib/db-io.lisp: Bump *interface-abi-version*, but continue to
898        support the old version.
899       
900        Don't check the :struct-by-value flag when encoding function
901        args/results.  (That decision's made above our pay grade now.)
902       
903        When reading a :struct/:union definition, try to update an existing
904        defintion rather than consing up a new one (this matters if the
905        record is anonymous.)
906
9072007-01-30 17:39  gb
908
909        * level-1/l1-sockets.lisp: Try to ensure that the :FORMAT argument
910        gets passed to MAKE-TCP-STREAM-SOCKET and MAKE-FILE-STREAM-SOCKET
911        correctly.
912       
913        Fix c_socket for #+linuxppc.
914
9152007-01-30 08:20  gb
916
917        * level-1/version.lisp: Bump.
918
9192007-01-30 08:20  gb
920
921        * lib/compile-ccl.lisp: Use make -j to build kernel.
922
9232007-01-30 07:02  gb
924
925        * lisp-kernel/x86-spentry64.s: .SPcallback returns rax/rdx,
926        xmm0/xmm1.
927
9282007-01-30 07:01  gb
929
930        * lib/macros.lisp: Use new callback interface unconditionally.  (A
931        day's work turned into 2 weeks, somehow.)
932
9332007-01-30 07:00  gb
934
935        * compiler/X86/X8664/x8664-backend.lisp, lib/ffi-darwinx8664.lisp,
936        lib/ffi-freebsdx8664.lisp, lib/ffi-linuxx8664.lisp: New callback
937        stuff for x8664 (all platfroms appear to use the same ABI.)
938
9392007-01-30 03:26  gb
940
941        * level-0/X86/x86-misc.lisp: Don't use boxed "disp" for
942        displacement in %ATOMIC-INCF-NODE.
943
9442007-01-29 07:27  gb
945
946        * lib/macros.lisp: Enable new callback stuff on #+ppc-target.
947
9482007-01-29 07:27  gb
949
950        * lib/ffi-darwinppc64.lisp: new callback stuff.
951
9522007-01-29 07:27  gb
953
954        * lib/ffi-darwinppc32.lisp: typos-r-us.
955
9562007-01-29 04:37  gb
957
958        * lib/ffi-darwinppc32.lisp: Flesh out darwinppc32 callback stuff.
959
9602007-01-29 04:37  gb
961
962        * lib/ffi-linuxppc64.lisp: Fix some typos/bugs; more likely remain.
963
9642007-01-29 04:36  gb
965
966        * lib/foreign-types.lisp: REQUIRE-FOREIGN-TYPE-BITS.
967
9682007-01-29 04:36  gb
969
970        * lib/macros.lisp: Use new callback scheme for darwinppc32, too.
971
9722007-01-29 04:36  gb
973
974        * compiler/PPC/PPC32/ppc32-backend.lisp: No more (old) callback
975        stuff here.
976
9772007-01-29 02:33  gb
978
979        * lib/ffi-darwinppc32.lisp: Flesh out the new callback stuff.
980
9812007-01-28 21:47  gb
982
983        * lib/: ffi-linuxppc32.lisp, ffi-linuxppc64.lisp: Flesh things out
984        a bit more, change the API, get things working ... still a moving
985        target.
986
9872007-01-28 21:46  gb
988
989        * lib/macros.lisp: For linuxppc, use the new callback mechanism.
990        (Other platforms still need more bootstrapping.)
991
9922007-01-28 21:44  gb
993
994        * compiler/PPC/PPC32/ppc32-backend.lisp: Lose the old eabi-callback
995        stuff; linuxppc 32/64-bit callbacks now use the new scheme.
996
9972007-01-28 03:21  gb
998
999        * lib/ffi-linuxppc32.lisp: Remove some typos.  Need to pass
1000        dynamic-extent, other decls separately.
1001
10022007-01-28 03:20  gb
1003
1004        * compiler/PPC/PPC32/ppc32-backend.lisp: Fix some of this stuff;
1005        use the new (ftd-based) scheme.
1006
10072007-01-28 01:43  gb
1008
1009        * compiler/PPC/PPC64/ppc64-backend.lisp: Fix some typos.  (This
1010        code's getting replaced, but fix 'em anyway.)
1011
10122007-01-28 01:42  gb
1013
1014        * lib/db-io.lisp: If a .cdb file can't be opened, show the
1015        translated pathname and mention the fact that this might indicate a
1016        problem with "ccl:"'s logical translations.
1017
10182007-01-25 04:37  gb
1019
1020        * lib/foreign-types.lisp: Never fully understood the concept
1021        "auxiliary" foreign types, but try to canonicalize intermediate
1022        struct/union/enum references, so that (EQ (PARSE-FOREIGN-TYPE
1023        '(:STRUCT :FOO))     (PARSE-FOREIGN-TYPE '(:STRUCT :FOO))) is more
1024        likely to return T (e.g., something registered in the FTD.
1025       
1026        It seems clear that this is the right thing when the structure
1027        reference is in global scope; I'm not sure what it'd mean for that
1028        not to be the case.
1029
10302007-01-25 04:32  gb
1031
1032        * lib/ffi-linuxppc32.lisp: More plausible callback-bindings
1033        callback.
1034
10352007-01-24 23:41  gb
1036
1037        * lib/ffi-linuxppc32.lisp: First cut at callback-bindings thing;
1038        may not even compile.
1039
10402007-01-24 02:39  gb
1041
1042        * compiler/: PPC/PPC32/ppc32-backend.lisp,
1043        PPC/PPC64/ppc64-backend.lisp, X86/X8664/x8664-backend.lisp: Stubs
1044        for new FTD functions.
1045
10462007-01-24 02:28  gb
1047
1048        * lib/foreign-types.lisp: A few more fields (for callbacks) in ftd
1049        defstruct.
1050
10512007-01-23 15:28  gb
1052
1053        * compiler/PPC/: PPC32/ppc32-backend.lisp,
1054        PPC64/ppc64-backend.lisp: Get FPRs from where subprim saved them.
1055        Return FPRs in the same place.  (Will need to re-work all of this
1056        for platform-dependent structure stuff.)
1057
10582007-01-23 15:26  gb
1059
1060        * lisp-kernel/ppc-spentry.s: poweropen-callback, callbackX; save fp
1061        args here.  Return all (arg) GPRs and FPRs (needs cooperation from
1062        the lisp side.)
1063
10642007-01-23 15:21  gb
1065
1066        * lisp-kernel/: ppc-constants32.s, ppc-constants64.s: Add room in
1067        c_reg_save for saved fp args (f1-f13).
1068
10692007-01-23 15:14  gb
1070
1071        * lib/foreign-types.lisp: FF-CALL implemented in terms of the new
1072        ftd hook.
1073
10742007-01-23 07:19  gb
1075
1076        * level-1/l1-clos-boot.lisp: ppc32, ppc64 also had trouble with
1077        (CLASS-OF non-simple-string).
1078
10792007-01-23 07:02  gb
1080
1081        * level-1/l1-clos-boot.lisp: x8664 class-of: typo in non-simple
1082        array case, needed new string definition.
1083
10842007-01-23 07:01  gb
1085
1086        * lib/: ffi-darwinx8664.lisp, ffi-freebsdx8664.lisp,
1087        ffi-linuxx8664.lisp: Define ffi stuff in terms of common things in
1088        compiler/X86/X8664/x8664-backend.
1089
10902007-01-23 06:59  gb
1091
1092        * compiler/X86/X8664/x8664-backend.lisp: Define (common) x8664 ffi
1093        stuff here.
1094
10952007-01-21 08:32  gb
1096
1097        * compiler/X86/x862.lisp: Name vinsn ff-call-return-registers (not
1098        "-returning-").
1099       
1100        Typecheck the :registers arg.
1101
11022007-01-21 08:32  gb
1103
1104        * compiler/X86/X8664/x8664-vinsns.lisp: ff-call-return-registers.
1105
11062007-01-21 08:31  gb
1107
1108        * compiler/X86/X8664/x8664-arch.lisp: WITH-FFCALL-RESULTS: zero the
1109        stack-block.
1110
11112007-01-21 08:31  gb
1112
1113        * lisp-kernel/x86-spentry64.s: Don't use save3 in
1114        .SPffcall_return_registers (save3 = r11); use save2 (= r13)
1115        instead.
1116
11172007-01-21 06:46  gb
1118
1119        * compiler/PPC/PPC64/ppc64-arch.lisp: WITH-FFCALL-RESULTS needs
1120        space for 13 float registers, not 31.
1121
11222007-01-21 06:45  gb
1123
1124        * compiler/X86/X8664/x8664-arch.lisp: WITH-FFCALL-RESULTS for
1125        x86-64.
1126
11272007-01-21 06:38  gb
1128
1129        * compiler/X86/x862.lisp: ff-call: handle n-word struct-by-value,
1130        register return without typos.
1131
11322007-01-21 06:15  gb
1133
1134        * compiler/X86/x862.lisp: ff-call: handle n-word struct-by-value,
1135        register return.
1136
11372007-01-21 06:14  gb
1138
1139        * compiler/nx1.lisp: Don't assume that passing a structure by value
1140        in N words is Darwin-specific.  (LinuxPPC32 is probably the only
1141        platform that doesn't support the convention.)
1142
11432007-01-21 06:12  gb
1144
1145        * compiler/X86/X8664/x8664-arch.lisp: .SPffcall-return-registers
1146        replaces .SPunused-4.
1147
11482007-01-21 06:10  gb
1149
1150        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s:
1151        .SPffcall_return_registers (just returns %rax/rdx, %xmm0/%xmm1).
1152        (replaces .SPunused_4).
1153
11542007-01-21 00:05  gb
1155
1156        * lib/: ffi-linuxppc32.lisp, ffi-linuxppc64.lisp: Use
1157        argument/result coercion functions in os::expand-ff-call.
1158
11592007-01-20 23:53  gb
1160
1161        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp: Coerce arg,
1162        results when expanding an ff-call.
1163
11642007-01-20 23:52  gb
1165
1166        * lib/foreign-types.lisp: Default (no-op) functions for coercing
1167        foreign args, results.
1168
11692007-01-20 22:31  gb
1170
1171        * lib/ffi-linuxppc64.lisp: 4 down.  Whether 2 or 3 to go depends on
1172        your perspective (and on how close x86-64 Linux and x86-64 FreeBSD
1173        are to each other.  I'd guess that they're pretty close, and that
1174        x86-64 Darwin is random.)
1175
11762007-01-20 21:55  gb
1177
1178        * lib/ffi-linuxppc32.lisp: Pretty simple.  3 down, 4 to go.
1179
11802007-01-20 19:34  gb
1181
1182        * compiler/X86/X8664/x8664-backend.lisp: Package prefixes.  D'oh!
1183
11842007-01-20 19:25  gb
1185
1186        * compiler/X86/X8664/x8664-backend.lisp: Add references to the
1187        right os::ff-call-expander.
1188
11892007-01-20 19:24  gb
1190
1191        * compiler/PPC/PPC64/ppc64-arch.lisp: Remove some wip code.
1192
11932007-01-20 19:24  gb
1194
1195        * compiler/PPC/: PPC32/ppc32-backend.lisp,
1196        PPC64/ppc64-backend.lisp: Use os::expand-ff-call, for each value of
1197        OS.
1198
11992007-01-20 19:23  gb
1200
1201        * level-1/l1-sockets.lisp: Saw an opportunity to use PAREF;
1202        probably several more.
1203
12042007-01-20 19:22  gb
1205
1206        * lib/ffi-darwinppc64.lisp: Two down, 5 to go.
1207
12082007-01-20 19:21  gb
1209
1210        * lib/ffi-darwinppc32.lisp: Looks mostly right; might need to be
1211        extended to handle coercions at the Cocoa level, and probably needs
1212        some cooperation from %EXTERNAL-CALL-EXPANDER (e.g., what's
1213        installed by #_).
1214
12152007-01-20 19:18  gb
1216
1217        * lib/db-io.lisp: Encode, decode union types in arglists.
1218
12192007-01-20 19:17  gb
1220
1221        * lib/foreign-types.lisp: ftd's :ff-call-expand-function is
1222        os::expand-ff-call.
1223       
1224        Canonicalize the :void type a bit better.
1225
12262007-01-20 19:16  gb
1227
1228        * library/parse-ffi.lisp: Remove the debugging FORMAT call.
1229
12302007-01-18 23:15  gb
1231
1232        * level-1/l1-boot-2.lisp: Load with the new ffi-backend fasls.
1233
12342007-01-18 23:15  gb
1235
1236        * lib/compile-ccl.lisp: Deal with the new ffi-backend sources.
1237
12382007-01-18 23:15  gb
1239
1240        * lib/systems.lisp: Add the new ffi-backend sources.
1241
12422007-01-18 23:14  gb
1243
1244        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp,
1245        ffi-darwinx8664.lisp, ffi-freebsdx8664.lisp, ffi-linuxppc32.lisp,
1246        ffi-linuxppc64.lisp, ffi-linuxx8664.lisp: New (so far, empty)
1247        files.
1248
12492007-01-18 04:35  gb
1250
1251        * level-1/version.lisp: Bump.
1252
12532007-01-18 04:17  gb
1254
1255        * examples/bridge.lisp: Some word-size conditionalization.  Will
1256        need more work to handle struct return/asssignment correctly on all
1257        platforms.
1258
12592007-01-18 04:15  gb
1260
1261        * examples/: cocoa-editor.lisp, cocoa-backtrace.lisp: Use CGFloat,
1262        type casts, etc.  Likwise for :<NSI>nteger, :<NSUI>nteger.
1263
12642007-01-18 04:13  gb
1265
1266        * examples/: cocoa-prefs.lisp, cocoa-listener.lisp: Use CGFloat,
1267        type casts, etc.
1268
12692007-01-18 04:12  gb
1270
1271        * examples/cocoa-window.lisp: Use CGFloat, type casts, etc.  Avoid
1272        deprecated NSFont stuff.
1273
12742007-01-18 04:11  gb
1275
1276        * examples/objc-clos.lisp: Handle ivars, class
1277        creation/initialization differently for ObjC 2.0.
1278
12792007-01-18 04:10  gb
1280
1281        * examples/objc-runtime.lisp: More ObjC 2.0, ppc64 changes.
1282
12832007-01-18 04:09  gb
1284
1285        * examples/objc-support.lisp: Note which protocols are actually
1286        used when walking classes.  (There doesn't seem to be a good way of
1287        finding a Protocol object pre-objc-2.0, and we may need to test
1288        protocol compliance to disambiguate message sends in some cases.)
1289
12902007-01-18 04:07  gb
1291
1292        * examples/opengl-ffi.lisp: Conditionalize for darwin (not
1293        necessarily darwinppc).
1294
12952007-01-18 04:06  gb
1296
1297        * examples/addressbook.lisp: Conditionalize for darwin (not
1298        necessarily darwinppc).  May want to conditionalize for bundle
1299        executable name, as well.
1300
13012007-01-18 04:05  gb
1302
1303        * compiler/PPC/PPC64/ppc64-arch.lisp: WITH-FFCALL-RESULTS.  Start
1304        to sketch out structure return code (structures are often
1305        "returned" by returning field values in registers pn DarwinPPC64.)
1306
13072007-01-18 04:04  gb
1308
1309        * compiler/PPC/PPC64/ppc64-backend.lisp: New ftd stuff; new
1310        attributes for structure args/results.
1311
13122007-01-18 04:03  gb
1313
1314        * compiler/PPC/PPC64/ppc64-vinsns.lisp: ffcall-returning registers.
1315         (Will need this for other platforms, too.)
1316
13172007-01-18 04:01  gb
1318
1319        * lib/macros.lisp: Arch-specific macro interface for
1320        WITH-FFCALL-RESULTS.
1321
13222007-01-18 04:00  gb
1323
1324        * lib/db-io.lisp: Handle the case of an encoded structure type as a
1325        return value.
1326
13272007-01-18 04:00  gb
1328
1329        * lisp-kernel/: ppc-spentry.s, ppc-spjump.s:
1330        .SPpoweropen_ffcall_return_registers.
1331
13322007-01-18 03:59  gb
1333
1334        * library/parse-ffi.lisp: At least optionally, make structure
1335        return explicit (expecting it to be handled by higher-level code.)
1336
13372007-01-18 03:58  gb
1338
1339        * lib/foreign-types.lisp: ff-call-expand-function in ftd.  Don't
1340        try to type-expand :registers <exp> form in EXTERNAL-CALL.
1341
13422007-01-18 03:55  gb
1343
1344        * level-0/PPC/ppc-misc.lisp: Get the contents of the register that
1345        may hold OS thread context.
1346
13472007-01-18 03:54  gb
1348
1349        * compiler/PPC/PPC32/ppc32-backend.lisp: ff-call-expander function
1350        in ftd.
1351
13522007-01-18 03:53  gb
1353
1354        * compiler/PPC/PPC32/ppc32-arch.lisp: WITH-FFCALL-RESULTS arch
1355        macro.
1356
13572007-01-18 03:52  gb
1358
1359        * compiler/PPC/ppc2.lisp: Poweropen ff-calls might need to return
1360        all possible result regs.  (Maybe poweropen syscall, too.)
1361
13622007-01-18 03:51  gb
1363
1364        * compiler/PPC/ppc-arch.lisp: Replace unused subprim with
1365        .SPpoweropen-ff-call-return-registers.
1366
13672007-01-18 03:50  gb
1368
1369        * compiler/nx1.lisp: Support :registers <exp> in %ff-call; when
1370        supported, backend will return all (potential) result registers in
1371        buffer at <exp>.
1372
13732007-01-16 02:01  gb
1374
1375        * level-1/l1-streams.lisp: Make sure that STREAM-READ-IVECTOR and
1376        STREAM-WRITE-IVECTOR are defined on binary stream classes.  (These
1377        functions make less sense for character streams/strings than they
1378        used to.)
1379
13802007-01-16 01:39  gb
1381
1382        * level-1/l1-sockets.lisp: Ensure that the :FORMAT argument
1383        defaults to :BIVALENT
1384
13852007-01-16 01:37  gb
1386
1387        * level-0/l0-init.lisp: Put :OPENMCL-UNICODE-STRINGS on *FEATURES*.
1388
13892007-01-11 23:58  gb
1390
1391        * compiler/PPC/ppc2.lisp: Transform (/ (* constant1 exp) constant2)
1392        into (* (/ constant1 constant2) exp).  Not very general, but makes
1393        some foreign address arithmetic better.
1394
13952007-01-11 23:56  gb
1396
1397        * lib/macros.lisp: Simple PAREF: (paref pointer
1398        foreign-pointer-or-array-type index) does simple arithmetic for
1399        you.
1400
14012007-01-11 23:54  gb
1402
1403        * lib/foreign-types.lisp: %FOREIGN-ARRAY-ACCESS-FORM.
1404
14052007-01-10 15:50  gb
1406
1407        * compiler/PPC/ppc2.lisp: ppc2-vref1: lose extra arg to
1408        double->heap vinsn.
1409
14102007-01-09 11:33  gb
1411
1412        * lisp-kernel/x86-spentry64.s: When running an unwind-protect
1413        cleanup and multiple values are being thrown, be sure to set
1414        tcr.xframe from the target catch frame.  This is necessary on
1415        general principles (GC safety), and especially necessary if the
1416        cleanup form does a non-local exit.
1417
14182007-01-08 22:12  gb
1419
1420        * examples/: objc-clos.lisp, objc-runtime.lisp, objc-support.lisp:
1421        Revive some of the old GNUstep support; add partial ObjC 2.0
1422        support (for 64-bit targets only, so far.)
1423
14242007-01-08 22:11  gb
1425
1426        * examples/cocoa.lisp: Conditionalize for darwin-target, not
1427        darwinppc-target.
1428
14292007-01-08 22:10  gb
1430
1431        * examples/cocoa-listener.lisp: Disable background layout in the
1432        listener; the whole two-thread scheme probably isn't viable, but
1433        doing this seems to suppress a timing-related symptom.
1434
14352007-01-08 22:09  gb
1436
1437        * examples/cocoa-editor.lisp: Document-begin-editing,
1438        document-end-editing: both seem to have been conditionalized
1439        backwards.
1440
14412007-01-05 16:22  gb
1442
1443        * level-0/l0-numbers.lisp: Fix another typo ...
1444
14452007-01-05 16:16  gb
1446
1447        * level-0/l0-numbers.lisp: Fix typo (ppc32::, not ppc2::).
1448
14492007-01-05 15:27  gb
1450
1451        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Missing MISC-SET-C-S32 for
1452        PPC32.
1453
14542007-01-05 06:20  gb
1455
1456        * level-0/l0-cfm-support.lisp: OPEN-SHARED-LIBRARY: freebsd version
1457        of #_dlopen doesn't return a link map, but calling #_dlinfo on the
1458        result (with the right arg) does obtain a link map.
1459       
1460        Revive shared libraries on FreeBSD, but don't do the strange
1461        Linux-specific re-opening there.  (It seems like it's possible to
1462        #_dlopen something that already has a loaded link map - like the
1463        FreeBSD dynamic linker - or something.)
1464
14652007-01-04 05:46  gb
1466
1467        * level-1/l1-pathnames.lisp: %component-match-p: handle :WILD,
1468        :WILD-INFERIORS.
1469
14702007-01-04 05:45  gb
1471
1472        * lisp-kernel/pmcl-kernel.c: Try to check for old libc versions
1473        (which may use %gs instead of %fs for tls).
1474
14752007-01-04 05:44  gb
1476
1477        * lib/numbers.lisp: Explicitly require NUMBER-CASE-MACRO.
1478
14792007-01-04 05:44  gb
1480
1481        * level-0/l0-numbers.lisp:
1482        fixnum-sfloat-compare,fixnum-dfloat-compare: if the fixnum can be
1483        accurately represented in float, do so.
1484
14852007-01-03 03:35  gb
1486
1487        * lib/sequences.lisp: Fix a few type errors, check for explicit
1488        vector-type length earlier.
1489
14902007-01-03 03:31  gb
1491
1492        * level-1/l1-files.lisp: %STD-NAME-COMPONENT, %STD-TYPE-COMPONENT:
1493        preserved :WILD, don't map it to "*".
1494
14952007-01-03 03:30  gb
1496
1497        * lib/pathnames.lisp: More whack-a-mole with pathnames
1498        (specifically, preserving :WILD as name/type value and dealing with
1499        the consequences of doing so.)
1500
15012007-01-03 03:27  gb
1502
1503        * lib/numbers.lisp: Small (mostly cosmetic) change to RATIONAL.
1504
15052007-01-02 09:57  gb
1506
1507        * lib/macros.lisp: Keep fixing CTYPECASE.
1508
15092007-01-02 09:57  gb
1510
1511        * level-1/l1-streams.lisp: DOH! STREAM-READ-LINE method on
1512        BASIC-CHARACTER-INPUT-STREAM returns both values.
1513       
1514        "Composite" (two-way, concatenated, etc) streams need a close
1515        protocol.
1516
15172007-01-02 07:00  gb
1518
1519        * level-0/l0-pred.lisp: EQUAL on physical pathnames ignores the
1520        (new) version slot, as does practically everything else.
1521
15222007-01-02 06:59  gb
1523
1524        * level-0/l0-numbers.lisp: Don't assume that fixnums can be
1525        accurately coerced to floats when comparing fixnums and floats; do
1526        the logical equvalent of calling RATIONAL on the float instead.
1527
15282007-01-01 23:41  gb
1529
1530        * level-1/l1-files.lisp: ENOUGH-NAMESTRING: don't incorporate
1531        version into returned namestring for physical pathnames.
1532
15332006-12-31 10:15  gb
1534
1535        * release-notes.txt: Update.
1536
15372006-12-31 09:13  gb
1538
1539        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump image/abi
1540        version.
1541
15422006-12-31 08:57  gb
1543
1544        * xdump/faslenv.lisp: Bump fasl-min-vers.
1545
15462006-12-31 08:49  gb
1547
1548        * lib/nfcomp.lisp: Bump current fasl version.
1549
15502006-12-31 08:33  gb
1551
1552        * lisp-kernel/: linuxppc/elf32ppclinux.x, linuxppc64/elf64ppc.x:
1553        Tweak the executable start address.
1554
15552006-12-31 02:44  gb
1556
1557        * lisp-kernel/x86-spjump64.s: On Darwin, use a .space directive to
1558        ensure that there's nothing interesting in the first few pages of
1559        the address space (and ensure that those pages are mapped.)
1560
15612006-12-31 02:43  gb
1562
1563        * lisp-kernel/darwinx8664/Makefile: Sadly, we can't use -sectalign
1564        on x86-64 (ld64 does some floating-point arithmetic, fails to
1565        account for roundoff error, and claims that 0x1000 isn't a power of
1566        2.) If you can't say anything good about a linker, it's best not to
1567        say anything at all.
1568       
1569        We can force the first segment to be mapped at 0x1000, and can
1570        waste a few pages to ensure that all low-memory pages that the lisp
1571        wants are mapped.
1572
15732006-12-31 02:33  gb
1574
1575        * level-1/l1-pathnames.lisp: %SPLIT-COMPONENT: be a little more
1576        defensive.
1577
15782006-12-31 02:32  gb
1579
1580        * compiler/nx0.lisp: NX-FORM-TYPE: handle quoted constants.
1581
15822006-12-31 02:29  gb
1583
1584        * xdump/faslenv.lisp: Bump $fasl-vers.
1585
15862006-12-31 02:28  gb
1587
1588        * level-1/version.lisp: Bump; remove "Beta" designation.
1589
15902006-12-29 20:13  gb
1591
1592        * compiler/X86/X8664/x8664-arch.lisp, lisp-kernel/area.h,
1593        lisp-kernel/lisp_globals.h, lisp-kernel/x86-constants64.h,
1594        lisp-kernel/x86-constants64.s, xdump/xx8664-fasload.lisp: Move NIL
1595        up a page on x86-64 as well.
1596
15972006-12-29 16:09  gb
1598
1599        * lisp-kernel/ppc-spjump.s: Be a little clearer about where we're
1600        .orged.
1601
16022006-12-29 15:32  gb
1603
1604        * compiler/PPC/PPC32/ppc32-arch.lisp, lisp-kernel/area.h,
1605        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
1606        lisp-kernel/darwinppc/Makefile, xdump/xppcfasload.lisp: Static area
1607        (including NIL) now one page higher on ppc32, as well.
1608
16092006-12-29 02:38  gb
1610
1611        * level-0/PPC/ppc-float.lisp: SQRT in LAP (todo: inline it.)
1612
16132006-12-29 01:38  gb
1614
1615        * compiler/PPC/PPC64/ppc64-arch.lisp: Move ppc64::nil-value (and
1616        ppc64::reservation-discharge) up a page.
1617
16182006-12-29 01:37  gb
1619
1620        * xdump/xppcfasload.lisp: xload-static-space-address for ppc64 is
1621        #x2000; still #x1000 for ppc32.  (need to set this for x86-64)
1622
16232006-12-29 01:36  gb
1624
1625        * xdump/xfasload.lisp: *xload-static-space-address* depends on the
1626        backend.  ppc64 wants it one page higher than it has been, to avoid
1627        letting unmapped pages get claimed by the dynamic linker on Darwin.
1628
16292006-12-29 01:35  gb
1630
1631        * lisp-kernel/darwinppc64/Makefile: Change seg1addr/sectalign, so
1632        that the image starts at #x1000 and aligned section data for the
1633        text section starts on the next page.
1634
16352006-12-29 01:33  gb
1636
1637        * lisp-kernel/ppc-spjump.s: Org the spjump table 3 pages from where
1638        the aligned text section data starts.
1639
16402006-12-29 01:32  gb
1641
1642        * lisp-kernel/: ppc-constants64.h, ppc-constants64.s: nil_value,
1643        etc a page higher.
1644
16452006-12-29 01:32  gb
1646
1647        * lisp-kernel/pmcl-kernel.c: Don't remap ppc64 spjump table if it's
1648        already where it should be.
1649
16502006-12-29 01:32  gb
1651
1652        * lisp-kernel/lisp_globals.h: Access lisp_globals/nrs_symbols a
1653        page higher.
1654
16552006-12-29 01:30  gb
1656
1657        * lisp-kernel/area.h: Move STATIC_BASE_ADDRESS up a page for ppc64.
1658
16592006-12-22 01:40  gb
1660
1661        * lisp-kernel/ppc-exceptions.c: Ensure that sqrt() is prototyped.
1662
16632006-12-22 01:39  gb
1664
1665        * lisp-kernel/pmcl-kernel.c: Insist on at least Panther for
1666        PPC32/Darwin.
1667       
1668        Use dlopen() on 64-bit Darwin variants.  Might want to do a runtime
1669        test and use dlfcn functions if at least Tiger.
1670       
1671        (The old dyld functions are deprecated under Leopard, and there's
1672        reason to believe that they don't work correctly on at least ppc64/
1673        Leopard; attempting to use NSCreateObjectFileImageFromFile to open
1674        a 64-bit .dylib seems to lead to memory corruption rather than
1675        returning NSObjectFileImageInappropriateFile.
1676       
1677        The old functions work better than the dlfcn functions on pre-Tiger
1678        systems.)
1679
16802006-12-19 01:24  gb
1681
1682        * library/parse-ffi.lisp: Just to be on the safe side (new pathname
1683        bugs, or old ?), append -BAK to (NAMESTRING (TRUENAME path)), not
1684        just (NAMESTRING path) when renaming.  (MERGE-PATHNAMES call is
1685        producing a pathane with a non-null VERSION component, as it
1686        arguably should have been all along.
1687
16882006-12-18 13:22  gb
1689
1690        * lib/sequences.lisp: COERCE/MAKE-SEQUENCE try to simplify vector
1691        types into concrete vector types.
1692
16932006-12-18 13:04  gb
1694
1695        * level-1/l1-pathnames.lisp: Try (halfheartedly) to maintain
1696        PATHNAME-VERSION of physical pathnames.  (Totally meaningless, but
1697        failing to do this leads to many test failures.)
1698
16992006-12-18 13:03  gb
1700
1701        * level-1/l1-numbers.lisp: Don't call out to do sqrt.
1702
17032006-12-18 12:57  gb
1704
1705        * level-1/l1-files.lisp: Try (halfheartedly) to maintain
1706        PATHNAME-VERSION of physical pathnames.  (Totally meaningless, but
1707        failing to do this leads to many test failures.)
1708
17092006-12-18 12:54  gb
1710
1711        * level-0/X86/x86-float.lisp: Do single/double-float sqrt inline.
1712
17132006-12-16 05:28  gb
1714
1715        * level-0/PPC/ppc-float.lisp: Recognize that fsqrt/fsqrts
1716        instructions have a minor opcode in frb and only have one source
1717        operand.
1718
17192006-12-16 05:27  gb
1720
1721        * level-1/ppc-error-signal.lisp: If we get an FP exception during a
1722        SQRT, note that there's only one operand and that it's in frb.
1723
17242006-12-16 05:25  gb
1725
1726        * lisp-kernel/ppc-exceptions.c: Handle (some) unimplemented
1727        instructions, notably fsqrt/fqrts, which are optional and not
1728        implemented on some PPC machines.
1729
17302006-12-16 05:24  gb
1731
1732        * lisp-kernel/ppc-asmutils.s: Add get_fpscr().
1733
17342006-12-14 19:47  gb
1735
1736        * lisp-kernel/ppc-exceptions.c: Need to handle SIGQUIT on ppc, too.
1737
17382006-12-14 16:43  gb
1739
1740        * compiler/X86/X8664/x8664-vinsns.lisp: Constraints on some
1741        double-float arithmetic vinsns should say :double-float, not
1742        :single-float.  (I suspect cut-and-paste, frankly.)
1743
17442006-12-14 16:25  gb
1745
1746        * level-1/l1-lisp-threads.lisp: *initial-lisp-thread*, not
1747        initial-thread.
1748
17492006-12-14 16:24  gb
1750
1751        * level-1/x86-trap-support.lisp: Use frame pointer when signaling
1752        error.
1753
17542006-12-14 16:14  gb
1755
1756        * library/lispequ.lisp: Add a %PHYSICAL-PATHAME-VERSION slot to
1757        physical pathnames. (Yes, this is kind of silly.)
1758
17592006-12-14 16:01  gb
1760
1761        * level-1/x86-trap-support.lisp: Recognize the kernel's attempt to
1762        signal errors for (e.g.) failed memory allocation.
1763
17642006-12-14 16:00  gb
1765
1766        * lisp-kernel/x86-exceptions.c: If a memory allocation request
1767        fails, signal a lisp error (what a concept.)
1768
17692006-12-14 15:51  gb
1770
1771        * lisp-kernel/x86-exceptions.h: Define DARWIN_USE_PSEUDO_SIGRETURN.
1772       
1773        Might be worth revisiting this.
1774
17752006-12-14 15:50  gb
1776
1777        * lisp-kernel/x86-exceptions.c: Go back to using the
1778        pseudo_sigreturn mechanism on Darwin, since doing a real sigreturn
1779        from a fake context may not be reliable.
1780       
1781        When handling an interrupt with a partially created temp stack
1782        frame, do the right thing.  (That basically means reset the frame
1783        before calling out and recreating it if we return from the
1784        callout.)
1785       
1786        Handle SIGQUIT on the altstack, to provide a way of forcibly
1787        terminating threads that's a bit more GC-safe than doing it via
1788        #_pthread_cancel.
1789       
1790        Note the tcr of the gc thread on gc entry; if an exception happens
1791        in that thread, print a message and sleep for 60 seconds.
1792       
1793        Note that there's still a race condition here: if thread A gets an
1794        exception and thread B gets the mach_exception_lock (to GC) before
1795        the exception thread can handle the message, we deadlock (thread A
1796        would be suspended in the kernel and can't respond to a suspend
1797        signal.)  We can tell that this has happened and make a good guess
1798        as to why it happened, but dealing with it will require some
1799        thought.  (If we've already issued a suspend signal and eventually
1800        raise the suspended thread's resume semaphore, it'll suspend and
1801        resume once the mach exception thread makes it runnable.  Who
1802        cleans up its exception context in that case ?  Does it matter ?)
1803
18042006-12-14 15:19  gb
1805
1806        * lisp-kernel/thread_manager.c: Ensure that newly-created threads
1807        have all signals unmasked.
1808       
1809        If a tcr is dead, ensure that its stack areas are empty.
1810       
1811        Try to run shutdown_thread_tcr as a pthread cleanup action,
1812        hopefully before Mach clobbers the thread's signal mask.
1813
18142006-12-14 15:16  gb
1815
1816        * lisp-kernel/pmcl-kernel.c: lazarus() runs with a lock on the
1817        TCR_AREA_LOCK.
1818
18192006-12-14 15:15  gb
1820
1821        * lisp-kernel/memprotect.h: Don't declare do_memo_reset(), which
1822        hasn't existed in years.
1823
18242006-12-14 15:14  gb
1825
1826        * level-1/version.lisp: Bump.
1827
18282006-12-14 15:14  gb
1829
1830        * level-1/l1-readloop.lisp: PREPARE-TO-QUIT: wait for the
1831        termination semaphore.
1832
18332006-12-14 15:13  gb
1834
1835        * level-1/l1-processes.lisp: PROCESS objects are created with a
1836        termination semaphore.
1837
18382006-12-14 15:12  gb
1839
1840        * level-1/l1-lisp-threads.lisp: THREAD-ENABLE: second arg is
1841        TERMINATION-SEMAPHORE.
1842       
1843        KILL-LISP-THREAD: don't use #_pthread_cancel, which may force the
1844        target thread to transition from running lisp code to running
1845        foreign code without advertising that fact. Send a SIGQUIT instead,
1846        and trust the SIGQUIT handler to manage that transition.  Don't try
1847        to kill the initial thread.
1848
18492006-12-09 09:52  gb
1850
1851        * level-1/l1-streams.lisp: STRING-OUTPUT-STREAMs need to override
1852        their CLEAR-OUTPUT methods.
1853       
1854        MAKE-STRING-INPUT-STREAM: handle displaced strings better (remember
1855        their displaced-index-offsets.)
1856
18572006-12-09 09:49  gb
1858
1859        * lisp-kernel/thread_manager.c: Disable underflow traps in new
1860        threads on x86-64.  (The PPC never got around to enabling them.)
1861
18622006-12-09 09:47  gb
1863
1864        * lib/macros.lisp: WITH-OUTPUT-TO-STRING: if string provided,
1865        evaluate the ELEMENT-TYPE expression (for side-effects) and ignore
1866        the result of its evaluation.
1867       
1868        Some fixes in CTYPECASE handling, which hopefully didn't break
1869        anything else.
1870
18712006-12-09 09:36  gb
1872
1873        * compiler/X86/x862.lisp: In aset2/aset3, ensure that the (final,
1874        1d) index register is set - even if the index is a constant - if we
1875        think that the store needs EGC memoization.
1876       
1877        (Note that the test case that exposed this involved storing
1878        SINGLE-FLOATs, which don't need EGC write-barrier handling on
1879        64-bit platforms.)
1880       
1881        In aref2, don't worry about reserving unscaled index registers when
1882        targeting the 1d index; the unscaled index registers aren't live
1883        after, could be NULL if the index is a constant, and any overlap
1884        between one of them and the 1d index should be handled in the
1885        vinsn(s).
1886
18872006-12-09 09:30  gb
1888
1889        * level-1/l1-typesys.lisp: Ensure that the (relatively new)
1890        built-in-classes SIMPLE-FIXNUM-VECTOR and FIXNUM-VECTOR have
1891        class-translations.
1892
18932006-12-09 09:27  gb
1894
1895        * level-1/l1-aprims.lisp: In list case of ELT: who says that value
1896        returned by NTHCDR is a LIST ? (It's not necessarily a list, so
1897        don't segfault taking its CAR without checking.)
1898
18992006-12-06 18:48  gb
1900
1901        * level-0/X86/x86-float.lisp: x86-64 version of
1902        SFLOAT-SIGNIFICAND-ZEROS: count zero bits in the shifted float, not
1903        in %imm1 (which is undefined here ...)
1904
19052006-12-06 17:05  gb
1906
1907        * compiler/nx0.lisp: DEFINE-COMPILER-MACRO: if a SETF name, use the
1908        right symbol for the named block.
1909       
1910        COMPILER-MACRO-FUNCTION, (SETF COMPILER-MACRO-FUNCTION): deal with
1911        (SETF NAME).
1912
19132006-12-05 22:44  gb
1914
1915        * release-notes.txt: Update for 061205.
1916
19172006-12-05 20:31  gb
1918
1919        * lisp-kernel/darwinppc64/Makefile: Change LDFLAGS, to keep ld64
1920        from putting a linkedit segment in the wrong place and making
1921        32-bit memory unmappable.
1922
19232006-12-05 20:30  gb
1924
1925        * level-1/version.lisp: Bump.
1926
19272006-12-05 20:29  gb
1928
1929        * lisp-kernel/pmcl-kernel.c: Use _exit(), just in case.
1930
19312006-12-05 18:53  gb
1932
1933        * level-1/l1-reader.lisp: *ALTERNATE-LINE-TERMINATOR* set to
1934        #\Return on #+darwin-target, not just #+darwinppc-target. Change
1935        doc string for *ALTERNATE-LINE-TERMINATOR*.
1936
19372006-12-04 15:13  gb
1938
1939        * level-1/version.lisp: Append a patchlevel to the version string,
1940        at least until new tarballs can be built.
1941
19422006-12-04 15:12  gb
1943
1944        * level-1/l1-streams.lisp: If stream element type upgrades to
1945        FIXNUM, upgrade it further (to largest supported SIGNED-BYTE
1946        element-type.)
1947
19482006-12-04 13:02  gb
1949
1950        * level-0/l0-bignum32.lisp: BIGNUM-BIGNUM-GCD (whatever it's
1951        called): don't bother to shift by 0 bits.  Do shift the initial U
1952        if non-zero trailing 0 BITS (was testing for non-zero trailing
1953        DIGITS.)
1954
19552006-12-04 12:52  gb
1956
1957        * level-1/l1-streams.lisp: Choke earlier on unsupported stream
1958        element-types; do some upgrading to support some more element types
1959        (BIT -> (UNSIGNED-BYTE 8)).
1960       
1961        Maybe support arbitrarily large integer types someday soon.  Maybe
1962        not.
1963
19642006-12-04 12:48  gb
1965
1966        * level-1/l1-clos-boot.lisp: Make built-in classes for istruct
1967        types (compiler stuff, mostly).
1968
19692006-12-04 12:46  gb
1970
1971        * level-0/X86/X8664/x8664-bignum.lisp: Ensure that %ASHL handles
1972        shift count of 32 (and returns 0 in that case.)
1973
19742006-12-04 12:46  gb
1975
1976        * level-0/l0-bignum64.lisp: In BIGNUM-SHIFT-RIGHT-LOOP-1, use
1977        %ASHL, not %ILSL.  (Don't want nonsense in the high 32 bits, just
1978        in case.)
1979
19802006-12-04 12:43  gb
1981
1982        * level-0/l0-numbers.lisp: Bugs in GCD-2.  Long-standing bugs in
1983        GCD-2 ...
1984
19852006-12-04 09:26  gb
1986
1987        * level-1/l1-streams.lisp: STREAM-CLEAR-INPUT: don't inherit method
1988        for STRING-INPUT-STREAMs.
1989
19902006-12-04 09:24  gb
1991
1992        * level-0/l0-bignum64.lisp: BIGNUM-SHIFT-RIGHT-1: handle shift by 0
1993        bits.  BIGNUM-BIGNUM-GCD (whatever it's called): don't bother to
1994        shift by 0 bits.
1995
19962006-12-04 09:21  gb
1997
1998        * level-1/ppc-trap-support.lisp: Reset error-reentry count before
1999        doing %SLOT-UNBOUND-TRAP.
2000
20012006-12-04 09:21  gb
2002
2003        * level-1/l1-streams.lisp: Default STREAM-POSITION method for
2004        STREAMs, returns NIL.  STREAM-POSITION method for
2005        STRING-INPUT-STREAMs.
2006
20072006-12-04 09:19  gb
2008
2009        * level-1/l1-pathnames.lisp: Derive ccl-directory from pathname
2010        containing heap image.
2011
20122006-12-03 07:41  gb
2013
2014        * level-1/l1-streams.lisp: FORCE-OUTPUT, FINISH-OUTPUT on
2015        STRING-OUTPUT-STREAMs are no-ops.
2016       
2017        Need an ioblock-based character-read-vector function for
2018        string-input-streams.
2019
20202006-12-03 07:37  gb
2021
2022        * lib/describe.lisp: Minimal DESCRIBE support for
2023        CCL::BASIC-STREAM.
2024
20252006-12-03 07:36  gb
2026
2027        * lib/macros.lisp: If :element-type is supplied in
2028        WITH-OUTPUT-TO-STRING, don't quote it.
2029
20302006-12-03 05:11  gb
2031
2032        * level-1/x86-trap-support.lisp: Define RIP-REGISTER-OFFSET, which
2033        isn't necessarily 16.
2034
20352006-12-03 05:10  gb
2036
2037        * level-1/x86-error-signal.lisp: Use RIP-REGISTER-OFFSET, which
2038        isn't necessarily 16.
2039       
2040        Use WITH-ERROR-REENTRY-DETECTION n %xerr-disp; dtrt for
2041        %slot-unbound-trap.
2042
20432006-12-03 05:09  gb
2044
2045        * level-1/l1-streams.lisp: Tweak stream hierarchy a little, to
2046        avoid some NO-NEXT-METHODs.
2047
20482006-12-03 02:42  gb
2049
2050        * compiler/nx1.lisp: Handle VALUES type specifiers in THE forms a
2051        bit better.
2052
20532006-12-03 02:41  gb
2054
2055        * compiler/nx0.lisp: Handle VALUES type specifiers in THE forms a
2056        bit.
2057
20582006-12-03 02:28  gb
2059
2060        * lisp-kernel/x86-spentry64.s: Do vector bounds checking by
2061        clearing the low byte of the header, shifting it right, and
2062        comparing the index to that.  (It's not reliable to shift the index
2063        left.)
2064
20652006-12-03 02:26  gb
2066
2067        * level-1/l1-unicode.lisp: Memory/vector encode functions: don't
2068        write BOM, leave that up to higher-level code.
2069       
2070        Start to write some higher-level code.
2071
20722006-12-03 02:23  gb
2073
2074        * level-1/l1-sysio.lisp: Fix some indentation.
2075
20762006-12-03 02:21  gb
2077
2078        * compiler/X86/X8664/x8664-vinsns.lisp: CHECK-MISC-BOUNDS: shift
2079        the header word right (after clearing its low byte) and compare the
2080        index to that.  (Shifting the index left - d'oh - obviously fails
2081        for indices of large magnitude.)
2082
20832006-11-29 21:07  gb
2084
2085        * lib/db-io.lisp: Indentation change.
2086       
2087        Add CDB-ENUMERATE-KEYS.
2088
20892006-11-29 18:37  gb
2090
2091        * lib/level-2.lisp: %DESTRUCTURE-LAMBDA-LIST: other callers of
2092        VERIFY-LAMBDA-LIST (hopefully) check to see if the alleged list is
2093        LISTP first.  (I hope ...).  Do so.
2094
20952006-11-28 18:42  gb
2096
2097        * lisp-kernel/x86-spentry64.s: Wrong register typo in .SPaset2.
2098
20992006-11-28 16:14  gb
2100
2101        * examples/cocoa-window.lisp: DEFAULT-FONT: retain the font.
2102
21032006-11-28 16:12  gb
2104
2105        * examples/objc-runtime.lisp: Wrap a (primitive)
2106        WITH-AUTORELEASE-POOL around the code which detaches the dummy
2107        NSThread.
2108
21092006-11-28 16:09  gb
2110
2111        * examples/cocoa-listener.lisp: Don't claim that a callback
2112        parameter is ignored; use IGNORABLE instead.
2113
21142006-11-21 01:28  gb
2115
2116        * level-1/l1-sockets.lisp: Typo in PATH-FROM-UNIX-ADDRESS
2117        conditionalization.
2118
21192006-11-21 00:55  gb
2120
2121        * level-1/l1-sockets.lisp: INIT-UNIX-SOCKADDR: don't use
2122        %COPY-IVECTOR-TO-PTR to copy string to foreign memory.
2123       
2124        Basic file-socket streams.
2125
21262006-11-10 05:08  gb
2127
2128        * release-notes.txt: Update.
2129
21302006-11-10 04:28  gb
2131
2132        * lisp-kernel/image.h: Bump min image version.
2133
21342006-11-10 04:19  gb
2135
2136        * xdump/heap-image.lisp: bump current image version.
2137
21382006-11-10 04:19  gb
2139
2140        * lisp-kernel/image.h: bump current, max image version.
2141
21422006-11-10 04:10  gb
2143
2144        * xdump/faslenv.lisp: Bump min fasl version.
2145
21462006-11-10 03:56  gb
2147
2148        * lib/nfcomp.lisp: bump current fasl version.
2149
21502006-11-10 03:47  gb
2151
2152        * lisp-kernel/x86-exceptions.c: save_application: use #__exit, not
2153        #_exit
2154
21552006-11-10 03:46  gb
2156
2157        * compiler/X86/x862.lisp: TYPE typo.
2158
21592006-11-10 03:32  gb
2160
2161        * xdump/faslenv.lisp: Bump max fasl version.
2162
21632006-11-10 03:25  gb
2164
2165        * level-1/version.lisp: Bump.  New snapshots today!
2166
21672006-11-09 16:26  gb
2168
2169        * level-1/l1-readloop.lisp: QUIT uses #__quit.
2170       
2171        PREPARE-TO-QUIT kill stragglers without waiting as long.
2172
21732006-11-09 15:50  gb
2174
2175        * lisp-kernel/pmcl-kernel.c: Use #_ _exit for fatal termination.
2176       
2177        Try to run lisp code after #_exit via lazarus(); this is for some
2178        cases of SAVE-APPLICATION (e.g., in the Cocoa GUI).
2179       
2180        The environment in which The Undead code runs is a little funky,
2181        especially on PPC.  There might be GC implications (cstack will
2182        contain call history as of the point when #_exit called atexit
2183        handlers, vstack & tstack are emptied in lazarus()).  We should
2184        barely run any code in this environment, but we will GC a time or
2185        two ...
2186
21872006-11-09 15:45  gb
2188
2189        * lisp-kernel/ppc-exceptions.c: Use _exit afer save-application.
2190
21912006-11-09 15:43  gb
2192
2193        * examples/: cocoa-window.lisp, cocoa.lisp: Change the quit
2194        protocol.
2195
21962006-11-09 15:42  gb
2197
2198        * examples/cocoa-listener.lisp: :set-document-edited for listener
2199        "documents" is a no-op.
2200
22012006-11-09 15:39  gb
2202
2203        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
2204        PPC64/ppc64-vinsns.lisp: 3d-array accessor stuff for PPC as well.
2205
22062006-11-09 12:50  gb
2207
2208        * compiler/X86/x862.lisp: Always check that array-ctype's
2209        dimensions are a list before taking their length.
2210
22112006-11-09 12:13  gb
2212
2213        * compiler/X86/X8664/x8664-vinsns.lisp: 3d-unscaled-index does the
2214        right thing ...
2215
22162006-11-09 10:08  gb
2217
2218        * compiler/: nx1.lisp, X86/x862.lisp, X86/X8664/x8664-vinsns.lisp:
2219        Three-arg aref/(setf aref) for x8664.
2220
22212006-11-09 05:37  gb
2222
2223        * compiler/nx0.lisp: Map array-type keywords to 3d-array type
2224        errors.
2225
22262006-11-09 05:37  gb
2227
2228        * compiler/nxenv.lisp: Operators for 3d array access.
2229
22302006-11-09 05:36  gb
2231
2232        * compiler/arch.lisp, level-1/l1-error-system.lisp,
2233        lisp-kernel/errors.s, lisp-kernel/lisp-errors.h: Type-errors for 3d
2234        array types.
2235
22362006-11-08 12:50  gb
2237
2238        * level-1/x86-trap-support.lisp: In darwin Fake Structures For
2239        Leopard nonsense: define the stack context struct separately, make
2240        the ucontext stack field an instance of it.  (Not -sure- if that
2241        was necessary, but :poweropen-target was accidentally on *FEATURES*
2242        and foreign struct layout was using read-time condtionalization to
2243        decide whether or not to use brain-dead structure-alignment rules
2244        leftover from AIX/PowerOpen.
2245
22462006-11-08 12:46  gb
2247
2248        * lisp-kernel/x86-spentry64.s: Fix comment ("/*", not "/%" ...).
2249
22502006-11-08 12:40  gb
2251
2252        * compiler/optimizers.lisp: Try to infer/insert the array type when
2253        compiler-macroexpanding MAKE-ARRAY calls.
2254
22552006-11-08 12:39  gb
2256
2257        * compiler/PPC/PPC32/ppc32-backend.lisp: DarwinPPC32 FTD follows
2258        :poweropen-alignment rules.
2259
22602006-11-08 12:38  gb
2261
2262        * lib/foreign-types.lisp: parse-foreign-record-fields: conformance
2263        to poweropen structure layout rules should be an attribute of the
2264        FTD, not done via read-time conditionalization.
2265
22662006-11-08 05:15  gb
2267
2268        * level-1/version.lisp: Bump.
2269
22702006-11-08 05:15  gb
2271
2272        * level-1/l1-streams.lisp: Some bivalent/binary fixes.
2273       
2274        TODO: get rid of "bivalent" streams, but allow switching some
2275        streams (sockets) between "character mode" and "binary mode".
2276
22772006-11-08 02:39  gb
2278
2279        * compiler/PPC/ppc2.lisp: Typo in misc-ref-u64 vinsn emit.
2280
22812006-11-07 21:10  gb
2282
2283        * compiler/optimizers.lisp: Transform three-argument AREF->%AREF3,
2284        ASET->%ASET3.
2285
22862006-11-07 20:40  gb
2287
2288        * compiler/X86/x862.lisp: Implement %aset2 in the x8664 backend.
2289
22902006-11-07 20:39  gb
2291
2292        * level-0/X86/x86-array.lisp: %aref3, %aset3.
2293
22942006-11-07 20:38  gb
2295
2296        * level-0/l0-array.lisp: Use %aref2,%aref3.
2297
22982006-11-07 20:37  gb
2299
2300        * compiler/X86/X8664/x8664-vinsns.lisp: More (often redundant)
2301        vector-store vinsns.
2302
23032006-11-07 20:37  gb
2304
2305        * compiler/X86/X8664/x8664-arch.lisp: .SParef3, .SPaset3.
2306
23072006-11-07 10:28  gb
2308
2309        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s: .SParef3,
2310        .SPaset3.
2311
23122006-11-07 10:27  gb
2313
2314        * level-0/PPC/ppc-array.lisp: %ref3, %aset3.
2315
23162006-11-07 10:26  gb
2317
2318        * lisp-kernel/ppc-spentry.s, lisp-kernel/ppc-spjump.s,
2319        compiler/PPC/ppc-arch.lisp: .SPref3, .SPaset3.
2320
23212006-11-07 10:26  gb
2322
2323        * lisp-kernel/ppc-macros.s: Define mullr, which expands into one of
2324        mullw/mulld.
2325
23262006-11-07 04:12  gb
2327
2328        * compiler/PPC/ppc2.lisp: :signed-64-bit-vector is signed ...
2329
23302006-11-06 22:07  gb
2331
2332        * compiler/nx0.lisp: nx-error-for-simple-2d-array-type: forgot the
2333        :fixnum-vector case.
2334
23352006-11-06 22:04  gb
2336
2337        * compiler/PPC/ppc2.lisp: Handle vector assignment differently;
2338        handle (setf (aref ...)) of simple 2d-arrays inline if the type is
2339        known/declared.
2340
23412006-11-06 22:02  gb
2342
2343        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
2344        Add vinsns for misc-set-s* and variants. (Identical to the unsigned
2345        versions, but it helps not to have to remember which are
2346        implemented and which aren't.)
2347
23482006-11-06 22:01  gb
2349
2350        * compiler/nxenv.lisp: general-aset2, simple-typed-aset2.
2351
23522006-11-06 22:00  gb
2353
2354        * compiler/nx1.lisp: New %ASET2 handling.
2355
23562006-11-06 21:59  gb
2357
2358        * compiler/nx0.lisp: ACODE-FORM-TYPE: use var-inittype if var is
2359        never assigned to.
2360
23612006-11-05 22:09  gb
2362
2363        * level-1/x86-trap-support.lisp: Try to work around
2364        incompatibilites in Tiger/Leopard headers.
2365
23662006-11-05 22:08  gb
2367
2368        * level-1/l1-sockets.lisp: LOOKUP-PORT: use the macro HTONS, since
2369        the foreign function may not exist.
2370
23712006-11-05 20:41  gb
2372
2373        * compiler/X86/x862.lisp: 2d array error lookup -> nx.
2374
23752006-11-05 07:55  gb
2376
2377        * level-0/X86/x86-misc.lisp: %VALID-REMAINING-TIMESPEC-TIME-P for
2378        x86-64, as well.
2379
23802006-11-05 07:52  gb
2381
2382        * level-0/X86/x86-array.lisp: %AREF2, %ASET2 in x8664 lap.
2383
23842006-11-05 07:50  gb
2385
2386        * lisp-kernel/x86-spentry64.s: pre-add displacement in .SParef2,
2387        .SPaset2.
2388
23892006-11-05 07:48  gb
2390
2391        * lisp-kernel/ppc-spentry.s: .SParef2, .SPaset2: since we aren't
2392        testing simple-array-ness, add the (possibly 0) displacement from
2393        the header before handling the simple aref of the data vector.
2394
23952006-11-05 07:47  gb
2396
2397        * lib/foreign-types.lisp: PRINT-OBJECT method for EEPS: handle
2398        pointers on PPC(64), print 64-bit addresses on 64-bit platforms.
2399
24002006-11-05 07:46  gb
2401
2402        * level-1/version.lisp: Bump; new binaries soon.
2403
24042006-11-05 07:46  gb
2405
2406        * level-1/l1-lisp-threads.lisp: %NANOSLEEP calls
2407        %VALID-REMAINING-TIMESPEC-TIME-P, which is better than sleeping for
2408        4G seconds after an EINTR on Leopard.
2409
24102006-11-05 07:44  gb
2411
2412        * level-0/PPC/PPC64/ppc64-bignum.lisp: MACPTR->FIXNUM returns NIL
2413        if any non-fixnum bits would be set in the result.  (Should
2414        probably make this true on all platforms; for PPC64, it's important
2415        for foreign function addresses that're ... suboptimally aligned.)
2416
24172006-11-05 07:42  gb
2418
2419        * level-0/PPC/ppc-misc.lisp: Try to detect the case where
2420        %NANOSLEEP's second (by reference) argument contains garbage after
2421        an EINTR.  (The L word, again.)
2422
24232006-11-05 07:41  gb
2424
2425        * level-0/PPC/ppc-array.lisp: %AREF2, %ASET2: in LAP, just call
2426        into the kernel.
2427
24282006-11-05 07:40  gb
2429
2430        * level-0/l0-cfm-support.lisp: Some platforms (the L-word) generate
2431        ppc64 functions whose addresses are not 0 mod 8, so (a) make
2432        MACPTR->FIXNUM return NIL if an address isn't representable as a
2433        fixnum and (b) make FOREIGN-SYMBOL-ENTRY return an address if it
2434        can't return a fixnum on PPC (really just affects PPC64.)
2435
24362006-11-05 07:37  gb
2437
2438        * level-0/l0-array.lisp: %aref2, %aset2: call into kernel.
2439
24402006-11-05 07:36  gb
2441
2442        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
2443        2d aref support/changes.
2444
24452006-11-05 07:36  gb
2446
2447        * compiler/PPC/ppc2.lisp: Get the PPC2 backend caught up with the
2448        x8664 wrt 2d aref.  Stll a ways to go.
2449
24502006-11-05 07:35  gb
2451
2452        * compiler/nx0.lisp: NX-ERROR-FOR-SIMPLE-2D-ARRAY-TYPE.
2453
24542006-11-04 00:05  gb
2455
2456        * level-1/version.lisp: Bump.
2457
24582006-11-03 23:10  gb
2459
2460        * level-1/ppc-error-signal.lisp: fix parens.
2461
24622006-11-03 23:09  gb
2463
2464        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: arch
2465        gvector types contains :struct, not :structure.
2466
24672006-11-03 23:08  gb
2468
2469        * compiler/PPC/ppc2.lisp: aref2: new operator name(s), always call
2470        subprim.
2471       
2472        ppc2-fixed-call-builtin: (tail-)call subprims even if they aren't
2473        in the builtin functions table.
2474
24752006-11-03 15:19  gb
2476
2477        * compiler/PPC/ppc-arch.lisp: New .SParef2, .SPaset2 subprims.
2478
24792006-11-03 15:18  gb
2480
2481        * compiler/PPC/ppc-asm.lisp: Comments/indentation.
2482
24832006-11-03 15:17  gb
2484
2485        * level-1/ppc-error-signal.lisp: Change decoding/handlng of
2486        type-error UUOs.
2487
24882006-11-03 15:16  gb
2489
2490        * lisp-kernel/: ppc-spentry.s, ppc-spjump.s: .SParef2, .SPaset2.
2491
24922006-11-03 15:16  gb
2493
2494        * lisp-kernel/: ppc-constants32.s, ppc-constants64.s: Define arrayH
2495        (array-header) layout.
2496
24972006-11-03 13:46  gb
2498
2499        * level-1/l1-clos-boot.lisp: CANONICALIZE-SPECIALIZERS optionally
2500        returns its argument if all members are SPECIALIZERS.
2501       
2502        Use CANONICALIZE-SPECIALIZERS to canonicalize FIND-METHOD
2503        arguments, for the benefit of people who haven't read the MOP spec
2504        or who don't realize that the MOP defines some things differently
2505        from CLHS.
2506
25072006-11-03 13:38  gb
2508
2509        * compiler/X86/x862.lisp: Consistently use :struct (not :structure)
2510        to refer to primitive structure type.
2511       
2512        Fix array-ctype-dimensions check in %aref1, add it to %aset1.
2513
25142006-11-03 13:37  gb
2515
2516        * compiler/X86/X8664/x8664-arch.lisp: Ensure that :STRUCT (not
2517        :STRUCTURE) is on target-gvector-types.
2518
25192006-11-03 12:53  gb
2520
2521        * lisp-kernel/x86-uuo.s: uuo_error_array_bounds, such as it is.
2522
25232006-11-03 12:52  gb
2524
2525        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s: SParef2, .SPaset2.
2526         More to come ...
2527
25282006-11-03 12:52  gb
2529
2530        * lisp-kernel/x86-constants64.s: Define array-header layout.
2531
25322006-11-03 12:51  gb
2533
2534        * lisp-kernel/: errors.s, lisp-errors.h: New type-error uuo
2535        encodings, new type-error constants.
2536
25372006-11-03 12:50  gb
2538
2539        * level-1/x86-error-signal.lisp: New range/encoding of type-error
2540        traps.
2541
25422006-11-03 12:49  gb
2543
2544        * level-1/l1-utils.lisp: (temporary) mechanism to avoid
2545        constant-redefinition CERRORs.
2546
25472006-11-03 12:48  gb
2548
2549        * level-1/l1-error-system.lisp: New %type-error-typespecs%.
2550
25512006-11-03 12:47  gb
2552
2553        * level-0/l0-pred.lisp: array--header -> array-header.
2554
25552006-11-03 12:47  gb
2556
2557        * compiler/X86/X8664/x8664-vinsns.lisp: Fix misc-set-c-u64 braino;
2558        add/change some 2d array stuff.
2559
25602006-11-03 12:43  gb
2561
2562        * compiler/X86/X8664/x8664-arch.lisp: Define .SParef2/.SPaset2
2563        subprims; seem to be much (>5x) faster than the lisp/lap versions
2564        (though we can generally be faster still when we know the
2565        element-type and/or know whether the array is simple or explicitly
2566        displaced.)
2567
25682006-11-03 12:41  gb
2569
2570        * compiler/X86/x862.lisp: Change handling of 2d-aref; lots of
2571        related changes.
2572       
2573        Split the code which handles bounds/type-checking in vref out from
2574        the code which actually does the reference, so that the latter can
2575        be used in multidimensional cases.
2576       
2577        Need to do this on PPC as well; need to do more (%aset2, 3d cases,
2578        general case.)
2579
25802006-11-03 12:38  gb
2581
2582        * compiler/nx1.lisp: Change handling of 2d-aref.
2583
25842006-11-03 12:37  gb
2585
2586        * compiler/nxenv.lisp: aref2 -> simple-typed-aref2, add
2587        general-aref2.  More changes to come (and this may affect
2588        compilation on PPC until some PPC compiler changes are
2589        made/checked-in.)
2590
25912006-11-03 12:35  gb
2592
2593        * compiler/arch.lisp: type-errors (as encoded in UUOs) are now in
2594        the range 128-255, rather than 64-127; more are defined.
2595
25962006-11-02 09:43  gb
2597
2598        * level-1/l1-error-system.lisp: Move along, nothing to see here.
2599
26002006-11-02 09:37  gb
2601
2602        * compiler/arch.lisp: New error constants; work in progress ...
2603
26042006-11-01 11:40  gb
2605
2606        * lisp-kernel/errors.s: Some new constants; more to check in later.
2607
26082006-10-31 03:39  gb
2609
2610        * level-0/l0-io.lisp: You must be reading the OLD rule book
2611        (Leopard and #$EINTR).
2612
26132006-10-31 03:21  gb
2614
2615        * lisp-kernel/ppc-exceptions.c: handle_protection_violation: pass
2616        the tcr.  Initialize "addr" before testing it ...
2617
26182006-10-31 03:21  gb
2619
2620        * lisp-kernel/lisp-exceptions.h: handle_protection_violation: pass
2621        the tcr.
2622
26232006-10-30 20:40  gb
2624
2625        * lib/defstruct.lisp: DEFSTRUCT-REF-TRANSFORM for typed vector
2626        expands into something more useful.
2627
26282006-10-30 20:39  gb
2629
2630        * lisp-kernel/ppc-spentry.s: Fix ppc32
2631        misc_ref_double_float_vector.
2632
26332006-10-30 00:24  gb
2634
2635        * level-0/l0-bignum64.lisp: Enable the destructive version of
2636        %BIGNUM-BIGNUM-GCD; conditionalize it for 64-bit targets and
2637        provide/fix supporting functions.  Seems to work on ppc64; needs
2638        testing on x8664.
2639
26402006-10-27 17:49  gb
2641
2642        * darwin-x86-headers64/libc/C/: .cvsignore, populate.sh: New file.
2643
26442006-10-25 20:36  gb
2645
2646        * level-1/l1-streams.lisp: %BIVALENT-IOBLOCK-READ-U8-BYTE (and
2647        variants): always clear the untyi-char.
2648       
2649        %ENCODED-IOBLOCK-PEEK-CHAR: the read-char-when-locked function
2650        needs an argument.
2651       
2652        SETUP-IOBLOCK-OUTPUT: there are no special output functions for
2653        bivalent streams.
2654       
2655        %IOBLOCK-BINARY-READ-VECTOR: clear any untyi char.
2656
26572006-10-24 12:35  gb
2658
2659        * level-1/version.lisp: Bump.
2660
26612006-10-24 01:29  gb
2662
2663        * lisp-kernel/x86-spentry64.s: Fix :ALLOW-OTHER-KEYS check in
2664        _SPdestbind1 (still used in inlining, sometimes.)
2665
26662006-10-24 01:05  gb
2667
2668        * release-notes.txt: Change the date, add/change some content.
2669
26702006-10-24 01:05  gb
2671
2672        * lib/macros.lisp: Reference the (bound) STREAM-VAR argument - not
2673        STREAM - in the expansion of WITH-OUTPUT-TO-STRING.
2674
26752006-10-24 00:56  gb
2676
2677        * lib/ccl-export-syms.lisp: Reference the (bound) STREAM-VAR
2678        argument - not STREAM - in the expansion of WITH-OUTPUT-TO-STRING.
2679
26802006-10-24 00:55  gb
2681
2682        * level-1/l1-streams.lisp: When recycling
2683        string-output-stream-ioblocks, set the IOBLOCK-CHARPOS to 0.
2684        (Failure to do this can screw up the pretty-printer, among other
2685        things.)
2686
26872006-10-24 00:52  gb
2688
2689        * level-1/l1-sockets.lisp: DEFAULT-CHARACTER-ENCODING for :SOCKET,
2690        *DEFAULT-SOCKET-CHARACTER-ENCODING*.
2691
26922006-10-23 17:03  gb
2693
2694        * release-notes.txt: Updated; almost ready to go (still a
2695        WITH-OUTPUT-TO-STRING/PPRINT (?) bug).
2696
26972006-10-23 16:43  gb
2698
2699        * level-1/l1-sysio.lisp: NORMALIZE-EXTERNAL-FORMAT: use
2700        *DEFAULT-EXTERNAL-FORMAT* value for :DEFAULT.
2701
27022006-10-23 16:42  gb
2703
2704        * level-1/l1-streams.lisp: Use NORMALIZE-EXTERNAL-FORMAT in (SETF
2705        STREAM-EXTERNAL-FORMAT) methods.
2706
27072006-10-23 16:41  gb
2708
2709        * lib/ccl-export-syms.lisp: Export some unicode/external-format
2710        stuff.
2711
27122006-10-23 08:27  gb
2713
2714        * level-1/version.lisp: Bump; binaries today, honest.
2715
27162006-10-23 08:27  gb
2717
2718        * level-1/l1-streams.lisp: freelist string-output-stream-ioblocks.
2719
27202006-10-23 08:26  gb
2721
2722        * lib/macros.lisp: Some/most/all of the WITH-IOBLOCK-OUTPUT-LOCKED
2723        macros were checking for the presence of an input lock ...
2724
27252006-10-23 05:40  gb
2726
2727        * level-1/l1-streams.lisp: Optimize write-string on string streams
2728        a little.
2729
27302006-10-23 05:26  gb
2731
2732        * lib/macros.lisp: WITH-OUTPUT-TO-STRING: don't expand into code
2733        which evaluates the string form twice; don't do whatever was being
2734        done to default the element type of the string stream.
2735
27362006-10-23 05:24  gb
2737
2738        * compiler/optimizers.lisp: MAKE-STRING-OUTPUT-STREAM: skip some
2739        keyword/subtype checking if element-type not provided.  (Could also
2740        skip it if it's explicit and obviously OK.)
2741
27422006-10-23 05:22  gb
2743
2744        * level-0/X86/x86-misc.lisp: %HEAP-BYTES-ALLOCATED: don't add
2745        "current" allocation if nothing's reserved.
2746
27472006-10-23 05:19  gb
2748
2749        * lisp-kernel/x86-exceptions.c: In handle_alloc_trap(), fix call to
2750        update_bytes_allocated (sign of "disp").
2751
27522006-10-22 08:02  gb
2753
2754        * compiler/PPC/ppc2.lisp: MULTIPLE-VALUE-PROG1: treat the first
2755        form like a PROGN if there are no other forms.
2756
27572006-10-22 08:01  gb
2758
2759        * level-1/l1-streams.lisp: Don't disable interrupts when calling
2760        ioblock functions.
2761       
2762        New string-stream implementation.  Better ...
2763
27642006-10-22 07:59  gb
2765
2766        * lib/macros.lisp: If WITH-OUTPUT-TO-STRING gets the string, do so
2767        before the stream closes.
2768
27692006-10-22 07:59  gb
2770
2771        * lib/pprint.lisp: Don't assume that string output stream strings
2772        have a fill-pointer; use STREAM-POSITION instead.
2773
27742006-10-22 07:57  gb
2775
2776        * lib/streams.lisp: Don't disable interrupts when calling ioblock
2777        functions, after all.
2778       
2779        Go through (new) ioblock-unread-char-function.
2780
27812006-10-22 07:55  gb
2782
2783        * lisp-kernel/darwinppc/.gdbinit: Stop trying to print strings via
2784        x/s
2785
27862006-10-21 18:46  gb
2787
2788        * level-1/l1-streams.lisp: Typo.
2789
27902006-10-21 18:41  gb
2791
2792        * lisp-kernel/x86-exceptions.c: Initialize (zero, usually) more
2793        fields in pseudo sigcontexts.
2794
27952006-10-21 18:40  gb
2796
2797        * level-1/l1-streams.lisp: Mostly locking changes (don't lock
2798        twice, etc.)
2799
28002006-10-21 18:35  gb
2801
2802        * level-0/l0-array.lisp, level-0/l0-init.lisp,
2803        level-0/l0-pred.lisp, level-0/l0-utils.lisp,
2804        level-0/PPC/ppc-array.lisp, level-0/PPC/ppc-symbol.lisp,
2805        level-0/X86/x86-symbol.lisp, level-1/l1-aprims.lisp,
2806        lib/sequences.lisp: Remove vestival #+target-8-bit-chars stuff.
2807
28082006-10-21 16:45  gb
2809
2810        * level-1/l1-unicode.lisp: New! Improved! Now with more iso-8859
2811        encodings!
2812
28132006-10-19 13:48  gb
2814
2815        * level-0/PPC/ppc-misc.lisp: Reference the source argument - not
2816        arg_z - in %safe-get-ptr.
2817
28182006-10-19 13:22  gb
2819
2820        * level-0/l0-aprims.lisp: %CSTR-POINTER: make #\Nul termination
2821        optional, use #\Sub char-code as replaement char.
2822
28232006-10-19 13:21  gb
2824
2825        * examples/objc-runtime.lisp: Missing close paren.
2826
28272006-10-19 13:19  gb
2828
2829        * examples/: cocoa-editor.lisp, cocoa-listener.lisp: Careful BLTing
2830        strings to/from foreign memory.
2831
28322006-10-19 13:18  gb
2833
2834        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Typos in UNBOX-S8.
2835
28362006-10-18 08:04  gb
2837
2838        * level-1/version.lisp: Bump.  Binaries later today ?
2839
28402006-10-18 07:38  gb
2841
2842        * level-1/l1-clos-boot.lisp: The post-bootstrapping version of
2843        (SETF FIND-CLASS) only introduces (or removes) a type name if the
2844        class becomes (or ceases to be) a properly named class.
2845       
2846        The pre-bootstrapping version handles simpler cases of that; use
2847        ALIAS-CLASS to register some early class names as type names.
2848
28492006-10-18 07:36  gb
2850
2851        * level-1/l1-clos.lisp: (SETF CLASS-NAME) can affect the type
2852        system, since only symbols which name properly-named classes are
2853        type specifiers.  Changing the name of a class can either introduce
2854        or remove a properly-named class.
2855       
2856        Classes that have the kernel-p attribute shouldn't have their names
2857        changed casually.
2858
28592006-10-18 07:33  gb
2860
2861        * level-1/l1-sockets.lisp: Accept an :EXTERNAL-FORMAT argument to
2862        MAKE-SOCKET, pass it down to whatever function actually creates a
2863        stream socket.
2864
28652006-10-18 02:12  gb
2866
2867        * compiler/X86/x862.lisp: Allow closed-over addresses in
2868        conditional-form, NOT.
2869
28702006-10-18 01:43  gb
2871
2872        * lisp-kernel/x86-exceptions.c: handle_fault() checks for
2873        safe_ref_addres.
2874
28752006-10-18 01:43  gb
2876
2877        * level-0/X86/x86-misc.lisp: %safe-get-ptr for x8664.
2878
28792006-10-18 01:41  gb
2880
2881        * compiler/X86/X8664/x8664-vinsns.lisp: Compare stack
2882        addresses/vcells to nil.
2883
28842006-10-18 01:41  gb
2885
2886        * compiler/X86/x862.lisp: Stuff for comparing memory (stack)
2887        addresses to NIL.
2888       
2889        Mark arg_z and rcx/nargs as being in use when restoring interrupt
2890        level inline.
2891
28922006-10-18 01:39  gb
2893
2894        * compiler/X86/x86-disassemble.lisp: We've had UUO-ERROR-UNBOUND
2895        for a few months now.  The disassembler is always the last to know.
2896
28972006-10-17 19:15  gb
2898
2899        * compiler/PPC/PPC32/ppc32-arch.lisp,
2900        compiler/PPC/PPC64/ppc64-arch.lisp,
2901        compiler/X86/X8664/x8664-arch.lisp, examples/objc-runtime.lisp,
2902        level-0/l0-misc.lisp, level-0/PPC/ppc-misc.lisp,
2903        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
2904        lisp-kernel/ppc-constants64.h, lisp-kernel/ppc-constants64.s,
2905        lisp-kernel/ppc-exceptions.c, lisp-kernel/x86-constants64.h,
2906        lisp-kernel/x86-constants64.s: add safe-ref-address to tcr.
2907       
2908        Handle memory faults to safe-ref-addres on PPC (so far).
2909       
2910        Try using SAFE-GET-PTR in objc runtime (untested).
2911
29122006-10-17 17:34  gb
2913
2914        * compiler/PPC/ppc2.lisp: ppc backend %aref1/%aset1: notice array
2915        type in acode.
2916
29172006-10-17 14:02  gb
2918
2919        * level-1/l1-unicode.lisp: BOM-ENCODING.
2920
29212006-10-17 14:02  gb
2922
2923        * level-1/l1-sysio.lisp: FILE-STRING-LENGTH actually does
2924        something.
2925       
2926        Clear the pending-bom flag when seeking.
2927
29282006-10-17 14:01  gb
2929
2930        * level-1/l1-streams.lisp: (SETF STREAM-EXTERNAL-FORMAT) for
2931        ioblock-based character streams.
2932
29332006-10-17 13:45  gb
2934
2935        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: bind/unbind
2936        *interrupt-level* inline.
2937
29382006-10-17 13:44  gb
2939
2940        * compiler/X86/x86-disassemble.lisp: Act like ud2a takes a one-byte
2941        immmediate operand (xuuo).
2942
29432006-10-17 13:39  gb
2944
2945        * level-1/l1-streams.lisp, lib/streams.lisp: Disable interrupts
2946        when necessary.
2947
29482006-10-17 13:39  gb
2949
2950        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
2951        PPC64/ppc64-vinsns.lisp: bind/unbind *interrupt-level* inline.
2952
29532006-10-15 17:51  gb
2954
2955        * level-1/l1-streams.lisp: Handle 32-bit character encodings.
2956       
2957        Start to extend STREAM-EXTERNAL-FORMAT, start to make it SETFable.
2958
29592006-10-15 17:51  gb
2960
2961        * level-1/l1-unicode.lisp: utf-32/ucs-4 and variants.
2962
29632006-10-15 17:50  gb
2964
2965        * level-1/l1-sysio.lisp: EXTERNAL-FORMATs are immutable, interned.
2966
29672006-10-14 07:41  gb
2968
2969        * compiler/PPC/ppc2.lisp: Fix use of ^,<- vinsn macros inside
2970        ENSURING-NODE-TARGET.
2971       
2972        Inline the fixnum case of two-arg numeric comparisons.
2973
29742006-10-14 07:39  gb
2975
2976        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
2977        INLINE-SUB2 support.
2978
29792006-10-14 06:30  gb
2980
2981        * lib/defstruct.lisp: Don't (DECLARE (OPTIMIZE (SAFETY 3))) in
2982        generated DEFSTRUCT accessors.
2983
29842006-10-14 06:27  gb
2985
2986        * compiler/X86/x862.lisp: Fix many cases of ENSURING-NODE-TARGET.
2987       
2988        Do the fixnum case of two-argument subtraction inline.
2989       
2990        Inline the fixnum case of two-argument numeric comparisons.
2991       
2992        STRUCT-REF avoids typechecking when reckless.
2993
29942006-10-14 06:21  gb
2995
2996        * compiler/backend.lisp: It makes no sense to use the vinsn macros
2997        <- and ^ inside ENSURING-NODE-TARGET, so make it check for that.
2998
29992006-10-14 06:20  gb
3000
3001        * compiler/X86/X8664/x8664-vinsns.lisp: Do vector bounds-checking a
3002        little differently.
3003       
3004        Add xchg-registers.
3005
30062006-10-13 04:54  gb
3007
3008        * compiler/nx1.lisp: Use new NUMCMP operator.
3009
30102006-10-13 04:53  gb
3011
3012        * compiler/nx0.lisp: Change inline expansion: use optimize settings
3013        in effect at call time, not those in effect at definition time.
3014
30152006-10-13 04:50  gb
3016
3017        * level-0/l0-numbers.lisp: Change >=-2, <=-2, /=-2 to avoid
3018        inlining issues.
3019
30202006-10-13 04:30  gb
3021
3022        * compiler/nxenv.lisp: Replace unused num= with numcmp.
3023
30242006-10-12 19:46  gb
3025
3026        * lisp-kernel/pmcl-kernel.c: Terminate argument processing when
3027        "--" is seen.
3028
30292006-10-12 19:45  gb
3030
3031        * level-1/: l1-streams.lisp, l1-sysio.lisp, l1-unicode.lisp: Handle
3032        newline translation differenly (at the character I/O level, not the
3033        buffer level).
3034       
3035        All character encoding/decoding functions operate on octets, not
3036        necessarily code units.  (The stream encode/decode functions are an
3037        exception; serialization and byte ordering are handled by the
3038        stream.)
3039
30402006-10-09 16:34  gb
3041
3042        * level-1/l1-streams.lisp: Write  #\Sub's char-code if we can't
3043        encode a character in (implicit) iso-8859-1.
3044
30452006-10-09 16:33  gb
3046
3047        * level-0/l0-misc.lisp: %COPY-STRING-TO-U8: use #\Sub (ascii 26) as
3048        a replacement character.
3049
30502006-10-09 16:31  gb
3051
3052        * level-1/l1-unicode.lisp: :stream-encode/decode functions always
3053        write/read something, even if it's a replacement character of some
3054        sort.
3055
30562006-10-09 15:19  gb
3057
3058        * level-1/l1-streams.lisp: More stuff about line termination.  When
3059        will this end ?
3060
30612006-10-09 15:19  gb
3062
3063        * lib/chars.lisp: Use a hashtable to map characters to their names.
3064         (Maybe a sparse vector ?).
3065
30662006-10-09 15:18  gb
3067
3068        * level-1/l1-reader.lisp: Use a hashtable to map characters to
3069        their names.  (Maybe a sparse vector ?).
3070       
3071        Define #\Sub and #\Replacement_Character.
3072
30732006-10-08 21:17  gb
3074
3075        * level-1/l1-readloop-lds.lisp: SELECT-BACKTRACE: it's been all
3076        NEW-BACKTRACE for a while now.
3077
30782006-10-08 21:16  gb
3079
3080        * lisp-kernel/lisptypes.h: Need to #include <sys/signal.h> to keep
3081        Panther happy.
3082
30832006-10-08 20:30  gb
3084
3085        * lisp-kernel/x86_print.c: Print hex with leading #x, not #0x ...
3086
30872006-10-08 20:30  gb
3088
3089        * lib/dumplisp.lisp: Do some sanity checks on SAVE-APPLICATION
3090        pathname, before it's too late ...
3091
30922006-10-08 20:29  gb
3093
3094        * level-1/l1-unicode.lisp: ASCII, some other changes.
3095
30962006-10-08 20:29  gb
3097
3098        * level-1/l1-sysio.lisp: Rearrange a few things; pass
3099        :line-termination option to MAKE-FD-STREAM.
3100
31012006-10-08 20:28  gb
3102
3103        * level-1/l1-streams.lisp: Yet another line-termination translation
3104        scheme; hopefully, the last for a while. (More tedium before it's
3105        actually installed.)
3106
31072006-10-08 20:27  gb
3108
3109        * level-1/l1-reader.lisp: Add character names for #\Line_Separator,
3110        #\Paragraph_separator.
3111
31122006-10-07 20:35  gb
3113
3114        * level-1/l1-init.lisp: *TERMINAL-CHARACTER-ENCODING-NAME*.
3115
31162006-10-07 20:34  gb
3117
3118        * level-1/l1-error-signal.lisp: In %ERROR, go straight to the
3119        kernel debugger if interactive streams aren't initialized yet.
3120        (We'd probably get there sooner or later in that case; try to get
3121        there sooner.)
3122
31232006-10-07 20:33  gb
3124
3125        * level-1/l1-boot-2.lisp: Don't initialize interactive streams via
3126        DEF-LOAD-POINTERS.  Wrap that up in a function, and set a flag when
3127        the function's called (from APPLICATION's TOPLEVEL-FUNCTION
3128        method.)
3129
31302006-10-07 20:32  gb
3131
3132        * level-1/l1-application.lisp: Handle the (new)
3133        -K/--terminal-encoding command-line argument.
3134
31352006-10-07 11:14  gb
3136
3137        * level-1/l1-streams.lisp: INPUT-STREAM-P, OUTPUT-STREAM-P are true
3138        of instances if INPUT-STREAM/ OUTPUT-STREAM, respectively (not just
3139        instances of FUNDAMENTAL-INPUT/OUTPUT-STREAM).
3140
31412006-10-07 11:13  gb
3142
3143        * lisp-kernel/lisp-debug.c: Do abort() if kernel debugger is
3144        entered when --batch is in effect.
3145
31462006-10-07 11:12  gb
3147
3148        * level-1/l1-readloop.lisp: QUIT: flush *STDOUT* in
3149        PROCESS-EXIT-APPLICATION.
3150
31512006-10-07 11:11  gb
3152
3153        * level-1/l1-processes.lisp: PROCESS-EXIT-APPLICATION: flush
3154        *stdout* here.
3155
31562006-10-06 04:49  gb
3157
3158        * level-1/l1-streams.lisp: CODE-UNIT, not CODE-ELEMENT.  Add a
3159        TRANSLATE slot to IO-BUFFER.
3160
31612006-10-06 04:40  gb
3162
3163        * level-1/l1-sockets.lisp: basic (vs fundamental) socket streams.
3164
31652006-10-06 04:39  gb
3166
3167        * level-1/l1-sysio.lisp: Real, live EXTERNAL-FORMAT structures.
3168
31692006-10-06 04:38  gb
3170
3171        * level-1/version.lisp: Bump.
3172
31732006-10-06 04:38  gb
3174
3175        * level-0/l0-misc.lisp: %COPY-STRING-TO-U8: use #\? as a
3176        replacement character.
3177
31782006-10-05 14:46  gb
3179
3180        * lisp-kernel/lisptypes.h: More register name aliases.  FMH.
3181
31822006-10-05 14:46  gb
3183
3184        * lisp-kernel/x86-asmutils64.s: get_mxcsr, set_mxcsr.
3185
31862006-10-05 14:46  gb
3187
3188        * lisp-kernel/x86-exceptions.c: Save the mxcsr, load it with a
3189        C-like value (all exceptions masked) before doing a callback.  (Not
3190        doing this meant that tcr.foreign_mxcsr was often set to a "lispy"
3191        value, where most exceptions were unmasked, and this caused FP
3192        exceptions when calling out to foreign code with the "lispy"
3193        tcr.foreign_mxcsr in effect.)
3194       
3195        Mach exception stuff arranges to return via sigreturn.  Didn't fix
3196        the spurious SIGTRAPs, but might be the right idea (and might save
3197        a context switch or two.)
3198       
3199        Mach exception stuff initializes rflags to exception rflags when
3200        arranging to resume thread at handler.  Leaving them uninitialized
3201        was causing spurious SIGTRAPs, since the trace bit(s) may have been
3202        set.
3203
32042006-10-05 06:09  gb
3205
3206        * lib/macros.lisp: WITH-ENCODED-CSTR(s).  (Hey, it's a start.)
3207
32082006-10-05 06:09  gb
3209
3210        * lib/chars.lisp: CHAR-NAME: try to use at least 4 hex digits for
3211        #\U+xxxx syntax.
3212
32132006-10-05 06:08  gb
3214
3215        * level-1/l1-unicode.lisp: UCS-2, some other changes.
3216
32172006-10-05 06:07  gb
3218
3219        * level-1/l1-sysio.lisp: Try to get
3220        line-termination/external-format stuff working.
3221
32222006-10-05 05:35  gb
3223
3224        * level-1/l1-streams.lisp: Assume that character data is always
3225        encoded as one or more 8-bit octets.
3226
32272006-10-05 04:59  gb
3228
3229        * level-1/l1-boot-2.lisp: Set class-prototypes for basic-streams
3230        just before we make the first one.
3231
32322006-10-02 08:13  gb
3233
3234        * lisp-kernel/x86-exceptions.h: Darwin uses _sigtramp glue to call
3235        handlers, so we need to make handlers do a sigreturn after
3236        switching off the signal stack, etc.
3237
32382006-10-02 08:11  gb
3239
3240        * lisp-kernel/x86-exceptions.c: Don't use SIGRETURN to return from
3241        signal_handler() on Darwin (since we depend on pseudo_sigreturn
3242        handling for cleanup of tcr pending exception and since we can't
3243        easily restore the signal mask.)
3244       
3245        (Up until this point, SIGRETURN has been a nop on Darwin.)
3246
32472006-10-02 04:59  gb
3248
3249        * lisp-kernel/lisptypes.h: Compile on ppc,ppc64 osx 10.4 and
3250        earlier.
3251
32522006-10-02 04:47  gb
3253
3254        * lisp-kernel/: lisptypes.h, ppc-exceptions.c, ppc-exceptions.h:
3255        Compile on post OSX 10.4 systems, for ppc/ppc64.  (Broken on
3256        systems <= 10.4).
3257
32582006-10-02 02:46  gb
3259
3260        * lisp-kernel/: lisptypes.h, x86-exceptions.c, x86-exceptions.h:
3261        Try to make x86-64 version compile under 10.4 again; see if this
3262        breaks post-10.4 compilation.
3263
32642006-10-02 02:33  gb
3265
3266        * lisp-kernel/: lisptypes.h, pmcl-kernel.c, x86-exceptions.c,
3267        x86-exceptions.h: Change things so that they compile for x86-64 on
3268        systems later than 10.4.  Almost certainly break 10.4 compilation
3269        in the process.  (Thanks, Apple!  Any time I can cause you to waste
3270        hours on crap like this, just let me know!)
3271
32722006-09-27 20:33  gb
3273
3274        * lib/misc.lisp: DOCUMENTATION works on character-encodings.
3275
32762006-09-27 20:33  gb
3277
3278        * level-1/l1-unicode.lisp: Character-encodings have doc strings.
3279
32802006-09-27 05:46  gb
3281
3282        * level-1/l1-sysio.lisp: More FILE-STREAM changes.  Give
3283        BASIC-STREAM classes a class prototype.
3284
32852006-09-27 05:45  gb
3286
3287        * level-1/l1-streams.lisp: Some changes to FD-STREAM
3288        initialization, to make it easier to use MAKE-FD-STREAM to open
3289        (seekable) FILE-STREAMs.
3290
32912006-09-27 05:41  gb
3292
3293        * lisp-kernel/: x86-exceptions.c, x86-exceptions.h: Decode and
3294        handle UUO_ERROR_DEBUG_TRAP_WITH_STRING.
3295
32962006-09-27 05:39  gb
3297
3298        * lisp-kernel/x86-spentry64.s: Still get very occasional SIGFPE on
3299        return from (e.g.) #_asin on x86-64 Darwin.  (#_asin often does a
3300        division-by-zero, but that should be masked when in foreign code.)
3301        Don't reload the lisp mxcsr until other registers have been popped,
3302        to make debugging easier in case it's the act of reloading the
3303        mxcsr that causes the spurious trap.)
3304
33052006-09-27 05:36  gb
3306
3307        * level-0/X86/x86-misc.lisp: DEBUG-TRAP-WITH-STRING.
3308
33092006-09-27 05:35  gb
3310
3311        * level-0/nfasload.lisp: Not sure when it happened, but %FASLOAD
3312        was parenthesized in such a way as to not return the error value on
3313        error.
3314
33152006-09-27 05:34  gb
3316
3317        * level-0/l0-misc.lisp: On x8664, use a new UUO for BUG.  (Not
3318        passing context into the kernel makes it too difficult to debug/get
3319        backtrace, etc.)
3320
33212006-09-27 05:33  gb
3322
3323        * compiler/X86/: x86-asm.lisp, x86-disassemble.lisp:
3324        UUO-ERROR-DEBUG-TRAP-WITH-STRING.
3325
33262006-09-27 05:05  gb
3327
3328        * level-1/l1-clos-boot.lisp: CLASS-PROTOTYPE method for CLASS class
3329        (mostly for BUILT-IN-CLASSes).
3330
33312006-09-26 20:49  gb
3332
3333        * level-1/l1-sysio.lisp: SELECT-STREAM-CLASS: should probably take
3334        a BASIC-P argument.
3335
33362006-09-26 20:47  gb
3337
3338        * level-1/l1-streams.lisp: More changes.  Imagine that.
3339
33402006-09-26 20:46  gb
3341
3342        * compiler/: X86/X8664/x8664-vinsns.lisp, X86/x862.lisp,
3343        optimizers.lisp: (Redundant) FIXNUM decls in LDB compiler macro.
3344
33452006-09-26 20:43  gb
3346
3347        * level-1/l1-unicode.lisp: Memory/vector encode/decode functions
3348        take/return strings, not chars.
3349       
3350        Some bom stuff.
3351
33522006-09-24 20:14  gb
3353
3354        * lib/chars.lisp: Check for assumptions about character size.
3355        Remove some %i-isms (fixnum arithmetic), make assertions about type
3356        of char-code.
3357
33582006-09-24 20:12  gb
3359
3360        * level-1/l1-aprims.lisp: Remove unused (probably ancient)
3361        CHKBOUNDS function.  Simpler STRING-START-END.
3362
33632006-09-24 20:11  gb
3364
3365        * level-1/l1-streams.lisp: Some stuff to infer line-termination.
3366        Probably belongs elsewhere; some encodings may not make it at all
3367        possible.
3368
33692006-09-24 20:07  gb
3370
3371        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3372        Load-character-constant: accept :u32const on PPC32, PPC64, too.
3373
33742006-09-24 20:00  gb
3375
3376        * level-1/l1-streams.lisp: A little more u16 stuff.  Remove
3377        line-termination slot from ioblock and corresponding arg from
3378        functions which initialize it.
3379
33802006-09-24 19:59  gb
3381
3382        * level-1/l1-sysio.lisp: Input-filter, output-filter in
3383        file-ioblock.
3384
33852006-09-24 19:58  gb
3386
3387        * level-1/l1-unicode.lisp: Buffer translation functions don't
3388        belong here; start thinking about BOM.
3389
33902006-09-24 19:57  gb
3391
3392        * compiler/X86/X8664/x8664-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
3393        it's been a :u32const for the last few weeks ...
3394
33952006-09-24 04:29  gb
3396
3397        * lib/chars.lisp: CHAR-NAME looks in the *CHARACTER-NAMES* array if
3398        the code is within its bounds.
3399
34002006-09-24 04:27  gb
3401
3402        * level-1/l1-reader.lisp: Lots more character names.  Maintain
3403        mappings in a vector and a hash table, rather than in an alist.
3404
34052006-09-24 04:26  gb
3406
3407        * level-0/nfasload.lisp, xdump/xfasload.lisp, lib/nfcomp.lisp: Doh!
3408        character constant fasl encoding ($fasl-char).
3409
34102006-09-23 05:31  gb
3411
3412        * level-1/l1-unicode.lisp: Some other iso8859-n encodings.  (Not
3413        sure which are the most important.)
3414
34152006-09-23 05:29  gb
3416
3417        * level-1/l1-sysio.lisp: Start to separate
3418        line-termination/external-format stuff.
3419
34202006-09-23 05:28  gb
3421
3422        * level-1/l1-streams.lisp: Lots-o-changes.
3423
34242006-09-23 05:28  gb
3425
3426        * level-1/l1-boot-2.lisp: Make initial interactive streams use
3427        UTF-8 (mostly for debugging utf-8 ...)
3428
34292006-09-21 04:07  gb
3430
3431        * lisp-kernel/x86-spentry64.s: don't clobber callback index when
3432        doing the DARWIN_GS_HACK stuff in _SPcallback (syscall sometimes
3433        clobbered r11, sometimes didn't.)
3434
34352006-09-21 04:05  gb
3436
3437        * lisp-kernel/pmcl-kernel.c: Require mach/port.h.
3438
34392006-09-21 04:05  gb
3440
3441        * lisp-kernel/x86-exceptions.c: Save and restore errno in
3442        callback_for_interrupt.
3443
34442006-09-21 04:04  gb
3445
3446        * lisp-kernel/lisptypes.h: Guess again about preprocessor stuff for
3447        x86-64 ucontext/mcontext on Darwin.
3448
34492006-09-21 04:02  gb
3450
3451        * level-1/l1-lisp-threads.lisp: Use underscore prefix on all Darwin
3452        flavors.
3453       
3454        Add a type decl in %nanosleep.
3455
34562006-09-21 04:01  gb
3457
3458        * compiler/X86/X8664/x8664-vinsns.lisp: sign-extend/zero-extend
3459        vinsns.
3460
34612006-09-21 04:01  gb
3462
3463        * compiler/X86/x862.lisp: sign/zero-extend ffcall, syscall return
3464        values.  (Probably only matters in a few cases, like the Darwin
3465        x86-64 version of #_nanosleep, which returns a non-sign-extended
3466        "int" value if the sleep is interruted.)
3467
34682006-09-20 06:34  gb
3469
3470        * level-1/version.lisp: Bump.
3471
34722006-09-20 04:24  gb
3473
3474        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3475        slight improvements in signed-byte boxing, typechecking.
3476
34772006-09-20 04:22  gb
3478
3479        * lib/streams.lisp: WRITE-BYTE for BASIC-STREAMs.
3480
34812006-09-20 04:21  gb
3482
3483        * lib/macros.lisp: %SWAP-U16, %SWAP-U32.
3484
34852006-09-20 04:21  gb
3486
3487        * lib/level-2.lisp: %EVAL-REDEFs for new require-xx functions.
3488
34892006-09-20 04:20  gb
3490
3491        * level-1/l1-unicode.lisp: UTF-16, in native and byte-swapped
3492        versions.  Need a "logical" UTF-16, which deals with byte-order
3493        marks and a means of installing a concrete encoding.  Needs
3494        testing.
3495
34962006-09-20 04:15  gb
3497
3498        * level-1/l1-streams.lisp: Numerous changes.
3499
35002006-09-20 04:15  gb
3501
3502        * level-1/l1-sockets.lisp: %bswap16: fix type declaration.
3503
35042006-09-20 04:14  gb
3505
3506        * compiler/X86/X8664/x8664-vinsns.lisp: vinsns for signed/unsigned
3507        byte 8,16,32,64.  Tighten up some signed-byte boxing.
3508
35092006-09-20 04:12  gb
3510
3511        * compiler/X86/x862.lisp: New require ops for signed/unsigned byte
3512        8,16,32,64
3513
35142006-09-19 01:38  gb
3515
3516        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3517        vinsns for REQUIRE-[US][8,16,32,64]
3518
35192006-09-19 01:37  gb
3520
3521        * compiler/PPC/PPC32/ppc32-arch.lisp: Need
3522        THREE-DIGIT-BIGNUM-HEADER to recognize some cases of (UNSIGNED-BYTE
3523        64).
3524
35252006-09-19 01:36  gb
3526
3527        * compiler/PPC/ppc-backend.lisp: clean up an error message.
3528
35292006-09-19 01:36  gb
3530
3531        * compiler/PPC/ppc2.lisp: handle require-[us][8,16,32,64]
3532        operators.
3533
35342006-09-19 01:34  gb
3535
3536        * compiler/optimizers.lisp: REQUIRE-TYPE: transform into
3537        require-[us][8,16,32,64] when possible.
3538
35392006-09-19 01:34  gb
3540
3541        * compiler/nx1.lisp: inline require-[us][8,16,32,64].
3542
35432006-09-19 01:33  gb
3544
3545        * compiler/nxenv.lisp: New operators for require-[us][8,16,32,64].
3546
35472006-09-19 01:15  gb
3548
3549        * compiler/X86/X8664/x8664-vinsns.lisp: x8664 vinsns for
3550        typechecking signed/unsigned bytes of sizes 8,16,32,64.
3551
35522006-09-19 00:36  gb
3553
3554        * level-1/l1-streams.lisp: More changes; hard to bootstrap.
3555
35562006-09-18 21:42  gb
3557
3558        * lib/macros.lisp: Macros for locking the input/output locks of an
3559        ioblock, assuming that it exists.
3560
35612006-09-17 00:45  gb
3562
3563        * level-1/l1-streams.lisp: more changes
3564
35652006-09-13 06:52  gb
3566
3567        * level-1/l1-io.lisp: Direct BASIC-STREAM stuff for WRITE-CHAR,
3568        WRITE-STRING, TERPRI.
3569
35702006-09-13 06:08  gb
3571
3572        * lib/streams.lisp: READ-LINE changes for BASIC-STREAMs.
3573
35742006-09-13 06:07  gb
3575
3576        * level-1/l1-unicode.lisp: GET-CHARACTER-ENCODING errors if the
3577        named encoding isn't defined.
3578       
3579        Terse PRINT-OBJECT method for CHARACTER-ENCODING.
3580
35812006-09-13 06:06  gb
3582
3583        * level-1/l1-streams.lisp: More functions in the ioblock, some
3584        support for 8-bit encodings (like utf-8).  Not finished, but
3585        getting hard to bootstrap; need to check in and build on all
3586        platforms before it gets even harder.
3587
35882006-09-12 05:34  gb
3589
3590        * level-0/l0-misc.lisp: Use %CSTR-POINTER (not
3591        %copy-ivector-to-pointer) in BUG.
3592
35932006-09-12 05:31  gb
3594
3595        * lisp-kernel/x86-exceptions.c: Enter the debugger if
3596        altstack_signal_handler is entered in foreign code.  (Maybe want to
3597        signal a lisp error in some cases, but this is currently fatal and
3598        we might as well die earlier than with a stack overflow.)
3599
36002006-09-12 05:29  gb
3601
3602        * lisp-kernel/thread_manager.c: os_get_stack_bounds(): get stack
3603        direction right on FreeBSD.  (Much better than randomly scribbling
3604        on memory in the GC, as the FreeBSD port has been doing for months
3605        now ...)
3606
36072006-09-11 21:31  gb
3608
3609        * compiler/X86/x862.lisp: x862-explicit-non-fixnum-type-p looks for
3610        intersection.
3611
36122006-09-11 21:21  gb
3613
3614        * compiler/X86/x862.lisp: Partly inline 2-arg logior, logand.
3615
36162006-09-11 20:10  gb
3617
3618        * level-1/l1-unicode.lisp: Character encodings contain a
3619        LITERAL-CHAR-CODE-LIMIT field.
3620
36212006-09-11 20:09  gb
3622
3623        * level-1/l1-streams.lisp: extend IOBLOCK a bit.  Start to provide
3624        functionality for encoded streams.
3625
36262006-09-11 20:08  gb
3627
3628        * compiler/PPC/ppc2.lisp: Partialy inline 2-arg logior/logand.
3629
36302006-09-09 04:39  gb
3631
3632        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3633        REQUIRE-CHAR-CODE: compare against boxed char-code-limit.
3634
36352006-09-09 04:21  gb
3636
3637        * level-1/l1-reader.lisp: NAME-CHAR: insist on something more
3638        reasonable for ^c syntax; don't do MOD for octal.
3639
36402006-09-09 04:21  gb
3641
3642        * compiler/X86/X8664/x8664-vinsns.lisp: require-char-code checks
3643        agains boxed Unicode limit
3644
36452006-09-09 03:56  gb
3646
3647        * lisp-kernel/x86-gc.c: purify_range(), impurify_range(): handle
3648        x8664 functions, hash tables.  (PPC versions should handle hash
3649        table key movement.)
3650
36512006-09-08 22:47  gb
3652
3653        * lib/chars.lisp: CHAR-NAME: use U+xxxx for chars with codes >=
3654        #x100.
3655
36562006-09-08 22:38  gb
3657
3658        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3659        FIXNUM->CHAR: return NIL for surrogate pairs.
3660
36612006-09-08 22:33  gb
3662
3663        * compiler/PPC/ppc2.lisp: Don't be overly unsafe in %CHAR-CODE.
3664
36652006-09-08 22:31  gb
3666
3667        * lib/ppc-backtrace.lisp: Fix CFP-LFUN (fake stack frame case,
3668        sanity-check fn/lr).
3669
36702006-09-08 18:55  gb
3671
3672        * compiler/X86/x862.lisp: Don't be so reckless in %CODE-CHAR (don't
3673        necessarily want arbitrary expressions to be compiled unsafely; do
3674        want to avoid a little type-checking sometimes.)
3675
36762006-09-08 18:52  gb
3677
3678        * compiler/X86/X8664/x8664-vinsns.lisp: FIXNUM->CHAR returns NIL
3679        for values in the surrogate-pairs range.  (There are other things
3680        that it could plausibly return NIL for.)
3681
36822006-09-08 18:51  gb
3683
3684        * lisp-kernel/x86-gc.c: Start to get purify working on x86-64; for
3685        now, just purify strings.
3686
36872006-09-08 18:48  gb
3688
3689        * lib/macros.lisp: %CODE-CHAR asserts that code is (UNSIGNED-BYTE
3690        8), which is still useful (and exactly what it used to do.)
3691
36922006-09-08 18:47  gb
3693
3694        * lib/: compile-ccl.lisp, systems.lisp: Add l1-unicode.
3695
36962006-09-08 18:44  gb
3697
3698        * level-1/level-1.lisp: Load l1-unicode.
3699
37002006-09-08 18:44  gb
3701
3702        * level-1/l1-unicode.lisp: New file.
3703
37042006-09-07 03:50  gb
3705
3706        * lisp-kernel/area.h: Larger PURESPACE_RESERVE for x8664.
3707
37082006-09-07 03:44  gb
3709
3710        * xdump/: heap-image.lisp, xfasload.lisp, xppcfasload.lisp,
3711        xx8664-fasload.lisp: Bump abi version.  Make purespace-reserve an
3712        attribute of the backend (may need more pure space on x86-64.)
3713
37142006-09-07 03:43  gb
3715
3716        * lisp-kernel/image.h: Bump abi version.
3717
37182006-09-07 03:43  gb
3719
3720        * level-1/version.lisp: Bump.
3721
37222006-09-07 02:58  gb
3723
3724        * lisp-kernel/x86-exceptions.c: FreeBSD (at least with libthr)
3725        seems to mask synchronous signals.  Unmask them in signal handlers.
3726
37272006-09-07 02:57  gb
3728
3729        * lisp-kernel/thread_manager.c: suspend_resume_handler() : ignore
3730        signal mask.
3731
37322006-09-07 02:56  gb
3733
3734        * lisp-kernel/: lisptypes.h, ppc-constants32.h, ppc-constants32.s,
3735        ppc-constants64.h, ppc-constants64.s, ppc-gc.c, x86-constants64.h,
3736        x86-constants64.s: Lose the CHAR_SIZE_32 bootstrapping conditional
3737        (char are 32 bits wide on all platforms now.)
3738
37392006-09-07 00:40  gb
3740
3741        * lisp-kernel/x86-exceptions.c: SIGBUS might be
3742        SIGNUM_FOR_PROCESS_INTERRUPT.
3743
37442006-09-07 00:12  gb
3745
3746        * lisp-kernel/x86-spentry64.s: _SPbuiltin_aref1: use
3747        box_fixnum_no_flags.
3748
37492006-09-07 00:12  gb
3750
3751        * lisp-kernel/x86-macros.s: Define box_fixnum_no_flags (uses lea
3752        vice imul).
3753
37542006-09-06 21:18  gb
3755
3756        * compiler/X86/X8664/x8664-arch.lisp: Need
3757        MIN/MAX-8-BIT-IVECTOR-SUBTAG.
3758
37592006-09-06 18:37  gb
3760
3761        * lisp-kernel/x86-spentry64.s: misc_ref/misc_set: handle 32-bit
3762        strings.
3763
37642006-09-06 18:36  gb
3765
3766        * lisp-kernel/x86-macros.s: Zero-extend early when extracting
3767        typecodes.
3768
37692006-09-06 18:36  gb
3770
3771        * level-1/l1-streams.lisp: GET-OUTPUT-STREAM-STRING: use
3772        ENSURE-SIMPLE-STRING rather than horrible COERCE nonsense.
3773
37742006-09-06 18:35  gb
3775
3776        * level-1/l1-aprims.lisp: x8664 *immheader-1-array-element-types*
3777        contains entry for 32-bit BASE-CHAR.
3778
37792006-09-06 18:35  gb
3780
3781        * compiler/X86/X8664/x8664-vinsns.lisp: zero-extend early when
3782        extracting typecodes.
3783
37842006-09-06 18:34  gb
3785
3786        * compiler/X86/X8664/: x8664-arch.lisp, x8664-backend.lisp:
3787        32-bit-chars.
3788
37892006-09-06 18:33  gb
3790
3791        * compiler/X86/: x86-backend.lisp, x862.lisp: Defer handling of the
3792        :rcontext pseudo-register name until the target backend is in
3793        place.
3794
37952006-09-06 16:39  gb
3796
3797        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: 32-bit chars
3798        stuff for x8664.
3799
38002006-09-06 16:39  gb
3801
3802        * level-1/l1-reader.lisp: kids: bourbon and editing COPY-READTABLE
3803        don't mix!
3804
38052006-09-06 16:38  gb
3806
3807        * lib/compile-ccl.lisp: :verbose argument to rebuild-ccl.
3808
38092006-09-06 16:38  gb
3810
3811        * level-1/linux-files.lisp: process input/output: don't assume
3812        8-bit strings.
3813
38142006-09-06 14:42  gb
3815
3816        * compiler/PPC/PPC64/ppc64-backend.lisp: PPC64 callbacks are always
3817        #+poweropen-target; don't conditionalize the fp-arg-ptr argument
3818        (since that creates confustion when cross-compiling from a
3819        non-poweropen host.)
3820
38212006-09-06 00:08  gb
3822
3823        * compiler/PPC/PPC64/: ppc64-arch.lisp, ppc64-backend.lisp: remove
3824        8-bit char stuff.
3825
38262006-09-06 00:08  gb
3827
3828        * compiler/X86/X8664/x8664-arch.lisp: Forgot to set char-code-limit
3829        here.
3830
38312006-09-05 22:49  gb
3832
3833        * lib/macros.lisp: In DO-GC-AREAS, don't use comma before call to
3834        AREA-SUCC.  (Cross-compilation/ word-size issue.)
3835
38362006-09-05 22:42  gb
3837
3838        * level-0/l0-utils.lisp: If ENSURE-SIMPLE-STRING has to make a copy
3839        of a non-simple string, understand char width issues.
3840
38412006-09-05 22:41  gb
3842
3843        * level-0/nfasload.lisp: Some fixnum decls in %FIND-PKG.
3844
38452006-09-05 22:40  gb
3846
3847        * level-1/l1-aprims.lisp: ppc64 ARRAY-ELEMENT-SUBTYPES includes new
3848        string type.
3849
38502006-09-05 22:39  gb
3851
3852        * level-0/PPC/ppc-array.lisp: cr3, nor c33, in ppc64 %init-misc.
3853
38542006-09-05 22:38  gb
3855
3856        * compiler/nx0.lisp: NX-FORM-TYPEP uses NX-TARGET-TYPE.
3857
38582006-09-05 09:13  gb
3859
3860        * compiler/PPC/PPC32/ppc32-backend.lisp: darwinppc32 backend uses
3861        32-bit chars, too.
3862
38632006-09-05 09:01  gb
3864
3865        * compiler/PPC/PPC32/: ppc32-arch.lisp, ppc32-backend.lisp: ppc32
3866        defaults to 32-bit chars.
3867
38682006-09-05 05:18  gb
3869
3870        * xdump/xfasload.lisp: Deal with 32-bit lisp strings.
3871
38722006-09-05 05:18  gb
3873
3874        * lisp-kernel/linuxppc/.gdbinit: Start to depend on calling
3875        print_lisp_object, since x/s doesn't deal with 32-bit lisp strings.
3876
38772006-09-05 05:17  gb
3878
3879        * lisp-kernel/ppc-gc.c: conditionalize purify_displaced_object()
3880        for char size.
3881
38822006-09-05 05:16  gb
3883
3884        * lisp-kernel/plsym.c: find_symbol(): don't assume 8-bir lisp
3885        strings.
3886
38872006-09-05 05:15  gb
3888
3889        * lisp-kernel/lisptypes.h: Try using "u8_t" and "u32_t" for
3890        lisp_char_code; this may be more portable.
3891
38922006-09-05 05:14  gb
3893
3894        * lib/sequences.lisp: SIMPLE-1D-ARRAY-SUBSEQ: handle new strings.
3895
38962006-09-05 05:13  gb
3897
3898        * level-1/linux-files.lisp: CALL-WITH-STRING-VECTOR: don't assume
3899        8-bit char/strings.
3900
39012006-09-05 05:13  gb
3902
3903        * level-1/l1-streams.lisp: Use heap-ivectors of element-type
3904        (UNSIGNED-BYTE 8) for character streams.  (Should really depend on
3905        the coding system in use.)
3906
39072006-09-05 05:09  gb
3908
3909        * level-1/l1-aprims.lisp: Various archaic string functions: don't
3910        assume 8-bit strings.
3911
39122006-09-05 05:08  gb
3913
3914        * level-0/l0-array.lisp: Handle 32-bit strings in %UVECTOR-REPLACE.
3915
39162006-09-05 05:07  gb
3917
3918        * compiler/PPC/PPC64/ppc64-arch.lisp: No "x" in simple-base-string,
3919        when #-target-8-bit-chars.
3920
39212006-09-05 05:06  gb
3922
3923        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3924        REQUIRE-CHAR-CODE: comparison of OBJECT with TAG is not a CMPI.
3925
39262006-09-05 05:05  gb
3927
3928        * compiler/PPC/ppc2.lisp: PPC2-VREF: handle the 32-bit
3929        :SIMPLE-STRING case with constant index.
3930
39312006-09-04 17:44  gb
3932
3933        * lisp-kernel/lisptypes.h: Linux doesn't define uint8_t.  Try
3934        "unsigned char", and cross fingers.
3935
39362006-09-04 17:38  gb
3937
3938        * lisp-kernel/: lisptypes.h, ppc_print.c, x86_print.c: Define
3939        lisp_char_code type, use it when printing lisp string in the kernel
3940        debugger.
3941
39422006-09-04 17:28  gb
3943
3944        * level-1/version.lisp: Bump.
3945
39462006-09-04 17:18  gb
3947
3948        * level-0/PPC/ppc-array.lisp: Sigh.  Test for 8-bit-char case was
3949        conditionalized backwards in PPC64 %INIT-MISC.
3950
39512006-09-04 17:05  gb
3952
3953        * level-1/l1-init.lisp: Initial value of CHAR-CODE-LIMIT derived
3954        from the target arch (for bootstrapping.)
3955
39562006-09-04 17:04  gb
3957
3958        * level-1/l1-reader.lisp: Use (UNSIGNED-BYTE 8) for array element
3959        type of rdtab.ttab.
3960       
3961        Don't treat (code-char #xca) as whitespace; do treat (code-char
3962        #xa0) as whitespace.  (The former happens to be how the latter was
3963        encoded in MacRoman.)
3964       
3965        Handle U+<hex> syntax in NAME-CHAR.
3966
39672006-09-04 16:16  gb
3968
3969        * compiler/PPC/PPC64/ppc64-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
3970        and the char code with #xff to get the low byte.
3971
39722006-09-04 16:15  gb
3973
3974        * compiler/PPC/PPC32/ppc32-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
3975        and the char code with #xff or 255., not with #x255.  (Cause lots
3976        of wackiness, mostly in readtable initialization.)
3977
39782006-09-04 16:12  gb
3979
3980        * compiler/PPC/ppc2.lisp: Use u32->char (which is defined) vice
3981        u8->char (which is no more) in %CHAR-CODE.
3982
39832006-09-04 06:04  gb
3984
3985        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3986        Gak.  Get guard/predicate syntax right in LOAD-CHARACTER-CONSTANT.
3987
39882006-09-04 06:03  gb
3989
3990        * level-0/PPC/ppc-array.lisp: New constants in ppc32 typecode range
3991        assertion.
3992
39932006-09-04 03:44  gb
3994
3995        * level-0/PPC/ppc-array.lisp: ppc32/ppc64 %init-misc tweaks.
3996
39972006-09-04 03:43  gb
3998
3999        * compiler/PPC/ppc-lapmacros.lisp: Typo in the (unused) 64-bit/no
4000        crf case of UNBOX-BASE-CHAR.
4001
40022006-09-04 02:30  gb
4003
4004        * level-1/l1-error-system.lisp: Object-not- (mod #x110000) type
4005        error.
4006
40072006-09-04 02:29  gb
4008
4009        * level-0/PPC/ppc-symbol.lisp: conditionalize %pname-hash for char
4010        size.
4011
40122006-09-04 02:26  gb
4013
4014        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s,
4015        ppc-constants64.h, ppc-constants64.s: Conditionalize for
4016        CHAR_SIZE_32.
4017
40182006-09-04 02:24  gb
4019
4020        * compiler/PPC/PPC32/ppc32-arch.lisp,
4021        compiler/PPC/PPC32/ppc32-vinsns.lisp,
4022        compiler/PPC/PPC64/ppc64-arch.lisp,
4023        compiler/PPC/PPC64/ppc64-vinsns.lisp, level-0/l0-array.lisp,
4024        level-0/l0-pred.lisp: Conditionalize for #-target-8-bit-chars.
4025
40262006-09-04 02:23  gb
4027
4028        * compiler/PPC/ppc2.lisp: Deal - sometimes conditionally - with
4029        32-bit characters.
4030
40312006-09-04 02:22  gb
4032
4033        * compiler/arch.lisp: ERROR-OBJECT-NOT-MOD-CHAR-CODE-LIMIT.
4034
40352006-09-03 16:03  gb
4036
4037        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
4038        conditionalize new string types.
4039
40402006-09-03 16:03  gb
4041
4042        * level-0/X86/x86-symbol.lisp: %pname-hash: conditionalize for
4043        string element size.
4044
40452006-09-03 16:02  gb
4046
4047        * compiler/X86/X8664/x8664-arch.lisp, level-0/l0-array.lisp,
4048        level-0/l0-pred.lisp: Sketch out new string types (read-time
4049        conditionalized.)
4050
40512006-09-03 15:02  gb
4052
4053        * level-0/l0-init.lisp: Put :target-8-bit-chars on *features*, for
4054        bootstrapping.
4055
40562006-09-03 14:20  gb
4057
4058        * level-1/l1-streams.lisp: More missing BASIC-STREAM methods.
4059
40602006-09-03 13:22  gb
4061
4062        * compiler/: X86/X8664/x8664-backend.lisp,
4063        PPC/PPC32/ppc32-backend.lisp, PPC/PPC64/ppc64-backend.lisp:
4064        :target-8-bit-chars on target features.
4065
40662006-09-03 13:21  gb
4067
4068        * level-0/l0-int.lisp: Some comments/indentation.
4069
40702006-09-03 13:01  gb
4071
4072        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Make
4073        CHAR-CODE-LIMIT an attribute of the target arch, for bootstrapping.
4074
40752006-09-02 11:24  gb
4076
4077        * level-1/x86-error-signal.lisp, lib/db-io.lisp: Fix typo.
4078
40792006-09-02 11:15  gb
4080
4081        * lisp-kernel/x86_print.c: hex/decimal integer printers: 3 is also
4082        a hex digit.
4083
40842006-09-02 11:11  gb
4085
4086        * lisp-kernel/x86-exceptions.c: Install a "bogus signal handler" on
4087        Darwin, to deal with apparent race conditions/Mach kernel lossage.
4088       
4089        Don't do the whole msg_server here; just do the exc_server thing.
4090       
4091        Fix a couple of Mach exception-handling bugs; at least one more may
4092        remain.
4093
40942006-09-02 11:07  gb
4095
4096        * lisp-kernel/x86-asmutils64.s: Use a hlt instruction to trap in
4097        pseudo_sigreturn.
4098       
4099        Still get spurious SIGTRAPs.
4100
41012006-09-02 11:06  gb
4102
4103        * lisp-kernel/thread_manager.c: Define some things in terms of
4104        USE_MACH_SEMAPHORES or USE_POSIX_SEMAPHORES.
4105       
4106        sem_wait_forever() does repeated timed waits, since I thought that
4107        Darwin was having trouble interrpting things that waited
4108        indefinitely.  (That might just be a GDB bug.  Who can tell ?)
4109
41102006-09-02 11:03  gb
4111
4112        * lisp-kernel/Threads.h: Define some things in terms of
4113        USE_MACH_SEMAPHORES or USE_POSIX_SEMAPHORES.  Note that as of Q3
4114        2006, Darwin still doesn't implement enough POSIX semaphore
4115        functionality to make it possible to avoid the use of Mach
4116        semaphores.
4117
41182006-09-02 11:01  gb
4119
4120        * lib/db-io.lisp:
4121        Try to avoid things like %COPY-IVECTOR-TO-IVECTOR when strings are
4122        involved.
4123
41242006-09-02 11:01  gb
4125
4126        * level-1/x86-threads-utils.lisp: Things that're %HEAP-IVECTOR-P
4127        aren't bogus objects.
4128
41292006-09-02 11:00  gb
4130
4131        * level-1/l1-streams.lisp: Try to avoid things like
4132        %COPY-IVECTOR-TO-IVECTOR when strings are involved.
4133
41342006-09-02 10:59  gb
4135
4136        * level-1/l1-events.lisp: AUTO-FLUSH-INTERACTIVE-STREAMS: use
4137        FORCE-OUTPUT.
4138
41392006-09-02 10:57  gb
4140
4141        * level-0/l0-misc.lisp: %COPY-U8-TO-STRING, %COPY-STRING-TO-U8:
4142        new, to avoid %COPY-IVECTOR-TO-IVECTOR when strings are involved.
4143       
4144        %STR-FROM-PTR: take dest string as optional arg, don't assume 8-bit
4145        chars.
4146       
4147        %GET-CSTRING: change type decl, use %GET-UNSIGNED-BYTE.
4148
41492006-09-02 10:55  gb
4150
4151        * level-0/l0-aprims.lisp: %CSTR-POINTER and %CSTR-SEGMENT-POINTER:
4152        don't assume 8-bit chars.
4153
41542006-08-28 17:35  gb
4155
4156        * lisp-kernel/ppc-spentry.s: Fix tag check in 32-bit
4157        misc_set_single_float_vector.
4158
41592006-08-28 17:01  gb
4160
4161        * xdump/faslenv.lisp: Bump max fasl version.
4162
41632006-08-28 16:48  gb
4164
4165        * lib/nfcomp.lisp: Use new string ops.  Bump current fasl version.
4166
41672006-08-28 16:33  gb
4168
4169        * xdump/faslenv.lisp: Bump (max) fasl version.
4170
41712006-08-28 16:30  gb
4172
4173        * xdump/xfasload.lisp: xloader was missing a few new ops.
4174
41752006-08-28 05:34  gb
4176
4177        * xdump/xfasload.lisp: New string stuff here, too.
4178
41792006-08-28 05:28  gb
4180
4181        * level-0/nfasload.lisp: New string stuff.
4182
41832006-08-28 04:57  gb
4184
4185        * level-1/l1-streams.lisp: More missing BASIC-STREAM methods
4186        (STREAM-LINE-COLUMN, STREAM-LISTEN, STREAM-EOFP.)
4187
41882006-08-28 04:57  gb
4189
4190        * level-1/l1-reader.lisp: Use READ-CHAR instead of
4191        STREAM-READ-CHAR, since it may be faster in some cases.
4192
41932006-08-28 04:56  gb
4194
4195        * level-1/l1-events.lisp: Unscramble auto-flush-streams stuff
4196        (don't assume ioblock-based stream.)
4197
41982006-08-28 04:55  gb
4199
4200        * level-1/l1-boot-2.lisp: Initial FD-STREAMs are BASIC-STREAMs.
4201
42022006-08-28 04:55  gb
4203
4204        * level-0/PPC/ppc-symbol.lisp: Change some REQUIRE forms; cosmetic.
4205         (Maybe not even cosmetic.)
4206
42072006-08-28 04:54  gb
4208
4209        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
4210        PPC64/ppc64-vinsns.lisp: %unbox-u8, u8-vref stuff.
4211
42122006-08-28 04:53  gb
4213
4214        * xdump/faslenv.lisp: New fasl ops for new string encodings.
4215
42162006-08-28 04:52  gb
4217
4218        * lib/macros.lisp: %CHAR-CODE: for how long has limit not been 2^16
4219        ?  For how long will limit be 2^8 ?
4220
42212006-08-28 04:51  gb
4222
4223        * level-0/nfasload.lisp: More fasl ops.
4224
42252006-08-28 04:51  gb
4226
4227        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: %UNBOX-U8,
4228        u8-vref stuff.
4229
42302006-08-28 04:50  gb
4231
4232        * compiler/arch.lisp: Add CHAR-CODE-LIMIT slot to TARGET-ARCH; may
4233        not be the best way to do this.
4234
42352006-08-26 13:58  gb
4236
4237        * release-notes.txt: Updated.
4238
42392006-08-26 13:50  gb
4240
4241        * release-notes.txt: Updated.
4242
42432006-08-26 13:50  gb
4244
4245        * darwin-x86-headers64/libc/.cvsignore: Added.
4246
42472006-08-26 03:17  gb
4248
4249        * level-1/version.lisp: Bump.  New snapshots soon, I hope.
4250
42512006-08-26 03:12  gb
4252
4253        * lisp-kernel/darwinx8664/Makefile: Pass -g in ASFLAGS; same
4254        problems as always, but avoids problems with Darwin x86-64 ld64
4255        segfaulting for unknown reasons.
4256
42572006-08-26 03:11  gb
4258
4259        * lisp-kernel/x86-exceptions.h: Need to do an explicit sigreturn on
4260        Darwin (because of the sigaltstack hacks; Darwin uses sigtramp glue
4261        that we can't just return to after switching off of the alt stack.)
4262
42632006-08-26 03:08  gb
4264
4265        * lib/numbers.lisp: Check fpu overflow bit (not underflow) when
4266        deciding whether or not to signal overflow.
4267
42682006-08-26 03:08  gb
4269
4270        * level-1/x86-trap-support.lisp: Need an indirection to access
4271        mcontext from ucontext on Darwin; invent xp-gp-regs to get at
4272        mcontext64.ss.
4273
42742006-08-26 03:06  gb
4275
4276        * level-1/x86-error-signal.lisp: Add a declaration, to make this
4277        easier to step through.
4278
42792006-08-26 03:05  gb
4280
4281        * level-0/l0-float.lisp: SINGLE-FLOAT-HALF-PI: use f0 not e0, just
4282        in case.
4283
42842006-08-25 20:35  gb
4285
4286        * level-1/l1-boot-lds.lisp, level-1/l1-events.lisp,
4287        lib/ccl-export-syms.lisp: Hyphenate ADD-AUTO-FLUSH-STREAM and
4288        REMOVE-AUTO-FLUSH-STREAM.
4289       
4290        Export them, too.
4291
42922006-08-25 20:22  gb
4293
4294        * lib/streams.lisp: READ-LINE on BASIC-INPUT-STREAM w/o
4295        STREAM-READ-LINE.
4296
42972006-08-25 20:22  gb
4298
4299        * lib/macros.lisp: HANDLER-CASE: the :NO-ERROR clause can appear at
4300        most once but doesn't have to be the last clause.
4301
43022006-08-25 20:21  gb
4303
4304        * level-1/l1-streams.lisp: BASIC-OUTPUT-STREAM isn't an
4305        INPUT-STREAM.
4306       
4307        Some STREAM-READ-LINE support for BASIC-CHARACTER-INPUT-STREAM.
4308
43092006-08-25 20:19  gb
4310
4311        * level-1/l1-readloop.lisp: PREPARE-TO-QUIT: other threads should
4312        be dead by the time that streams on *OPEN-FILE-STREAMS* are closed,
4313        so unlock those streams with extreme prejudice before closing them.
4314
43152006-08-25 20:18  gb
4316
4317        * level-1/l1-pathnames.lisp: FULL-PATHNAME: remove some weird old
4318        code that assumed that interfered with handling of relative logical
4319        pathnames.
4320
43212006-08-25 20:17  gb
4322
4323        * level-1/l1-events.lisp: Rename EVENT-POLL to
4324        AUTO-FLUSH-INTERACTIVE-STREAMS.
4325       
4326        Make AUTO-FLUSH-INTERACTIVE-STREAMS do conditional locking on each
4327        stream (doing nothing if it's not :SHARING :LOCK; unconditional
4328        locking on the *AUTO-FLUSH-STREAMS-LOCK*.
4329       
4330        ADD-AUTOFLUSH-STREAM ensures that the stream is :SHARING :LOCK.
4331       
4332        REMOVE-AUTOFLUSH-STREAM.
4333
43342006-08-25 20:13  gb
4335
4336        * level-1/l1-boot-lds.lisp: MAKE-MCL-LISTENER-STREAM uses
4337        ADD-AUTOFLUSH-STREAM, REMOVE-AUTOFLUSH-STREAM.
4338
43392006-08-23 22:59  gb
4340
4341        * lisp-kernel/x86-exceptions.c: Darwin needs to decode the mxcsr on
4342        SIGFPE.
4343       
4344        DARWIN_GS_HACK changes in altstack handlers for interrupt/suspend.
4345
43462006-08-23 22:58  gb
4347
4348        * lisp-kernel/x86-spentry64.s: x86-64 Darwin's math library is
4349        pretty casual about causing spurious exceptions, so ignore them.
4350
43512006-08-23 22:57  gb
4352
4353        * lisp-kernel/darwinx8664/.gdbinit: New file; like the linuxx8664
4354        version, with different signals to be ignored by gdb.
4355
43562006-08-23 22:56  gb
4357
4358        * lisp-kernel/x86-asmutils64.s: Using ud2b to force an exception in
4359        pseudo_sigreturn() seems to cause/be related to spurious SIGTRAPs.
4360        Use int $0 instead.
4361
43622006-08-23 22:55  gb
4363
4364        * level-1/x86-trap-support.lisp: First attempt at Darwinx8664
4365        support; may need more work.
4366
43672006-08-22 02:08  gb
4368
4369        * lisp-kernel/x86_print.c: Try not to use sprintf() (at least not
4370        for printing integers), since it seems to need access to pthread
4371        data (and calling print_lisp_object() from GDB might fail if %gs is
4372        pointing at the lisp TCR.)
4373
43742006-08-22 02:06  gb
4375
4376        * lisp-kernel/x86-spentry64.s: Unbox %arg_z (boxed entrypoint)
4377        earlier in _SPffcall, before entering foreign context.  (Need to
4378        check PPC version(s) as well.)
4379       
4380        Use DARWIN_GS_HACK to swap %gs memory around when transitioning
4381        between foreign code and lisp.
4382
43832006-08-22 02:04  gb
4384
4385        * lisp-kernel/x86-macros.s: Fix a typo.
4386
43872006-08-22 02:04  gb
4388
4389        * lisp-kernel/x86-exceptions.h: Define a few more things ...
4390
43912006-08-22 02:03  gb
4392
4393        * lisp-kernel/x86-exceptions.c: Lots of changes, especially to Mach
4394        exception handling code.
4395       
4396        Do the DARWIN_GS_HACK things to overload %gs.
4397
43982006-08-22 02:02  gb
4399
4400        * lisp-kernel/x86-asmutils64.s: atomic_and(), pseudo_sigreturn()
4401        for DarwinX8664.
4402
44032006-08-22 02:01  gb
4404
4405        * lisp-kernel/thread_manager.c: Some PPC64 conditionalizations
4406        should really have tested WORD_SIZE.
4407       
4408        DARWIN_GS_HACK stuff around suspend/resume signal handlers.  (May
4409        not be necessary.)
4410       
4411        Ensure that tcr.linear gets set on x86, even if not HAVE_TLS.
4412
44132006-08-22 01:59  gb
4414
4415        * lisp-kernel/pmcl-kernel.c: Don't really flush cache lines on
4416        x8664.
4417       
4418        Some PPC64 conditionalizations should really have tested WORD_SIZE.
4419
44202006-08-22 01:58  gb
4421
4422        * lisp-kernel/m4macros.m4: Define SYSCALL_SETS_CARRY_ON_ERROR for
4423        FreeBSDX664, DarwinX8664.
4424
44252006-08-22 01:57  gb
4426
4427        * lisp-kernel/darwinx8664/Makefile: Much smaller pagezero, much
4428        lower seg1addr.
4429       
4430        Something in the (m4-generated) symbolic info in some .s files is
4431        screwy and causes ld64 to segfault; it's currently necesssary to
4432        use "strip -S" on the assembler-generated .o files.
4433
44342006-08-22 01:55  gb
4435
4436        * scripts/openmcl64: Untested changes for Darwinx8664.
4437
44382006-08-22 01:54  gb
4439
4440        * xdump/xx8664-fasload.lisp: Fix typo in darwinx8664
4441        xload-backend-info (compiler target is :darwinx8664, not
4442        :linuxx8664).
4443
44442006-08-22 01:53  gb
4445
4446        * lib/nfcomp.lisp: Dump concatenated functions from xfunctions when
4447        cross-compiling to x86 from x86.
4448
44492006-08-22 01:52  gb
4450
4451        * lib/misc.lisp: MACHINE-VERSION:  conditionalize on :DARWIN-TARGET
4452        (not :DARWINPPC-TARGET).
4453
44542006-08-22 01:50  gb
4455
4456        * lib/foreign-types.lisp: :DARWIN-TARGET (not :DARWINPPC-TARGET).
4457
44582006-08-22 01:50  gb
4459
4460        * lib/compile-ccl.lisp: :DARWINX8664 stuff.
4461
44622006-08-22 01:49  gb
4463
4464        * level-1/version.lisp: Bump.
4465
44662006-08-22 01:49  gb
4467
4468        * level-1/l1-sysio.lisp: FILE-STREAM-EXTERNAL-FORMAT stuff for
4469        BASIC-STREAMs.
4470
44712006-08-22 01:48  gb
4472
4473        * level-1/: l1-sockets.lisp, linux-files.lisp: Conditionalize on
4474        DARWIN-TARGET, not DARWINPPC-TARGET.
4475
44762006-08-22 01:47  gb
4477
4478        * level-0/l0-init.lisp: DarwinX8664 *features*.
4479
44802006-08-22 01:47  gb
4481
4482        * level-0/l0-cfm-support.lisp: Some DARWINPPC-TARGET conditionals
4483        really want to be DARWIN-TARGET.
4484
44852006-08-22 01:46  gb
4486
4487        * compiler/X86/X8664/x8664-arch.lisp: YIELD-SYSCALL for
4488        DarwinX8664.
4489
44902006-08-22 01:45  gb
4491
4492        * compiler/X86/x862.lisp: Use CROSS-CREATE-X86-FUNCTION if not
4493        compiling natively.
4494       
4495        Fix X862-FIXUP-FWD-REFS if not native function on x86.
4496
44972006-08-22 01:44  gb
4498
4499        * compiler/X86/x86-lap.lisp: Ensure that CROSS-CREATE-X86-FUNCTION
4500        is defined, even on x86.  Use it if not compiling natively on x86.
4501
45022006-08-20 23:59  gb
4503
4504        * lisp-kernel/darwinx8664/Makefile: Define DARWIN_GS_HACK.
4505
45062006-08-20 23:58  gb
4507
4508        * lisp-kernel/x86-exceptions.c: Still needs lots of work.
4509
45102006-08-20 23:58  gb
4511
4512        * lisp-kernel/x86-exceptions.h: Include Mach stuff on Darwin;
4513        prototypes for DARWIN_GS_HACK %gs segment switching.
4514
45152006-08-20 23:57  gb
4516
4517        * lisp-kernel/x86-subprims64.s: Manipulate the %gs register when a
4518        lisp thread starts, exits and DARWIN_GS_HACK is defined.
4519       
4520        This isn't so bad, but doing it around every ff-call might be.
4521
45222006-08-20 23:56  gb
4523
4524        * lisp-kernel/x86-macros.s: DARWIN_GS_HACK macros.
4525
45262006-08-20 23:53  gb
4527
4528        * lisp-kernel/thread_manager.c: Note the need for DARWIN_GS_HACK.
4529
45302006-08-20 23:51  gb
4531
4532        * lisp-kernel/x86-asmutils64.s: DARWIN_GS_HACK hacks.
4533
45342006-08-20 23:51  gb
4535
4536        * lisp-kernel/m4macros.m4: Hope that the need for DARWIN_GS_HACK is
4537        also temporary.
4538
45392006-08-20 23:50  gb
4540
4541        * lisp-kernel/lisptypes.h: Hope that the workaround for missing
4542        mcontext64 in x8664 Darwin is temporary.
4543
45442006-08-20 20:35  gb
4545
4546        * library/darwinx664-syscalls.lisp: typo
4547
45482006-08-20 20:35  gb
4549
4550        * library/darwinx8664-syscalls.lisp: spell name right
4551
45522006-08-20 17:10  gb
4553
4554        * xdump/xx8664-fasload.lisp: :darwinx8664 stuff.
4555
45562006-08-20 17:10  gb
4557
4558        * lib/db-io.lisp: :struct-by-value: don't read-time conditionalize
4559        (do other things still use read-time conditionals ?)
4560
45612006-08-20 17:09  gb
4562
4563        * compiler/X86/X8664/x8664-backend.lisp: Darwinx8664: overload %gs,
4564        setup syscall mask.
4565
45662006-08-20 17:08  gb
4567
4568        * compiler/nx1.lisp: Handle syscall, ff-call for :darwinx8664 as
4569        well.
4570
45712006-08-20 17:06  gb
4572
4573        * library/darwinx664-syscalls.lisp: New file; or's in the bit for
4574        Unix syscalls on Darwinx8664.  (Screw: should (carefully) review
4575        word-size issues.)
4576
45772006-08-20 17:03  gb
4578
4579        * library/darwinppc-syscalls.lisp: Mask for PPC.
4580
45812006-08-20 17:02  gb
4582
4583        * level-0/l0-io.lisp, level-1/l1-sockets.lisp,
4584        level-1/linux-files.lisp: Syscall conditionalization.
4585
45862006-08-20 17:01  gb
4587
4588        * level-1/l1-streams.lisp: Syscall conditionalization.
4589       
4590        SELECTION-INPUT-STREAM created with :sharing :lock.
4591
45922006-08-20 17:00  gb
4593
4594        * examples/objc-runtime.lisp: Fencepost in
4595        POINTER-IN-CFSTRING-SECTION-P.
4596
45972006-08-20 16:16  gb
4598
4599        * library/: darwinppc-syscalls.lisp, darwin-syscalls.lisp: rename
4600
46012006-08-18 09:50  gb
4602
4603        * lisp-kernel/thread_manager.c: Enable FP underflow detection on
4604        x8664.  Should do this on PPC as well, and should probably offer
4605        some backward-compatible behavior for reader.
4606
46072006-08-18 09:47  gb
4608
4609        * compiler/X86/X8664/x8664-backend.lisp: Dress up the Darwin x86-64
4610        backend a little.
4611       
4612        Explicily define lisp-context-register slot in each backend (%gs
4613        for those imolementations that follow the standard ABI, %fs for
4614        Darwin.)
4615
46162006-08-18 09:44  gb
4617
4618        * compiler/X86/X8664/x8664-vinsns.lisp: Use :rcontext when
4619        necessary.
4620
46212006-08-18 09:43  gb
4622
4623        * compiler/X86/: x86-backend.lisp, x86-lap.lisp: Recognize
4624        :rcontext as a reference to the backend's LISP-CONTEXT-REGISTER
4625        slot.
4626
46272006-08-18 09:42  gb
4628
4629        * compiler/backend.lisp: Backend now has a lisp-context-register
4630        slot.
4631
46322006-08-18 09:42  gb
4633
4634        * compiler/X86/X8664/x8664-arch.lisp: No more (constant) rcontext.
4635
46362006-08-18 09:40  gb
4637
4638        * level-0/X86/: x86-def.lisp, x86-float.lisp, x86-io.lisp,
4639        x86-misc.lisp, x86-symbol.lisp, x86-utils.lisp: Refer to rcontext
4640        segment register as :rcontext, since x86-64 Darwin doesn't laugh
4641        and play like the other children.
4642
46432006-08-18 09:29  gb
4644
4645        * lisp-kernel/x86-exceptions.c: Copy some of the Mach exception
4646        code from the PPC version and tweak it a little; needs more work.
4647
46482006-08-18 09:27  gb
4649
4650        * lisp-kernel/x86-exceptions.h: Provide some interim Darwin
4651        conditionalization.
4652
46532006-08-18 09:25  gb
4654
4655        * lisp-kernel/m4macros.m4: Spell FREEBSD correctly.
4656       
4657        Generate an equate for HAVE_TLS.
4658
46592006-08-18 09:23  gb
4660
4661        * lisp-kernel/x86-gc.c: Changes in purify_xp().
4662
46632006-08-18 09:19  gb
4664
4665        * lisp-kernel/x86-spentry64.s: Darwin x86-64 assembler doesn't like
4666        absolute jumps, prefers slower ones.
4667       
4668        Move lock prefixes to their own lines, to satisfy you-know-who.
4669       
4670        If we don't have thread-local-storage (TLS), it's hard to avoid the
4671        get_tcr() call on each calback.
4672
46732006-08-18 09:13  gb
4674
4675        * lisp-kernel/: freebsdx8664/Makefile, linuxx8664/Makefile: Tell m4
4676        that we HAVE_TLS.
4677
46782006-08-17 10:41  phil
4679
4680        * examples/FFI/:
4681        Allocating-foreign-data-on-the-lisp-heap/ptrtest-compile.sh,
4682        Allocating-foreign-data-on-the-lisp-heap/ptrtest.c,
4683        Allocating-foreign-data-on-the-lisp-heap/ptrtest.lisp,
4684        Using-basic-calls-and-types/Readme.rtf,
4685        Using-basic-calls-and-types/typetest-compile.sh,
4686        Using-basic-calls-and-types/typetest.c,
4687        Using-basic-calls-and-types/typetest.lisp: Initial version
4688
46892006-08-17 10:40  phil
4690
4691        * examples/FFI/Allocating-foreign-data-on-the-lisp-heap/Readme.rtf:
4692        [no log message]
4693
46942006-08-08 13:07  gb
4695
4696        * lisp-kernel/darwinx8664/Makefile: New file.
4697
46982006-08-08 13:07  gb
4699
4700        * lisp-kernel/x86-exceptions.h: xp accessors for Darwinx8664.
4701
47022006-08-08 13:06  gb
4703
4704        * lisp-kernel/x86-constants64.h: REG_* constants for Darwin.
4705
47062006-08-08 13:05  gb
4707
4708        * lisp-kernel/x86-asmutils64.s: Darwin assembler doesn't like lock
4709        instructions on the same line as the locked instruction.  (Maybe
4710        there's a better way to do this, than just pretending that lock is
4711        a standalone instruction, but that lock instruction does seem to be
4712        treated as a prefix.)
4713
47142006-08-08 13:03  gb
4715
4716        * lisp-kernel/pmcl-kernel.c: Treat X8664 like PPC64 (e.g., use
4717        dlfcn) on Darwin.
4718
47192006-08-08 13:02  gb
4720
4721        * lisp-kernel/lisptypes.h: xcode 2.4 headers: <i386/ucontext.h>
4722        doesn't define mcontext64, but lots of other things reference it.
4723        #define it here for now, but that'll likely break when the headers
4724        are fixed.
4725
47262006-08-08 12:58  gb
4727
4728        * lisp-kernel/lisp-debug.c: Define Iregnames for darwinx8664.
4729
47302006-08-08 12:58  gb
4731
4732        * lisp-kernel/area.h: Define an IMAGE_BASE_ADDRESS for
4733        x8664/Darwin.
4734
47352006-07-29 08:41  gb
4736
4737        * level-1/l1-streams.lisp: STREAM-WRITE-BYTE, STREAM-WRITE-IVECTOR.
4738         :BASIC defaults to T in OPEN; BASIC-FILE-STREAM probably still
4739        needs READ/WRITE- SEQUENCE support.
4740
47412006-07-29 07:39  gb
4742
4743        * level-1/l1-aprims.lisp: ALLOCATE-RESOURCE, FREE-RESOURCE: use
4744        lock.  TODO: evaluate whether resources are worthwhile;  used for
4745        string-output-stream allocation and DELETE-DUPLICATES.
4746
47472006-07-29 06:27  gb
4748
4749        * library/lispequ.lisp: Resources aren't thread-private, need
4750        locks.
4751
47522006-07-29 06:26  gb
4753
4754        * level-1/l1-sysio.lisp: MAKE-FILE-STREAM: support for
4755        BASIC-STREAMs.
4756
47572006-07-29 06:26  gb
4758
4759        * level-1/l1-streams.lisp: OPEN handles BASIC-STREAMs; not yet the
4760        default.
4761
47622006-07-29 06:25  gb
4763
4764        * level-1/l1-reader.lisp: *PARSE-STRING-RESOURCE* probably hasn't
4765        been used in 10 or 12 years.
4766
47672006-07-29 03:40  gb
4768
4769        * level-1/l1-sysio.lisp: Most BASIC-FILE-STREAM stuff.
4770
47712006-07-29 03:40  gb
4772
4773        * library/lispequ.lisp: BASIC-FILE-STREAM.EXTERNAL-FORMAT, at least
4774        for now.
4775
47762006-07-29 03:39  gb
4777
4778        * level-1/l1-streams.lisp: BASIC-IO-STREAM; ALLOCATE-BASIC-STREAM
4779        makes one more slot in BASIC-FILE-STREAM.
4780
47812006-07-28 04:17  gb
4782
4783        * level-1/version.lisp: Bump.
4784
47852006-07-28 04:15  gb
4786
4787        * level-1/l1-streams.lisp: A couple of more (soon-to-be-used) slots
4788        in IOBLOCK.
4789
47902006-07-28 01:17  gb
4791
4792        * level-1/l1-streams.lisp: Lots of changes; lots more to go.
4793
47942006-07-28 01:16  gb
4795
4796        * level-1/l1-sockets.lisp: Pass :CHARACTER-P T to MAKE-FD-STREAM.
4797
47982006-07-28 00:58  gb
4799
4800        * examples/cocoa-listener.lisp: Want :SHARING :LOCK on listener
4801        output.
4802       
4803        (SLIME probably faces the same issue; should probably do something
4804        in the auto-flush case.  Of course, it's hard to know just what to
4805        do in that case. or at least what to do safely in that case.)
4806
48072006-07-28 00:49  gb
4808
4809        * level-1/l1-sysio.lisp: Define SELECT-STREAM-CLASS on
4810        FUNDAMENTAL-FILE-STREAM.
4811
48122006-07-28 00:49  gb
4813
4814        * lib/streams.lisp: READ-BYTE for BASIC-STREAMs.
4815
48162006-07-28 00:48  gb
4817
4818        * library/lispequ.lisp: Need an explicit
4819        BASIC-STREAM-FLAG.OPEN-CHARACTER bit, due to bivalence.
4820
48212006-07-28 00:47  gb
4822
4823        * lib/macros.lisp: BASIC-STREAM-IOBLOCK.
4824
48252006-07-25 03:48  gb
4826
4827        * compiler/optimizers.lisp: Compiler-macro for BASIC-STREAM-P.
4828
48292006-07-24 04:55  gb
4830
4831        * lib/streams.lisp: READ-CHAR bypasses STREAM-READ-CHAR for
4832        BASIC-STREAMs.
4833
48342006-07-24 04:55  gb
4835
4836        * level-1/l1-streams.lisp: Some BASIC-STREAM stuff starts to
4837        appear.
4838
48392006-07-24 04:51  gb
4840
4841        * library/lispequ.lisp: Add a plist to basic-/basic-file-stream.
4842
48432006-07-24 02:43  gb
4844
4845        * level-1/l1-sysio.lisp: FILE-STREAM is now abstract (and some
4846        sublasses may get that way); FUNDAMENTAL-FILE-STREAM is an
4847        implementation of it (and BASIC-FILE-STREAM soon will be.)
4848
48492006-07-23 03:05  gb
4850
4851        * level-1/l1-clos-boot.lisp: *class-table* entry for BASIC-STREAM.
4852
48532006-07-23 03:03  gb
4854
4855        * level-1/l1-streams.lisp: STREAM-IOBLOCK now takes 2 required args
4856        and is inlined.
4857       
4858        Some bug fixes; STREAM class no longer has slots.
4859       
4860        IOBLOCK-READ-CHAR-FUNCTION used by READ-CHAR.  %ioblock-read-byte
4861        variants; fix read-byte botch (should vector according to
4862        element-type.)
4863
48642006-07-23 02:54  gb
4865
4866        * level-1/: linux-files.lisp, l1-sysio.lisp, l1-sockets.lisp:
4867        STREAM-IOBLOCK now takes 2 required args.
4868
48692006-07-23 02:54  gb
4870
4871        * level-1/version.lisp: Bump.
4872
48732006-07-23 02:53  gb
4874
4875        * library/lispequ.lisp: Start to define what a BASIC-STREAM looks
4876        like.
4877
48782006-07-23 02:53  gb
4879
4880        * lib/macros.lisp: Move stream-ioblock access/locking macros here.
4881       
4882        Likewise WITH-EAGAIN.
4883
48842006-07-23 01:12  gb
4885
4886        * level-1/: l1-sysio.lisp, l1-streams.lisp, l1-boot-2.lisp,
4887        l1-sockets.lisp: Fix a few botches.
4888       
4889        :private arg to stream creation primitives replaced with :sharing,
4890        which can have values:
4891       
4892         :private (the default; stream can only be accessed by the creating
4893        thread)
4894         :lock  (the old, often slow, default); most accesses to stream
4895        involve locking
4896         :nil or :external (stream code doesn't enforce exclusion).
4897
48982006-07-22 23:57  gb
4899
4900        * level-1/l1-streams.lisp: Bootstrapping stuff.
4901       
4902        Move along, nothing to see here.
4903
49042006-07-20 03:43  gb
4905
4906        * level-1/: l1-boot-2.lisp, l1-sockets.lisp, l1-streams.lisp,
4907        l1-sysio.lisp: First (rough) cut at making streams "private"
4908        (effectively always locked by the "owning" thread) to reduce some
4909        locking overhead.  More to come, some of which will be a little
4910        tricky to bootstrap.
4911
49122006-07-20 01:09  gb
4913
4914        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s,
4915        ppc-constants64.h, ppc-constants64.s, x86-constants64.h,
4916        x86-constants64.s: subtag_lisp_thread -> subtag_basic_stream.
4917
49182006-07-20 01:09  gb
4919
4920        * library/lispequ.lisp: new (istruct-based) LISP-THREAD accessors.
4921
49222006-07-20 01:08  gb
4923
4924        * level-1/version.lisp: Bump.
4925
49262006-07-20 01:07  gb
4927
4928        * level-1/l1-streams.lisp: Introduce "owner" slot in basic ioblock.
4929         A little tricky to bootstrap.
4930
49312006-07-20 01:05  gb
4932
4933        * level-0/l0-misc.lisp, level-1/l1-processes.lisp,
4934        level-1/l1-clos-boot.lisp, level-1/l1-lisp-threads.lisp: Use new
4935        (istruct-based) lisp-thread accessors.
4936
49372006-07-20 01:02  gb
4938
4939        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
4940        X86/X8664/x8664-arch.lisp: Get rid of the lisp-thread subtag
4941        (lisp-thread's are ISTRUCTs now); re-use it for (to-be-introduced)
4942        BASIC-STREAM.
4943
49442006-07-15 15:02  gb
4945
4946        * level-1/l1-error-system.lisp: Insert some fresh lines in the
4947        IMPOSSIBLE-NUMBER condition :REPORT method.
4948
49492006-07-15 15:00  gb
4950
4951        * compiler/X86/x862.lisp: x862-%aref1,x862-%aset1: don't try to do
4952        simple vector operations unless we're sure that the vector is a
4953        (SIMPLE-ARRAY * (*)) and we know the element-type (these were
4954        leaping into the simple-typed-vector case when the element-type was
4955        known but the vector wasn't known to be SIMPLE.
4956
49572006-07-14 05:57  gb
4958
4959        * compiler/nx0.lisp: NX-FORM-TYPEP: unqoute constants.
4960
49612006-07-13 16:01  gb
4962
4963        * level-1/l1-typesys.lisp: SPECIALIZED-ARRAY-ELEMENT-TYPES needs to
4964        know about FIXNUM arrays.
4965
49662006-07-11 14:23  gb
4967
4968        * compiler/X86/x862.lisp: Destination and 1st source arg overlap
4969        (2-address instructions) in natural logical, arithmetic operations.
4970
49712006-07-05 02:38  gb
4972
4973        * release-notes.txt: Update.
4974
49752006-07-05 02:22  gb
4976
4977        * level-0/l0-init.lisp: Reluctantly put :MCL back on *features*;
4978        its removal needs to be better publicized.
4979
49802006-07-04 22:24  gb
4981
4982        * level-1/linux-files.lisp: Use NATIVE-TRANSLATED-NAMESTRING on the
4983        PROGRAM arg to RUN-PROGRAM.
4984
49852006-07-04 22:23  gb
4986
4987        * level-1/version.lisp: Bump.
4988
49892006-06-29 02:11  gb
4990
4991        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump
4992        image-abi-version.
4993
49942006-06-28 05:24  gb
4995
4996        * level-0/l0-cfm-support.lisp: *rtld-default* wants to be a null
4997        pointer on DarwinPPC32 (at the very least, that platform's
4998        xFindSymbol gets confused by anything but a null pointer/global
4999        lookup.)
5000
50012006-06-28 05:09  gb
5002
5003        * level-1/version.lisp: Bump.  Call the FreeBSD/AMD64 version
5004        "Alpha", which may be a bit generous (pretty regular deadlock,
5005        random thread creation errors, other bugs.)
5006
50072006-06-28 05:07  gb
5008
5009        * lisp-kernel/freebsdx8664/.gdbinit: new; awfully similar to linux
5010        x86-64 version.
5011
50122006-06-28 04:04  gb
5013
5014        * lisp-kernel/x86-exceptions.c: FreeBSD doesn't do a good job of
5015        identifying the cause of XMM FP exceptions.  Try to do that by
5016        looking at MXCSR bits.
5017
50182006-06-28 04:03  gb
5019
5020        * lisp-kernel/x86-spentry64.s: FreeBSD syscalls set carry flag to
5021        indicate error return.
5022
50232006-06-28 04:03  gb
5024
5025        * level-1/: l1-sockets.lisp, linux-files.lisp,
5026        x86-trap-support.lisp: Some FreeBSD changes/fixes.
5027
50282006-06-28 04:02  gb
5029
5030        * level-0/l0-cfm-support.lisp: Remove a #+freebsd-target
5031        breakpoint.
5032
50332006-06-27 18:08  gb
5034
5035        * level-0/l0-cfm-support.lisp: fix (?) nested #+/#-.  Maybe.
5036
50372006-06-27 17:30  gb
5038
5039        * lisp-kernel/x86-exceptions.h: Fix Linux def of IS_MAYBE_INT_TRAP.
5040
50412006-06-27 17:27  gb
5042
5043        * lisp-kernel/pmcl-kernel.c: (possibly) make get_r_debug more
5044        portable; possibly break it completely ...
5045
50462006-06-27 08:55  gb
5047
5048        * lisp-kernel/x86-exceptions.c: map the altstack
5049        read/write/execute.
5050
50512006-06-27 08:54  gb
5052
5053        * lisp-kernel/thread_manager.c: Fix os_get_stack_bounds() for
5054        FreeBSD.
5055
50562006-06-27 08:54  gb
5057
5058        * lisp-kernel/Threads.h: FreeBSD needs prototypes from
5059        <pthread_np.h>
5060
50612006-06-27 08:53  gb
5062
5063        * lib/compile-ccl.lisp: New (renamed) kernel-build-direcory for
5064        :freebsdx8664.
5065
50662006-06-27 08:53  gb
5067
5068        * level-1/x86-trap-support.lisp: freebsd x8664 GPR indices.  (Needs
5069        testing.)
5070       
5071        Don't conditionalize as much code. Indices/offsets are
5072        platform-specific, but accessors defiend in terms of them needn't
5073        be.
5074
50752006-06-27 08:51  gb
5076
5077        * level-1/x86-callback-support.lisp: Remove 1st line (bogus
5078        comment.)
5079
50802006-06-27 08:50  gb
5081
5082        * level-0/l0-init.lisp: More freebsd x8664 features.
5083
50842006-06-27 08:50  gb
5085
5086        * scripts/openmcl64: Update for FreeBSD/amd64.
5087
50882006-06-27 08:47  gb
5089
5090        * compiler/X86/X8664/x8664-backend.lisp: FreeBSD backend has
5091        :freebsdx8664-target as a target-specific-feature.
5092
50932006-06-27 05:05  gb
5094
5095        * lisp-kernel/: freebsdx8664/Makefile, freebsd8664/Makefile,
5096        freebsd8664/elf_x86_64.x: directory rename
5097
50982006-06-27 04:59  gb
5099
5100        * xdump/xx8664-fasload.lisp: FreeBSD xload-backend.
5101
51022006-06-27 04:47  gb
5103
5104        * lisp-kernel/x86-exceptions.h: Some macros for FreeBSD changes.
5105
51062006-06-27 04:46  gb
5107
5108        * lisp-kernel/x86-exceptions.c: FreeBSD changes (at least enough to
5109        recognize UUOs, which generate SIGBUS vice SIGSEGV.)
5110
51112006-06-27 04:45  gb
5112
5113        * lisp-kernel/x86-asmutils64.s: Define freebsd_sigreturn.
5114       
5115        TODO (maybe): copy the sigtramp code when evacuating the altstack.
5116
51172006-06-27 04:44  gb
5118
5119        * lisp-kernel/thread_manager.c: FreeBSD sigreturn from
5120        suspend_resume_handler.
5121
51222006-06-27 04:44  gb
5123
5124        * lisp-kernel/pmcl-kernel.c: Some FreeBSD conditionalization;
5125        get_r_debug() for ELF platforms.  (Needs testing under Linux.)
5126
51272006-06-27 04:43  gb
5128
5129        * lisp-kernel/imports.s: Don't import metering-control; do import
5130        get_r_debug().
5131
51322006-06-27 04:42  gb
5133
5134        * library/x8664-freebsd-syscalls.lisp: New file.  Should check
5135        word-size stuff (here and in other versions.)
5136
51372006-06-27 04:42  gb
5138
5139        * lib/misc.lisp: Find MACHINE-VERSION string via #_sysctl on
5140        FreeBSD.
5141
51422006-06-27 04:39  gb
5143
5144        * lib/foreign-types.lisp: Signed char nonsense (should use target
5145        ftd, not reader macros here.)
5146
51472006-06-27 04:38  gb
5148
5149        * lib/compile-ccl.lisp: Some FreeBSD support.
5150
51512006-06-27 04:36  gb
5152
5153        * level-1/: l1-sockets.lisp, l1-streams.lisp, linux-files.lisp:
5154        Some FreeBSD changes/conditionalization. Maybe not enough.
5155
51562006-06-27 04:35  gb
5157
5158        * level-1/l1-boot-1.lisp: Recognize FREEBSD platform-os-name.
5159
51602006-06-27 04:34  gb
5161
5162        * level-0/X86/: .cvsignore, X8664/.cvsignore: Ignore *fsl.
5163
51642006-06-27 04:34  gb
5165
5166        * level-0/l0-io.lisp: FreeBSD syscalls.
5167
51682006-06-27 04:33  gb
5169
5170        * level-0/l0-init.lisp: Some FreeBSD features.
5171
51722006-06-27 04:33  gb
5173
5174        * level-0/l0-cfm-support.lisp: Lots of FreeBSD conditionalization,
5175        changes.
5176       
5177        MAY HAVE BROKEN LINUX PORTS; need to recompile on those platforms
5178        and test.
5179       
5180        Now depends on an imported lisp-kernel function on ELF platforms
5181        (Linux/FreeBSD), and therefore depends on recent kernel changes.
5182
51832006-06-27 04:30  gb
5184
5185        * level-0/.cvsignore: Ignore *fsl.
5186
51872006-06-27 04:29  gb
5188
5189        * compiler/X86/X8664/x8664-backend.lisp: Fix platform-syscall-mask
5190        in freebsd backend.
5191
51922006-06-27 04:27  gb
5193
5194        * compiler/X86/X8664/x8664-arch.lisp: Don't import
5195        metering-control; do import get-r-debug (for Elf shared libraries.)
5196       
5197        A yield-syscall constant for FreeBSD. (This is all a bad idea ...)
5198
51992006-06-27 04:26  gb
5200
5201        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp:
5202        Don't import metering-control; do import get-r-debug (for Elf
5203        shared libraries.)
5204
52052006-06-27 04:26  gb
5206
5207        * compiler/nx1.lisp: Use the non-eabi syscall on freebsd as well.
5208
52092006-06-26 16:38  gb
5210
5211        * compiler/X86/X8664/x8664-vinsns.lisp:
5212        SET-BIGITS-AND-HEADER-FOR-FIXNUM-OVERFLOW: need to change the
5213        (wrong) sign of the top 3 (fixnumshift) bits only.  Where did the
5214        constant #xffff000000000000 come from ?
5215
52162006-06-26 16:35  gb
5217
5218        * compiler/X86/x862.lisp: Fix some indentation.
5219
52202006-06-25 20:32  gb
5221
5222        * compiler/X86/X8664/x8664-backend.lisp: FreeBSD x8664 backend;
5223        change initialiation of x8664 foreign-type stuff.
5224
52252006-06-25 20:31  gb
5226
5227        * compiler/backend.lisp: PLATFORM-OS-FREEBSD.
5228
52292006-06-23 19:52  gb
5230
5231        * darwin-headers/: gl/C/.cvsignore, libc/C/.cvsignore,
5232        quicktime/C/.cvsignore: Ignore Developer subdirectory.  c
5233
52342006-06-23 19:28  gb
5235
5236        * release-notes.txt: Update some.
5237
52382006-06-23 19:11  gb
5239
5240        * examples/gtk2-clock.lisp: New file.
5241
52422006-06-23 18:56  gb
5243
5244        * level-1/version.lisp: Bump.
5245
52462006-06-23 18:52  gb
5247
5248        * lib/ccl-export-syms.lisp: Export DEFLOADVAR.
5249
52502006-06-22 13:39  gb
5251
5252        * x86-headers64/gnome2/C/.cvsignore: new
5253
52542006-06-22 13:36  gb
5255
5256        * x86-headers64/: gl/C/.cvsignore, gnome2/C/populate.sh: new
5257
52582006-06-22 13:33  gb
5259
5260        * x86-headers64/: gl/.cvsignore, gl/C/populate.sh,
5261        gnome2/.cvsignore: new
5262
52632006-06-22 13:30  gb
5264
5265        * examples/opengl-ffi.lisp: #+linuxppc-target -> #+linux-target.
5266
52672006-06-22 13:28  gb
5268
5269        * level-1/version.lisp: Bump.
5270
52712006-06-21 15:15  gb
5272
5273        * lisp-kernel/: ppc-constants64.h, ppc-constants64.s,
5274        ppc-spentry.s: Define new string subtags; handle them in ppc64
5275        misc_ref/misc_set.
5276
52772006-06-21 15:14  gb
5278
5279        * level-0/PPC/ppc-array.lisp: Fix %INIT-MISC (both ppc2 and ppc64
5280        versions) to handle FIXNUM vectors, new UCS4 strings.
5281
52822006-06-21 15:14  gb
5283
5284        * level-0/l0-array.lisp: Fix %INIT-MISC (bot ppc2 and ppc64
5285        versions) to handle FIXNUM vectors, new UCS4 strings.
5286
52872006-06-21 15:12  gb
5288
5289        * darwin-headers/: carbon/C/populate.sh, cocoa/C/populate.sh,
5290        gl/C/populate.sh, libc/C/populate.sh, quicktime/C/populate.sh,
5291        webkit/C/populate.sh: Use 10.4u headers from XCode SDK.
5292
52932006-06-21 15:11  gb
5294
5295        * compiler/PPC/PPC64/ppc64-arch.lisp: Add SUBTAG-NEW-STRING.
5296
52972006-06-21 15:11  gb
5298
5299        * compiler/PPC/PPC32/ppc32-arch.lisp: MAX-32-BIT-IVECTOR-SUBTAG
5300        wasn't updated with the introduction of fixnum vectors, (unused)
5301        UCS4 "new"strings.
5302
53032006-06-16 03:50  gb
5304
5305        * examples/objc-support.lisp: Re-compute static NSString info after
5306        opening an extension framework.
5307
53082006-06-16 03:45  gb
5309
5310        * examples/webkit.lisp: Use new functions for augmenting
5311        interfaces, loading framework.
5312
53132006-06-16 03:43  gb
5314
5315        * examples/objc-runtime.lisp: Juggle things around so that add-on
5316        framework bundles get loaded on appication re-launch.
5317       
5318        REVIVE-OBJC-CLASSES tells MAP-OBJC-CLASSES not to hit the database,
5319        since (a) it may not be there, or may not be where we can find it
5320        yet and (b) it's probably more reasonable to do that than it would
5321        be to teach CLOS about classes that're "discovered" when the
5322        appication's launched on a newer OS release than it was saved on.
5323
53242006-06-16 03:39  gb
5325
5326        * examples/cocoa-application.lisp: Touch tha application bundle
5327        before saving an image into it.  That -may- convincve
5328        LaunchServices to do the right thing.
5329
53302006-06-16 03:38  gb
5331
5332        * examples/objc-support.lisp: Reload any addon/framework bundles
5333        that had been loaded before the image was saved when starting a
5334        bundled application.
5335       
5336        Juggle things around, so that that works (need to be able to use
5337        low-level bridge features early.)
5338
53392006-06-16 03:36  gb
5340
5341        * lib/db-io.lisp: Disable the #? reader macro.
5342
53432006-06-14 15:42  gb
5344
5345        * level-0/: PPC/ppc-def.lisp, X86/x86-def.lisp: Fix #+APPLY+
5346        lfun-bits.
5347
53482006-06-12 20:24  gb
5349
5350        * lib/ppc-backtrace.lisp: PPC version of
5351        %find-register-argument-value had the same sort of fencepost as the
5352        x86-64 version had a few days ago.
5353
53542006-06-10 23:52  gb
5355
5356        * lib/arglist.lisp: %ARGLIST-INTERNAL: if generic-function, return
5357        its GENERIC-FUNCTION-LAMBDA-LIST.
5358
53592006-06-10 23:51  gb
5360
5361        * level-1/l1-clos.lisp: Give reader/writer method args more
5362        descriptive names. (Barely more descriptive ...)
5363
53642006-06-10 19:25  gb
5365
5366        * level-1/l1-clos-boot.lisp: Arrgh.  In
5367        %MAYBE-STD-SETF-SLOT-VALUE-USING-CLASS, we know nothing about the
5368        type of the instance, so don't use INSTANCE.SLOTS (instead, let
5369        INSTANCE-SLOTS do a TYPECASE; it's inlined at this point.)
5370       
5371        This was keeping non-standard instances - like ObjC classes and
5372        metaclasses - from having some of their slots initialized
5373        correctly.
5374
53752006-06-10 19:22  gb
5376
5377        * examples/objc-clos.lisp: PRINT-OBJECT methods for objc-class,
5378        objc-metaclass: don't die if the class is unnamed (makes it easier
5379        to print classes for debugging during initialization.)
5380
53812006-06-10 13:05  gb
5382
5383        * level-1/ppc-trap-support.lisp: Fix LinuxPPC64 versions of
5384        XP-FPSCR-INFO and XP-DOUBLE-FLOAT.
5385
53862006-06-08 05:01  gb
5387
5388        * release-notes.txt: Update a bit.
5389
53902006-06-08 03:56  gb
5391
5392        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump
5393        image-abi-version.
5394
53952006-06-08 03:46  gb
5396
5397        * xdump/faslenv.lisp: Bump (min) fasl version.
5398
53992006-06-08 03:35  gb
5400
5401        * lib/nfcomp.lisp: Bump (current) fasl-version.
5402
54032006-06-08 03:28  gb
5404
5405        * lisp-kernel/linuxx8664/Makefile: -O2.
5406
54072006-06-08 03:26  gb
5408
5409        * xdump/faslenv.lisp: Bump (max) fasl version.
5410
54112006-06-08 03:18  gb
5412
5413        * level-1/version.lisp: Bump; give x86-64 port the benefit of the
5414        doubt and claim that it's a beta.
5415
54162006-06-08 03:18  gb
5417
5418        * lisp-kernel/darwinppc64/Makefile: Enable -O2.
5419
54202006-06-08 03:17  gb
5421
5422        * lisp-kernel/darwinppc/Makefile: Some commented-out debugging
5423        options; enable -O2.
5424
54252006-06-08 02:55  gb
5426
5427        * lisp-kernel/x86-exceptions.c: thread_signal_setup() moved here.
5428        Handle suspend (and maybe someday resume, again) signals on the
5429        altstack, since we don't really want a signal context in the middle
5430        of the tagged lisp stack ...
5431
54322006-06-08 02:52  gb
5433
5434        * lisp-kernel/thread_manager.c: thread_signal_setup() moved to
5435        PLATFORM-exceptions.c; some constants/prototypes moved to
5436        Threads.h.
5437
54382006-06-08 02:51  gb
5439
5440        * lisp-kernel/ppc-exceptions.c: suspend_resume_handler() installed
5441        via install_signal_handler(); thread_signal_setup() moved here, to
5442        do that installation.
5443
54442006-06-08 02:50  gb
5445
5446        * lisp-kernel/pmcl-kernel.c: Don't enable_fp_exceptions() twice.
5447       
5448        Don't call (or define) prepare_for_the_worst(), which is kind of
5449        too bad ...
5450
54512006-06-08 02:49  gb
5452
5453        * lisp-kernel/Threads.h: suspend/resume constants, prototypes.
5454
54552006-06-08 01:11  gb
5456
5457        * level-1/l1-files.lisp: Back out of ill-advised changed to %LOAD;
5458        let OPTIMIZE proclamations persist beyond the LOAD.
5459
54602006-06-07 21:45  gb
5461
5462        * lisp-kernel/x86-subprims64.s: No nore %tsp/%Rnext_tsp.
5463
54642006-06-07 21:38  gb
5465
5466        * lisp-kernel/x86-spentry64.s: Don't maintain current/next tsp in
5467        MMX regs.  Do maintain them in TCR.
5468
54692006-06-07 21:37  gb
5470
5471        * lisp-kernel/x86-macros.s: Don't maintain %tsp when stack-consing;
5472        update (decrement) tcr.next_tsp atomically, use %stack_temp as a
5473        temporary (old tsp), finish frame by storing into tcr.save_tsp.
5474
54752006-06-07 21:34  gb
5476
5477        * lisp-kernel/x86-exceptions.c: tsp is in the TCR now.
5478
54792006-06-07 21:33  gb
5480
5481        * lisp-kernel/x86-constants64.s: No more %tsp, %Rnext_tsp.  Define
5482        %stack_temp.
5483
54842006-06-07 21:32  gb
5485
5486        * lisp-kernel/x86-constants64.h: No more Itsp, Inext_tsp.
5487
54882006-06-07 21:30  gb
5489
5490        * level-0/X86/x86-def.lisp: %CURRENT-TSP: the tsp is in the TCR
5491        now.
5492
54932006-06-07 21:30  gb
5494
5495        * compiler/X86/X8664/x8664-vinsns.lisp: Don't try to maintain %tsp
5496        (since it no longer exists ...).  Use %stack-temp in some cases.
5497
54982006-06-07 21:29  gb
5499
5500        * compiler/X86/X8664/x8664-arch.lisp: No more %tsp or %next-tsp.
5501        %stack-temp is a symbolic name for an MMX register that can be used
5502        for (e.g.) linking frames on the temp/foreign stacks (or for any
5503        other purpose ...)
5504
55052006-06-07 15:29  gb
5506
5507        * compiler/X86/X8664/x8664-vinsns.lisp: No more %Rforeign_sp.  Keep
5508        tcr.next_tsp in sync with %next_tsp Check to ensure that
5509        %tsp,tcr.save_tsp,and tcr.next_tsp all have the same value when
5510        allocating on the temp stack.  (This will soon change, so that %tsp
5511        and %next_tsp will not be canonical and the tcr fields are, then
5512        will change so that %tsp and %next_tsp will cease to exist.)
5513
55142006-06-07 15:25  gb
5515
5516        * lisp-kernel/x86-subprims64.s: No more %Rforeign_sp.
5517
55182006-06-07 15:25  gb
5519
5520        * lisp-kernel/: x86-macros.s, x86-spentry64.s: Keep tcr.next_tsp in
5521        sync with %Rnext_tsp.  No more %Rforeign_sp, but we can use %mm5 as
5522        a temporary.
5523
55242006-06-07 15:23  gb
5525
5526        * lisp-kernel/x86-exceptions.c: Find the foreign RSP from the TCR;
5527        don't need FP regs for this.  (They're sometimes invalid and
5528        sometimes missing, which is the point of recent changes.)
5529
55302006-06-07 15:21  gb
5531
5532        * lisp-kernel/x86-constants64.s: No foreign_sp.  Rename %next_tsp
5533        to %Rnext_tsp to avoid potential m4 lossage.
5534
55352006-06-07 15:20  gb
5536
5537        * lisp-kernel/x86-constants64.h: No Iforeign_sp.
5538
55392006-06-07 15:20  gb
5540
5541        * lisp-kernel/thread_manager.c: Initialize tcr->next_tsp on X86.
5542
55432006-06-07 15:19  gb
5544
5545        * level-1/version.lisp: Bump.
5546
55472006-06-07 15:19  gb
5548
5549        * level-0/X86/x86-def.lisp: Get foreign-sp from the TCR.
5550
55512006-06-07 15:18  gb
5552
5553        * compiler/X86/X8664/x8664-arch.lisp: More bootstrapping: no more
5554        foreign-sp register (though some code still uses %mm5 as a
5555        temporary, the "canonical" foreign SP is maintained in the TCR.)
5556
55572006-06-07 04:52  gb
5558
5559        * lisp-kernel/x86-macros.s: When making a catch/unwind-protect
5560        frame, get the foreign SP out of the TCR.
5561
55622006-06-07 04:52  gb
5563
5564        * compiler/X86/X8664/x8664-vinsns.lisp,
5565        lisp-kernel/x86-spentry64.s: More bootstrapping: continue to
5566        maintain the foreign sp in both the TCR and the MMX register, but
5567        consider the TCR version to be canonical.
5568
55692006-06-07 02:46  gb
5570
5571        * compiler/X86/X8664/x8664-vinsns.lisp: More bootstrapping: if the
5572        %tsp MMX register doesn't match the value in the tcr, trap.
5573        Likewise for %foreign-sp.
5574
55752006-06-07 01:29  gb
5576
5577        * compiler/X86/X8664/x8664-vinsns.lisp, lisp-kernel/x86-macros.s,
5578        lisp-kernel/x86-spentry64.s: Try to keep tcr.save_tsp in synch with
5579        %tsp, and likewise for %Rforeign_sp/tcr.foreign_sp.
5580       
5581        (The idea is to keep the temp/foreign stack pointers in the tcr and
5582        only use the MMX registers as temporaries, since it seems that
5583        handlers for asynchronous signals can't count on the MMX register
5584        values in the signal context being correct.  This seems to either
5585        be a Linux kernel bug or ill-considered if it's intentional
5586        behavior, but it seems better to work around it this way.)
5587       
5588        This is just an early step in bootstrapping that change; it's being
5589        checked into CVS so that it doesn't get lost (and so that I can
5590        recover to this point if/when I hose things on a later step.)
5591
55922006-06-07 01:24  gb
5593
5594        * compiler/X86/X8664/x8664-arch.lisp: Add a next-tsp slot to the
5595        tcr.
5596
55972006-06-07 01:22  gb
5598
5599        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Add a
5600        next_tsp slot to the tcr.
5601
56022006-06-06 04:25  gb
5603
5604        * lib/ppc-metering.lisp: no hope
5605
56062006-06-06 04:22  gb
5607
5608        * lib/x86-backtrace.lisp: %find-register-argument-value: Current
5609        frame (cfp argument) could be an exception callback frame (xcf-p
5610        may be true of it), in which case the saved register value is in
5611        the xcf.xp context.  (Basically, this means look at the first frame
5612        if it's an xcf, otherwise skip it and start with the child.)
5613
56142006-06-06 01:48  gb
5615
5616        * compiler/X86/x86-lapmacros.lisp,
5617        compiler/X86/X8664/x8664-vinsns.lisp, lisp-kernel/x86-macros.s:
5618        Using imul to box fixnums is smaller and seems to be faster than
5619        using lea with a scale factor.
5620
56212006-06-05 23:56  gb
5622
5623        * lisp-kernel/thread_manager.c: I don't think that
5624        suspend_resume_handler wants to have suspend signals unmasked, does
5625        it ?
5626
56272006-06-05 12:43  gb
5628
5629        * library/chud-metering.lisp: area-readonly is in ccl:: now.
5630
56312006-06-03 03:11  gb
5632
5633        * lisp-kernel/x86-spentry64.s: In _SPnthrowvalues: don't skip the
5634        last catch frame, do skip others (test was backwards.  As it
5635        probably had been in the single-value case at one point.)
5636
56372006-06-02 03:48  gb
5638
5639        * lib/encapsulate.lisp: Don't print trace indent/outdent stuff to
5640        *terminal-io*; do print it to *trace-output*.
5641
56422006-06-01 20:20  gb
5643
5644        * level-0/l0-array.lisp: There's a T in subtag.
5645
56462006-06-01 20:17  gb
5647
5648        * compiler/X86/x862.lisp: X862-MVCALL wasn't handling things like:
5649       
5650        (multiple-value-bind (...)   (multiple-value-call #'foo ...))
5651       
5652        correctly.
5653
56542006-06-01 20:16  gb
5655
5656        * compiler/nx0.lisp: Defvars for global optimization quantities
5657        moved to level-0.
5658
56592006-06-01 20:15  gb
5660
5661        * level-1/l1-files.lisp: Bind the variables which hold global
5662        compiler optimization quantities, since people persist in doing
5663        things like:
5664       
5665        (declaim (optimize
5666        <something-that-they-probably-think-has-local-effects>))
5667       
5668        without bothering to use EVAL-WHEN or otherwise thinking very
5669        clearly.
5670       
5671        Note that this means that anyone who wanted such a declamation to
5672        have persistent global effects is now SOL.  Blame whoever wrote
5673        (for instance) clx/glx.lisp.
5674
56752006-06-01 20:11  gb
5676
5677        * level-0/l0-init.lisp: Move *nx-speed*, etc here, so that they can
5678        be referenced early in the cold load.
5679
56802006-06-01 13:13  gb
5681
5682        * lib/x86-backtrace.lisp: In %FIND-REGISTER-ARGUMENT-VALUE, pass a
5683        pointer to ENCODED-GPR-LISP if we have to get the register value
5684        from an exception frame.
5685
56862006-05-30 19:27  gwking
5687
5688        * tools/asdf.lisp: Updated asdf to the current CVS head (revision
5689        1.98)
5690
56912006-05-30 17:12  gb
5692
5693        * level-1/version.lisp: bump again.
5694
56952006-05-30 16:31  gb
5696
5697        * lisp-kernel/x86-spentry64.s: When unwinding the stack, try to
5698        ensure that tcr.xframe is updated from the catch frame (a) in all
5699        execution paths and (b) before RSP is updated.
5700
57012006-05-30 16:30  gb
5702
5703        * level-0/l0-array.lisp, lib/sequences.lisp: Handle (simple) fixnum
5704        vectors.
5705
57062006-05-30 16:29  gb
5707
5708        * level-1/l1-typesys.lisp: Add a DEFTYPE for fixnum vectors.
5709
57102006-05-30 16:29  gb
5711
5712        * release-notes.txt: Update some more ...
5713
57142006-05-30 16:23  gb
5715
5716        * lib/ccl-export-syms.lisp: There are two 'e's in UNPROCESSED.
5717        Apparently.
5718
57192006-05-30 16:15  gb
5720
5721        * release-notes.txt: updated
5722
57232006-05-30 01:58  gb
5724
5725        * level-1/version.lisp: Bump.
5726
57272006-05-30 01:48  gb
5728
5729        * lisp-kernel/x86-exceptions.c: altstack_interrupt_handler: having
5730        made copies of the signal context and siginfo on the foreign stack,
5731        don't pass the originals to interrupt_handler().
5732       
5733        (altstack_interrupt_handler() looks suspiciously like
5734        altstack_signal_handler(), which probably had the same bug a few
5735        months ago ...)
5736       
5737        Since the alternate signal stack (as we use it) isn't reentrant,
5738        the next signal (perhaps a suspend signal) overwrote the context.
5739        Which is one reason to have made a copy in the first place ...
5740
57412006-05-30 01:43  gb
5742
5743        * level-1/l1-lisp-threads.lisp: In THREAD-ENABLE, use the new
5744        %TIMED-WAIT-ON-SEMAPHORE-PTR; regardless of whether or not a
5745        timeout is a good idea here, make sure that the timeout isn't
5746        fooled by #$EINTR.
5747
57482006-05-30 01:39  gb
5749
5750        * level-1/linux-files.lisp: Rename the old
5751        %TIMED-WAIT-ON-SEMAPHORE-PTR to %PROCESS-WAIT-ON-SEMAPHORE-PTR,
5752        since it basically waits indefinitely.
5753       
5754        Split out the functionality in TIMED-WAIT-ON-SEMAPHORE into a new
5755        %TIMED-WAIT-ON-SEMAPHORE-PTR function, so that it's possible to do
5756        a "timed wait" that handles interruptions, etc. when the caller
5757        just has a "raw" (native) semaphore.
5758       
5759        Change callers, endure warnings.  New binaries soon.
5760
57612006-05-30 01:36  gb
5762
5763        * level-0/l0-misc.lisp: When waiting for a lock, use the new
5764        %PROCESS-WAIT-ON-SEMAPHORE-PTR.
5765
57662006-05-29 22:34  gb
5767
5768        * lisp-kernel/x86-exceptions.c: The
5769        clear_tcr_save_allocptr_tag_instruction opcode array was one byte
5770        too small ...
5771
57722006-05-29 14:03  gb
5773
5774        * level-1/linux-files.lisp: In %OS-GETCWD: don't trust
5775        syscall-based getcwd (it doesn't work as it once did/is documented
5776        to on linuxx8664); use the library function on all platforms.
5777
57782006-05-29 14:02  gb
5779
5780        * lisp-kernel/x86-exceptions.c: Clear interrupt_pending flag before
5781        processing interrupt.
5782
57832006-05-28 17:01  gb
5784
5785        * lisp-kernel/ppc-exceptions.c: If we handle a
5786        SIGNAL_FOR_PROCESS_INTERRUPT trap, clear tcr->interrupt_pending.
5787       
5788        Back out of the hack that tried to work around a Darwin bug (FP
5789        exception flags were cleared in the MSR after a thread had been
5790        interrupted via pthread_kill()), since the fix seems not to be
5791        GC-safe.
5792       
5793        Add some debugging code to print when the exception lock is
5794        acquired/released.
5795
57962006-05-28 01:10  gb
5797
5798        * level-1/solaris-files.lisp: long gone
5799
58002006-05-23 20:25  gb
5801
5802        * compiler/: PPC/ppc2.lisp, X86/x862.lisp: D'oh!
5803
58042006-05-22 22:59  gb
5805
5806        * darwin-headers/addressbook/: C/populate.sh, .cvsignore,
5807        C/.cvsignore: New file.
5808
58092006-05-22 22:57  gb
5810
5811        * level-1/l1-processes.lisp: PROCESS-SUSPEND: don't allow current
5812        thread to suspend itself.
5813
58142006-05-22 22:57  gb
5815
5816        * compiler/PPC/PPC64/ppc64-vinsns.lisp: Use the SP red zone to load
5817        SINGLE-FLOAT constants.
5818       
5819        SINGLE-FLOAT foreign args are stored in the low 32 bits of each
5820        64-bit arg word, regardless of whether they're also passed in
5821        f1-f13 as well.
5822
58232006-05-22 22:55  gb
5824
5825        * compiler/PPC/PPC64/ppc64-backend.lisp: Callback fixes:
5826        SINGLE-FLOATs passed in memory are passed in the low 32 bits of the
5827        64-bit word.
5828
58292006-05-22 22:54  gb
5830
5831        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Use the red zone (on SP)
5832        for LOAD-SINGLE-FLOAT-CONSTANT, LOAD-DOUBLE-FLOAT-CONSTANT.
5833
58342006-05-22 22:53  gb
5835
5836        * compiler/PPC/PPC32/ppc32-backend.lisp: "poweropen ABI" (Darwin)
5837        callback fixes: SINGLE-FLOATs passed in memory are passed as ...
5838        SINGLE-FLOATs, so don't use %GET-SINGLE-FLOAT-FROM-DOUBLE-PTR to
5839        access them.
5840
58412006-05-22 03:53  gb
5842
5843        * level-1/version.lisp: Bump.
5844
58452006-05-22 03:32  gb
5846
5847        * compiler/X86/X8664/x8664-vinsns.lisp: fixnum->float vinsns.
5848
58492006-05-22 03:31  gb
5850
5851        * compiler/X86/x862.lisp: Numeric contagion on binops,
5852        fixnum->float.
5853
58542006-05-22 03:29  gb
5855
5856        * compiler/PPC/ppc2.lisp: Do stupid self-tail-call tricks on PPC as
5857        well.
5858
58592006-05-22 03:28  gb
5860
5861        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Load tcr.cs-limit a little
5862        earlier when creating a stack frame inline.  Doesn't seem to affect
5863        latency much.
5864
58652006-05-22 03:27  gb
5866
5867        * compiler/X86/x862.lisp: Comment formatting on the first line of
5868        the file.
5869
58702006-05-22 03:26  gb
5871
5872        * compiler/nx0.lisp: Check argument counts on self-calls.  (AFAIK,
5873        this hasn't been done for at least 20 years in MCL/OpenMCL ...)
5874
58752006-05-21 07:34  gb
5876
5877        * compiler/X86/x862.lisp: Long-standing X862-COPY-REGISTER bug.
5878
58792006-05-21 07:32  gb
5880
5881        * compiler/PPC/ppc2.lisp: Implement (late) div2; use (simple)
5882        numeric-contagion stuff for arithmetic ops.
5883
58842006-05-21 07:31  gb
5885
5886        * compiler/nx1.lisp: Use div2 for /-2.
5887
58882006-05-21 07:31  gb
5889
5890        * compiler/nx0.lisp: Binop numeric contagion.
5891
58922006-05-21 06:49  gb
5893
5894        * compiler/nx0.lisp: ACODE-REAL-CONSTANT-P.
5895
58962006-05-21 06:49  gb
5897
5898        * compiler/PPC/ppc2.lisp: Weird case in ppc2-copy-register wasn't
5899        weird, just wrong.
5900
59012006-05-21 06:17  gb
5902
5903        * level-0/l0-pred.lisp: PPC64: %typep recognizes
5904        SIMPLE-FIXNUM-VECTORs.
5905
59062006-05-21 06:16  gb
5907
5908        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
5909        Fixnum vector stuff.  FIXNUM->FPR uses SP red zone.
5910
59112006-05-21 06:16  gb
5912
5913        * compiler/PPC/PPC32/ppc32-arch.lisp,
5914        compiler/PPC/PPC64/ppc64-arch.lisp, lisp-kernel/ppc-constants64.h,
5915        lisp-kernel/ppc-constants64.s, lisp-kernel/ppc-spentry.s: Fixnum
5916        vector stuff.
5917
59182006-05-21 06:15  gb
5919
5920        * compiler/PPC/ppc2.lisp: %fixnum-to-single, %fixnum-to-double.
5921       
5922        Fixnum vector vref/vset.
5923
59242006-05-21 06:15  gb
5925
5926        * compiler/: nx1.lisp, nxenv.lisp: %fixnum-to-single,
5927        %fixnum-to-double.
5928
59292006-05-21 06:14  gb
5930
5931        * compiler/nx0.lisp: More operator result types.
5932
59332006-05-21 04:35  gb
5934
5935        * level-0/l0-array.lisp, level-0/l0-pred.lisp,
5936        level-1/l1-aprims.lisp, level-1/l1-clos-boot.lisp: Integrate
5937        specialized FIXNUM array-element-type into type system, CLOS.
5938        (Knock wood.)
5939
59402006-05-21 04:34  gb
5941
5942        * lisp-kernel/x86-spentry64.s: Support for (out-of-line)
5943        fixnum-vector access (.SPmisc_ref, .SPmisc_set).
5944
59452006-05-21 04:33  gb
5946
5947        * compiler/X86/X8664/x8664-arch.lisp,
5948        lisp-kernel/x86-constants64.h, lisp-kernel/x86-constants64.s: New
5949        subtag for :fixnum-vector.
5950
59512006-05-21 04:32  gb
5952
5953        * compiler/X86/x862.lisp: 64-bit vset wasn't handling non-constant
5954        indices correctly.
5955       
5956        64-bit vset, vref: handle :FIXNUM-VECTOR.
5957
59582006-05-21 00:22  gb
5959
5960        * level-0/l0-aprims.lisp: Spell istruct-typep correctly.
5961
59622006-05-20 18:13  gb
5963
5964        * compiler/X86/x862.lisp: Do some self-tail calls (fixed args, no
5965        stack args) without restoring/re-saving NVRs.
5966
59672006-05-19 15:07  gb
5968
5969        * level-1/linux-files.lisp: RUN-PROGRAM: waiting for the child's
5970        completion semaphore (when :WAIT is true) happens inside an
5971        UNWIND-PROTECT cleanup and therefore needs to explicitly allow
5972        interrupts.
5973
59742006-05-19 15:06  gb
5975
5976        * level-0/l0-aprims.lisp: Add SEMAPHOREP, make it a type-predicate
5977        for SEMAPHORE.
5978
59792006-05-19 12:23  gwking
5980
5981        * lib/misc.lisp: Added help and redisplay to select-item-from-list.
5982        Also changed it so that it displays all items before trying to get
5983        an answer.
5984
59852006-05-19 12:00  gwking
5986
5987        * .cvsignore: The *fsl wasn't cutting it for me..., take two
5988
59892006-05-19 11:57  gwking
5990
5991        * .cvsignore: The *fsl wasn't cutting it for me...
5992
59932006-05-19 11:50  gb
5994
5995        * level-1/version.lisp: Bump.
5996
59972006-05-19 11:49  gb
5998
5999        * level-1/l1-streams.lisp: Change the EVAL-WHEN that requires
6000        syscall definitions so that it can be moused on.
6001
60022006-05-19 11:48  gb
6003
6004        * compiler/X86/X8664/: x8664-arch.lisp, x8664-vinsns.lisp:
6005        .SPeabi-syscall -> .SPsyscall.
6006
60072006-05-19 11:45  gb
6008
6009        * compiler/X86/x862.lisp: Inline ADD2, unless we know that at least
6010        one arg couldn't be a fixnum.  (Should do the same for SUB2.) This
6011        does indeed burn cache lines, but going out of line isn't cheap
6012        either.  (100 million iterations of (+ x (+ y z)) - where X Y and Z
6013        are in fact fixnums and no overflow is involved - seems to be about
6014        2X faster when inlined this way.  Not sure if that'll be the case
6015        on PPC.)
6016
60172006-05-19 11:40  gb
6018
6019        * compiler/nx0.lisp: Use NX-TARGET-TYPE in some of the acode-type
6020        stuff.
6021
60222006-05-18 14:47  gb
6023
6024        * lisp-kernel/ppc-spentry.s: When unwinding the stack (hopefully,
6025        in all places that do so ...), update tcr.xframe from
6026        catch_frame.xframe on all execution paths (in particular, do so
6027        before SP is restored from the catch_frame, since a tcr.xframe
6028        "beyond" SP is clearly bogus.)
6029
60302006-05-18 02:34  gb
6031
6032        * level-1/version.lisp: Bump.
6033
60342006-05-17 23:12  gb
6035
6036        * compiler/PPC/ppc2.lisp: "late" acode-type stuff (add2/sub2/mul2)
6037        for PPC, too.
6038
60392006-05-17 22:53  gb
6040
6041        * level-0/X86/x86-float.lisp: %FP-ERROR-FROM-STATUS: don't cons an
6042        &REST arg.  Should do a quicker test (logandc2 and a shift) to see
6043        if any unmasked exceptions were raised before even calling this ...
6044
60452006-05-17 22:51  gb
6046
6047        * compiler/X86/X8664/x8664-vinsns.lisp: If we have to spill
6048        SINGLE-FLOAT registers, spill them (boxed) on the vstack.
6049
60502006-05-17 22:50  gb
6051
6052        * compiler/X86/x862.lisp: Work harder to find acode types in some
6053        cases.
6054
60552006-05-17 22:50  gb
6056
6057        * compiler/X86/x86-disassemble.lisp: Handle (new-style) byte
6058        registers in OP-REG.
6059       
6060        Don't want to use RET very often if at all, but disassembler should
6061        treat as as a :JUMP.
6062
60632006-05-17 22:48  gb
6064
6065        * compiler/nxenv.lisp: MUL2, DIV2.
6066
60672006-05-17 22:48  gb
6068
6069        * compiler/: nx0.lisp, nx1.lisp: A little of that there
6070        type-inferencing (or, more accurately, paying a little more
6071        attention here and there.)
6072
60732006-05-12 20:40  gwking
6074
6075        * examples/addressbook.lisp: added examples/addressbook.lisp
6076
60772006-05-11 18:42  gb
6078
6079        * level-1/l1-application.lisp: Stop processing command-line
6080        arguments when "--" is encountered; anything after that "--" is
6081        retained in CCL:*UNPROCESSED-COMMAND-LINE-ARGUMENTS*.
6082
60832006-05-11 18:42  gb
6084
6085        * lib/ccl-export-syms.lisp: Export command-line stuff
6086
60872006-05-11 18:40  gb
6088
6089        * level-1/l1-processes.lisp: Lennart Staflin's fix to PRINT-OBJECT
6090        method for LOCKs.
6091
60922006-05-11 18:39  gb
6093
6094        * level-1/l1-files.lisp: In %DIFECTORY-LIST-NAMESTRING: all strings
6095        are base-strings (and always have been in OpenMCL.)
6096
60972006-05-11 18:37  gb
6098
6099        * level-1/l1-sockets.lisp: CCL:BASE-CHARACTER -> CL:BASE-CHAR.
6100
61012006-05-11 08:11  gwking
6102
6103        * lib/db-io.lisp: Added a check that the directory exists to
6104        fid-open-output in order to make it clearer what is wrong when one
6105        is unable to rebuild interface files because they are trying to do
6106        so in a place without FFI files to read!
6107
61082006-05-11 05:14  gb
6109
6110        * level-1/version.lisp, lisp-kernel/image.h, xdump/heap-image.lisp:
6111        Bump lisp-implementation-version, image-abi-version.
6112
61132006-05-11 05:04  gb
6114
6115        * xdump/faslenv.lisp: Bump (min) fasl version.
6116
61172006-05-11 04:52  gb
6118
6119        * lib/nfcomp.lisp: Bump (current) FASL version.
6120
61212006-05-11 04:52  gb
6122
6123        * level-1/l1-files.lisp: FASL-FILE-P looks for inital #xFF00
6124        (big-endian) instead of just #xff, to avoid UTF-16 BOM confusion.
6125
61262006-05-11 04:35  gb
6127
6128        * xdump/faslenv.lisp: Bump (max) fasl version.
6129
61302006-05-11 04:32  gb
6131
6132        * compiler/X86/X8664/x8664-backend.lisp: Little-endianness is a
6133        target-specific feature.
6134
61352006-05-11 03:35  gb
6136
6137        * compiler/PPC/PPC32/ppc32-arch.lisp,
6138        compiler/PPC/PPC32/ppc32-vinsns.lisp, level-0/l0-array.lisp,
6139        level-0/l0-pred.lisp, level-0/PPC/ppc-array.lisp,
6140        level-1/l1-aprims.lisp, level-1/l1-clos-boot.lisp,
6141        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
6142        lisp-kernel/ppc-spentry.s, xdump/xppcfasload.lisp: Juggle PPC32
6143        typecodes around: get rid of the (unused) old 16-bit string; add an
6144        (as yet unused) UCS-4 string type.
6145       
6146        These changes generally involve cross-compilation (or some very
6147        tricky bootstrapping that I didn't attempt)  FASL versions and
6148        kernel ABI versions will need to change, and new binaries will be
6149        made available soon.
6150
61512006-05-10 20:20  gb
6152
6153        * compiler/PPC/ppc-lapmacros.lisp,
6154        compiler/PPC/PPC32/ppc32-arch.lisp,
6155        compiler/PPC/PPC32/ppc32-vinsns.lisp,
6156        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s:
6157        Change CHARCODE-SHIFT constant on PPC32, so that the (currently
6158        8-bit) character code is stored in the #x0000xx00 byte of a
6159        CHARACTER, rather than in the #x00xx0000 byte,  This is hard to
6160        bootstrap natively (which is why I was trying to make ppc64->ppc32
6161        cross-compilation work.)
6162       
6163        Change related macros/visnsns as well.
6164
61652006-05-10 19:00  gb
6166
6167        * xdump/xppcfasload.lisp: Reintroduce a TARGET-ARCH-CASE, but I
6168        think that this is just hard to do right the way that it's being
6169        done.
6170
61712006-05-10 18:59  gb
6172
6173        * level-1/ppc-threads-utils.lisp: BOGUS-THING-P is hard to do right
6174        when cross-compiling (because word-size differences aren't handled
6175        correctly by macros.)  Until the macros are fixed, don't even try
6176        ...
6177
61782006-05-10 18:58  gb
6179
6180        * level-1/l1-clos-boot.lisp: In NEW-CLASS-WRAPPER-HASH-INDEX, user
6181        target::target-most-positive-fixnum (not the host's
6182        MOST-POSITIVE-FIXNUM).
6183
61842006-05-10 18:57  gb
6185
6186        * compiler/: nx0.lisp, nx1.lisp: Use NX-TARGET-TYPE in at least a
6187        few places.
6188
61892006-05-10 18:56  gb
6190
6191        * compiler/nx.lisp: XCOMPILE-LAMBDA binds *TARGET-BACKEND*.
6192
61932006-05-10 18:55  gb
6194
6195        * compiler/nx-basic.lisp: NX-TARGET-TYPE: there may be other
6196        differences between host and target types, but try to turn
6197        references to FIXNUM to the appropriate target-specific type.
6198
61992006-05-09 21:01  gb
6200
6201        * compiler/PPC/PPC32/ppc32-vinsns.lisp: UNBOX-BASE-CHAR just checks
6202        that the lowbyte is SUBTAG-CHARACTER; it used to rotate things
6203        around to check the high bits of the char code, but all chars have
6204        been base-chars for several years now ...
6205       
6206        UNBOX-CHARACTER was unused.
6207       
6208        (This is the first step of what may be several bootstrapping steps
6209        to change PPC32::CHARCODE-SHIFT from 16 to 8, so that we have 24
6210        easily-accessed char-code bits on PPC32.)
6211
62122006-05-09 11:48  gb
6213
6214        * lisp-kernel/xlbt.c: No psn in cs_area.
6215
62162006-05-09 02:42  gb
6217
6218        * lisp-kernel/: gc.h, ppc-gc.c: Back out of the extra Boolean arg
6219        to mark_simple_area_range().
6220
62212006-05-09 02:33  gb
6222
6223        * compiler/PPC/: PPC32/ppc32-backend.lisp,
6224        PPC64/ppc64-backend.lisp: Endianness is also target-specific.
6225
62262006-05-09 02:25  gb
6227
6228        * lisp-kernel/thread_manager.c: Thread stack areas are "owned by"
6229        the containing TCR, to make low-level debugging a bit easier.
6230
62312006-05-09 02:25  gb
6232
6233        * lisp-kernel/ppc-gc.c: Mostly some added consistency/sanity checks
6234        and debugging printfs.
6235
62362006-05-09 02:24  gb
6237
6238        * lisp-kernel/ppc-exceptions.h: Note that pc_luser_xp() needs an
6239        extra (signed_natural *) arg, for allocptr displacement.
6240
62412006-05-09 02:23  gb
6242
6243        * lisp-kernel/ppc-exceptions.c: Lots of #ifdef DEBUG fprintfs.
6244       
6245        Change the way that pc_luser_xp() and normalize_tcr() handle alloc
6246        regs/ saved TCR fields.  The general idea is that the after they
6247        run, all threads have tcr->save_allocptr/tcr_save_allocbase set to
6248        VOID_ALLOCPTR; if the thread was interrupted in lisp code, the
6249        allocbase register will be set to VOID_ALLOCPTR and allocptr will
6250        be set to either VOID_ALLOCPTR or to VOID_ALLOCPTR-disp.
6251       
6252        On an interrupt, the caller needs to pass in a signed_natural * to
6253        pick up the allocptr displacement (if consing was interrupted at
6254        the alloc trap); the interrupt handler uses this value to fix up
6255        alloptr when it returns if consing was interrupted.
6256       
6257        This is all pretty clearly right, but something still goes wrong
6258        under some combination of high thread stress, frequent allocation,
6259        and blocking ff-calls.
6260
62612006-05-09 02:17  gb
6262
6263        * lisp-kernel/plbt.c: No psn currently available.
6264
62652006-05-09 02:16  gb
6266
6267        * lisp-kernel/lisp-debug.c: Bug() passes xp to lisp_Debugger(),
6268        where it may come in handy ...
6269
62702006-05-09 02:16  gb
6271
6272        * lisp-kernel/gc.h: mark_simple_area_range() takes an added Boolean
6273        arg.
6274
62752006-05-09 02:13  gb
6276
6277        * lisp-kernel/area.h: area struct's owner is a (TCR *).
6278
62792006-05-09 02:12  gb
6280
6281        * level-1/l1-error-system.lisp: $xfunbnd was used after all.
6282        Restore it.
6283
62842006-05-09 02:12  gb
6285
6286        * level-0/l0-error.lisp, library/lispequ.lisp,
6287        lisp-kernel/errors.s: $xfunbnd was used after all.  Restore it, and
6288        recycle $XNOCDR.
6289
62902006-05-09 02:11  gb
6291
6292        * compiler/PPC/PPC64/ppc64-backend.lisp: :64-bit-target is ...
6293        target-specific.
6294
62952006-05-09 02:11  gb
6296
6297        * compiler/PPC/PPC32/ppc32-backend.lisp: :32-bit-target is ...
6298        target-specific.
6299
63002006-05-09 00:40  gb
6301
6302        * level-1/l1-lisp-threads.lisp: Foreign thread callback stuff moved
6303        here.
6304
63052006-05-09 00:39  gb
6306
6307        * level-1/x86-threads-utils.lisp: Support for BOGUS-THING-P on
6308        x8664.
6309
63102006-05-09 00:39  gb
6311
6312        * level-1/ppc-threads-utils.lisp: Move foreign-thread callback
6313        stuff up to l1-lisp-threads.lisp.
6314
63152006-05-08 22:58  gb
6316
6317        * lisp-kernel/ppc-spentry.s: misc_ref/misc_set jump tables on PPC64
6318        handle array and vector headers.
6319
63202006-05-08 22:57  gb
6321
6322        * library/lispequ.lisp: Synch errors $xbadvec, $xsetbadvec (neither
6323        of which should ever happen) with the kernel.
6324
63252006-05-08 22:56  gb
6326
6327        * level-1/l1-processes.lisp: %PROCESS-PRESET-INTERNAL doesn't need
6328        the TCR either.
6329
63302006-05-08 22:55  gb
6331
6332        * level-1/l1-error-system.lisp: $XFUNBND is no more.
6333
63342006-05-08 22:55  gb
6335
6336        * level-0/l0-error.lisp: Define the format strings for $xbadvec,
6337        $xsetbadvec.
6338
63392006-05-08 03:26  gb
6340
6341        * lisp-kernel/x86-spentry64.s: .SPstkconslist_star: ensure that
6342        flags are set to the result of decrementing %nargs at the end of
6343        the loop.
6344
63452006-05-08 03:25  gb
6346
6347        * level-1/x86-error-signal.lisp: uuo-error-udf: %err-disp-internal
6348        wants a list of condition args, not a single arg.
6349
63502006-05-08 03:24  gb
6351
6352        * level-1/l1-processes.lisp: %PROCESS-PRESET-INTERNAL doesn't need
6353        CS-AREA.
6354
63552006-05-08 03:23  gb
6356
6357        * level-0/X86/x86-symbol.lisp: %FUNCTION: signal error via
6358        uuo_error_udf, not as a type error.
6359
63602006-05-07 16:50  gb
6361
6362        * lib/describe.lisp: INSPECTOR objects haven't had FORWARDED-P
6363        slots in a long time (they probably haven't -needed- them in even
6364        longer; I think that this had to do with the old partial MOP.)
6365        Don't define the slot for FUNCTION-INSPECTOR, and don't call the
6366        accessor in STANDARD-OBJECT-SETF-LINE-N.
6367
63682006-05-07 04:39  gb
6369
6370        * x86-headers64/gtk2/: .cvsignore, C/.cvsignore, C/populate.sh: New
6371        file.
6372
63732006-05-07 04:34  gb
6374
6375        * lisp-kernel/: area.h, lisp_globals.h, memory.c, pmcl-kernel.c,
6376        thread_manager.c: Combine the AREA_LOCK and TCR_LOCK into a single
6377        lock (TCR_AREA_LOCK).  (This makes it a little harder to deadlock
6378        if code that wants both locks isn't careful to try to obtain them
6379        in some canonical order.)
6380
63812006-05-07 04:29  gb
6382
6383        * lib/x86-backtrace.lisp: Finally find those pesky registers.
6384
63852006-05-07 04:29  gb
6386
6387        * level-1/x86-threads-utils.lisp: Stub BOGUS-THING-P moves here.
6388
63892006-05-07 04:28  gb
6390
6391        * level-0/l0-cfm-support.lisp: FOREIGN-SYMBOL-ENTRY: return NIL if
6392        xFindSymbol/dlsym returns 0 on x8664.
6393
63942006-05-07 04:27  gb
6395
6396        * compiler/X86/: x86-lapmacros.lisp, X8664/x8664-vinsns.lisp: Use
6397        PSRLQ/PSLLQ for single-float boxing/unboxing.  (A few months ago,
6398        I'd mistakenly decided that it was faster to go through memory than
6399        to use these instructions.  It seems to actually be substantially
6400        slower, as one would expect.)
6401
64022006-05-07 04:25  gb
6403
6404        * compiler/X86/x86-asm.lisp: Add support for
6405        PSRLQ/PSRLDQ/PSLLQ/PSLLDQ (sse2 shifts.)
6406
64072006-05-07 04:21  gb
6408
6409        * library/hash-cons.lisp: Fix doc in comments.
6410
64112006-05-07 04:21  gb
6412
6413        * lib/ppc-backtrace.lisp: GET/SET-REGISTER-VALUE.
6414
64152006-05-07 04:20  gb
6416
6417        * lib/format.lisp: YES-OR-NO-P: bell goes to *QUERY-IO*.
6418
64192006-05-07 04:19  gb
6420
6421        * lib/backtrace-lds.lisp: Move GET/SET-REGISTER-VALUE to
6422        TARGET-backtrace.lisp.
6423
64242006-05-07 04:18  gb
6425
6426        * level-1/l1-lisp-threads.lisp: Move (implementation-dependent)
6427        BOGUS-THING-P to TARGET-thread-utils.lisp.
6428
64292006-05-07 04:17  gb
6430
6431        * level-1/ppc-threads-utils.lisp: Move (implementation-dependent)
6432        BOGUS-THING-P support here.
6433
64342006-05-07 04:16  gb
6435
6436        * level-1/l1-processes.lisp: Don't set "owner" field of tcr.cs_area
6437        to psn.
6438
64392006-05-06 15:27  gb
6440
6441        * compiler/nx1.lisp: Ash left by constant: prefer the fixnum case
6442        to the "natural" case.
6443
64442006-05-06 15:26  gb
6445
6446        * compiler/X86/x862.lisp: Pass the right number of args to
6447        NATURAL-SHIFT-LEFT and NATURAL-SHIFT-RIGHT.
6448
64492006-05-06 15:26  gb
6450
6451        * compiler/X86/X8664/x8664-vinsns.lisp: Indentation.
6452
64532006-05-06 02:09  gb
6454
6455        * lisp-kernel/thread_manager.c: Let's see: if thread X holds local
6456        A and tries to obtain lock B, and thread Y holds lock B and tries
6457        to obtain lock A, what is that a classic case of ?
6458       
6459        Try to avoid that classic deadlock case in shutdown_thread_tcr()
6460        when HAVE_TLS is in effect.  suspend_other_threads wants to hold
6461        two locks at the same time, and that's always a bit dangerous; it
6462        might be safer to merge TCR_LOCK and AREA_LOCK into a single lock
6463        that must be owned in order to manipulate either the tcr or area
6464        queues.
6465
64662006-05-06 02:04  gb
6467
6468        * level-1/linux-files.lisp: Make (%REALPATH "") behave like
6469        %REALPATH of the current directory namestring, as it does by
6470        default on some platforms (but not Linux.)
6471
64722006-05-05 20:08  gb
6473
6474        * compiler/X86/x862.lisp: x862-ff-call: really implement the
6475        simple-foreign-args stuff.  Box u64/s64, or don't ... but don't do
6476        the el-bizarro <- with a (temp) node target.
6477
64782006-05-05 20:06  gb
6479
6480        * lib/x86-backtrace.lisp: Get PC-FROM-XCF right (it needs to be
6481        relative to the tagged entrypoint, not to the start of the
6482        underlying function-vector.)
6483
64842006-05-05 13:24  gb
6485
6486        * lisp-kernel/x86-spentry64.s: Preserve NEXT-METHOD-CONTEXT when
6487        heap-consing an &REST arg.  (%allocptr and %next-method-context are
6488        the same register, so &rest clobbbers %next-method-context.)
6489       
6490        Could make separate entry points, so that this is only done when
6491        %next-method-context needs to be preserved ...
6492
64932006-05-05 13:21  gb
6494
6495        * level-0/X86/x86-def.lisp: Use RESERVED-FRAME-MARKER.
6496
64972006-05-05 02:23  gb
6498
6499        * freebsd-headers64/libc/C/populate.sh: New file.  Needs some work.
6500
65012006-05-05 02:23  gb
6502
6503        * freebsd-headers64/libc/: .cvsignore, C/.cvsignore: New file.
6504
65052006-05-05 01:37  gb
6506
6507        * level-1/version.lisp: Bump du jour.
6508
65092006-05-05 01:36  gb
6510
6511        * level-0/X86/x86-def.lisp: %FF-CALL: maintain the distinction
6512        between the first 6 words of the outgoing frame (from which GPRs
6513        will be loaded) and other words (which stay on the stack); after
6514        the first 8 FP args, floats have to be passed on the stack, even if
6515        there's still room in the first 6 words of the outgoing frame.
6516       
6517        Need to understand the struct-by-value rules better: can a struct
6518        be passed partly in registers and partly on the stack ? RTFM (or,
6519        in this case, TF ABI spec.)
6520
65212006-05-05 01:31  gb
6522
6523        * compiler/X86/x862.lisp: In X862-FF-CALL:  - the general integer
6524        case should store relative to "other-offset" (rather than   
6525        "gpr-offset") when more than 6 (not 8) GPR args have been passed. 
6526        - both the single and double-float cases were incrementing
6527        "other-offset"     twice when more than 8 FP args were involved.
6528        This had the effect of     storing floats into every other word and
6529        writing beyond the bounds of     the outgoing stack frame, possibly
6530        overwriting return addresses on the     foreign stack.
6531
65322006-05-04 23:12  gb
6533
6534        * level-1/l1-streams.lisp: James Bielman's fix to
6535        READ-TOPLEVEL-FORM (INPUT-STREAM) (EOF handling/peek-char.)
6536
65372006-05-04 18:30  gb
6538
6539        * compiler/X86/X8664/x8664-backend.lisp: When binding FP args,
6540        decrement FPR-ARG-OFFSET by 8, not -8.
6541       
6542        (This could cause values outside of the stack frame to be read, but
6543        I still haven't found what's writing beyond the frame bounds.)
6544
65452006-05-04 18:27  gb
6546
6547        * lib/x86-backtrace.lisp: If its argument is an exception callback
6548        frame, %CFP-LFUN tries to determine the relative PC associated with
6549        the frame's nominal function and return that as a second value
6550        (just as it does for a real frame.)
6551       
6552        I think that this should work a high percentage of the time, but
6553        callers should generally be prepared to deal with a NULL second
6554        return value from %CFP-LFUN.
6555
65562006-05-04 11:12  gb
6557
6558        * compiler/X86/X8664/x8664-backend.lisp: More callback issues:
6559        since we're using the same stack pointer to return values as we are
6560        to find arguments, don't try to "optimize" its initialization.
6561
65622006-05-03 18:52  gb
6563
6564        * compiler/X86/X8664/x8664-backend.lisp: Clean  up x8664 callbacks
6565        a little.  Don't coerce single float results to double; bind
6566        stack-ptr variable even if no args (might be a return value form
6567        that references it.) Failure to do the latter was creating a weird
6568        free variable reference that wasn't handled by the fasloader.
6569
65702006-05-03 18:50  gb
6571
6572        * level-0/nfasload.lisp: $fasl-vmksym-special wasn't implemented.
6573
65742006-05-03 18:49  gb
6575
6576        * lib/nfcomp.lisp: Indent a comment.
6577
65782006-05-03 18:16  gb
6579
6580        * compiler/X86/x862.lisp, level-0/X86/x86-def.lisp: In an %FF-CALL
6581        that might involve a variable-length arglist (at this level,
6582        always), set %rax to the number (0-8) of FP arguments passed in xmm
6583        registers.
6584
65852006-05-03 13:26  gb
6586
6587        * lisp-kernel/x86-exceptions.c: In find_foreign_rsp(), mask with
6588        ~15, not ~!5.  (This was causing segfaults on return from
6589        interrupts sometimes.)
6590
65912006-05-03 13:24  gb
6592
6593        * lib/backtrace.lisp: CLOSURE-CLOSED-OVER-VALUES, which is needed
6594        by SWANK/SLIME.
6595
65962006-05-03 13:23  gb
6597
6598        * lib/backtrace-lds.lisp: FRAME-SUPPLIED-ARGS, hopefully in a form
6599        that'll work on all platforms.  (Note that FRAME-SUPPLIED-ARGS
6600        seems to get many things wrong.)
6601
66022006-05-03 11:37  gb
6603
6604        * level-1/version.lisp: You mist have yesterday's version.
6605
66062006-05-03 11:37  gb
6607
6608        * level-0/X86/x86-def.lisp: Implement #'%FF-CALL.  Not too much
6609        LAP.
6610
66112006-05-03 11:36  gb
6612
6613        * level-0/l0-init.lisp: Put :X86-64 and :AMD64 on *FEATURES* if
6614        #+x8664-target.
6615
66162006-05-03 11:36  gb
6617
6618        * compiler/X86/X8664/x8664-vinsns.lisp: Bad typo in UNBOX-S64, and
6619        it can just check for a 2-digit bignum header if it has something
6620        of tag TAG-MISC.
6621
66222006-05-03 11:34  gb
6623
6624        * compiler/X86/x862.lisp: X862-COPY-REGISTER: handle :S64
6625        destinations.
6626
66272006-05-03 11:33  gb
6628
6629        * compiler/X86/x86-disassemble.lisp: Recognize
6630        uuo-error-eep-unresolved.
6631
66322006-05-02 18:07  gb
6633
6634        * level-1/version.lisp: Bump.
6635
66362006-05-02 18:07  gb
6637
6638        * lib/: backtrace-lds.lisp, describe.lisp: Comment out stuff that's
6639        (mostly ?) unused and currently PPC-specific, if it works at all
6640        ...
6641
66422006-05-02 10:27  gb
6643
6644        * level-1/l1-streams.lisp: Don't definea STREAM-CLEAR-INPUT method
6645        for STRING-INPUT-STREAMs; it's not clear what such a method should
6646        do (and fairly clear that it shouldn't do what the previous
6647        definition was doing.)
6648
66492006-05-02 10:26  gb
6650
6651        * lib/format.lisp: clear input from *query-io*, not from
6652        *terminal-io* in YES-OR-NO-P, Y-OR-N-P
6653
66542006-05-02 10:26  gb
6655
6656        * library/hash-cons.lisp: x8664 lap
6657
66582006-05-02 10:26  gb
6659
6660        * lisp-kernel/x86-gc.c: hons area stuff
6661
66622006-04-29 09:14  gb
6663
6664        * lisp-kernel/x86-exceptions.c: Write-protect handlers for stack
6665        overflow (on value/temp stacks).
6666
66672006-04-29 09:13  gb
6668
6669        * level-1/x86-trap-support.lisp: Handle stack overflow in cmain
6670        callback.
6671
66722006-04-29 09:10  gb
6673
6674        * lisp-kernel/freebsd8664/Makefile: x86-gc.o.
6675       
6676        No linker script.
6677       
6678        Use -lthr, which offers 1:1 threads.
6679
66802006-04-29 09:09  gb
6681
6682        * lisp-kernel/lisptypes.h: Remove the __sighandler typedef.
6683
66842006-04-29 09:01  gb
6685
6686        * lisp-kernel/x86-exceptions.h: xpMMXreg for FreeBSD.
6687
66882006-04-29 09:00  gb
6689
6690        * lisp-kernel/x86-exceptions.c: Don't use __sighandler_t.  (See if
6691        anything cares ...)
6692
66932006-04-29 08:59  gb
6694
6695        * lisp-kernel/x86-constants64.h: FreeBSD register constants.
6696
66972006-04-29 08:58  gb
6698
6699        * lisp-kernel/lisp-debug.c: FreeBSD regiser names.
6700
67012006-04-29 08:58  gb
6702
6703        * lisp-kernel/area.h: Update IMAGE_BASE_ADDRESS for FreeBSD.
6704
67052006-04-28 21:28  gb
6706
6707        * level-1/version.lisp: bump.
6708
67092006-04-28 21:27  gb
6710
6711        * lib/backtrace.lisp: changes to print-call-history (and "internal"
6712        version).
6713
67142006-04-28 21:24  gb
6715
6716        * lib/ppc-backtrace.lisp: Fix typo.
6717
67182006-04-28 21:23  gb
6719
6720        * level-1/l1-readloop-lds.lisp: Add :NFRAMES break loop command.
6721       
6722        Change the command/keyword parser a little, so that :FOO is just
6723        :FOO and not (:FOO).
6724       
6725        Change :B break loop command (and :F) to allow focusing on a range
6726        of frames, and change PRINT-CALL-HISTORY to more easily support
6727        that.
6728
67292006-04-28 19:37  gb
6730
6731        * level-0/PPC/ppc-numbers.lisp: Remove a quote from a LAP
6732        LOAD-CONSTANT form.
6733
67342006-04-28 19:34  gb
6735
6736        * lib/: backtrace.lisp, ppc-backtrace.lisp, x86-backtrace.lisp:
6737        Factor out a little more.  Time to see what's broken on PPC ...
6738
67392006-04-28 19:34  gb
6740
6741        * level-1/: l1-readloop-lds.lisp, l1-streams.lisp: Make parens
6742        around colon-commands optional.
6743
67442006-04-28 04:11  gb
6745
6746        * lisp-kernel/linuxx8664/.gdbinit: 'lregs' calls the kernel
6747        debugger's register display code.
6748
67492006-04-28 04:11  gb
6750
6751        * lisp-kernel/xlbt.c: Don't claim that the (legitimate) last frame
6752        on the stack is bogus.
6753
67542006-04-28 04:10  gb
6755
6756        * lisp-kernel/x86-exceptions.c: Create fake stack frames (sort of
6757        ...) when calling back for an exception.
6758
67592006-04-28 03:36  gb
6760
6761        * lisp-kernel/x86-constants64.h: A few symbolic register names.
6762       
6763        xcf struct.
6764
67652006-04-28 03:36  gb
6766
6767        * library/lispequ.lisp: FAKE-STACK-FRAME is #+ppc-target.
6768
67692006-04-28 03:36  gb
6770
6771        * lib/x86-backtrace.lisp: Implemented some stuff.
6772       
6773        Backtrace (sort of) works on x8664 now; need to find register
6774        values,  hide tagged return addresses, a few other things.
6775
67762006-04-28 03:34  gb
6777
6778        * lib/ppc-backtrace.lisp: Stuff moved here from elsewhere.
6779
67802006-04-28 03:34  gb
6781
6782        * lib/backtrace-lds.lisp: LAST-CATCH-SINCE moved elsewhere.
6783
67842006-04-28 03:33  gb
6785
6786        * level-1/x86-trap-support.lisp: Flags register accessor.
6787       
6788        New exception callback scheme.
6789
67902006-04-28 03:33  gb
6791
6792        * level-1/x86-threads-utils.lisp: The lowlevel system keeps
6793        changing.
6794
67952006-04-28 03:32  gb
6796
6797        * level-1/x86-error-signal.lisp: New exception callback stuff.
6798
67992006-04-28 03:32  gb
6800
6801        * level-1/l1-readloop-lds.lisp: No fake stack frames on x86.
6802
68032006-04-28 03:32  gb
6804
6805        * level-1/l1-lisp-threads.lisp: Move more stuff to arch-specific
6806        files.
6807
68082006-04-28 03:31  gb
6809
6810        * level-1/l1-events.lisp: No fake-stack-frames on x86, but we do
6811        have exception callback frames ...
6812
68132006-04-28 03:30  gb
6814
6815        * level-1/l1-error-system.lisp: Tweak :report method for
6816        wrong-number-of-args errors.
6817
68182006-04-28 03:30  gb
6819
6820        * level-0/X86/x86-def.lisp: Implement APPLY+.
6821
68222006-04-28 03:29  gb
6823
6824        * compiler/X86/X8664/x8664-arch.lisp: eXception Callback Frame.
6825
68262006-04-28 03:27  gb
6827
6828        * compiler/X86/x86-lapmacros.lisp: Add missing IN-PACKAGE.
6829       
6830        CHECK-NARGS: don't enforce upper bound if it's null.
6831
68322006-04-28 03:17  gb
6833
6834        * compiler/X86/x86-arch.lisp: x86 xFLAGS bits.
6835
68362006-04-28 03:16  gb
6837
6838        * compiler/nx0.lisp: Allow (FUNCTION (SETF name)) in
6839        IGNORE/IGNORABLE/DYNAMIC-EXTENT declarations.
6840
68412006-04-26 14:18  gb
6842
6843        * compiler/nx0.lisp: Allow (SETF NAME) in DEFINE-COMPILER-MACRO.
6844
68452006-04-26 14:17  gb
6846
6847        * lib/misc.lisp: Disassemble is supposed to signal an error (or "be
6848        prepared" to do so) if its argument isn't a function designator, so
6849        don't quietly call METHOD-FUNCTION for the user.
6850
68512006-04-26 13:56  gb
6852
6853        * lib/encapsulate.lisp: Use REPLACE-FUNCTION-CODE (not (SETF (UVREF
6854        ...))) in ENCAPSULATE, REMOVE-ENCAPSULATION.
6855
68562006-04-26 03:59  gb
6857
6858        * lisp-kernel/: x86-spentry64.s, x86-subprims64.s: zero out the
6859        exception bits whenever mxcsr is stored in tcr.foreign_mxcsr, so no
6860        exceptions will be pending when we start an ff-call (and the mxcsr
6861        is loaded from that location.)
6862       
6863        tcr.ffi_exception will then contain non-zero exception bits iff the
6864        most recent ff-call raised a (probably masked) FP exception.
6865       
6866        TODO: make this reentrant (PROCESS-INTERRUPT should preserve this.)
6867
68682006-04-26 03:55  gb
6869
6870        * lisp-kernel/x86-constants.s: define mxcsr exception bits.
6871
68722006-04-26 03:23  gb
6873
6874        * lisp-kernel/x86-constants64.s: Update comment on
6875        tcr.ffi_exception.
6876
68772006-04-26 03:22  gb
6878
6879        * lisp-kernel/x86-spentry64.s: Maintain tcr.ffi_exception on return
6880        from ffcall.  (Should maybe clear exception bits on entry to
6881        foreign state, so we're sure that any exception bits set in the
6882        tcr.ffi_exception slot were caused by the most recent ff-call.)
6883
68842006-04-26 03:20  gb
6885
6886        * level-0/X86/x86-float.lisp: Check MXCSR status bits from last
6887        ffcall, compare them to unmasked exception bits in current MXCSR,
6888        maybe raise FP exception.  (Note: compile this change and rebuild
6889        image before making corresponding kernel change.)
6890
68912006-04-26 02:31  gb
6892
6893        * lisp-kernel/x86-spentry64.s: .SPbuiltin-logxor was calling out to
6894        LOGAND-2, not to LOGXOR-2.  Sheesh.
6895
68962006-04-26 02:01  gb
6897
6898        * compiler/X86/X8664/x8664-vinsns.lisp: %ILOGBITP treats "large"
6899        bit numbers as tests of the sign bit.   (This is probably best
6900        viewed as being "formally undefined", but it's not too expensive to
6901        check for that.  The case where the bit number's negative is
6902        definitely undefined; I think that it also gets treated as a test
6903        of the sign bit.)
6904
69052006-04-26 01:58  gb
6906
6907        * lisp-kernel/x86-spentry64.s: Logbitp calls out if bit number
6908        negative.
6909
69102006-04-26 01:32  gb
6911
6912        * lisp-kernel/x86-spentry64.s: If both args fixnums, handle bits >=
6913        61.  (Should check here for negative bit .)
6914
69152006-04-26 01:31  gb
6916
6917        * lisp-kernel/x86-exceptions.c: If we get the "no FP regs in
6918        context" error - which typically indicates a fault during exception
6919        processing - pass the context in to the kernel debugger.
6920
69212006-04-26 01:30  gb
6922
6923        * level-0/X86/x86-pred.lisp: Change EQL doc string.
6924
69252006-04-26 00:56  gb
6926
6927        * level-0/X86/x86-pred.lisp: EQL on two bignums works much better
6928        if it compares all corresponding digits, rather than repeatedly
6929        comparing the 0th digits N times ...
6930
69312006-04-25 17:38  gb
6932
6933        * lisp-kernel/x86-spentry64.s: _SPmvslide: skip the loop if nargs
6934        is 0, not if disp is 0.  ash: always make a signed integer out of
6935        the result,  since arg is always signed.
6936
69372006-04-25 17:37  gb
6938
6939        * level-0/X86/x86-float.lisp: Negate floats by fliping the sign
6940        bit, so (for instance) (- 0.0d0) is -0.0d0.
6941
69422006-04-25 17:36  gb
6943
6944        * level-0/X86/x86-hash.lisp: Hash bignums 32 bits (not 64!) at a
6945        time.
6946
69472006-04-25 17:35  gb
6948
6949        * compiler/X86/x862.lisp: %%INEG: need to ensure that source
6950        operand is in target reg (2-address issue.)
6951
69522006-04-24 16:42  gb
6953
6954        * lisp-kernel/x86-spentry64.s: How hard can misc_set_s32 be ?
6955        Apparently, pretty hard.  It was doing a logical shift right when
6956        typechecking the value, so negative values were rejected.
6957
69582006-04-24 16:41  gb
6959
6960        * lisp-kernel/x86-exceptions.c: Call out to handle SIGFPE.  cmain
6961        callback now takes a 'signo' argument.
6962
69632006-04-24 16:40  gb
6964
6965        * level-1/x86-trap-support.lisp: Initial support for handling
6966        arithmetic errors.  Will need more work to get operation and
6967        operands right.
6968
69692006-04-24 16:39  gb
6970
6971        * lib/compile-ccl.lisp: REBUILD-CCL: :reload arg defaults to T.
6972
69732006-04-24 13:58  gb
6974
6975        * level-1/x86-error-signal.lisp: SETQ (not #'SET) in the
6976        uuo-error-reg-not-type case.
6977
69782006-04-24 13:57  gb
6979
6980        * level-0/X86/x86-float.lisp: Generally want to use FPZERO, not
6981        FP0, for 0.0[d,f]0.  (One case wanted to use fp1, but that's
6982        another story.)
6983
69842006-04-24 13:55  gb
6985
6986        * compiler/X86/X8664/x8664-vinsns.lisp: REQUIRE-REAL,
6987        REQUIRE-NUMBER: mask wont fit in 32 bits.  OTOH, doesn't need to be
6988        boxed, either.
6989
69902006-04-24 12:02  gb
6991
6992        * lisp-kernel/x86-spentry64.s: misc_set_s32: register botch.
6993        _SPtcallnfngen: several bugs, which were already fixed in similar
6994        variants.
6995
69962006-04-24 12:01  gb
6997
6998        * lisp-kernel/x86-gc.c: Use FORCE_DWS_MARK to force use of the
6999        Deutch/Waite/Schorr marker.
7000
70012006-04-24 12:00  gb
7002
7003        * lisp-kernel/pmcl-kernel.c: Only turn on GC debug bit if
7004        GC_INTEGRITY_CHECKING is defined (e.g., in Makefile.)
7005
70062006-04-24 11:59  gb
7007
7008        * level-1/linux-files.lisp: Remove debugging FORMAT call.
7009
70102006-04-24 11:58  gb
7011
7012        * level-0/X86/x86-numbers.lisp: %ROUND-NEAREST-SHORT-FLOAT->FIXNUM:
7013        argument is a SINGLE/SHORT-FLOAT, so don't access as a
7014        DOUBLE-FLOAT.
7015
70162006-04-24 11:58  gb
7017
7018        * level-0/X86/x86-float.lisp: %MAKE-FLOAT-FROM-FIXNUMS: mask the
7019        high and low words of the mantissa, to ensure that no hidden bits
7020        are set.  (Some such bits were set, causing many double-float
7021        constansts - like MOST-POSITVE-DOUBLE-FLOAT - to be bogus NaNs).
7022
70232006-04-24 02:21  gb
7024
7025        * lisp-kernel/image.c: Expect a MANAGED_STATIC section in the
7026        image.
7027       
7028        (Don't expect it to have any contents yet; that'll require several
7029        more changes.   This is all intended to support PURIFY on x8664,
7030        where we'll want to ensure that any constant referenced by a
7031        function in readonly/pure memory has a fixed, static address.)
7032
70332006-04-24 02:14  gb
7034
7035        * lisp-kernel/image.h: Bump IMAGE_ABI_VERSION.  New managed_static
7036        section makes NUM_IMAGE_SECTIONS 4.
7037
70382006-04-24 02:13  gb
7039
7040        * lisp-kernel/area.h: Typo in the definition of
7041        AREA_MANAGED_STATIC.
7042
70432006-04-24 02:12  gb
7044
7045        * lisp-kernel/: pmcl-kernel.c, kernel-globals.h: Global pointers to
7046        more areas.
7047
70482006-04-24 02:12  gb
7049
7050        * lisp-kernel/ppc-exceptions.c: EGC write-barrier labels are the
7051        addresses of instructions (not pointers thereto ...)
7052
70532006-04-24 02:11  gb
7054
7055        * lisp-kernel/ppc-gc.c: Add conditionalization to force DWS marker
7056        (mostly so that I could step through it to remember how it worked
7057        ...).
7058
70592006-04-24 02:10  gb
7060
7061        * lisp-kernel/ppc-spentry.s: write-barrier exported symbols: remove
7062        indirection.
7063
70642006-04-24 02:09  gb
7065
7066        * lisp-kernel/x86-gc.c: Remove a sanity check.
7067
70682006-04-24 02:09  gb
7069
7070        * xdump/xfasload.lisp: Create (empty) managed-static section
7071        (mostly for x8664 PURIFY, but might be useful on PPC someday.)
7072
70732006-04-24 02:08  gb
7074
7075        * xdump/heap-image.lisp: New image-abi-version, for managed-static
7076        section.
7077
70782006-04-24 02:07  gb
7079
7080        * level-1/linux-files.lisp: GET-DESCRIPTOR-FOR: try not to leak
7081        fds, take CLOSE-ON-ERROR more seriously.
7082
70832006-04-24 02:06  gb
7084
7085        * compiler/PPC/ppc2.lisp: (eq %FOREIGN-STACK-POINTER
7086        %CURRENT-FRAME-PTR) on PPC32/64.
7087
70882006-04-24 00:50  gb
7089
7090        * level-1/version.lisp: Bump.  Getting there ...
7091
70922006-04-24 00:50  gb
7093
7094        * level-0/l0-misc.lisp: Use %GET-NATURAL where possible.
7095       
7096        Note that TCRs aren't guaranteed to be in the low 32 bits on x8664,
7097        so pass them as a pointer to avoid word-size issues.
7098
70992006-04-24 00:48  gb
7100
7101        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Implement
7102        things that had been missing.
7103
71042006-04-24 00:48  gb
7105
7106        * compiler/X86/x86-disassemble.lisp: Recognize recently-defined
7107        UUOs.
7108
71092006-04-24 00:48  gb
7110
7111        * compiler/X86/x86-backend.lisp: Fix FIXUP-OPCODE-ORDINALS (again).
7112
71132006-04-24 00:47  gb
7114
7115        * compiler/X86/x86-asm.lisp: UUO-ERROR-ARRAY-BOUNDS.
7116
71172006-04-24 00:47  gb
7118
7119        * compiler/PPC/PPC64/ppc64-vinsns.lisp: A little word-size cleanup.
7120
71212006-04-24 00:47  gb
7122
7123        * compiler/nxenv.lisp: %FOREIGN-STACK-POINTER.
7124
71252006-04-24 00:46  gb
7126
7127        * compiler/nx1.lisp: WITH-C-FRAME, WITH-VARIABLE-C-FRAME: use (new)
7128        %FOREIGN-STACK-POINTER, not %CURRENT-FRAME-PTR (differ on x8664;
7129        need to boostrap on PPC).
7130       
7131        Parse %FOREIGN-STACK-POINTER.
7132
71332006-04-22 03:30  gb
7134
7135        * lisp-kernel/thread_manager.c: If we're using thread-local-storage
7136        (HAVE_TLS is defined), make shutdow_thread_tcr() dequeue the tcr,
7137        because (a) nothing else will and (b) the tcr will likely become
7138        unmapped soon, and we don't want things that walk the tcr list to
7139        segfault.
7140
71412006-04-22 03:27  gb
7142
7143        * lisp-kernel/x86-exceptions.c: Something's clearly wrong in
7144        find_foreign_rsp; call Bug() and exit() if the context has no
7145        fpregs.  (That's a symptom, not the proble, but it's slightly
7146        better to do this than to double fault, which is what seems to be
7147        happening.)
7148
71492006-04-21 10:12  gb
7150
7151        * lisp-kernel/x86-exceptions.c: implement pc_luser_xp; just has to
7152        worry about consing, write-barrier stuff.
7153
71542006-04-21 10:11  gb
7155
7156        * lisp-kernel/x86-constants.h: Define X86 flags register bits
7157        (condition codes.)
7158
71592006-04-21 10:11  gb
7160
7161        * lisp-kernel/x86-exceptions.h: change the signature of pc_luser_xp
7162        (again.)
7163       
7164        Define enumeration constants for matching the instructions that can
7165        occur during consing.
7166
71672006-04-21 10:09  gb
7168
7169        * lisp-kernel/x86-spentry64.s: Preserve %temp0 in
7170        store_node_conditional, in case pc_luser_xp() needs to complete the
7171        memoization.
7172
71732006-04-21 02:50  gb
7174
7175        * lisp-kernel/x86-spentry64.s: Use only the value of the first
7176        instance of :ALLOW-OTHER-KEYS to determine whether unknown keys are
7177        allowed.
7178
71792006-04-21 02:49  gb
7180
7181        * lisp-kernel/lisp-debug.c: Tweak things so that %rip and %flags
7182        line up with GPRs.
7183
71842006-04-21 02:48  gb
7185
7186        * lib/sequences.lisp: SIMPLE-1D-ARRAY-SUBSEQ: 64-bit vector case is
7187        #+64-bit-target, not #+ppc64-target.
7188
71892006-04-21 02:47  gb
7190
7191        * level-0/X86/x86-array.lisp: %SIMPLE-BIT-BOOLE: shift by the right
7192        amount.
7193
71942006-04-21 02:46  gb
7195
7196        * level-0/l0-array.lisp: %UVECTOR-REPLACE: 64-bit vectors aren't
7197        unique to PPC64 (but do depend on #+64-bit-target).
7198
71992006-04-21 02:46  gb
7200
7201        * compiler/X86/x862.lisp: The binding(s) of *INTERRUPT-LEVEL*
7202        confuse PROGV; remove them, for now.
7203
72042006-04-20 23:35  gb
7205
7206        * lisp-kernel/x86-spentry64.s: In the bignum case of
7207        .SPinteger-sign, sign-extend the bignum's sign digit instead of ...
7208        whatever the code was trying to do there.
7209       
7210        In the lexpr-has-two-values case of .SPspread-lexprz, load arg_y
7211        and arg_z from the correct offsets within the lexpr.
7212
72132006-04-20 04:48  gb
7214
7215        * lisp-kernel/x86-gc.c: Get the link-inverting marker written;
7216        force it to always be used, for now.
7217
72182006-04-19 17:11  gb
7219
7220        * lisp-kernel/pmcl-kernel.c: (Very) different
7221        MAXIMUM_MAPPABLE_MEMORY for Solaris.
7222
72232006-04-19 17:10  gb
7224
7225        * lisp-kernel/area.h: (Very) different IMAGE_BASE_ADDRESS for
7226        Solaris.
7227
72282006-04-19 00:35  gb
7229
7230        * lisp-kernel/x86-gc.c: Write a few paragraphs outlining how the
7231        reversing-pointer marker should work.  (Perhaps it's a strong
7232        argument for implementing "purify" soon.)
7233
72342006-04-19 00:34  gb
7235
7236        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
7237        function-boundary-marker.
7238
72392006-04-19 00:33  gb
7240
7241        * lisp-kernel/macros.h: Add node_aligned and indirect_node macros.
7242
72432006-04-18 19:35  gb
7244
7245        * lisp-kernel/x86-spentry64.s: Comparison was backwards in
7246        multiple-value case of THROW: don't want to do unbind_to if tcr's
7247        db-link matches target catch frame's.
7248
72492006-04-18 19:33  gb
7250
7251        * lisp-kernel/x86-uuo.s: Add UUO-ERROR-DEBUG-TRAP, remove
7252        UUO-ERROR-STACK-OVERFLOW.  Still need to get this completely in
7253        synch with x86-asm.
7254
72552006-04-18 19:33  gb
7256
7257        * level-1/l1-readloop-lds.lisp: Say more about the availability of
7258        :R in break messages.
7259       
7260        Say more about :C in :R.
7261
72622006-04-18 19:32  gb
7263
7264        * level-1/l1-readloop.lisp: Remove the #+x86-target debugging code
7265        in QUIT's PROCESS-INTERRUPT call, since the closure- trashing bug
7266        seems to have been fixed.
7267
72682006-04-18 19:31  gb
7269
7270        * level-1/x86-error-signal.lisp: Recognize (uuo-error-not-tag %rn
7271        x8664::subtag-catch-tag) as CANT-THROW-ERROR.  (Yes, this is a
7272        horrible kludge, but it only happens once.)
7273
72742006-04-18 19:19  gb
7275
7276        * level-1/l1-processes.lisp: Remove the #+x86-target debugging code
7277        in PROCESS-EXIT-APPLICATION, since the closure- trashing bug seems
7278        to have been fixed.
7279
72802006-04-18 19:18  gb
7281
7282        * level-0/X86/x86-pred.lisp: EQL on bignums wasn't using
7283        X8664::MISC-DATA-OFFSET, so it was comparing a few bytes beyond the
7284        ends of its arguments and ignoring the first few bytes (as well as
7285        doing misaligned memory references.)
7286
72872006-04-18 19:16  gb
7288
7289        * level-0/X86/x86-def.lisp: Insert the PPC version of APPLY+ here.
7290        This'll require some thought, mostly because of the reserved-frame
7291        issue(s).
7292
72932006-04-18 06:21  gb
7294
7295        * lisp-kernel/ppc-constants32.s: Comment mishaps.  These wacky
7296        adventures are about to end, I'm afraid.
7297
72982006-04-18 06:04  gb
7299
7300        * level-1/version.lisp: Daily bump.
7301
73022006-04-18 05:59  gb
7303
7304        * level-1/l1-sockets.lisp: Comment indentation.
7305
73062006-04-18 05:56  gb
7307
7308        * level-0/PPC/ppc-def.lisp: Move APPLY+ here.
7309
73102006-04-18 05:55  gb
7311
7312        * lib/setf-runtime.lisp: Move APPLY+ (which is defined in LAP) to
7313        ppc-def (that means that there will need to be an APPLY+ for
7314        x8664).
7315
73162006-04-18 05:38  gb
7317
7318        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Try to get the
7319        compiler and x8664-vinsn-templates to agree on vinsn-names and
7320        implement some vinsns that had been missing.  (About 15 or so
7321        undefined vinsns remain.)
7322
73232006-04-18 05:37  gb
7324
7325        * compiler/X86/x86-backend.lisp: The mechanism that tries to fixup
7326        opcode ordinals in vinsn templates (e.g., in case new instructions
7327        are defined in the assembler) wasn't checking to see if vinsn
7328        templates named in the hash table were defined.  (It was apparently
7329        getting away with this because CONSP was broken.)  So, don't try to
7330        fixup opcode ordinals in NIL, and optionally report templates
7331        that're referenced but not defined.
7332
73332006-04-18 04:38  gb
7334
7335        * compiler/X86/x862.lisp: CONSP was using the EXTRACT-FULLTAG vinsn
7336        (which only sets the low 8 bits of its destination), then comparing
7337        all 64-bits of the destination to a zero-extended 32-bit constant.
7338        (E.g., CONSP had little chance of being right all other things
7339        being equal, but may have been right more than one in 2^56 times if
7340        some random preceding instruction had zeroed the upper 56 bits.)
7341       
7342        (It's also shorter to do an 8-bit compare.)
7343
73442006-04-18 03:11  gb
7345
7346        * level-0/X86/x86-hash.lisp: box-fixnum arg order in %DFLOAT-HASH.
7347
73482006-04-18 02:51  gb
7349
7350        * compiler/X86/X8664/x8664-vinsns.lisp: Now that all assemblers are
7351        happy (well, as happy as they're going to be ...), back to finding
7352        bugs.  MULTIPLY-FIXNUMS has to unbox one arg (the source).
7353
73542006-04-18 01:26  gb
7355
7356        * lisp-kernel/thread_manager.c: Some Solaris changes.
7357
73582006-04-18 00:48  gb
7359
7360        * lisp-kernel/solarisx64/Makefile: The version of gm4 that Sun
7361        installs in /usr/sfw/bin is both newer and buggier than the version
7362        available on the "Solaris Companion" disk, which gets installed in
7363        /opt/sfw/bin.
7364       
7365        Ordinarily, I'd wonder why a "companion" disk offers to install
7366        software that's bundled as part of the installation (especially old
7367        versions of that software.)  Now I know.
7368
73692006-04-18 00:45  gb
7370
7371        * lisp-kernel/x86-spentry64.s: # __line__ wasn't a comment.
7372
73732006-04-18 00:45  gb
7374
7375        * lisp-kernel/m4macros.m4: Fix changecom.
7376
73772006-04-18 00:11  gb
7378
7379        * lisp-kernel/x86-spentry64.s: x8664 linux as doesn't like typos,
7380        but is otherwise fine with single-line /* */.
7381
73822006-04-18 00:09  gb
7383
7384        * lisp-kernel/: errors.s, imports.s, lisp.s, m4macros.m4,
7385        ppc-asmutils.s, ppc-constants.s, ppc-constants32.s,
7386        ppc-constants64.s, ppc-macros.s, ppc-spentry.s, ppc-spjump.s,
7387        ppc-subprims.s, ppc-uuo.s, x86-asmutils64.s, x86-constants.s,
7388        x86-constants64.s, x86-macros.s, x86-spentry64.s, x86-spjump64.s,
7389        x86-subprims64.s, x86-uuo.s, darwinppc/Makefile,
7390        darwinppc64/Makefile: Whoops.  Darwin as doesn't like #.  I dont
7391        like Darwin as, but we're back to single-line /* */, which is often
7392        pretty ugly and not well-supported by Emacs.
7393
73942006-04-17 23:23  gb
7395
7396        * lisp-kernel/: errors.s, imports.s, lisp.s, m4macros.m4,
7397        ppc-asmutils.s, ppc-constants.s, ppc-constants32.s,
7398        ppc-constants64.s, ppc-uuo.s, x86-asmutils64.s, x86-constants.s,
7399        x86-constants64.s, x86-macros.s, x86-spjump64.s, x86-subprims64.s,
7400        x86-uuo.s: Use #/newline for comment delimiters, which is supported
7401        by Emacs and by all current GAS versions (but see ARM conventions.)
7402         No more jerking around with this, knock wood.
7403
74042006-04-17 23:23  gb
7405
7406        * lisp-kernel/x86-spentry64.s: _SPspread_lexprz wasn't handling the
7407        case where caller provided args before the lexpr, which is much
7408        harder than the simple case.
7409       
7410        Use #/newline for comment delimiters, which is supported by Emacs
7411        and by all current GAS versions (but see ARM conventions.)  No more
7412        jerking around with this, knock wood.
7413
74142006-04-17 23:20  gb
7415
7416        * level-0/X86/x86-numbers.lisp: %FIXNUM-GCD was horrible, espcially
7417        when numbers differed greatly in magnitude.  Current (binary)
7418        algorithm is usually OK.
7419
74202006-04-17 23:17  gb
7421
7422        * compiler/X86/x86-lap.lisp: Condition name should be
7423        UNDEFINED-X86-LAP-LABEL, since it's (a) referenced and (b) that's
7424        not the problem.  Name wasn't spelled correctly in code that
7425        signals the condition, anyway.
7426
74272006-04-17 16:34  gb
7428
7429        * lisp-kernel/x86-exceptions.c: pc_luser_xp always takes a tcr
7430        argument, takes a new boolean to distinguish current tcr from
7431        others.  (The current tcr is only lusered on an interrupt; others
7432        are only lusered on GC entry.)
7433
74342006-04-17 16:33  gb
7435
7436        * lisp-kernel/x86-exceptions.h: X86 prototype for pc_luser_xp moved
7437        here.  (No deep reason not to share the new x86 signature on all
7438        architectures.)
7439
74402006-04-17 16:32  gb
7441
7442        * lisp-kernel/ppc-exceptions.h: PPC prototype for pc_luser_xp moved
7443        here.  (No deep reason not to share the new x86 signature on all
7444        architectures.)
7445
74462006-04-17 16:31  gb
7447
7448        * lisp-kernel/lisp-exceptions.h: prototype for pc_luser_xp is
7449        platform-dependent.
7450
74512006-04-17 06:49  gb
7452
7453        * level-1/l1-readloop.lisp: In the closure created in QUIT, only do
7454        CCL::DBG if (a) we're on X86 and (b) the inner closure is bad
7455        already.
7456
74572006-04-17 06:17  gb
7458
7459        * lisp-kernel/lisptypes.h: Don't know if there's such a thing as
7460        truly portable type name.
7461
74622006-04-17 06:16  gb
7463
7464        * lisp-kernel/: errors.s, lisp.s, m4macros.m4, x86-constants.s,
7465        x86-constants64.h, x86-constants64.s, x86-exceptions.c,
7466        x86-exceptions.h, x86-gc.c, x86-macros.s, x86-spentry64.s,
7467        x86-spjump64.s, x86-uuo.s: Well, // style comments seem to only
7468        work if they're at the start of a line in Linux GAS.  Try /* */
7469        comments, but limit them to a single line.  (May ultimately be
7470        better to use m4 dnl - carefully - and avoid end-of-line comments.)
7471
74722006-04-17 05:28  gb
7473
7474        * lisp-kernel/: x86-macros.s, x86-spentry64.s, x86-spjump64.s,
7475        x86-subprims64.s, x86-uuo.s: // comments.
7476
74772006-04-17 05:28  gb
7478
7479        * lisp-kernel/x86-gc.c: timeradd, timersub.  Other Solaris
7480        conditionalization.
7481
74822006-04-17 05:27  gb
7483
7484        * lisp-kernel/x86-exceptions.h: Solaris-related changes (xp
7485        accessors, etc.)
7486
74872006-04-17 05:26  gb
7488
7489        * lisp-kernel/x86-exceptions.c: Solaris-related changes (mostly in
7490        the sigstack trampoline stuff.)
7491
74922006-04-17 05:25  gb
7493
7494        * lisp-kernel/x86-constants64.h: // comments, Solaris-friendly
7495        integer types.
7496
74972006-04-17 05:24  gb
7498
7499        * lisp-kernel/: x86-asmutils64.s, x86-constants.s,
7500        x86-constants64.s: // comments.
7501
75022006-04-17 05:23  gb
7503
7504        * lisp-kernel/pmcl-kernel.c: Some Solaris conditionalization.
7505        Solaris mmap() is ... unusual.
7506
75072006-04-17 05:21  gb
7508
7509        * lisp-kernel/m4macros.m4: Use C++-style single-line comments,
7510        since Solaris version of GAS doen't handle multi-line comments (/*
7511        ... */).  It -seems- that other assemblers do handle them
7512        correctly; we'll see.
7513       
7514        Some Solaris conditionalization (ELFstabs, etc.)
7515
75162006-04-17 05:20  gb
7517
7518        * lisp-kernel/lisptypes.h: Conditionalize for Solaris (type names).
7519         We'll see what this breaks.
7520
75212006-04-17 05:19  gb
7522
7523        * lisp-kernel/lisp.h: PLATFORM_OS is PLATFORM_OS_SOLARIS when
7524        SOLARIS is defined.
7525
75262006-04-17 05:18  gb
7527
7528        * lisp-kernel/lisp-debug.c: Solaris conditionalization; print
7529        registers in predictable order.
7530
75312006-04-17 05:17  gb
7532
7533        * lisp-kernel/: errors.s, imports.s, lisp.s: Use C++-style
7534        single-line comments, since Solaris version of GAS doen't handle
7535        multi-line comments (/* ... */).  It -seems- that other assemblers
7536        do handle them correctly; we'll see.
7537
75382006-04-17 05:15  gb
7539
7540        * lisp-kernel/area.h: IMAGE_BASE_ADDRESS for SolarisX64.  Wrong.
7541
75422006-04-17 05:15  gb
7543
7544        * lisp-kernel/Threads.h: Conditionalize for Solaris.
7545       
7546        TODO: drop Jaguar support, use POSIX (vice Mach) semaphores on all
7547        platforms ?
7548
75492006-04-17 05:01  gb
7550
7551        * lisp-kernel/solarisx64/Makefile: new file
7552
75532006-04-17 04:56  gb
7554
7555        * lisp-kernel/linuxx8664/Makefile: Make it a little easier to
7556        change the name/usage of the linker script.
7557       
7558        Stop using the linker script (since spjump is the only thing in the
7559        kernel that has to be at a fixed address and we can copy it there.)
7560       
7561        Don't disable the EGC.
7562
75632006-04-17 04:54  gb
7564
7565        * lisp-kernel/x86-spjump64.s: Define spjump_start as the origin of
7566        the spjump table, exported for C (so that spjump can be mapped into
7567        low memory.)
7568
75692006-04-17 04:54  gb
7570
7571        * lisp-kernel/x86-spentry64.s: Use reserved_frame_marker.
7572       
7573        If the tlb's too small when trying to bind a special, push the
7574        binding index of the symbol we're binding (for the benefit of the
7575        handler.)
7576
75772006-04-17 04:52  gb
7578
7579        * lisp-kernel/x86-gc.c: Check for cases where a function has more
7580        code words than it has elements (can't happen, unless the
7581        function's code-words word is garbage, which seems to happen when
7582        closures get consed up in non-zeroed memory.)
7583       
7584        Make sure that we mark and forward Itemp2 (= %rcx = %temp2 =
7585        %nargs.q), which sometimes contains something tagged and
7586        non-immediate.
7587
75882006-04-17 04:48  gb
7589
7590        * lisp-kernel/x86-exceptions.c: new_heap_segment() (slowly) checks
7591        to ensure that everythings's zeroed.
7592       
7593        x8664 implementation of extend_tcr_tlb().
7594       
7595        on a gc trap, use tcr->save_allocptr (not the random value in %rbx)
7596        in call to update_bytes_allocated().
7597       
7598        normalize_tcr() - alway set tcr->save_allocptr/tcr->save_allocbase
7599        to VOID_ALLOCPTR (I -think- that this explains the crash-on-quit
7600        bug, and possibly some other instabiliy.)
7601       
7602        handle_exception: keep trying to guess how to distinguish memory
7603        faults from other sources of SIGSEGV.
7604       
7605        On debug traps, advance the PC past the UUO before entering the
7606        debugger.
7607       
7608        Handle XUUO_TLB_TOO_SMALL.
7609
76102006-04-17 04:42  gb
7611
7612        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
7613        reserved_frame_marker.
7614
76152006-04-17 04:42  gb
7616
7617        * lisp-kernel/thread_manager.c: Remove implementation of
7618        extend_tcr_tlb().
7619
76202006-04-17 04:41  gb
7621
7622        * lisp-kernel/ppc-exceptions.h: Prototype for PPC version of
7623        extend_tcr_tlb().
7624
76252006-04-17 04:41  gb
7626
7627        * lisp-kernel/ppc-exceptions.c: PPC version of extend_tcr_tlb().
7628
76292006-04-17 04:40  gb
7630
7631        * lisp-kernel/pmcl-kernel.c: Remap the spjump table on x8664, so
7632        that we don't need to use a linker script.
7633
76342006-04-17 04:40  gb
7635
7636        * lisp-kernel/Threads.h: extend-tcr-tlb: signature defined by
7637        target xxx-exceptions.h now.
7638
76392006-04-17 04:39  gb
7640
7641        * lib/misc.lisp: Some comment formatting/editing.
7642
76432006-04-17 04:38  gb
7644
7645        * level-1/version.lisp: Bump.
7646
76472006-04-17 04:38  gb
7648
7649        * level-1/l1-readloop.lisp: Some debugging code in the code which
7650        creates the final closure.  It seems that when it's bad, it's bad
7651        on creation (here.)
7652
76532006-04-17 04:37  gb
7654
7655        * level-1/l1-processes.lisp: Some debugging code in
7656        PROCESS-EXIT-APPLICATION, to try to catch whatever's causing the
7657        final closure to be trashed.
7658       
7659        I don't think that other threads were getting their allocptr's
7660        nullified correctly by the GC/normalize_tcr(); with the current
7661        debugging code in place, it seems like the closure is consed on top
7662        of something other than free, thread-private heap memory (when it's
7663        bad, it fails the first check here.  I'm not sure that the latest
7664        round of GC/normalize-tcr() changes have fixed the problem, but I
7665        haven't seen it in a while now, either.)
7666
76672006-04-17 04:32  gb
7668
7669        * level-0/X86/x86-def.lisp: %FUNCTION-CODE-BYTE (for partial
7670        disassembly, etc.).
7671
76722006-04-17 04:31  gb
7673
7674        * compiler/X86/X8664/x8664-vinsns.lisp: Use RESERVED-FRAME-MARKER
7675        in RESERVE-OUTGOING-FRAME; don't use ENSURE-RESERVED-FRAME at all
7676        (anymore.)
7677       
7678        Subprims are down in low memory again; make INIT-CLOSURE skip
7679        setting the high byte of .SPcall-closure's address if it's zero.
7680
76812006-04-17 04:28  gb
7682
7683        * compiler/X86/X8664/x8664-arch.lisp: Define RESERVED-FRAME-MARKER,
7684        which may help backtrace.
7685
76862006-04-17 04:26  gb
7687
7688        * lib/: backtrace.lisp, ppc-backtrace.lisp: Split up RAW-FRAME-REF
7689        (interface/implementation.)
7690
76912006-04-15 09:20  gb
7692
7693        * level-1/x86-callback-support.lisp: Ensure that callback
7694        trampolines are allocated in executable memory.
7695
76962006-04-15 09:12  gb
7697
7698        * lib/dumplisp.lisp: Refresh external entry points before reviving
7699        callbacks.  Reset callback storage before reviving callbacks.
7700
77012006-04-15 09:10  gb
7702
7703        * level-1/x86-error-signal.lisp: Don't prefix the unknown trap
7704        error message with a %.  (Where did that come from ?)
7705
77062006-04-15 09:08  gb
7707
7708        * level-1/ppc-callback-support.lisp: Don't (knock wood) need to do
7709        anything in RESET-CALLBACK-STORAGE for PPC, since malloc()ed memory
7710        is executable.
7711
77122006-04-14 09:02  gb
7713
7714        * lib/time.lisp: Jeez.  Save buffer, why dontcha.
7715
77162006-04-14 08:21  gb
7717
7718        * lib/time.lisp: ENCODE-UNIVERSAL-TIME: treat year 0-99 as
7719        shorthand for the nearest matching year.
7720
77212006-04-14 08:20  gb
7722
7723        * lib/format.lisp: FORMAT-PRINT-NUMBER was printing commas even
7724        when : was missing.
7725
77262006-04-13 23:09  gb
7727
7728        * lib/ppc-backtrace.lisp: Eschew missing parens.
7729
77302006-04-13 23:08  gb
7731
7732        * lib/describe.lisp: Change NTH-VALUE-IN-FRAME call.
7733
77342006-04-13 23:08  gb
7735
7736        * lib/backtrace.lisp: DBG-FORM checks the second return value from
7737        ARGLIST-FROM-MAP.
7738
77392006-04-13 23:02  gb
7740
7741        * lib/arglist.lisp: Don't pass a "conser" function around (the idea
7742        is leftover from 68K MCL).  ARGLIST-FROM-MAP tries to be consistent
7743        about returning a second value; returns values NIL, T for functions
7744        that take no args and don't have a symbol map.
7745
77462006-04-13 22:53  gb
7747
7748        * level-1/l1-lisp-threads.lisp: Try to make args to
7749        NTH-VALUE-IN-FRAME et al a little saner.
7750
77512006-04-13 22:37  gb
7752
7753        * lib/numbers.lisp: Conditionalize on word size, not PPC processor
7754        type.
7755
77562006-04-13 22:36  gb
7757
7758        * level-1/version.lisp: Bump.
7759
77602006-04-13 22:35  gb
7761
7762        * level-1/l1-aprims.lisp: Remove the DBG trap from #'APPLY.  Still
7763        trying to find the cause of the crash-on-quit bug.
7764
77652006-04-13 07:30  gb
7766
7767        * lib/ppc-backtrace.lisp: Migrate some stuff here.
7768
77692006-04-13 07:29  gb
7770
7771        * level-1/l1-lisp-threads.lisp, lib/backtrace.lisp: Migrate some
7772        stuff to target-backtrace.
7773
77742006-04-13 06:45  gb
7775
7776        * lisp-kernel/x86-gc.c: mark_root: need to handle TRAs earlier.
7777
77782006-04-13 06:44  gb
7779
7780        * lisp-kernel/pmcl-kernel.c: Set GC debug bits manually here on
7781        x8664.
7782
77832006-04-13 06:44  gb
7784
7785        * level-1/x86-error-signal.lisp: XP-ARGUMENT-LIST: only the low 13
7786        bytes of %nargs_q contain arg count.
7787
77882006-04-13 06:43  gb
7789
7790        * level-1/l1-error-system.lisp: No EVAL-PROGRAM-ERROR. Please.
7791
77922006-04-13 06:43  gb
7793
7794        * level-1/l1-aprims.lisp: Trying to find what's (sometimes)
7795        trashing a closure during QUIT; embed a #+x86-target breakpoint in
7796        APPLY.
7797
77982006-04-13 06:42  gb
7799
7800        * level-0/X86/x86-numbers.lisp: Bad typo in %FIXNUM-GCD.
7801
78022006-04-13 06:41  gb
7803
7804        * compiler/X86/x862.lisp: Lap expression changes; recycle constant
7805        operands.
7806
78072006-04-13 06:41  gb
7808
7809        * compiler/X86/x86-lap.lisp: Freelist a lot of things; use
7810        "vector-lists" instead of adjustable arrays, simplify handling of
7811        constant expressions.  Still conses hysterically; need to find out
7812        where and tone it down a bit, if possible.
7813
78142006-04-13 06:39  gb
7815
7816        * compiler/X86/x86-disassemble.lisp: Maybe no lap immediate
7817        operands; maybe no lap constant-expressions.
7818
78192006-04-13 06:39  gb
7820
7821        * compiler/X86/x86-asm.lisp: Don't need
7822        *lap-constant-0-expression*.
7823
78242006-04-13 00:46  gb
7825
7826        * lisp-kernel/linuxx8664/Makefile: Kernel depends on Makefile,
7827        linker script.
7828
78292006-04-13 00:45  gb
7830
7831        * lisp-kernel/linuxx8664/elf_x86_64.x: Use linker script from ld
7832        2.16.1 (Thanks to James Bielman).
7833
78342006-04-12 18:53  gb
7835
7836        * lisp-kernel/linuxx8664/elf_x86_64.x: Try to avoid use of
7837        PROVIDE_HIDDEN, since some versions of GNU ld don't like it.  (Most
7838        of this seems to have to do with C++ static constructors, which
7839        aren't really relevant here.)
7840
78412006-04-12 18:28  gb
7842
7843        * lisp-kernel/x86-spentry64.s: Use movd (not movq) when moving
7844        between %Rforeign_sp and GPRs.
7845
78462006-04-12 18:22  gb
7847
7848        * lisp-kernel/linuxx8664/Makefile: egc flag
7849
78502006-04-12 18:08  gb
7851
7852        * lisp-kernel/x86-gc.c: Add current/prev (temporarily) to help find
7853        where we're losing here.
7854
78552006-04-12 18:07  gb
7856
7857        * lisp-kernel/x86-exceptions.c: pc_luser_xp: notice if we're in the
7858        write barrier code, crap out if so.
7859
78602006-04-12 18:06  gb
7861
7862        * lisp-kernel/pmcl-kernel.c: Disable EGC if DISABLE_EGC is defined
7863        (presumably in a Makefile).
7864
78652006-04-12 14:50  gb
7866
7867        * level-1/version.lisp: Bump.
7868
78692006-04-12 14:46  gb
7870
7871        * lib/: compile-ccl.lisp, ppc-backtrace.lisp, systems.lisp,
7872        x86-backtrace.lisp: new target backtrace stuff.
7873
78742006-04-12 14:45  gb
7875
7876        * lib/backtrace.lisp: Start splitting things up, ideally into a
7877        mostly abstract API and gory platform- dependent implementation
7878        details.
7879
78802006-04-11 21:40  gb
7881
7882        * lisp-kernel/pmcl-kernel.c: Only way to stress-test EGC is to turn
7883        the damned thing on.  (A little painful with integrity checking
7884        enabled, as it still is by default.)
7885       
7886        TODO:
7887       
7888        - sleep (me) - non-recursive (link-inverting) marker - pc-lusering
7889        (pc_luser_xp()) - backtrace - ANSI CL tests - purify - 2d-aref - FP
7890        exception handling - check UUO usage in kernel, disassembler,
7891        exception handlers - stack overflow recovery
7892
78932006-04-11 21:24  gb
7894
7895        * lisp-kernel/x86-gc.c: Skip over function code in
7896        check_refmap_consistency.
7897
78982006-04-11 21:23  gb
7899
7900        * lisp-kernel/x86-spentry64.s: Write barrier memoization sets bits
7901        backwards.
7902
79032006-04-11 19:11  gb
7904
7905        * compiler/X86/x862.lisp: Change LABELS for new closure format.
7906
79072006-04-11 19:11  gb
7908
7909        * lisp-kernel/x86-spentry64.s: 3 words of code + inner function in
7910        a closure, no lfname slot in closure.
7911
79122006-04-11 16:29  gb
7913
7914        * lisp-kernel/linuxx8664/.gdbinit: ada  prints active dynamic (GC)
7915        area.
7916
79172006-04-11 16:29  gb
7918
7919        * lisp-kernel/x86-subprims64.s: Maintain the MXCSR on transitions
7920        between lisp/foreign code.
7921
79222006-04-11 16:29  gb
7923
7924        * lisp-kernel/x86-spentry64.s: Add write barrier stuff (may have
7925        bit-order problems.)
7926       
7927        Maintain the MXCSR on transitions between lisp/foreign code.
7928
79292006-04-11 16:28  gb
7930
7931        * lisp-kernel/x86-macros.s: Access globals in expressions.
7932
79332006-04-11 16:27  gb
7934
7935        * lisp-kernel/x86-gc.c: Start to implement EGC for X8664; this'll
7936        need some bootstrapping stuff (function boundary markers) for a few
7937        reasons, as will DWS marker.
7938
79392006-04-11 16:27  gb
7940
7941        * lisp-kernel/x86-exceptions.c: If we get an FP exception, report
7942        the siginfo error code.
7943
79442006-04-11 16:26  gb
7945
7946        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Define MXCSR
7947        fields in tcr.
7948
79492006-04-11 16:25  gb
7950
7951        * lisp-kernel/x86-constants.h: Define MXCSR bits.
7952
79532006-04-11 16:25  gb
7954
7955        * lisp-kernel/thread_manager.c: Setup the MXCSR somewhat sanely
7956        when starting a lisp thread.  (It'll be saner when FP exceptions
7957        are handled.)
7958
79592006-04-11 16:24  gb
7960
7961        * level-1/x86-error-signal.lisp: Recognize what complaints about
7962        non-uvectors are trying to tell us.
7963
79642006-04-11 16:23  gb
7965
7966        * level-1/l1-io.lisp: PRINT-OBJECT method for TRAs, symbol/function
7967        vectors.
7968
79692006-04-11 16:23  gb
7970
7971        * level-1/l1-clos-boot.lisp: Spell TAGGED-RETURN-ADDRESS with more
7972        Ses.  Define classes for function/symbol vectors.
7973
79742006-04-11 16:22  gb
7975
7976        * level-0/X86/x86-def.lisp: %RETURN-ADDRESS-OFFSET.
7977
79782006-04-11 16:21  gb
7979
7980        * compiler/X86/X8664/x8664-vinsns.lisp: Closure initialization
7981        needs to add a function boundary marker (but we can stop padding
7982        each closure with a null function name slot.)
7983
79842006-04-11 16:20  gb
7985
7986        * compiler/X86/X8664/x8664-arch.lisp: Define
7987        FUNCTION-BOUNDARY-MARKER, which should never exist in the wild.
7988
79892006-04-11 16:19  gb
7990
7991        * compiler/X86/x862.lisp: Emit a function boundary marker between
7992        code and constants. (For GC reasons.) Change closure initialization
7993        to account for it.
7994
79952006-04-11 16:18  gb
7996
7997        * compiler/X86/x86-lap.lisp: Emit a function boundary marker
7998        between code and constants. (For GC reasons.)
7999
80002006-04-11 16:17  gb
8001
8002        * compiler/X86/x86-disassemble.lisp: Require more stuff.
8003
80042006-04-11 16:17  gb
8005
8006        * compiler/nxenv.lisp: Require X8664ENV on X8664.
8007       
8008        See if we can get by without 68K condition code ...
8009
80102006-04-11 06:53  gb
8011
8012        * lisp-kernel/x86-exceptions.c: We'll need to handle FP exceptions
8013        soon.
8014
80152006-04-11 06:53  gb
8016
8017        * lib/numbers.lisp: Infinity constants conditionalized on/off
8018        during MXCSR adventures.  On now.
8019
80202006-04-11 06:52  gb
8021
8022        * lib/describe.lisp: Comment indentation.
8023       
8024        No such thing as an interpreted function; hasn't been for years.
8025
80262006-04-11 06:51  gb
8027
8028        * level-1/x86-threads-utils.lisp: Fixup lfun bits of %FIXNUM-SET et
8029        al.
8030
80312006-04-11 06:51  gb
8032
8033        * level-1/version.lisp: Bumped yesterday.
8034
80352006-04-11 06:50  gb
8036
8037        * level-1/l1-error-signal.lisp: Comments.
8038
80392006-04-11 06:50  gb
8040
8041        * level-1/l1-clos-boot.lisp: CLASS-OF handles non-simple vectors,
8042        at least.
8043
80442006-04-11 06:50  gb
8045
8046        * level-0/X86/x86-float.lisp: MXCSR stuff.  Better, mostly because
8047        a fixnum constant is boxed in %SET-MXCSR.
8048
80492006-04-11 06:49  gb
8050
8051        * level-0/X86/x86-def.lisp: Get info about register usage.
8052
80532006-04-11 06:49  gb
8054
8055        * compiler/X86/X8664/x8664-vinsns.lisp: Natural arithmetic; start
8056        work on 2d aref.  Fix MISC-SET-U64 (or some flavor thereof), which
8057        though that it was dealing with a scaled index.
8058
80592006-04-11 06:48  gb
8060
8061        * compiler/X86/x862.lisp: Natural arithmetic; start work on 2d
8062        aref.
8063
80642006-04-11 06:48  gb
8065
8066        * compiler/X86/x86-lap.lisp: FRAGs are freelisted.  Really need to
8067        do something about FRAG-CODE-BUFFERs, and need to tone down
8068        expression overkill.
8069
80702006-04-11 06:46  gb
8071
8072        * compiler/X86/x86-backend.lisp: Vinsn template fixup mechanism,
8073        for when opcode ordinals change.
8074
80752006-04-11 06:46  gb
8076
8077        * compiler/X86/x86-asm.lisp: UUO-ERROR-STACK-OVERFLOW ->
8078        UUO-ERROR-ARRAY-RANK.
8079       
8080        Vinsn template fixup mechanism, for when opcode ordinals change.
8081
80822006-04-11 06:45  gb
8083
8084        * compiler/X86/x86-arch.lisp: Try to unscramble MXCSR bits/masks.
8085
80862006-04-11 06:45  gb
8087
8088        * compiler/nx0.lisp: NX-U31-CONSTANT-P.
8089
80902006-04-11 06:44  gb
8091
8092        * compiler/dll-node.lisp: WITH-DLL-NODE-FREELIST: syntax to allow
8093        specialized list header initialization.
8094
80952006-04-11 06:43  gb
8096
8097        * level-1/l1-error-system.lisp, compiler/arch.lisp: Type errors for
8098        2d float arrays.
8099
81002006-04-10 10:19  gb
8101
8102        * lisp-kernel/x86-spentry64.s: _SPcallback is now called with the
8103        foreign SP properly obeying C alignment conventions.  In order to
8104        get it aligned for lisp usage during the callback, an extra word
8105        needs to be pushed before the backpointer to the old foreign RSP.
8106
81072006-04-10 10:18  gb
8108
8109        * lisp-kernel/x86-exceptions.c: Ensure that the copied sigcontext
8110        is 16-byte aligned, so that the foreign stack pointer is aligned
8111        according to C conventions when we enter the signal handler on that
8112        stack.
8113
81142006-04-10 10:13  gb
8115
8116        * lib/numbers.lisp: Define FP infinities, since we're running with
8117        FP exceptions masked. (We don't handle FP exceptions on X8664 yet,
8118        but this was crashing due to ldmxcsr/stmxcsr confusion, not because
8119        an unmasked FP exception was raised and unhandled.)
8120
81212006-04-10 10:10  gb
8122
8123        * lib/level-2.lisp: Remove the WARN and the conditionalization
8124        around bit/bitfield accessors on X8664.
8125
81262006-04-10 10:09  gb
8127
8128        * level-0/X86/x86-float.lisp: Repeat after me: to load the mxcsr
8129        from memory, we say "ldmxcsr".  We want to do such a load in order
8130        to write new values into the mxcsr.  To store it in memory, we say
8131        "stmxcsr".  We want to do such a store (and a subsequent load from
8132        memory) in order to access the value of the mxcsr.  Simple, no ?
8133
81342006-04-10 10:07  gb
8135
8136        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp:
8137        %GET-BIT/%SET-BIT.
8138
81392006-04-10 08:29  gb
8140
8141        * compiler/X86/X8664/x8664-vinsns.lisp: Float
8142        addition/multiplication: either arg can overlap result (and often
8143        will).  Float subtraction/division: caller should ensure that
8144        result and second arg are disjoint.
8145
81462006-04-10 08:27  gb
8147
8148        * compiler/X86/x862.lisp: Float arithmetic is two-address; ensure
8149        that result doesn't overlap second argument for non-commutative
8150        operations.
8151
81522006-04-10 08:26  gb
8153
8154        * lisp-kernel/lisp-debug.c: Show FPRs on LinuxX8664.
8155
81562006-04-10 05:12  gb
8157
8158        * lisp-kernel/thread_manager.c: Don't free dead TCRs if we didn't
8159        malloc them.
8160
81612006-04-10 05:12  gb
8162
8163        * lib/compile-ccl.lisp: REBUILD-CCL paramaters for :LINUXX8664.
8164
81652006-04-10 05:11  gb
8166
8167        * level-1/l1-pathnames.lisp: No need to reference PPC package, and
8168        good reason not to.
8169
81702006-04-10 04:39  gb
8171
8172        * xdump/xfasload.lisp: signed 32-bit, 64-bit integers in fasl files
8173        are always big-endian.
8174
81752006-04-10 04:38  gb
8176
8177        * lisp-kernel/x86-gc.c: mark_root(): if we're marking a function
8178        reachable via a TRA, update the variable "dnode" so that the
8179        correct bits get set.
8180
81812006-04-10 04:37  gb
8182
8183        * level-0/X86/X8664/x8664-bignum.lisp: Remove some breakpoints.
8184
81852006-04-10 04:37  gb
8186
8187        * level-0/X86/x86-array.lisp: %SIMPLE-BIT-BOOLE.  Could stand to be
8188        a bit simpler.
8189
81902006-04-10 04:36  gb
8191
8192        * level-0/l0-hash.lisp: Whoops: %SET-NEEDS-REHASHING is called from
8193        the MAKE-LOAD-FORM method for hashtables.
8194
81952006-04-09 09:17  gb
8196
8197        * lisp-kernel/thread_manager.c: Inflate control stack size on
8198        x8664, until DWS marker works (and do so correctly this time).
8199
82002006-04-09 09:12  gb
8201
8202        * lisp-kernel/thread_manager.c: Inflate control stack size on
8203        x8664, until DWS marker works.
8204
82052006-04-09 09:09  gb
8206
8207        * level-0/l0-hash.lisp: Now that bitvectors work, remove
8208        #+x86-target DBG trap.
8209
82102006-04-09 08:57  gb
8211
8212        * level-0/l0-hash.lisp: Set/clear rehash bits via SBIT, not AREF.
8213        (Should be exactly the same code, but may not have been 15 years
8214        ago or whenever this was written.)
8215
82162006-04-09 08:56  gb
8217
8218        * lisp-kernel/x86-spentry64.s,
8219        compiler/X86/X8664/x8664-vinsns.lisp: Clear bits in a bit vector
8220        via btrX (Bit Test and Reset), not btcX (Bit Test and Complement.)
8221
82222006-04-09 03:52  gb
8223
8224        * lisp-kernel/x86-macros.s: Parens around negative displacement in
8225        condition_to_boolean.  Not clear why this is necessary, but it
8226        seems to be.
8227
82282006-04-09 03:24  gb
8229
8230        * lisp-kernel/x86-macros.s: Use shorter sequence in
8231        condition_to_boolean.
8232
82332006-04-09 02:32  gb
8234
8235        * compiler/X86/X8664/x8664-vinsns.lisp: Using cmovCC intstead of
8236        setCC for cr-bit->boolean is 1 instruction and 2 bytes shorter, all
8237        other things being equal.
8238
82392006-04-09 01:37  gb
8240
8241        * compiler/X86/x86-asm.lisp: reg/reg variants of bsfX, bsrX had
8242        operands backwards.
8243
82442006-04-09 01:37  gb
8245
8246        * compiler/optimizers.lisp: Comment formatting.
8247
82482006-04-09 01:29  gb
8249
8250        * level-0/X86/X8664/x8664-bignum.lisp: %BIGNUM-SIGN-DIGITS:
8251        bsr/xorl != clz when (zerop n).
8252
82532006-04-08 21:25  gb
8254
8255        * lisp-kernel/x86-exceptions.c: Forget about blocking SIGINT in
8256        current thread before entering kernel debugger.
8257
82582006-04-08 21:21  gb
8259
8260        * lib/compile-ccl.lisp: early def of XLOAD-LEVEL-0: require
8261        (TARGET-XLOAD-MODULES).
8262
82632006-04-08 21:21  gb
8264
8265        * lisp-kernel/x86-spentry64.s: misc_set_s16: forgot a lognot.
8266
82672006-04-08 21:20  gb
8268
8269        * level-0/nfasload.lisp: 64-bit vectors: target::, not ppc64::.
8270
82712006-04-08 20:46  gb
8272
8273        * lib/foreign-types.lisp: Add missing paren ...
8274
82752006-04-08 20:45  gb
8276
8277        * lib/foreign-types.lisp: Recognize a :struct-by-value case.
8278
82792006-04-08 20:44  gb
8280
8281        * compiler/X86/X8664/x8664-backend.lisp: X8664 ABI seems to pass
8282        structs by value, sort of.
8283
82842006-04-08 20:43  gb
8285
8286        * x86-headers64/libc/C/populate.sh: Add -D_GNU_SOURCE to CFLAGS.
8287
82882006-04-08 20:42  gb
8289
8290        * library/hash-cons.lisp: Port some of this to x8664; need to add
8291        code to maintain "used" bitmap.
8292
82932006-04-08 20:42  gb
8294
8295        * lib/numbers.lisp: Conditionalize out the FP infinity stuff in the
8296        short term.
8297
82982006-04-08 20:41  gb
8299
8300        * lib/edit-callers.lisp: %MAP-LFIMMS: lfun-vector changes.  Should
8301        someday fix this crap.
8302
83032006-04-08 20:40  gb
8304
8305        * lib/describe.lisp: Conditionalize, a little.
8306
83072006-04-08 20:40  gb
8308
8309        * lib/db-io.lisp: SAVE-DB-FUNCTION appears to be unused.
8310
83112006-04-08 20:39  gb
8312
8313        * level-1/l1-io.lisp: PRINT-A-NAN not #+ppc-target.
8314
83152006-04-08 20:39  gb
8316
8317        * level-1/l1-readloop-lds.lisp: Error reentry stuff here.
8318
83192006-04-08 20:39  gb
8320
8321        * level-1/l1-sockets.lisp: Workaround ffi translator lossage in
8322        _inet_ntoa (just as Darwin has for years; why not fix this ?)
8323
83242006-04-08 20:38  gb
8325
8326        * level-1/ppc-trap-support.lisp: Error-reentry stuff to
8327        l1-readloop-lds (nothing to do with PPC or traps ...)
8328
83292006-04-08 20:37  gb
8330
8331        * .cvsignore: Ignore *CL*/*cl*, not necessarily *CCL*/*ccl*.
8332
83332006-04-08 04:46  gb
8334
8335        * compiler/X86/x862.lisp: X862-MVCALL needs to always save and
8336        restore, even if there's only one values-producing form (that form
8337        might produce more values than will fit in argument registers, and
8338        we therefore have to reserve space for a stack frame.)
8339
83402006-04-08 04:45  gb
8341
8342        * compiler/X86/x86-asm.lisp: Need to actually define INSERT-IMM64.
8343
83442006-04-08 04:43  gb
8345
8346        * lib/macros.lisp: Scanning backwards for instructions depends on a
8347        reasonable architecture.
8348
83492006-04-08 04:43  gb
8350
8351        * lib/compile-ccl.lisp: TARGET-XLOAD-MODULES for x8664.
8352
83532006-04-08 04:42  gb
8354
8355        * xdump/xfasload.lisp: Hide ppc32 double-float-vector stuff in
8356        target arch.
8357
83582006-04-08 04:41  gb
8359
8360        * xdump/.cvsignore: ignore *.*fsl
8361
83622006-04-07 22:46  gb
8363
8364        * compiler/nx.lisp: XCOMPILE-LAMBDA is #+ppc-target for now.
8365
83662006-04-07 22:45  gb
8367
8368        * compiler/nx1.lisp: Provide an FTYPE declaration for
8369        %DEFINE-PPC-LAP-FUNCTION.
8370
83712006-04-07 22:25  gb
8372
8373        * level-1/version.lisp: Bump.
8374
83752006-04-07 22:19  gb
8376
8377        * compiler/PPC/ppc-asm.lisp, compiler/PPC/ppc-backend.lisp,
8378        compiler/PPC/ppc-disassemble.lisp, compiler/PPC/ppc-lap.lisp,
8379        lib/backtrace-lds.lisp: ARCH::OPCODE, ARCH::OPERAND moved to CCL
8380        package.
8381
83822006-04-07 22:18  gb
8383
8384        * compiler/risc-lap.lisp: OPCODE, OPERAND moved here and from
8385        arch:: to ccl::.
8386
83872006-04-07 22:17  gb
8388
8389        * compiler/arch.lisp: OPERAND, OPCODE belong elsewhere (in
8390        RISC-LAP, for instance).  That's a different package, too.
8391
83922006-04-07 20:46  gb
8393
8394        * library/lispequ.lisp: %CONS-FAKE-STACK-FRAME here.  Really.
8395
83962006-04-07 20:45  gb
8397
8398        * level-0/l0-pred.lisp: *IMMHEADER-1-TYPES* was wrong, too.  Should
8399        I maybe look at the others, or just fix them as I stumble on them ?
8400
84012006-04-07 20:44  gb
8402
8403        * compiler/X86/X8664/x8664-vinsns.lisp: jns->jne when checking for
8404        a DOUBLE-FLOAT.
8405
84062006-04-07 20:41  gb
8407
8408        * level-0/nfasload.lisp: Print file pos in FASL-DISPATCH debug
8409        message.
8410
84112006-04-07 20:40  gb
8412
8413        * lib/nfcomp.lisp: #+x8664: Check for fulltag-immheader-1, not
8414        fulltag-immheader-0 twice in fasl-scan-dispatch
8415       
8416        FASL-DUMP-SYMBOL needs a SYMPTR->SYMVECTOR.  (Note that FASLOAD has
8417        never handled uninterned symbols that need a binding index.)
8418
84192006-04-07 07:55  gb
8420
8421        * lib/describe.lisp: Formatting changes, mostly.
8422
84232006-04-07 07:54  gb
8424
8425        * compiler/X86/x862.lisp: multiple-value-calls need to reserve an
8426        outgoing stack frame when more than 3 args/ values are involved.
8427
84282006-04-07 07:53  gb
8429
8430        * lisp-kernel/x86-spentry64.s, lisp-kernel/x86-spjump64.s,
8431        compiler/X86/X8664/x8664-arch.lisp,
8432        compiler/X86/X8664/x8664-vinsns.lisp: _SPrecover-values-for-mvcall
8433        (reserves outgoing frame if necessary.)
8434
84352006-04-07 07:52  gb
8436
8437        * level-1/ppc-trap-support.lisp: %CONS-FAKE-STACK-FRAME moved to
8438        lispequ.
8439
84402006-04-07 06:28  gb
8441
8442        * compiler/X86/X8664/x8664-vinsns.lisp: pop argument regs in the
8443        right order.
8444
84452006-04-07 06:27  gb
8446
8447        * level-0/X86/x86-misc.lisp: VALUES accounts for reserved frame.
8448
84492006-04-07 03:59  gb
8450
8451        * compiler/X86/x862.lisp: Don't push the function on the "value"
8452        stack when doing a MULTIPLE-VALUE-CALL, since its presence there
8453        can interfere with multiple-value continuations.  (Can it be popped
8454        before recovering multiple values ?  I didn't think of that, but I
8455        suspect that that'd be simpler than what I did; check this.  Maybe
8456        there is -or once was- an issue with _SPrecovervalues bashing a
8457        register.)
8458       
8459        Pushing the function on the temp stack while collecting multiple
8460        values avoids the issue (but it may be far better to simply vpop it
8461        before the call to _SPrecovervalues.)
8462       
8463        Most of the issues related to X862-MVCALL calling itself
8464        recursively have to do with cleaning the function off of the stack
8465        in non tail-call cases.  Since the function's not there anymore,
8466        the rationale for splitting this into a base and recursive case
8467        isn't very strong.
8468       
8469        Changes in X862-MVCALL exposed bugs in X862-INVOKE-FN: we don't
8470        want to emit or otherwise reference the mvpass label if it's null.
8471
84722006-04-07 03:51  gb
8473
8474        * compiler/X86/X8664/x8664-vinsns.lisp: TEMP-PUSH-NODE,
8475        TEMP-POP-NODE.
8476
84772006-04-06 21:27  gb
8478
8479        * lib/db-io.lisp: CDB-HASH-MASK happens to be =
8480        PPC32::TARGET-MOST-POSITIVE-FIXNUM.
8481
84822006-04-06 21:26  gb
8483
8484        * level-1/x86-trap-support.lisp: Bugs, not worth describing in
8485        detail.
8486
84872006-04-06 21:25  gb
8488
8489        * level-1/x86-error-signal.lisp: Bugs, not worth describing in
8490        detail ...
8491
84922006-04-06 21:24  gb
8493
8494        * level-1/l1-lisp-threads.lisp: Simplify CFP-LFUN.
8495
84962006-04-06 21:23  gb
8497
8498        * compiler/X86/X8664/x8664-backend.lisp: Fenceposts with the last
8499        gpr/fpr args.
8500
85012006-04-06 21:22  gb
8502
8503        * compiler/X86/X8664/x8664-arch.lisp: tcr->linear_end ->
8504        tcr->save_rbp.
8505
85062006-04-06 21:21  gb
8507
8508        * lisp-kernel/x86-spentry64.s: Maintain tcr->save_rbp on
8509        ffcall/callback.
8510
85112006-04-06 21:20  gb
8512
8513        * lisp-kernel/x86-exceptions.c: Setup tcr->save_rbp when doing a
8514        callback.
8515       
8516        Pass rpc to %ERR-DISP, as it expects.
8517
85182006-04-06 21:19  gb
8519
8520        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
8521        tcr->linear_end -> tcr->save_rbp.
8522
85232006-04-06 07:03  gb
8524
8525        * lisp-kernel/x86-exceptions.c: Call out to handle errors.
8526
85272006-04-06 07:03  gb
8528
8529        * lisp-kernel/linuxx8664/.gdbinit: Ignore more signals.
8530
85312006-04-06 06:44  gb
8532
8533        * compiler/X86/X8664/x8664-vinsns.lisp: Use new UUOs for
8534        slot-boundp checks, eep.address.
8535
85362006-04-06 06:43  gb
8537
8538        * compiler/X86/x862.lisp: X862-FIXUP-FWD-REFS: don't assume that
8539        functions are uvectors or that their constants start at index 1.
8540       
8541        PROGV: don't keep interrupts off in the body.
8542
85432006-04-06 05:58  gb
8544
8545        * compiler/X86/x86-asm.lisp: RESOLVE-EEP uuo needs source and dest
8546        registers to be recoverable.
8547       
8548        Use (int ($ #x8x)) for SLOT-UNBOUND, since it needs slot-vector,
8549        index, and dest reg to be recoverable.
8550       
8551        Note that the use of this range of (int N) operands may lead to
8552        confusion on platforms that use int #x80 for syscalls.  That (a)
8553        doesn't apply to x8664, since SYSCALL is present and used on x8664
8554        and (b) would only be a problem if the dest reg was %rax, which it
8555        won't be.
8556
85572006-04-06 05:53  gb
8558
8559        * lib/macros.lisp: DEFSETF for INTERRUPT-LEVEL here.
8560
85612006-04-06 05:53  gb
8562
8563        * level-0/l0-init.lisp: Better (useful) X8664 *FEATURES*.
8564
85652006-04-06 05:52  gb
8566
8567        * level-0/l0-hash.lisp: Remove some #+x86-target DBG traps.   Add a
8568        few fixnum decls in and around DO-REHASH.
8569
85702006-04-06 05:51  gb
8571
8572        * level-0/X86/x86-def.lisp: %RETURN-ADDRESS-FUNCTION: if argument
8573        is a "real" tagged return address, return the associated function.
8574
85752006-04-06 05:50  gb
8576
8577        * level-1/: x86-error-signal.lisp, x86-trap-support.lisp: Flesh
8578        this out some.  The FAKE-STACK-FRAME stuff isn't quite the right
8579        idea on X8664; may need to revise it.
8580
85812006-04-06 05:49  gb
8582
8583        * level-1/ppc-trap-support.lisp: Remove HANDLE-GC-HOOKS.
8584
85852006-04-06 05:49  gb
8586
8587        * level-1/ppc-threads-utils.lisp: DEFSETF for INTERRUPT-LEVEL moved
8588        ... anywhere but a platform-specific file.
8589
85902006-04-06 05:48  gb
8591
8592        * level-1/l1-events.lisp: HANDLE-GC-HOOKS isn't really
8593        platform-specific, so move it here.
8594
85952006-04-06 05:47  gb
8596
8597        * level-1/: l1-clos-boot.lisp, l1-clos.lisp: Hashing code expects
8598        instance.hash to be a fixnum, so violating that expectation (as was
8599        done a few weeks ago for debugging) fouls things up royally.  This
8600        may have led to instability on PPC as well.
8601
86022006-04-06 05:44  gb
8603
8604        * lisp-kernel/x86-exceptions.c: Return false (for now) on unhandled
8605        UUO.  (Need to merge code from another machine, which will try to
8606        call out to lisp.)
8607
86082006-04-06 05:43  gb
8609
8610        * lisp-kernel/pmcl-kernel.c: register_sigint_handler on x8664.
8611
86122006-04-05 06:57  gb
8613
8614        * lisp-kernel/x86-spentry64.s: nthrow variants: set %Rforeign_sp,
8615        not tcr slot.
8616       
8617        _SPcallback aligns the foreign stack the way that lisp expects.
8618
86192006-04-05 06:56  gb
8620
8621        * lisp-kernel/x86-exceptions.c: Handle more stuff, including
8622        interrupt callbacks.
8623
86242006-04-05 06:55  gb
8625
8626        * library/x8664-linux-syscalls.lisp: GETUID was wrong.
8627
86282006-04-05 06:55  gb
8629
8630        * level-1/x86-trap-support.lisp: VERY early callback for interrupt
8631        handling.
8632
86332006-04-05 06:54  gb
8634
8635        * level-1/l1-callbacks.lisp: Comment format
8636
86372006-04-05 06:54  gb
8638
8639        * level-0/X86/x86-utils.lisp: Arg order in lap macros.
8640
86412006-04-05 06:54  gb
8642
8643        * level-0/l0-pred.lisp: Get *IMMHEADER-2-TYPES* (or whatever it's
8644        called) right.
8645
86462006-04-05 06:53  gb
8647
8648        * compiler/X86/X8664/x8664-backend.lisp: DEFCALLBACK guts for
8649        X8664.
8650
86512006-04-05 05:20  gb
8652
8653        * lisp-kernel/x86-exceptions.c: Do some callbacks.  Let's see if
8654        they work yet.
8655
86562006-04-05 05:19  gb
8657
8658        * lisp-kernel/x86-spentry64.s: Use interrupt-checking macros.  Fix
8659        callback typos.
8660
86612006-04-05 05:19  gb
8662
8663        * lisp-kernel/x86-macros.s: Check for interrupts, and do so when we
8664        know that they've just become enabled.
8665
86662006-04-05 05:17  gb
8667
8668        * lisp-kernel/x86-exceptions.c: Set high bit of tcr->interrupt
8669        pending when there's ... a pending interrupt.
8670
86712006-04-05 05:17  gb
8672
8673        * lisp-kernel/x86-exceptions.h: Define xuuo stuff.
8674
86752006-04-04 21:47  gb
8676
8677        * lisp-kernel/x86-spentry64.s: callback changes.
8678
86792006-04-04 21:47  gb
8680
8681        * lisp-kernel/lisp-debug.c: rip "=", not "-".
8682
86832006-04-04 21:46  gb
8684
8685        * lisp-kernel/linuxx8664/.gdbinit: Ignore SIGPWR, until we know
8686        better.
8687
86882006-04-04 18:51  gb
8689
8690        * lisp-kernel/pmcl-kernel.c: Wimp out, back to 128GB for
8691        LinuxPPC64.
8692
86932006-04-04 18:50  gb
8694
8695        * level-1/linux-files.lisp: Don't use %GET-NATURAL in Linux version
8696        of PIPE, since file descriptors are always C ints.
8697
86982006-04-04 18:03  gb
8699
8700        * compiler/PPC/PPC32/ppc32-backend.lisp,
8701        compiler/PPC/PPC64/ppc64-backend.lisp, lib/macros.lisp: callback
8702        implementation moved to the backend.
8703
87042006-04-04 18:02  gb
8705
8706        * lib/arglist.lisp: ARGLIST-FROM-MAP: get &rest name right when
8707        &key is also present.
8708
87092006-04-04 16:10  gb
8710
8711        * lisp-kernel/pmcl-kernel.c: linuxppc64 can't mmap 512GB; try
8712        256GB.
8713
87142006-04-04 15:52  gb
8715
8716        * level-1/version.lisp: Bump. New images soon.
8717
87182006-04-04 15:52  gb
8719
8720        * compiler/backend.lisp: Add slots for callback definition.
8721
87222006-04-04 15:52  gb
8723
8724        * compiler/nx0.lisp: Remove a #-bccl.
8725
87262006-04-04 15:26  gb
8727
8728        * lisp-kernel/x86_print.c: print_unsigned_hex: conditionalize on
8729        word size.
8730
87312006-04-04 15:26  gb
8732
8733        * lisp-kernel/x86-spentry64.s: First cut of _SPcallback.
8734
87352006-04-04 15:26  gb
8736
8737        * lisp-kernel/x86-macros.s: Catch frames save foreign sp from
8738        register, not from tcr slot.
8739
87402006-04-04 15:25  gb
8741
8742        * lisp-kernel/x86-exceptions.c: Uncomment the body of
8743        interrupt_handler.
8744
87452006-04-04 15:18  gb
8746
8747        * compiler/lambda-list.lisp: %LFUN-INFO & friends: do
8748        (FUNCTION-TO-FUNCTION-VECTOR).
8749
87502006-04-04 15:18  gb
8751
8752        * compiler/X86/x86-lapmacros.lisp: check-nargs: bad comparison on
8753        max when both min and max.
8754
87552006-04-04 15:18  gb
8756
8757        * lib/macros.lisp: spurious checkin; no real change
8758
87592006-04-03 23:01  gb
8760
8761        * lisp-kernel/x86-gc.c: Make purify() a nop, for now.
8762
87632006-04-03 22:43  gb
8764
8765        * scripts/openmcl64: Maybe (check for x8664 Linux is untested).
8766
87672006-04-03 22:42  gb
8768
8769        * lisp-kernel/bits.h: Constants are word-size (not CPU-variant)
8770        -specific.
8771
87722006-04-03 22:42  gb
8773
8774        * lisp-kernel/pmcl-kernel.c: 512GB MAXIMUM_MAPPABLE_MEMORY on
8775        x8664/Linux as well.
8776
87772006-04-03 22:41  gb
8778
8779        * lisp-kernel/ppc-gc.c: Remove X86 conditionalization.  Maybe merge
8780        x86-gc.c and ppc-gc.c back into a single file someday (or at least
8781        put truly shared code there),but for now this is simpler.
8782
87832006-04-03 22:38  gb
8784
8785        * lisp-kernel/x86-exceptions.c: A little more infrastructure, so
8786        that we can actually call the GC.
8787
87882006-04-03 22:37  gb
8789
8790        * lisp-kernel/x86-exceptions.h: Define UUO, trap opcodes.
8791
87922006-04-03 22:36  gb
8793
8794        * lisp-kernel/x86-gc.c: It's ... alive.
8795
87962006-04-03 22:36  gb
8797
8798        * lisp-kernel/x86-spentry64.s: Use new vector bounds traps. How
8799        about boundp checks ?
8800
88012006-04-03 22:35  gb
8802
8803        * lisp-kernel/x86-uuo.s: New uuo definitions.
8804
88052006-04-03 22:35  gb
8806
8807        * lib/macros.lisp: DO-GC-AREAS,which is one of those macro things,
8808        moved here. Uses archmacro AREA-SUCC (defined here) to avoid
8809        TARGET-ARCH-CASE lossage.
8810
88112006-04-03 22:34  gb
8812
8813        * level-1/l1-lisp-threads.lisp: DO-GC-AREAS,which is one of those
8814        macro things, moved to macros.lisp.
8815
88162006-04-03 22:33  gb
8817
8818        * level-0/X86/x86-misc.lisp: Zero out all of the write-lock's
8819        writer slot, not just the low half.
8820
88212006-04-03 22:32  gb
8822
8823        * level-0/PPC/ppc-utils.lisp: TRUE, FALSE : cmplr vs cmplri.
8824        Typical rookie PPC assembler mistake ...
8825
88262006-04-03 22:31  gb
8827
8828        * level-0/l0-misc.lisp: %FREEBYTES looked like a job for
8829        %GET-NATURAL.
8830
88312006-04-03 22:31  gb
8832
8833        * compiler/X86/X8664/x8664-vinsns.lisp: Use newfangled UUOs.
8834
88352006-04-03 22:30  gb
8836
8837        * compiler/X86/x86-asm.lisp: Add UUO-ERROR-UNBOUND,
8838        UUO-ERROR-SLOT-UNBOUND, UUO-ERROR-EEP-UNRESOLVED.
8839
88402006-04-03 22:29  gb
8841
8842        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
8843        X86/X8664/x8664-arch.lisp: AREA-SUCC archmacro.
8844
88452006-04-01 23:36  gb
8846
8847        * lisp-kernel/x86-exceptions.h: xpMMXreg, sigaltstack stuff.
8848
88492006-04-01 23:35  gb
8850
8851        * lisp-kernel/x86-exceptions.c: take signals on an alternate signal
8852        stack, run the handler on the foreign stack (this is all intended
8853        to keep signal handlers from splatting sigcontexts all over the
8854        tagged lisp stack.)
8855
88562006-04-01 23:33  gb
8857
8858        * lisp-kernel/x86-constants64.h: mmx register indices.
8859
88602006-04-01 23:33  gb
8861
8862        * lisp-kernel/x86-asmutils64.s: switch_to_foreign_stack().
8863
88642006-04-01 23:32  gb
8865
8866        * lisp-kernel/thread_manager.c: register_cstack_holding_area_lock()
8867        takes a natural stack size.
8868
88692006-04-01 23:32  gb
8870
8871        * lisp-kernel/pmcl-kernel.c: register_cstack_holding_area_lock()
8872        takes a natural stack size, sets up alternate signal stack if
8873        USE_SIGALTSTACK.
8874
88752006-04-01 23:31  gb
8876
8877        * lisp-kernel/lisp.h: USE_SIGALTSTACK if X8664.  (Might someday
8878        depend on platform.)
8879
88802006-03-31 23:15  gb
8881
8882        * lisp-kernel/linuxx8664/Makefile: gc.o -> x86-gc.o
8883
88842006-03-31 23:00  gb
8885
8886        * lisp-kernel/x86-gc.c: New file; currently, an exact copy of
8887        ppc-gc.c, but they'll diverge some soon.
8888
88892006-03-31 22:56  gb
8890
8891        * lisp-kernel/: linuxppc/Makefile, linuxppc64/Makefile,
8892        static-linuxppc/Makefile: gc.o -> ppc-gc.o
8893
88942006-03-31 22:52  gb
8895
8896        * lisp-kernel/: darwinppc/Makefile, darwinppc64/Makefile: gc.o ->
8897        ppc-gc.o
8898
88992006-03-31 22:51  gb
8900
8901        * lisp-kernel/area.h: Need prototype for heap_area_containing().
8902        heap_node_area_containing(), which doesn't exist ... not so much.
8903
89042006-03-31 22:50  gb
8905
8906        * lisp-kernel/memory.c: Some functions moved here from gc.c before
8907        it was renamed/split.
8908
89092006-03-31 22:48  gb
8910
8911        * lisp-kernel/gc.c: rename/split
8912
89132006-03-31 22:46  gb
8914
8915        * lisp-kernel/ppc-gc.c: renamed
8916
89172006-03-31 00:54  gb
8918
8919        * lisp-kernel/x86-spentry64.s: Progvsave, progvrestore seem to
8920        work.
8921       
8922        Not sure about the tail end of the multiple-value case of THROW,
8923        but at least it's there.
8924
89252006-03-31 00:53  gb
8926
8927        * library/x8664-linux-syscalls.lisp: still need work, but more
8928        stuff (including socket syscalls) are defined now.
8929
89302006-03-31 00:52  gb
8931
8932        * level-1/version.lisp: Bump.
8933
89342006-03-31 00:52  gb
8935
8936        * level-1/l1-sockets.lisp: Conditionalize lots for x8664.
8937
89382006-03-31 00:51  gb
8939
8940        * level-0/X86/x86-def.lisp: No debug trap in %CFP-LFUN.
8941
89422006-03-31 00:50  gb
8943
8944        * level-0/l0-init.lisp: Simplify *FEATURES* init a little.  Try to
8945        ensure that :linuxx8664-target is there if it should be.
8946
89472006-03-31 00:46  gb
8948
8949        * compiler/X86/X8664/x8664-arch.lisp: Define
8950        MAX-8-BIT-IVECTOR-SUBTAG, too.
8951
89522006-03-30 03:23  gb
8953
8954        * level-1/l1-aprims.lisp: ELEMENT-SUBTYPE-TYPE for x8664.
8955
89562006-03-30 03:22  gb
8957
8958        * level-1/l1-boot-2.lisp: Load some x8664 files,
8959
89602006-03-30 03:21  gb
8961
8962        * level-1/l1-boot-3.lisp: Comments and formatting.
8963
89642006-03-30 03:20  gb
8965
8966        * level-1/l1-clos-boot.lisp: Some x8664 changes.
8967
89682006-03-30 03:20  gb
8969
8970        * level-1/l1-clos.lisp: Use REPLACE-FUNCTION-CODE another time or
8971        two.
8972       
8973        Set class's INSTANCE.HASH slots to class name, to make classes
8974        easier to identify in kernel debugger.  (Might not want to keept
8975        this, but could set/clear a bit there.)
8976
89772006-03-30 03:18  gb
8978
8979        * level-1/: l1-files.lisp, l1-dcode.lisp: Comments and formatting
8980        changes only.
8981
89822006-03-30 03:17  gb
8983
8984        * level-1/l1-lisp-threads.lisp: Start to move some stuff into
8985        platform-dependent files.
8986
89872006-03-30 03:16  gb
8988
8989        * level-1/: l1-pathnames.lisp, l1-numbers.lisp: Conditionalize.
8990
89912006-03-30 03:16  gb
8992
8993        * level-1/l1-streams.lisp: 64-bit conditionalization, and x8664
8994        stuff.
8995
89962006-03-30 03:15  gb
8997
8998        * level-1/l1-typesys.lisp: 64-bit array type on all (both) 64-bit
8999        platforms.
9000
90012006-03-30 03:13  gb
9002
9003        * level-1/l1-utils.lisp: TRUE and FALSE now in LAP.
9004
90052006-03-30 03:13  gb
9006
9007        * level-1/level-1.lisp: Load "new" x8664 files.
9008
90092006-03-30 03:12  gb
9010
9011        * level-1/linux-files.lisp: Conditionalize some for x8664.
9012
90132006-03-30 03:12  gb
9014
9015        * level-1/ppc-threads-utils.lisp: Some stuff moved here from
9016        l1-lisp-threads.
9017
90182006-03-30 03:11  gb
9019
9020        * lib/compile-ccl.lisp: X8664-related changes.
9021
90222006-03-30 03:11  gb
9023
9024        * lib/foreign-types.lisp: Setup host-ftd based on compile-time
9025        target.  Yow, recursion.
9026
90272006-03-30 03:10  gb
9028
9029        * lib/macros.lisp: LET-GLOBALLY deals with symptr/symvector stuff.
9030
90312006-03-30 03:10  gb
9032
9033        * lib/misc.lisp: Fix Linux MACHINE-INSTANCE.
9034       
9035        Move DISASSEMBLE and interface here.
9036
90372006-03-30 03:09  gb
9038
9039        * lib/nfcomp.lisp: Conditionalize for x8664; dump native functions
9040        via fasl-clfun.
9041
90422006-03-30 03:08  gb
9043
9044        * lib/prepare-mcl-environment.lisp: Needed symptr/symvector stuff.
9045
90462006-03-30 03:08  gb
9047
9048        * lib/systems.lisp: Add new x86 level-1 stuff; remove some truly
9049        ancient MCLisms.
9050
90512006-03-30 03:06  gb
9052
9053        * library/x8664-linux-syscalls.lisp: Some fixes and additions, but
9054        still needs lots of work.
9055
90562006-03-30 03:06  gb
9057
9058        * lisp-kernel/x86_print.c: If instance.hash of an instance isn't a
9059        fixnum, treat it as a class name.  (Hard to otherwise recognize
9060        classes from the kernel.)
9061
90622006-03-30 03:04  gb
9063
9064        * lisp-kernel/x86-spjump64.s: rename poweropen_callback ->callback.
9065
90662006-03-30 03:04  gb
9067
9068        * lisp-kernel/x86-spentry64.s: Lots of bug fixes.
9069       
9070        Multiple-value THROW still needs work, and CALLBACK still needs to
9071        be written (both sides).
9072
90732006-03-30 03:02  gb
9074
9075        * lisp-kernel/x86-constants64.s: No FPSCR here, but an MXCSR.
9076
90772006-03-30 03:01  gb
9078
9079        * lisp-kernel/ppc-spentry.s: Error call in misc_set_invalid
9080        involves 4 args.
9081
90822006-03-30 03:00  gb
9083
9084        * lisp-kernel/pmcl-kernel.c: Larger GC defaults if 64-bit, not just
9085        PPC64.
9086       
9087        Insist on Linux kernel 2.6 if x8664 linux.
9088
90892006-03-30 02:59  gb
9090
9091        * lisp-kernel/plsym.c: Missing #\% in format string.
9092
90932006-03-30 02:56  gb
9094
9095        * lisp-kernel/linuxx8664/.gdbinit: More stuff.
9096
90972006-03-30 02:55  gb
9098
9099        * level-1/: x86-callback-support.lisp, x86-error-signal.lisp,
9100        x86-threads-utils.lisp, x86-trap-support.lisp: Nee files.
9101
91022006-03-30 02:54  gb
9103
9104        * level-0/X86/X8664/x8664-bignum.lisp: Remove debug traps from
9105        things that're believed to be working.
9106
91072006-03-30 02:54  gb
9108
9109        * level-0/X86/x86-utils.lisp: CLASS-OF changes/fixes.  Move
9110        #'TRUE/#'FALSE here.
9111
91122006-03-30 02:53  gb
9113
9114        * level-0/X86/x86-symbol.lisp: %SYMPTR->SYMBOL: check for nilsym,
9115        not NIL.
9116
91172006-03-30 02:52  gb
9118
9119        * level-0/X86/x86-numbers.lisp: %FIXNUM-TRUNCATE: return results in
9120        the right order.
9121       
9122        %IASL: shift the right register.
9123
91242006-03-30 02:51  gb
9125
9126        * level-0/X86/x86-misc.lisp: Fix %FUDGE-HEAP-POINTER; define
9127        INTERRUPT-LEVEL.
9128
91292006-03-30 02:51  gb
9130
9131        * level-0/X86/x86-float.lisp: %get-mxcsr stores the mxcsr in memory
9132        so that we can load it into a fixnum.
9133
91342006-03-30 02:50  gb
9135
9136        * level-0/X86/x86-def.lisp: %CFP-LFUN: try to recognize
9137        multiple-value returning calls, return NIL if tra offset is 0.
9138
91392006-03-30 02:49  gb
9140
9141        * level-0/X86/x86-clos.lisp: Remove debug traps; use registers
9142        sanely in the SETF case.
9143
91442006-03-30 02:48  gb
9145
9146        * level-0/PPC/ppc-utils.lisp: Implement TRUE and FALSE in LAP.
9147
91482006-03-30 02:48  gb
9149
9150        * level-0/PPC/ppc-clos.lisp: Change the name of a constant that'll
9151        get clobbered when this is cloned anyway.  (Is that clear ?)
9152
91532006-03-30 02:47  gb
9154
9155        * level-0/l0-pred.lisp: %TYPE-OF fixes for x8664.
9156       
9157        We haven't had interpreted functions for a few years.
9158
91592006-03-30 02:46  gb
9160
9161        * level-0/l0-float.lisp: %SET-DOUBLE-FLOAT-EXP: endianness, use
9162        symbolic constant for high word.
9163
91642006-03-30 02:45  gb
9165
9166        * level-0/l0-array.lisp: SUBTAG-BYTES for X8664.
9167
91682006-03-30 02:45  gb
9169
9170        * compiler/X86/X8664/x8664-vinsns.lisp: Lots of bug fixes.
9171
91722006-03-30 02:44  gb
9173
9174        * compiler/X86/X8664/x8664-arch.lisp: REQUIRE what we need.
9175       
9176        Get CATCH-FRAME definition right.
9177       
9178        .SPpoweropen-callback -> .SPcallback.
9179
91802006-03-30 02:43  gb
9181
9182        * compiler/X86/x862.lisp: Lots of changes and bugfixes.
9183
91842006-03-30 02:42  gb
9185
9186        * compiler/X86/x86-lap.lisp: Avid path in REQUIRE; create native
9187        functions.
9188
91892006-03-30 02:42  gb
9190
9191        * compiler/X86/x86-disassemble.lisp: Run natively: provide
9192        X8664-XDISASSEMBLE.
9193
91942006-03-30 02:41  gb
9195
9196        * compiler/X86/x86-asm.lisp: Assemble things (uuos) with a "pseudo"
9197        ModRM byte, which allows encoding two 4-bit x8664 registers in a
9198        single byte.
9199
92002006-03-30 02:40  gb
9201
9202        * compiler/X86/x86-arch.lisp: Need to explicitly (REQUIRE "ARCH").
9203
92042006-03-30 02:39  gb
9205
9206        * compiler/PPC/PPC64/ppc64-arch.lisp: Define high and low 32-bit
9207        parts of a DOUBLE-FLOAT.
9208
92092006-03-30 02:39  gb
9210
9211        * compiler/PPC/ppc-disassemble.lisp: DISASSEMBLE and
9212        FUNCTION-FOR-DISASSEMBLY moved elsewhere.
9213
92142006-03-25 20:47  gb
9215
9216        * lisp-kernel/lisp-debug.c: Fix x8664 lisp register display.
9217
92182006-03-25 20:42  gb
9219
9220        * lib/ccl-export-syms.lisp: Fix export of CCL::GETENV and
9221        CCL::SETENV.
9222
92232006-03-25 20:37  gb
9224
9225        * lisp-kernel/x86-spentry64.s: Dozens of bug fixes.
9226       
9227        Do uvref (not yet uvset) via jump table.
9228
92292006-03-25 20:36  gb
9230
9231        * lisp-kernel/x86-macros.s: Do arithmetic correctly in Cons macro.
9232       
9233        Split up Misc_Alloc.
9234
92352006-03-25 20:34  gb
9236
9237        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Tag juggling.
9238
92392006-03-25 20:34  gb
9240
9241        * lisp-kernel/ppc_print.c: Identify SLOT-VECTORs in kernel
9242        debugger.
9243
92442006-03-25 20:33  gb
9245
9246        * lisp-kernel/errors.s: Add some error numbers for uvref/uvset
9247        failures that should never happen.
9248
92492006-03-25 20:32  gb
9250
9251        * lisp-kernel/lisp-debug.c: Change x8664 lisp register display.
9252
92532006-03-25 20:32  gb
9254
9255        * lisp-kernel/gc.c: IMPURIFY: maybe grow the dynamic area, but
9256        don't shrink it.
9257
92582006-03-25 20:31  gb
9259
9260        * lisp-kernel/plsym.c: Symbol address may be longer than 32 bits.
9261
92622006-03-25 20:31  gb
9263
9264        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s: sgbuf has
9265        been lisp_thread for the past few years.
9266
92672006-03-25 20:30  gb
9268
9269        * lisp-kernel/ppc-spentry.s: Do uvref/uvset via jump tables.
9270        (Fewer branches, more redundancy.)
9271
92722006-03-25 20:29  gb
9273
9274        * lisp-kernel/x86_print.c: Identify SLOT-VECTORs.  Print TRAs.
9275
92762006-03-25 20:28  gb
9277
9278        * lisp-kernel/xlbt.c: Skip over lexpr nonsense.
9279
92802006-03-25 20:28  gb
9281
9282        * lisp-kernel/linuxx8664/.gdbinit: More GDB macros.
9283
92842006-03-25 20:27  gb
9285
9286        * library/lispequ.lisp: %GF-DISPATCH-TABLE-REF uses %SVREF.
9287
92882006-03-25 20:26  gb
9289
9290        * lib/misc.lisp: MACHINE-VERSION caches the result per-session;
9291        looks in /proc/cpuinfo for something machine-dependent on Linux,
9292        passes 64-bit stuff on DarwinPPC64.
9293
92942006-03-25 20:25  gb
9295
9296        * lib/macros.lisp: LFUN-BITS-KNOWN-FUNCTIONS uses arch macros to
9297        access function vector.
9298
92992006-03-25 20:23  gb
9300
9301        * level-1/version.lisp: Bump.
9302
93032006-03-25 20:23  gb
9304
9305        * level-1/l1-io.lisp: No more interpreted functions.
9306
93072006-03-25 20:23  gb
9308
9309        * level-1/l1-dcode.lisp: Mostly comment and formatting changes.
9310
93112006-03-25 20:22  gb
9312
9313        * level-1/l1-clos.lisp: Fix typos in x86 function cloning;
9314        comment/formatting changs.
9315
93162006-03-25 20:21  gb
9317
9318        * level-1/l1-clos-boot.lisp: Lots of formatting changes; try to use
9319        DEFGLOBAL, since special variable lookup is ~10 instructions or so.
9320
93212006-03-25 20:20  gb
9322
9323        * level-1/l1-boot-1.lisp: HOST-PLATFORM, PLATFORM-DESCRIPTION:
9324        generalize, a little.
9325
93262006-03-25 20:19  gb
9327
9328        * level-1/l1-aprims.lisp: LFUN-KEYVECT access function vector, if
9329        that's not the function.  NREVERSE checks for NIL, mostly so I
9330        wouldn't have to single-step through that case in GDB.
9331
93322006-03-25 20:18  gb
9333
9334        * level-0/X86/X8664/x8664-bignum.lisp: Shift in the correct
9335        direction, sign-extend (or don't) as apropriate, etc.  Still some
9336        debug traps on things that haven't been called yet.
9337
93382006-03-25 20:17  gb
9339
9340        * level-0/X86/x86-utils.lisp: CLASS-OF fixes.
9341
93422006-03-25 20:17  gb
9343
9344        * level-0/X86/x86-pred.lisp: If the recursive list case of EQUAL
9345        fails, fail; don't fall into the uvector case ...
9346
93472006-03-25 20:16  gb
9348
9349        * level-0/X86/x86-numbers.lisp: Fenceposts in fixnum
9350        integer-length.
9351
93522006-03-25 20:15  gb
9353
9354        * level-0/X86/x86-hash.lisp: Strip-tag-to-fixnum without shifts.
9355
93562006-03-25 20:15  gb
9357
9358        * level-0/X86/x86-def.lisp: Stuff here seems to work, so far ...
9359
93602006-03-25 20:14  gb
9361
9362        * level-0/X86/x86-clos.lisp: debug traps on slot-lookup LAP
9363        prototypes.
9364
93652006-03-25 20:12  gb
9366
9367        * level-0/l0-pred.lisp: rearrange %type-of for tag changes.
9368
93692006-03-25 20:12  gb
9370
9371        * level-0/l0-numbers.lisp: No need to specify an initial value 0
9372        when stack-consing a bignum in %BIGNUM-RANDOM.  Add a fixnum decl
9373        or two.
9374
93752006-03-25 20:11  gb
9376
9377        * level-0/l0-hash.lisp: Symbol aren't (necessarily) uvectors. X86
9378        breakpoints if we hash any symbols ...
9379
93802006-03-25 20:09  gb
9381
9382        * level-0/l0-bignum64.lisp: Um, most of this is supposed to be
9383        #+64-bit-target, not #+ppc64-target.
9384
93852006-03-25 20:09  gb
9386
9387        * compiler/X86/X8664/x8664-vinsns.lisp:
9388        SET-CLOSURE-FORWARD-REFERENCE: functions aren't uvectors.
9389       
9390        Lots of other changes/fixes.
9391
93922006-03-25 20:08  gb
9393
9394        * compiler/X86/X8664/x8664-arch.lisp: Tag reorganization.
9395       
9396        MISC-SYMBOL-OFFSET, MISC-FUNCTION-OFFSET.
9397       
9398        FUNCTION-TO-FUNCTION-VECTOR, FUNCTION-VECTOR-TO-FUNCTION arch
9399        macros have something to do here.
9400
94012006-03-25 20:06  gb
9402
9403        * compiler/X86/x862.lisp: Some operators can push results directly.
9404       
9405        Lots of bug fixes.
9406
94072006-03-25 20:05  gb
9408
9409        * compiler/X86/x86-asm.lisp: CMPB: accept signed/unsigned
9410        immediate.
9411
94122006-03-25 20:04  gb
9413
9414        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Arch
9415        macros for FUNCTION-TO-FUNCTION-VECTOR and
9416        FUNCTION-VECTOR-TO-FUNCTION.
9417       
9418        (NOPs.)
9419
94202006-03-25 20:03  gb
9421
9422        * compiler/optimizers.lisp: MACPTRP.
9423
94242006-03-25 20:03  gb
9425
9426        * compiler/nx.lisp: COMPILE: don't check for INTERPRETED-FUNCTION,
9427        unless/until we have them again (in some form.)
9428
94292006-03-20 10:05  gwking
9430
9431        * lib/ccl-export-syms.lisp: Exporting getenv and setenv from CCL
9432
94332006-03-19 20:30  gb
9434
9435        * lisp-kernel/x86-spentry64.s: Old-style destructuring, VALUES.
9436
94372006-03-19 20:29  gb
9438
9439        * lisp-kernel/x86-constants64.s: Define %nargs_b.
9440
94412006-03-19 20:29  gb
9442
9443        * lisp-kernel/x86-constants.s: Define registers/bitfields used in
9444        old-style destructuring subprims.
9445
94462006-03-19 20:28  gb
9447
9448        * library/lispequ.lisp: $XNOFINFUNCTION.
9449
94502006-03-19 20:27  gb
9451
9452        * lib/level-2.lisp: Conditionalize out bit, bitfield accessors
9453        until they work ...
9454
94552006-03-19 20:27  gb
9456
9457        * lib/backtrace-lds.lisp: Conditionalize
9458        GET-REGISTER-VALUE/SET-REGISTER-VALUE catch frame access.
9459
94602006-03-19 20:26  gb
9461
9462        * level-1/: l1-clos-boot.lisp, l1-clos.lisp, l1-dcode.lisp:
9463        Conditionalize, mostly for whether the implementation has separate
9464        code-vector and function objects or not. (ppc vs x86, for now.)
9465
94662006-03-19 20:25  gb
9467
9468        * level-0/X86/x86-numbers.lisp: %FIXNUM-GCD.  Slower then the one
9469        that counts bits, but doesn't need as many registers.
9470
94712006-03-19 20:24  gb
9472
9473        * level-0/X86/x86-def.lisp: Do the lexpr/methd-context apply stuff.
9474         %X86-CLONE-FUNCTION, REPLACE-FUNCTION-CODE.
9475       
9476        Wouldn't hurt to do some typechecking in some of the lap code here.
9477
94782006-03-19 20:22  gb
9479
9480        * level-0/X86/x86-clos.lisp: Yet.
9481
94822006-03-19 20:22  gb
9483
9484        * level-0/PPC/ppc-def.lisp: REPLACE-FUNCTION-CODE abstraction.
9485
94862006-03-19 20:22  gb
9487
9488        * level-0/PPC/ppc-clos.lisp: UNSET-FIN-TRAMPOLINE doesn't reference
9489        constants.  (This could neve  have worked.)
9490
94912006-03-19 20:21  gb
9492
9493        * level-0/l0-error.lisp: Replace error format string 9.
9494
94952006-03-19 20:20  gb
9496
9497        * compiler/X86/X8664/x8664-vinsns.lisp: &lexpr fixes, old-style
9498        destructuring.
9499
95002006-03-19 20:20  gb
9501
9502        * compiler/X86/X8664/x8664-arch.lisp: Add the xtra slot to
9503        lisp-frame.  yield syscall, gf-code-size.
9504
95052006-03-19 20:19  gb
9506
9507        * compiler/X86/x862.lisp: Fix some lexpr confusion, mv-call
9508        recursive problems.
9509
95102006-03-19 20:18  gb
9511
9512        * compiler/X86/x86-lapmacros.lisp: SAVE-FRAME-VARIABLE-ARG-COUNT,
9513        CALL-SUBPRIM.
9514
95152006-03-19 20:17  gb
9516
9517        * compiler/X86/x86-lap.lisp: Support :CODE-SIZE and :ORG
9518        directives.  Change :CONSTANTS to :FIXED-CONSTANTS.
9519
95202006-03-19 20:16  gb
9521
9522        * compiler/nx1.lisp: Can use MAKE-ARRAY rather than MAKE-SEQUENCE.
9523
95242006-03-17 23:38  gb
9525
9526        * xdump/xfasload.lisp: Special case references to NIL in package
9527        htabs.
9528       
9529        Leave deleted markers behind for symbols that we haven't seen
9530        references to; leave empty (0) words empty.
9531
95322006-03-17 23:36  gb
9533
9534        * lisp-kernel/linuxx8664/.gdbinit: Add a few lisp debugging things.
9535
95362006-03-17 23:36  gb
9537
9538        * lisp-kernel/xlbt.c: Recognize multiple-value returning frames and
9539        find the real tra underneath ret1valn.
9540
95412006-03-17 23:35  gb
9542
9543        * lisp-kernel/x86-spentry64.s: "gen" tcalls had the same bug as the
9544        known-stack-args cases did several days ago.
9545
95462006-03-17 23:34  gb
9547
9548        * lisp-kernel/x86-macros.s: New do_funcall().
9549
95502006-03-17 23:33  gb
9551
9552        * lisp-kernel/x86-exceptions.c: When we field an alloc trap, make
9553        sure that both the allocptr register and the save_allocptr slot in
9554        the TCR are updated and consistent with each other.
9555
95562006-03-17 23:32  gb
9557
9558        * lisp-kernel/x86-constants64.h: A lisp frame may have two return
9559        addresses (one for the multiple-value mechanism and the real one.)
9560
95612006-03-17 23:31  gb
9562
9563        * lisp-kernel/plsym.c: If there's such a thing as fulltag_symbol,
9564        try to use it.
9565
95662006-03-17 23:29  gb
9567
9568        * level-0/X86/x86-symbol.lisp: Symptr/symvector deconflation.
9569
95702006-03-17 23:28  gb
9571
9572        * level-0/X86/x86-pred.lisp: Add %LISP-LOWBYTE-REF; could be
9573        open-coded (and may once have been.)
9574
95752006-03-17 23:27  gb
9576
9577        * level-0/nfasload.lisp: Some SYMPTR->SYMVECTOR usage.  Define
9578        %FASL-READ-SIGNED-LONG;  use it in a few places.  Assume that
9579        scalar integers are stored big-endian; construct native-endian
9580        integers from them.
9581
95822006-03-17 23:26  gb
9583
9584        * level-0/l0-symbol.lisp: Lots of SYMPTR->SYMVECTOR usage.
9585
95862006-03-17 23:25  gb
9587
9588        * level-0/l0-pred.lisp: Do %TYPE-OF for x8664.
9589
95902006-03-17 23:24  gb
9591
9592        * level-0/l0-def.lisp: Use SYMPTR->SYMVECTOR where necessary, so
9593        that we can %SVREF around in symbols.
9594       
9595        A little light reorganization, to make it easier to add debugging
9596        breakpoints for things like FUNCTION-NAME.
9597
95982006-03-17 23:22  gb
9599
9600        * compiler/X86/X8664/x8664-vinsns.lisp: Kinder, gentler
9601        CHECK-MISC-BOUND.  (What was I thinking ?)
9602       
9603        More cleanup to FUNCALL and variants.
9604       
9605        MAKE-TSP-CONS: fix braindamage, use only one register.  (Need to
9606        write down pc-luser-xp constraints for TSP allocation, but I think
9607        that this meets the current artist's conception of them.)
9608       
9609        %SYMBOL->SYMPTR does what it does on other platforms (e.g., map NIL
9610        to a proxy symbol and/or insist on a real symbol.)
9611        %SYMPTR->SYMVECTOR maps something tagged as a symbol to the
9612        underlying uvector by playing with tag bits, and %SYMVECTOR->SYMPTR
9613        does the inverse.
9614       
9615        There were two definitions of %SCHARCODE in the file; the later one
9616        (that took effect) was completely wrong.
9617
96182006-03-17 23:05  gb
9619
9620        * compiler/X86/X8664/x8664-arch.lisp: Add HONS fields to AREA
9621        definition.
9622       
9623        SYMVECTOR->SYMPTR and its inverse don't do much, but it's not worth
9624        spending a function call to do a little.
9625
96262006-03-17 23:03  gb
9627
9628        * compiler/X86/x862.lisp: Don't sign-extend the $LFBITS-NONAME-BIT;
9629        doing so had to do with 29-bit fixnums on an old 68K
9630        implementation.
9631       
9632        Fix parenthesization in %i-, so that we branch in all cases that
9633        need to.
9634       
9635        Implement %SYMPTR->SYMVECTOR and %SYMVECTOR->SYMPTR, which change
9636        something tagged X8664::FULLTAG-SYMBOL into the underlying uvector
9637        and back again.
9638
96392006-03-17 22:59  gb
9640
9641        * compiler/X86/x86-lap.lisp: Change the sign of TRA displacements,
9642        to match what the compiler expects and what some other things do.
9643       
9644        When checking to see if an ASSUMED-SHORT[-CONDITIONAL]-BRANCH can
9645        use a 1-byte branch displacement, get the sign of that displacment
9646        right.  (Doing it the wrong way was encoding a forward branch to a
9647        label 128 bytes away in one byte, which made it a backward branch
9648        128 bytes away ...)
9649
96502006-03-17 22:55  gb
9651
9652        * library/lispequ.lisp: Use NTH-IMMEDIATE to access COMBINED-METHOD
9653        slots.
9654
96552006-03-17 22:54  gb
9656
9657        * lib/nfcomp.lisp: Comments clarify that scalar integers are always
9658        dumped big-endian.  (They have to be read/written a byte at a time
9659        anyway; there's no clear advantage in writing them in native
9660        endianness.)
9661
96622006-03-17 22:52  gb
9663
9664        * lib/macros.lisp: SYMPTR->SYMVECTOR and SYMVECTOR->SYMBOL are
9665        arch-specfic (NOP on PPC, inlined tag-bits stuff on x8664.)
9666
96672006-03-17 22:50  gb
9668
9669        * level-1/l1-dcode.lisp: Star to conditionalize, a little.
9670
96712006-03-17 22:48  gb
9672
9673        * level-1/l1-boot-2.lisp: Conditionalize.
9674
96752006-03-17 22:48  gb
9676
9677        * level-1/: l1-callbacks.lisp, l1-utils.lisp: Comment formatting.
9678
96792006-03-17 22:45  gb
9680
9681        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-arch.lisp,
9682        PPC64/ppc64-arch.lisp: %SYMPTR->SYMVECTOR and %SYMVECTOR->SYMPTR
9683        shold never be called on PPC, but implement them as idenity
9684        operations, just in case.
9685
96862006-03-17 22:44  gb
9687
9688        * compiler/: nx1.lisp, nxenv.lisp: Worth inlining
9689        %SYMPTR->SYMVECTOR on x8664 (should never happen on PPC, but treat
9690        it as identity function there.)
9691
96922006-03-16 02:03  gb
9693
9694        * level-1/l1-sockets.lisp: Spell LINUX correctly.
9695
96962006-03-16 02:00  gb
9697
9698        * lisp-kernel/x86-spentry64.s: We were inlining NTH-VALUE
9699        incorrectly, but were always inlining it.
9700       
9701        Use debug traps to catch some cases that're NYI.
9702
97032006-03-16 01:58  gb
9704
9705        * lisp-kernel/lisp-debug.c: X8664 register-printing changes.
9706
97072006-03-16 01:58  gb
9708
9709        * library/parse-ffi.lisp: Treat VEC64/VEC128 like large integers,
9710        for now.
9711
97122006-03-16 01:57  gb
9713
9714        * library/lispequ.lisp: gf accessors use NTH-IMMEDIATE.
9715
97162006-03-16 01:56  gb
9717
9718        * lib/numbers.lisp: Conditionaliz on target word size.
9719
97202006-03-16 01:56  gb
9721
9722        * lib/nfcomp.lisp: Need to be aware of cases where host/target
9723        endianness differ.
9724       
9725        Byte-swap 16/32-bit constant ivectors; note that other cases may
9726        also need byte-swapping.
9727
97282006-03-16 01:54  gb
9729
9730        * lib/macros.lisp: NTH-IMMEDIATE is arch-specific; so is
9731        SET-NTH-IMMEDIATE, which is its SETF inverse.
9732
97332006-03-16 01:53  gb
9734
9735        * lib/foreign-types.lisp: So far, Darwin's the only platform that
9736        uses signed chars.  (For a good laugh, note that the PPC has an
9737        unsigned "load byte" instruction, but it takes two instructions to
9738        treat char as signed.  This is, of course, much less significant
9739        than all of the other things that are wrong about Darwin ...)
9740
97412006-03-16 01:51  gb
9742
9743        * lib/compile-ccl.lisp: RISC-LAP is PPC-specific (and maybe
9744        specific to other RISC architectures).  X86-DISASSEMBLE should be
9745        built for x8664.
9746
97472006-03-16 01:49  gb
9748
9749        * lib/backtrace-lds.lisp: Some conditinalization.
9750
97512006-03-16 01:48  gb
9752
9753        * tools/.cvsignore, library/.cvsignore: Ignore fasl extensions yet
9754        to come.
9755
97562006-03-16 01:46  gb
9757
9758        * level-1/version.lisp: Bump.
9759
97602006-03-16 01:46  gb
9761
9762        * level-1/l1-sockets.lisp: Some conditionalization; need more, and
9763        need to handle wrong-endianness.
9764
97652006-03-16 01:44  gb
9766
9767        * level-1/l1-lisp-threads.lisp: %KERNEL-GLOBAL-OFFSET-FORM:
9768        probably should lose this.  It's a function, and therefore has some
9769        trouble accessing the right (macroexpand-time) backend.
9770
97712006-03-16 01:43  gb
9772
9773        * level-1/l1-files.lisp: Set *.FASL-PATHAME* via #.'ed reference to
9774        target backend.
9775
97762006-03-16 01:42  gb
9777
9778        * level-1/l1-clos-boot.lisp: Conditionalize a little.
9779
97802006-03-16 01:42  gb
9781
9782        * level-1/l1-aprims.lisp: Use #. to set OS package name fron
9783        backend/ftd.
9784
97852006-03-16 01:41  gb
9786
9787        * level-0/X86/x86-symbol.lisp: %SYMPTR->SYMBOL is often called with
9788        real (tagged) symbols; make it a nop in that case.
9789
97902006-03-16 01:40  gb
9791
9792        * level-0/X86/x86-def.lisp: %SET-NTH-IMMEDIATE.
9793
97942006-03-16 01:40  gb
9795
9796        * level-0/X86/x86-clos.lisp: Start some of this. Still need to
9797        decide whether to use lexprs; better decide soon.
9798
97992006-03-16 01:38  gb
9800
9801        * compiler/X86/X8664/x8664-vinsns.lisp: TRAP-UNLESS-CHARACTER.
9802        Float memory accessors/setters for the constant-offset case.
9803        NTH-VALUE was wrong; now simpler.  MAKE-TSP-VCELL.  Binding
9804        subprims.
9805       
9806        Yet another FUNCALL scheme.
9807
98082006-03-16 01:36  gb
9809
9810        * level-0/l0-symbol.lisp: MAKE-SYMBOL returns the symbol pointer.
9811        Maybe conditionalize this for X8664.
9812
98132006-03-16 01:35  gb
9814
9815        * level-0/l0-io.lisp: Hopefully, the "split" 64-bit lseek is at
9816        best LinuxPPC32-specific.
9817
98182006-03-16 01:34  gb
9819
9820        * compiler/X86/x862.lisp: Use %ra0 for the inner function when
9821        making a closure, to avoid conflicts with other temps.  No need to
9822        reference memory on self-calls (and good reasons not to ...)
9823        X862-UNBOXED-INTEGER-ARG-TO-REG handles 64-bit regs.
9824
98252006-03-16 01:31  gb
9826
9827        * compiler/X86/x86-lapmacros.lisp: EXTRACT-TYPECODE: use a GENSYMed
9828        label.
9829
98302006-03-16 01:30  gb
9831
9832        * compiler/X86/x86-lap.lisp: New stuff for "pre-allocated"
9833        constants.
9834
98352006-03-16 01:29  gb
9836
9837        * compiler/X86/x86-arch.lisp: Didn't have the relatively recent
9838        STACK-SIZE.
9839
98402006-03-16 01:29  gb
9841
9842        * compiler/X86/X8664/x8664-arch.lisp: Change the
9843        %GET-KERNEL-GLOBAL[-PTR] archmacros, so that they'll work with
9844        cross-compilation.  Fixnum offsets aren't supported; they weren't
9845        used, this isn't public, and it wasn't well-defined anyway.
9846       
9847        Add %NTH-IMMEDIATE.
9848
98492006-03-16 01:28  gb
9850
9851        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp:
9852        Change the %GET-KERNEL-GLOBAL[-PTR] archmacros, so that they'll
9853        work with cross-compilation.  Fixnum offsets aren't supported; they
9854        weren't used, this isn't public, and it wasn't well-defined anyway.
9855
98562006-03-14 14:08  gb
9857
9858        * binppc/.cvsignore, l1-pfsls/.cvsignore: remove
9859
98602006-03-14 14:02  gb
9861
9862        * level-1/: l1-boot-2.lisp, level-1.lisp: Always use physical bin,
9863        l1-fasls relative pathnames.
9864
98652006-03-14 14:02  gb
9866
9867        * level-1/l1-pathnames.lisp: Simpler translations.
9868
98692006-03-14 13:51  gb
9870
9871        * l1-dfsls/.cvsignore, bindarwin/.cvsignore: removed
9872
98732006-03-14 13:31  gb
9874
9875        * bin/.cvsignore, l1-fasls/.cvsignore: new file.
9876
98772006-03-14 13:24  gb
9878
9879        * level-1/: l1-boot-2.lisp, level-1.lisp: Step 1: don't hardwire
9880        the target fasl pathname in a big #+ nest, get it from the target
9881        backend.  (Hope that works with macrolet.)
9882
98832006-03-14 13:22  gb
9884
9885        * lisp-kernel/x86-spentry64.s: _SPstack_misc_alloc fixes.
9886        _SPsyscall: just return negative return values, don't negate them.
9887
98882006-03-14 13:20  gb
9889
9890        * library/x8664-linux-syscalls.lisp: Hide the incomplete
9891        definitions.  This needs work; should use real foreign types.
9892
98932006-03-14 13:19  gb
9894
9895        * compiler/X86/X8664/x8664-vinsns.lisp: %init-gvector: pop the last
9896        element first.
9897
98982006-03-14 13:19  gb
9899
9900        * compiler/X86/X8664/x8664-backend.lisp: :linuxx8664-target on
9901        features, too.
9902
99032006-03-14 13:18  gb
9904
9905        * compiler/X86/x862.lisp: x862-allocate-initialized-gvector: works
9906        better if the gvector is actually allocated ...
9907
99082006-03-14 03:11  gb
9909
9910        * compiler/X86/x862.lisp: Remove a comment that described the
9911        mid-1990s behavior of MacsBug.
9912
99132006-03-14 03:10  gb
9914
9915        * compiler/X86/x86-lap.lisp: In X86-LAP-EQUATE-FORM, check for and
9916        disallow bindings that match defined X86 register names.
9917
99182006-03-14 03:09  gb
9919
9920        * compiler/X86/x86-disassemble.lisp: Some UUOs shouldn't terminate
9921        a disassembly block.
9922
99232006-03-14 03:09  gb
9924
9925        * library/syscall.lisp: Whoops.
9926
99272006-03-14 03:01  gb
9928
9929        * lisp-kernel/x86-spentry64.s: Fixes in _SPcall_closure,
9930        _SPstkgvector.
9931
99322006-03-14 03:00  gb
9933
9934        * lisp-kernel/x86-exceptions.c: Handle uuo_debug_trap.
9935
99362006-03-14 03:00  gb
9937
9938        * lisp-kernel/x86-constants64.h: Iflags is REG_EFL on Linux.
9939
99402006-03-14 02:59  gb
9941
9942        * lisp-kernel/lisp-debug.c: Make (R)egisters command work on x8664.
9943
99442006-03-14 02:59  gb
9945
9946        * library/syscall.lisp: BACKEND-SYSCALL-DEFINITIONS uses whatever
9947        bits are in the backend's BACKEND-PLATFORM-SYSCALL-MASK.
9948
99492006-03-14 02:57  gb
9950
9951        * library/x8664-linux-syscalls.lisp: New file. Woefully incomplete,
9952        and may need word-size fixes.
9953
99542006-03-14 02:57  gb
9955
9956        * library/ppc-linux-syscalls.lisp: Set the mask per the new (new)
9957        scheme.
9958
99592006-03-14 02:56  gb
9960
9961        * level-0/X86/x86-utils.lisp: Fix a few bugs in heap-walking code.
9962
99632006-03-14 02:56  gb
9964
9965        * level-0/X86/x86-def.lisp: %NTH-IMMEDIATE needed to box;  both it
9966        and %FUNCTION-CODE-WORDS needed to avoid naming parameters FN.
9967
99682006-03-14 02:55  gb
9969
9970        * level-1/: l1-sockets.lisp, l1-streams.lisp, linux-files.lisp: Use
9971        the right set of syscall definitions for Linux.
9972
99732006-03-14 02:54  gb
9974
9975        * level-0/nfasload.lisp: Add a fixnum declaration.
9976
99772006-03-14 02:54  gb
9978
9979        * level-0/l0-io.lisp: Include the right set of syscall defs for
9980        Linux.
9981
99822006-03-14 02:53  gb
9983
9984        * level-0/l0-symbol.lisp: Need to use %symptr->symbol for x86;
9985        harmless on PPC.
9986
99872006-03-14 02:53  gb
9988
9989        * compiler/X86/X8664/x8664-vinsns.lisp: SETUP-VCELL-ALLOCATION
9990        needs to bias the size by fulltag-misc.
9991
99922006-03-14 02:52  gb
9993
9994        * compiler/X86/X8664/x8664-backend.lisp: At least for Linux/X86/64,
9995        need to look at os/cpu/word-size to deterine applicable syscall
9996        defs.
9997
99982006-03-14 02:51  gb
9999
10000        * compiler/PPC/: PPC32/ppc32-backend.lisp,
10001        PPC64/ppc64-backend.lisp: All PPC (32/64) backends can use syscall
10002        defs for OS/CPU, regardless of word size.
10003
100042006-03-14 02:50  gb
10005
10006        * compiler/backend.lisp: Add PLATFORM-SYSCALL-MASK to backend
10007        struct.
10008
100092006-03-14 02:09  gb
10010
10011        * library/: ppc-linux-syscalls.lisp, linux-syscalls.lisp: renamed
10012
100132006-03-13 02:33  gb
10014
10015        * level-1/version.lisp: Bump.
10016
100172006-03-13 02:24  gb
10018
10019        * xdump/xfasload.lisp: AREA constants now in CCL package.
10020
100212006-03-13 02:23  gb
10022
10023        * lisp-kernel/x86-spentry64.s: ret1valn: no LEAVE here.
10024        nthrowvalues: fix several bugs.
10025
100262006-03-13 02:22  gb
10027
10028        * lisp-kernel/x86-macros.s: TSP_Alloc_Var: zero the dnode at the
10029        new tsp, as well.
10030
100312006-03-13 02:21  gb
10032
10033        * library/lispequ.lisp: Define AREA constants here (in CCL
10034        package.)
10035
100362006-03-13 02:20  gb
10037
10038        * lib/macros.lisp: Move DO-CONSING-AREAS here.  AREA-CODE is an
10039        arch macro.
10040
100412006-03-13 02:20  gb
10042
10043        * level-1/l1-lisp-threads.lisp: Move DO-CONSING-AREAS to
10044        macros.lisp.
10045
100462006-03-13 02:19  gb
10047
10048        * level-0/X86/x86-utils.lisp: Walk static, dynamic areas.
10049
100502006-03-13 02:19  gb
10051
10052        * level-0/PPC/ppc-utils.lisp: Comments.
10053
100542006-03-13 02:18  gb
10055
10056        * level-0/nfasload.lisp: %MAP-AREAS call might have to deal with
10057        symbol/symbol-vector distinction.
10058
100592006-03-13 02:18  gb
10060
10061        * level-0/l0-utils.lisp: AREA constants are in CCL package, not
10062        PPC.  %MAP-LFUNS might have to deal with function/function-vector
10063        distinction.
10064
100652006-03-13 02:17  gb
10066
10067        * level-0/l0-misc.lisp: AREA constants are in CCL package, not PPC.
10068
100692006-03-13 02:17  gb
10070
10071        * level-0/l0-hash.lisp: %GROW-HASH-TABLE is always called inside
10072        WITHOUT-INTERRUPTS, so no need to do it again.
10073
100742006-03-13 02:16  gb
10075
10076        * compiler/X86/x862.lisp: Push at most one stack frame on function
10077        entry ...
10078
100792006-03-13 02:14  gb
10080
10081        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
10082        X86/X8664/x8664-arch.lisp: AREA-CODE archmacro.
10083
100842006-03-13 02:13  gb
10085
10086        * compiler/: PPC/ppc-arch.lisp, X86/x86-arch.lisp: AREA constants
10087        moved to CCL package.
10088
100892006-03-11 23:54  gb
10090
10091        * lisp-kernel/linuxx8664/.gdbinit: Don't change handling of SIGUSR1
10092        or SIGUSR2; I don't think that we use them under Linux.
10093
100942006-03-11 23:52  gb
10095
10096        * lisp-kernel/x86-spentry64.s: builtin_eql was extracting lisptags
10097        and comparing fulltags, and thus returning false when it shouldn't
10098        have.
10099       
10100        nthrow1value was making too small of a TSP frame around the call to
10101        the cleanup code, clobbering TSP links in some cases.  It was also
10102        failing to pop catch frames.
10103       
10104        stkgvector was unimplented.
10105       
10106        _car order-of-arguments problems in (at least) spreadargz.
10107
101082006-03-11 23:47  gb
10109
10110        * lisp-kernel/x86-subprims64.s: Push a 0 and make the initial lisp
10111        %rbp point to it, to mark the end of the line.
10112
101132006-03-11 23:47  gb
10114
10115        * lisp-kernel/xlbt.c: Sketchy kernel-debugger backtrace.
10116
101172006-03-11 23:46  gb
10118
10119        * lisp-kernel/x86-constants64.h: A lisp_frame struct, for kernel
10120        backtrace.
10121
101222006-03-11 23:46  gb
10123
10124        * lisp-kernel/pmcl-kernel.c: Try (temporily) disabling Lisp's
10125        SIGINT handler.   There seem to be problems using a keyboard
10126        interrupt to awaken GDB on the version of x96-64 Linux I'm using.
10127        This didn't fix those problems completely, but we won't need to
10128        handle SIGINT in the lisp until more code works.
10129
101302006-03-11 23:43  gb
10131
10132        * lisp-kernel/macros.h: I may have parenthesized nodeheader_tag_p
10133        and immheader_tag_p; several versions of  GCC generated code that
10134        looked wrong, but since it's C it's hard to tell.   Splitting the
10135        macros up (into "mask definition" and "mask testing" seems to
10136        generate the right code (a bit test if optimization's cranked up.)
10137
101382006-03-11 23:41  gb
10139
10140        * level-0/X86/x86-misc.lisp: Fix a few typos (fixnum vs unboxed
10141        constants, etc.)
10142       
10143        %ATOMIC-DECF-PTR-IF-POSITIVE should return what we would have
10144        (might have) stored in the word accessed by the pointer (in
10145        particular, it should return a negative value if there are no other
10146        threads waiting on a recursive lock.)
10147
101482006-03-11 23:38  gb
10149
10150        * level-0/PPC/ppc-misc.lisp: Fix file name in comment.
10151
101522006-03-11 23:38  gb
10153
10154        * compiler/X86/X8664/x8664-vinsns.lisp: ENSURE-RESERVED-FRAME: test
10155        was backwards.
10156
101572006-03-11 23:37  gb
10158
10159        * compiler/X86/X8664/x8664-arch.lisp: Don't use FN as arg name in
10160        LFUN-VECTOR, since x8664::fn is a constant (symbolic register
10161        name.)
10162       
10163        Add missing close paren.
10164
101652006-03-11 23:36  gb
10166
10167        * compiler/X86/x862.lisp: Ensure stack fencepost in simple
10168        &optional arg case.
10169       
10170        Do the variable-arg-count case if complex &optional, no &rest/&key,
10171        and some (possibly unsupplied) optionals may or may not have been
10172        pushed by the caller.
10173
101742006-03-11 04:11  gb
10175
10176        * lisp-kernel/: image.c, lisp_globals.h: Fix conditionalization: we
10177        don't define PPC32, but it might be clearer if we did.
10178
101792006-03-11 03:28  gb
10180
10181        * level-1/version.lisp: Bump.
10182
101832006-03-11 03:20  gb
10184
10185        * library/: darwin-syscalls.lisp, linux-syscalls.lisp,
10186        syscall.lisp: New mechanism, mostly to make cross-compilation
10187        easier.
10188
101892006-03-11 03:20  gb
10190
10191        * level-0/X86/x86-def.lisp: Extra paren; %NTH-IMMEDIATE and
10192        function/lfun-vector stuff, CLOSURE-FUNCTION here until that can be
10193        abstracted away sanely.
10194
101952006-03-11 03:18  gb
10196
10197        * level-0/X86/x86-misc.lisp: %STORE-IMMEDIATE-CONDITIONAL needs to
10198        discard the frame that the caller reserved.
10199
102002006-03-11 03:17  gb
10201
10202        * level-0/X86/x86-clos.lisp: Comment out the PPC LAP (e.g.,
10203        everything in the file, still).
10204
102052006-03-11 03:15  gb
10206
10207        * level-0/PPC/ppc-def.lisp: CLOSURE-FUNCTION here.  (Abstract away
10208        NTH-IMMEDIATE ?)
10209
102102006-03-11 03:14  gb
10211
10212        * level-0/l0-misc.lisp: Indentation.
10213
102142006-03-11 03:13  gb
10215
10216        * level-0/l0-def.lisp: Move CLOSURE-FUNCTION to arch-specific dir.
10217        Use LFUN-VECTOR, which should hopefully compile away on PPC but
10218        needs to be there on X8664.
10219
102202006-03-11 03:11  gb
10221
10222        * compiler/X86/X8664/x8664-vinsns.lisp: Now that subprim addresses
10223        are higher, there's another significant byte to deal with in the
10224        subprim jump in %INIT-CLOSURE.
10225       
10226        Use a temporary - and a smaller instruction sequence - in
10227        MISC-ELEMENT-COUNT-FIXNUM, so that src and dest can overlap.  (More
10228        instructions, but fewer bytes.)
10229
102302006-03-11 03:08  gb
10231
10232        * compiler/PPC/PPC32/ppc32-arch.lisp,
10233        compiler/PPC/PPC64/ppc64-arch.lisp,
10234        compiler/X86/X8664/x8664-arch.lisp, lib/macros.lisp: LFUN-VECTOR
10235        and LFUN-VECTOR-LFUN are arch-specific macros.
10236
102372006-03-11 03:07  gb
10238
10239        * lisp-kernel/x86-spentry64.s: Reformat a comment.
10240
102412006-03-10 22:06  gb
10242
10243        * xdump/xx8664-fasload.lisp: Target-specific static-space (NIL
10244        representation, mostly) init functions.
10245       
10246        Move image-base-address up a few terabytes.
10247       
10248        Undefined function and macro trampolines are vectors with an
10249        executable fixnum in the 0th word.
10250
102512006-03-10 22:05  gb
10252
10253        * xdump/xppcfasload.lisp: Target-specific static-space (NIL
10254        representation, mostly) init functions.
10255
102562006-03-10 22:04  gb
10257
10258        * xdump/xfasload.lisp: Lots of changes, to deal with
10259        symbol/function tagging issues, x86 clfuns, etc.
10260
102612006-03-10 22:03  gb
10262
10263        * xdump/heap-image.lisp: Endianness, word-size conditionalization
10264        stuff.
10265
102662006-03-10 22:02  gb
10267
10268        * lisp-kernel/linuxx8664/Makefile: C files depend on lisptypes.h.
10269
102702006-03-10 22:01  gb
10271
10272        * lisp-kernel/linuxx8664/elf_x86_64.x: Don't try to link into low
10273        memory (no real reason to.) Do try to put spjump at a
10274        fixed/known/page-aligned address.
10275
102762006-03-10 21:59  gb
10277
10278        * lisp-kernel/x86_print.c: Recognize some x8664 tags.
10279
102802006-03-10 21:59  gb
10281
10282        * lisp-kernel/x86-subprims64.s: Use Rforeign_sp; get valence right
10283        on exit.
10284
102852006-03-10 21:58  gb
10286
10287        * lisp-kernel/x86-spjump64.s: Rename ffcall/syscall.
10288
102892006-03-10 21:58  gb
10290
10291        * lisp-kernel/x86-spentry64.s: Lots of fixes/changes (including
10292        ffcall/syscall).
10293
102942006-03-10 21:56  gb
10295
10296        * lisp-kernel/x86-macros.s: TSP_Alloc_Size is an immediate operand
10297        in TSP_Alloc_Fixed().
10298       
10299        Fix allocptr/allocbase comparison when consing.
10300       
10301        Misc_Alloc_Fixed: m4/gas $ conflation.
10302
103032006-03-10 21:54  gb
10304
10305        * lisp-kernel/x86-exceptions.h: Extra parens around xpGPR
10306        expansion.
10307
103082006-03-10 21:54  gb
10309
10310        * lisp-kernel/x86-exceptions.c: Actually handle something
10311        (uuo_alloc()), since we can't do much without it.
10312
103132006-03-10 21:53  gb
10314
10315        * lisp-kernel/x86-constants64.s: Call the foreign sp register
10316        Rforeign_sp, to avoid m4 lossage.
10317       
10318        nrs starts at #x2020, because NIL is between there and #x2000.
10319
103202006-03-10 21:52  gb
10321
10322        * lisp-kernel/x86-constants64.h: Iallocptr for trap handler.
10323       
10324        tcr was missing foreign_sp definition.
10325
103262006-03-10 21:51  gb
10327
10328        * lisp-kernel/thread_manager.c: get_tcr() change for HAVE_TLS case.
10329
103302006-03-10 21:51  gb
10331
10332        * lisp-kernel/ppc-exceptions.c: Put a sane value in the FPSCR
10333        before calling back to lisp on an exception.
10334
103352006-03-10 21:50  gb
10336
10337        * lisp-kernel/pmcl-kernel.c: Use address of bad_funcall, not
10338        "value".
10339       
10340        Disable EGC on x8664.
10341
103422006-03-10 21:49  gb
10343
10344        * lisp-kernel/lisptypes.h: formatting change only.
10345
103462006-03-10 21:49  gb
10347
10348        * lisp-kernel/lisp_globals.h: Layout of lisp-globals/nrs on x8664
10349        not identical to ppc64 (NIL representation differs.)
10350
103512006-03-10 21:48  gb
10352
10353        * lisp-kernel/lisp-debug.c: Lisp register stuff for x8664.
10354
103552006-03-10 21:48  gb
10356
10357        * lisp-kernel/image.c: Fix some conditionalization.
10358
103592006-03-10 21:47  gb
10360
10361        * lisp-kernel/area.h: Larger IMAGE-BASE-ADDRESS for X8664 Linux.
10362
103632006-03-10 21:46  gb
10364
10365        * library/: linux-syscalls.lisp, syscall.lisp: Try to make things a
10366        little more portable, but really need to keep things in the
10367        target-ftd.  Soon.
10368
103692006-03-10 21:45  gb
10370
10371        * level-0/l0-numbers.lisp: Don't reference
10372        TARGET::LEAST-SIGNIFICANT-BIT in ASH; express limits in terms of
10373        TARGET::NBITS-IN-WORD.
10374
103752006-03-10 21:45  gb
10376
10377        * level-0/l0-misc.lisp: Add some fixnum decls to %GET-CSTRING, so
10378        that single-stepping through it in GDB is faster.
10379
103802006-03-10 21:44  gb
10381
10382        * level-0/l0-io.lisp: %YIELD here, so all level-0 syscalls are in
10383        one file.
10384
103852006-03-10 21:43  gb
10386
10387        * level-0/l0-cfm-support.lisp: We generally want foreign symbol
10388        addresses to be boxed integers on X8664, and can't assume that
10389        they're fixnum-aligned.
10390
103912006-03-10 21:42  gb
10392
10393        * level-0/: l0-array.lisp, l0-init.lisp: Comment indentation.
10394
103952006-03-10 21:41  gb
10396
10397        * lisp-kernel/linuxx8664/.gdbinit: Well, it's a start ...
10398
103992006-03-10 21:41  gb
10400
10401        * level-0/X86/x86-utils.lisp: %KERNEL-IMPORT boxes what may not
10402        have been a fixnum.
10403
104042006-03-10 21:40  gb
10405
10406        * level-0/X86/x86-misc.lisp: Fix typo.
10407       
10408        STORE-NODE-CONDITIONAL pops stack arg, discards stack frame
10409        reserved by caller before jumping into kernel.
10410
104112006-03-10 21:39  gb
10412
10413        * level-0/X86/x86-float.lisp: Missing SET-MXCSR-CONTROL was hidden
10414        in duplicate SET-MSCSR-STATUS.  May want to always set/get the
10415        control and rounding modes.
10416
104172006-03-10 21:37  gb
10418
10419        * level-0/X86/x86-def.lisp: Comment out the missing lexpr/apply
10420        stuff, so that the rest of the file compiles.
10421
104222006-03-10 21:36  gb
10423
10424        * level-0/X86/x86-array.lisp: %INIT-MISC wants/needs to be in LAP
10425        because of write-barrier issues.
10426
104272006-03-10 21:35  gb
10428
10429        * lib/x8664env.lisp: It's OK (in fact necessary) to use FP0 as a
10430        temporary.  0.0 is in FPZERO.
10431
104322006-03-10 21:34  gb
10433
10434        * lib/nfcomp.lisp: Spit out a fasl op while writing CLFUNs.
10435
104362006-03-10 21:33  gb
10437
10438        * level-0/PPC/ppc-float.lisp: Don't CLEAR-FPU-EXCEPTIONS, at least
10439        without knowing why.
10440
104412006-03-10 21:32  gb
10442
10443        * compiler/X86/X8664/x8664-vinsns.lisp: SETcc sets the byte to 1 or
10444        0, so we need to negate.
10445       
10446        Other bug fixes and additions.
10447
104482006-03-10 21:31  gb
10449
10450        * compiler/X86/X8664/x8664-arch.lisp: Fix a typo in
10451        X8664-MISC-BYTE-SIZE.
10452       
10453        Move subprims base up to #x410000, to make it easier on the linker.
10454
104552006-03-10 21:29  gb
10456
10457        * compiler/X86/x862.lisp: Lots-o-fixes; FFI stuff.  When generating
10458        code involving a :REG8 operand, be careful to pass the 8-bit reg
10459        entry to LAP.
10460
104612006-03-10 21:27  gb
10462
10463        * compiler/X86/x86-lapmacros.lisp: X86 CMOV instructions reference
10464        the source operand (possibly generating a memory fault) even if the
10465        destination operand isn't written to.  Who knew ?
10466
104672006-03-10 21:24  gb
10468
10469        * compiler/X86/x86-disassemble.lisp: Recognize newer UUOs.
10470
104712006-03-10 21:24  gb
10472
10473        * compiler/X86/x86-lap.lisp: Use the #x80 bit in an instruction's
10474        REX prefix to indicate when the prefix needs to be emitted (even if
10475        the #x7 bits are clear).
10476
104772006-03-10 21:23  gb
10478
10479        * compiler/X86/x86-asm.lisp: A few UUOs; try to ensure that we'll
10480        generate (at least) a #x40 REX prefix if a new-style byte register
10481        is used as an operand.  (e.g., we generally don't want to refer to
10482        the traditional things like %dh, and do want to refer to the newer
10483        things like %sil.)
10484
104852006-03-10 21:20  gb
10486
10487        * compiler/X86/x86-arch.lisp: rename *X86-NILREG-RELATIVE-SYMBOLS*
10488        -> *X86-NIL-RELATIVE-SYMBOLS*.
10489
104902006-03-10 21:18  gb
10491
10492        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
10493        PPC64/ppc64-vinsns.lisp: %SINGLE-TO-DOUBLE, %DOUBLE-TO-SINGLE, to
10494        avoid consing in some simple cases.
10495
104962006-03-10 21:17  gb
10497
10498        * compiler/PPC/ppc-arch.lisp: Rename *PPC-NILREG-RELATIVE-SYMBOLS*
10499        -> *PPC-NIL-RELATIVE-SYMBOLS* (NIL hasn't been in a register in a
10500        few years.)
10501
105022006-03-10 21:15  gb
10503
10504        * compiler/optimizers.lisp: On 64-bit targets, SINGLE-FLOATs are
10505        EQL iff EQ.
10506       
10507        Try to recognize a few ways of coercing SINGLE-FLOATs to
10508        DOUBLE-FLOATs and vice versa, so that we have some chance of
10509        avoiding consing in some cases.
10510
105112006-03-10 21:13  gb
10512
10513        * compiler/nxenv.lisp: Add %SINGLE-TO-DOUBLE, %DOUBLE-TO-SINGLE.
10514        Replace unused EMBEDDED-CALL with SYSCALL.
10515
105162006-03-10 21:12  gb
10517
10518        * compiler/nx1.lisp: Just use SYSCALL operator to mark x8664
10519        syscalls.
10520
105212006-03-10 21:12  gb
10522
10523        * .cvsignore: Change patterns.
10524
105252006-03-07 06:49  gb
10526
10527        * lisp-kernel/x86-spentry64.s: Assume that fpzero (not fp0)
10528        contains 0.0.
10529       
10530        Get a few more things working, or at least written.
10531
105322006-03-07 06:48  gb
10533
10534        * lisp-kernel/: x86-macros.s, x86-subprims64.s: Assume that fpzero
10535        (not fp0) contains 0.0.
10536
105372006-03-07 06:48  gb
10538
10539        * lisp-kernel/x86-constants64.s: Define fpzero = xmm15.
10540       
10541        Pad the (misnamed) fpscr field in the TCR.
10542
105432006-03-06 06:37  gb
10544
10545        * lib/nfcomp.lisp: Initial, crude support for cross-dumping
10546        "concatenated" lisp functions.
10547
105482006-03-06 06:36  gb
10549
10550        * level-0/l0-numbers.lisp: Fix comment indentation in a function
10551        that the x8664 backend was choking on.
10552
105532006-03-06 06:36  gb
10554
10555        * compiler/X86/X8664/x8664-vinsns.lisp: use fpzero when a zero is
10556        needed,  not fp0.
10557
105582006-03-06 06:35  gb
10559
10560        * compiler/X86/X8664/x8664-arch.lisp: xmm15 is fpzero (contains
10561        0.0[de]0).  (xmm0 is used for ff-call.)
10562
105632006-03-06 06:35  gb
10564
10565        * compiler/X86/x862.lisp: X862-COMPILE: don't reserve quad for null
10566        function name, even if debug info is present.
10567
105682006-03-06 06:34  gb
10569
10570        * compiler/X86/x86-lap.lisp: RELAX-FRAG-LIST: account for (possibly
10571        non-zero) length of :ALIGN frags.  CROSS-CREATE-X86-FUNCTION: don't
10572        emit function name if it's nil, even if debug-info is present.
10573
105742006-03-06 06:30  gb
10575
10576        * compiler/X86/x86-asm.lisp: Add a declaration to suppress compiler
10577        warning on forward reference.
10578
105792006-03-06 03:27  gb
10580
10581        * xdump/xfasload.lisp: Fix parens.
10582
105832006-03-06 02:59  gb
10584
10585        * xdump/xfasload.lisp: Remove many uses of TARGET-ARCH-CASE (thus
10586        removing many uses of ppc/ppc32/ppc64 package symbols.)  Some uses
10587        remain.
10588
105892006-03-06 02:57  gb
10590
10591        * lib/macros.lisp: Define TARGET-ARCH-CASE in terms of CASE, not
10592        ECASE.
10593
105942006-03-05 19:12  gb
10595
10596        * compiler/PPC/PPC64/ppc64-arch.lisp: typecode, lisptag are in ccl
10597        package.
10598
105992006-03-05 19:01  gb
10600
10601        * level-1/version.lisp: Bump; some of this is hard to bootstrap.
10602
106032006-03-05 19:00  gb
10604
10605        * lib/macros.lisp: Move some %kernel-global nonsense here.
10606
106072006-03-05 19:00  gb
10608
10609        * level-1/l1-lisp-threads.lisp: Define macros in ... macros.lisp,
10610        of all places.
10611
106122006-03-05 18:59  gb
10613
10614        * level-0/X86/x86-array.lisp: write some code in lisp
10615        (temporarily), clean up some typos so that the file compiles.
10616
106172006-03-05 18:58  gb
10618
10619        * compiler/: arch.lisp, PPC/PPC32/ppc32-arch.lisp,
10620        PPC/PPC64/ppc64-arch.lisp, X86/X8664/x8664-arch.lisp: More
10621        parameters (mostly for xloader) in target-arch struct.
10622
106232006-03-05 18:52  gb
10624
10625        * xdump/xfasload.lisp: Get target parameters from
10626        (backend-target-arch *target-backend*)).
10627
106282006-03-05 06:17  gb
10629
10630        * xdump/xx8664-fasload.lisp: Closer ...
10631
106322006-03-05 06:17  gb
10633
10634        * xdump/hashenv.lisp: Arch macros for hashing macros.
10635
106362006-03-05 06:16  gb
10637
10638        * level-1/l1-lisp-threads.lisp: Arch macros for kernel globals.
10639
106402006-03-05 06:16  gb
10641
10642        * level-1/l1-readloop-lds.lisp: Check *interrupt-level* value, not
10643        (interrupt-level).
10644
106452006-03-05 06:15  gb
10646
10647        * level-1/l1-clos-boot.lisp: Make *class-table* a global.
10648
106492006-03-05 06:15  gb
10650
10651        * level-0/X86/X8664/x8664-bignum.lisp: use temp2.b (= cl) for
10652        variable shifts.
10653
106542006-03-05 06:14  gb
10655
10656        * level-0/nfasload.lisp: No code-vectors on x8664.
10657
106582006-03-05 06:14  gb
10659
10660        * level-0/l0-numbers.lisp: Conditionalization: 64-bit-target
10661        implies no (need for) destructive single-float ops.
10662
106632006-03-05 06:13  gb
10664
10665        * level-0/l0-misc.lisp: Remove some unused stuff.
10666
106672006-03-05 06:13  gb
10668
10669        * level-0/l0-array.lisp: array-element-type for x8664.
10670
106712006-03-05 06:12  gb
10672
10673        * compiler/X86/X8664/x8664-vinsns.lisp: More stuff.
10674
106752006-03-05 06:12  gb
10676
10677        * compiler/X86/x862.lisp: (Mostly) try to fix fixnum subtraction.
10678
106792006-03-05 06:11  gb
10680
10681        * compiler/X86/x86-lapmacros.lisp: TRAP-UNLESS-FIXNUM,
10682        PUSH-ARGREGS, some syntax fixes.
10683
106842006-03-05 06:10  gb
10685
10686        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
10687        X86/X8664/x8664-arch.lisp: More arch macros.
10688
106892006-03-05 06:10  gb
10690
10691        * compiler/backend.lisp: DECLARE-ARCH-SPECIFIC-MACRO returns macro
10692        name.
10693
106942006-03-05 06:09  gb
10695
10696        * level-0/X86/x86-utils.lisp: Warn for things that don't work yet;
10697        other things compile.
10698
106992006-03-05 06:08  gb
10700
10701        * level-0/X86/: x86-misc.lisp, x86-float.lisp: Compiles.
10702
107032006-03-05 06:08  gb
10704
10705        * level-0/X86/x86-pred.lisp: Fix typos/new syntax.
10706
107072006-03-04 19:13  gb
10708
10709        * lib/nfcomp.lisp: Some conditionalization.
10710
107112006-03-04 19:12  gb
10712
10713        * compiler/X86/X8664/x8664-vinsns.lisp: More stuff.  Need to review
10714        float arithmetic.
10715
107162006-03-04 19:11  gb
10717
10718        * level-0/l0-float.lisp: Comment indentation.
10719
107202006-03-04 19:11  gb
10721
10722        * level-0/X86/x86-utils.lisp: Fix a few typos; needs more work.
10723
107242006-03-04 18:30  gb
10725
10726        * lib/foreign-types.lisp: Can use TARGET-WORD-SIZE-CASE instead of
10727        TARGET-ARCH-CASE.
10728
107292006-03-04 18:29  gb
10730
10731        * lib/macros.lisp: New arch-specific macros. (Still need to do
10732        something about DEFCALLBACK and related functions.)
10733
107342006-03-04 18:29  gb
10735
10736        * lib/number-macros.lisp: New arch-specific macros.
10737
107382006-03-04 18:28  gb
10739
10740        * compiler/X86/x862.lisp: Keep unboxed float constants in the
10741        function (as aligned words following "real" instructions and
10742        preceding boxed constants.)
10743
107442006-03-04 18:26  gb
10745
10746        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
10747        X86/X8664/x8664-arch.lisp: Remove some remaining uses of
10748        TARGET-ARCH-CASE by using arch-specific macro implementations.
10749
107502006-03-04 18:25  gb
10751
10752        * compiler/backend.lisp: Mechanism for arch-specific macros.
10753
107542006-03-04 18:24  gb
10755
10756        * compiler/arch.lisp: New constructor, so that we can keep track of
10757        defined target-archs.  Hash table in each arch structure, for
10758        arch-dependent macros.
10759
107602006-03-03 19:38  gb
10761
10762        * lib/number-macros.lisp: Will need a lot more work.
10763
107642006-03-03 19:38  gb
10765
10766        * lib/systems.lisp: xx8664xfasload.
10767
107682006-03-03 19:38  gb
10769
10770        * lib/compile-ccl.lisp: *x8664-xload-modules*.
10771
107722006-03-03 19:37  gb
10773
10774        * level-0/X86/X8664/.cvsignore: ignore lx64fsl files.
10775
107762006-03-03 19:37  gb
10777
10778        * level-0/X86/x86-def.lisp: extra close paren.
10779
107802006-03-03 19:36  gb
10781
10782        * level-0/X86/x86-float.lisp: package prefix on MXCSR-CONTROL-BYTE.
10783
107842006-03-03 19:36  gb
10785
10786        * level-0/X86/x86-numbers.lisp: Don't call local variable "shift".
10787
107882006-03-03 19:11  gb
10789
10790        * level-0/: .cvsignore, X86/.cvsignore: Ignore lx64fsl files.
10791
107922006-03-03 19:11  gb
10793
10794        * compiler/X86/X8664/x8664-vinsns.lisp: A few more things.
10795
107962006-03-03 19:11  gb
10797
10798        * compiler/X86/x862.lisp: Conserve imm regs more in inc-ptr
10799
108002006-03-03 19:10  gb
10801
10802        * compiler/X86/x86-lapmacros.lisp: Remove (duplicate, bad)
10803        definitions of int-to-double.
10804
108052006-03-03 19:09  gb
10806
10807        * compiler/X86/: x86-asm.lisp, x86-disassemble.lisp: A few more
10808        UUOs.
10809
108102006-03-03 19:09  gb
10811
10812        * compiler/nx1.lisp: Use (old, unused) ff-call operator to mark
10813        x8664 ff-calls.
10814
108152006-03-03 02:09  gb
10816
10817        * compiler/X86/X8664/x8664-vinsns.lisp: fix typo.
10818
108192006-03-03 02:09  gb
10820
10821        * compiler/X86/X8664/x8664-arch.lisp: rcontext is %fs, and (with
10822        that change) tcr-bias is 0.
10823
108242006-03-03 02:08  gb
10825
10826        * xdump/xppcfasload.lisp: move xcompile-level-0, etc, away from
10827        here.
10828
108292006-03-03 02:07  gb
10830
10831        * xdump/xfasload.lisp: move xcompile-level-0, etc, here.
10832
108332006-03-03 02:06  gb
10834
10835        * xdump/xx8664-fasload.lisp: New file; still needs work.
10836
108372006-03-03 01:15  gb
10838
10839        * lisp-kernel/thread_manager.c: Um,function name is
10840        'amd64_set_gsbase'.
10841
108422006-03-03 01:05  gb
10843
10844        * lisp-kernel/: freebsd8664/Makefile, linuxx8664/Makefile: Assert
10845        that we have thread-local storage by passing -DHAVE_TLS.
10846
108472006-03-03 01:04  gb
10848
10849        * lisp-kernel/thread_manager.c: new_tcr sets up extra segment
10850        register if x8664 and HAVE_TLS.
10851
108522006-03-03 01:03  gb
10853
10854        * lisp-kernel/x86-constants64.h: tcr.single_float_convert is a
10855        struct; tag in most significant word.
10856
108572006-03-03 01:03  gb
10858
10859        * lisp-kernel/x86-constants64.s: tcr bias is 0.  rcontext = %gs, at
10860        least for Linux/FreeBSD.
10861
108622006-03-02 23:16  gb
10863
10864        * compiler/arch.lisp: add big-endian field to target-arch.
10865
108662006-03-02 23:16  gb
10867
10868        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Big
10869        endian.
10870
108712006-03-02 23:14  gb
10872
10873        * compiler/X86/: X8664/x8664-vinsns.lisp, x862.lisp: &lexpr stuff,
10874        mostly.
10875
108762006-03-02 23:14  gb
10877
10878        * compiler/X86/X8664/x8664-arch.lisp: We're not big-endian.
10879
108802006-03-02 23:13  gb
10881
10882        * lib/macros.lisp: Comment formatting.
10883
108842006-03-02 23:12  gb
10885
10886        * level-0/: l0-cfm-support.lisp, l0-hash.lisp, l0-init.lisp,
10887        l0-io.lisp, l0-misc.lisp, l0-numbers.lisp, l0-pred.lisp,
10888        l0-symbol.lisp, l0-utils.lisp, nfasload.lisp: Conditionalization
10889        changes.
10890
108912006-03-02 23:11  gb
10892
10893        * lisp-kernel/thread_manager.c: Change thread creation/activation,
10894        so that new_tcr() call happens on the new thread.
10895
108962006-03-02 22:51  gb
10897
10898        * lisp-kernel/Threads.h: Fix new_tcr() prototype.  Why did this
10899        compile in FreeBSD/x86-64 ?
10900
109012006-03-02 22:28  gb
10902
10903        * lisp-kernel/freebsd8664/Makefile: Depend on the linker script.
10904        Use some make variables to make changing/ ignoring that script
10905        easier.
10906
109072006-03-02 22:27  gb
10908
10909        * lisp-kernel/thread_manager.c: Conditionalize some for FreeBSD.
10910
109112006-03-02 22:27  gb
10912
10913        * lisp-kernel/pmcl-kernel.c: FreeBSD can also map (at least) 512GB.
10914       
10915        Not sure how to get real name of executable in FreeBSd, so use
10916        argv[0] for now.
10917       
10918        CPUID instruction returns cache block size in ebx, not eax.
10919
109202006-03-02 22:25  gb
10921
10922        * lisp-kernel/freebsd8664/elf_x86_64.x: Output file wasn't
10923        executable if subprims were mapped to low memory; map them to a
10924        fixed address (0x410000).  Will need to change subprims base in
10925        arch definition, and things (bad_funcall) that may depend on it.
10926
109272006-03-02 19:19  gb
10928
10929        * lisp-kernel/x86-spentry64.s: Try to avoid use of %temp0 (which
10930        may contain next_method_context); use %temp1 instead.
10931
109322006-03-02 19:18  gb
10933
10934        * lisp-kernel/x86-constants64.s: next_method_context is temp0, not
10935        temp1 (according to lisp).
10936
109372006-03-01 12:42  gb
10938
10939        * level-0/nfasload.lisp: One lousy missing #\)!  All this fuss over
10940        one lousy missing #\) !
10941
109422006-03-01 12:39  gb
10943
10944        * xdump/faslenv.lisp: Define $fasl-clfun.
10945
109462006-03-01 12:38  gb
10947
10948        * level-1/ppc-threads-utils.lisp: Rename %FIXNUM-SET-U32 ->
10949        %FIXNUM-SET-NATURAL.
10950
109512006-03-01 12:37  gb
10952
10953        * level-0/X86/x86-def.lisp: Translate most of this, except for the
10954        lexpr stuff.
10955
109562006-03-01 12:37  gb
10957
10958        * level-0/PPC/ppc-def.lisp: Delete a few things that seem to be
10959        totally unused.  Rename %FIXNUM-SET-U32 -> %FIXNUM-SET-NATURAL.
10960
109612006-03-01 12:36  gb
10962
10963        * level-0/nfasload.lisp: $fasl-clfun.
10964
109652006-03-01 12:33  gb
10966
10967        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: %ilogbitp,
10968        inline multiplication.
10969
109702006-03-01 12:32  gb
10971
10972        * compiler/X86/x86-lap.lisp: %define-x86-lap-function: "function
10973        creator" isn't a parameter, so signature matches what the compiler
10974        expects.
10975
109762006-03-01 12:31  gb
10977
10978        * compiler/X86/x86-asm.lisp: Insert register operand correctly in
10979        immeditate bt/btc/btr/bts.  Some imul variants (at least the
10980        64/32/16-bit versions.)
10981
109822006-03-01 12:19  gb
10983
10984        * compiler/nx1.lisp: Don't require SPARC-LAP in nx-x86-lap-function
10985        ...
10986
109872006-02-28 19:46  gb
10988
10989        * compiler/X86/x862.lisp: Always build/ensure that a frame exists
10990        before calling a subprim.  Handle &key, other/harder &optional
10991        cases.
10992       
10993        Todo: &lexpr, %ilogbitp, ??
10994
109952006-02-28 19:44  gb
10996
10997        * compiler/X86/X8664/x8664-vinsns.lisp: &optional defaulting and
10998        supplied-p handling; keywords subprims.
10999
110002006-02-28 19:43  gb
11001
11002        * level-1/l1-reader.lisp: Signal IMPOSSIBLE-NUMBER conditions if
11003        parsing an potential number yields an ARITHMETIC-ERROR.
11004
110052006-02-28 19:43  gb
11006
11007        * level-1/l1-error-system.lisp: Define IMPOSSIBLE-NUMBER as a
11008        subtype of READER-ERROR.
11009
110102006-02-28 19:42  gb
11011
11012        * lib/numbers.lisp: If we'd get overflow or underflow when creating
11013        a float and the corresponding exception is enabled, generate the
11014        appropriate condition rather than CERRORing unconditionally.
11015
110162006-02-28 19:40  gb
11017
11018        * lib/macros.lisp: Use target-word-size-case in %ilogbitp.
11019
110202006-02-28 19:37  gb
11021
11022        * lisp-kernel/x86-spentry64.s: stkconslist, stkconslist_star,
11023        mkstackv, fix in heap_cons_rest_arg, simple_keywords, keyword_args,
11024        keyword_bind, fix in stack_cons_rest_arg, spreadargz, tfuncallgen,
11025        tfuncallslide,tfuncallvsp,tcallsymgen, tcallsymslide, tcallsymvsp,
11026        tcallnfngen, tcallnfnslide, tcallnfnvsp.
11027       
11028        todo: ffcall, syscall, callback, lexprs.
11029
110302006-02-28 19:33  gb
11031
11032        * lisp-kernel/x86-macros.s: compare_reg_to_nil, discard_temp_frame.
11033
110342006-02-28 19:32  gb
11035
11036        * lisp-kernel/x86-constants64.s: function_header_offset,
11037        function_data_offset
11038
110392006-02-28 19:32  gb
11040
11041        * lisp-kernel/x86-constants64.h: TCR flags are a natural.
11042
110432006-02-28 19:31  gb
11044
11045        * lisp-kernel/x86-constants64.h: TCR flags are unsigned.
11046
110472006-02-28 19:31  gb
11048
11049        * lisp-kernel/x86-constants.h: TCR flags.
11050
110512006-02-28 19:31  gb
11052
11053        * lisp-kernel/ppc-spentry.s: Fix comment (have never used temp0 for
11054        closure data).
11055
110562006-02-27 14:14  gb
11057
11058        * compiler/PPC/ppc2.lisp: Hadn't saved the buffer; ppc2-%aset2
11059        changes were incomplete.
11060
110612006-02-26 23:30  gb
11062
11063        * lisp-kernel/pmcl-kernel.c: Suppress compiler warning.
11064
110652006-02-26 22:51  gb
11066
11067        * release-notes.txt: Update.
11068
110692006-02-26 22:51  gb
11070
11071        * level-1/: l1-application.lisp, l1-boot-lds.lisp,
11072        l1-lisp-threads.lisp: Exercise more control over the stack sizes of
11073        listener threads (especially the initial listener.)
11074       
11075        (The --thread-stack-size argument affects the size of the initial
11076        listener's stacks only.)
11077
110782006-02-26 22:49  gb
11079
11080        * lisp-kernel/pmcl-kernel.c: Fix the usage message.
11081
110822006-02-26 21:58  gb
11083
11084        * lisp-kernel/pmcl-kernel.c: Split --stack-size and
11085        --thread-stack-size args, to avoid rlimit problems (and because
11086        they're really separate issues.)
11087
110882006-02-26 21:23  gb
11089
11090        * lib/macros.lisp: Remove (most) support for tracing callbacks.
11091        (Having the functionality isn't a bad idea, but the way that it was
11092        implemented made the code hard to read and maintain.  Maybe redo
11093        this.)
11094
110952006-02-26 21:21  gb
11096
11097        * lisp-kernel/pmcl-kernel.c: Can't reserve 512GB on LinuxPPC64; try
11098        256GB instead.
11099
111002006-02-26 20:59  gb
11101
11102        * level-1/version.lisp: Bump.
11103
111042006-02-26 20:37  gb
11105
11106        * lisp-kernel/: darwinppc/Makefile, darwinppc64/Makefile: Restore
11107        COPT setting, clobbered on last (accidental) checkin.
11108
111092006-02-26 20:35  gb
11110
11111        * lisp-kernel/lisp_globals.h: stack-size global
11112
111132006-02-26 20:35  gb
11114
11115        * lisp-kernel/ppc-asmutils.s: atomic_and
11116
111172006-02-26 20:35  gb
11118
11119        * lisp-kernel/pmcl-kernel.c: more mappable memory on 64-bit
11120        platforms.  Set stack-size global from command line arg
11121
111222006-02-26 20:35  gb
11123
11124        * lisp-kernel/gc.c: check_range() takes a headers_allowed arg (not
11125        allowed on vsp).  Some debugging fprintfs.
11126
111272006-02-26 20:35  gb
11128
11129        * lisp-kernel/: ppc-constants32.h, ppc-constants64.h: tcr flags are
11130        natural
11131
111322006-02-26 20:35  gb
11133
11134        * lisp-kernel/ppc-exceptions.c: fixes in pc_luser_xp. Defer
11135        exceptions if we don't have the lock on Darwin
11136
111372006-02-26 20:35  gb
11138
11139        * lisp-kernel/thread_manager.c: simpler suspend ack, other changes,
11140        heavy, unreadable conditionalization
11141
111422006-02-26 20:35  gb
11143
11144        * lisp-kernel/: plbt.c, plsym.c: bug fixes
11145
111462006-02-26 20:35  gb