source: trunk/ccl/ChangeLog @ 6040

Last change on this file since 6040 was 6040, checked in by gb, 13 years ago
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 708.2 KB
Line 
12007-03-14 23:10  gb
2
3        * lisp-kernel/x86-exceptions.c: Remove a debugging fprintf.
4
52007-03-14 05:11  gb
6
7        * lib/ffi-darwinppc32.lisp: Fix typo (extra quote) in
8        generate-callback-bindings.
9
102007-03-13 06:10  gb
11
12        * lisp-kernel/darwinx8664/Makefile: (re-)enable -O2.
13
142007-03-13 03:58  gb
15
16        * lib/backtrace.lisp: Fix fenceposts in CLOSURE-CLOSED-OVER-VALUES.
17
182007-03-12 05:11  gb
19
20        * lisp-kernel/x86-exceptions.c: Simplify interrupt_handler() a
21        little.
22
232007-03-12 05:10  gb
24
25        * lib/foreign-types.lisp: Fix "extra arguments" error message in
26        %EXTERNAL-CALL-EXPANDER.
27
282007-03-12 05:09  gb
29
30        * level-1/l1-clos-boot.lisp: class-wrapper-random-state: use
31        encapsulation, and a lock.
32
332007-03-12 05:08  gb
34
35        * level-1/: l1-aprims.lisp, l1-numbers.lisp: *RANDOM-STATE* is
36        thread-local.
37
382007-03-12 02:25  gb
39
40        * lisp-kernel/x86-exceptions.c: in catch_exception_raise(), try to
41        deal with variations in Mach behavior: "exception" may be
42        EXC_BAD_ACCESS when an illegal instruction causes a "general
43        protection fault".
44
452007-03-09 15:56  gb
46
47        * level-1/l1-files.lisp: Bill's fix to (MAKE-PATHNAME :DIRECTORY
48        NIL ...)
49
502007-03-09 00:01  gb
51
52        * lib/dumplisp.lisp: Use CLEAR-OPEN-FILE-STREAMS.
53
542007-03-09 00:00  gb
55
56        * lib/ccl-export-syms.lisp: Accessors of open-file-streams; no more
57        *OPEN-FILE-STREAMS*.
58
592007-03-09 00:00  gb
60
61        * level-1/: l1-streams.lisp, l1-sysio.lisp: Encapsulation for
62        open-file-streams.
63
642007-03-08 23:59  gb
65
66        * level-1/l1-readloop.lisp: OPEN-FILE-STREAMS is a function,
67        returns a copy of a list of open file streams in PREPARE-TO-QUIT.
68
692007-03-08 23:58  gb
70
71        * level-1/l1-init.lisp: Lose *OPEN-FILE-STREAMS* and the lock
72        associated with it.
73
742007-03-08 23:57  gb
75
76        * level-1/l1-aprims.lisp: Bind *GENSYM-COUNTER* per-thread.
77
782007-03-08 23:47  gb
79
80        * level-0/l0-hash.lisp: When REMHASH deletes the last entry in a
81        hash-table, it fills the hash-table vector with "free" markers.
82        (There may already be lots of "deleted" markers in the table.)
83
842007-03-08 22:26  gb
85
86        * level-1/linux-files.lisp: *spin-lock-tries* with a trailing *.
87
882007-03-08 22:24  gb
89
90        * lib/numbers.lisp: printing random-state: don't shift seeds.
91
922007-03-08 22:24  gb
93
94        * level-1/l1-numbers.lisp: MAKE-RANDOM-STATE: don't shift.
95
962007-03-08 22:24  gb
97
98        * level-0/X86/x86-numbers.lisp: Do %next-random-seed more portably.
99
1002007-03-08 22:23  gb
101
102        * level-0/PPC/PPC64/ppc64-bignum.lisp: Typo in comment.
103
1042007-03-08 22:23  gb
105
106        * level-0/PPC/ppc-numbers.lisp: Just a 32-bit version of
107        %next-random-pair.
108
1092007-03-08 22:22  gb
110
111        * level-0/l0-numbers.lisp: And, while we're at it: do the
112        next-random-seed permutation in %next-random-pair, which accepts
113        and returns a pair of 16-bit integers.  That's in lap on ppc32 and
114        in lisp on 64-bit platforms.
115
1162007-03-08 22:20  gb
117
118        * level-0/l0-numbers.lisp: Don't shift random seeds.
119
1202007-03-08 03:30  gb
121
122        * level-1/x86-error-signal.lisp: Check for trap opcode >= #x70
123        rather than >= #x80, because of the new way that
124        uuo-error-slot-unbound is encoded.
125
1262007-03-08 03:28  gb
127
128        * compiler/X86/x86-disassemble.lisp: Recognize
129        uuo-error-slot-unbound.
130
1312007-03-08 03:28  gb
132
133        * compiler/X86/x86-asm.lisp: Use (int #x7_) for
134        uuo-error-slot-unbound, since some (int #x8_) traps confuse Mach.
135
1362007-03-07 08:29  gb
137
138        * compiler/PPC/ppc2.lisp: Don't shadow the definition of PPC-DIV2.
139
1402007-03-07 07:45  gb
141
142        * level-1/linux-files.lisp: For #+linux-target, try to use
143        #_sysconf in CPU-COUNT, and fall back to parsing /proc/cpuinfo only
144        if that fails.  (CPU-COUNT is called early in the cold load, before
145        we can make the file-stream necessary to do the parsing.)
146
1472007-03-07 07:33  gb
148
149        * lisp-kernel/: linuxppc/Makefile, linuxppc64/Makefile,
150        linuxx8664/Makefile: Handle new GNU ld "hash-style" linker options.
151
1522007-03-07 07:25  gb
153
154        * lisp-kernel/x86-exceptions.h: Darwin signal return: logior in the
155        el-bizarro syscall mask, pass the magic number 0x1e as a second
156        arg, just in case.
157
1582007-03-07 07:24  gb
159
160        * level-1/l1-sysio.lisp: OPEN, CLOSE lock *OPEN-FILE-STREAMS-LOCK*
161        before accessing *OPEN-FILE-STREAMS*.
162
1632007-03-07 07:23  gb
164
165        * level-1/l1-readloop.lisp: Add comment about
166        *OPEN-FILE-STREAMS-LOCK*.
167
1682007-03-07 07:23  gb
169
170        * level-1/l1-init.lisp: Add *OPEN-FILE-STREAMS-LOCK*.
171
1722007-03-07 07:21  gb
173
174        * lib/nfcomp.lisp: Bind *FCOMP-PREVIOUS-POSITION* in
175        FCOMP-READ-LOOP (e.g., don't just hammer on the static binding.)
176
1772007-03-07 07:05  gb
178
179        * xdump/heap-image.lisp: Bump current image version.
180
1812007-03-07 07:02  gb
182
183        * lisp-kernel/x86-asmutils64.s: Some (currently unused) CPUID
184        "calls" want an argument in ecx.  Set that arg to 0 for now.
185
1862007-03-07 07:01  gb
187
188        * lisp-kernel/thread_manager.c: Use spinlocks to guard updates to
189        "real" locks; those updates can be simplified.
190       
191        lock_recursive_lock: no (ignored) timeout arg.
192
1932007-03-07 06:59  gb
194
195        * lisp-kernel/image.h: Bump current, max abi versions; continue to
196        support the old one.
197
1982007-03-07 06:59  gb
199
200        * lisp-kernel/Threads.h: #include #<sched.h>, for sched_yield()
201        prototype.  Change declaration of LOCK macro: no null timespec
202        required.  RECURSIVE_LOCKs have spinlock fields.
203
2042007-03-07 06:56  gb
205
206        * level-1/version.lisp: bump, indicate work-in-progress development
207        version.
208
2092007-03-07 06:56  gb
210
211        * level-1/linux-files.lisp: Determing *spin-lock-tries* at launch
212        time, based on cpu-count.  YIELD moved here, does #_sched_yield
213        rather than something lower-level.
214
2152007-03-07 06:53  gb
216
217        * level-0/l0-misc.lisp: Locks use spinlocks, try *spin-lock-tries*
218        to obtain them before yielding.
219
2202007-03-07 06:52  gb
221
222        * level-0/l0-io.lisp: Move YIELD elsewhere.
223
2242007-03-07 06:51  gb
225
226        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
227        X86/X8664/x8664-arch.lisp: Add spinlock field to lockptr storage
228        layout.
229
2302007-03-02 05:10  gb
231
232        * level-1/l1-application.lisp: Toplevel function: initial-listener
233        class is 'TTY-LISTENER.
234
2352007-03-02 05:09  gb
236
237        * level-1/l1-lisp-threads.lisp: Print n's value, not n in error
238        message.
239
2402007-03-02 05:09  gb
241
242        * level-1/l1-processes.lisp: New process class: TTY-LISTENER.
243       
244        EXIT-INTERACTIVE-PROCESS: for most processes, just PROCESS-KILL.
245        For TTY-LISTENER, call QUIT.
246
2472007-03-02 05:08  gb
248
249        * level-1/l1-readloop-lds.lisp: Don't call QUIT on EOF, call
250        EXIT-INTERACTIVE-PROCESS instead.
251       
252        Look at *QUIT-ON-EOF* when deciding what to do in response to EOF.
253
2542007-03-02 05:06  gb
255
256        * lib/ccl-export-syms.lisp: Export *quit-on-eof*.
257
2582007-03-02 05:06  gb
259
260        * lib/macros.lisp: WITH-MACPTRS: move initialization/modification
261        of null pointers into body.
262
2632007-03-02 05:05  gb
264
265        * lisp-kernel/x86-exceptions.c: Try to handle two more cases of
266        consus-interruptus.
267
2682007-03-02 05:05  gb
269
270        * compiler/nx0.lisp: (the <type> <constant>) transforms to
271        <constant> if constant is of type <type>.)
272       
273        Do we need an ignore-errors here ? Or does <type> need to be
274        defined ?
275
2762007-03-02 05:03  gb
277
278        * compiler/X86/x862.lisp: Do the / * thing.
279
2802007-03-02 05:02  gb
281
282        * compiler/X86/X8664/x8664-vinsns.lisp: things that do calls need
283        :call attribute.
284
2852007-03-01 04:04  gb
286
287        * lisp-kernel/x86-spentry64.s: binding primitives: set value after
288        new binding frame
289
2902007-02-28 07:04  gb
291
292        * level-0/X86/x86-numbers.lisp: In %fixnum-truncate, use -8(sp)
293        rather than %rbp; trust callback_for_interrupt() to preserve it.
294
2952007-02-28 07:03  gb
296
297        * lisp-kernel/x86-exceptions.c: Try to preserve -8(sp) across
298        callback_for_interrupt().
299
3002007-02-28 05:18  gb
301
302        * lisp-kernel/x86-gc.c: check_node: ignore tiny things (shift
303        counts) that may wind up on the vstack.
304       
305        Since those tiny things might be tagged as headers, walk the vstack
306        with new "headerless" functions that ignore headers.
307
3082007-02-28 05:16  gb
309
310        * lisp-kernel/x86-exceptions.c: In pc_luser_xp: if allocating and
311        before the alloc trap and interrupting, back out of the
312        modification to save_allocptr (and allocptr register) and set
313        *interrupt_displacement.
314
3152007-02-23 10:13  gb
316
317        * lib/foreign-types.lisp: Changes to GUESS-ALIGNMENT.  Again, this
318        only makes sense for cases where we have to guess; a bitfield
319        that's 8 bits wide still has an alignment of 1.
320       
321        Factor in the alignment of the containing int when bitfields are
322        involved.
323       
324        When parsing a record type, set the "bits" slot of each field.
325        (Not too many things look at that slot, but we want the effect of
326        loading a record from the database to match the effect of parsing a
327        definition as exactly as possible, and to be able to use EQUALP to
328        compare the results.)
329
3302007-02-23 10:06  gb
331
332        * lib/db-io.lisp: Some extra fields in
333        objc-message-info/objc-method-info structures.
334       
335        When calculating overall alignment of a structure, treat bitfields
336        as if they were :unsigned-int (since there's a "containing"
337        unsigned int that affects alignment.  N.B: this should be imposed
338        for anything that has an alignment of 1, not just a size of 1.)
339       
340        When loading integer types, try to use the precomputed types rather
341        than consing a new one.  This (a) reduces consing a little (b) is
342        more likely to get the alignment correct.  For (b), we really need
343        to distinguish between bitfields and addressable integers.
344
3452007-02-23 09:30  gb
346
347        * compiler/X86/x862.lisp: Nonsense in x862-set-bit.
348
3492007-02-22 02:33  gb
350
351        * level-0/l0-misc.lisp: Tweak ROOM output a little.
352
3532007-02-22 02:28  gb
354
355        * lisp-kernel/x86-gc.c: Fix up the verbose GC herald a bit (get
356        heap size right ...).
357
3582007-02-22 02:27  gb
359
360        * lisp-kernel/linuxx8664/Makefile: Tell GNU ld to use the
361        traditional (sysv) style of hash maps, if it understands that
362        option.
363
3642007-02-21 06:01  gb
365
366        * lisp-kernel/: ppc-gc.c, x86-gc.c: Handle the case where nothing
367        has been consed since last GC.  (There are some fenceposts there.)
368       
369        verbose GC herald tries to indicate how much is allocated in the
370        area being GCed.
371
3722007-02-21 05:58  gb
373
374        * lisp-kernel/: ppc-exceptions.c, x86-exceptions.c: If full GC is
375        deferred, ensure that a full GC happens after WITHOUT-GCING exits.
376
3772007-02-21 05:57  gb
378
379        * compiler/X86/x86-disassemble.lisp: Continue disassembly after
380        uuo-gc-trap.
381
3822007-02-19 04:50  gb
383
384        * lib/foreign-types.lisp: Use keywords more consistently.
385       
386        (Note: there seems to be a bug which is keeping the cdb data
387        structures from getting defined correctly at load time; the
388        workaround is to compile foreign-types.lisp - which defines them -
389        in the same session as and before db-io - which uses them - is
390        compiled.)
391
3922007-02-19 04:48  gb
393
394        * level-0/X86/x86-clos.lisp: UNSET-FIN-TRAMPOLINE: don't tail-call
395        error.
396
3972007-02-19 04:42  gb
398
399        * level-0/PPC/ppc-clos.lisp: UNSET-FIN-TRAMPOLINE: don't tail-call
400        the error function.
401
4022007-02-19 04:40  gb
403
404        * level-1/l1-clos-boot.lisp: MAYBE-UPDATE-OBSOLETE-INSTANCE: handle
405        funcallable objects that aren't STANDARD-GENERIC-FUNCTIONs.
406
4072007-02-19 04:40  gb
408
409        * level-1/l1-clos.lisp: Move GENERIC-FUNCTION-NAME to
410        FUNCALLABLE-STANDARD-OBJECT.
411       
412        %ALLOCATE-GF-INSTANCE: don't create a dispatch table if not
413        creating a GF.
414
4152007-02-19 04:36  gb
416
417        * lib/describe.lisp: STANDARD-OBJECT-LINE-N: handle
418        funcallable-stanard-objects better.
419
4202007-02-19 04:34  gb
421
422        * lib/ccl-export-syms.lisp: Export FUNCALLABLE-STANDARD-OBJECT from
423        CCL, OPENMCL-MOP.
424
4252007-02-19 02:09  gb
426
427        * level-1/l1-clos-boot.lisp: FUNCALLABLE-STANDARD-OBJECT is a
428        FUNCALLABLE-STANDARD-CLASS.
429
4302007-02-19 02:07  gb
431
432        * examples/bridge.lisp: MAKE-OPTIMIZED-SEND: missing "msg" arg in
433        error message.
434
4352007-02-15 02:46  gb
436
437        * examples/objc-support.lisp: Call REGISTER-OBJC-INIT-MESSAGES
438        after MAP-OBJC-CLASSES in LOAD-OBJC-EXTENSION-FRAMEWORK.
439
4402007-02-15 02:45  gb
441
442        * examples/bridge.lisp: UPDATE-OBJC-METHOD-INFO: don't process init
443        methods yet.
444
4452007-02-14 02:39  gb
446
447        * release-notes.txt: Fix a typo.
448
4492007-02-14 02:35  gb
450
451        * release-notes.txt: Update for 070214 snapshots.
452
4532007-02-13 23:36  gb
454
455        * level-1/version.lisp: Bump.
456
4572007-02-13 23:36  gb
458
459        * lisp-kernel/image.h, xdump/heap-image.lisp: Update
460        image-abi-version.
461
4622007-02-13 23:29  gb
463
464        * xdump/faslenv.lisp: Finish bumping fasl version.
465
4662007-02-13 23:15  gb
467
468        * lib/nfcomp.lisp: Bump current fasl version.
469
4702007-02-13 23:02  gb
471
472        * x86-headers64/gl/C/populate.sh: rm -rf ./usr
473
4742007-02-13 22:45  gb
475
476        * xdump/faslenv.lisp: Start bumping fasl-version.
477
4782007-02-13 22:41  gb
479
480        * freebsd-headers64/: gmp/C/populate.sh, gnome2/C/populate.sh,
481        gtk2/C/populate.sh, libc/C/populate.sh: rm -rf  ./usr
482
4832007-02-13 21:16  gb
484
485        * freebsd-headers64/gl/C/populate.sh: Avoid processing some files
486        that contain incompatible definitions of some math library stuff
487        ("log" either has to do with logarithms or logging ...).
488
4892007-02-13 18:42  gb
490
491        * lib/misc.lisp: Change the way that TIME is reported by default:
492        mention the number of available CPU cores, don't assume that
493        there's that much of a relationship between CPU time and wall-clock
494        time.
495
4962007-02-13 18:41  gb
497
498        * level-1/linux-files.lisp: Don't do whatever el-bizarro Mach thing
499        once seemed to be necessary in %%RUSAGE.  Require syscall stuff
500        when :execute, too.
501
5022007-02-13 18:35  gb
503
504        * lib/ffi-linuxppc64.lisp: It's %%get-unsigned-longlong, and the
505        offset arg is required.
506
5072007-02-13 18:12  gb
508
509        * level-0/X86/x86-misc.lisp: Add rdtsc (returns 60 bit non-negative
510        fixnum) and rdtsc64 (returns 64-bit non-negative integer.)
511
5122007-02-13 18:10  gb
513
514        * lib/time.lisp: Simpler GET-INTERNAL-RUN-TIME (tries harder not to
515        cons.)
516
5172007-02-13 18:10  gb
518
519        * examples/rubix/rubix.lisp: A little bit of cgfloat stuff; there
520        are more/other float-size issues deeper down in the code.
521
5222007-02-13 18:09  gb
523
524        * examples/objc-support.lisp: Fixup the x86-64 error-return
525        callback trampiline code (was missing a byte of machine code.)
526
5272007-02-13 18:08  gb
528
529        * examples/objc-runtime.lisp: Set the mxcsr/fpctrl fields of
530        jmp-buf to safe/sane values.
531
5322007-02-13 18:07  gb
533
534        * examples/cocoa-window.lisp: Don't change-class
535        *cocoa-event-process* until we start to run the event loop.
536       
537        Don't do _deallocHardCore: explicitly.
538
5392007-02-13 17:35  gb
540
541        * compiler/PPC/ppc2.lisp: poweropen-foreign-args: on ppc64, a
542        DOUBLE-FLOAT aliases just one gpr.
543
5442007-02-13 17:34  gb
545
546        * darwin-headers64/libc/C/populate.sh: Select the SDK directory.
547
5482007-02-13 17:34  gb
549
550        * library/pty.lisp: return-value pointers in OPEN-PTY-PAIR are just
551        32-bit ints, not "long".
552
5532007-02-13 17:33  gb
554
555        * lib/ffi-darwinppc64.lisp: Callback arguments: update offset/delta
556        for each scalar, not each arg.
557       
558        Fix some backquoting/indentation.
559
5602007-02-13 17:31  gb
561
562        * lib/ffi-darwinppc32.lisp: Fix typo (^get-signed-long).
563
5642007-02-12 16:23  gb
565
566        * darwin-x86-headers64/libc/C/populate.sh: Select an SDK.
567
5682007-02-11 20:22  gb
569
570        * examples/bridge.lisp: method-typestring needs to be
571        conditionalized.  How has this been working ?
572
5732007-02-11 20:22  gb
574
575        * examples/cocoa-editor.lisp: remove some debugging code.
576
5772007-02-11 20:21  gb
578
579        * examples/objc-runtime.lisp: %mlist-containing is
580        #-apple-objc-2.0.
581
5822007-02-11 20:21  gb
583
584        * examples/objc-support.lisp: Lose a quote mark, fix another typo.
585
5862007-02-11 05:35  gb
587
588        * level-1/version.lisp: Bump.
589
5902007-02-11 05:28  gb
591
592        * darwin-headers/: addressbook/C/populate.sh, carbon/C/populate.sh,
593        cocoa/C/populate.sh, gl/C/populate.sh, libc/C/populate.sh,
594        quicktime/C/populate.sh, webkit/C/populate.sh: Make the SDK prefix
595        an optional argument; default to the Tiger SDK.
596
5972007-02-11 05:26  gb
598
599        * lib/ffi-darwinppc32.lisp: Ignore errors; it's an error to ignore
600        an errror.
601
6022007-02-11 05:26  gb
603
604        * level-1/ppc-trap-support.lisp: Conditionalize for gratuitous
605        Leopard renaming.  Suffer.
606
6072007-02-11 05:25  gb
608
609        * level-1/l1-boot-lds.lisp: MAKE-MCL-LISTENER-PROCESS will preset
610        an existing process (so that the listener process appears to be
611        "persistent".)
612
6132007-02-11 05:24  gb
614
615        * level-1/l1-application.lisp: LISP-DEVELOPMENT-SYSTEM tries to
616        make the initial-listener object persistent acrosss
617        SAVE-APPLICATION.
618
6192007-02-11 00:01  gb
620
621        * examples/objc-support.lisp: Deftype for CF-FLOAT.
622       
623        Handle callback-error-returns on x86-64.
624
6252007-02-11 00:00  gb
626
627        * examples/objc-runtime.lisp: Pointer comparisons in splay trees
628        use %ptr<, to hide word-size differences.
629       
630        __NSConstantStringClassReference isn't what it used to be, so look
631        up NSConstantStringClass the hard way.
632       
633        Handle ns-exception/lisp-error stuff on x86-64.
634       
635        Do arg/result coercions differently.  Does any code depend on
636        COERCE-TO-ADDRESS behavior ?  (It can cause extra consing of
637        MACPTRs).
638       
639        Use the new FFI interface for message-sends, callbacks to try to
640        hide platform-specific ABI issues.
641       
642        The _deallocate-hook mechanism - which never really worked -
643        probably can't work on Objc-2.0.
644
6452007-02-10 23:54  gb
646
647        * examples/bridge.lisp: Make structure return-type explicit in
648        objc-message-send calls in send/stret and variants.
649
6502007-02-10 22:34  gb
651
652        * examples/cocoa-window.lisp: Some indentation changes and slight
653        reorganization of the code; shouldn't be any functional/semantic
654        changes.
655
6562007-02-10 22:30  gb
657
658        * examples/: cocoa-editor.lisp, cocoa-prefs.lisp,
659        cocoa-typeout.lisp: Need to ensure that floats are CG-FLOATs when
660        appropriate; other changes for 64-bit platforms, Objc-2.0.
661
6622007-02-10 22:28  gb
663
664        * examples/: webkit.lisp, tiny.lisp: Need to ensure that floats are
665        CG-FLOATs when appropriate.
666
6672007-02-10 22:28  gb
668
669        * hemlock/bin/openmcl/.cvsignore: Ignore fasls for all platforms.
670
6712007-02-10 22:28  gb
672
673        * level-0/X86/x86-misc.lisp: VALUES uses :ARGLIST pseudo-op.
674
6752007-02-10 22:27  gb
676
677        * lib/: ffi-linuxppc64.lisp, ffi-darwinppc32.lisp,
678        ffi-darwinppc64.lisp, ffi-linuxppc32.lisp: EXPAND-FF-CALL:
679        ignore-errors when trying to parse the last arglist form as a
680        foreign type.
681
6822007-02-10 22:26  gb
683
684        * lib/foreign-types.lisp: Pretty much commited to the new FF-CALL
685        expansion ...
686
6872007-02-10 22:26  gb
688
689        * lisp-kernel/x86-spentry64.s: Preserve %rax when doing ff-call;
690        use %rdx and %r11 to hold target address.
691
6922007-02-10 22:23  gb
693
694        * library/pty.lisp: Unicode stuff when accessing control char
695        array; conditionalize for #+darwin-target, not just
696        #+darwinppc-target.
697
6982007-02-10 22:22  gb
699
700        * level-1/l1-callbacks.lisp: Fix a comment (defcallback isn't
701        ppc-specific; the comment dated from the days of 68K MCL.)
702
7032007-02-10 22:21  gb
704
705        * compiler/X86/X8664/x8664-backend.lisp: Fix some typos; do struct
706        return 32 bits at a time, to avoid consing little bignums.
707
7082007-02-10 22:15  gb
709
710        * compiler/X86/x86-lap.lisp: Support :arglist directive.
711
7122007-02-10 22:15  gb
713
714        * compiler/X86/x862.lisp: alloc-c-frame vinsn takes "extra" word
715        count, not total byte count.
716       
717        Fix handling of $undo-x86-c-frame in x862-nlexit.  (Need to check
718        the PPC case, as well.)
719
7202007-02-10 22:11  gb
721
722        * compiler/X86/X8664/x8664-vinsns.lisp: There doesn't need to be a
723        "zero-extend-s8" vinsn, but there does need to be a
724        "zero-extend-u8".
725
7262007-02-10 05:38  gb
727
728        * level-0/PPC/ppc-misc.lisp: Use new :ARGLIST directive in
729        #'VALUES.
730
7312007-02-10 05:38  gb
732
733        * compiler/PPC/ppc-lap.lisp: Support an :ARGLIST directive, so that
734        ARGLIST can say -something- about lap functions that don't take a
735        fixed number of arguments.
736
7372007-02-07 02:54  gb
738
739        * compiler/X86/X8664/x8664-backend.lisp: They spell "valu" with an
740        "e".
741
7422007-02-02 02:32  gb
743
744        * examples/: bridge.lisp, objc-clos.lisp, objc-runtime.lisp,
745        objc-support.lisp: Start to integrate with FFI changes.  No more
746        %SEND, process and precompile "init" messages when interfaces are
747        accessed.  (Note: should try to handle varargs init messages, even
748        if we have to call %FF-CALL at runtime.)
749
7502007-02-02 02:31  gb
751
752        * examples/: addressbook.lisp, webkit.lisp: Change the
753        initialization code a bit.
754
7552007-02-02 02:27  gb
756
757        * lib/foreign-types.lisp: Try to fix another case involving
758        "auxiliary types".
759       
760        I think that the concept of auxiliary types might make sense in a
761        context like:
762       
763        (def-foreign-type nil   (:struct :foo     (:a :int)     (:b
764        (:struct :bar (:x :int) (:y :int)))))
765       
766        In that case, :struct :bar is local to the definition.  In the
767        similar case:
768       
769        (def-foreign-type nil   (:struct :foo     (:a :int)     (:b
770        (:struct :bar))))
771       
772        :BAR is presumably defined (globally) elsewhere.
773
7742007-02-02 02:17  gb
775
776        * darwin-headers/addressbook/C/populate.sh: Specify the SDK to use.
777         (Setting "SDK=" will hopefully work with older version of xcode.)
778
7792007-02-02 02:15  gb
780
781        * darwin-headers/addressbook/C/.cvsignore: Ignore ./Developer.
782
7832007-01-31 23:26  gb
784
785        * compiler/PPC/ppc2.lisp: Don't treat :registers arg as a real
786        argument in ppc2-poweropen-foreign-args.
787
7882007-01-31 22:47  gb
789
790        * lib/ffi-darwinppc64.lisp: Needed ,@ to return assign structure
791        components from registers.
792
7932007-01-31 22:45  gb
794
795        * lib/db-io.lisp: UNESCAPE-FOREIGN-NAME: strings with no angle
796        brackets are returned verbatim, not downcased.
797
7982007-01-31 22:44  gb
799
800        * level-0/PPC/ppc-def.lisp: Runtime version of 64-bit %ff-call
801        accepts :registers.
802
8032007-01-31 16:36  gb
804
805        * darwin-headers64/chud/: .cvsignore, C/.cvsignore, C/populate.sh:
806        New (and, so far, useless) files.
807
8082007-01-31 16:35  gb
809
810        * library/chud-metering.lisp: Add a comment; CHUD.Framework still
811        seems to be 32-bit only.
812
8132007-01-31 16:34  gb
814
815        * darwin-headers64/libc/C/.cvsignore: Ignore ./Developer.
816
8172007-01-31 16:34  gb
818
819        * darwin-headers64/libc/C/populate.sh: Use SDK; add dlfcn.h.
820
8212007-01-31 16:33  gb
822
823        * lib/db-io.lisp: Tweak the warning given if CDB-OPEN fails:
824        missing cdb file: dog bytes man; missing parent directory is more
825        newsworthy.
826
8272007-01-31 15:38  gb
828
829        * library/chud-metering.lisp: Tweak a little, so that it might work
830        on darwinppc64 (and on darwinx8664 when purify does something
831        there.)
832
8332007-01-31 15:06  gb
834
835        * darwin-headers/libc/C/populate.sh: Add dlfcn.h.
836
8372007-01-31 02:49  gb
838
839        * level-0/PPC/PPC32/ppc32-bignum.lisp: BIGNUM-NEGATE-TO-PTR.
840
8412007-01-30 22:53  gb
842
843        * freebsd-headers64/: gtk2/C/.cvsignore, gtk2/C/populate.sh,
844        gl/C/.cvsignore, gl/C/populate.sh, gnome2/.cvsignore,
845        gnome2/C/.cvsignore, gnome2/C/populate.sh, gtk2/.cvsignore,
846        gl/.cvsignore: new files.
847
8482007-01-30 22:21  gb
849
850        * freebsd-headers64/gmp/: C/.cvsignore, C/populate.sh, .cvsignore:
851        new files.
852
8532007-01-30 21:58  gb
854
855        * level-0/l0-bignum64.lisp: BIGNUM-NEGATE-TO-POINTER.
856
8572007-01-30 21:58  gb
858
859        * x86-headers64/gmp/: .cvsignore, C/.cvsignore, C/populate.sh: new
860        file
861
8622007-01-30 21:49  gb
863
864        * level-1/l1-sockets.lisp: Learn to conditionalize! It's easy and
865        fun!
866
8672007-01-30 21:40  gb
868
869        * library/openmcl-gtk-support.lisp: Conditionalize out the
870        event-polling task.
871
8722007-01-30 21:36  gb
873
874        * headers64/: gl/.cvsignore, gl/C/.cvsignore, gl/C/populate.sh,
875        gnome2/.cvsignore, gnome2/C/.cvsignore, gnome2/C/populate.sh,
876        gtk2/.cvsignore, gtk2/C/.cvsignore, gtk2/C/populate.sh: new file
877
8782007-01-30 21:35  gb
879
880        * headers/gl/C/populate.sh: process glu.h
881
8822007-01-30 17:47  gb
883
884        * library/parse-ffi.lisp: Always encode explicit structure-typed
885        function return values.
886       
887        Note when we see one, for now.
888
8892007-01-30 17:45  gb
890
891        * lib/foreign-types.lisp: %EXTERNAL-CALL-EXPANDER allows/requires a
892        leading argument to be paired with a structure-typed return-type.
893
8942007-01-30 17:43  gb
895
896        * lib/ffi-linuxppc32.lisp: linuxppc32 always returns structures via
897        the first-arg hack.
898
8992007-01-30 17:42  gb
900
901        * lib/db-io.lisp: Bump *interface-abi-version*, but continue to
902        support the old version.
903       
904        Don't check the :struct-by-value flag when encoding function
905        args/results.  (That decision's made above our pay grade now.)
906       
907        When reading a :struct/:union definition, try to update an existing
908        defintion rather than consing up a new one (this matters if the
909        record is anonymous.)
910
9112007-01-30 17:39  gb
912
913        * level-1/l1-sockets.lisp: Try to ensure that the :FORMAT argument
914        gets passed to MAKE-TCP-STREAM-SOCKET and MAKE-FILE-STREAM-SOCKET
915        correctly.
916       
917        Fix c_socket for #+linuxppc.
918
9192007-01-30 08:20  gb
920
921        * level-1/version.lisp: Bump.
922
9232007-01-30 08:20  gb
924
925        * lib/compile-ccl.lisp: Use make -j to build kernel.
926
9272007-01-30 07:02  gb
928
929        * lisp-kernel/x86-spentry64.s: .SPcallback returns rax/rdx,
930        xmm0/xmm1.
931
9322007-01-30 07:01  gb
933
934        * lib/macros.lisp: Use new callback interface unconditionally.  (A
935        day's work turned into 2 weeks, somehow.)
936
9372007-01-30 07:00  gb
938
939        * compiler/X86/X8664/x8664-backend.lisp, lib/ffi-darwinx8664.lisp,
940        lib/ffi-freebsdx8664.lisp, lib/ffi-linuxx8664.lisp: New callback
941        stuff for x8664 (all platfroms appear to use the same ABI.)
942
9432007-01-30 03:26  gb
944
945        * level-0/X86/x86-misc.lisp: Don't use boxed "disp" for
946        displacement in %ATOMIC-INCF-NODE.
947
9482007-01-29 07:27  gb
949
950        * lib/macros.lisp: Enable new callback stuff on #+ppc-target.
951
9522007-01-29 07:27  gb
953
954        * lib/ffi-darwinppc64.lisp: new callback stuff.
955
9562007-01-29 07:27  gb
957
958        * lib/ffi-darwinppc32.lisp: typos-r-us.
959
9602007-01-29 04:37  gb
961
962        * lib/ffi-darwinppc32.lisp: Flesh out darwinppc32 callback stuff.
963
9642007-01-29 04:37  gb
965
966        * lib/ffi-linuxppc64.lisp: Fix some typos/bugs; more likely remain.
967
9682007-01-29 04:36  gb
969
970        * lib/foreign-types.lisp: REQUIRE-FOREIGN-TYPE-BITS.
971
9722007-01-29 04:36  gb
973
974        * lib/macros.lisp: Use new callback scheme for darwinppc32, too.
975
9762007-01-29 04:36  gb
977
978        * compiler/PPC/PPC32/ppc32-backend.lisp: No more (old) callback
979        stuff here.
980
9812007-01-29 02:33  gb
982
983        * lib/ffi-darwinppc32.lisp: Flesh out the new callback stuff.
984
9852007-01-28 21:47  gb
986
987        * lib/: ffi-linuxppc32.lisp, ffi-linuxppc64.lisp: Flesh things out
988        a bit more, change the API, get things working ... still a moving
989        target.
990
9912007-01-28 21:46  gb
992
993        * lib/macros.lisp: For linuxppc, use the new callback mechanism.
994        (Other platforms still need more bootstrapping.)
995
9962007-01-28 21:44  gb
997
998        * compiler/PPC/PPC32/ppc32-backend.lisp: Lose the old eabi-callback
999        stuff; linuxppc 32/64-bit callbacks now use the new scheme.
1000
10012007-01-28 03:21  gb
1002
1003        * lib/ffi-linuxppc32.lisp: Remove some typos.  Need to pass
1004        dynamic-extent, other decls separately.
1005
10062007-01-28 03:20  gb
1007
1008        * compiler/PPC/PPC32/ppc32-backend.lisp: Fix some of this stuff;
1009        use the new (ftd-based) scheme.
1010
10112007-01-28 01:43  gb
1012
1013        * compiler/PPC/PPC64/ppc64-backend.lisp: Fix some typos.  (This
1014        code's getting replaced, but fix 'em anyway.)
1015
10162007-01-28 01:42  gb
1017
1018        * lib/db-io.lisp: If a .cdb file can't be opened, show the
1019        translated pathname and mention the fact that this might indicate a
1020        problem with "ccl:"'s logical translations.
1021
10222007-01-25 04:37  gb
1023
1024        * lib/foreign-types.lisp: Never fully understood the concept
1025        "auxiliary" foreign types, but try to canonicalize intermediate
1026        struct/union/enum references, so that (EQ (PARSE-FOREIGN-TYPE
1027        '(:STRUCT :FOO))     (PARSE-FOREIGN-TYPE '(:STRUCT :FOO))) is more
1028        likely to return T (e.g., something registered in the FTD.
1029       
1030        It seems clear that this is the right thing when the structure
1031        reference is in global scope; I'm not sure what it'd mean for that
1032        not to be the case.
1033
10342007-01-25 04:32  gb
1035
1036        * lib/ffi-linuxppc32.lisp: More plausible callback-bindings
1037        callback.
1038
10392007-01-24 23:41  gb
1040
1041        * lib/ffi-linuxppc32.lisp: First cut at callback-bindings thing;
1042        may not even compile.
1043
10442007-01-24 02:39  gb
1045
1046        * compiler/: PPC/PPC32/ppc32-backend.lisp,
1047        PPC/PPC64/ppc64-backend.lisp, X86/X8664/x8664-backend.lisp: Stubs
1048        for new FTD functions.
1049
10502007-01-24 02:28  gb
1051
1052        * lib/foreign-types.lisp: A few more fields (for callbacks) in ftd
1053        defstruct.
1054
10552007-01-23 15:28  gb
1056
1057        * compiler/PPC/: PPC32/ppc32-backend.lisp,
1058        PPC64/ppc64-backend.lisp: Get FPRs from where subprim saved them.
1059        Return FPRs in the same place.  (Will need to re-work all of this
1060        for platform-dependent structure stuff.)
1061
10622007-01-23 15:26  gb
1063
1064        * lisp-kernel/ppc-spentry.s: poweropen-callback, callbackX; save fp
1065        args here.  Return all (arg) GPRs and FPRs (needs cooperation from
1066        the lisp side.)
1067
10682007-01-23 15:21  gb
1069
1070        * lisp-kernel/: ppc-constants32.s, ppc-constants64.s: Add room in
1071        c_reg_save for saved fp args (f1-f13).
1072
10732007-01-23 15:14  gb
1074
1075        * lib/foreign-types.lisp: FF-CALL implemented in terms of the new
1076        ftd hook.
1077
10782007-01-23 07:19  gb
1079
1080        * level-1/l1-clos-boot.lisp: ppc32, ppc64 also had trouble with
1081        (CLASS-OF non-simple-string).
1082
10832007-01-23 07:02  gb
1084
1085        * level-1/l1-clos-boot.lisp: x8664 class-of: typo in non-simple
1086        array case, needed new string definition.
1087
10882007-01-23 07:01  gb
1089
1090        * lib/: ffi-darwinx8664.lisp, ffi-freebsdx8664.lisp,
1091        ffi-linuxx8664.lisp: Define ffi stuff in terms of common things in
1092        compiler/X86/X8664/x8664-backend.
1093
10942007-01-23 06:59  gb
1095
1096        * compiler/X86/X8664/x8664-backend.lisp: Define (common) x8664 ffi
1097        stuff here.
1098
10992007-01-21 08:32  gb
1100
1101        * compiler/X86/x862.lisp: Name vinsn ff-call-return-registers (not
1102        "-returning-").
1103       
1104        Typecheck the :registers arg.
1105
11062007-01-21 08:32  gb
1107
1108        * compiler/X86/X8664/x8664-vinsns.lisp: ff-call-return-registers.
1109
11102007-01-21 08:31  gb
1111
1112        * compiler/X86/X8664/x8664-arch.lisp: WITH-FFCALL-RESULTS: zero the
1113        stack-block.
1114
11152007-01-21 08:31  gb
1116
1117        * lisp-kernel/x86-spentry64.s: Don't use save3 in
1118        .SPffcall_return_registers (save3 = r11); use save2 (= r13)
1119        instead.
1120
11212007-01-21 06:46  gb
1122
1123        * compiler/PPC/PPC64/ppc64-arch.lisp: WITH-FFCALL-RESULTS needs
1124        space for 13 float registers, not 31.
1125
11262007-01-21 06:45  gb
1127
1128        * compiler/X86/X8664/x8664-arch.lisp: WITH-FFCALL-RESULTS for
1129        x86-64.
1130
11312007-01-21 06:38  gb
1132
1133        * compiler/X86/x862.lisp: ff-call: handle n-word struct-by-value,
1134        register return without typos.
1135
11362007-01-21 06:15  gb
1137
1138        * compiler/X86/x862.lisp: ff-call: handle n-word struct-by-value,
1139        register return.
1140
11412007-01-21 06:14  gb
1142
1143        * compiler/nx1.lisp: Don't assume that passing a structure by value
1144        in N words is Darwin-specific.  (LinuxPPC32 is probably the only
1145        platform that doesn't support the convention.)
1146
11472007-01-21 06:12  gb
1148
1149        * compiler/X86/X8664/x8664-arch.lisp: .SPffcall-return-registers
1150        replaces .SPunused-4.
1151
11522007-01-21 06:10  gb
1153
1154        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s:
1155        .SPffcall_return_registers (just returns %rax/rdx, %xmm0/%xmm1).
1156        (replaces .SPunused_4).
1157
11582007-01-21 00:05  gb
1159
1160        * lib/: ffi-linuxppc32.lisp, ffi-linuxppc64.lisp: Use
1161        argument/result coercion functions in os::expand-ff-call.
1162
11632007-01-20 23:53  gb
1164
1165        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp: Coerce arg,
1166        results when expanding an ff-call.
1167
11682007-01-20 23:52  gb
1169
1170        * lib/foreign-types.lisp: Default (no-op) functions for coercing
1171        foreign args, results.
1172
11732007-01-20 22:31  gb
1174
1175        * lib/ffi-linuxppc64.lisp: 4 down.  Whether 2 or 3 to go depends on
1176        your perspective (and on how close x86-64 Linux and x86-64 FreeBSD
1177        are to each other.  I'd guess that they're pretty close, and that
1178        x86-64 Darwin is random.)
1179
11802007-01-20 21:55  gb
1181
1182        * lib/ffi-linuxppc32.lisp: Pretty simple.  3 down, 4 to go.
1183
11842007-01-20 19:34  gb
1185
1186        * compiler/X86/X8664/x8664-backend.lisp: Package prefixes.  D'oh!
1187
11882007-01-20 19:25  gb
1189
1190        * compiler/X86/X8664/x8664-backend.lisp: Add references to the
1191        right os::ff-call-expander.
1192
11932007-01-20 19:24  gb
1194
1195        * compiler/PPC/PPC64/ppc64-arch.lisp: Remove some wip code.
1196
11972007-01-20 19:24  gb
1198
1199        * compiler/PPC/: PPC32/ppc32-backend.lisp,
1200        PPC64/ppc64-backend.lisp: Use os::expand-ff-call, for each value of
1201        OS.
1202
12032007-01-20 19:23  gb
1204
1205        * level-1/l1-sockets.lisp: Saw an opportunity to use PAREF;
1206        probably several more.
1207
12082007-01-20 19:22  gb
1209
1210        * lib/ffi-darwinppc64.lisp: Two down, 5 to go.
1211
12122007-01-20 19:21  gb
1213
1214        * lib/ffi-darwinppc32.lisp: Looks mostly right; might need to be
1215        extended to handle coercions at the Cocoa level, and probably needs
1216        some cooperation from %EXTERNAL-CALL-EXPANDER (e.g., what's
1217        installed by #_).
1218
12192007-01-20 19:18  gb
1220
1221        * lib/db-io.lisp: Encode, decode union types in arglists.
1222
12232007-01-20 19:17  gb
1224
1225        * lib/foreign-types.lisp: ftd's :ff-call-expand-function is
1226        os::expand-ff-call.
1227       
1228        Canonicalize the :void type a bit better.
1229
12302007-01-20 19:16  gb
1231
1232        * library/parse-ffi.lisp: Remove the debugging FORMAT call.
1233
12342007-01-18 23:15  gb
1235
1236        * level-1/l1-boot-2.lisp: Load with the new ffi-backend fasls.
1237
12382007-01-18 23:15  gb
1239
1240        * lib/compile-ccl.lisp: Deal with the new ffi-backend sources.
1241
12422007-01-18 23:15  gb
1243
1244        * lib/systems.lisp: Add the new ffi-backend sources.
1245
12462007-01-18 23:14  gb
1247
1248        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp,
1249        ffi-darwinx8664.lisp, ffi-freebsdx8664.lisp, ffi-linuxppc32.lisp,
1250        ffi-linuxppc64.lisp, ffi-linuxx8664.lisp: New (so far, empty)
1251        files.
1252
12532007-01-18 04:35  gb
1254
1255        * level-1/version.lisp: Bump.
1256
12572007-01-18 04:17  gb
1258
1259        * examples/bridge.lisp: Some word-size conditionalization.  Will
1260        need more work to handle struct return/asssignment correctly on all
1261        platforms.
1262
12632007-01-18 04:15  gb
1264
1265        * examples/: cocoa-editor.lisp, cocoa-backtrace.lisp: Use CGFloat,
1266        type casts, etc.  Likwise for :<NSI>nteger, :<NSUI>nteger.
1267
12682007-01-18 04:13  gb
1269
1270        * examples/: cocoa-prefs.lisp, cocoa-listener.lisp: Use CGFloat,
1271        type casts, etc.
1272
12732007-01-18 04:12  gb
1274
1275        * examples/cocoa-window.lisp: Use CGFloat, type casts, etc.  Avoid
1276        deprecated NSFont stuff.
1277
12782007-01-18 04:11  gb
1279
1280        * examples/objc-clos.lisp: Handle ivars, class
1281        creation/initialization differently for ObjC 2.0.
1282
12832007-01-18 04:10  gb
1284
1285        * examples/objc-runtime.lisp: More ObjC 2.0, ppc64 changes.
1286
12872007-01-18 04:09  gb
1288
1289        * examples/objc-support.lisp: Note which protocols are actually
1290        used when walking classes.  (There doesn't seem to be a good way of
1291        finding a Protocol object pre-objc-2.0, and we may need to test
1292        protocol compliance to disambiguate message sends in some cases.)
1293
12942007-01-18 04:07  gb
1295
1296        * examples/opengl-ffi.lisp: Conditionalize for darwin (not
1297        necessarily darwinppc).
1298
12992007-01-18 04:06  gb
1300
1301        * examples/addressbook.lisp: Conditionalize for darwin (not
1302        necessarily darwinppc).  May want to conditionalize for bundle
1303        executable name, as well.
1304
13052007-01-18 04:05  gb
1306
1307        * compiler/PPC/PPC64/ppc64-arch.lisp: WITH-FFCALL-RESULTS.  Start
1308        to sketch out structure return code (structures are often
1309        "returned" by returning field values in registers pn DarwinPPC64.)
1310
13112007-01-18 04:04  gb
1312
1313        * compiler/PPC/PPC64/ppc64-backend.lisp: New ftd stuff; new
1314        attributes for structure args/results.
1315
13162007-01-18 04:03  gb
1317
1318        * compiler/PPC/PPC64/ppc64-vinsns.lisp: ffcall-returning registers.
1319         (Will need this for other platforms, too.)
1320
13212007-01-18 04:01  gb
1322
1323        * lib/macros.lisp: Arch-specific macro interface for
1324        WITH-FFCALL-RESULTS.
1325
13262007-01-18 04:00  gb
1327
1328        * lib/db-io.lisp: Handle the case of an encoded structure type as a
1329        return value.
1330
13312007-01-18 04:00  gb
1332
1333        * lisp-kernel/: ppc-spentry.s, ppc-spjump.s:
1334        .SPpoweropen_ffcall_return_registers.
1335
13362007-01-18 03:59  gb
1337
1338        * library/parse-ffi.lisp: At least optionally, make structure
1339        return explicit (expecting it to be handled by higher-level code.)
1340
13412007-01-18 03:58  gb
1342
1343        * lib/foreign-types.lisp: ff-call-expand-function in ftd.  Don't
1344        try to type-expand :registers <exp> form in EXTERNAL-CALL.
1345
13462007-01-18 03:55  gb
1347
1348        * level-0/PPC/ppc-misc.lisp: Get the contents of the register that
1349        may hold OS thread context.
1350
13512007-01-18 03:54  gb
1352
1353        * compiler/PPC/PPC32/ppc32-backend.lisp: ff-call-expander function
1354        in ftd.
1355
13562007-01-18 03:53  gb
1357
1358        * compiler/PPC/PPC32/ppc32-arch.lisp: WITH-FFCALL-RESULTS arch
1359        macro.
1360
13612007-01-18 03:52  gb
1362
1363        * compiler/PPC/ppc2.lisp: Poweropen ff-calls might need to return
1364        all possible result regs.  (Maybe poweropen syscall, too.)
1365
13662007-01-18 03:51  gb
1367
1368        * compiler/PPC/ppc-arch.lisp: Replace unused subprim with
1369        .SPpoweropen-ff-call-return-registers.
1370
13712007-01-18 03:50  gb
1372
1373        * compiler/nx1.lisp: Support :registers <exp> in %ff-call; when
1374        supported, backend will return all (potential) result registers in
1375        buffer at <exp>.
1376
13772007-01-16 02:01  gb
1378
1379        * level-1/l1-streams.lisp: Make sure that STREAM-READ-IVECTOR and
1380        STREAM-WRITE-IVECTOR are defined on binary stream classes.  (These
1381        functions make less sense for character streams/strings than they
1382        used to.)
1383
13842007-01-16 01:39  gb
1385
1386        * level-1/l1-sockets.lisp: Ensure that the :FORMAT argument
1387        defaults to :BIVALENT
1388
13892007-01-16 01:37  gb
1390
1391        * level-0/l0-init.lisp: Put :OPENMCL-UNICODE-STRINGS on *FEATURES*.
1392
13932007-01-11 23:58  gb
1394
1395        * compiler/PPC/ppc2.lisp: Transform (/ (* constant1 exp) constant2)
1396        into (* (/ constant1 constant2) exp).  Not very general, but makes
1397        some foreign address arithmetic better.
1398
13992007-01-11 23:56  gb
1400
1401        * lib/macros.lisp: Simple PAREF: (paref pointer
1402        foreign-pointer-or-array-type index) does simple arithmetic for
1403        you.
1404
14052007-01-11 23:54  gb
1406
1407        * lib/foreign-types.lisp: %FOREIGN-ARRAY-ACCESS-FORM.
1408
14092007-01-10 15:50  gb
1410
1411        * compiler/PPC/ppc2.lisp: ppc2-vref1: lose extra arg to
1412        double->heap vinsn.
1413
14142007-01-09 11:33  gb
1415
1416        * lisp-kernel/x86-spentry64.s: When running an unwind-protect
1417        cleanup and multiple values are being thrown, be sure to set
1418        tcr.xframe from the target catch frame.  This is necessary on
1419        general principles (GC safety), and especially necessary if the
1420        cleanup form does a non-local exit.
1421
14222007-01-08 22:12  gb
1423
1424        * examples/: objc-clos.lisp, objc-runtime.lisp, objc-support.lisp:
1425        Revive some of the old GNUstep support; add partial ObjC 2.0
1426        support (for 64-bit targets only, so far.)
1427
14282007-01-08 22:11  gb
1429
1430        * examples/cocoa.lisp: Conditionalize for darwin-target, not
1431        darwinppc-target.
1432
14332007-01-08 22:10  gb
1434
1435        * examples/cocoa-listener.lisp: Disable background layout in the
1436        listener; the whole two-thread scheme probably isn't viable, but
1437        doing this seems to suppress a timing-related symptom.
1438
14392007-01-08 22:09  gb
1440
1441        * examples/cocoa-editor.lisp: Document-begin-editing,
1442        document-end-editing: both seem to have been conditionalized
1443        backwards.
1444
14452007-01-05 16:22  gb
1446
1447        * level-0/l0-numbers.lisp: Fix another typo ...
1448
14492007-01-05 16:16  gb
1450
1451        * level-0/l0-numbers.lisp: Fix typo (ppc32::, not ppc2::).
1452
14532007-01-05 15:27  gb
1454
1455        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Missing MISC-SET-C-S32 for
1456        PPC32.
1457
14582007-01-05 06:20  gb
1459
1460        * level-0/l0-cfm-support.lisp: OPEN-SHARED-LIBRARY: freebsd version
1461        of #_dlopen doesn't return a link map, but calling #_dlinfo on the
1462        result (with the right arg) does obtain a link map.
1463       
1464        Revive shared libraries on FreeBSD, but don't do the strange
1465        Linux-specific re-opening there.  (It seems like it's possible to
1466        #_dlopen something that already has a loaded link map - like the
1467        FreeBSD dynamic linker - or something.)
1468
14692007-01-04 05:46  gb
1470
1471        * level-1/l1-pathnames.lisp: %component-match-p: handle :WILD,
1472        :WILD-INFERIORS.
1473
14742007-01-04 05:45  gb
1475
1476        * lisp-kernel/pmcl-kernel.c: Try to check for old libc versions
1477        (which may use %gs instead of %fs for tls).
1478
14792007-01-04 05:44  gb
1480
1481        * lib/numbers.lisp: Explicitly require NUMBER-CASE-MACRO.
1482
14832007-01-04 05:44  gb
1484
1485        * level-0/l0-numbers.lisp:
1486        fixnum-sfloat-compare,fixnum-dfloat-compare: if the fixnum can be
1487        accurately represented in float, do so.
1488
14892007-01-03 03:35  gb
1490
1491        * lib/sequences.lisp: Fix a few type errors, check for explicit
1492        vector-type length earlier.
1493
14942007-01-03 03:31  gb
1495
1496        * level-1/l1-files.lisp: %STD-NAME-COMPONENT, %STD-TYPE-COMPONENT:
1497        preserved :WILD, don't map it to "*".
1498
14992007-01-03 03:30  gb
1500
1501        * lib/pathnames.lisp: More whack-a-mole with pathnames
1502        (specifically, preserving :WILD as name/type value and dealing with
1503        the consequences of doing so.)
1504
15052007-01-03 03:27  gb
1506
1507        * lib/numbers.lisp: Small (mostly cosmetic) change to RATIONAL.
1508
15092007-01-02 09:57  gb
1510
1511        * lib/macros.lisp: Keep fixing CTYPECASE.
1512
15132007-01-02 09:57  gb
1514
1515        * level-1/l1-streams.lisp: DOH! STREAM-READ-LINE method on
1516        BASIC-CHARACTER-INPUT-STREAM returns both values.
1517       
1518        "Composite" (two-way, concatenated, etc) streams need a close
1519        protocol.
1520
15212007-01-02 07:00  gb
1522
1523        * level-0/l0-pred.lisp: EQUAL on physical pathnames ignores the
1524        (new) version slot, as does practically everything else.
1525
15262007-01-02 06:59  gb
1527
1528        * level-0/l0-numbers.lisp: Don't assume that fixnums can be
1529        accurately coerced to floats when comparing fixnums and floats; do
1530        the logical equvalent of calling RATIONAL on the float instead.
1531
15322007-01-01 23:41  gb
1533
1534        * level-1/l1-files.lisp: ENOUGH-NAMESTRING: don't incorporate
1535        version into returned namestring for physical pathnames.
1536
15372006-12-31 10:15  gb
1538
1539        * release-notes.txt: Update.
1540
15412006-12-31 09:13  gb
1542
1543        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump image/abi
1544        version.
1545
15462006-12-31 08:57  gb
1547
1548        * xdump/faslenv.lisp: Bump fasl-min-vers.
1549
15502006-12-31 08:49  gb
1551
1552        * lib/nfcomp.lisp: Bump current fasl version.
1553
15542006-12-31 08:33  gb
1555
1556        * lisp-kernel/: linuxppc/elf32ppclinux.x, linuxppc64/elf64ppc.x:
1557        Tweak the executable start address.
1558
15592006-12-31 02:44  gb
1560
1561        * lisp-kernel/x86-spjump64.s: On Darwin, use a .space directive to
1562        ensure that there's nothing interesting in the first few pages of
1563        the address space (and ensure that those pages are mapped.)
1564
15652006-12-31 02:43  gb
1566
1567        * lisp-kernel/darwinx8664/Makefile: Sadly, we can't use -sectalign
1568        on x86-64 (ld64 does some floating-point arithmetic, fails to
1569        account for roundoff error, and claims that 0x1000 isn't a power of
1570        2.) If you can't say anything good about a linker, it's best not to
1571        say anything at all.
1572       
1573        We can force the first segment to be mapped at 0x1000, and can
1574        waste a few pages to ensure that all low-memory pages that the lisp
1575        wants are mapped.
1576
15772006-12-31 02:33  gb
1578
1579        * level-1/l1-pathnames.lisp: %SPLIT-COMPONENT: be a little more
1580        defensive.
1581
15822006-12-31 02:32  gb
1583
1584        * compiler/nx0.lisp: NX-FORM-TYPE: handle quoted constants.
1585
15862006-12-31 02:29  gb
1587
1588        * xdump/faslenv.lisp: Bump $fasl-vers.
1589
15902006-12-31 02:28  gb
1591
1592        * level-1/version.lisp: Bump; remove "Beta" designation.
1593
15942006-12-29 20:13  gb
1595
1596        * compiler/X86/X8664/x8664-arch.lisp, lisp-kernel/area.h,
1597        lisp-kernel/lisp_globals.h, lisp-kernel/x86-constants64.h,
1598        lisp-kernel/x86-constants64.s, xdump/xx8664-fasload.lisp: Move NIL
1599        up a page on x86-64 as well.
1600
16012006-12-29 16:09  gb
1602
1603        * lisp-kernel/ppc-spjump.s: Be a little clearer about where we're
1604        .orged.
1605
16062006-12-29 15:32  gb
1607
1608        * compiler/PPC/PPC32/ppc32-arch.lisp, lisp-kernel/area.h,
1609        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
1610        lisp-kernel/darwinppc/Makefile, xdump/xppcfasload.lisp: Static area
1611        (including NIL) now one page higher on ppc32, as well.
1612
16132006-12-29 02:38  gb
1614
1615        * level-0/PPC/ppc-float.lisp: SQRT in LAP (todo: inline it.)
1616
16172006-12-29 01:38  gb
1618
1619        * compiler/PPC/PPC64/ppc64-arch.lisp: Move ppc64::nil-value (and
1620        ppc64::reservation-discharge) up a page.
1621
16222006-12-29 01:37  gb
1623
1624        * xdump/xppcfasload.lisp: xload-static-space-address for ppc64 is
1625        #x2000; still #x1000 for ppc32.  (need to set this for x86-64)
1626
16272006-12-29 01:36  gb
1628
1629        * xdump/xfasload.lisp: *xload-static-space-address* depends on the
1630        backend.  ppc64 wants it one page higher than it has been, to avoid
1631        letting unmapped pages get claimed by the dynamic linker on Darwin.
1632
16332006-12-29 01:35  gb
1634
1635        * lisp-kernel/darwinppc64/Makefile: Change seg1addr/sectalign, so
1636        that the image starts at #x1000 and aligned section data for the
1637        text section starts on the next page.
1638
16392006-12-29 01:33  gb
1640
1641        * lisp-kernel/ppc-spjump.s: Org the spjump table 3 pages from where
1642        the aligned text section data starts.
1643
16442006-12-29 01:32  gb
1645
1646        * lisp-kernel/: ppc-constants64.h, ppc-constants64.s: nil_value,
1647        etc a page higher.
1648
16492006-12-29 01:32  gb
1650
1651        * lisp-kernel/pmcl-kernel.c: Don't remap ppc64 spjump table if it's
1652        already where it should be.
1653
16542006-12-29 01:32  gb
1655
1656        * lisp-kernel/lisp_globals.h: Access lisp_globals/nrs_symbols a
1657        page higher.
1658
16592006-12-29 01:30  gb
1660
1661        * lisp-kernel/area.h: Move STATIC_BASE_ADDRESS up a page for ppc64.
1662
16632006-12-22 01:40  gb
1664
1665        * lisp-kernel/ppc-exceptions.c: Ensure that sqrt() is prototyped.
1666
16672006-12-22 01:39  gb
1668
1669        * lisp-kernel/pmcl-kernel.c: Insist on at least Panther for
1670        PPC32/Darwin.
1671       
1672        Use dlopen() on 64-bit Darwin variants.  Might want to do a runtime
1673        test and use dlfcn functions if at least Tiger.
1674       
1675        (The old dyld functions are deprecated under Leopard, and there's
1676        reason to believe that they don't work correctly on at least ppc64/
1677        Leopard; attempting to use NSCreateObjectFileImageFromFile to open
1678        a 64-bit .dylib seems to lead to memory corruption rather than
1679        returning NSObjectFileImageInappropriateFile.
1680       
1681        The old functions work better than the dlfcn functions on pre-Tiger
1682        systems.)
1683
16842006-12-19 01:24  gb
1685
1686        * library/parse-ffi.lisp: Just to be on the safe side (new pathname
1687        bugs, or old ?), append -BAK to (NAMESTRING (TRUENAME path)), not
1688        just (NAMESTRING path) when renaming.  (MERGE-PATHNAMES call is
1689        producing a pathane with a non-null VERSION component, as it
1690        arguably should have been all along.
1691
16922006-12-18 13:22  gb
1693
1694        * lib/sequences.lisp: COERCE/MAKE-SEQUENCE try to simplify vector
1695        types into concrete vector types.
1696
16972006-12-18 13:04  gb
1698
1699        * level-1/l1-pathnames.lisp: Try (halfheartedly) to maintain
1700        PATHNAME-VERSION of physical pathnames.  (Totally meaningless, but
1701        failing to do this leads to many test failures.)
1702
17032006-12-18 13:03  gb
1704
1705        * level-1/l1-numbers.lisp: Don't call out to do sqrt.
1706
17072006-12-18 12:57  gb
1708
1709        * level-1/l1-files.lisp: Try (halfheartedly) to maintain
1710        PATHNAME-VERSION of physical pathnames.  (Totally meaningless, but
1711        failing to do this leads to many test failures.)
1712
17132006-12-18 12:54  gb
1714
1715        * level-0/X86/x86-float.lisp: Do single/double-float sqrt inline.
1716
17172006-12-16 05:28  gb
1718
1719        * level-0/PPC/ppc-float.lisp: Recognize that fsqrt/fsqrts
1720        instructions have a minor opcode in frb and only have one source
1721        operand.
1722
17232006-12-16 05:27  gb
1724
1725        * level-1/ppc-error-signal.lisp: If we get an FP exception during a
1726        SQRT, note that there's only one operand and that it's in frb.
1727
17282006-12-16 05:25  gb
1729
1730        * lisp-kernel/ppc-exceptions.c: Handle (some) unimplemented
1731        instructions, notably fsqrt/fqrts, which are optional and not
1732        implemented on some PPC machines.
1733
17342006-12-16 05:24  gb
1735
1736        * lisp-kernel/ppc-asmutils.s: Add get_fpscr().
1737
17382006-12-14 19:47  gb
1739
1740        * lisp-kernel/ppc-exceptions.c: Need to handle SIGQUIT on ppc, too.
1741
17422006-12-14 16:43  gb
1743
1744        * compiler/X86/X8664/x8664-vinsns.lisp: Constraints on some
1745        double-float arithmetic vinsns should say :double-float, not
1746        :single-float.  (I suspect cut-and-paste, frankly.)
1747
17482006-12-14 16:25  gb
1749
1750        * level-1/l1-lisp-threads.lisp: *initial-lisp-thread*, not
1751        initial-thread.
1752
17532006-12-14 16:24  gb
1754
1755        * level-1/x86-trap-support.lisp: Use frame pointer when signaling
1756        error.
1757
17582006-12-14 16:14  gb
1759
1760        * library/lispequ.lisp: Add a %PHYSICAL-PATHAME-VERSION slot to
1761        physical pathnames. (Yes, this is kind of silly.)
1762
17632006-12-14 16:01  gb
1764
1765        * level-1/x86-trap-support.lisp: Recognize the kernel's attempt to
1766        signal errors for (e.g.) failed memory allocation.
1767
17682006-12-14 16:00  gb
1769
1770        * lisp-kernel/x86-exceptions.c: If a memory allocation request
1771        fails, signal a lisp error (what a concept.)
1772
17732006-12-14 15:51  gb
1774
1775        * lisp-kernel/x86-exceptions.h: Define DARWIN_USE_PSEUDO_SIGRETURN.
1776       
1777        Might be worth revisiting this.
1778
17792006-12-14 15:50  gb
1780
1781        * lisp-kernel/x86-exceptions.c: Go back to using the
1782        pseudo_sigreturn mechanism on Darwin, since doing a real sigreturn
1783        from a fake context may not be reliable.
1784       
1785        When handling an interrupt with a partially created temp stack
1786        frame, do the right thing.  (That basically means reset the frame
1787        before calling out and recreating it if we return from the
1788        callout.)
1789       
1790        Handle SIGQUIT on the altstack, to provide a way of forcibly
1791        terminating threads that's a bit more GC-safe than doing it via
1792        #_pthread_cancel.
1793       
1794        Note the tcr of the gc thread on gc entry; if an exception happens
1795        in that thread, print a message and sleep for 60 seconds.
1796       
1797        Note that there's still a race condition here: if thread A gets an
1798        exception and thread B gets the mach_exception_lock (to GC) before
1799        the exception thread can handle the message, we deadlock (thread A
1800        would be suspended in the kernel and can't respond to a suspend
1801        signal.)  We can tell that this has happened and make a good guess
1802        as to why it happened, but dealing with it will require some
1803        thought.  (If we've already issued a suspend signal and eventually
1804        raise the suspended thread's resume semaphore, it'll suspend and
1805        resume once the mach exception thread makes it runnable.  Who
1806        cleans up its exception context in that case ?  Does it matter ?)
1807
18082006-12-14 15:19  gb
1809
1810        * lisp-kernel/thread_manager.c: Ensure that newly-created threads
1811        have all signals unmasked.
1812       
1813        If a tcr is dead, ensure that its stack areas are empty.
1814       
1815        Try to run shutdown_thread_tcr as a pthread cleanup action,
1816        hopefully before Mach clobbers the thread's signal mask.
1817
18182006-12-14 15:16  gb
1819
1820        * lisp-kernel/pmcl-kernel.c: lazarus() runs with a lock on the
1821        TCR_AREA_LOCK.
1822
18232006-12-14 15:15  gb
1824
1825        * lisp-kernel/memprotect.h: Don't declare do_memo_reset(), which
1826        hasn't existed in years.
1827
18282006-12-14 15:14  gb
1829
1830        * level-1/version.lisp: Bump.
1831
18322006-12-14 15:14  gb
1833
1834        * level-1/l1-readloop.lisp: PREPARE-TO-QUIT: wait for the
1835        termination semaphore.
1836
18372006-12-14 15:13  gb
1838
1839        * level-1/l1-processes.lisp: PROCESS objects are created with a
1840        termination semaphore.
1841
18422006-12-14 15:12  gb
1843
1844        * level-1/l1-lisp-threads.lisp: THREAD-ENABLE: second arg is
1845        TERMINATION-SEMAPHORE.
1846       
1847        KILL-LISP-THREAD: don't use #_pthread_cancel, which may force the
1848        target thread to transition from running lisp code to running
1849        foreign code without advertising that fact. Send a SIGQUIT instead,
1850        and trust the SIGQUIT handler to manage that transition.  Don't try
1851        to kill the initial thread.
1852
18532006-12-09 09:52  gb
1854
1855        * level-1/l1-streams.lisp: STRING-OUTPUT-STREAMs need to override
1856        their CLEAR-OUTPUT methods.
1857       
1858        MAKE-STRING-INPUT-STREAM: handle displaced strings better (remember
1859        their displaced-index-offsets.)
1860
18612006-12-09 09:49  gb
1862
1863        * lisp-kernel/thread_manager.c: Disable underflow traps in new
1864        threads on x86-64.  (The PPC never got around to enabling them.)
1865
18662006-12-09 09:47  gb
1867
1868        * lib/macros.lisp: WITH-OUTPUT-TO-STRING: if string provided,
1869        evaluate the ELEMENT-TYPE expression (for side-effects) and ignore
1870        the result of its evaluation.
1871       
1872        Some fixes in CTYPECASE handling, which hopefully didn't break
1873        anything else.
1874
18752006-12-09 09:36  gb
1876
1877        * compiler/X86/x862.lisp: In aset2/aset3, ensure that the (final,
1878        1d) index register is set - even if the index is a constant - if we
1879        think that the store needs EGC memoization.
1880       
1881        (Note that the test case that exposed this involved storing
1882        SINGLE-FLOATs, which don't need EGC write-barrier handling on
1883        64-bit platforms.)
1884       
1885        In aref2, don't worry about reserving unscaled index registers when
1886        targeting the 1d index; the unscaled index registers aren't live
1887        after, could be NULL if the index is a constant, and any overlap
1888        between one of them and the 1d index should be handled in the
1889        vinsn(s).
1890
18912006-12-09 09:30  gb
1892
1893        * level-1/l1-typesys.lisp: Ensure that the (relatively new)
1894        built-in-classes SIMPLE-FIXNUM-VECTOR and FIXNUM-VECTOR have
1895        class-translations.
1896
18972006-12-09 09:27  gb
1898
1899        * level-1/l1-aprims.lisp: In list case of ELT: who says that value
1900        returned by NTHCDR is a LIST ? (It's not necessarily a list, so
1901        don't segfault taking its CAR without checking.)
1902
19032006-12-06 18:48  gb
1904
1905        * level-0/X86/x86-float.lisp: x86-64 version of
1906        SFLOAT-SIGNIFICAND-ZEROS: count zero bits in the shifted float, not
1907        in %imm1 (which is undefined here ...)
1908
19092006-12-06 17:05  gb
1910
1911        * compiler/nx0.lisp: DEFINE-COMPILER-MACRO: if a SETF name, use the
1912        right symbol for the named block.
1913       
1914        COMPILER-MACRO-FUNCTION, (SETF COMPILER-MACRO-FUNCTION): deal with
1915        (SETF NAME).
1916
19172006-12-05 22:44  gb
1918
1919        * release-notes.txt: Update for 061205.
1920
19212006-12-05 20:31  gb
1922
1923        * lisp-kernel/darwinppc64/Makefile: Change LDFLAGS, to keep ld64
1924        from putting a linkedit segment in the wrong place and making
1925        32-bit memory unmappable.
1926
19272006-12-05 20:30  gb
1928
1929        * level-1/version.lisp: Bump.
1930
19312006-12-05 20:29  gb
1932
1933        * lisp-kernel/pmcl-kernel.c: Use _exit(), just in case.
1934
19352006-12-05 18:53  gb
1936
1937        * level-1/l1-reader.lisp: *ALTERNATE-LINE-TERMINATOR* set to
1938        #\Return on #+darwin-target, not just #+darwinppc-target. Change
1939        doc string for *ALTERNATE-LINE-TERMINATOR*.
1940
19412006-12-04 15:13  gb
1942
1943        * level-1/version.lisp: Append a patchlevel to the version string,
1944        at least until new tarballs can be built.
1945
19462006-12-04 15:12  gb
1947
1948        * level-1/l1-streams.lisp: If stream element type upgrades to
1949        FIXNUM, upgrade it further (to largest supported SIGNED-BYTE
1950        element-type.)
1951
19522006-12-04 13:02  gb
1953
1954        * level-0/l0-bignum32.lisp: BIGNUM-BIGNUM-GCD (whatever it's
1955        called): don't bother to shift by 0 bits.  Do shift the initial U
1956        if non-zero trailing 0 BITS (was testing for non-zero trailing
1957        DIGITS.)
1958
19592006-12-04 12:52  gb
1960
1961        * level-1/l1-streams.lisp: Choke earlier on unsupported stream
1962        element-types; do some upgrading to support some more element types
1963        (BIT -> (UNSIGNED-BYTE 8)).
1964       
1965        Maybe support arbitrarily large integer types someday soon.  Maybe
1966        not.
1967
19682006-12-04 12:48  gb
1969
1970        * level-1/l1-clos-boot.lisp: Make built-in classes for istruct
1971        types (compiler stuff, mostly).
1972
19732006-12-04 12:46  gb
1974
1975        * level-0/X86/X8664/x8664-bignum.lisp: Ensure that %ASHL handles
1976        shift count of 32 (and returns 0 in that case.)
1977
19782006-12-04 12:46  gb
1979
1980        * level-0/l0-bignum64.lisp: In BIGNUM-SHIFT-RIGHT-LOOP-1, use
1981        %ASHL, not %ILSL.  (Don't want nonsense in the high 32 bits, just
1982        in case.)
1983
19842006-12-04 12:43  gb
1985
1986        * level-0/l0-numbers.lisp: Bugs in GCD-2.  Long-standing bugs in
1987        GCD-2 ...
1988
19892006-12-04 09:26  gb
1990
1991        * level-1/l1-streams.lisp: STREAM-CLEAR-INPUT: don't inherit method
1992        for STRING-INPUT-STREAMs.
1993
19942006-12-04 09:24  gb
1995
1996        * level-0/l0-bignum64.lisp: BIGNUM-SHIFT-RIGHT-1: handle shift by 0
1997        bits.  BIGNUM-BIGNUM-GCD (whatever it's called): don't bother to
1998        shift by 0 bits.
1999
20002006-12-04 09:21  gb
2001
2002        * level-1/ppc-trap-support.lisp: Reset error-reentry count before
2003        doing %SLOT-UNBOUND-TRAP.
2004
20052006-12-04 09:21  gb
2006
2007        * level-1/l1-streams.lisp: Default STREAM-POSITION method for
2008        STREAMs, returns NIL.  STREAM-POSITION method for
2009        STRING-INPUT-STREAMs.
2010
20112006-12-04 09:19  gb
2012
2013        * level-1/l1-pathnames.lisp: Derive ccl-directory from pathname
2014        containing heap image.
2015
20162006-12-03 07:41  gb
2017
2018        * level-1/l1-streams.lisp: FORCE-OUTPUT, FINISH-OUTPUT on
2019        STRING-OUTPUT-STREAMs are no-ops.
2020       
2021        Need an ioblock-based character-read-vector function for
2022        string-input-streams.
2023
20242006-12-03 07:37  gb
2025
2026        * lib/describe.lisp: Minimal DESCRIBE support for
2027        CCL::BASIC-STREAM.
2028
20292006-12-03 07:36  gb
2030
2031        * lib/macros.lisp: If :element-type is supplied in
2032        WITH-OUTPUT-TO-STRING, don't quote it.
2033
20342006-12-03 05:11  gb
2035
2036        * level-1/x86-trap-support.lisp: Define RIP-REGISTER-OFFSET, which
2037        isn't necessarily 16.
2038
20392006-12-03 05:10  gb
2040
2041        * level-1/x86-error-signal.lisp: Use RIP-REGISTER-OFFSET, which
2042        isn't necessarily 16.
2043       
2044        Use WITH-ERROR-REENTRY-DETECTION n %xerr-disp; dtrt for
2045        %slot-unbound-trap.
2046
20472006-12-03 05:09  gb
2048
2049        * level-1/l1-streams.lisp: Tweak stream hierarchy a little, to
2050        avoid some NO-NEXT-METHODs.
2051
20522006-12-03 02:42  gb
2053
2054        * compiler/nx1.lisp: Handle VALUES type specifiers in THE forms a
2055        bit better.
2056
20572006-12-03 02:41  gb
2058
2059        * compiler/nx0.lisp: Handle VALUES type specifiers in THE forms a
2060        bit.
2061
20622006-12-03 02:28  gb
2063
2064        * lisp-kernel/x86-spentry64.s: Do vector bounds checking by
2065        clearing the low byte of the header, shifting it right, and
2066        comparing the index to that.  (It's not reliable to shift the index
2067        left.)
2068
20692006-12-03 02:26  gb
2070
2071        * level-1/l1-unicode.lisp: Memory/vector encode functions: don't
2072        write BOM, leave that up to higher-level code.
2073       
2074        Start to write some higher-level code.
2075
20762006-12-03 02:23  gb
2077
2078        * level-1/l1-sysio.lisp: Fix some indentation.
2079
20802006-12-03 02:21  gb
2081
2082        * compiler/X86/X8664/x8664-vinsns.lisp: CHECK-MISC-BOUNDS: shift
2083        the header word right (after clearing its low byte) and compare the
2084        index to that.  (Shifting the index left - d'oh - obviously fails
2085        for indices of large magnitude.)
2086
20872006-11-29 21:07  gb
2088
2089        * lib/db-io.lisp: Indentation change.
2090       
2091        Add CDB-ENUMERATE-KEYS.
2092
20932006-11-29 18:37  gb
2094
2095        * lib/level-2.lisp: %DESTRUCTURE-LAMBDA-LIST: other callers of
2096        VERIFY-LAMBDA-LIST (hopefully) check to see if the alleged list is
2097        LISTP first.  (I hope ...).  Do so.
2098
20992006-11-28 18:42  gb
2100
2101        * lisp-kernel/x86-spentry64.s: Wrong register typo in .SPaset2.
2102
21032006-11-28 16:14  gb
2104
2105        * examples/cocoa-window.lisp: DEFAULT-FONT: retain the font.
2106
21072006-11-28 16:12  gb
2108
2109        * examples/objc-runtime.lisp: Wrap a (primitive)
2110        WITH-AUTORELEASE-POOL around the code which detaches the dummy
2111        NSThread.
2112
21132006-11-28 16:09  gb
2114
2115        * examples/cocoa-listener.lisp: Don't claim that a callback
2116        parameter is ignored; use IGNORABLE instead.
2117
21182006-11-21 01:28  gb
2119
2120        * level-1/l1-sockets.lisp: Typo in PATH-FROM-UNIX-ADDRESS
2121        conditionalization.
2122
21232006-11-21 00:55  gb
2124
2125        * level-1/l1-sockets.lisp: INIT-UNIX-SOCKADDR: don't use
2126        %COPY-IVECTOR-TO-PTR to copy string to foreign memory.
2127       
2128        Basic file-socket streams.
2129
21302006-11-10 05:08  gb
2131
2132        * release-notes.txt: Update.
2133
21342006-11-10 04:28  gb
2135
2136        * lisp-kernel/image.h: Bump min image version.
2137
21382006-11-10 04:19  gb
2139
2140        * xdump/heap-image.lisp: bump current image version.
2141
21422006-11-10 04:19  gb
2143
2144        * lisp-kernel/image.h: bump current, max image version.
2145
21462006-11-10 04:10  gb
2147
2148        * xdump/faslenv.lisp: Bump min fasl version.
2149
21502006-11-10 03:56  gb
2151
2152        * lib/nfcomp.lisp: bump current fasl version.
2153
21542006-11-10 03:47  gb
2155
2156        * lisp-kernel/x86-exceptions.c: save_application: use #__exit, not
2157        #_exit
2158
21592006-11-10 03:46  gb
2160
2161        * compiler/X86/x862.lisp: TYPE typo.
2162
21632006-11-10 03:32  gb
2164
2165        * xdump/faslenv.lisp: Bump max fasl version.
2166
21672006-11-10 03:25  gb
2168
2169        * level-1/version.lisp: Bump.  New snapshots today!
2170
21712006-11-09 16:26  gb
2172
2173        * level-1/l1-readloop.lisp: QUIT uses #__quit.
2174       
2175        PREPARE-TO-QUIT kill stragglers without waiting as long.
2176
21772006-11-09 15:50  gb
2178
2179        * lisp-kernel/pmcl-kernel.c: Use #_ _exit for fatal termination.
2180       
2181        Try to run lisp code after #_exit via lazarus(); this is for some
2182        cases of SAVE-APPLICATION (e.g., in the Cocoa GUI).
2183       
2184        The environment in which The Undead code runs is a little funky,
2185        especially on PPC.  There might be GC implications (cstack will
2186        contain call history as of the point when #_exit called atexit
2187        handlers, vstack & tstack are emptied in lazarus()).  We should
2188        barely run any code in this environment, but we will GC a time or
2189        two ...
2190
21912006-11-09 15:45  gb
2192
2193        * lisp-kernel/ppc-exceptions.c: Use _exit afer save-application.
2194
21952006-11-09 15:43  gb
2196
2197        * examples/: cocoa-window.lisp, cocoa.lisp: Change the quit
2198        protocol.
2199
22002006-11-09 15:42  gb
2201
2202        * examples/cocoa-listener.lisp: :set-document-edited for listener
2203        "documents" is a no-op.
2204
22052006-11-09 15:39  gb
2206
2207        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
2208        PPC64/ppc64-vinsns.lisp: 3d-array accessor stuff for PPC as well.
2209
22102006-11-09 12:50  gb
2211
2212        * compiler/X86/x862.lisp: Always check that array-ctype's
2213        dimensions are a list before taking their length.
2214
22152006-11-09 12:13  gb
2216
2217        * compiler/X86/X8664/x8664-vinsns.lisp: 3d-unscaled-index does the
2218        right thing ...
2219
22202006-11-09 10:08  gb
2221
2222        * compiler/: nx1.lisp, X86/x862.lisp, X86/X8664/x8664-vinsns.lisp:
2223        Three-arg aref/(setf aref) for x8664.
2224
22252006-11-09 05:37  gb
2226
2227        * compiler/nx0.lisp: Map array-type keywords to 3d-array type
2228        errors.
2229
22302006-11-09 05:37  gb
2231
2232        * compiler/nxenv.lisp: Operators for 3d array access.
2233
22342006-11-09 05:36  gb
2235
2236        * compiler/arch.lisp, level-1/l1-error-system.lisp,
2237        lisp-kernel/errors.s, lisp-kernel/lisp-errors.h: Type-errors for 3d
2238        array types.
2239
22402006-11-08 12:50  gb
2241
2242        * level-1/x86-trap-support.lisp: In darwin Fake Structures For
2243        Leopard nonsense: define the stack context struct separately, make
2244        the ucontext stack field an instance of it.  (Not -sure- if that
2245        was necessary, but :poweropen-target was accidentally on *FEATURES*
2246        and foreign struct layout was using read-time condtionalization to
2247        decide whether or not to use brain-dead structure-alignment rules
2248        leftover from AIX/PowerOpen.
2249
22502006-11-08 12:46  gb
2251
2252        * lisp-kernel/x86-spentry64.s: Fix comment ("/*", not "/%" ...).
2253
22542006-11-08 12:40  gb
2255
2256        * compiler/optimizers.lisp: Try to infer/insert the array type when
2257        compiler-macroexpanding MAKE-ARRAY calls.
2258
22592006-11-08 12:39  gb
2260
2261        * compiler/PPC/PPC32/ppc32-backend.lisp: DarwinPPC32 FTD follows
2262        :poweropen-alignment rules.
2263
22642006-11-08 12:38  gb
2265
2266        * lib/foreign-types.lisp: parse-foreign-record-fields: conformance
2267        to poweropen structure layout rules should be an attribute of the
2268        FTD, not done via read-time conditionalization.
2269
22702006-11-08 05:15  gb
2271
2272        * level-1/version.lisp: Bump.
2273
22742006-11-08 05:15  gb
2275
2276        * level-1/l1-streams.lisp: Some bivalent/binary fixes.
2277       
2278        TODO: get rid of "bivalent" streams, but allow switching some
2279        streams (sockets) between "character mode" and "binary mode".
2280
22812006-11-08 02:39  gb
2282
2283        * compiler/PPC/ppc2.lisp: Typo in misc-ref-u64 vinsn emit.
2284
22852006-11-07 21:10  gb
2286
2287        * compiler/optimizers.lisp: Transform three-argument AREF->%AREF3,
2288        ASET->%ASET3.
2289
22902006-11-07 20:40  gb
2291
2292        * compiler/X86/x862.lisp: Implement %aset2 in the x8664 backend.
2293
22942006-11-07 20:39  gb
2295
2296        * level-0/X86/x86-array.lisp: %aref3, %aset3.
2297
22982006-11-07 20:38  gb
2299
2300        * level-0/l0-array.lisp: Use %aref2,%aref3.
2301
23022006-11-07 20:37  gb
2303
2304        * compiler/X86/X8664/x8664-vinsns.lisp: More (often redundant)
2305        vector-store vinsns.
2306
23072006-11-07 20:37  gb
2308
2309        * compiler/X86/X8664/x8664-arch.lisp: .SParef3, .SPaset3.
2310
23112006-11-07 10:28  gb
2312
2313        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s: .SParef3,
2314        .SPaset3.
2315
23162006-11-07 10:27  gb
2317
2318        * level-0/PPC/ppc-array.lisp: %ref3, %aset3.
2319
23202006-11-07 10:26  gb
2321
2322        * lisp-kernel/ppc-spentry.s, lisp-kernel/ppc-spjump.s,
2323        compiler/PPC/ppc-arch.lisp: .SPref3, .SPaset3.
2324
23252006-11-07 10:26  gb
2326
2327        * lisp-kernel/ppc-macros.s: Define mullr, which expands into one of
2328        mullw/mulld.
2329
23302006-11-07 04:12  gb
2331
2332        * compiler/PPC/ppc2.lisp: :signed-64-bit-vector is signed ...
2333
23342006-11-06 22:07  gb
2335
2336        * compiler/nx0.lisp: nx-error-for-simple-2d-array-type: forgot the
2337        :fixnum-vector case.
2338
23392006-11-06 22:04  gb
2340
2341        * compiler/PPC/ppc2.lisp: Handle vector assignment differently;
2342        handle (setf (aref ...)) of simple 2d-arrays inline if the type is
2343        known/declared.
2344
23452006-11-06 22:02  gb
2346
2347        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
2348        Add vinsns for misc-set-s* and variants. (Identical to the unsigned
2349        versions, but it helps not to have to remember which are
2350        implemented and which aren't.)
2351
23522006-11-06 22:01  gb
2353
2354        * compiler/nxenv.lisp: general-aset2, simple-typed-aset2.
2355
23562006-11-06 22:00  gb
2357
2358        * compiler/nx1.lisp: New %ASET2 handling.
2359
23602006-11-06 21:59  gb
2361
2362        * compiler/nx0.lisp: ACODE-FORM-TYPE: use var-inittype if var is
2363        never assigned to.
2364
23652006-11-05 22:09  gb
2366
2367        * level-1/x86-trap-support.lisp: Try to work around
2368        incompatibilites in Tiger/Leopard headers.
2369
23702006-11-05 22:08  gb
2371
2372        * level-1/l1-sockets.lisp: LOOKUP-PORT: use the macro HTONS, since
2373        the foreign function may not exist.
2374
23752006-11-05 20:41  gb
2376
2377        * compiler/X86/x862.lisp: 2d array error lookup -> nx.
2378
23792006-11-05 07:55  gb
2380
2381        * level-0/X86/x86-misc.lisp: %VALID-REMAINING-TIMESPEC-TIME-P for
2382        x86-64, as well.
2383
23842006-11-05 07:52  gb
2385
2386        * level-0/X86/x86-array.lisp: %AREF2, %ASET2 in x8664 lap.
2387
23882006-11-05 07:50  gb
2389
2390        * lisp-kernel/x86-spentry64.s: pre-add displacement in .SParef2,
2391        .SPaset2.
2392
23932006-11-05 07:48  gb
2394
2395        * lisp-kernel/ppc-spentry.s: .SParef2, .SPaset2: since we aren't
2396        testing simple-array-ness, add the (possibly 0) displacement from
2397        the header before handling the simple aref of the data vector.
2398
23992006-11-05 07:47  gb
2400
2401        * lib/foreign-types.lisp: PRINT-OBJECT method for EEPS: handle
2402        pointers on PPC(64), print 64-bit addresses on 64-bit platforms.
2403
24042006-11-05 07:46  gb
2405
2406        * level-1/version.lisp: Bump; new binaries soon.
2407
24082006-11-05 07:46  gb
2409
2410        * level-1/l1-lisp-threads.lisp: %NANOSLEEP calls
2411        %VALID-REMAINING-TIMESPEC-TIME-P, which is better than sleeping for
2412        4G seconds after an EINTR on Leopard.
2413
24142006-11-05 07:44  gb
2415
2416        * level-0/PPC/PPC64/ppc64-bignum.lisp: MACPTR->FIXNUM returns NIL
2417        if any non-fixnum bits would be set in the result.  (Should
2418        probably make this true on all platforms; for PPC64, it's important
2419        for foreign function addresses that're ... suboptimally aligned.)
2420
24212006-11-05 07:42  gb
2422
2423        * level-0/PPC/ppc-misc.lisp: Try to detect the case where
2424        %NANOSLEEP's second (by reference) argument contains garbage after
2425        an EINTR.  (The L word, again.)
2426
24272006-11-05 07:41  gb
2428
2429        * level-0/PPC/ppc-array.lisp: %AREF2, %ASET2: in LAP, just call
2430        into the kernel.
2431
24322006-11-05 07:40  gb
2433
2434        * level-0/l0-cfm-support.lisp: Some platforms (the L-word) generate
2435        ppc64 functions whose addresses are not 0 mod 8, so (a) make
2436        MACPTR->FIXNUM return NIL if an address isn't representable as a
2437        fixnum and (b) make FOREIGN-SYMBOL-ENTRY return an address if it
2438        can't return a fixnum on PPC (really just affects PPC64.)
2439
24402006-11-05 07:37  gb
2441
2442        * level-0/l0-array.lisp: %aref2, %aset2: call into kernel.
2443
24442006-11-05 07:36  gb
2445
2446        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
2447        2d aref support/changes.
2448
24492006-11-05 07:36  gb
2450
2451        * compiler/PPC/ppc2.lisp: Get the PPC2 backend caught up with the
2452        x8664 wrt 2d aref.  Stll a ways to go.
2453
24542006-11-05 07:35  gb
2455
2456        * compiler/nx0.lisp: NX-ERROR-FOR-SIMPLE-2D-ARRAY-TYPE.
2457
24582006-11-04 00:05  gb
2459
2460        * level-1/version.lisp: Bump.
2461
24622006-11-03 23:10  gb
2463
2464        * level-1/ppc-error-signal.lisp: fix parens.
2465
24662006-11-03 23:09  gb
2467
2468        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: arch
2469        gvector types contains :struct, not :structure.
2470
24712006-11-03 23:08  gb
2472
2473        * compiler/PPC/ppc2.lisp: aref2: new operator name(s), always call
2474        subprim.
2475       
2476        ppc2-fixed-call-builtin: (tail-)call subprims even if they aren't
2477        in the builtin functions table.
2478
24792006-11-03 15:19  gb
2480
2481        * compiler/PPC/ppc-arch.lisp: New .SParef2, .SPaset2 subprims.
2482
24832006-11-03 15:18  gb
2484
2485        * compiler/PPC/ppc-asm.lisp: Comments/indentation.
2486
24872006-11-03 15:17  gb
2488
2489        * level-1/ppc-error-signal.lisp: Change decoding/handlng of
2490        type-error UUOs.
2491
24922006-11-03 15:16  gb
2493
2494        * lisp-kernel/: ppc-spentry.s, ppc-spjump.s: .SParef2, .SPaset2.
2495
24962006-11-03 15:16  gb
2497
2498        * lisp-kernel/: ppc-constants32.s, ppc-constants64.s: Define arrayH
2499        (array-header) layout.
2500
25012006-11-03 13:46  gb
2502
2503        * level-1/l1-clos-boot.lisp: CANONICALIZE-SPECIALIZERS optionally
2504        returns its argument if all members are SPECIALIZERS.
2505       
2506        Use CANONICALIZE-SPECIALIZERS to canonicalize FIND-METHOD
2507        arguments, for the benefit of people who haven't read the MOP spec
2508        or who don't realize that the MOP defines some things differently
2509        from CLHS.
2510
25112006-11-03 13:38  gb
2512
2513        * compiler/X86/x862.lisp: Consistently use :struct (not :structure)
2514        to refer to primitive structure type.
2515       
2516        Fix array-ctype-dimensions check in %aref1, add it to %aset1.
2517
25182006-11-03 13:37  gb
2519
2520        * compiler/X86/X8664/x8664-arch.lisp: Ensure that :STRUCT (not
2521        :STRUCTURE) is on target-gvector-types.
2522
25232006-11-03 12:53  gb
2524
2525        * lisp-kernel/x86-uuo.s: uuo_error_array_bounds, such as it is.
2526
25272006-11-03 12:52  gb
2528
2529        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s: SParef2, .SPaset2.
2530         More to come ...
2531
25322006-11-03 12:52  gb
2533
2534        * lisp-kernel/x86-constants64.s: Define array-header layout.
2535
25362006-11-03 12:51  gb
2537
2538        * lisp-kernel/: errors.s, lisp-errors.h: New type-error uuo
2539        encodings, new type-error constants.
2540
25412006-11-03 12:50  gb
2542
2543        * level-1/x86-error-signal.lisp: New range/encoding of type-error
2544        traps.
2545
25462006-11-03 12:49  gb
2547
2548        * level-1/l1-utils.lisp: (temporary) mechanism to avoid
2549        constant-redefinition CERRORs.
2550
25512006-11-03 12:48  gb
2552
2553        * level-1/l1-error-system.lisp: New %type-error-typespecs%.
2554
25552006-11-03 12:47  gb
2556
2557        * level-0/l0-pred.lisp: array--header -> array-header.
2558
25592006-11-03 12:47  gb
2560
2561        * compiler/X86/X8664/x8664-vinsns.lisp: Fix misc-set-c-u64 braino;
2562        add/change some 2d array stuff.
2563
25642006-11-03 12:43  gb
2565
2566        * compiler/X86/X8664/x8664-arch.lisp: Define .SParef2/.SPaset2
2567        subprims; seem to be much (>5x) faster than the lisp/lap versions
2568        (though we can generally be faster still when we know the
2569        element-type and/or know whether the array is simple or explicitly
2570        displaced.)
2571
25722006-11-03 12:41  gb
2573
2574        * compiler/X86/x862.lisp: Change handling of 2d-aref; lots of
2575        related changes.
2576       
2577        Split the code which handles bounds/type-checking in vref out from
2578        the code which actually does the reference, so that the latter can
2579        be used in multidimensional cases.
2580       
2581        Need to do this on PPC as well; need to do more (%aset2, 3d cases,
2582        general case.)
2583
25842006-11-03 12:38  gb
2585
2586        * compiler/nx1.lisp: Change handling of 2d-aref.
2587
25882006-11-03 12:37  gb
2589
2590        * compiler/nxenv.lisp: aref2 -> simple-typed-aref2, add
2591        general-aref2.  More changes to come (and this may affect
2592        compilation on PPC until some PPC compiler changes are
2593        made/checked-in.)
2594
25952006-11-03 12:35  gb
2596
2597        * compiler/arch.lisp: type-errors (as encoded in UUOs) are now in
2598        the range 128-255, rather than 64-127; more are defined.
2599
26002006-11-02 09:43  gb
2601
2602        * level-1/l1-error-system.lisp: Move along, nothing to see here.
2603
26042006-11-02 09:37  gb
2605
2606        * compiler/arch.lisp: New error constants; work in progress ...
2607
26082006-11-01 11:40  gb
2609
2610        * lisp-kernel/errors.s: Some new constants; more to check in later.
2611
26122006-10-31 03:39  gb
2613
2614        * level-0/l0-io.lisp: You must be reading the OLD rule book
2615        (Leopard and #$EINTR).
2616
26172006-10-31 03:21  gb
2618
2619        * lisp-kernel/ppc-exceptions.c: handle_protection_violation: pass
2620        the tcr.  Initialize "addr" before testing it ...
2621
26222006-10-31 03:21  gb
2623
2624        * lisp-kernel/lisp-exceptions.h: handle_protection_violation: pass
2625        the tcr.
2626
26272006-10-30 20:40  gb
2628
2629        * lib/defstruct.lisp: DEFSTRUCT-REF-TRANSFORM for typed vector
2630        expands into something more useful.
2631
26322006-10-30 20:39  gb
2633
2634        * lisp-kernel/ppc-spentry.s: Fix ppc32
2635        misc_ref_double_float_vector.
2636
26372006-10-30 00:24  gb
2638
2639        * level-0/l0-bignum64.lisp: Enable the destructive version of
2640        %BIGNUM-BIGNUM-GCD; conditionalize it for 64-bit targets and
2641        provide/fix supporting functions.  Seems to work on ppc64; needs
2642        testing on x8664.
2643
26442006-10-27 17:49  gb
2645
2646        * darwin-x86-headers64/libc/C/: .cvsignore, populate.sh: New file.
2647
26482006-10-25 20:36  gb
2649
2650        * level-1/l1-streams.lisp: %BIVALENT-IOBLOCK-READ-U8-BYTE (and
2651        variants): always clear the untyi-char.
2652       
2653        %ENCODED-IOBLOCK-PEEK-CHAR: the read-char-when-locked function
2654        needs an argument.
2655       
2656        SETUP-IOBLOCK-OUTPUT: there are no special output functions for
2657        bivalent streams.
2658       
2659        %IOBLOCK-BINARY-READ-VECTOR: clear any untyi char.
2660
26612006-10-24 12:35  gb
2662
2663        * level-1/version.lisp: Bump.
2664
26652006-10-24 01:29  gb
2666
2667        * lisp-kernel/x86-spentry64.s: Fix :ALLOW-OTHER-KEYS check in
2668        _SPdestbind1 (still used in inlining, sometimes.)
2669
26702006-10-24 01:05  gb
2671
2672        * release-notes.txt: Change the date, add/change some content.
2673
26742006-10-24 01:05  gb
2675
2676        * lib/macros.lisp: Reference the (bound) STREAM-VAR argument - not
2677        STREAM - in the expansion of WITH-OUTPUT-TO-STRING.
2678
26792006-10-24 00:56  gb
2680
2681        * lib/ccl-export-syms.lisp: Reference the (bound) STREAM-VAR
2682        argument - not STREAM - in the expansion of WITH-OUTPUT-TO-STRING.
2683
26842006-10-24 00:55  gb
2685
2686        * level-1/l1-streams.lisp: When recycling
2687        string-output-stream-ioblocks, set the IOBLOCK-CHARPOS to 0.
2688        (Failure to do this can screw up the pretty-printer, among other
2689        things.)
2690
26912006-10-24 00:52  gb
2692
2693        * level-1/l1-sockets.lisp: DEFAULT-CHARACTER-ENCODING for :SOCKET,
2694        *DEFAULT-SOCKET-CHARACTER-ENCODING*.
2695
26962006-10-23 17:03  gb
2697
2698        * release-notes.txt: Updated; almost ready to go (still a
2699        WITH-OUTPUT-TO-STRING/PPRINT (?) bug).
2700
27012006-10-23 16:43  gb
2702
2703        * level-1/l1-sysio.lisp: NORMALIZE-EXTERNAL-FORMAT: use
2704        *DEFAULT-EXTERNAL-FORMAT* value for :DEFAULT.
2705
27062006-10-23 16:42  gb
2707
2708        * level-1/l1-streams.lisp: Use NORMALIZE-EXTERNAL-FORMAT in (SETF
2709        STREAM-EXTERNAL-FORMAT) methods.
2710
27112006-10-23 16:41  gb
2712
2713        * lib/ccl-export-syms.lisp: Export some unicode/external-format
2714        stuff.
2715
27162006-10-23 08:27  gb
2717
2718        * level-1/version.lisp: Bump; binaries today, honest.
2719
27202006-10-23 08:27  gb
2721
2722        * level-1/l1-streams.lisp: freelist string-output-stream-ioblocks.
2723
27242006-10-23 08:26  gb
2725
2726        * lib/macros.lisp: Some/most/all of the WITH-IOBLOCK-OUTPUT-LOCKED
2727        macros were checking for the presence of an input lock ...
2728
27292006-10-23 05:40  gb
2730
2731        * level-1/l1-streams.lisp: Optimize write-string on string streams
2732        a little.
2733
27342006-10-23 05:26  gb
2735
2736        * lib/macros.lisp: WITH-OUTPUT-TO-STRING: don't expand into code
2737        which evaluates the string form twice; don't do whatever was being
2738        done to default the element type of the string stream.
2739
27402006-10-23 05:24  gb
2741
2742        * compiler/optimizers.lisp: MAKE-STRING-OUTPUT-STREAM: skip some
2743        keyword/subtype checking if element-type not provided.  (Could also
2744        skip it if it's explicit and obviously OK.)
2745
27462006-10-23 05:22  gb
2747
2748        * level-0/X86/x86-misc.lisp: %HEAP-BYTES-ALLOCATED: don't add
2749        "current" allocation if nothing's reserved.
2750
27512006-10-23 05:19  gb
2752
2753        * lisp-kernel/x86-exceptions.c: In handle_alloc_trap(), fix call to
2754        update_bytes_allocated (sign of "disp").
2755
27562006-10-22 08:02  gb
2757
2758        * compiler/PPC/ppc2.lisp: MULTIPLE-VALUE-PROG1: treat the first
2759        form like a PROGN if there are no other forms.
2760
27612006-10-22 08:01  gb
2762
2763        * level-1/l1-streams.lisp: Don't disable interrupts when calling
2764        ioblock functions.
2765       
2766        New string-stream implementation.  Better ...
2767
27682006-10-22 07:59  gb
2769
2770        * lib/macros.lisp: If WITH-OUTPUT-TO-STRING gets the string, do so
2771        before the stream closes.
2772
27732006-10-22 07:59  gb
2774
2775        * lib/pprint.lisp: Don't assume that string output stream strings
2776        have a fill-pointer; use STREAM-POSITION instead.
2777
27782006-10-22 07:57  gb
2779
2780        * lib/streams.lisp: Don't disable interrupts when calling ioblock
2781        functions, after all.
2782       
2783        Go through (new) ioblock-unread-char-function.
2784
27852006-10-22 07:55  gb
2786
2787        * lisp-kernel/darwinppc/.gdbinit: Stop trying to print strings via
2788        x/s
2789
27902006-10-21 18:46  gb
2791
2792        * level-1/l1-streams.lisp: Typo.
2793
27942006-10-21 18:41  gb
2795
2796        * lisp-kernel/x86-exceptions.c: Initialize (zero, usually) more
2797        fields in pseudo sigcontexts.
2798
27992006-10-21 18:40  gb
2800
2801        * level-1/l1-streams.lisp: Mostly locking changes (don't lock
2802        twice, etc.)
2803
28042006-10-21 18:35  gb
2805
2806        * level-0/l0-array.lisp, level-0/l0-init.lisp,
2807        level-0/l0-pred.lisp, level-0/l0-utils.lisp,
2808        level-0/PPC/ppc-array.lisp, level-0/PPC/ppc-symbol.lisp,
2809        level-0/X86/x86-symbol.lisp, level-1/l1-aprims.lisp,
2810        lib/sequences.lisp: Remove vestival #+target-8-bit-chars stuff.
2811
28122006-10-21 16:45  gb
2813
2814        * level-1/l1-unicode.lisp: New! Improved! Now with more iso-8859
2815        encodings!
2816
28172006-10-19 13:48  gb
2818
2819        * level-0/PPC/ppc-misc.lisp: Reference the source argument - not
2820        arg_z - in %safe-get-ptr.
2821
28222006-10-19 13:22  gb
2823
2824        * level-0/l0-aprims.lisp: %CSTR-POINTER: make #\Nul termination
2825        optional, use #\Sub char-code as replaement char.
2826
28272006-10-19 13:21  gb
2828
2829        * examples/objc-runtime.lisp: Missing close paren.
2830
28312006-10-19 13:19  gb
2832
2833        * examples/: cocoa-editor.lisp, cocoa-listener.lisp: Careful BLTing
2834        strings to/from foreign memory.
2835
28362006-10-19 13:18  gb
2837
2838        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Typos in UNBOX-S8.
2839
28402006-10-18 08:04  gb
2841
2842        * level-1/version.lisp: Bump.  Binaries later today ?
2843
28442006-10-18 07:38  gb
2845
2846        * level-1/l1-clos-boot.lisp: The post-bootstrapping version of
2847        (SETF FIND-CLASS) only introduces (or removes) a type name if the
2848        class becomes (or ceases to be) a properly named class.
2849       
2850        The pre-bootstrapping version handles simpler cases of that; use
2851        ALIAS-CLASS to register some early class names as type names.
2852
28532006-10-18 07:36  gb
2854
2855        * level-1/l1-clos.lisp: (SETF CLASS-NAME) can affect the type
2856        system, since only symbols which name properly-named classes are
2857        type specifiers.  Changing the name of a class can either introduce
2858        or remove a properly-named class.
2859       
2860        Classes that have the kernel-p attribute shouldn't have their names
2861        changed casually.
2862
28632006-10-18 07:33  gb
2864
2865        * level-1/l1-sockets.lisp: Accept an :EXTERNAL-FORMAT argument to
2866        MAKE-SOCKET, pass it down to whatever function actually creates a
2867        stream socket.
2868
28692006-10-18 02:12  gb
2870
2871        * compiler/X86/x862.lisp: Allow closed-over addresses in
2872        conditional-form, NOT.
2873
28742006-10-18 01:43  gb
2875
2876        * lisp-kernel/x86-exceptions.c: handle_fault() checks for
2877        safe_ref_addres.
2878
28792006-10-18 01:43  gb
2880
2881        * level-0/X86/x86-misc.lisp: %safe-get-ptr for x8664.
2882
28832006-10-18 01:41  gb
2884
2885        * compiler/X86/X8664/x8664-vinsns.lisp: Compare stack
2886        addresses/vcells to nil.
2887
28882006-10-18 01:41  gb
2889
2890        * compiler/X86/x862.lisp: Stuff for comparing memory (stack)
2891        addresses to NIL.
2892       
2893        Mark arg_z and rcx/nargs as being in use when restoring interrupt
2894        level inline.
2895
28962006-10-18 01:39  gb
2897
2898        * compiler/X86/x86-disassemble.lisp: We've had UUO-ERROR-UNBOUND
2899        for a few months now.  The disassembler is always the last to know.
2900
29012006-10-17 19:15  gb
2902
2903        * compiler/PPC/PPC32/ppc32-arch.lisp,
2904        compiler/PPC/PPC64/ppc64-arch.lisp,
2905        compiler/X86/X8664/x8664-arch.lisp, examples/objc-runtime.lisp,
2906        level-0/l0-misc.lisp, level-0/PPC/ppc-misc.lisp,
2907        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
2908        lisp-kernel/ppc-constants64.h, lisp-kernel/ppc-constants64.s,
2909        lisp-kernel/ppc-exceptions.c, lisp-kernel/x86-constants64.h,
2910        lisp-kernel/x86-constants64.s: add safe-ref-address to tcr.
2911       
2912        Handle memory faults to safe-ref-addres on PPC (so far).
2913       
2914        Try using SAFE-GET-PTR in objc runtime (untested).
2915
29162006-10-17 17:34  gb
2917
2918        * compiler/PPC/ppc2.lisp: ppc backend %aref1/%aset1: notice array
2919        type in acode.
2920
29212006-10-17 14:02  gb
2922
2923        * level-1/l1-unicode.lisp: BOM-ENCODING.
2924
29252006-10-17 14:02  gb
2926
2927        * level-1/l1-sysio.lisp: FILE-STRING-LENGTH actually does
2928        something.
2929       
2930        Clear the pending-bom flag when seeking.
2931
29322006-10-17 14:01  gb
2933
2934        * level-1/l1-streams.lisp: (SETF STREAM-EXTERNAL-FORMAT) for
2935        ioblock-based character streams.
2936
29372006-10-17 13:45  gb
2938
2939        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: bind/unbind
2940        *interrupt-level* inline.
2941
29422006-10-17 13:44  gb
2943
2944        * compiler/X86/x86-disassemble.lisp: Act like ud2a takes a one-byte
2945        immmediate operand (xuuo).
2946
29472006-10-17 13:39  gb
2948
2949        * level-1/l1-streams.lisp, lib/streams.lisp: Disable interrupts
2950        when necessary.
2951
29522006-10-17 13:39  gb
2953
2954        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
2955        PPC64/ppc64-vinsns.lisp: bind/unbind *interrupt-level* inline.
2956
29572006-10-15 17:51  gb
2958
2959        * level-1/l1-streams.lisp: Handle 32-bit character encodings.
2960       
2961        Start to extend STREAM-EXTERNAL-FORMAT, start to make it SETFable.
2962
29632006-10-15 17:51  gb
2964
2965        * level-1/l1-unicode.lisp: utf-32/ucs-4 and variants.
2966
29672006-10-15 17:50  gb
2968
2969        * level-1/l1-sysio.lisp: EXTERNAL-FORMATs are immutable, interned.
2970
29712006-10-14 07:41  gb
2972
2973        * compiler/PPC/ppc2.lisp: Fix use of ^,<- vinsn macros inside
2974        ENSURING-NODE-TARGET.
2975       
2976        Inline the fixnum case of two-arg numeric comparisons.
2977
29782006-10-14 07:39  gb
2979
2980        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
2981        INLINE-SUB2 support.
2982
29832006-10-14 06:30  gb
2984
2985        * lib/defstruct.lisp: Don't (DECLARE (OPTIMIZE (SAFETY 3))) in
2986        generated DEFSTRUCT accessors.
2987
29882006-10-14 06:27  gb
2989
2990        * compiler/X86/x862.lisp: Fix many cases of ENSURING-NODE-TARGET.
2991       
2992        Do the fixnum case of two-argument subtraction inline.
2993       
2994        Inline the fixnum case of two-argument numeric comparisons.
2995       
2996        STRUCT-REF avoids typechecking when reckless.
2997
29982006-10-14 06:21  gb
2999
3000        * compiler/backend.lisp: It makes no sense to use the vinsn macros
3001        <- and ^ inside ENSURING-NODE-TARGET, so make it check for that.
3002
30032006-10-14 06:20  gb
3004
3005        * compiler/X86/X8664/x8664-vinsns.lisp: Do vector bounds-checking a
3006        little differently.
3007       
3008        Add xchg-registers.
3009
30102006-10-13 04:54  gb
3011
3012        * compiler/nx1.lisp: Use new NUMCMP operator.
3013
30142006-10-13 04:53  gb
3015
3016        * compiler/nx0.lisp: Change inline expansion: use optimize settings
3017        in effect at call time, not those in effect at definition time.
3018
30192006-10-13 04:50  gb
3020
3021        * level-0/l0-numbers.lisp: Change >=-2, <=-2, /=-2 to avoid
3022        inlining issues.
3023
30242006-10-13 04:30  gb
3025
3026        * compiler/nxenv.lisp: Replace unused num= with numcmp.
3027
30282006-10-12 19:46  gb
3029
3030        * lisp-kernel/pmcl-kernel.c: Terminate argument processing when
3031        "--" is seen.
3032
30332006-10-12 19:45  gb
3034
3035        * level-1/: l1-streams.lisp, l1-sysio.lisp, l1-unicode.lisp: Handle
3036        newline translation differenly (at the character I/O level, not the
3037        buffer level).
3038       
3039        All character encoding/decoding functions operate on octets, not
3040        necessarily code units.  (The stream encode/decode functions are an
3041        exception; serialization and byte ordering are handled by the
3042        stream.)
3043
30442006-10-09 16:34  gb
3045
3046        * level-1/l1-streams.lisp: Write  #\Sub's char-code if we can't
3047        encode a character in (implicit) iso-8859-1.
3048
30492006-10-09 16:33  gb
3050
3051        * level-0/l0-misc.lisp: %COPY-STRING-TO-U8: use #\Sub (ascii 26) as
3052        a replacement character.
3053
30542006-10-09 16:31  gb
3055
3056        * level-1/l1-unicode.lisp: :stream-encode/decode functions always
3057        write/read something, even if it's a replacement character of some
3058        sort.
3059
30602006-10-09 15:19  gb
3061
3062        * level-1/l1-streams.lisp: More stuff about line termination.  When
3063        will this end ?
3064
30652006-10-09 15:19  gb
3066
3067        * lib/chars.lisp: Use a hashtable to map characters to their names.
3068         (Maybe a sparse vector ?).
3069
30702006-10-09 15:18  gb
3071
3072        * level-1/l1-reader.lisp: Use a hashtable to map characters to
3073        their names.  (Maybe a sparse vector ?).
3074       
3075        Define #\Sub and #\Replacement_Character.
3076
30772006-10-08 21:17  gb
3078
3079        * level-1/l1-readloop-lds.lisp: SELECT-BACKTRACE: it's been all
3080        NEW-BACKTRACE for a while now.
3081
30822006-10-08 21:16  gb
3083
3084        * lisp-kernel/lisptypes.h: Need to #include <sys/signal.h> to keep
3085        Panther happy.
3086
30872006-10-08 20:30  gb
3088
3089        * lisp-kernel/x86_print.c: Print hex with leading #x, not #0x ...
3090
30912006-10-08 20:30  gb
3092
3093        * lib/dumplisp.lisp: Do some sanity checks on SAVE-APPLICATION
3094        pathname, before it's too late ...
3095
30962006-10-08 20:29  gb
3097
3098        * level-1/l1-unicode.lisp: ASCII, some other changes.
3099
31002006-10-08 20:29  gb
3101
3102        * level-1/l1-sysio.lisp: Rearrange a few things; pass
3103        :line-termination option to MAKE-FD-STREAM.
3104
31052006-10-08 20:28  gb
3106
3107        * level-1/l1-streams.lisp: Yet another line-termination translation
3108        scheme; hopefully, the last for a while. (More tedium before it's
3109        actually installed.)
3110
31112006-10-08 20:27  gb
3112
3113        * level-1/l1-reader.lisp: Add character names for #\Line_Separator,
3114        #\Paragraph_separator.
3115
31162006-10-07 20:35  gb
3117
3118        * level-1/l1-init.lisp: *TERMINAL-CHARACTER-ENCODING-NAME*.
3119
31202006-10-07 20:34  gb
3121
3122        * level-1/l1-error-signal.lisp: In %ERROR, go straight to the
3123        kernel debugger if interactive streams aren't initialized yet.
3124        (We'd probably get there sooner or later in that case; try to get
3125        there sooner.)
3126
31272006-10-07 20:33  gb
3128
3129        * level-1/l1-boot-2.lisp: Don't initialize interactive streams via
3130        DEF-LOAD-POINTERS.  Wrap that up in a function, and set a flag when
3131        the function's called (from APPLICATION's TOPLEVEL-FUNCTION
3132        method.)
3133
31342006-10-07 20:32  gb
3135
3136        * level-1/l1-application.lisp: Handle the (new)
3137        -K/--terminal-encoding command-line argument.
3138
31392006-10-07 11:14  gb
3140
3141        * level-1/l1-streams.lisp: INPUT-STREAM-P, OUTPUT-STREAM-P are true
3142        of instances if INPUT-STREAM/ OUTPUT-STREAM, respectively (not just
3143        instances of FUNDAMENTAL-INPUT/OUTPUT-STREAM).
3144
31452006-10-07 11:13  gb
3146
3147        * lisp-kernel/lisp-debug.c: Do abort() if kernel debugger is
3148        entered when --batch is in effect.
3149
31502006-10-07 11:12  gb
3151
3152        * level-1/l1-readloop.lisp: QUIT: flush *STDOUT* in
3153        PROCESS-EXIT-APPLICATION.
3154
31552006-10-07 11:11  gb
3156
3157        * level-1/l1-processes.lisp: PROCESS-EXIT-APPLICATION: flush
3158        *stdout* here.
3159
31602006-10-06 04:49  gb
3161
3162        * level-1/l1-streams.lisp: CODE-UNIT, not CODE-ELEMENT.  Add a
3163        TRANSLATE slot to IO-BUFFER.
3164
31652006-10-06 04:40  gb
3166
3167        * level-1/l1-sockets.lisp: basic (vs fundamental) socket streams.
3168
31692006-10-06 04:39  gb
3170
3171        * level-1/l1-sysio.lisp: Real, live EXTERNAL-FORMAT structures.
3172
31732006-10-06 04:38  gb
3174
3175        * level-1/version.lisp: Bump.
3176
31772006-10-06 04:38  gb
3178
3179        * level-0/l0-misc.lisp: %COPY-STRING-TO-U8: use #\? as a
3180        replacement character.
3181
31822006-10-05 14:46  gb
3183
3184        * lisp-kernel/lisptypes.h: More register name aliases.  FMH.
3185
31862006-10-05 14:46  gb
3187
3188        * lisp-kernel/x86-asmutils64.s: get_mxcsr, set_mxcsr.
3189
31902006-10-05 14:46  gb
3191
3192        * lisp-kernel/x86-exceptions.c: Save the mxcsr, load it with a
3193        C-like value (all exceptions masked) before doing a callback.  (Not
3194        doing this meant that tcr.foreign_mxcsr was often set to a "lispy"
3195        value, where most exceptions were unmasked, and this caused FP
3196        exceptions when calling out to foreign code with the "lispy"
3197        tcr.foreign_mxcsr in effect.)
3198       
3199        Mach exception stuff arranges to return via sigreturn.  Didn't fix
3200        the spurious SIGTRAPs, but might be the right idea (and might save
3201        a context switch or two.)
3202       
3203        Mach exception stuff initializes rflags to exception rflags when
3204        arranging to resume thread at handler.  Leaving them uninitialized
3205        was causing spurious SIGTRAPs, since the trace bit(s) may have been
3206        set.
3207
32082006-10-05 06:09  gb
3209
3210        * lib/macros.lisp: WITH-ENCODED-CSTR(s).  (Hey, it's a start.)
3211
32122006-10-05 06:09  gb
3213
3214        * lib/chars.lisp: CHAR-NAME: try to use at least 4 hex digits for
3215        #\U+xxxx syntax.
3216
32172006-10-05 06:08  gb
3218
3219        * level-1/l1-unicode.lisp: UCS-2, some other changes.
3220
32212006-10-05 06:07  gb
3222
3223        * level-1/l1-sysio.lisp: Try to get
3224        line-termination/external-format stuff working.
3225
32262006-10-05 05:35  gb
3227
3228        * level-1/l1-streams.lisp: Assume that character data is always
3229        encoded as one or more 8-bit octets.
3230
32312006-10-05 04:59  gb
3232
3233        * level-1/l1-boot-2.lisp: Set class-prototypes for basic-streams
3234        just before we make the first one.
3235
32362006-10-02 08:13  gb
3237
3238        * lisp-kernel/x86-exceptions.h: Darwin uses _sigtramp glue to call
3239        handlers, so we need to make handlers do a sigreturn after
3240        switching off the signal stack, etc.
3241
32422006-10-02 08:11  gb
3243
3244        * lisp-kernel/x86-exceptions.c: Don't use SIGRETURN to return from
3245        signal_handler() on Darwin (since we depend on pseudo_sigreturn
3246        handling for cleanup of tcr pending exception and since we can't
3247        easily restore the signal mask.)
3248       
3249        (Up until this point, SIGRETURN has been a nop on Darwin.)
3250
32512006-10-02 04:59  gb
3252
3253        * lisp-kernel/lisptypes.h: Compile on ppc,ppc64 osx 10.4 and
3254        earlier.
3255
32562006-10-02 04:47  gb
3257
3258        * lisp-kernel/: lisptypes.h, ppc-exceptions.c, ppc-exceptions.h:
3259        Compile on post OSX 10.4 systems, for ppc/ppc64.  (Broken on
3260        systems <= 10.4).
3261
32622006-10-02 02:46  gb
3263
3264        * lisp-kernel/: lisptypes.h, x86-exceptions.c, x86-exceptions.h:
3265        Try to make x86-64 version compile under 10.4 again; see if this
3266        breaks post-10.4 compilation.
3267
32682006-10-02 02:33  gb
3269
3270        * lisp-kernel/: lisptypes.h, pmcl-kernel.c, x86-exceptions.c,
3271        x86-exceptions.h: Change things so that they compile for x86-64 on
3272        systems later than 10.4.  Almost certainly break 10.4 compilation
3273        in the process.  (Thanks, Apple!  Any time I can cause you to waste
3274        hours on crap like this, just let me know!)
3275
32762006-09-27 20:33  gb
3277
3278        * lib/misc.lisp: DOCUMENTATION works on character-encodings.
3279
32802006-09-27 20:33  gb
3281
3282        * level-1/l1-unicode.lisp: Character-encodings have doc strings.
3283
32842006-09-27 05:46  gb
3285
3286        * level-1/l1-sysio.lisp: More FILE-STREAM changes.  Give
3287        BASIC-STREAM classes a class prototype.
3288
32892006-09-27 05:45  gb
3290
3291        * level-1/l1-streams.lisp: Some changes to FD-STREAM
3292        initialization, to make it easier to use MAKE-FD-STREAM to open
3293        (seekable) FILE-STREAMs.
3294
32952006-09-27 05:41  gb
3296
3297        * lisp-kernel/: x86-exceptions.c, x86-exceptions.h: Decode and
3298        handle UUO_ERROR_DEBUG_TRAP_WITH_STRING.
3299
33002006-09-27 05:39  gb
3301
3302        * lisp-kernel/x86-spentry64.s: Still get very occasional SIGFPE on
3303        return from (e.g.) #_asin on x86-64 Darwin.  (#_asin often does a
3304        division-by-zero, but that should be masked when in foreign code.)
3305        Don't reload the lisp mxcsr until other registers have been popped,
3306        to make debugging easier in case it's the act of reloading the
3307        mxcsr that causes the spurious trap.)
3308
33092006-09-27 05:36  gb
3310
3311        * level-0/X86/x86-misc.lisp: DEBUG-TRAP-WITH-STRING.
3312
33132006-09-27 05:35  gb
3314
3315        * level-0/nfasload.lisp: Not sure when it happened, but %FASLOAD
3316        was parenthesized in such a way as to not return the error value on
3317        error.
3318
33192006-09-27 05:34  gb
3320
3321        * level-0/l0-misc.lisp: On x8664, use a new UUO for BUG.  (Not
3322        passing context into the kernel makes it too difficult to debug/get
3323        backtrace, etc.)
3324
33252006-09-27 05:33  gb
3326
3327        * compiler/X86/: x86-asm.lisp, x86-disassemble.lisp:
3328        UUO-ERROR-DEBUG-TRAP-WITH-STRING.
3329
33302006-09-27 05:05  gb
3331
3332        * level-1/l1-clos-boot.lisp: CLASS-PROTOTYPE method for CLASS class
3333        (mostly for BUILT-IN-CLASSes).
3334
33352006-09-26 20:49  gb
3336
3337        * level-1/l1-sysio.lisp: SELECT-STREAM-CLASS: should probably take
3338        a BASIC-P argument.
3339
33402006-09-26 20:47  gb
3341
3342        * level-1/l1-streams.lisp: More changes.  Imagine that.
3343
33442006-09-26 20:46  gb
3345
3346        * compiler/: X86/X8664/x8664-vinsns.lisp, X86/x862.lisp,
3347        optimizers.lisp: (Redundant) FIXNUM decls in LDB compiler macro.
3348
33492006-09-26 20:43  gb
3350
3351        * level-1/l1-unicode.lisp: Memory/vector encode/decode functions
3352        take/return strings, not chars.
3353       
3354        Some bom stuff.
3355
33562006-09-24 20:14  gb
3357
3358        * lib/chars.lisp: Check for assumptions about character size.
3359        Remove some %i-isms (fixnum arithmetic), make assertions about type
3360        of char-code.
3361
33622006-09-24 20:12  gb
3363
3364        * level-1/l1-aprims.lisp: Remove unused (probably ancient)
3365        CHKBOUNDS function.  Simpler STRING-START-END.
3366
33672006-09-24 20:11  gb
3368
3369        * level-1/l1-streams.lisp: Some stuff to infer line-termination.
3370        Probably belongs elsewhere; some encodings may not make it at all
3371        possible.
3372
33732006-09-24 20:07  gb
3374
3375        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3376        Load-character-constant: accept :u32const on PPC32, PPC64, too.
3377
33782006-09-24 20:00  gb
3379
3380        * level-1/l1-streams.lisp: A little more u16 stuff.  Remove
3381        line-termination slot from ioblock and corresponding arg from
3382        functions which initialize it.
3383
33842006-09-24 19:59  gb
3385
3386        * level-1/l1-sysio.lisp: Input-filter, output-filter in
3387        file-ioblock.
3388
33892006-09-24 19:58  gb
3390
3391        * level-1/l1-unicode.lisp: Buffer translation functions don't
3392        belong here; start thinking about BOM.
3393
33942006-09-24 19:57  gb
3395
3396        * compiler/X86/X8664/x8664-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
3397        it's been a :u32const for the last few weeks ...
3398
33992006-09-24 04:29  gb
3400
3401        * lib/chars.lisp: CHAR-NAME looks in the *CHARACTER-NAMES* array if
3402        the code is within its bounds.
3403
34042006-09-24 04:27  gb
3405
3406        * level-1/l1-reader.lisp: Lots more character names.  Maintain
3407        mappings in a vector and a hash table, rather than in an alist.
3408
34092006-09-24 04:26  gb
3410
3411        * level-0/nfasload.lisp, xdump/xfasload.lisp, lib/nfcomp.lisp: Doh!
3412        character constant fasl encoding ($fasl-char).
3413
34142006-09-23 05:31  gb
3415
3416        * level-1/l1-unicode.lisp: Some other iso8859-n encodings.  (Not
3417        sure which are the most important.)
3418
34192006-09-23 05:29  gb
3420
3421        * level-1/l1-sysio.lisp: Start to separate
3422        line-termination/external-format stuff.
3423
34242006-09-23 05:28  gb
3425
3426        * level-1/l1-streams.lisp: Lots-o-changes.
3427
34282006-09-23 05:28  gb
3429
3430        * level-1/l1-boot-2.lisp: Make initial interactive streams use
3431        UTF-8 (mostly for debugging utf-8 ...)
3432
34332006-09-21 04:07  gb
3434
3435        * lisp-kernel/x86-spentry64.s: don't clobber callback index when
3436        doing the DARWIN_GS_HACK stuff in _SPcallback (syscall sometimes
3437        clobbered r11, sometimes didn't.)
3438
34392006-09-21 04:05  gb
3440
3441        * lisp-kernel/pmcl-kernel.c: Require mach/port.h.
3442
34432006-09-21 04:05  gb
3444
3445        * lisp-kernel/x86-exceptions.c: Save and restore errno in
3446        callback_for_interrupt.
3447
34482006-09-21 04:04  gb
3449
3450        * lisp-kernel/lisptypes.h: Guess again about preprocessor stuff for
3451        x86-64 ucontext/mcontext on Darwin.
3452
34532006-09-21 04:02  gb
3454
3455        * level-1/l1-lisp-threads.lisp: Use underscore prefix on all Darwin
3456        flavors.
3457       
3458        Add a type decl in %nanosleep.
3459
34602006-09-21 04:01  gb
3461
3462        * compiler/X86/X8664/x8664-vinsns.lisp: sign-extend/zero-extend
3463        vinsns.
3464
34652006-09-21 04:01  gb
3466
3467        * compiler/X86/x862.lisp: sign/zero-extend ffcall, syscall return
3468        values.  (Probably only matters in a few cases, like the Darwin
3469        x86-64 version of #_nanosleep, which returns a non-sign-extended
3470        "int" value if the sleep is interruted.)
3471
34722006-09-20 06:34  gb
3473
3474        * level-1/version.lisp: Bump.
3475
34762006-09-20 04:24  gb
3477
3478        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3479        slight improvements in signed-byte boxing, typechecking.
3480
34812006-09-20 04:22  gb
3482
3483        * lib/streams.lisp: WRITE-BYTE for BASIC-STREAMs.
3484
34852006-09-20 04:21  gb
3486
3487        * lib/macros.lisp: %SWAP-U16, %SWAP-U32.
3488
34892006-09-20 04:21  gb
3490
3491        * lib/level-2.lisp: %EVAL-REDEFs for new require-xx functions.
3492
34932006-09-20 04:20  gb
3494
3495        * level-1/l1-unicode.lisp: UTF-16, in native and byte-swapped
3496        versions.  Need a "logical" UTF-16, which deals with byte-order
3497        marks and a means of installing a concrete encoding.  Needs
3498        testing.
3499
35002006-09-20 04:15  gb
3501
3502        * level-1/l1-streams.lisp: Numerous changes.
3503
35042006-09-20 04:15  gb
3505
3506        * level-1/l1-sockets.lisp: %bswap16: fix type declaration.
3507
35082006-09-20 04:14  gb
3509
3510        * compiler/X86/X8664/x8664-vinsns.lisp: vinsns for signed/unsigned
3511        byte 8,16,32,64.  Tighten up some signed-byte boxing.
3512
35132006-09-20 04:12  gb
3514
3515        * compiler/X86/x862.lisp: New require ops for signed/unsigned byte
3516        8,16,32,64
3517
35182006-09-19 01:38  gb
3519
3520        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3521        vinsns for REQUIRE-[US][8,16,32,64]
3522
35232006-09-19 01:37  gb
3524
3525        * compiler/PPC/PPC32/ppc32-arch.lisp: Need
3526        THREE-DIGIT-BIGNUM-HEADER to recognize some cases of (UNSIGNED-BYTE
3527        64).
3528
35292006-09-19 01:36  gb
3530
3531        * compiler/PPC/ppc-backend.lisp: clean up an error message.
3532
35332006-09-19 01:36  gb
3534
3535        * compiler/PPC/ppc2.lisp: handle require-[us][8,16,32,64]
3536        operators.
3537
35382006-09-19 01:34  gb
3539
3540        * compiler/optimizers.lisp: REQUIRE-TYPE: transform into
3541        require-[us][8,16,32,64] when possible.
3542
35432006-09-19 01:34  gb
3544
3545        * compiler/nx1.lisp: inline require-[us][8,16,32,64].
3546
35472006-09-19 01:33  gb
3548
3549        * compiler/nxenv.lisp: New operators for require-[us][8,16,32,64].
3550
35512006-09-19 01:15  gb
3552
3553        * compiler/X86/X8664/x8664-vinsns.lisp: x8664 vinsns for
3554        typechecking signed/unsigned bytes of sizes 8,16,32,64.
3555
35562006-09-19 00:36  gb
3557
3558        * level-1/l1-streams.lisp: More changes; hard to bootstrap.
3559
35602006-09-18 21:42  gb
3561
3562        * lib/macros.lisp: Macros for locking the input/output locks of an
3563        ioblock, assuming that it exists.
3564
35652006-09-17 00:45  gb
3566
3567        * level-1/l1-streams.lisp: more changes
3568
35692006-09-13 06:52  gb
3570
3571        * level-1/l1-io.lisp: Direct BASIC-STREAM stuff for WRITE-CHAR,
3572        WRITE-STRING, TERPRI.
3573
35742006-09-13 06:08  gb
3575
3576        * lib/streams.lisp: READ-LINE changes for BASIC-STREAMs.
3577
35782006-09-13 06:07  gb
3579
3580        * level-1/l1-unicode.lisp: GET-CHARACTER-ENCODING errors if the
3581        named encoding isn't defined.
3582       
3583        Terse PRINT-OBJECT method for CHARACTER-ENCODING.
3584
35852006-09-13 06:06  gb
3586
3587        * level-1/l1-streams.lisp: More functions in the ioblock, some
3588        support for 8-bit encodings (like utf-8).  Not finished, but
3589        getting hard to bootstrap; need to check in and build on all
3590        platforms before it gets even harder.
3591
35922006-09-12 05:34  gb
3593
3594        * level-0/l0-misc.lisp: Use %CSTR-POINTER (not
3595        %copy-ivector-to-pointer) in BUG.
3596
35972006-09-12 05:31  gb
3598
3599        * lisp-kernel/x86-exceptions.c: Enter the debugger if
3600        altstack_signal_handler is entered in foreign code.  (Maybe want to
3601        signal a lisp error in some cases, but this is currently fatal and
3602        we might as well die earlier than with a stack overflow.)
3603
36042006-09-12 05:29  gb
3605
3606        * lisp-kernel/thread_manager.c: os_get_stack_bounds(): get stack
3607        direction right on FreeBSD.  (Much better than randomly scribbling
3608        on memory in the GC, as the FreeBSD port has been doing for months
3609        now ...)
3610
36112006-09-11 21:31  gb
3612
3613        * compiler/X86/x862.lisp: x862-explicit-non-fixnum-type-p looks for
3614        intersection.
3615
36162006-09-11 21:21  gb
3617
3618        * compiler/X86/x862.lisp: Partly inline 2-arg logior, logand.
3619
36202006-09-11 20:10  gb
3621
3622        * level-1/l1-unicode.lisp: Character encodings contain a
3623        LITERAL-CHAR-CODE-LIMIT field.
3624
36252006-09-11 20:09  gb
3626
3627        * level-1/l1-streams.lisp: extend IOBLOCK a bit.  Start to provide
3628        functionality for encoded streams.
3629
36302006-09-11 20:08  gb
3631
3632        * compiler/PPC/ppc2.lisp: Partialy inline 2-arg logior/logand.
3633
36342006-09-09 04:39  gb
3635
3636        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3637        REQUIRE-CHAR-CODE: compare against boxed char-code-limit.
3638
36392006-09-09 04:21  gb
3640
3641        * level-1/l1-reader.lisp: NAME-CHAR: insist on something more
3642        reasonable for ^c syntax; don't do MOD for octal.
3643
36442006-09-09 04:21  gb
3645
3646        * compiler/X86/X8664/x8664-vinsns.lisp: require-char-code checks
3647        agains boxed Unicode limit
3648
36492006-09-09 03:56  gb
3650
3651        * lisp-kernel/x86-gc.c: purify_range(), impurify_range(): handle
3652        x8664 functions, hash tables.  (PPC versions should handle hash
3653        table key movement.)
3654
36552006-09-08 22:47  gb
3656
3657        * lib/chars.lisp: CHAR-NAME: use U+xxxx for chars with codes >=
3658        #x100.
3659
36602006-09-08 22:38  gb
3661
3662        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3663        FIXNUM->CHAR: return NIL for surrogate pairs.
3664
36652006-09-08 22:33  gb
3666
3667        * compiler/PPC/ppc2.lisp: Don't be overly unsafe in %CHAR-CODE.
3668
36692006-09-08 22:31  gb
3670
3671        * lib/ppc-backtrace.lisp: Fix CFP-LFUN (fake stack frame case,
3672        sanity-check fn/lr).
3673
36742006-09-08 18:55  gb
3675
3676        * compiler/X86/x862.lisp: Don't be so reckless in %CODE-CHAR (don't
3677        necessarily want arbitrary expressions to be compiled unsafely; do
3678        want to avoid a little type-checking sometimes.)
3679
36802006-09-08 18:52  gb
3681
3682        * compiler/X86/X8664/x8664-vinsns.lisp: FIXNUM->CHAR returns NIL
3683        for values in the surrogate-pairs range.  (There are other things
3684        that it could plausibly return NIL for.)
3685
36862006-09-08 18:51  gb
3687
3688        * lisp-kernel/x86-gc.c: Start to get purify working on x86-64; for
3689        now, just purify strings.
3690
36912006-09-08 18:48  gb
3692
3693        * lib/macros.lisp: %CODE-CHAR asserts that code is (UNSIGNED-BYTE
3694        8), which is still useful (and exactly what it used to do.)
3695
36962006-09-08 18:47  gb
3697
3698        * lib/: compile-ccl.lisp, systems.lisp: Add l1-unicode.
3699
37002006-09-08 18:44  gb
3701
3702        * level-1/level-1.lisp: Load l1-unicode.
3703
37042006-09-08 18:44  gb
3705
3706        * level-1/l1-unicode.lisp: New file.
3707
37082006-09-07 03:50  gb
3709
3710        * lisp-kernel/area.h: Larger PURESPACE_RESERVE for x8664.
3711
37122006-09-07 03:44  gb
3713
3714        * xdump/: heap-image.lisp, xfasload.lisp, xppcfasload.lisp,
3715        xx8664-fasload.lisp: Bump abi version.  Make purespace-reserve an
3716        attribute of the backend (may need more pure space on x86-64.)
3717
37182006-09-07 03:43  gb
3719
3720        * lisp-kernel/image.h: Bump abi version.
3721
37222006-09-07 03:43  gb
3723
3724        * level-1/version.lisp: Bump.
3725
37262006-09-07 02:58  gb
3727
3728        * lisp-kernel/x86-exceptions.c: FreeBSD (at least with libthr)
3729        seems to mask synchronous signals.  Unmask them in signal handlers.
3730
37312006-09-07 02:57  gb
3732
3733        * lisp-kernel/thread_manager.c: suspend_resume_handler() : ignore
3734        signal mask.
3735
37362006-09-07 02:56  gb
3737
3738        * lisp-kernel/: lisptypes.h, ppc-constants32.h, ppc-constants32.s,
3739        ppc-constants64.h, ppc-constants64.s, ppc-gc.c, x86-constants64.h,
3740        x86-constants64.s: Lose the CHAR_SIZE_32 bootstrapping conditional
3741        (char are 32 bits wide on all platforms now.)
3742
37432006-09-07 00:40  gb
3744
3745        * lisp-kernel/x86-exceptions.c: SIGBUS might be
3746        SIGNUM_FOR_PROCESS_INTERRUPT.
3747
37482006-09-07 00:12  gb
3749
3750        * lisp-kernel/x86-spentry64.s: _SPbuiltin_aref1: use
3751        box_fixnum_no_flags.
3752
37532006-09-07 00:12  gb
3754
3755        * lisp-kernel/x86-macros.s: Define box_fixnum_no_flags (uses lea
3756        vice imul).
3757
37582006-09-06 21:18  gb
3759
3760        * compiler/X86/X8664/x8664-arch.lisp: Need
3761        MIN/MAX-8-BIT-IVECTOR-SUBTAG.
3762
37632006-09-06 18:37  gb
3764
3765        * lisp-kernel/x86-spentry64.s: misc_ref/misc_set: handle 32-bit
3766        strings.
3767
37682006-09-06 18:36  gb
3769
3770        * lisp-kernel/x86-macros.s: Zero-extend early when extracting
3771        typecodes.
3772
37732006-09-06 18:36  gb
3774
3775        * level-1/l1-streams.lisp: GET-OUTPUT-STREAM-STRING: use
3776        ENSURE-SIMPLE-STRING rather than horrible COERCE nonsense.
3777
37782006-09-06 18:35  gb
3779
3780        * level-1/l1-aprims.lisp: x8664 *immheader-1-array-element-types*
3781        contains entry for 32-bit BASE-CHAR.
3782
37832006-09-06 18:35  gb
3784
3785        * compiler/X86/X8664/x8664-vinsns.lisp: zero-extend early when
3786        extracting typecodes.
3787
37882006-09-06 18:34  gb
3789
3790        * compiler/X86/X8664/: x8664-arch.lisp, x8664-backend.lisp:
3791        32-bit-chars.
3792
37932006-09-06 18:33  gb
3794
3795        * compiler/X86/: x86-backend.lisp, x862.lisp: Defer handling of the
3796        :rcontext pseudo-register name until the target backend is in
3797        place.
3798
37992006-09-06 16:39  gb
3800
3801        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: 32-bit chars
3802        stuff for x8664.
3803
38042006-09-06 16:39  gb
3805
3806        * level-1/l1-reader.lisp: kids: bourbon and editing COPY-READTABLE
3807        don't mix!
3808
38092006-09-06 16:38  gb
3810
3811        * lib/compile-ccl.lisp: :verbose argument to rebuild-ccl.
3812
38132006-09-06 16:38  gb
3814
3815        * level-1/linux-files.lisp: process input/output: don't assume
3816        8-bit strings.
3817
38182006-09-06 14:42  gb
3819
3820        * compiler/PPC/PPC64/ppc64-backend.lisp: PPC64 callbacks are always
3821        #+poweropen-target; don't conditionalize the fp-arg-ptr argument
3822        (since that creates confustion when cross-compiling from a
3823        non-poweropen host.)
3824
38252006-09-06 00:08  gb
3826
3827        * compiler/PPC/PPC64/: ppc64-arch.lisp, ppc64-backend.lisp: remove
3828        8-bit char stuff.
3829
38302006-09-06 00:08  gb
3831
3832        * compiler/X86/X8664/x8664-arch.lisp: Forgot to set char-code-limit
3833        here.
3834
38352006-09-05 22:49  gb
3836
3837        * lib/macros.lisp: In DO-GC-AREAS, don't use comma before call to
3838        AREA-SUCC.  (Cross-compilation/ word-size issue.)
3839
38402006-09-05 22:42  gb
3841
3842        * level-0/l0-utils.lisp: If ENSURE-SIMPLE-STRING has to make a copy
3843        of a non-simple string, understand char width issues.
3844
38452006-09-05 22:41  gb
3846
3847        * level-0/nfasload.lisp: Some fixnum decls in %FIND-PKG.
3848
38492006-09-05 22:40  gb
3850
3851        * level-1/l1-aprims.lisp: ppc64 ARRAY-ELEMENT-SUBTYPES includes new
3852        string type.
3853
38542006-09-05 22:39  gb
3855
3856        * level-0/PPC/ppc-array.lisp: cr3, nor c33, in ppc64 %init-misc.
3857
38582006-09-05 22:38  gb
3859
3860        * compiler/nx0.lisp: NX-FORM-TYPEP uses NX-TARGET-TYPE.
3861
38622006-09-05 09:13  gb
3863
3864        * compiler/PPC/PPC32/ppc32-backend.lisp: darwinppc32 backend uses
3865        32-bit chars, too.
3866
38672006-09-05 09:01  gb
3868
3869        * compiler/PPC/PPC32/: ppc32-arch.lisp, ppc32-backend.lisp: ppc32
3870        defaults to 32-bit chars.
3871
38722006-09-05 05:18  gb
3873
3874        * xdump/xfasload.lisp: Deal with 32-bit lisp strings.
3875
38762006-09-05 05:18  gb
3877
3878        * lisp-kernel/linuxppc/.gdbinit: Start to depend on calling
3879        print_lisp_object, since x/s doesn't deal with 32-bit lisp strings.
3880
38812006-09-05 05:17  gb
3882
3883        * lisp-kernel/ppc-gc.c: conditionalize purify_displaced_object()
3884        for char size.
3885
38862006-09-05 05:16  gb
3887
3888        * lisp-kernel/plsym.c: find_symbol(): don't assume 8-bir lisp
3889        strings.
3890
38912006-09-05 05:15  gb
3892
3893        * lisp-kernel/lisptypes.h: Try using "u8_t" and "u32_t" for
3894        lisp_char_code; this may be more portable.
3895
38962006-09-05 05:14  gb
3897
3898        * lib/sequences.lisp: SIMPLE-1D-ARRAY-SUBSEQ: handle new strings.
3899
39002006-09-05 05:13  gb
3901
3902        * level-1/linux-files.lisp: CALL-WITH-STRING-VECTOR: don't assume
3903        8-bit char/strings.
3904
39052006-09-05 05:13  gb
3906
3907        * level-1/l1-streams.lisp: Use heap-ivectors of element-type
3908        (UNSIGNED-BYTE 8) for character streams.  (Should really depend on
3909        the coding system in use.)
3910
39112006-09-05 05:09  gb
3912
3913        * level-1/l1-aprims.lisp: Various archaic string functions: don't
3914        assume 8-bit strings.
3915
39162006-09-05 05:08  gb
3917
3918        * level-0/l0-array.lisp: Handle 32-bit strings in %UVECTOR-REPLACE.
3919
39202006-09-05 05:07  gb
3921
3922        * compiler/PPC/PPC64/ppc64-arch.lisp: No "x" in simple-base-string,
3923        when #-target-8-bit-chars.
3924
39252006-09-05 05:06  gb
3926
3927        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3928        REQUIRE-CHAR-CODE: comparison of OBJECT with TAG is not a CMPI.
3929
39302006-09-05 05:05  gb
3931
3932        * compiler/PPC/ppc2.lisp: PPC2-VREF: handle the 32-bit
3933        :SIMPLE-STRING case with constant index.
3934
39352006-09-04 17:44  gb
3936
3937        * lisp-kernel/lisptypes.h: Linux doesn't define uint8_t.  Try
3938        "unsigned char", and cross fingers.
3939
39402006-09-04 17:38  gb
3941
3942        * lisp-kernel/: lisptypes.h, ppc_print.c, x86_print.c: Define
3943        lisp_char_code type, use it when printing lisp string in the kernel
3944        debugger.
3945
39462006-09-04 17:28  gb
3947
3948        * level-1/version.lisp: Bump.
3949
39502006-09-04 17:18  gb
3951
3952        * level-0/PPC/ppc-array.lisp: Sigh.  Test for 8-bit-char case was
3953        conditionalized backwards in PPC64 %INIT-MISC.
3954
39552006-09-04 17:05  gb
3956
3957        * level-1/l1-init.lisp: Initial value of CHAR-CODE-LIMIT derived
3958        from the target arch (for bootstrapping.)
3959
39602006-09-04 17:04  gb
3961
3962        * level-1/l1-reader.lisp: Use (UNSIGNED-BYTE 8) for array element
3963        type of rdtab.ttab.
3964       
3965        Don't treat (code-char #xca) as whitespace; do treat (code-char
3966        #xa0) as whitespace.  (The former happens to be how the latter was
3967        encoded in MacRoman.)
3968       
3969        Handle U+<hex> syntax in NAME-CHAR.
3970
39712006-09-04 16:16  gb
3972
3973        * compiler/PPC/PPC64/ppc64-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
3974        and the char code with #xff to get the low byte.
3975
39762006-09-04 16:15  gb
3977
3978        * compiler/PPC/PPC32/ppc32-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
3979        and the char code with #xff or 255., not with #x255.  (Cause lots
3980        of wackiness, mostly in readtable initialization.)
3981
39822006-09-04 16:12  gb
3983
3984        * compiler/PPC/ppc2.lisp: Use u32->char (which is defined) vice
3985        u8->char (which is no more) in %CHAR-CODE.
3986
39872006-09-04 06:04  gb
3988
3989        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3990        Gak.  Get guard/predicate syntax right in LOAD-CHARACTER-CONSTANT.
3991
39922006-09-04 06:03  gb
3993
3994        * level-0/PPC/ppc-array.lisp: New constants in ppc32 typecode range
3995        assertion.
3996
39972006-09-04 03:44  gb
3998
3999        * level-0/PPC/ppc-array.lisp: ppc32/ppc64 %init-misc tweaks.
4000
40012006-09-04 03:43  gb
4002
4003        * compiler/PPC/ppc-lapmacros.lisp: Typo in the (unused) 64-bit/no
4004        crf case of UNBOX-BASE-CHAR.
4005
40062006-09-04 02:30  gb
4007
4008        * level-1/l1-error-system.lisp: Object-not- (mod #x110000) type
4009        error.
4010
40112006-09-04 02:29  gb
4012
4013        * level-0/PPC/ppc-symbol.lisp: conditionalize %pname-hash for char
4014        size.
4015
40162006-09-04 02:26  gb
4017
4018        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s,
4019        ppc-constants64.h, ppc-constants64.s: Conditionalize for
4020        CHAR_SIZE_32.
4021
40222006-09-04 02:24  gb
4023
4024        * compiler/PPC/PPC32/ppc32-arch.lisp,
4025        compiler/PPC/PPC32/ppc32-vinsns.lisp,
4026        compiler/PPC/PPC64/ppc64-arch.lisp,
4027        compiler/PPC/PPC64/ppc64-vinsns.lisp, level-0/l0-array.lisp,
4028        level-0/l0-pred.lisp: Conditionalize for #-target-8-bit-chars.
4029
40302006-09-04 02:23  gb
4031
4032        * compiler/PPC/ppc2.lisp: Deal - sometimes conditionally - with
4033        32-bit characters.
4034
40352006-09-04 02:22  gb
4036
4037        * compiler/arch.lisp: ERROR-OBJECT-NOT-MOD-CHAR-CODE-LIMIT.
4038
40392006-09-03 16:03  gb
4040
4041        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
4042        conditionalize new string types.
4043
40442006-09-03 16:03  gb
4045
4046        * level-0/X86/x86-symbol.lisp: %pname-hash: conditionalize for
4047        string element size.
4048
40492006-09-03 16:02  gb
4050
4051        * compiler/X86/X8664/x8664-arch.lisp, level-0/l0-array.lisp,
4052        level-0/l0-pred.lisp: Sketch out new string types (read-time
4053        conditionalized.)
4054
40552006-09-03 15:02  gb
4056
4057        * level-0/l0-init.lisp: Put :target-8-bit-chars on *features*, for
4058        bootstrapping.
4059
40602006-09-03 14:20  gb
4061
4062        * level-1/l1-streams.lisp: More missing BASIC-STREAM methods.
4063
40642006-09-03 13:22  gb
4065
4066        * compiler/: X86/X8664/x8664-backend.lisp,
4067        PPC/PPC32/ppc32-backend.lisp, PPC/PPC64/ppc64-backend.lisp:
4068        :target-8-bit-chars on target features.
4069
40702006-09-03 13:21  gb
4071
4072        * level-0/l0-int.lisp: Some comments/indentation.
4073
40742006-09-03 13:01  gb
4075
4076        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Make
4077        CHAR-CODE-LIMIT an attribute of the target arch, for bootstrapping.
4078
40792006-09-02 11:24  gb
4080
4081        * level-1/x86-error-signal.lisp, lib/db-io.lisp: Fix typo.
4082
40832006-09-02 11:15  gb
4084
4085        * lisp-kernel/x86_print.c: hex/decimal integer printers: 3 is also
4086        a hex digit.
4087
40882006-09-02 11:11  gb
4089
4090        * lisp-kernel/x86-exceptions.c: Install a "bogus signal handler" on
4091        Darwin, to deal with apparent race conditions/Mach kernel lossage.
4092       
4093        Don't do the whole msg_server here; just do the exc_server thing.
4094       
4095        Fix a couple of Mach exception-handling bugs; at least one more may
4096        remain.
4097
40982006-09-02 11:07  gb
4099
4100        * lisp-kernel/x86-asmutils64.s: Use a hlt instruction to trap in
4101        pseudo_sigreturn.
4102       
4103        Still get spurious SIGTRAPs.
4104
41052006-09-02 11:06  gb
4106
4107        * lisp-kernel/thread_manager.c: Define some things in terms of
4108        USE_MACH_SEMAPHORES or USE_POSIX_SEMAPHORES.
4109       
4110        sem_wait_forever() does repeated timed waits, since I thought that
4111        Darwin was having trouble interrpting things that waited
4112        indefinitely.  (That might just be a GDB bug.  Who can tell ?)
4113
41142006-09-02 11:03  gb
4115
4116        * lisp-kernel/Threads.h: Define some things in terms of
4117        USE_MACH_SEMAPHORES or USE_POSIX_SEMAPHORES.  Note that as of Q3
4118        2006, Darwin still doesn't implement enough POSIX semaphore
4119        functionality to make it possible to avoid the use of Mach
4120        semaphores.
4121
41222006-09-02 11:01  gb
4123
4124        * lib/db-io.lisp:
4125        Try to avoid things like %COPY-IVECTOR-TO-IVECTOR when strings are
4126        involved.
4127
41282006-09-02 11:01  gb
4129
4130        * level-1/x86-threads-utils.lisp: Things that're %HEAP-IVECTOR-P
4131        aren't bogus objects.
4132
41332006-09-02 11:00  gb
4134
4135        * level-1/l1-streams.lisp: Try to avoid things like
4136        %COPY-IVECTOR-TO-IVECTOR when strings are involved.
4137
41382006-09-02 10:59  gb
4139
4140        * level-1/l1-events.lisp: AUTO-FLUSH-INTERACTIVE-STREAMS: use
4141        FORCE-OUTPUT.
4142
41432006-09-02 10:57  gb
4144
4145        * level-0/l0-misc.lisp: %COPY-U8-TO-STRING, %COPY-STRING-TO-U8:
4146        new, to avoid %COPY-IVECTOR-TO-IVECTOR when strings are involved.
4147       
4148        %STR-FROM-PTR: take dest string as optional arg, don't assume 8-bit
4149        chars.
4150       
4151        %GET-CSTRING: change type decl, use %GET-UNSIGNED-BYTE.
4152
41532006-09-02 10:55  gb
4154
4155        * level-0/l0-aprims.lisp: %CSTR-POINTER and %CSTR-SEGMENT-POINTER:
4156        don't assume 8-bit chars.
4157
41582006-08-28 17:35  gb
4159
4160        * lisp-kernel/ppc-spentry.s: Fix tag check in 32-bit
4161        misc_set_single_float_vector.
4162
41632006-08-28 17:01  gb
4164
4165        * xdump/faslenv.lisp: Bump max fasl version.
4166
41672006-08-28 16:48  gb
4168
4169        * lib/nfcomp.lisp: Use new string ops.  Bump current fasl version.
4170
41712006-08-28 16:33  gb
4172
4173        * xdump/faslenv.lisp: Bump (max) fasl version.
4174
41752006-08-28 16:30  gb
4176
4177        * xdump/xfasload.lisp: xloader was missing a few new ops.
4178
41792006-08-28 05:34  gb
4180
4181        * xdump/xfasload.lisp: New string stuff here, too.
4182
41832006-08-28 05:28  gb
4184
4185        * level-0/nfasload.lisp: New string stuff.
4186
41872006-08-28 04:57  gb
4188
4189        * level-1/l1-streams.lisp: More missing BASIC-STREAM methods
4190        (STREAM-LINE-COLUMN, STREAM-LISTEN, STREAM-EOFP.)
4191
41922006-08-28 04:57  gb
4193
4194        * level-1/l1-reader.lisp: Use READ-CHAR instead of
4195        STREAM-READ-CHAR, since it may be faster in some cases.
4196
41972006-08-28 04:56  gb
4198
4199        * level-1/l1-events.lisp: Unscramble auto-flush-streams stuff
4200        (don't assume ioblock-based stream.)
4201
42022006-08-28 04:55  gb
4203
4204        * level-1/l1-boot-2.lisp: Initial FD-STREAMs are BASIC-STREAMs.
4205
42062006-08-28 04:55  gb
4207
4208        * level-0/PPC/ppc-symbol.lisp: Change some REQUIRE forms; cosmetic.
4209         (Maybe not even cosmetic.)
4210
42112006-08-28 04:54  gb
4212
4213        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
4214        PPC64/ppc64-vinsns.lisp: %unbox-u8, u8-vref stuff.
4215
42162006-08-28 04:53  gb
4217
4218        * xdump/faslenv.lisp: New fasl ops for new string encodings.
4219
42202006-08-28 04:52  gb
4221
4222        * lib/macros.lisp: %CHAR-CODE: for how long has limit not been 2^16
4223        ?  For how long will limit be 2^8 ?
4224
42252006-08-28 04:51  gb
4226
4227        * level-0/nfasload.lisp: More fasl ops.
4228
42292006-08-28 04:51  gb
4230
4231        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: %UNBOX-U8,
4232        u8-vref stuff.
4233
42342006-08-28 04:50  gb
4235
4236        * compiler/arch.lisp: Add CHAR-CODE-LIMIT slot to TARGET-ARCH; may
4237        not be the best way to do this.
4238
42392006-08-26 13:58  gb
4240
4241        * release-notes.txt: Updated.
4242
42432006-08-26 13:50  gb
4244
4245        * release-notes.txt: Updated.
4246
42472006-08-26 13:50  gb
4248
4249        * darwin-x86-headers64/libc/.cvsignore: Added.
4250
42512006-08-26 03:17  gb
4252
4253        * level-1/version.lisp: Bump.  New snapshots soon, I hope.
4254
42552006-08-26 03:12  gb
4256
4257        * lisp-kernel/darwinx8664/Makefile: Pass -g in ASFLAGS; same
4258        problems as always, but avoids problems with Darwin x86-64 ld64
4259        segfaulting for unknown reasons.
4260
42612006-08-26 03:11  gb
4262
4263        * lisp-kernel/x86-exceptions.h: Need to do an explicit sigreturn on
4264        Darwin (because of the sigaltstack hacks; Darwin uses sigtramp glue
4265        that we can't just return to after switching off of the alt stack.)
4266
42672006-08-26 03:08  gb
4268
4269        * lib/numbers.lisp: Check fpu overflow bit (not underflow) when
4270        deciding whether or not to signal overflow.
4271
42722006-08-26 03:08  gb
4273
4274        * level-1/x86-trap-support.lisp: Need an indirection to access
4275        mcontext from ucontext on Darwin; invent xp-gp-regs to get at
4276        mcontext64.ss.
4277
42782006-08-26 03:06  gb
4279
4280        * level-1/x86-error-signal.lisp: Add a declaration, to make this
4281        easier to step through.
4282
42832006-08-26 03:05  gb
4284
4285        * level-0/l0-float.lisp: SINGLE-FLOAT-HALF-PI: use f0 not e0, just
4286        in case.
4287
42882006-08-25 20:35  gb
4289
4290        * level-1/l1-boot-lds.lisp, level-1/l1-events.lisp,
4291        lib/ccl-export-syms.lisp: Hyphenate ADD-AUTO-FLUSH-STREAM and
4292        REMOVE-AUTO-FLUSH-STREAM.
4293       
4294        Export them, too.
4295
42962006-08-25 20:22  gb
4297
4298        * lib/streams.lisp: READ-LINE on BASIC-INPUT-STREAM w/o
4299        STREAM-READ-LINE.
4300
43012006-08-25 20:22  gb
4302
4303        * lib/macros.lisp: HANDLER-CASE: the :NO-ERROR clause can appear at
4304        most once but doesn't have to be the last clause.
4305
43062006-08-25 20:21  gb
4307
4308        * level-1/l1-streams.lisp: BASIC-OUTPUT-STREAM isn't an
4309        INPUT-STREAM.
4310       
4311        Some STREAM-READ-LINE support for BASIC-CHARACTER-INPUT-STREAM.
4312
43132006-08-25 20:19  gb
4314
4315        * level-1/l1-readloop.lisp: PREPARE-TO-QUIT: other threads should
4316        be dead by the time that streams on *OPEN-FILE-STREAMS* are closed,
4317        so unlock those streams with extreme prejudice before closing them.
4318
43192006-08-25 20:18  gb
4320
4321        * level-1/l1-pathnames.lisp: FULL-PATHNAME: remove some weird old
4322        code that assumed that interfered with handling of relative logical
4323        pathnames.
4324
43252006-08-25 20:17  gb
4326
4327        * level-1/l1-events.lisp: Rename EVENT-POLL to
4328        AUTO-FLUSH-INTERACTIVE-STREAMS.
4329       
4330        Make AUTO-FLUSH-INTERACTIVE-STREAMS do conditional locking on each
4331        stream (doing nothing if it's not :SHARING :LOCK; unconditional
4332        locking on the *AUTO-FLUSH-STREAMS-LOCK*.
4333       
4334        ADD-AUTOFLUSH-STREAM ensures that the stream is :SHARING :LOCK.
4335       
4336        REMOVE-AUTOFLUSH-STREAM.
4337
43382006-08-25 20:13  gb
4339
4340        * level-1/l1-boot-lds.lisp: MAKE-MCL-LISTENER-STREAM uses
4341        ADD-AUTOFLUSH-STREAM, REMOVE-AUTOFLUSH-STREAM.
4342
43432006-08-23 22:59  gb
4344
4345        * lisp-kernel/x86-exceptions.c: Darwin needs to decode the mxcsr on
4346        SIGFPE.
4347       
4348        DARWIN_GS_HACK changes in altstack handlers for interrupt/suspend.
4349
43502006-08-23 22:58  gb
4351
4352        * lisp-kernel/x86-spentry64.s: x86-64 Darwin's math library is
4353        pretty casual about causing spurious exceptions, so ignore them.
4354
43552006-08-23 22:57  gb
4356
4357        * lisp-kernel/darwinx8664/.gdbinit: New file; like the linuxx8664
4358        version, with different signals to be ignored by gdb.
4359
43602006-08-23 22:56  gb
4361
4362        * lisp-kernel/x86-asmutils64.s: Using ud2b to force an exception in
4363        pseudo_sigreturn() seems to cause/be related to spurious SIGTRAPs.
4364        Use int $0 instead.
4365
43662006-08-23 22:55  gb
4367
4368        * level-1/x86-trap-support.lisp: First attempt at Darwinx8664
4369        support; may need more work.
4370
43712006-08-22 02:08  gb
4372
4373        * lisp-kernel/x86_print.c: Try not to use sprintf() (at least not
4374        for printing integers), since it seems to need access to pthread
4375        data (and calling print_lisp_object() from GDB might fail if %gs is
4376        pointing at the lisp TCR.)
4377
43782006-08-22 02:06  gb
4379
4380        * lisp-kernel/x86-spentry64.s: Unbox %arg_z (boxed entrypoint)
4381        earlier in _SPffcall, before entering foreign context.  (Need to
4382        check PPC version(s) as well.)
4383       
4384        Use DARWIN_GS_HACK to swap %gs memory around when transitioning
4385        between foreign code and lisp.
4386
43872006-08-22 02:04  gb
4388
4389        * lisp-kernel/x86-macros.s: Fix a typo.
4390
43912006-08-22 02:04  gb
4392
4393        * lisp-kernel/x86-exceptions.h: Define a few more things ...
4394
43952006-08-22 02:03  gb
4396
4397        * lisp-kernel/x86-exceptions.c: Lots of changes, especially to Mach
4398        exception handling code.
4399       
4400        Do the DARWIN_GS_HACK things to overload %gs.
4401
44022006-08-22 02:02  gb
4403
4404        * lisp-kernel/x86-asmutils64.s: atomic_and(), pseudo_sigreturn()
4405        for DarwinX8664.
4406
44072006-08-22 02:01  gb
4408
4409        * lisp-kernel/thread_manager.c: Some PPC64 conditionalizations
4410        should really have tested WORD_SIZE.
4411       
4412        DARWIN_GS_HACK stuff around suspend/resume signal handlers.  (May
4413        not be necessary.)
4414       
4415        Ensure that tcr.linear gets set on x86, even if not HAVE_TLS.
4416
44172006-08-22 01:59  gb
4418
4419        * lisp-kernel/pmcl-kernel.c: Don't really flush cache lines on
4420        x8664.
4421       
4422        Some PPC64 conditionalizations should really have tested WORD_SIZE.
4423
44242006-08-22 01:58  gb
4425
4426        * lisp-kernel/m4macros.m4: Define SYSCALL_SETS_CARRY_ON_ERROR for
4427        FreeBSDX664, DarwinX8664.
4428
44292006-08-22 01:57  gb
4430
4431        * lisp-kernel/darwinx8664/Makefile: Much smaller pagezero, much
4432        lower seg1addr.
4433       
4434        Something in the (m4-generated) symbolic info in some .s files is
4435        screwy and causes ld64 to segfault; it's currently necesssary to
4436        use "strip -S" on the assembler-generated .o files.
4437
44382006-08-22 01:55  gb
4439
4440        * scripts/openmcl64: Untested changes for Darwinx8664.
4441
44422006-08-22 01:54  gb
4443
4444        * xdump/xx8664-fasload.lisp: Fix typo in darwinx8664
4445        xload-backend-info (compiler target is :darwinx8664, not
4446        :linuxx8664).
4447
44482006-08-22 01:53  gb
4449
4450        * lib/nfcomp.lisp: Dump concatenated functions from xfunctions when
4451        cross-compiling to x86 from x86.
4452
44532006-08-22 01:52  gb
4454
4455        * lib/misc.lisp: MACHINE-VERSION:  conditionalize on :DARWIN-TARGET
4456        (not :DARWINPPC-TARGET).
4457
44582006-08-22 01:50  gb
4459
4460        * lib/foreign-types.lisp: :DARWIN-TARGET (not :DARWINPPC-TARGET).
4461
44622006-08-22 01:50  gb
4463
4464        * lib/compile-ccl.lisp: :DARWINX8664 stuff.
4465
44662006-08-22 01:49  gb
4467
4468        * level-1/version.lisp: Bump.
4469
44702006-08-22 01:49  gb
4471
4472        * level-1/l1-sysio.lisp: FILE-STREAM-EXTERNAL-FORMAT stuff for
4473        BASIC-STREAMs.
4474
44752006-08-22 01:48  gb
4476
4477        * level-1/: l1-sockets.lisp, linux-files.lisp: Conditionalize on
4478        DARWIN-TARGET, not DARWINPPC-TARGET.
4479
44802006-08-22 01:47  gb
4481
4482        * level-0/l0-init.lisp: DarwinX8664 *features*.
4483
44842006-08-22 01:47  gb
4485
4486        * level-0/l0-cfm-support.lisp: Some DARWINPPC-TARGET conditionals
4487        really want to be DARWIN-TARGET.
4488
44892006-08-22 01:46  gb
4490
4491        * compiler/X86/X8664/x8664-arch.lisp: YIELD-SYSCALL for
4492        DarwinX8664.
4493
44942006-08-22 01:45  gb
4495
4496        * compiler/X86/x862.lisp: Use CROSS-CREATE-X86-FUNCTION if not
4497        compiling natively.
4498       
4499        Fix X862-FIXUP-FWD-REFS if not native function on x86.
4500
45012006-08-22 01:44  gb
4502
4503        * compiler/X86/x86-lap.lisp: Ensure that CROSS-CREATE-X86-FUNCTION
4504        is defined, even on x86.  Use it if not compiling natively on x86.
4505
45062006-08-20 23:59  gb
4507
4508        * lisp-kernel/darwinx8664/Makefile: Define DARWIN_GS_HACK.
4509
45102006-08-20 23:58  gb
4511
4512        * lisp-kernel/x86-exceptions.c: Still needs lots of work.
4513
45142006-08-20 23:58  gb
4515
4516        * lisp-kernel/x86-exceptions.h: Include Mach stuff on Darwin;
4517        prototypes for DARWIN_GS_HACK %gs segment switching.
4518
45192006-08-20 23:57  gb
4520
4521        * lisp-kernel/x86-subprims64.s: Manipulate the %gs register when a
4522        lisp thread starts, exits and DARWIN_GS_HACK is defined.
4523       
4524        This isn't so bad, but doing it around every ff-call might be.
4525
45262006-08-20 23:56  gb
4527
4528        * lisp-kernel/x86-macros.s: DARWIN_GS_HACK macros.
4529
45302006-08-20 23:53  gb
4531
4532        * lisp-kernel/thread_manager.c: Note the need for DARWIN_GS_HACK.
4533
45342006-08-20 23:51  gb
4535
4536        * lisp-kernel/x86-asmutils64.s: DARWIN_GS_HACK hacks.
4537
45382006-08-20 23:51  gb
4539
4540        * lisp-kernel/m4macros.m4: Hope that the need for DARWIN_GS_HACK is
4541        also temporary.
4542
45432006-08-20 23:50  gb
4544
4545        * lisp-kernel/lisptypes.h: Hope that the workaround for missing
4546        mcontext64 in x8664 Darwin is temporary.
4547
45482006-08-20 20:35  gb
4549
4550        * library/darwinx664-syscalls.lisp: typo
4551
45522006-08-20 20:35  gb
4553
4554        * library/darwinx8664-syscalls.lisp: spell name right
4555
45562006-08-20 17:10  gb
4557
4558        * xdump/xx8664-fasload.lisp: :darwinx8664 stuff.
4559
45602006-08-20 17:10  gb
4561
4562        * lib/db-io.lisp: :struct-by-value: don't read-time conditionalize
4563        (do other things still use read-time conditionals ?)
4564
45652006-08-20 17:09  gb
4566
4567        * compiler/X86/X8664/x8664-backend.lisp: Darwinx8664: overload %gs,
4568        setup syscall mask.
4569
45702006-08-20 17:08  gb
4571
4572        * compiler/nx1.lisp: Handle syscall, ff-call for :darwinx8664 as
4573        well.
4574
45752006-08-20 17:06  gb
4576
4577        * library/darwinx664-syscalls.lisp: New file; or's in the bit for
4578        Unix syscalls on Darwinx8664.  (Screw: should (carefully) review
4579        word-size issues.)
4580
45812006-08-20 17:03  gb
4582
4583        * library/darwinppc-syscalls.lisp: Mask for PPC.
4584
45852006-08-20 17:02  gb
4586
4587        * level-0/l0-io.lisp, level-1/l1-sockets.lisp,
4588        level-1/linux-files.lisp: Syscall conditionalization.
4589
45902006-08-20 17:01  gb
4591
4592        * level-1/l1-streams.lisp: Syscall conditionalization.
4593       
4594        SELECTION-INPUT-STREAM created with :sharing :lock.
4595
45962006-08-20 17:00  gb
4597
4598        * examples/objc-runtime.lisp: Fencepost in
4599        POINTER-IN-CFSTRING-SECTION-P.
4600
46012006-08-20 16:16  gb
4602
4603        * library/: darwinppc-syscalls.lisp, darwin-syscalls.lisp: rename
4604
46052006-08-18 09:50  gb
4606
4607        * lisp-kernel/thread_manager.c: Enable FP underflow detection on
4608        x8664.  Should do this on PPC as well, and should probably offer
4609        some backward-compatible behavior for reader.
4610
46112006-08-18 09:47  gb
4612
4613        * compiler/X86/X8664/x8664-backend.lisp: Dress up the Darwin x86-64
4614        backend a little.
4615       
4616        Explicily define lisp-context-register slot in each backend (%gs
4617        for those imolementations that follow the standard ABI, %fs for
4618        Darwin.)
4619
46202006-08-18 09:44  gb
4621
4622        * compiler/X86/X8664/x8664-vinsns.lisp: Use :rcontext when
4623        necessary.
4624
46252006-08-18 09:43  gb
4626
4627        * compiler/X86/: x86-backend.lisp, x86-lap.lisp: Recognize
4628        :rcontext as a reference to the backend's LISP-CONTEXT-REGISTER
4629        slot.
4630
46312006-08-18 09:42  gb
4632
4633        * compiler/backend.lisp: Backend now has a lisp-context-register
4634        slot.
4635
46362006-08-18 09:42  gb
4637
4638        * compiler/X86/X8664/x8664-arch.lisp: No more (constant) rcontext.
4639
46402006-08-18 09:40  gb
4641
4642        * level-0/X86/: x86-def.lisp, x86-float.lisp, x86-io.lisp,
4643        x86-misc.lisp, x86-symbol.lisp, x86-utils.lisp: Refer to rcontext
4644        segment register as :rcontext, since x86-64 Darwin doesn't laugh
4645        and play like the other children.
4646
46472006-08-18 09:29  gb
4648
4649        * lisp-kernel/x86-exceptions.c: Copy some of the Mach exception
4650        code from the PPC version and tweak it a little; needs more work.
4651
46522006-08-18 09:27  gb
4653
4654        * lisp-kernel/x86-exceptions.h: Provide some interim Darwin
4655        conditionalization.
4656
46572006-08-18 09:25  gb
4658
4659        * lisp-kernel/m4macros.m4: Spell FREEBSD correctly.
4660       
4661        Generate an equate for HAVE_TLS.
4662
46632006-08-18 09:23  gb
4664
4665        * lisp-kernel/x86-gc.c: Changes in purify_xp().
4666
46672006-08-18 09:19  gb
4668
4669        * lisp-kernel/x86-spentry64.s: Darwin x86-64 assembler doesn't like
4670        absolute jumps, prefers slower ones.
4671       
4672        Move lock prefixes to their own lines, to satisfy you-know-who.
4673       
4674        If we don't have thread-local-storage (TLS), it's hard to avoid the
4675        get_tcr() call on each calback.
4676
46772006-08-18 09:13  gb
4678
4679        * lisp-kernel/: freebsdx8664/Makefile, linuxx8664/Makefile: Tell m4
4680        that we HAVE_TLS.
4681
46822006-08-17 10:41  phil
4683
4684        * examples/FFI/:
4685        Allocating-foreign-data-on-the-lisp-heap/ptrtest-compile.sh,
4686        Allocating-foreign-data-on-the-lisp-heap/ptrtest.c,
4687        Allocating-foreign-data-on-the-lisp-heap/ptrtest.lisp,
4688        Using-basic-calls-and-types/Readme.rtf,
4689        Using-basic-calls-and-types/typetest-compile.sh,
4690        Using-basic-calls-and-types/typetest.c,
4691        Using-basic-calls-and-types/typetest.lisp: Initial version
4692
46932006-08-17 10:40  phil
4694
4695        * examples/FFI/Allocating-foreign-data-on-the-lisp-heap/Readme.rtf:
4696        [no log message]
4697
46982006-08-08 13:07  gb
4699
4700        * lisp-kernel/darwinx8664/Makefile: New file.
4701
47022006-08-08 13:07  gb
4703
4704        * lisp-kernel/x86-exceptions.h: xp accessors for Darwinx8664.
4705
47062006-08-08 13:06  gb
4707
4708        * lisp-kernel/x86-constants64.h: REG_* constants for Darwin.
4709
47102006-08-08 13:05  gb
4711
4712        * lisp-kernel/x86-asmutils64.s: Darwin assembler doesn't like lock
4713        instructions on the same line as the locked instruction.  (Maybe
4714        there's a better way to do this, than just pretending that lock is
4715        a standalone instruction, but that lock instruction does seem to be
4716        treated as a prefix.)
4717
47182006-08-08 13:03  gb
4719
4720        * lisp-kernel/pmcl-kernel.c: Treat X8664 like PPC64 (e.g., use
4721        dlfcn) on Darwin.
4722
47232006-08-08 13:02  gb
4724
4725        * lisp-kernel/lisptypes.h: xcode 2.4 headers: <i386/ucontext.h>
4726        doesn't define mcontext64, but lots of other things reference it.
4727        #define it here for now, but that'll likely break when the headers
4728        are fixed.
4729
47302006-08-08 12:58  gb
4731
4732        * lisp-kernel/lisp-debug.c: Define Iregnames for darwinx8664.
4733
47342006-08-08 12:58  gb
4735
4736        * lisp-kernel/area.h: Define an IMAGE_BASE_ADDRESS for
4737        x8664/Darwin.
4738
47392006-07-29 08:41  gb
4740
4741        * level-1/l1-streams.lisp: STREAM-WRITE-BYTE, STREAM-WRITE-IVECTOR.
4742         :BASIC defaults to T in OPEN; BASIC-FILE-STREAM probably still
4743        needs READ/WRITE- SEQUENCE support.
4744
47452006-07-29 07:39  gb
4746
4747        * level-1/l1-aprims.lisp: ALLOCATE-RESOURCE, FREE-RESOURCE: use
4748        lock.  TODO: evaluate whether resources are worthwhile;  used for
4749        string-output-stream allocation and DELETE-DUPLICATES.
4750
47512006-07-29 06:27  gb
4752
4753        * library/lispequ.lisp: Resources aren't thread-private, need
4754        locks.
4755
47562006-07-29 06:26  gb
4757
4758        * level-1/l1-sysio.lisp: MAKE-FILE-STREAM: support for
4759        BASIC-STREAMs.
4760
47612006-07-29 06:26  gb
4762
4763        * level-1/l1-streams.lisp: OPEN handles BASIC-STREAMs; not yet the
4764        default.
4765
47662006-07-29 06:25  gb
4767
4768        * level-1/l1-reader.lisp: *PARSE-STRING-RESOURCE* probably hasn't
4769        been used in 10 or 12 years.
4770
47712006-07-29 03:40  gb
4772
4773        * level-1/l1-sysio.lisp: Most BASIC-FILE-STREAM stuff.
4774
47752006-07-29 03:40  gb
4776
4777        * library/lispequ.lisp: BASIC-FILE-STREAM.EXTERNAL-FORMAT, at least
4778        for now.
4779
47802006-07-29 03:39  gb
4781
4782        * level-1/l1-streams.lisp: BASIC-IO-STREAM; ALLOCATE-BASIC-STREAM
4783        makes one more slot in BASIC-FILE-STREAM.
4784
47852006-07-28 04:17  gb
4786
4787        * level-1/version.lisp: Bump.
4788
47892006-07-28 04:15  gb
4790
4791        * level-1/l1-streams.lisp: A couple of more (soon-to-be-used) slots
4792        in IOBLOCK.
4793
47942006-07-28 01:17  gb
4795
4796        * level-1/l1-streams.lisp: Lots of changes; lots more to go.
4797
47982006-07-28 01:16  gb
4799
4800        * level-1/l1-sockets.lisp: Pass :CHARACTER-P T to MAKE-FD-STREAM.
4801
48022006-07-28 00:58  gb
4803
4804        * examples/cocoa-listener.lisp: Want :SHARING :LOCK on listener
4805        output.
4806       
4807        (SLIME probably faces the same issue; should probably do something
4808        in the auto-flush case.  Of course, it's hard to know just what to
4809        do in that case. or at least what to do safely in that case.)
4810
48112006-07-28 00:49  gb
4812
4813        * level-1/l1-sysio.lisp: Define SELECT-STREAM-CLASS on
4814        FUNDAMENTAL-FILE-STREAM.
4815
48162006-07-28 00:49  gb
4817
4818        * lib/streams.lisp: READ-BYTE for BASIC-STREAMs.
4819
48202006-07-28 00:48  gb
4821
4822        * library/lispequ.lisp: Need an explicit
4823        BASIC-STREAM-FLAG.OPEN-CHARACTER bit, due to bivalence.
4824
48252006-07-28 00:47  gb
4826
4827        * lib/macros.lisp: BASIC-STREAM-IOBLOCK.
4828
48292006-07-25 03:48  gb
4830
4831        * compiler/optimizers.lisp: Compiler-macro for BASIC-STREAM-P.
4832
48332006-07-24 04:55  gb
4834
4835        * lib/streams.lisp: READ-CHAR bypasses STREAM-READ-CHAR for
4836        BASIC-STREAMs.
4837
48382006-07-24 04:55  gb
4839
4840        * level-1/l1-streams.lisp: Some BASIC-STREAM stuff starts to
4841        appear.
4842
48432006-07-24 04:51  gb
4844
4845        * library/lispequ.lisp: Add a plist to basic-/basic-file-stream.
4846
48472006-07-24 02:43  gb
4848
4849        * level-1/l1-sysio.lisp: FILE-STREAM is now abstract (and some
4850        sublasses may get that way); FUNDAMENTAL-FILE-STREAM is an
4851        implementation of it (and BASIC-FILE-STREAM soon will be.)
4852
48532006-07-23 03:05  gb
4854
4855        * level-1/l1-clos-boot.lisp: *class-table* entry for BASIC-STREAM.
4856
48572006-07-23 03:03  gb
4858
4859        * level-1/l1-streams.lisp: STREAM-IOBLOCK now takes 2 required args
4860        and is inlined.
4861       
4862        Some bug fixes; STREAM class no longer has slots.
4863       
4864        IOBLOCK-READ-CHAR-FUNCTION used by READ-CHAR.  %ioblock-read-byte
4865        variants; fix read-byte botch (should vector according to
4866        element-type.)
4867
48682006-07-23 02:54  gb
4869
4870        * level-1/: linux-files.lisp, l1-sysio.lisp, l1-sockets.lisp:
4871        STREAM-IOBLOCK now takes 2 required args.
4872
48732006-07-23 02:54  gb
4874
4875        * level-1/version.lisp: Bump.
4876
48772006-07-23 02:53  gb
4878
4879        * library/lispequ.lisp: Start to define what a BASIC-STREAM looks
4880        like.
4881
48822006-07-23 02:53  gb
4883
4884        * lib/macros.lisp: Move stream-ioblock access/locking macros here.
4885       
4886        Likewise WITH-EAGAIN.
4887
48882006-07-23 01:12  gb
4889
4890        * level-1/: l1-sysio.lisp, l1-streams.lisp, l1-boot-2.lisp,
4891        l1-sockets.lisp: Fix a few botches.
4892       
4893        :private arg to stream creation primitives replaced with :sharing,
4894        which can have values:
4895       
4896         :private (the default; stream can only be accessed by the creating
4897        thread)
4898         :lock  (the old, often slow, default); most accesses to stream
4899        involve locking
4900         :nil or :external (stream code doesn't enforce exclusion).
4901
49022006-07-22 23:57  gb
4903
4904        * level-1/l1-streams.lisp: Bootstrapping stuff.
4905       
4906        Move along, nothing to see here.
4907
49082006-07-20 03:43  gb
4909
4910        * level-1/: l1-boot-2.lisp, l1-sockets.lisp, l1-streams.lisp,
4911        l1-sysio.lisp: First (rough) cut at making streams "private"
4912        (effectively always locked by the "owning" thread) to reduce some
4913        locking overhead.  More to come, some of which will be a little
4914        tricky to bootstrap.
4915
49162006-07-20 01:09  gb
4917
4918        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s,
4919        ppc-constants64.h, ppc-constants64.s, x86-constants64.h,
4920        x86-constants64.s: subtag_lisp_thread -> subtag_basic_stream.
4921
49222006-07-20 01:09  gb
4923
4924        * library/lispequ.lisp: new (istruct-based) LISP-THREAD accessors.
4925
49262006-07-20 01:08  gb
4927
4928        * level-1/version.lisp: Bump.
4929
49302006-07-20 01:07  gb
4931
4932        * level-1/l1-streams.lisp: Introduce "owner" slot in basic ioblock.
4933         A little tricky to bootstrap.
4934
49352006-07-20 01:05  gb
4936
4937        * level-0/l0-misc.lisp, level-1/l1-processes.lisp,
4938        level-1/l1-clos-boot.lisp, level-1/l1-lisp-threads.lisp: Use new
4939        (istruct-based) lisp-thread accessors.
4940
49412006-07-20 01:02  gb
4942
4943        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
4944        X86/X8664/x8664-arch.lisp: Get rid of the lisp-thread subtag
4945        (lisp-thread's are ISTRUCTs now); re-use it for (to-be-introduced)
4946        BASIC-STREAM.
4947
49482006-07-15 15:02  gb
4949
4950        * level-1/l1-error-system.lisp: Insert some fresh lines in the
4951        IMPOSSIBLE-NUMBER condition :REPORT method.
4952
49532006-07-15 15:00  gb
4954
4955        * compiler/X86/x862.lisp: x862-%aref1,x862-%aset1: don't try to do
4956        simple vector operations unless we're sure that the vector is a
4957        (SIMPLE-ARRAY * (*)) and we know the element-type (these were
4958        leaping into the simple-typed-vector case when the element-type was
4959        known but the vector wasn't known to be SIMPLE.
4960
49612006-07-14 05:57  gb
4962
4963        * compiler/nx0.lisp: NX-FORM-TYPEP: unqoute constants.
4964
49652006-07-13 16:01  gb
4966
4967        * level-1/l1-typesys.lisp: SPECIALIZED-ARRAY-ELEMENT-TYPES needs to
4968        know about FIXNUM arrays.
4969
49702006-07-11 14:23  gb
4971
4972        * compiler/X86/x862.lisp: Destination and 1st source arg overlap
4973        (2-address instructions) in natural logical, arithmetic operations.
4974
49752006-07-05 02:38  gb
4976
4977        * release-notes.txt: Update.
4978
49792006-07-05 02:22  gb
4980
4981        * level-0/l0-init.lisp: Reluctantly put :MCL back on *features*;
4982        its removal needs to be better publicized.
4983
49842006-07-04 22:24  gb
4985
4986        * level-1/linux-files.lisp: Use NATIVE-TRANSLATED-NAMESTRING on the
4987        PROGRAM arg to RUN-PROGRAM.
4988
49892006-07-04 22:23  gb
4990
4991        * level-1/version.lisp: Bump.
4992
49932006-06-29 02:11  gb
4994
4995        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump
4996        image-abi-version.
4997
49982006-06-28 05:24  gb
4999
5000        * level-0/l0-cfm-support.lisp: *rtld-default* wants to be a null
5001        pointer on DarwinPPC32 (at the very least, that platform's
5002        xFindSymbol gets confused by anything but a null pointer/global
5003        lookup.)
5004
50052006-06-28 05:09  gb
5006
5007        * level-1/version.lisp: Bump.  Call the FreeBSD/AMD64 version
5008        "Alpha", which may be a bit generous (pretty regular deadlock,
5009        random thread creation errors, other bugs.)
5010
50112006-06-28 05:07  gb
5012
5013        * lisp-kernel/freebsdx8664/.gdbinit: new; awfully similar to linux
5014        x86-64 version.
5015
50162006-06-28 04:04  gb
5017
5018        * lisp-kernel/x86-exceptions.c: FreeBSD doesn't do a good job of
5019        identifying the cause of XMM FP exceptions.  Try to do that by
5020        looking at MXCSR bits.
5021
50222006-06-28 04:03  gb
5023
5024        * lisp-kernel/x86-spentry64.s: FreeBSD syscalls set carry flag to
5025        indicate error return.
5026
50272006-06-28 04:03  gb
5028
5029        * level-1/: l1-sockets.lisp, linux-files.lisp,
5030        x86-trap-support.lisp: Some FreeBSD changes/fixes.
5031
50322006-06-28 04:02  gb
5033
5034        * level-0/l0-cfm-support.lisp: Remove a #+freebsd-target
5035        breakpoint.
5036
50372006-06-27 18:08  gb
5038
5039        * level-0/l0-cfm-support.lisp: fix (?) nested #+/#-.  Maybe.
5040
50412006-06-27 17:30  gb
5042
5043        * lisp-kernel/x86-exceptions.h: Fix Linux def of IS_MAYBE_INT_TRAP.
5044
50452006-06-27 17:27  gb
5046
5047        * lisp-kernel/pmcl-kernel.c: (possibly) make get_r_debug more
5048        portable; possibly break it completely ...
5049
50502006-06-27 08:55  gb
5051
5052        * lisp-kernel/x86-exceptions.c: map the altstack
5053        read/write/execute.
5054
50552006-06-27 08:54  gb
5056
5057        * lisp-kernel/thread_manager.c: Fix os_get_stack_bounds() for
5058        FreeBSD.
5059
50602006-06-27 08:54  gb
5061
5062        * lisp-kernel/Threads.h: FreeBSD needs prototypes from
5063        <pthread_np.h>
5064
50652006-06-27 08:53  gb
5066
5067        * lib/compile-ccl.lisp: New (renamed) kernel-build-direcory for
5068        :freebsdx8664.
5069
50702006-06-27 08:53  gb
5071
5072        * level-1/x86-trap-support.lisp: freebsd x8664 GPR indices.  (Needs
5073        testing.)
5074       
5075        Don't conditionalize as much code. Indices/offsets are
5076        platform-specific, but accessors defiend in terms of them needn't
5077        be.
5078
50792006-06-27 08:51  gb
5080
5081        * level-1/x86-callback-support.lisp: Remove 1st line (bogus
5082        comment.)
5083
50842006-06-27 08:50  gb
5085
5086        * level-0/l0-init.lisp: More freebsd x8664 features.
5087
50882006-06-27 08:50  gb
5089
5090        * scripts/openmcl64: Update for FreeBSD/amd64.
5091
50922006-06-27 08:47  gb
5093
5094        * compiler/X86/X8664/x8664-backend.lisp: FreeBSD backend has
5095        :freebsdx8664-target as a target-specific-feature.
5096
50972006-06-27 05:05  gb
5098
5099        * lisp-kernel/: freebsdx8664/Makefile, freebsd8664/Makefile,
5100        freebsd8664/elf_x86_64.x: directory rename
5101
51022006-06-27 04:59  gb
5103
5104        * xdump/xx8664-fasload.lisp: FreeBSD xload-backend.
5105
51062006-06-27 04:47  gb
5107
5108        * lisp-kernel/x86-exceptions.h: Some macros for FreeBSD changes.
5109
51102006-06-27 04:46  gb
5111
5112        * lisp-kernel/x86-exceptions.c: FreeBSD changes (at least enough to
5113        recognize UUOs, which generate SIGBUS vice SIGSEGV.)
5114
51152006-06-27 04:45  gb
5116
5117        * lisp-kernel/x86-asmutils64.s: Define freebsd_sigreturn.
5118       
5119        TODO (maybe): copy the sigtramp code when evacuating the altstack.
5120
51212006-06-27 04:44  gb
5122
5123        * lisp-kernel/thread_manager.c: FreeBSD sigreturn from
5124        suspend_resume_handler.
5125
51262006-06-27 04:44  gb
5127
5128        * lisp-kernel/pmcl-kernel.c: Some FreeBSD conditionalization;
5129        get_r_debug() for ELF platforms.  (Needs testing under Linux.)
5130
51312006-06-27 04:43  gb
5132
5133        * lisp-kernel/imports.s: Don't import metering-control; do import
5134        get_r_debug().
5135
51362006-06-27 04:42  gb
5137
5138        * library/x8664-freebsd-syscalls.lisp: New file.  Should check
5139        word-size stuff (here and in other versions.)
5140
51412006-06-27 04:42  gb
5142
5143        * lib/misc.lisp: Find MACHINE-VERSION string via #_sysctl on
5144        FreeBSD.
5145
51462006-06-27 04:39  gb
5147
5148        * lib/foreign-types.lisp: Signed char nonsense (should use target
5149        ftd, not reader macros here.)
5150
51512006-06-27 04:38  gb
5152
5153        * lib/compile-ccl.lisp: Some FreeBSD support.
5154
51552006-06-27 04:36  gb
5156
5157        * level-1/: l1-sockets.lisp, l1-streams.lisp, linux-files.lisp:
5158        Some FreeBSD changes/conditionalization. Maybe not enough.
5159
51602006-06-27 04:35  gb
5161
5162        * level-1/l1-boot-1.lisp: Recognize FREEBSD platform-os-name.
5163
51642006-06-27 04:34  gb
5165
5166        * level-0/X86/: .cvsignore, X8664/.cvsignore: Ignore *fsl.
5167
51682006-06-27 04:34  gb
5169
5170        * level-0/l0-io.lisp: FreeBSD syscalls.
5171
51722006-06-27 04:33  gb
5173
5174        * level-0/l0-init.lisp: Some FreeBSD features.
5175
51762006-06-27 04:33  gb
5177
5178        * level-0/l0-cfm-support.lisp: Lots of FreeBSD conditionalization,
5179        changes.
5180       
5181        MAY HAVE BROKEN LINUX PORTS; need to recompile on those platforms
5182        and test.
5183       
5184        Now depends on an imported lisp-kernel function on ELF platforms
5185        (Linux/FreeBSD), and therefore depends on recent kernel changes.
5186
51872006-06-27 04:30  gb
5188
5189        * level-0/.cvsignore: Ignore *fsl.
5190
51912006-06-27 04:29  gb
5192
5193        * compiler/X86/X8664/x8664-backend.lisp: Fix platform-syscall-mask
5194        in freebsd backend.
5195
51962006-06-27 04:27  gb
5197
5198        * compiler/X86/X8664/x8664-arch.lisp: Don't import
5199        metering-control; do import get-r-debug (for Elf shared libraries.)
5200       
5201        A yield-syscall constant for FreeBSD. (This is all a bad idea ...)
5202
52032006-06-27 04:26  gb
5204
5205        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp:
5206        Don't import metering-control; do import get-r-debug (for Elf
5207        shared libraries.)
5208
52092006-06-27 04:26  gb
5210
5211        * compiler/nx1.lisp: Use the non-eabi syscall on freebsd as well.
5212
52132006-06-26 16:38  gb
5214
5215        * compiler/X86/X8664/x8664-vinsns.lisp:
5216        SET-BIGITS-AND-HEADER-FOR-FIXNUM-OVERFLOW: need to change the
5217        (wrong) sign of the top 3 (fixnumshift) bits only.  Where did the
5218        constant #xffff000000000000 come from ?
5219
52202006-06-26 16:35  gb
5221
5222        * compiler/X86/x862.lisp: Fix some indentation.
5223
52242006-06-25 20:32  gb
5225
5226        * compiler/X86/X8664/x8664-backend.lisp: FreeBSD x8664 backend;
5227        change initialiation of x8664 foreign-type stuff.
5228
52292006-06-25 20:31  gb
5230
5231        * compiler/backend.lisp: PLATFORM-OS-FREEBSD.
5232
52332006-06-23 19:52  gb
5234
5235        * darwin-headers/: gl/C/.cvsignore, libc/C/.cvsignore,
5236        quicktime/C/.cvsignore: Ignore Developer subdirectory.  c
5237
52382006-06-23 19:28  gb
5239
5240        * release-notes.txt: Update some.
5241
52422006-06-23 19:11  gb
5243
5244        * examples/gtk2-clock.lisp: New file.
5245
52462006-06-23 18:56  gb
5247
5248        * level-1/version.lisp: Bump.
5249
52502006-06-23 18:52  gb
5251
5252        * lib/ccl-export-syms.lisp: Export DEFLOADVAR.
5253
52542006-06-22 13:39  gb
5255
5256        * x86-headers64/gnome2/C/.cvsignore: new
5257
52582006-06-22 13:36  gb
5259
5260        * x86-headers64/: gl/C/.cvsignore, gnome2/C/populate.sh: new
5261
52622006-06-22 13:33  gb
5263
5264        * x86-headers64/: gl/.cvsignore, gl/C/populate.sh,
5265        gnome2/.cvsignore: new
5266
52672006-06-22 13:30  gb
5268
5269        * examples/opengl-ffi.lisp: #+linuxppc-target -> #+linux-target.
5270
52712006-06-22 13:28  gb
5272
5273        * level-1/version.lisp: Bump.
5274
52752006-06-21 15:15  gb
5276
5277        * lisp-kernel/: ppc-constants64.h, ppc-constants64.s,
5278        ppc-spentry.s: Define new string subtags; handle them in ppc64
5279        misc_ref/misc_set.
5280
52812006-06-21 15:14  gb
5282
5283        * level-0/PPC/ppc-array.lisp: Fix %INIT-MISC (both ppc2 and ppc64
5284        versions) to handle FIXNUM vectors, new UCS4 strings.
5285
52862006-06-21 15:14  gb
5287
5288        * level-0/l0-array.lisp: Fix %INIT-MISC (bot ppc2 and ppc64
5289        versions) to handle FIXNUM vectors, new UCS4 strings.
5290
52912006-06-21 15:12  gb
5292
5293        * darwin-headers/: carbon/C/populate.sh, cocoa/C/populate.sh,
5294        gl/C/populate.sh, libc/C/populate.sh, quicktime/C/populate.sh,
5295        webkit/C/populate.sh: Use 10.4u headers from XCode SDK.
5296
52972006-06-21 15:11  gb
5298
5299        * compiler/PPC/PPC64/ppc64-arch.lisp: Add SUBTAG-NEW-STRING.
5300
53012006-06-21 15:11  gb
5302
5303        * compiler/PPC/PPC32/ppc32-arch.lisp: MAX-32-BIT-IVECTOR-SUBTAG
5304        wasn't updated with the introduction of fixnum vectors, (unused)
5305        UCS4 "new"strings.
5306
53072006-06-16 03:50  gb
5308
5309        * examples/objc-support.lisp: Re-compute static NSString info after
5310        opening an extension framework.
5311
53122006-06-16 03:45  gb
5313
5314        * examples/webkit.lisp: Use new functions for augmenting
5315        interfaces, loading framework.
5316
53172006-06-16 03:43  gb
5318
5319        * examples/objc-runtime.lisp: Juggle things around so that add-on
5320        framework bundles get loaded on appication re-launch.
5321       
5322        REVIVE-OBJC-CLASSES tells MAP-OBJC-CLASSES not to hit the database,
5323        since (a) it may not be there, or may not be where we can find it
5324        yet and (b) it's probably more reasonable to do that than it would
5325        be to teach CLOS about classes that're "discovered" when the
5326        appication's launched on a newer OS release than it was saved on.
5327
53282006-06-16 03:39  gb
5329
5330        * examples/cocoa-application.lisp: Touch tha application bundle
5331        before saving an image into it.  That -may- convincve
5332        LaunchServices to do the right thing.
5333
53342006-06-16 03:38  gb
5335
5336        * examples/objc-support.lisp: Reload any addon/framework bundles
5337        that had been loaded before the image was saved when starting a
5338        bundled application.
5339       
5340        Juggle things around, so that that works (need to be able to use
5341        low-level bridge features early.)
5342
53432006-06-16 03:36  gb
5344
5345        * lib/db-io.lisp: Disable the #? reader macro.
5346
53472006-06-14 15:42  gb
5348
5349        * level-0/: PPC/ppc-def.lisp, X86/x86-def.lisp: Fix #+APPLY+
5350        lfun-bits.
5351
53522006-06-12 20:24  gb
5353
5354        * lib/ppc-backtrace.lisp: PPC version of
5355        %find-register-argument-value had the same sort of fencepost as the
5356        x86-64 version had a few days ago.
5357
53582006-06-10 23:52  gb
5359
5360        * lib/arglist.lisp: %ARGLIST-INTERNAL: if generic-function, return
5361        its GENERIC-FUNCTION-LAMBDA-LIST.
5362
53632006-06-10 23:51  gb
5364
5365        * level-1/l1-clos.lisp: Give reader/writer method args more
5366        descriptive names. (Barely more descriptive ...)
5367
53682006-06-10 19:25  gb
5369
5370        * level-1/l1-clos-boot.lisp: Arrgh.  In
5371        %MAYBE-STD-SETF-SLOT-VALUE-USING-CLASS, we know nothing about the
5372        type of the instance, so don't use INSTANCE.SLOTS (instead, let
5373        INSTANCE-SLOTS do a TYPECASE; it's inlined at this point.)
5374       
5375        This was keeping non-standard instances - like ObjC classes and
5376        metaclasses - from having some of their slots initialized
5377        correctly.
5378
53792006-06-10 19:22  gb
5380
5381        * examples/objc-clos.lisp: PRINT-OBJECT methods for objc-class,
5382        objc-metaclass: don't die if the class is unnamed (makes it easier
5383        to print classes for debugging during initialization.)
5384
53852006-06-10 13:05  gb
5386
5387        * level-1/ppc-trap-support.lisp: Fix LinuxPPC64 versions of
5388        XP-FPSCR-INFO and XP-DOUBLE-FLOAT.
5389
53902006-06-08 05:01  gb
5391
5392        * release-notes.txt: Update a bit.
5393
53942006-06-08 03:56  gb
5395
5396        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump
5397        image-abi-version.
5398
53992006-06-08 03:46  gb
5400
5401        * xdump/faslenv.lisp: Bump (min) fasl version.
5402
54032006-06-08 03:35  gb
5404
5405        * lib/nfcomp.lisp: Bump (current) fasl-version.
5406
54072006-06-08 03:28  gb
5408
5409        * lisp-kernel/linuxx8664/Makefile: -O2.
5410
54112006-06-08 03:26  gb
5412
5413        * xdump/faslenv.lisp: Bump (max) fasl version.
5414
54152006-06-08 03:18  gb
5416
5417        * level-1/version.lisp: Bump; give x86-64 port the benefit of the
5418        doubt and claim that it's a beta.
5419
54202006-06-08 03:18  gb
5421
5422        * lisp-kernel/darwinppc64/Makefile: Enable -O2.
5423
54242006-06-08 03:17  gb
5425
5426        * lisp-kernel/darwinppc/Makefile: Some commented-out debugging
5427        options; enable -O2.
5428
54292006-06-08 02:55  gb
5430
5431        * lisp-kernel/x86-exceptions.c: thread_signal_setup() moved here.
5432        Handle suspend (and maybe someday resume, again) signals on the
5433        altstack, since we don't really want a signal context in the middle
5434        of the tagged lisp stack ...
5435
54362006-06-08 02:52  gb
5437
5438        * lisp-kernel/thread_manager.c: thread_signal_setup() moved to
5439        PLATFORM-exceptions.c; some constants/prototypes moved to
5440        Threads.h.
5441
54422006-06-08 02:51  gb
5443
5444        * lisp-kernel/ppc-exceptions.c: suspend_resume_handler() installed
5445        via install_signal_handler(); thread_signal_setup() moved here, to
5446        do that installation.
5447
54482006-06-08 02:50  gb
5449
5450        * lisp-kernel/pmcl-kernel.c: Don't enable_fp_exceptions() twice.
5451       
5452        Don't call (or define) prepare_for_the_worst(), which is kind of
5453        too bad ...
5454
54552006-06-08 02:49  gb
5456
5457        * lisp-kernel/Threads.h: suspend/resume constants, prototypes.
5458
54592006-06-08 01:11  gb
5460
5461        * level-1/l1-files.lisp: Back out of ill-advised changed to %LOAD;
5462        let OPTIMIZE proclamations persist beyond the LOAD.
5463
54642006-06-07 21:45  gb
5465
5466        * lisp-kernel/x86-subprims64.s: No nore %tsp/%Rnext_tsp.
5467
54682006-06-07 21:38  gb
5469
5470        * lisp-kernel/x86-spentry64.s: Don't maintain current/next tsp in
5471        MMX regs.  Do maintain them in TCR.
5472
54732006-06-07 21:37  gb
5474
5475        * lisp-kernel/x86-macros.s: Don't maintain %tsp when stack-consing;
5476        update (decrement) tcr.next_tsp atomically, use %stack_temp as a
5477        temporary (old tsp), finish frame by storing into tcr.save_tsp.
5478
54792006-06-07 21:34  gb
5480
5481        * lisp-kernel/x86-exceptions.c: tsp is in the TCR now.
5482
54832006-06-07 21:33  gb
5484
5485        * lisp-kernel/x86-constants64.s: No more %tsp, %Rnext_tsp.  Define
5486        %stack_temp.
5487
54882006-06-07 21:32  gb
5489
5490        * lisp-kernel/x86-constants64.h: No more Itsp, Inext_tsp.
5491
54922006-06-07 21:30  gb
5493
5494        * level-0/X86/x86-def.lisp: %CURRENT-TSP: the tsp is in the TCR
5495        now.
5496
54972006-06-07 21:30  gb
5498
5499        * compiler/X86/X8664/x8664-vinsns.lisp: Don't try to maintain %tsp
5500        (since it no longer exists ...).  Use %stack-temp in some cases.
5501
55022006-06-07 21:29  gb
5503
5504        * compiler/X86/X8664/x8664-arch.lisp: No more %tsp or %next-tsp.
5505        %stack-temp is a symbolic name for an MMX register that can be used
5506        for (e.g.) linking frames on the temp/foreign stacks (or for any
5507        other purpose ...)
5508
55092006-06-07 15:29  gb
5510
5511        * compiler/X86/X8664/x8664-vinsns.lisp: No more %Rforeign_sp.  Keep
5512        tcr.next_tsp in sync with %next_tsp Check to ensure that
5513        %tsp,tcr.save_tsp,and tcr.next_tsp all have the same value when
5514        allocating on the temp stack.  (This will soon change, so that %tsp
5515        and %next_tsp will not be canonical and the tcr fields are, then
5516        will change so that %tsp and %next_tsp will cease to exist.)
5517
55182006-06-07 15:25  gb
5519
5520        * lisp-kernel/x86-subprims64.s: No more %Rforeign_sp.
5521
55222006-06-07 15:25  gb
5523
5524        * lisp-kernel/: x86-macros.s, x86-spentry64.s: Keep tcr.next_tsp in
5525        sync with %Rnext_tsp.  No more %Rforeign_sp, but we can use %mm5 as
5526        a temporary.
5527
55282006-06-07 15:23  gb
5529
5530        * lisp-kernel/x86-exceptions.c: Find the foreign RSP from the TCR;
5531        don't need FP regs for this.  (They're sometimes invalid and
5532        sometimes missing, which is the point of recent changes.)
5533
55342006-06-07 15:21  gb
5535
5536        * lisp-kernel/x86-constants64.s: No foreign_sp.  Rename %next_tsp
5537        to %Rnext_tsp to avoid potential m4 lossage.
5538
55392006-06-07 15:20  gb
5540
5541        * lisp-kernel/x86-constants64.h: No Iforeign_sp.
5542
55432006-06-07 15:20  gb
5544
5545        * lisp-kernel/thread_manager.c: Initialize tcr->next_tsp on X86.
5546
55472006-06-07 15:19  gb
5548
5549        * level-1/version.lisp: Bump.
5550
55512006-06-07 15:19  gb
5552
5553        * level-0/X86/x86-def.lisp: Get foreign-sp from the TCR.
5554
55552006-06-07 15:18  gb
5556
5557        * compiler/X86/X8664/x8664-arch.lisp: More bootstrapping: no more
5558        foreign-sp register (though some code still uses %mm5 as a
5559        temporary, the "canonical" foreign SP is maintained in the TCR.)
5560
55612006-06-07 04:52  gb
5562
5563        * lisp-kernel/x86-macros.s: When making a catch/unwind-protect
5564        frame, get the foreign SP out of the TCR.
5565
55662006-06-07 04:52  gb
5567
5568        * compiler/X86/X8664/x8664-vinsns.lisp,
5569        lisp-kernel/x86-spentry64.s: More bootstrapping: continue to
5570        maintain the foreign sp in both the TCR and the MMX register, but
5571        consider the TCR version to be canonical.
5572
55732006-06-07 02:46  gb
5574
5575        * compiler/X86/X8664/x8664-vinsns.lisp: More bootstrapping: if the
5576        %tsp MMX register doesn't match the value in the tcr, trap.
5577        Likewise for %foreign-sp.
5578
55792006-06-07 01:29  gb
5580
5581        * compiler/X86/X8664/x8664-vinsns.lisp, lisp-kernel/x86-macros.s,
5582        lisp-kernel/x86-spentry64.s: Try to keep tcr.save_tsp in synch with
5583        %tsp, and likewise for %Rforeign_sp/tcr.foreign_sp.
5584       
5585        (The idea is to keep the temp/foreign stack pointers in the tcr and
5586        only use the MMX registers as temporaries, since it seems that
5587        handlers for asynchronous signals can't count on the MMX register
5588        values in the signal context being correct.  This seems to either
5589        be a Linux kernel bug or ill-considered if it's intentional
5590        behavior, but it seems better to work around it this way.)
5591       
5592        This is just an early step in bootstrapping that change; it's being
5593        checked into CVS so that it doesn't get lost (and so that I can
5594        recover to this point if/when I hose things on a later step.)
5595
55962006-06-07 01:24  gb
5597
5598        * compiler/X86/X8664/x8664-arch.lisp: Add a next-tsp slot to the
5599        tcr.
5600
56012006-06-07 01:22  gb
5602
5603        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Add a
5604        next_tsp slot to the tcr.
5605
56062006-06-06 04:25  gb
5607
5608        * lib/ppc-metering.lisp: no hope
5609
56102006-06-06 04:22  gb
5611
5612        * lib/x86-backtrace.lisp: %find-register-argument-value: Current
5613        frame (cfp argument) could be an exception callback frame (xcf-p
5614        may be true of it), in which case the saved register value is in
5615        the xcf.xp context.  (Basically, this means look at the first frame
5616        if it's an xcf, otherwise skip it and start with the child.)
5617
56182006-06-06 01:48  gb
5619
5620        * compiler/X86/x86-lapmacros.lisp,
5621        compiler/X86/X8664/x8664-vinsns.lisp, lisp-kernel/x86-macros.s:
5622        Using imul to box fixnums is smaller and seems to be faster than
5623        using lea with a scale factor.
5624
56252006-06-05 23:56  gb
5626
5627        * lisp-kernel/thread_manager.c: I don't think that
5628        suspend_resume_handler wants to have suspend signals unmasked, does
5629        it ?
5630
56312006-06-05 12:43  gb
5632
5633        * library/chud-metering.lisp: area-readonly is in ccl:: now.
5634
56352006-06-03 03:11  gb
5636
5637        * lisp-kernel/x86-spentry64.s: In _SPnthrowvalues: don't skip the
5638        last catch frame, do skip others (test was backwards.  As it
5639        probably had been in the single-value case at one point.)
5640
56412006-06-02 03:48  gb
5642
5643        * lib/encapsulate.lisp: Don't print trace indent/outdent stuff to
5644        *terminal-io*; do print it to *trace-output*.
5645
56462006-06-01 20:20  gb
5647
5648        * level-0/l0-array.lisp: There's a T in subtag.
5649
56502006-06-01 20:17  gb
5651
5652        * compiler/X86/x862.lisp: X862-MVCALL wasn't handling things like:
5653       
5654        (multiple-value-bind (...)   (multiple-value-call #'foo ...))
5655       
5656        correctly.
5657
56582006-06-01 20:16  gb
5659
5660        * compiler/nx0.lisp: Defvars for global optimization quantities
5661        moved to level-0.
5662
56632006-06-01 20:15  gb
5664
5665        * level-1/l1-files.lisp: Bind the variables which hold global
5666        compiler optimization quantities, since people persist in doing
5667        things like:
5668       
5669        (declaim (optimize
5670        <something-that-they-probably-think-has-local-effects>))
5671       
5672        without bothering to use EVAL-WHEN or otherwise thinking very
5673        clearly.
5674       
5675        Note that this means that anyone who wanted such a declamation to
5676        have persistent global effects is now SOL.  Blame whoever wrote
5677        (for instance) clx/glx.lisp.
5678
56792006-06-01 20:11  gb
5680
5681        * level-0/l0-init.lisp: Move *nx-speed*, etc here, so that they can
5682        be referenced early in the cold load.
5683
56842006-06-01 13:13  gb
5685
5686        * lib/x86-backtrace.lisp: In %FIND-REGISTER-ARGUMENT-VALUE, pass a
5687        pointer to ENCODED-GPR-LISP if we have to get the register value
5688        from an exception frame.
5689
56902006-05-30 19:27  gwking
5691
5692        * tools/asdf.lisp: Updated asdf to the current CVS head (revision
5693        1.98)
5694
56952006-05-30 17:12  gb
5696
5697        * level-1/version.lisp: bump again.
5698
56992006-05-30 16:31  gb
5700
5701        * lisp-kernel/x86-spentry64.s: When unwinding the stack, try to
5702        ensure that tcr.xframe is updated from the catch frame (a) in all
5703        execution paths and (b) before RSP is updated.
5704
57052006-05-30 16:30  gb
5706
5707        * level-0/l0-array.lisp, lib/sequences.lisp: Handle (simple) fixnum
5708        vectors.
5709
57102006-05-30 16:29  gb
5711
5712        * level-1/l1-typesys.lisp: Add a DEFTYPE for fixnum vectors.
5713
57142006-05-30 16:29  gb
5715
5716        * release-notes.txt: Update some more ...
5717
57182006-05-30 16:23  gb
5719
5720        * lib/ccl-export-syms.lisp: There are two 'e's in UNPROCESSED.
5721        Apparently.
5722
57232006-05-30 16:15  gb
5724
5725        * release-notes.txt: updated
5726
57272006-05-30 01:58  gb
5728
5729        * level-1/version.lisp: Bump.
5730
57312006-05-30 01:48  gb
5732
5733        * lisp-kernel/x86-exceptions.c: altstack_interrupt_handler: having
5734        made copies of the signal context and siginfo on the foreign stack,
5735        don't pass the originals to interrupt_handler().
5736       
5737        (altstack_interrupt_handler() looks suspiciously like
5738        altstack_signal_handler(), which probably had the same bug a few
5739        months ago ...)
5740       
5741        Since the alternate signal stack (as we use it) isn't reentrant,
5742        the next signal (perhaps a suspend signal) overwrote the context.
5743        Which is one reason to have made a copy in the first place ...
5744
57452006-05-30 01:43  gb
5746
5747        * level-1/l1-lisp-threads.lisp: In THREAD-ENABLE, use the new
5748        %TIMED-WAIT-ON-SEMAPHORE-PTR; regardless of whether or not a
5749        timeout is a good idea here, make sure that the timeout isn't
5750        fooled by #$EINTR.
5751
57522006-05-30 01:39  gb
5753
5754        * level-1/linux-files.lisp: Rename the old
5755        %TIMED-WAIT-ON-SEMAPHORE-PTR to %PROCESS-WAIT-ON-SEMAPHORE-PTR,
5756        since it basically waits indefinitely.
5757       
5758        Split out the functionality in TIMED-WAIT-ON-SEMAPHORE into a new
5759        %TIMED-WAIT-ON-SEMAPHORE-PTR function, so that it's possible to do
5760        a "timed wait" that handles interruptions, etc. when the caller
5761        just has a "raw" (native) semaphore.
5762       
5763        Change callers, endure warnings.  New binaries soon.
5764
57652006-05-30 01:36  gb
5766
5767        * level-0/l0-misc.lisp: When waiting for a lock, use the new
5768        %PROCESS-WAIT-ON-SEMAPHORE-PTR.
5769
57702006-05-29 22:34  gb
5771
5772        * lisp-kernel/x86-exceptions.c: The
5773        clear_tcr_save_allocptr_tag_instruction opcode array was one byte
5774        too small ...
5775
57762006-05-29 14:03  gb
5777
5778        * level-1/linux-files.lisp: In %OS-GETCWD: don't trust
5779        syscall-based getcwd (it doesn't work as it once did/is documented
5780        to on linuxx8664); use the library function on all platforms.
5781
57822006-05-29 14:02  gb
5783
5784        * lisp-kernel/x86-exceptions.c: Clear interrupt_pending flag before
5785        processing interrupt.
5786
57872006-05-28 17:01  gb
5788
5789        * lisp-kernel/ppc-exceptions.c: If we handle a
5790        SIGNAL_FOR_PROCESS_INTERRUPT trap, clear tcr->interrupt_pending.
5791       
5792        Back out of the hack that tried to work around a Darwin bug (FP
5793        exception flags were cleared in the MSR after a thread had been
5794        interrupted via pthread_kill()), since the fix seems not to be
5795        GC-safe.
5796       
5797        Add some debugging code to print when the exception lock is
5798        acquired/released.
5799
58002006-05-28 01:10  gb
5801
5802        * level-1/solaris-files.lisp: long gone
5803
58042006-05-23 20:25  gb
5805
5806        * compiler/: PPC/ppc2.lisp, X86/x862.lisp: D'oh!
5807
58082006-05-22 22:59  gb
5809
5810        * darwin-headers/addressbook/: C/populate.sh, .cvsignore,
5811        C/.cvsignore: New file.
5812
58132006-05-22 22:57  gb
5814
5815        * level-1/l1-processes.lisp: PROCESS-SUSPEND: don't allow current
5816        thread to suspend itself.
5817
58182006-05-22 22:57  gb
5819
5820        * compiler/PPC/PPC64/ppc64-vinsns.lisp: Use the SP red zone to load
5821        SINGLE-FLOAT constants.
5822       
5823        SINGLE-FLOAT foreign args are stored in the low 32 bits of each
5824        64-bit arg word, regardless of whether they're also passed in
5825        f1-f13 as well.
5826
58272006-05-22 22:55  gb
5828
5829        * compiler/PPC/PPC64/ppc64-backend.lisp: Callback fixes:
5830        SINGLE-FLOATs passed in memory are passed in the low 32 bits of the
5831        64-bit word.
5832
58332006-05-22 22:54  gb
5834
5835        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Use the red zone (on SP)
5836        for LOAD-SINGLE-FLOAT-CONSTANT, LOAD-DOUBLE-FLOAT-CONSTANT.
5837
58382006-05-22 22:53  gb
5839
5840        * compiler/PPC/PPC32/ppc32-backend.lisp: "poweropen ABI" (Darwin)
5841        callback fixes: SINGLE-FLOATs passed in memory are passed as ...
5842        SINGLE-FLOATs, so don't use %GET-SINGLE-FLOAT-FROM-DOUBLE-PTR to
5843        access them.
5844
58452006-05-22 03:53  gb
5846
5847        * level-1/version.lisp: Bump.
5848
58492006-05-22 03:32  gb
5850
5851        * compiler/X86/X8664/x8664-vinsns.lisp: fixnum->float vinsns.
5852
58532006-05-22 03:31  gb
5854
5855        * compiler/X86/x862.lisp: Numeric contagion on binops,
5856        fixnum->float.
5857
58582006-05-22 03:29  gb
5859
5860        * compiler/PPC/ppc2.lisp: Do stupid self-tail-call tricks on PPC as
5861        well.
5862
58632006-05-22 03:28  gb
5864
5865        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Load tcr.cs-limit a little
5866        earlier when creating a stack frame inline.  Doesn't seem to affect
5867        latency much.
5868
58692006-05-22 03:27  gb
5870
5871        * compiler/X86/x862.lisp: Comment formatting on the first line of
5872        the file.
5873
58742006-05-22 03:26  gb
5875
5876        * compiler/nx0.lisp: Check argument counts on self-calls.  (AFAIK,
5877        this hasn't been done for at least 20 years in MCL/OpenMCL ...)
5878
58792006-05-21 07:34  gb
5880
5881        * compiler/X86/x862.lisp: Long-standing X862-COPY-REGISTER bug.
5882
58832006-05-21 07:32  gb
5884
5885        * compiler/PPC/ppc2.lisp: Implement (late) div2; use (simple)
5886        numeric-contagion stuff for arithmetic ops.
5887
58882006-05-21 07:31  gb
5889
5890        * compiler/nx1.lisp: Use div2 for /-2.
5891
58922006-05-21 07:31  gb
5893
5894        * compiler/nx0.lisp: Binop numeric contagion.
5895
58962006-05-21 06:49  gb
5897
5898        * compiler/nx0.lisp: ACODE-REAL-CONSTANT-P.
5899
59002006-05-21 06:49  gb
5901
5902        * compiler/PPC/ppc2.lisp: Weird case in ppc2-copy-register wasn't
5903        weird, just wrong.
5904
59052006-05-21 06:17  gb
5906
5907        * level-0/l0-pred.lisp: PPC64: %typep recognizes
5908        SIMPLE-FIXNUM-VECTORs.
5909
59102006-05-21 06:16  gb
5911
5912        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
5913        Fixnum vector stuff.  FIXNUM->FPR uses SP red zone.
5914
59152006-05-21 06:16  gb
5916
5917        * compiler/PPC/PPC32/ppc32-arch.lisp,
5918        compiler/PPC/PPC64/ppc64-arch.lisp, lisp-kernel/ppc-constants64.h,
5919        lisp-kernel/ppc-constants64.s, lisp-kernel/ppc-spentry.s: Fixnum
5920        vector stuff.
5921
59222006-05-21 06:15  gb
5923
5924        * compiler/PPC/ppc2.lisp: %fixnum-to-single, %fixnum-to-double.
5925       
5926        Fixnum vector vref/vset.
5927
59282006-05-21 06:15  gb
5929
5930        * compiler/: nx1.lisp, nxenv.lisp: %fixnum-to-single,
5931        %fixnum-to-double.
5932
59332006-05-21 06:14  gb
5934
5935        * compiler/nx0.lisp: More operator result types.
5936
59372006-05-21 04:35  gb
5938
5939        * level-0/l0-array.lisp, level-0/l0-pred.lisp,
5940        level-1/l1-aprims.lisp, level-1/l1-clos-boot.lisp: Integrate
5941        specialized FIXNUM array-element-type into type system, CLOS.
5942        (Knock wood.)
5943
59442006-05-21 04:34  gb
5945
5946        * lisp-kernel/x86-spentry64.s: Support for (out-of-line)
5947        fixnum-vector access (.SPmisc_ref, .SPmisc_set).
5948
59492006-05-21 04:33  gb
5950
5951        * compiler/X86/X8664/x8664-arch.lisp,
5952        lisp-kernel/x86-constants64.h, lisp-kernel/x86-constants64.s: New
5953        subtag for :fixnum-vector.
5954
59552006-05-21 04:32  gb
5956
5957        * compiler/X86/x862.lisp: 64-bit vset wasn't handling non-constant
5958        indices correctly.
5959       
5960        64-bit vset, vref: handle :FIXNUM-VECTOR.
5961
59622006-05-21 00:22  gb
5963
5964        * level-0/l0-aprims.lisp: Spell istruct-typep correctly.
5965
59662006-05-20 18:13  gb
5967
5968        * compiler/X86/x862.lisp: Do some self-tail calls (fixed args, no
5969        stack args) without restoring/re-saving NVRs.
5970
59712006-05-19 15:07  gb
5972
5973        * level-1/linux-files.lisp: RUN-PROGRAM: waiting for the child's
5974        completion semaphore (when :WAIT is true) happens inside an
5975        UNWIND-PROTECT cleanup and therefore needs to explicitly allow
5976        interrupts.
5977
59782006-05-19 15:06  gb
5979
5980        * level-0/l0-aprims.lisp: Add SEMAPHOREP, make it a type-predicate
5981        for SEMAPHORE.
5982
59832006-05-19 12:23  gwking
5984
5985        * lib/misc.lisp: Added help and redisplay to select-item-from-list.
5986        Also changed it so that it displays all items before trying to get
5987        an answer.
5988
59892006-05-19 12:00  gwking
5990
5991        * .cvsignore: The *fsl wasn't cutting it for me..., take two
5992
59932006-05-19 11:57  gwking
5994
5995        * .cvsignore: The *fsl wasn't cutting it for me...
5996
59972006-05-19 11:50  gb
5998
5999        * level-1/version.lisp: Bump.
6000
60012006-05-19 11:49  gb
6002
6003        * level-1/l1-streams.lisp: Change the EVAL-WHEN that requires
6004        syscall definitions so that it can be moused on.
6005
60062006-05-19 11:48  gb
6007
6008        * compiler/X86/X8664/: x8664-arch.lisp, x8664-vinsns.lisp:
6009        .SPeabi-syscall -> .SPsyscall.
6010
60112006-05-19 11:45  gb
6012
6013        * compiler/X86/x862.lisp: Inline ADD2, unless we know that at least
6014        one arg couldn't be a fixnum.  (Should do the same for SUB2.) This
6015        does indeed burn cache lines, but going out of line isn't cheap
6016        either.  (100 million iterations of (+ x (+ y z)) - where X Y and Z
6017        are in fact fixnums and no overflow is involved - seems to be about
6018        2X faster when inlined this way.  Not sure if that'll be the case
6019        on PPC.)
6020
60212006-05-19 11:40  gb
6022
6023        * compiler/nx0.lisp: Use NX-TARGET-TYPE in some of the acode-type
6024        stuff.
6025
60262006-05-18 14:47  gb
6027
6028        * lisp-kernel/ppc-spentry.s: When unwinding the stack (hopefully,
6029        in all places that do so ...), update tcr.xframe from
6030        catch_frame.xframe on all execution paths (in particular, do so
6031        before SP is restored from the catch_frame, since a tcr.xframe
6032        "beyond" SP is clearly bogus.)
6033
60342006-05-18 02:34  gb
6035
6036        * level-1/version.lisp: Bump.
6037
60382006-05-17 23:12  gb
6039
6040        * compiler/PPC/ppc2.lisp: "late" acode-type stuff (add2/sub2/mul2)
6041        for PPC, too.
6042
60432006-05-17 22:53  gb
6044
6045        * level-0/X86/x86-float.lisp: %FP-ERROR-FROM-STATUS: don't cons an
6046        &REST arg.  Should do a quicker test (logandc2 and a shift) to see
6047        if any unmasked exceptions were raised before even calling this ...
6048
60492006-05-17 22:51  gb
6050
6051        * compiler/X86/X8664/x8664-vinsns.lisp: If we have to spill
6052        SINGLE-FLOAT registers, spill them (boxed) on the vstack.
6053
60542006-05-17 22:50  gb
6055
6056        * compiler/X86/x862.lisp: Work harder to find acode types in some
6057        cases.
6058
60592006-05-17 22:50  gb
6060
6061        * compiler/X86/x86-disassemble.lisp: Handle (new-style) byte
6062        registers in OP-REG.
6063       
6064        Don't want to use RET very often if at all, but disassembler should
6065        treat as as a :JUMP.
6066
60672006-05-17 22:48  gb
6068
6069        * compiler/nxenv.lisp: MUL2, DIV2.
6070
60712006-05-17 22:48  gb
6072
6073        * compiler/: nx0.lisp, nx1.lisp: A little of that there
6074        type-inferencing (or, more accurately, paying a little more
6075        attention here and there.)
6076
60772006-05-12 20:40  gwking
6078
6079        * examples/addressbook.lisp: added examples/addressbook.lisp
6080
60812006-05-11 18:42  gb
6082
6083        * level-1/l1-application.lisp: Stop processing command-line
6084        arguments when "--" is encountered; anything after that "--" is
6085        retained in CCL:*UNPROCESSED-COMMAND-LINE-ARGUMENTS*.
6086
60872006-05-11 18:42  gb
6088
6089        * lib/ccl-export-syms.lisp: Export command-line stuff
6090
60912006-05-11 18:40  gb
6092
6093        * level-1/l1-processes.lisp: Lennart Staflin's fix to PRINT-OBJECT
6094        method for LOCKs.
6095
60962006-05-11 18:39  gb
6097
6098        * level-1/l1-files.lisp: In %DIFECTORY-LIST-NAMESTRING: all strings
6099        are base-strings (and always have been in OpenMCL.)
6100
61012006-05-11 18:37  gb
6102
6103        * level-1/l1-sockets.lisp: CCL:BASE-CHARACTER -> CL:BASE-CHAR.
6104
61052006-05-11 08:11  gwking
6106
6107        * lib/db-io.lisp: Added a check that the directory exists to
6108        fid-open-output in order to make it clearer what is wrong when one
6109        is unable to rebuild interface files because they are trying to do
6110        so in a place without FFI files to read!
6111
61122006-05-11 05:14  gb
6113
6114        * level-1/version.lisp, lisp-kernel/image.h, xdump/heap-image.lisp:
6115        Bump lisp-implementation-version, image-abi-version.
6116
61172006-05-11 05:04  gb
6118
6119        * xdump/faslenv.lisp: Bump (min) fasl version.
6120
61212006-05-11 04:52  gb
6122
6123        * lib/nfcomp.lisp: Bump (current) FASL version.
6124
61252006-05-11 04:52  gb
6126
6127        * level-1/l1-files.lisp: FASL-FILE-P looks for inital #xFF00
6128        (big-endian) instead of just #xff, to avoid UTF-16 BOM confusion.
6129
61302006-05-11 04:35  gb
6131
6132        * xdump/faslenv.lisp: Bump (max) fasl version.
6133
61342006-05-11 04:32  gb
6135
6136        * compiler/X86/X8664/x8664-backend.lisp: Little-endianness is a
6137        target-specific feature.
6138
61392006-05-11 03:35  gb
6140
6141        * compiler/PPC/PPC32/ppc32-arch.lisp,
6142        compiler/PPC/PPC32/ppc32-vinsns.lisp, level-0/l0-array.lisp,
6143        level-0/l0-pred.lisp, level-0/PPC/ppc-array.lisp,
6144        level-1/l1-aprims.lisp, level-1/l1-clos-boot.lisp,
6145        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
6146        lisp-kernel/ppc-spentry.s, xdump/xppcfasload.lisp: Juggle PPC32
6147        typecodes around: get rid of the (unused) old 16-bit string; add an
6148        (as yet unused) UCS-4 string type.
6149       
6150        These changes generally involve cross-compilation (or some very
6151        tricky bootstrapping that I didn't attempt)  FASL versions and
6152        kernel ABI versions will need to change, and new binaries will be
6153        made available soon.
6154
61552006-05-10 20:20  gb
6156
6157        * compiler/PPC/ppc-lapmacros.lisp,
6158        compiler/PPC/PPC32/ppc32-arch.lisp,
6159        compiler/PPC/PPC32/ppc32-vinsns.lisp,
6160        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s:
6161        Change CHARCODE-SHIFT constant on PPC32, so that the (currently
6162        8-bit) character code is stored in the #x0000xx00 byte of a
6163        CHARACTER, rather than in the #x00xx0000 byte,  This is hard to
6164        bootstrap natively (which is why I was trying to make ppc64->ppc32
6165        cross-compilation work.)
6166       
6167        Change related macros/visnsns as well.
6168
61692006-05-10 19:00  gb
6170
6171        * xdump/xppcfasload.lisp: Reintroduce a TARGET-ARCH-CASE, but I
6172        think that this is just hard to do right the way that it's being
6173        done.
6174
61752006-05-10 18:59  gb
6176
6177        * level-1/ppc-threads-utils.lisp: BOGUS-THING-P is hard to do right
6178        when cross-compiling (because word-size differences aren't handled
6179        correctly by macros.)  Until the macros are fixed, don't even try
6180        ...
6181
61822006-05-10 18:58  gb
6183
6184        * level-1/l1-clos-boot.lisp: In NEW-CLASS-WRAPPER-HASH-INDEX, user
6185        target::target-most-positive-fixnum (not the host's
6186        MOST-POSITIVE-FIXNUM).
6187
61882006-05-10 18:57  gb
6189
6190        * compiler/: nx0.lisp, nx1.lisp: Use NX-TARGET-TYPE in at least a
6191        few places.
6192
61932006-05-10 18:56  gb
6194
6195        * compiler/nx.lisp: XCOMPILE-LAMBDA binds *TARGET-BACKEND*.
6196
61972006-05-10 18:55  gb
6198
6199        * compiler/nx-basic.lisp: NX-TARGET-TYPE: there may be other
6200        differences between host and target types, but try to turn
6201        references to FIXNUM to the appropriate target-specific type.
6202
62032006-05-09 21:01  gb
6204
6205        * compiler/PPC/PPC32/ppc32-vinsns.lisp: UNBOX-BASE-CHAR just checks
6206        that the lowbyte is SUBTAG-CHARACTER; it used to rotate things
6207        around to check the high bits of the char code, but all chars have
6208        been base-chars for several years now ...
6209       
6210        UNBOX-CHARACTER was unused.
6211       
6212        (This is the first step of what may be several bootstrapping steps
6213        to change PPC32::CHARCODE-SHIFT from 16 to 8, so that we have 24
6214        easily-accessed char-code bits on PPC32.)
6215
62162006-05-09 11:48  gb
6217
6218        * lisp-kernel/xlbt.c: No psn in cs_area.
6219
62202006-05-09 02:42  gb
6221
6222        * lisp-kernel/: gc.h, ppc-gc.c: Back out of the extra Boolean arg
6223        to mark_simple_area_range().
6224
62252006-05-09 02:33  gb
6226
6227        * compiler/PPC/: PPC32/ppc32-backend.lisp,
6228        PPC64/ppc64-backend.lisp: Endianness is also target-specific.
6229
62302006-05-09 02:25  gb
6231
6232        * lisp-kernel/thread_manager.c: Thread stack areas are "owned by"
6233        the containing TCR, to make low-level debugging a bit easier.
6234
62352006-05-09 02:25  gb
6236
6237        * lisp-kernel/ppc-gc.c: Mostly some added consistency/sanity checks
6238        and debugging printfs.
6239
62402006-05-09 02:24  gb
6241
6242        * lisp-kernel/ppc-exceptions.h: Note that pc_luser_xp() needs an
6243        extra (signed_natural *) arg, for allocptr displacement.
6244
62452006-05-09 02:23  gb
6246
6247        * lisp-kernel/ppc-exceptions.c: Lots of #ifdef DEBUG fprintfs.
6248       
6249        Change the way that pc_luser_xp() and normalize_tcr() handle alloc
6250        regs/ saved TCR fields.  The general idea is that the after they
6251        run, all threads have tcr->save_allocptr/tcr_save_allocbase set to
6252        VOID_ALLOCPTR; if the thread was interrupted in lisp code, the
6253        allocbase register will be set to VOID_ALLOCPTR and allocptr will
6254        be set to either VOID_ALLOCPTR or to VOID_ALLOCPTR-disp.
6255       
6256        On an interrupt, the caller needs to pass in a signed_natural * to
6257        pick up the allocptr displacement (if consing was interrupted at
6258        the alloc trap); the interrupt handler uses this value to fix up
6259        alloptr when it returns if consing was interrupted.
6260       
6261        This is all pretty clearly right, but something still goes wrong
6262        under some combination of high thread stress, frequent allocation,
6263        and blocking ff-calls.
6264
62652006-05-09 02:17  gb
6266
6267        * lisp-kernel/plbt.c: No psn currently available.
6268
62692006-05-09 02:16  gb
6270
6271        * lisp-kernel/lisp-debug.c: Bug() passes xp to lisp_Debugger(),
6272        where it may come in handy ...
6273
62742006-05-09 02:16  gb
6275
6276        * lisp-kernel/gc.h: mark_simple_area_range() takes an added Boolean
6277        arg.
6278
62792006-05-09 02:13  gb
6280
6281        * lisp-kernel/area.h: area struct's owner is a (TCR *).
6282
62832006-05-09 02:12  gb
6284
6285        * level-1/l1-error-system.lisp: $xfunbnd was used after all.
6286        Restore it.
6287
62882006-05-09 02:12  gb
6289
6290        * level-0/l0-error.lisp, library/lispequ.lisp,
6291        lisp-kernel/errors.s: $xfunbnd was used after all.  Restore it, and
6292        recycle $XNOCDR.
6293
62942006-05-09 02:11  gb
6295
6296        * compiler/PPC/PPC64/ppc64-backend.lisp: :64-bit-target is ...
6297        target-specific.
6298
62992006-05-09 02:11  gb
6300
6301        * compiler/PPC/PPC32/ppc32-backend.lisp: :32-bit-target is ...
6302        target-specific.
6303
63042006-05-09 00:40  gb
6305
6306        * level-1/l1-lisp-threads.lisp: Foreign thread callback stuff moved
6307        here.
6308
63092006-05-09 00:39  gb
6310
6311        * level-1/x86-threads-utils.lisp: Support for BOGUS-THING-P on
6312        x8664.
6313
63142006-05-09 00:39  gb
6315
6316        * level-1/ppc-threads-utils.lisp: Move foreign-thread callback
6317        stuff up to l1-lisp-threads.lisp.
6318
63192006-05-08 22:58  gb
6320
6321        * lisp-kernel/ppc-spentry.s: misc_ref/misc_set jump tables on PPC64
6322        handle array and vector headers.
6323
63242006-05-08 22:57  gb
6325
6326        * library/lispequ.lisp: Synch errors $xbadvec, $xsetbadvec (neither
6327        of which should ever happen) with the kernel.
6328
63292006-05-08 22:56  gb
6330
6331        * level-1/l1-processes.lisp: %PROCESS-PRESET-INTERNAL doesn't need
6332        the TCR either.
6333
63342006-05-08 22:55  gb
6335
6336        * level-1/l1-error-system.lisp: $XFUNBND is no more.
6337
63382006-05-08 22:55  gb
6339
6340        * level-0/l0-error.lisp: Define the format strings for $xbadvec,
6341        $xsetbadvec.
6342
63432006-05-08 03:26  gb
6344
6345        * lisp-kernel/x86-spentry64.s: .SPstkconslist_star: ensure that
6346        flags are set to the result of decrementing %nargs at the end of
6347        the loop.
6348
63492006-05-08 03:25  gb
6350
6351        * level-1/x86-error-signal.lisp: uuo-error-udf: %err-disp-internal
6352        wants a list of condition args, not a single arg.
6353
63542006-05-08 03:24  gb
6355
6356        * level-1/l1-processes.lisp: %PROCESS-PRESET-INTERNAL doesn't need
6357        CS-AREA.
6358
63592006-05-08 03:23  gb
6360
6361        * level-0/X86/x86-symbol.lisp: %FUNCTION: signal error via
6362        uuo_error_udf, not as a type error.
6363
63642006-05-07 16:50  gb
6365
6366        * lib/describe.lisp: INSPECTOR objects haven't had FORWARDED-P
6367        slots in a long time (they probably haven't -needed- them in even
6368        longer; I think that this had to do with the old partial MOP.)
6369        Don't define the slot for FUNCTION-INSPECTOR, and don't call the
6370        accessor in STANDARD-OBJECT-SETF-LINE-N.
6371
63722006-05-07 04:39  gb
6373
6374        * x86-headers64/gtk2/: .cvsignore, C/.cvsignore, C/populate.sh: New
6375        file.
6376
63772006-05-07 04:34  gb
6378
6379        * lisp-kernel/: area.h, lisp_globals.h, memory.c, pmcl-kernel.c,
6380        thread_manager.c: Combine the AREA_LOCK and TCR_LOCK into a single
6381        lock (TCR_AREA_LOCK).  (This makes it a little harder to deadlock
6382        if code that wants both locks isn't careful to try to obtain them
6383        in some canonical order.)
6384
63852006-05-07 04:29  gb
6386
6387        * lib/x86-backtrace.lisp: Finally find those pesky registers.
6388
63892006-05-07 04:29  gb
6390
6391        * level-1/x86-threads-utils.lisp: Stub BOGUS-THING-P moves here.
6392
63932006-05-07 04:28  gb
6394
6395        * level-0/l0-cfm-support.lisp: FOREIGN-SYMBOL-ENTRY: return NIL if
6396        xFindSymbol/dlsym returns 0 on x8664.
6397
63982006-05-07 04:27  gb
6399
6400        * compiler/X86/: x86-lapmacros.lisp, X8664/x8664-vinsns.lisp: Use
6401        PSRLQ/PSLLQ for single-float boxing/unboxing.  (A few months ago,
6402        I'd mistakenly decided that it was faster to go through memory than
6403        to use these instructions.  It seems to actually be substantially
6404        slower, as one would expect.)
6405
64062006-05-07 04:25  gb
6407
6408        * compiler/X86/x86-asm.lisp: Add support for
6409        PSRLQ/PSRLDQ/PSLLQ/PSLLDQ (sse2 shifts.)
6410
64112006-05-07 04:21  gb
6412
6413        * library/hash-cons.lisp: Fix doc in comments.
6414
64152006-05-07 04:21  gb
6416
6417        * lib/ppc-backtrace.lisp: GET/SET-REGISTER-VALUE.
6418
64192006-05-07 04:20  gb
6420
6421        * lib/format.lisp: YES-OR-NO-P: bell goes to *QUERY-IO*.
6422
64232006-05-07 04:19  gb
6424
6425        * lib/backtrace-lds.lisp: Move GET/SET-REGISTER-VALUE to
6426        TARGET-backtrace.lisp.
6427
64282006-05-07 04:18  gb
6429
6430        * level-1/l1-lisp-threads.lisp: Move (implementation-dependent)
6431        BOGUS-THING-P to TARGET-thread-utils.lisp.
6432
64332006-05-07 04:17  gb
6434
6435        * level-1/ppc-threads-utils.lisp: Move (implementation-dependent)
6436        BOGUS-THING-P support here.
6437
64382006-05-07 04:16  gb
6439
6440        * level-1/l1-processes.lisp: Don't set "owner" field of tcr.cs_area
6441        to psn.
6442
64432006-05-06 15:27  gb
6444
6445        * compiler/nx1.lisp: Ash left by constant: prefer the fixnum case
6446        to the "natural" case.
6447
64482006-05-06 15:26  gb
6449
6450        * compiler/X86/x862.lisp: Pass the right number of args to
6451        NATURAL-SHIFT-LEFT and NATURAL-SHIFT-RIGHT.
6452
64532006-05-06 15:26  gb
6454
6455        * compiler/X86/X8664/x8664-vinsns.lisp: Indentation.
6456
64572006-05-06 02:09  gb
6458
6459        * lisp-kernel/thread_manager.c: Let's see: if thread X holds local
6460        A and tries to obtain lock B, and thread Y holds lock B and tries
6461        to obtain lock A, what is that a classic case of ?
6462       
6463        Try to avoid that classic deadlock case in shutdown_thread_tcr()
6464        when HAVE_TLS is in effect.  suspend_other_threads wants to hold
6465        two locks at the same time, and that's always a bit dangerous; it
6466        might be safer to merge TCR_LOCK and AREA_LOCK into a single lock
6467        that must be owned in order to manipulate either the tcr or area
6468        queues.
6469
64702006-05-06 02:04  gb
6471
6472        * level-1/linux-files.lisp: Make (%REALPATH "") behave like
6473        %REALPATH of the current directory namestring, as it does by
6474        default on some platforms (but not Linux.)
6475
64762006-05-05 20:08  gb
6477
6478        * compiler/X86/x862.lisp: x862-ff-call: really implement the
6479        simple-foreign-args stuff.  Box u64/s64, or don't ... but don't do
6480        the el-bizarro <- with a (temp) node target.
6481
64822006-05-05 20:06  gb
6483
6484        * lib/x86-backtrace.lisp: Get PC-FROM-XCF right (it needs to be
6485        relative to the tagged entrypoint, not to the start of the
6486        underlying function-vector.)
6487
64882006-05-05 13:24  gb
6489
6490        * lisp-kernel/x86-spentry64.s: Preserve NEXT-METHOD-CONTEXT when
6491        heap-consing an &REST arg.  (%allocptr and %next-method-context are
6492        the same register, so &rest clobbbers %next-method-context.)
6493       
6494        Could make separate entry points, so that this is only done when
6495        %next-method-context needs to be preserved ...
6496
64972006-05-05 13:21  gb
6498
6499        * level-0/X86/x86-def.lisp: Use RESERVED-FRAME-MARKER.
6500
65012006-05-05 02:23  gb
6502
6503        * freebsd-headers64/libc/C/populate.sh: New file.  Needs some work.
6504
65052006-05-05 02:23  gb
6506
6507        * freebsd-headers64/libc/: .cvsignore, C/.cvsignore: New file.
6508
65092006-05-05 01:37  gb
6510
6511        * level-1/version.lisp: Bump du jour.
6512
65132006-05-05 01:36  gb
6514
6515        * level-0/X86/x86-def.lisp: %FF-CALL: maintain the distinction
6516        between the first 6 words of the outgoing frame (from which GPRs
6517        will be loaded) and other words (which stay on the stack); after
6518        the first 8 FP args, floats have to be passed on the stack, even if
6519        there's still room in the first 6 words of the outgoing frame.
6520       
6521        Need to understand the struct-by-value rules better: can a struct
6522        be passed partly in registers and partly on the stack ? RTFM (or,
6523        in this case, TF ABI spec.)
6524
65252006-05-05 01:31  gb
6526
6527        * compiler/X86/x862.lisp: In X862-FF-CALL:  - the general integer
6528        case should store relative to "other-offset" (rather than   
6529        "gpr-offset") when more than 6 (not 8) GPR args have been passed. 
6530        - both the single and double-float cases were incrementing
6531        "other-offset"     twice when more than 8 FP args were involved.
6532        This had the effect of     storing floats into every other word and
6533        writing beyond the bounds of     the outgoing stack frame, possibly
6534        overwriting return addresses on the     foreign stack.
6535
65362006-05-04 23:12  gb
6537
6538        * level-1/l1-streams.lisp: James Bielman's fix to
6539        READ-TOPLEVEL-FORM (INPUT-STREAM) (EOF handling/peek-char.)
6540
65412006-05-04 18:30  gb
6542
6543        * compiler/X86/X8664/x8664-backend.lisp: When binding FP args,
6544        decrement FPR-ARG-OFFSET by 8, not -8.
6545       
6546        (This could cause values outside of the stack frame to be read, but
6547        I still haven't found what's writing beyond the frame bounds.)
6548
65492006-05-04 18:27  gb
6550
6551        * lib/x86-backtrace.lisp: If its argument is an exception callback
6552        frame, %CFP-LFUN tries to determine the relative PC associated with
6553        the frame's nominal function and return that as a second value
6554        (just as it does for a real frame.)
6555       
6556        I think that this should work a high percentage of the time, but
6557        callers should generally be prepared to deal with a NULL second
6558        return value from %CFP-LFUN.
6559
65602006-05-04 11:12  gb
6561
6562        * compiler/X86/X8664/x8664-backend.lisp: More callback issues:
6563        since we're using the same stack pointer to return values as we are
6564        to find arguments, don't try to "optimize" its initialization.
6565
65662006-05-03 18:52  gb
6567
6568        * compiler/X86/X8664/x8664-backend.lisp: Clean  up x8664 callbacks
6569        a little.  Don't coerce single float results to double; bind
6570        stack-ptr variable even if no args (might be a return value form
6571        that references it.) Failure to do the latter was creating a weird
6572        free variable reference that wasn't handled by the fasloader.
6573
65742006-05-03 18:50  gb
6575
6576        * level-0/nfasload.lisp: $fasl-vmksym-special wasn't implemented.
6577
65782006-05-03 18:49  gb
6579
6580        * lib/nfcomp.lisp: Indent a comment.
6581
65822006-05-03 18:16  gb
6583
6584        * compiler/X86/x862.lisp, level-0/X86/x86-def.lisp: In an %FF-CALL
6585        that might involve a variable-length arglist (at this level,
6586        always), set %rax to the number (0-8) of FP arguments passed in xmm
6587        registers.
6588
65892006-05-03 13:26  gb
6590
6591        * lisp-kernel/x86-exceptions.c: In find_foreign_rsp(), mask with
6592        ~15, not ~!5.  (This was causing segfaults on return from
6593        interrupts sometimes.)
6594
65952006-05-03 13:24  gb
6596
6597        * lib/backtrace.lisp: CLOSURE-CLOSED-OVER-VALUES, which is needed
6598        by SWANK/SLIME.
6599
66002006-05-03 13:23  gb
6601
6602        * lib/backtrace-lds.lisp: FRAME-SUPPLIED-ARGS, hopefully in a form
6603        that'll work on all platforms.  (Note that FRAME-SUPPLIED-ARGS
6604        seems to get many things wrong.)
6605
66062006-05-03 11:37  gb
6607
6608        * level-1/version.lisp: You mist have yesterday's version.
6609
66102006-05-03 11:37  gb
6611
6612        * level-0/X86/x86-def.lisp: Implement #'%FF-CALL.  Not too much
6613        LAP.
6614
66152006-05-03 11:36  gb
6616
6617        * level-0/l0-init.lisp: Put :X86-64 and :AMD64 on *FEATURES* if
6618        #+x8664-target.
6619
66202006-05-03 11:36  gb
6621
6622        * compiler/X86/X8664/x8664-vinsns.lisp: Bad typo in UNBOX-S64, and
6623        it can just check for a 2-digit bignum header if it has something
6624        of tag TAG-MISC.
6625
66262006-05-03 11:34  gb
6627
6628        * compiler/X86/x862.lisp: X862-COPY-REGISTER: handle :S64
6629        destinations.
6630
66312006-05-03 11:33  gb
6632
6633        * compiler/X86/x86-disassemble.lisp: Recognize
6634        uuo-error-eep-unresolved.
6635
66362006-05-02 18:07  gb
6637
6638        * level-1/version.lisp: Bump.
6639
66402006-05-02 18:07  gb
6641
6642        * lib/: backtrace-lds.lisp, describe.lisp: Comment out stuff that's
6643        (mostly ?) unused and currently PPC-specific, if it works at all
6644        ...
6645
66462006-05-02 10:27  gb
6647
6648        * level-1/l1-streams.lisp: Don't definea STREAM-CLEAR-INPUT method
6649        for STRING-INPUT-STREAMs; it's not clear what such a method should
6650        do (and fairly clear that it shouldn't do what the previous
6651        definition was doing.)
6652
66532006-05-02 10:26  gb
6654
6655        * lib/format.lisp: clear input from *query-io*, not from
6656        *terminal-io* in YES-OR-NO-P, Y-OR-N-P
6657
66582006-05-02 10:26  gb
6659
6660        * library/hash-cons.lisp: x8664 lap
6661
66622006-05-02 10:26  gb
6663
6664        * lisp-kernel/x86-gc.c: hons area stuff
6665
66662006-04-29 09:14  gb
6667
6668        * lisp-kernel/x86-exceptions.c: Write-protect handlers for stack
6669        overflow (on value/temp stacks).
6670
66712006-04-29 09:13  gb
6672
6673        * level-1/x86-trap-support.lisp: Handle stack overflow in cmain
6674        callback.
6675
66762006-04-29 09:10  gb
6677
6678        * lisp-kernel/freebsd8664/Makefile: x86-gc.o.
6679       
6680        No linker script.
6681       
6682        Use -lthr, which offers 1:1 threads.
6683
66842006-04-29 09:09  gb
6685
6686        * lisp-kernel/lisptypes.h: Remove the __sighandler typedef.
6687
66882006-04-29 09:01  gb
6689
6690        * lisp-kernel/x86-exceptions.h: xpMMXreg for FreeBSD.
6691
66922006-04-29 09:00  gb
6693
6694        * lisp-kernel/x86-exceptions.c: Don't use __sighandler_t.  (See if
6695        anything cares ...)
6696
66972006-04-29 08:59  gb
6698
6699        * lisp-kernel/x86-constants64.h: FreeBSD register constants.
6700
67012006-04-29 08:58  gb
6702
6703        * lisp-kernel/lisp-debug.c: FreeBSD regiser names.
6704
67052006-04-29 08:58  gb
6706
6707        * lisp-kernel/area.h: Update IMAGE_BASE_ADDRESS for FreeBSD.
6708
67092006-04-28 21:28  gb
6710
6711        * level-1/version.lisp: bump.
6712
67132006-04-28 21:27  gb
6714
6715        * lib/backtrace.lisp: changes to print-call-history (and "internal"
6716        version).
6717
67182006-04-28 21:24  gb
6719
6720        * lib/ppc-backtrace.lisp: Fix typo.
6721
67222006-04-28 21:23  gb
6723
6724        * level-1/l1-readloop-lds.lisp: Add :NFRAMES break loop command.
6725       
6726        Change the command/keyword parser a little, so that :FOO is just
6727        :FOO and not (:FOO).
6728       
6729        Change :B break loop command (and :F) to allow focusing on a range
6730        of frames, and change PRINT-CALL-HISTORY to more easily support
6731        that.
6732
67332006-04-28 19:37  gb
6734
6735        * level-0/PPC/ppc-numbers.lisp: Remove a quote from a LAP
6736        LOAD-CONSTANT form.
6737
67382006-04-28 19:34  gb
6739
6740        * lib/: backtrace.lisp, ppc-backtrace.lisp, x86-backtrace.lisp:
6741        Factor out a little more.  Time to see what's broken on PPC ...
6742
67432006-04-28 19:34  gb
6744
6745        * level-1/: l1-readloop-lds.lisp, l1-streams.lisp: Make parens
6746        around colon-commands optional.
6747
67482006-04-28 04:11  gb
6749
6750        * lisp-kernel/linuxx8664/.gdbinit: 'lregs' calls the kernel
6751        debugger's register display code.
6752
67532006-04-28 04:11  gb
6754
6755        * lisp-kernel/xlbt.c: Don't claim that the (legitimate) last frame
6756        on the stack is bogus.
6757
67582006-04-28 04:10  gb
6759
6760        * lisp-kernel/x86-exceptions.c: Create fake stack frames (sort of
6761        ...) when calling back for an exception.
6762
67632006-04-28 03:36  gb
6764
6765        * lisp-kernel/x86-constants64.h: A few symbolic register names.
6766       
6767        xcf struct.
6768
67692006-04-28 03:36  gb
6770
6771        * library/lispequ.lisp: FAKE-STACK-FRAME is #+ppc-target.
6772
67732006-04-28 03:36  gb
6774
6775        * lib/x86-backtrace.lisp: Implemented some stuff.
6776       
6777        Backtrace (sort of) works on x8664 now; need to find register
6778        values,  hide tagged return addresses, a few other things.
6779
67802006-04-28 03:34  gb
6781
6782        * lib/ppc-backtrace.lisp: Stuff moved here from elsewhere.
6783
67842006-04-28 03:34  gb
6785
6786        * lib/backtrace-lds.lisp: LAST-CATCH-SINCE moved elsewhere.
6787
67882006-04-28 03:33  gb
6789
6790        * level-1/x86-trap-support.lisp: Flags register accessor.
6791       
6792        New exception callback scheme.
6793
67942006-04-28 03:33  gb
6795
6796        * level-1/x86-threads-utils.lisp: The lowlevel system keeps
6797        changing.
6798
67992006-04-28 03:32  gb
6800
6801        * level-1/x86-error-signal.lisp: New exception callback stuff.
6802
68032006-04-28 03:32  gb
6804
6805        * level-1/l1-readloop-lds.lisp: No fake stack frames on x86.
6806
68072006-04-28 03:32  gb
6808
6809        * level-1/l1-lisp-threads.lisp: Move more stuff to arch-specific
6810        files.
6811
68122006-04-28 03:31  gb
6813
6814        * level-1/l1-events.lisp: No fake-stack-frames on x86, but we do
6815        have exception callback frames ...
6816
68172006-04-28 03:30  gb
6818
6819        * level-1/l1-error-system.lisp: Tweak :report method for
6820        wrong-number-of-args errors.
6821
68222006-04-28 03:30  gb
6823
6824        * level-0/X86/x86-def.lisp: Implement APPLY+.
6825
68262006-04-28 03:29  gb
6827
6828        * compiler/X86/X8664/x8664-arch.lisp: eXception Callback Frame.
6829
68302006-04-28 03:27  gb
6831
6832        * compiler/X86/x86-lapmacros.lisp: Add missing IN-PACKAGE.
6833       
6834        CHECK-NARGS: don't enforce upper bound if it's null.
6835
68362006-04-28 03:17  gb
6837
6838        * compiler/X86/x86-arch.lisp: x86 xFLAGS bits.
6839
68402006-04-28 03:16  gb
6841
6842        * compiler/nx0.lisp: Allow (FUNCTION (SETF name)) in
6843        IGNORE/IGNORABLE/DYNAMIC-EXTENT declarations.
6844
68452006-04-26 14:18  gb
6846
6847        * compiler/nx0.lisp: Allow (SETF NAME) in DEFINE-COMPILER-MACRO.
6848
68492006-04-26 14:17  gb
6850
6851        * lib/misc.lisp: Disassemble is supposed to signal an error (or "be
6852        prepared" to do so) if its argument isn't a function designator, so
6853        don't quietly call METHOD-FUNCTION for the user.
6854
68552006-04-26 13:56  gb
6856
6857        * lib/encapsulate.lisp: Use REPLACE-FUNCTION-CODE (not (SETF (UVREF
6858        ...))) in ENCAPSULATE, REMOVE-ENCAPSULATION.
6859
68602006-04-26 03:59  gb
6861
6862        * lisp-kernel/: x86-spentry64.s, x86-subprims64.s: zero out the
6863        exception bits whenever mxcsr is stored in tcr.foreign_mxcsr, so no
6864        exceptions will be pending when we start an ff-call (and the mxcsr
6865        is loaded from that location.)
6866       
6867        tcr.ffi_exception will then contain non-zero exception bits iff the
6868        most recent ff-call raised a (probably masked) FP exception.
6869       
6870        TODO: make this reentrant (PROCESS-INTERRUPT should preserve this.)
6871
68722006-04-26 03:55  gb
6873
6874        * lisp-kernel/x86-constants.s: define mxcsr exception bits.
6875
68762006-04-26 03:23  gb
6877
6878        * lisp-kernel/x86-constants64.s: Update comment on
6879        tcr.ffi_exception.
6880
68812006-04-26 03:22  gb
6882
6883        * lisp-kernel/x86-spentry64.s: Maintain tcr.ffi_exception on return
6884        from ffcall.  (Should maybe clear exception bits on entry to
6885        foreign state, so we're sure that any exception bits set in the
6886        tcr.ffi_exception slot were caused by the most recent ff-call.)
6887
68882006-04-26 03:20  gb
6889
6890        * level-0/X86/x86-float.lisp: Check MXCSR status bits from last
6891        ffcall, compare them to unmasked exception bits in current MXCSR,
6892        maybe raise FP exception.  (Note: compile this change and rebuild
6893        image before making corresponding kernel change.)
6894
68952006-04-26 02:31  gb
6896
6897        * lisp-kernel/x86-spentry64.s: .SPbuiltin-logxor was calling out to
6898        LOGAND-2, not to LOGXOR-2.  Sheesh.
6899
69002006-04-26 02:01  gb
6901
6902        * compiler/X86/X8664/x8664-vinsns.lisp: %ILOGBITP treats "large"
6903        bit numbers as tests of the sign bit.   (This is probably best
6904        viewed as being "formally undefined", but it's not too expensive to
6905        check for that.  The case where the bit number's negative is
6906        definitely undefined; I think that it also gets treated as a test
6907        of the sign bit.)
6908
69092006-04-26 01:58  gb
6910
6911        * lisp-kernel/x86-spentry64.s: Logbitp calls out if bit number
6912        negative.
6913
69142006-04-26 01:32  gb
6915
6916        * lisp-kernel/x86-spentry64.s: If both args fixnums, handle bits >=
6917        61.  (Should check here for negative bit .)
6918
69192006-04-26 01:31  gb
6920
6921        * lisp-kernel/x86-exceptions.c: If we get the "no FP regs in
6922        context" error - which typically indicates a fault during exception
6923        processing - pass the context in to the kernel debugger.
6924
69252006-04-26 01:30  gb
6926
6927        * level-0/X86/x86-pred.lisp: Change EQL doc string.
6928
69292006-04-26 00:56  gb
6930
6931        * level-0/X86/x86-pred.lisp: EQL on two bignums works much better
6932        if it compares all corresponding digits, rather than repeatedly
6933        comparing the 0th digits N times ...
6934
69352006-04-25 17:38  gb
6936
6937        * lisp-kernel/x86-spentry64.s: _SPmvslide: skip the loop if nargs
6938        is 0, not if disp is 0.  ash: always make a signed integer out of
6939        the result,  since arg is always signed.
6940
69412006-04-25 17:37  gb
6942
6943        * level-0/X86/x86-float.lisp: Negate floats by fliping the sign
6944        bit, so (for instance) (- 0.0d0) is -0.0d0.
6945
69462006-04-25 17:36  gb
6947
6948        * level-0/X86/x86-hash.lisp: Hash bignums 32 bits (not 64!) at a
6949        time.
6950
69512006-04-25 17:35  gb
6952
6953        * compiler/X86/x862.lisp: %%INEG: need to ensure that source
6954        operand is in target reg (2-address issue.)
6955
69562006-04-24 16:42  gb
6957
6958        * lisp-kernel/x86-spentry64.s: How hard can misc_set_s32 be ?
6959        Apparently, pretty hard.  It was doing a logical shift right when
6960        typechecking the value, so negative values were rejected.
6961
69622006-04-24 16:41  gb
6963
6964        * lisp-kernel/x86-exceptions.c: Call out to handle SIGFPE.  cmain
6965        callback now takes a 'signo' argument.
6966
69672006-04-24 16:40  gb
6968
6969        * level-1/x86-trap-support.lisp: Initial support for handling
6970        arithmetic errors.  Will need more work to get operation and
6971        operands right.
6972
69732006-04-24 16:39  gb
6974
6975        * lib/compile-ccl.lisp: REBUILD-CCL: :reload arg defaults to T.
6976
69772006-04-24 13:58  gb
6978
6979        * level-1/x86-error-signal.lisp: SETQ (not #'SET) in the
6980        uuo-error-reg-not-type case.
6981
69822006-04-24 13:57  gb
6983
6984        * level-0/X86/x86-float.lisp: Generally want to use FPZERO, not
6985        FP0, for 0.0[d,f]0.  (One case wanted to use fp1, but that's
6986        another story.)
6987
69882006-04-24 13:55  gb
6989
6990        * compiler/X86/X8664/x8664-vinsns.lisp: REQUIRE-REAL,
6991        REQUIRE-NUMBER: mask wont fit in 32 bits.  OTOH, doesn't need to be
6992        boxed, either.
6993
69942006-04-24 12:02  gb
6995
6996        * lisp-kernel/x86-spentry64.s: misc_set_s32: register botch.
6997        _SPtcallnfngen: several bugs, which were already fixed in similar
6998        variants.
6999
70002006-04-24 12:01  gb
7001
7002        * lisp-kernel/x86-gc.c: Use FORCE_DWS_MARK to force use of the
7003        Deutch/Waite/Schorr marker.
7004
70052006-04-24 12:00  gb
7006
7007        * lisp-kernel/pmcl-kernel.c: Only turn on GC debug bit if
7008        GC_INTEGRITY_CHECKING is defined (e.g., in Makefile.)
7009
70102006-04-24 11:59  gb
7011
7012        * level-1/linux-files.lisp: Remove debugging FORMAT call.
7013
70142006-04-24 11:58  gb
7015
7016        * level-0/X86/x86-numbers.lisp: %ROUND-NEAREST-SHORT-FLOAT->FIXNUM:
7017        argument is a SINGLE/SHORT-FLOAT, so don't access as a
7018        DOUBLE-FLOAT.
7019
70202006-04-24 11:58  gb
7021
7022        * level-0/X86/x86-float.lisp: %MAKE-FLOAT-FROM-FIXNUMS: mask the
7023        high and low words of the mantissa, to ensure that no hidden bits
7024        are set.  (Some such bits were set, causing many double-float
7025        constansts - like MOST-POSITVE-DOUBLE-FLOAT - to be bogus NaNs).
7026
70272006-04-24 02:21  gb
7028
7029        * lisp-kernel/image.c: Expect a MANAGED_STATIC section in the
7030        image.
7031       
7032        (Don't expect it to have any contents yet; that'll require several
7033        more changes.   This is all intended to support PURIFY on x8664,
7034        where we'll want to ensure that any constant referenced by a
7035        function in readonly/pure memory has a fixed, static address.)
7036
70372006-04-24 02:14  gb
7038
7039        * lisp-kernel/image.h: Bump IMAGE_ABI_VERSION.  New managed_static
7040        section makes NUM_IMAGE_SECTIONS 4.
7041
70422006-04-24 02:13  gb
7043
7044        * lisp-kernel/area.h: Typo in the definition of
7045        AREA_MANAGED_STATIC.
7046
70472006-04-24 02:12  gb
7048
7049        * lisp-kernel/: pmcl-kernel.c, kernel-globals.h: Global pointers to
7050        more areas.
7051
70522006-04-24 02:12  gb
7053
7054        * lisp-kernel/ppc-exceptions.c: EGC write-barrier labels are the
7055        addresses of instructions (not pointers thereto ...)
7056
70572006-04-24 02:11  gb
7058
7059        * lisp-kernel/ppc-gc.c: Add conditionalization to force DWS marker
7060        (mostly so that I could step through it to remember how it worked
7061        ...).
7062
70632006-04-24 02:10  gb
7064
7065        * lisp-kernel/ppc-spentry.s: write-barrier exported symbols: remove
7066        indirection.
7067
70682006-04-24 02:09  gb
7069
7070        * lisp-kernel/x86-gc.c: Remove a sanity check.
7071
70722006-04-24 02:09  gb
7073
7074        * xdump/xfasload.lisp: Create (empty) managed-static section
7075        (mostly for x8664 PURIFY, but might be useful on PPC someday.)
7076
70772006-04-24 02:08  gb
7078
7079        * xdump/heap-image.lisp: New image-abi-version, for managed-static
7080        section.
7081
70822006-04-24 02:07  gb
7083
7084        * level-1/linux-files.lisp: GET-DESCRIPTOR-FOR: try not to leak
7085        fds, take CLOSE-ON-ERROR more seriously.
7086
70872006-04-24 02:06  gb
7088
7089        * compiler/PPC/ppc2.lisp: (eq %FOREIGN-STACK-POINTER
7090        %CURRENT-FRAME-PTR) on PPC32/64.
7091
70922006-04-24 00:50  gb
7093
7094        * level-1/version.lisp: Bump.  Getting there ...
7095
70962006-04-24 00:50  gb
7097
7098        * level-0/l0-misc.lisp: Use %GET-NATURAL where possible.
7099       
7100        Note that TCRs aren't guaranteed to be in the low 32 bits on x8664,
7101        so pass them as a pointer to avoid word-size issues.
7102
71032006-04-24 00:48  gb
7104
7105        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Implement
7106        things that had been missing.
7107
71082006-04-24 00:48  gb
7109
7110        * compiler/X86/x86-disassemble.lisp: Recognize recently-defined
7111        UUOs.
7112
71132006-04-24 00:48  gb
7114
7115        * compiler/X86/x86-backend.lisp: Fix FIXUP-OPCODE-ORDINALS (again).
7116
71172006-04-24 00:47  gb
7118
7119        * compiler/X86/x86-asm.lisp: UUO-ERROR-ARRAY-BOUNDS.
7120
71212006-04-24 00:47  gb
7122
7123        * compiler/PPC/PPC64/ppc64-vinsns.lisp: A little word-size cleanup.
7124
71252006-04-24 00:47  gb
7126
7127        * compiler/nxenv.lisp: %FOREIGN-STACK-POINTER.
7128
71292006-04-24 00:46  gb
7130
7131        * compiler/nx1.lisp: WITH-C-FRAME, WITH-VARIABLE-C-FRAME: use (new)
7132        %FOREIGN-STACK-POINTER, not %CURRENT-FRAME-PTR (differ on x8664;
7133        need to boostrap on PPC).
7134       
7135        Parse %FOREIGN-STACK-POINTER.
7136
71372006-04-22 03:30  gb
7138
7139        * lisp-kernel/thread_manager.c: If we're using thread-local-storage
7140        (HAVE_TLS is defined), make shutdow_thread_tcr() dequeue the tcr,
7141        because (a) nothing else will and (b) the tcr will likely become
7142        unmapped soon, and we don't want things that walk the tcr list to
7143        segfault.
7144
71452006-04-22 03:27  gb
7146
7147        * lisp-kernel/x86-exceptions.c: Something's clearly wrong in
7148        find_foreign_rsp; call Bug() and exit() if the context has no
7149        fpregs.  (That's a symptom, not the proble, but it's slightly
7150        better to do this than to double fault, which is what seems to be
7151        happening.)
7152
71532006-04-21 10:12  gb
7154
7155        * lisp-kernel/x86-exceptions.c: implement pc_luser_xp; just has to
7156        worry about consing, write-barrier stuff.
7157
71582006-04-21 10:11  gb
7159
7160        * lisp-kernel/x86-constants.h: Define X86 flags register bits
7161        (condition codes.)
7162
71632006-04-21 10:11  gb
7164
7165        * lisp-kernel/x86-exceptions.h: change the signature of pc_luser_xp
7166        (again.)
7167       
7168        Define enumeration constants for matching the instructions that can
7169        occur during consing.
7170
71712006-04-21 10:09  gb
7172
7173        * lisp-kernel/x86-spentry64.s: Preserve %temp0 in
7174        store_node_conditional, in case pc_luser_xp() needs to complete the
7175        memoization.
7176
71772006-04-21 02:50  gb
7178
7179        * lisp-kernel/x86-spentry64.s: Use only the value of the first
7180        instance of :ALLOW-OTHER-KEYS to determine whether unknown keys are
7181        allowed.
7182
71832006-04-21 02:49  gb
7184
7185        * lisp-kernel/lisp-debug.c: Tweak things so that %rip and %flags
7186        line up with GPRs.
7187
71882006-04-21 02:48  gb
7189
7190        * lib/sequences.lisp: SIMPLE-1D-ARRAY-SUBSEQ: 64-bit vector case is
7191        #+64-bit-target, not #+ppc64-target.
7192
71932006-04-21 02:47  gb
7194
7195        * level-0/X86/x86-array.lisp: %SIMPLE-BIT-BOOLE: shift by the right
7196        amount.
7197
71982006-04-21 02:46  gb
7199
7200        * level-0/l0-array.lisp: %UVECTOR-REPLACE: 64-bit vectors aren't
7201        unique to PPC64 (but do depend on #+64-bit-target).
7202
72032006-04-21 02:46  gb
7204
7205        * compiler/X86/x862.lisp: The binding(s) of *INTERRUPT-LEVEL*
7206        confuse PROGV; remove them, for now.
7207
72082006-04-20 23:35  gb
7209
7210        * lisp-kernel/x86-spentry64.s: In the bignum case of
7211        .SPinteger-sign, sign-extend the bignum's sign digit instead of ...
7212        whatever the code was trying to do there.
7213       
7214        In the lexpr-has-two-values case of .SPspread-lexprz, load arg_y
7215        and arg_z from the correct offsets within the lexpr.
7216
72172006-04-20 04:48  gb
7218
7219        * lisp-kernel/x86-gc.c: Get the link-inverting marker written;
7220        force it to always be used, for now.
7221
72222006-04-19 17:11  gb
7223
7224        * lisp-kernel/pmcl-kernel.c: (Very) different
7225        MAXIMUM_MAPPABLE_MEMORY for Solaris.
7226
72272006-04-19 17:10  gb
7228
7229        * lisp-kernel/area.h: (Very) different IMAGE_BASE_ADDRESS for
7230        Solaris.
7231
72322006-04-19 00:35  gb
7233
7234        * lisp-kernel/x86-gc.c: Write a few paragraphs outlining how the
7235        reversing-pointer marker should work.  (Perhaps it's a strong
7236        argument for implementing "purify" soon.)
7237
72382006-04-19 00:34  gb
7239
7240        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
7241        function-boundary-marker.
7242
72432006-04-19 00:33  gb
7244
7245        * lisp-kernel/macros.h: Add node_aligned and indirect_node macros.
7246
72472006-04-18 19:35  gb
7248
7249        * lisp-kernel/x86-spentry64.s: Comparison was backwards in
7250        multiple-value case of THROW: don't want to do unbind_to if tcr's
7251        db-link matches target catch frame's.
7252
72532006-04-18 19:33  gb
7254
7255        * lisp-kernel/x86-uuo.s: Add UUO-ERROR-DEBUG-TRAP, remove
7256        UUO-ERROR-STACK-OVERFLOW.  Still need to get this completely in
7257        synch with x86-asm.
7258
72592006-04-18 19:33  gb
7260
7261        * level-1/l1-readloop-lds.lisp: Say more about the availability of
7262        :R in break messages.
7263       
7264        Say more about :C in :R.
7265
72662006-04-18 19:32  gb
7267
7268        * level-1/l1-readloop.lisp: Remove the #+x86-target debugging code
7269        in QUIT's PROCESS-INTERRUPT call, since the closure- trashing bug
7270        seems to have been fixed.
7271
72722006-04-18 19:31  gb
7273
7274        * level-1/x86-error-signal.lisp: Recognize (uuo-error-not-tag %rn
7275        x8664::subtag-catch-tag) as CANT-THROW-ERROR.  (Yes, this is a
7276        horrible kludge, but it only happens once.)
7277
72782006-04-18 19:19  gb
7279
7280        * level-1/l1-processes.lisp: Remove the #+x86-target debugging code
7281        in PROCESS-EXIT-APPLICATION, since the closure- trashing bug seems
7282        to have been fixed.
7283
72842006-04-18 19:18  gb
7285
7286        * level-0/X86/x86-pred.lisp: EQL on bignums wasn't using
7287        X8664::MISC-DATA-OFFSET, so it was comparing a few bytes beyond the
7288        ends of its arguments and ignoring the first few bytes (as well as
7289        doing misaligned memory references.)
7290
72912006-04-18 19:16  gb
7292
7293        * level-0/X86/x86-def.lisp: Insert the PPC version of APPLY+ here.
7294        This'll require some thought, mostly because of the reserved-frame
7295        issue(s).
7296
72972006-04-18 06:21  gb
7298
7299        * lisp-kernel/ppc-constants32.s: Comment mishaps.  These wacky
7300        adventures are about to end, I'm afraid.
7301
73022006-04-18 06:04  gb
7303
7304        * level-1/version.lisp: Daily bump.
7305
73062006-04-18 05:59  gb
7307
7308        * level-1/l1-sockets.lisp: Comment indentation.
7309
73102006-04-18 05:56  gb
7311
7312        * level-0/PPC/ppc-def.lisp: Move APPLY+ here.
7313
73142006-04-18 05:55  gb
7315
7316        * lib/setf-runtime.lisp: Move APPLY+ (which is defined in LAP) to
7317        ppc-def (that means that there will need to be an APPLY+ for
7318        x8664).
7319
73202006-04-18 05:38  gb
7321
7322        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Try to get the
7323        compiler and x8664-vinsn-templates to agree on vinsn-names and
7324        implement some vinsns that had been missing.  (About 15 or so
7325        undefined vinsns remain.)
7326
73272006-04-18 05:37  gb
7328
7329        * compiler/X86/x86-backend.lisp: The mechanism that tries to fixup
7330        opcode ordinals in vinsn templates (e.g., in case new instructions
7331        are defined in the assembler) wasn't checking to see if vinsn
7332        templates named in the hash table were defined.  (It was apparently
7333        getting away with this because CONSP was broken.)  So, don't try to
7334        fixup opcode ordinals in NIL, and optionally report templates
7335        that're referenced but not defined.
7336
73372006-04-18 04:38  gb
7338
7339        * compiler/X86/x862.lisp: CONSP was using the EXTRACT-FULLTAG vinsn
7340        (which only sets the low 8 bits of its destination), then comparing
7341        all 64-bits of the destination to a zero-extended 32-bit constant.
7342        (E.g., CONSP had little chance of being right all other things
7343        being equal, but may have been right more than one in 2^56 times if
7344        some random preceding instruction had zeroed the upper 56 bits.)
7345       
7346        (It's also shorter to do an 8-bit compare.)
7347
73482006-04-18 03:11  gb
7349
7350        * level-0/X86/x86-hash.lisp: box-fixnum arg order in %DFLOAT-HASH.
7351
73522006-04-18 02:51  gb
7353
7354        * compiler/X86/X8664/x8664-vinsns.lisp: Now that all assemblers are
7355        happy (well, as happy as they're going to be ...), back to finding
7356        bugs.  MULTIPLY-FIXNUMS has to unbox one arg (the source).
7357
73582006-04-18 01:26  gb
7359
7360        * lisp-kernel/thread_manager.c: Some Solaris changes.
7361
73622006-04-18 00:48  gb
7363
7364        * lisp-kernel/solarisx64/Makefile: The version of gm4 that Sun
7365        installs in /usr/sfw/bin is both newer and buggier than the version
7366        available on the "Solaris Companion" disk, which gets installed in
7367        /opt/sfw/bin.
7368       
7369        Ordinarily, I'd wonder why a "companion" disk offers to install
7370        software that's bundled as part of the installation (especially old
7371        versions of that software.)  Now I know.
7372
73732006-04-18 00:45  gb
7374
7375        * lisp-kernel/x86-spentry64.s: # __line__ wasn't a comment.
7376
73772006-04-18 00:45  gb
7378
7379        * lisp-kernel/m4macros.m4: Fix changecom.
7380
73812006-04-18 00:11  gb
7382
7383        * lisp-kernel/x86-spentry64.s: x8664 linux as doesn't like typos,
7384        but is otherwise fine with single-line /* */.
7385
73862006-04-18 00:09  gb
7387
7388        * lisp-kernel/: errors.s, imports.s, lisp.s, m4macros.m4,
7389        ppc-asmutils.s, ppc-constants.s, ppc-constants32.s,
7390        ppc-constants64.s, ppc-macros.s, ppc-spentry.s, ppc-spjump.s,
7391        ppc-subprims.s, ppc-uuo.s, x86-asmutils64.s, x86-constants.s,
7392        x86-constants64.s, x86-macros.s, x86-spentry64.s, x86-spjump64.s,
7393        x86-subprims64.s, x86-uuo.s, darwinppc/Makefile,
7394        darwinppc64/Makefile: Whoops.  Darwin as doesn't like #.  I dont
7395        like Darwin as, but we're back to single-line /* */, which is often
7396        pretty ugly and not well-supported by Emacs.
7397
73982006-04-17 23:23  gb
7399
7400        * lisp-kernel/: errors.s, imports.s, lisp.s, m4macros.m4,
7401        ppc-asmutils.s, ppc-constants.s, ppc-constants32.s,
7402        ppc-constants64.s, ppc-uuo.s, x86-asmutils64.s, x86-constants.s,
7403        x86-constants64.s, x86-macros.s, x86-spjump64.s, x86-subprims64.s,
7404        x86-uuo.s: Use #/newline for comment delimiters, which is supported
7405        by Emacs and by all current GAS versions (but see ARM conventions.)
7406         No more jerking around with this, knock wood.
7407
74082006-04-17 23:23  gb
7409
7410        * lisp-kernel/x86-spentry64.s: _SPspread_lexprz wasn't handling the
7411        case where caller provided args before the lexpr, which is much
7412        harder than the simple case.
7413       
7414        Use #/newline for comment delimiters, which is supported by Emacs
7415        and by all current GAS versions (but see ARM conventions.)  No more
7416        jerking around with this, knock wood.
7417
74182006-04-17 23:20  gb
7419
7420        * level-0/X86/x86-numbers.lisp: %FIXNUM-GCD was horrible, espcially
7421        when numbers differed greatly in magnitude.  Current (binary)
7422        algorithm is usually OK.
7423
74242006-04-17 23:17  gb
7425
7426        * compiler/X86/x86-lap.lisp: Condition name should be
7427        UNDEFINED-X86-LAP-LABEL, since it's (a) referenced and (b) that's
7428        not the problem.  Name wasn't spelled correctly in code that
7429        signals the condition, anyway.
7430
74312006-04-17 16:34  gb
7432
7433        * lisp-kernel/x86-exceptions.c: pc_luser_xp always takes a tcr
7434        argument, takes a new boolean to distinguish current tcr from
7435        others.  (The current tcr is only lusered on an interrupt; others
7436        are only lusered on GC entry.)
7437
74382006-04-17 16:33  gb
7439
7440        * lisp-kernel/x86-exceptions.h: X86 prototype for pc_luser_xp moved
7441        here.  (No deep reason not to share the new x86 signature on all
7442        architectures.)
7443
74442006-04-17 16:32  gb
7445
7446        * lisp-kernel/ppc-exceptions.h: PPC prototype for pc_luser_xp moved
7447        here.  (No deep reason not to share the new x86 signature on all
7448        architectures.)
7449
74502006-04-17 16:31  gb
7451
7452        * lisp-kernel/lisp-exceptions.h: prototype for pc_luser_xp is
7453        platform-dependent.
7454
74552006-04-17 06:49  gb
7456
7457        * level-1/l1-readloop.lisp: In the closure created in QUIT, only do
7458        CCL::DBG if (a) we're on X86 and (b) the inner closure is bad
7459        already.
7460
74612006-04-17 06:17  gb
7462
7463        * lisp-kernel/lisptypes.h: Don't know if there's such a thing as
7464        truly portable type name.
7465
74662006-04-17 06:16  gb
7467
7468        * lisp-kernel/: errors.s, lisp.s, m4macros.m4, x86-constants.s,
7469        x86-constants64.h, x86-constants64.s, x86-exceptions.c,
7470        x86-exceptions.h, x86-gc.c, x86-macros.s, x86-spentry64.s,
7471        x86-spjump64.s, x86-uuo.s: Well, // style comments seem to only
7472        work if they're at the start of a line in Linux GAS.  Try /* */
7473        comments, but limit them to a single line.  (May ultimately be
7474        better to use m4 dnl - carefully - and avoid end-of-line comments.)
7475
74762006-04-17 05:28  gb
7477
7478        * lisp-kernel/: x86-macros.s, x86-spentry64.s, x86-spjump64.s,
7479        x86-subprims64.s, x86-uuo.s: // comments.
7480
74812006-04-17 05:28  gb
7482
7483        * lisp-kernel/x86-gc.c: timeradd, timersub.  Other Solaris
7484        conditionalization.
7485
74862006-04-17 05:27  gb
7487
7488        * lisp-kernel/x86-exceptions.h: Solaris-related changes (xp
7489        accessors, etc.)
7490
74912006-04-17 05:26  gb
7492
7493        * lisp-kernel/x86-exceptions.c: Solaris-related changes (mostly in
7494        the sigstack trampoline stuff.)
7495
74962006-04-17 05:25  gb
7497
7498        * lisp-kernel/x86-constants64.h: // comments, Solaris-friendly
7499        integer types.
7500
75012006-04-17 05:24  gb
7502
7503        * lisp-kernel/: x86-asmutils64.s, x86-constants.s,
7504        x86-constants64.s: // comments.
7505
75062006-04-17 05:23  gb
7507
7508        * lisp-kernel/pmcl-kernel.c: Some Solaris conditionalization.
7509        Solaris mmap() is ... unusual.
7510
75112006-04-17 05:21  gb
7512
7513        * lisp-kernel/m4macros.m4: Use C++-style single-line comments,
7514        since Solaris version of GAS doen't handle multi-line comments (/*
7515        ... */).  It -seems- that other assemblers do handle them
7516        correctly; we'll see.
7517       
7518        Some Solaris conditionalization (ELFstabs, etc.)
7519
75202006-04-17 05:20  gb
7521
7522        * lisp-kernel/lisptypes.h: Conditionalize for Solaris (type names).
7523         We'll see what this breaks.
7524
75252006-04-17 05:19  gb
7526
7527        * lisp-kernel/lisp.h: PLATFORM_OS is PLATFORM_OS_SOLARIS when
7528        SOLARIS is defined.
7529
75302006-04-17 05:18  gb
7531
7532        * lisp-kernel/lisp-debug.c: Solaris conditionalization; print
7533        registers in predictable order.
7534
75352006-04-17 05:17  gb
7536
7537        * lisp-kernel/: errors.s, imports.s, lisp.s: Use C++-style
7538        single-line comments, since Solaris version of GAS doen't handle
7539        multi-line comments (/* ... */).  It -seems- that other assemblers
7540        do handle them correctly; we'll see.
7541
75422006-04-17 05:15  gb
7543
7544        * lisp-kernel/area.h: IMAGE_BASE_ADDRESS for SolarisX64.  Wrong.
7545
75462006-04-17 05:15  gb
7547
7548        * lisp-kernel/Threads.h: Conditionalize for Solaris.
7549       
7550        TODO: drop Jaguar support, use POSIX (vice Mach) semaphores on all
7551        platforms ?
7552
75532006-04-17 05:01  gb
7554
7555        * lisp-kernel/solarisx64/Makefile: new file
7556
75572006-04-17 04:56  gb
7558
7559        * lisp-kernel/linuxx8664/Makefile: Make it a little easier to
7560        change the name/usage of the linker script.
7561       
7562        Stop using the linker script (since spjump is the only thing in the
7563        kernel that has to be at a fixed address and we can copy it there.)
7564       
7565        Don't disable the EGC.
7566
75672006-04-17 04:54  gb
7568
7569        * lisp-kernel/x86-spjump64.s: Define spjump_start as the origin of
7570        the spjump table, exported for C (so that spjump can be mapped into
7571        low memory.)
7572
75732006-04-17 04:54  gb
7574
7575        * lisp-kernel/x86-spentry64.s: Use reserved_frame_marker.
7576       
7577        If the tlb's too small when trying to bind a special, push the
7578        binding index of the symbol we're binding (for the benefit of the
7579        handler.)
7580
75812006-04-17 04:52  gb
7582
7583        * lisp-kernel/x86-gc.c: Check for cases where a function has more
7584        code words than it has elements (can't happen, unless the
7585        function's code-words word is garbage, which seems to happen when
7586        closures get consed up in non-zeroed memory.)
7587       
7588        Make sure that we mark and forward Itemp2 (= %rcx = %temp2 =
7589        %nargs.q), which sometimes contains something tagged and
7590        non-immediate.
7591
75922006-04-17 04:48  gb
7593
7594        * lisp-kernel/x86-exceptions.c: new_heap_segment() (slowly) checks
7595        to ensure that everythings's zeroed.
7596       
7597        x8664 implementation of extend_tcr_tlb().
7598       
7599        on a gc trap, use tcr->save_allocptr (not the random value in %rbx)
7600        in call to update_bytes_allocated().
7601       
7602        normalize_tcr() - alway set tcr->save_allocptr/tcr->save_allocbase
7603        to VOID_ALLOCPTR (I -think- that this explains the crash-on-quit
7604        bug, and possibly some other instabiliy.)
7605       
7606        handle_exception: keep trying to guess how to distinguish memory
7607        faults from other sources of SIGSEGV.
7608       
7609        On debug traps, advance the PC past the UUO before entering the
7610        debugger.
7611       
7612        Handle XUUO_TLB_TOO_SMALL.
7613
76142006-04-17 04:42  gb
7615
7616        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
7617        reserved_frame_marker.
7618
76192006-04-17 04:42  gb
7620
7621        * lisp-kernel/thread_manager.c: Remove implementation of
7622        extend_tcr_tlb().
7623
76242006-04-17 04:41  gb
7625
7626        * lisp-kernel/ppc-exceptions.h: Prototype for PPC version of
7627        extend_tcr_tlb().
7628
76292006-04-17 04:41  gb
7630
7631        * lisp-kernel/ppc-exceptions.c: PPC version of extend_tcr_tlb().
7632
76332006-04-17 04:40  gb
7634
7635        * lisp-kernel/pmcl-kernel.c: Remap the spjump table on x8664, so
7636        that we don't need to use a linker script.
7637
76382006-04-17 04:40  gb
7639
7640        * lisp-kernel/Threads.h: extend-tcr-tlb: signature defined by
7641        target xxx-exceptions.h now.
7642
76432006-04-17 04:39  gb
7644
7645        * lib/misc.lisp: Some comment formatting/editing.
7646
76472006-04-17 04:38  gb
7648
7649        * level-1/version.lisp: Bump.
7650
76512006-04-17 04:38  gb
7652
7653        * level-1/l1-readloop.lisp: Some debugging code in the code which
7654        creates the final closure.  It seems that when it's bad, it's bad
7655        on creation (here.)
7656
76572006-04-17 04:37  gb
7658
7659        * level-1/l1-processes.lisp: Some debugging code in
7660        PROCESS-EXIT-APPLICATION, to try to catch whatever's causing the
7661        final closure to be trashed.
7662       
7663        I don't think that other threads were getting their allocptr's
7664        nullified correctly by the GC/normalize_tcr(); with the current
7665        debugging code in place, it seems like the closure is consed on top
7666        of something other than free, thread-private heap memory (when it's
7667        bad, it fails the first check here.  I'm not sure that the latest
7668        round of GC/normalize-tcr() changes have fixed the problem, but I
7669        haven't seen it in a while now, either.)
7670
76712006-04-17 04:32  gb
7672
7673        * level-0/X86/x86-def.lisp: %FUNCTION-CODE-BYTE (for partial
7674        disassembly, etc.).
7675
76762006-04-17 04:31  gb
7677
7678        * compiler/X86/X8664/x8664-vinsns.lisp: Use RESERVED-FRAME-MARKER
7679        in RESERVE-OUTGOING-FRAME; don't use ENSURE-RESERVED-FRAME at all
7680        (anymore.)
7681       
7682        Subprims are down in low memory again; make INIT-CLOSURE skip
7683        setting the high byte of .SPcall-closure's address if it's zero.
7684
76852006-04-17 04:28  gb
7686
7687        * compiler/X86/X8664/x8664-arch.lisp: Define RESERVED-FRAME-MARKER,
7688        which may help backtrace.
7689
76902006-04-17 04:26  gb
7691
7692        * lib/: backtrace.lisp, ppc-backtrace.lisp: Split up RAW-FRAME-REF
7693        (interface/implementation.)
7694
76952006-04-15 09:20  gb
7696
7697        * level-1/x86-callback-support.lisp: Ensure that callback
7698        trampolines are allocated in executable memory.
7699
77002006-04-15 09:12  gb
7701
7702        * lib/dumplisp.lisp: Refresh external entry points before reviving
7703        callbacks.  Reset callback storage before reviving callbacks.
7704
77052006-04-15 09:10  gb
7706
7707        * level-1/x86-error-signal.lisp: Don't prefix the unknown trap
7708        error message with a %.  (Where did that come from ?)
7709
77102006-04-15 09:08  gb
7711
7712        * level-1/ppc-callback-support.lisp: Don't (knock wood) need to do
7713        anything in RESET-CALLBACK-STORAGE for PPC, since malloc()ed memory
7714        is executable.
7715
77162006-04-14 09:02  gb
7717
7718        * lib/time.lisp: Jeez.  Save buffer, why dontcha.
7719
77202006-04-14 08:21  gb
7721
7722        * lib/time.lisp: ENCODE-UNIVERSAL-TIME: treat year 0-99 as
7723        shorthand for the nearest matching year.
7724
77252006-04-14 08:20  gb
7726
7727        * lib/format.lisp: FORMAT-PRINT-NUMBER was printing commas even
7728        when : was missing.
7729
77302006-04-13 23:09  gb
7731
7732        * lib/ppc-backtrace.lisp: Eschew missing parens.
7733
77342006-04-13 23:08  gb
7735
7736        * lib/describe.lisp: Change NTH-VALUE-IN-FRAME call.
7737
77382006-04-13 23:08  gb
7739
7740        * lib/backtrace.lisp: DBG-FORM checks the second return value from
7741        ARGLIST-FROM-MAP.
7742
77432006-04-13 23:02  gb
7744
7745        * lib/arglist.lisp: Don't pass a "conser" function around (the idea
7746        is leftover from 68K MCL).  ARGLIST-FROM-MAP tries to be consistent
7747        about returning a second value; returns values NIL, T for functions
7748        that take no args and don't have a symbol map.
7749
77502006-04-13 22:53  gb
7751
7752        * level-1/l1-lisp-threads.lisp: Try to make args to
7753        NTH-VALUE-IN-FRAME et al a little saner.
7754
77552006-04-13 22:37  gb
7756
7757        * lib/numbers.lisp: Conditionalize on word size, not PPC processor
7758        type.
7759
77602006-04-13 22:36  gb
7761
7762        * level-1/version.lisp: Bump.
7763
77642006-04-13 22:35  gb
7765
7766        * level-1/l1-aprims.lisp: Remove the DBG trap from #'APPLY.  Still
7767        trying to find the cause of the crash-on-quit bug.
7768
77692006-04-13 07:30  gb
7770
7771        * lib/ppc-backtrace.lisp: Migrate some stuff here.
7772
77732006-04-13 07:29  gb
7774
7775        * level-1/l1-lisp-threads.lisp, lib/backtrace.lisp: Migrate some
7776        stuff to target-backtrace.
7777
77782006-04-13 06:45  gb
7779
7780        * lisp-kernel/x86-gc.c: mark_root: need to handle TRAs earlier.
7781
77822006-04-13 06:44  gb
7783
7784        * lisp-kernel/pmcl-kernel.c: Set GC debug bits manually here on
7785        x8664.
7786
77872006-04-13 06:44  gb
7788
7789        * level-1/x86-error-signal.lisp: XP-ARGUMENT-LIST: only the low 13
7790        bytes of %nargs_q contain arg count.
7791
77922006-04-13 06:43  gb
7793
7794        * level-1/l1-error-system.lisp: No EVAL-PROGRAM-ERROR. Please.
7795
77962006-04-13 06:43  gb
7797
7798        * level-1/l1-aprims.lisp: Trying to find what's (sometimes)
7799        trashing a closure during QUIT; embed a #+x86-target breakpoint in
7800        APPLY.
7801
78022006-04-13 06:42  gb
7803
7804        * level-0/X86/x86-numbers.lisp: Bad typo in %FIXNUM-GCD.
7805
78062006-04-13 06:41  gb
7807
7808        * compiler/X86/x862.lisp: Lap expression changes; recycle constant
7809        operands.
7810
78112006-04-13 06:41  gb
7812
7813        * compiler/X86/x86-lap.lisp: Freelist a lot of things; use
7814        "vector-lists" instead of adjustable arrays, simplify handling of
7815        constant expressions.  Still conses hysterically; need to find out
7816        where and tone it down a bit, if possible.
7817
78182006-04-13 06:39  gb
7819
7820        * compiler/X86/x86-disassemble.lisp: Maybe no lap immediate
7821        operands; maybe no lap constant-expressions.
7822
78232006-04-13 06:39  gb
7824
7825        * compiler/X86/x86-asm.lisp: Don't need
7826        *lap-constant-0-expression*.
7827
78282006-04-13 00:46  gb
7829
7830        * lisp-kernel/linuxx8664/Makefile: Kernel depends on Makefile,
7831        linker script.
7832
78332006-04-13 00:45  gb
7834
7835        * lisp-kernel/linuxx8664/elf_x86_64.x: Use linker script from ld
7836        2.16.1 (Thanks to James Bielman).
7837
78382006-04-12 18:53  gb
7839
7840        * lisp-kernel/linuxx8664/elf_x86_64.x: Try to avoid use of
7841        PROVIDE_HIDDEN, since some versions of GNU ld don't like it.  (Most
7842        of this seems to have to do with C++ static constructors, which
7843        aren't really relevant here.)
7844
78452006-04-12 18:28  gb
7846
7847        * lisp-kernel/x86-spentry64.s: Use movd (not movq) when moving
7848        between %Rforeign_sp and GPRs.
7849
78502006-04-12 18:22  gb
7851
7852        * lisp-kernel/linuxx8664/Makefile: egc flag
7853
78542006-04-12 18:08  gb
7855
7856        * lisp-kernel/x86-gc.c: Add current/prev (temporarily) to help find
7857        where we're losing here.
7858
78592006-04-12 18:07  gb
7860
7861        * lisp-kernel/x86-exceptions.c: pc_luser_xp: notice if we're in the
7862        write barrier code, crap out if so.
7863
78642006-04-12 18:06  gb
7865
7866        * lisp-kernel/pmcl-kernel.c: Disable EGC if DISABLE_EGC is defined
7867        (presumably in a Makefile).
7868
78692006-04-12 14:50  gb
7870
7871        * level-1/version.lisp: Bump.
7872
78732006-04-12 14:46  gb
7874
7875        * lib/: compile-ccl.lisp, ppc-backtrace.lisp, systems.lisp,
7876        x86-backtrace.lisp: new target backtrace stuff.
7877
78782006-04-12 14:45  gb
7879
7880        * lib/backtrace.lisp: Start splitting things up, ideally into a
7881        mostly abstract API and gory platform- dependent implementation
7882        details.
7883
78842006-04-11 21:40  gb
7885
7886        * lisp-kernel/pmcl-kernel.c: Only way to stress-test EGC is to turn
7887        the damned thing on.  (A little painful with integrity checking
7888        enabled, as it still is by default.)
7889       
7890        TODO:
7891       
7892        - sleep (me) - non-recursive (link-inverting) marker - pc-lusering
7893        (pc_luser_xp()) - backtrace - ANSI CL tests - purify - 2d-aref - FP
7894        exception handling - check UUO usage in kernel, disassembler,
7895        exception handlers - stack overflow recovery
7896
78972006-04-11 21:24  gb
7898
7899        * lisp-kernel/x86-gc.c: Skip over function code in
7900        check_refmap_consistency.
7901
79022006-04-11 21:23  gb
7903
7904        * lisp-kernel/x86-spentry64.s: Write barrier memoization sets bits
7905        backwards.
7906
79072006-04-11 19:11  gb
7908
7909        * compiler/X86/x862.lisp: Change LABELS for new closure format.
7910
79112006-04-11 19:11  gb
7912
7913        * lisp-kernel/x86-spentry64.s: 3 words of code + inner function in
7914        a closure, no lfname slot in closure.
7915
79162006-04-11 16:29  gb
7917
7918        * lisp-kernel/linuxx8664/.gdbinit: ada  prints active dynamic (GC)
7919        area.
7920
79212006-04-11 16:29  gb
7922
7923        * lisp-kernel/x86-subprims64.s: Maintain the MXCSR on transitions
7924        between lisp/foreign code.
7925
79262006-04-11 16:29  gb
7927
7928        * lisp-kernel/x86-spentry64.s: Add write barrier stuff (may have
7929        bit-order problems.)
7930       
7931        Maintain the MXCSR on transitions between lisp/foreign code.
7932
79332006-04-11 16:28  gb
7934
7935        * lisp-kernel/x86-macros.s: Access globals in expressions.
7936
79372006-04-11 16:27  gb
7938
7939        * lisp-kernel/x86-gc.c: Start to implement EGC for X8664; this'll
7940        need some bootstrapping stuff (function boundary markers) for a few
7941        reasons, as will DWS marker.
7942
79432006-04-11 16:27  gb
7944
7945        * lisp-kernel/x86-exceptions.c: If we get an FP exception, report
7946        the siginfo error code.
7947
79482006-04-11 16:26  gb
7949
7950        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Define MXCSR
7951        fields in tcr.
7952
79532006-04-11 16:25  gb
7954
7955        * lisp-kernel/x86-constants.h: Define MXCSR bits.
7956
79572006-04-11 16:25  gb
7958
7959        * lisp-kernel/thread_manager.c: Setup the MXCSR somewhat sanely
7960        when starting a lisp thread.  (It'll be saner when FP exceptions
7961        are handled.)
7962
79632006-04-11 16:24  gb
7964
7965        * level-1/x86-error-signal.lisp: Recognize what complaints about
7966        non-uvectors are trying to tell us.
7967
79682006-04-11 16:23  gb
7969
7970        * level-1/l1-io.lisp: PRINT-OBJECT method for TRAs, symbol/function
7971        vectors.
7972
79732006-04-11 16:23  gb
7974
7975        * level-1/l1-clos-boot.lisp: Spell TAGGED-RETURN-ADDRESS with more
7976        Ses.  Define classes for function/symbol vectors.
7977
79782006-04-11 16:22  gb
7979
7980        * level-0/X86/x86-def.lisp: %RETURN-ADDRESS-OFFSET.
7981
79822006-04-11 16:21  gb
7983
7984        * compiler/X86/X8664/x8664-vinsns.lisp: Closure initialization
7985        needs to add a function boundary marker (but we can stop padding
7986        each closure with a null function name slot.)
7987
79882006-04-11 16:20  gb
7989
7990        * compiler/X86/X8664/x8664-arch.lisp: Define
7991        FUNCTION-BOUNDARY-MARKER, which should never exist in the wild.
7992
79932006-04-11 16:19  gb
7994
7995        * compiler/X86/x862.lisp: Emit a function boundary marker between
7996        code and constants. (For GC reasons.) Change closure initialization
7997        to account for it.
7998
79992006-04-11 16:18  gb
8000
8001        * compiler/X86/x86-lap.lisp: Emit a function boundary marker
8002        between code and constants. (For GC reasons.)
8003
80042006-04-11 16:17  gb
8005
8006        * compiler/X86/x86-disassemble.lisp: Require more stuff.
8007
80082006-04-11 16:17  gb
8009
8010        * compiler/nxenv.lisp: Require X8664ENV on X8664.
8011       
8012        See if we can get by without 68K condition code ...
8013
80142006-04-11 06:53  gb
8015
8016        * lisp-kernel/x86-exceptions.c: We'll need to handle FP exceptions
8017        soon.
8018
80192006-04-11 06:53  gb
8020
8021        * lib/numbers.lisp: Infinity constants conditionalized on/off
8022        during MXCSR adventures.  On now.
8023
80242006-04-11 06:52  gb
8025
8026        * lib/describe.lisp: Comment indentation.
8027       
8028        No such thing as an interpreted function; hasn't been for years.
8029
80302006-04-11 06:51  gb
8031
8032        * level-1/x86-threads-utils.lisp: Fixup lfun bits of %FIXNUM-SET et
8033        al.
8034
80352006-04-11 06:51  gb
8036
8037        * level-1/version.lisp: Bumped yesterday.
8038
80392006-04-11 06:50  gb
8040
8041        * level-1/l1-error-signal.lisp: Comments.
8042
80432006-04-11 06:50  gb
8044
8045        * level-1/l1-clos-boot.lisp: CLASS-OF handles non-simple vectors,
8046        at least.
8047
80482006-04-11 06:50  gb
8049
8050        * level-0/X86/x86-float.lisp: MXCSR stuff.  Better, mostly because
8051        a fixnum constant is boxed in %SET-MXCSR.
8052
80532006-04-11 06:49  gb
8054
8055        * level-0/X86/x86-def.lisp: Get info about register usage.
8056
80572006-04-11 06:49  gb
8058
8059        * compiler/X86/X8664/x8664-vinsns.lisp: Natural arithmetic; start
8060        work on 2d aref.  Fix MISC-SET-U64 (or some flavor thereof), which
8061        though that it was dealing with a scaled index.
8062
80632006-04-11 06:48  gb
8064
8065        * compiler/X86/x862.lisp: Natural arithmetic; start work on 2d
8066        aref.
8067
80682006-04-11 06:48  gb
8069
8070        * compiler/X86/x86-lap.lisp: FRAGs are freelisted.  Really need to
8071        do something about FRAG-CODE-BUFFERs, and need to tone down
8072        expression overkill.
8073
80742006-04-11 06:46  gb
8075
8076        * compiler/X86/x86-backend.lisp: Vinsn template fixup mechanism,
8077        for when opcode ordinals change.
8078
80792006-04-11 06:46  gb
8080
8081        * compiler/X86/x86-asm.lisp: UUO-ERROR-STACK-OVERFLOW ->
8082        UUO-ERROR-ARRAY-RANK.
8083       
8084        Vinsn template fixup mechanism, for when opcode ordinals change.
8085
80862006-04-11 06:45  gb
8087
8088        * compiler/X86/x86-arch.lisp: Try to unscramble MXCSR bits/masks.
8089
80902006-04-11 06:45  gb
8091
8092        * compiler/nx0.lisp: NX-U31-CONSTANT-P.
8093
80942006-04-11 06:44  gb
8095
8096        * compiler/dll-node.lisp: WITH-DLL-NODE-FREELIST: syntax to allow
8097        specialized list header initialization.
8098
80992006-04-11 06:43  gb
8100
8101        * level-1/l1-error-system.lisp, compiler/arch.lisp: Type errors for
8102        2d float arrays.
8103
81042006-04-10 10:19  gb
8105
8106        * lisp-kernel/x86-spentry64.s: _SPcallback is now called with the
8107        foreign SP properly obeying C alignment conventions.  In order to
8108        get it aligned for lisp usage during the callback, an extra word
8109        needs to be pushed before the backpointer to the old foreign RSP.
8110
81112006-04-10 10:18  gb
8112
8113        * lisp-kernel/x86-exceptions.c: Ensure that the copied sigcontext
8114        is 16-byte aligned, so that the foreign stack pointer is aligned
8115        according to C conventions when we enter the signal handler on that
8116        stack.
8117
81182006-04-10 10:13  gb
8119
8120        * lib/numbers.lisp: Define FP infinities, since we're running with
8121        FP exceptions masked. (We don't handle FP exceptions on X8664 yet,
8122        but this was crashing due to ldmxcsr/stmxcsr confusion, not because
8123        an unmasked FP exception was raised and unhandled.)
8124
81252006-04-10 10:10  gb
8126
8127        * lib/level-2.lisp: Remove the WARN and the conditionalization
8128        around bit/bitfield accessors on X8664.
8129
81302006-04-10 10:09  gb
8131
8132        * level-0/X86/x86-float.lisp: Repeat after me: to load the mxcsr
8133        from memory, we say "ldmxcsr".  We want to do such a load in order
8134        to write new values into the mxcsr.  To store it in memory, we say
8135        "stmxcsr".  We want to do such a store (and a subsequent load from
8136        memory) in order to access the value of the mxcsr.  Simple, no ?
8137
81382006-04-10 10:07  gb
8139
8140        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp:
8141        %GET-BIT/%SET-BIT.
8142
81432006-04-10 08:29  gb
8144
8145        * compiler/X86/X8664/x8664-vinsns.lisp: Float
8146        addition/multiplication: either arg can overlap result (and often
8147        will).  Float subtraction/division: caller should ensure that
8148        result and second arg are disjoint.
8149
81502006-04-10 08:27  gb
8151
8152        * compiler/X86/x862.lisp: Float arithmetic is two-address; ensure
8153        that result doesn't overlap second argument for non-commutative
8154        operations.
8155
81562006-04-10 08:26  gb
8157
8158        * lisp-kernel/lisp-debug.c: Show FPRs on LinuxX8664.
8159
81602006-04-10 05:12  gb
8161
8162        * lisp-kernel/thread_manager.c: Don't free dead TCRs if we didn't
8163        malloc them.
8164
81652006-04-10 05:12  gb
8166
8167        * lib/compile-ccl.lisp: REBUILD-CCL paramaters for :LINUXX8664.
8168
81692006-04-10 05:11  gb
8170
8171        * level-1/l1-pathnames.lisp: No need to reference PPC package, and
8172        good reason not to.
8173
81742006-04-10 04:39  gb
8175
8176        * xdump/xfasload.lisp: signed 32-bit, 64-bit integers in fasl files
8177        are always big-endian.
8178
81792006-04-10 04:38  gb
8180
8181        * lisp-kernel/x86-gc.c: mark_root(): if we're marking a function
8182        reachable via a TRA, update the variable "dnode" so that the
8183        correct bits get set.
8184
81852006-04-10 04:37  gb
8186
8187        * level-0/X86/X8664/x8664-bignum.lisp: Remove some breakpoints.
8188
81892006-04-10 04:37  gb
8190
8191        * level-0/X86/x86-array.lisp: %SIMPLE-BIT-BOOLE.  Could stand to be
8192        a bit simpler.
8193
81942006-04-10 04:36  gb
8195
8196        * level-0/l0-hash.lisp: Whoops: %SET-NEEDS-REHASHING is called from
8197        the MAKE-LOAD-FORM method for hashtables.
8198
81992006-04-09 09:17  gb
8200
8201        * lisp-kernel/thread_manager.c: Inflate control stack size on
8202        x8664, until DWS marker works (and do so correctly this time).
8203
82042006-04-09 09:12  gb
8205
8206        * lisp-kernel/thread_manager.c: Inflate control stack size on
8207        x8664, until DWS marker works.
8208
82092006-04-09 09:09  gb
8210
8211        * level-0/l0-hash.lisp: Now that bitvectors work, remove
8212        #+x86-target DBG trap.
8213
82142006-04-09 08:57  gb
8215
8216        * level-0/l0-hash.lisp: Set/clear rehash bits via SBIT, not AREF.
8217        (Should be exactly the same code, but may not have been 15 years
8218        ago or whenever this was written.)
8219
82202006-04-09 08:56  gb
8221
8222        * lisp-kernel/x86-spentry64.s,
8223        compiler/X86/X8664/x8664-vinsns.lisp: Clear bits in a bit vector
8224        via btrX (Bit Test and Reset), not btcX (Bit Test and Complement.)
8225
82262006-04-09 03:52  gb
8227
8228        * lisp-kernel/x86-macros.s: Parens around negative displacement in
8229        condition_to_boolean.  Not clear why this is necessary, but it
8230        seems to be.
8231
82322006-04-09 03:24  gb
8233
8234        * lisp-kernel/x86-macros.s: Use shorter sequence in
8235        condition_to_boolean.
8236
82372006-04-09 02:32  gb
8238
8239        * compiler/X86/X8664/x8664-vinsns.lisp: Using cmovCC intstead of
8240        setCC for cr-bit->boolean is 1 instruction and 2 bytes shorter, all
8241        other things being equal.
8242
82432006-04-09 01:37  gb
8244
8245        * compiler/X86/x86-asm.lisp: reg/reg variants of bsfX, bsrX had
8246        operands backwards.
8247
82482006-04-09 01:37  gb
8249
8250        * compiler/optimizers.lisp: Comment formatting.
8251
82522006-04-09 01:29  gb
8253
8254        * level-0/X86/X8664/x8664-bignum.lisp: %BIGNUM-SIGN-DIGITS:
8255        bsr/xorl != clz when (zerop n).
8256
82572006-04-08 21:25  gb
8258
8259        * lisp-kernel/x86-exceptions.c: Forget about blocking SIGINT in
8260        current thread before entering kernel debugger.
8261
82622006-04-08 21:21  gb
8263
8264        * lib/compile-ccl.lisp: early def of XLOAD-LEVEL-0: require
8265        (TARGET-XLOAD-MODULES).
8266
82672006-04-08 21:21  gb
8268
8269        * lisp-kernel/x86-spentry64.s: misc_set_s16: forgot a lognot.
8270
82712006-04-08 21:20  gb
8272
8273        * level-0/nfasload.lisp: 64-bit vectors: target::, not ppc64::.
8274
82752006-04-08 20:46  gb
8276
8277        * lib/foreign-types.lisp: Add missing paren ...
8278
82792006-04-08 20:45  gb
8280
8281        * lib/foreign-types.lisp: Recognize a :struct-by-value case.
8282
82832006-04-08 20:44  gb
8284
8285        * compiler/X86/X8664/x8664-backend.lisp: X8664 ABI seems to pass
8286        structs by value, sort of.
8287
82882006-04-08 20:43  gb
8289
8290        * x86-headers64/libc/C/populate.sh: Add -D_GNU_SOURCE to CFLAGS.
8291
82922006-04-08 20:42  gb
8293
8294        * library/hash-cons.lisp: Port some of this to x8664; need to add
8295        code to maintain "used" bitmap.
8296
82972006-04-08 20:42  gb
8298
8299        * lib/numbers.lisp: Conditionalize out the FP infinity stuff in the
8300        short term.
8301
83022006-04-08 20:41  gb
8303
8304        * lib/edit-callers.lisp: %MAP-LFIMMS: lfun-vector changes.  Should
8305        someday fix this crap.
8306
83072006-04-08 20:40  gb
8308
8309        * lib/describe.lisp: Conditionalize, a little.
8310
83112006-04-08 20:40  gb
8312
8313        * lib/db-io.lisp: SAVE-DB-FUNCTION appears to be unused.
8314
83152006-04-08 20:39  gb
8316
8317        * level-1/l1-io.lisp: PRINT-A-NAN not #+ppc-target.
8318
83192006-04-08 20:39  gb
8320
8321        * level-1/l1-readloop-lds.lisp: Error reentry stuff here.
8322
83232006-04-08 20:39  gb
8324
8325        * level-1/l1-sockets.lisp: Workaround ffi translator lossage in
8326        _inet_ntoa (just as Darwin has for years; why not fix this ?)
8327
83282006-04-08 20:38  gb
8329
8330        * level-1/ppc-trap-support.lisp: Error-reentry stuff to
8331        l1-readloop-lds (nothing to do with PPC or traps ...)
8332
83332006-04-08 20:37  gb
8334
8335        * .cvsignore: Ignore *CL*/*cl*, not necessarily *CCL*/*ccl*.
8336
83372006-04-08 04:46  gb
8338
8339        * compiler/X86/x862.lisp: X862-MVCALL needs to always save and
8340        restore, even if there's only one values-producing form (that form
8341        might produce more values than will fit in argument registers, and
8342        we therefore have to reserve space for a stack frame.)
8343
83442006-04-08 04:45  gb
8345
8346        * compiler/X86/x86-asm.lisp: Need to actually define INSERT-IMM64.
8347
83482006-04-08 04:43  gb
8349
8350        * lib/macros.lisp: Scanning backwards for instructions depends on a
8351        reasonable architecture.
8352
83532006-04-08 04:43  gb
8354
8355        * lib/compile-ccl.lisp: TARGET-XLOAD-MODULES for x8664.
8356
83572006-04-08 04:42  gb
8358
8359        * xdump/xfasload.lisp: Hide ppc32 double-float-vector stuff in
8360        target arch.
8361
83622006-04-08 04:41  gb
8363
8364        * xdump/.cvsignore: ignore *.*fsl
8365
83662006-04-07 22:46  gb
8367
8368        * compiler/nx.lisp: XCOMPILE-LAMBDA is #+ppc-target for now.
8369
83702006-04-07 22:45  gb
8371
8372        * compiler/nx1.lisp: Provide an FTYPE declaration for
8373        %DEFINE-PPC-LAP-FUNCTION.
8374
83752006-04-07 22:25  gb
8376
8377        * level-1/version.lisp: Bump.
8378
83792006-04-07 22:19  gb
8380
8381        * compiler/PPC/ppc-asm.lisp, compiler/PPC/ppc-backend.lisp,
8382        compiler/PPC/ppc-disassemble.lisp, compiler/PPC/ppc-lap.lisp,
8383        lib/backtrace-lds.lisp: ARCH::OPCODE, ARCH::OPERAND moved to CCL
8384        package.
8385
83862006-04-07 22:18  gb
8387
8388        * compiler/risc-lap.lisp: OPCODE, OPERAND moved here and from
8389        arch:: to ccl::.
8390
83912006-04-07 22:17  gb
8392
8393        * compiler/arch.lisp: OPERAND, OPCODE belong elsewhere (in
8394        RISC-LAP, for instance).  That's a different package, too.
8395
83962006-04-07 20:46  gb
8397
8398        * library/lispequ.lisp: %CONS-FAKE-STACK-FRAME here.  Really.
8399
84002006-04-07 20:45  gb
8401
8402        * level-0/l0-pred.lisp: *IMMHEADER-1-TYPES* was wrong, too.  Should
8403        I maybe look at the others, or just fix them as I stumble on them ?
8404
84052006-04-07 20:44  gb
8406
8407        * compiler/X86/X8664/x8664-vinsns.lisp: jns->jne when checking for
8408        a DOUBLE-FLOAT.
8409
84102006-04-07 20:41  gb
8411
8412        * level-0/nfasload.lisp: Print file pos in FASL-DISPATCH debug
8413        message.
8414
84152006-04-07 20:40  gb
8416
8417        * lib/nfcomp.lisp: #+x8664: Check for fulltag-immheader-1, not
8418        fulltag-immheader-0 twice in fasl-scan-dispatch
8419       
8420        FASL-DUMP-SYMBOL needs a SYMPTR->SYMVECTOR.  (Note that FASLOAD has
8421        never handled uninterned symbols that need a binding index.)
8422
84232006-04-07 07:55  gb
8424
8425        * lib/describe.lisp: Formatting changes, mostly.
8426
84272006-04-07 07:54  gb
8428
8429        * compiler/X86/x862.lisp: multiple-value-calls need to reserve an
8430        outgoing stack frame when more than 3 args/ values are involved.
8431
84322006-04-07 07:53  gb
8433
8434        * lisp-kernel/x86-spentry64.s, lisp-kernel/x86-spjump64.s,
8435        compiler/X86/X8664/x8664-arch.lisp,
8436        compiler/X86/X8664/x8664-vinsns.lisp: _SPrecover-values-for-mvcall
8437        (reserves outgoing frame if necessary.)
8438
84392006-04-07 07:52  gb
8440
8441        * level-1/ppc-trap-support.lisp: %CONS-FAKE-STACK-FRAME moved to
8442        lispequ.
8443
84442006-04-07 06:28  gb
8445
8446        * compiler/X86/X8664/x8664-vinsns.lisp: pop argument regs in the
8447        right order.
8448
84492006-04-07 06:27  gb
8450
8451        * level-0/X86/x86-misc.lisp: VALUES accounts for reserved frame.
8452
84532006-04-07 03:59  gb
8454
8455        * compiler/X86/x862.lisp: Don't push the function on the "value"
8456        stack when doing a MULTIPLE-VALUE-CALL, since its presence there
8457        can interfere with multiple-value continuations.  (Can it be popped
8458        before recovering multiple values ?  I didn't think of that, but I
8459        suspect that that'd be simpler than what I did; check this.  Maybe
8460        there is -or once was- an issue with _SPrecovervalues bashing a
8461        register.)
8462       
8463        Pushing the function on the temp stack while collecting multiple
8464        values avoids the issue (but it may be far better to simply vpop it
8465        before the call to _SPrecovervalues.)
8466       
8467        Most of the issues related to X862-MVCALL calling itself
8468        recursively have to do with cleaning the function off of the stack
8469        in non tail-call cases.  Since the function's not there anymore,
8470        the rationale for splitting this into a base and recursive case
8471        isn't very strong.
8472       
8473        Changes in X862-MVCALL exposed bugs in X862-INVOKE-FN: we don't
8474        want to emit or otherwise reference the mvpass label if it's null.
8475
84762006-04-07 03:51  gb
8477
8478        * compiler/X86/X8664/x8664-vinsns.lisp: TEMP-PUSH-NODE,
8479        TEMP-POP-NODE.
8480
84812006-04-06 21:27  gb
8482
8483        * lib/db-io.lisp: CDB-HASH-MASK happens to be =
8484        PPC32::TARGET-MOST-POSITIVE-FIXNUM.
8485
84862006-04-06 21:26  gb
8487
8488        * level-1/x86-trap-support.lisp: Bugs, not worth describing in
8489        detail.
8490
84912006-04-06 21:25  gb
8492
8493        * level-1/x86-error-signal.lisp: Bugs, not worth describing in
8494        detail ...
8495
84962006-04-06 21:24  gb
8497
8498        * level-1/l1-lisp-threads.lisp: Simplify CFP-LFUN.
8499
85002006-04-06 21:23  gb
8501
8502        * compiler/X86/X8664/x8664-backend.lisp: Fenceposts with the last
8503        gpr/fpr args.
8504
85052006-04-06 21:22  gb
8506
8507        * compiler/X86/X8664/x8664-arch.lisp: tcr->linear_end ->
8508        tcr->save_rbp.
8509
85102006-04-06 21:21  gb
8511
8512        * lisp-kernel/x86-spentry64.s: Maintain tcr->save_rbp on
8513        ffcall/callback.
8514
85152006-04-06 21:20  gb
8516
8517        * lisp-kernel/x86-exceptions.c: Setup tcr->save_rbp when doing a
8518        callback.
8519       
8520        Pass rpc to %ERR-DISP, as it expects.
8521
85222006-04-06 21:19  gb
8523
8524        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
8525        tcr->linear_end -> tcr->save_rbp.
8526
85272006-04-06 07:03  gb
8528
8529        * lisp-kernel/x86-exceptions.c: Call out to handle errors.
8530
85312006-04-06 07:03  gb
8532
8533        * lisp-kernel/linuxx8664/.gdbinit: Ignore more signals.
8534
85352006-04-06 06:44  gb
8536
8537        * compiler/X86/X8664/x8664-vinsns.lisp: Use new UUOs for
8538        slot-boundp checks, eep.address.
8539
85402006-04-06 06:43  gb
8541
8542        * compiler/X86/x862.lisp: X862-FIXUP-FWD-REFS: don't assume that
8543        functions are uvectors or that their constants start at index 1.
8544       
8545        PROGV: don't keep interrupts off in the body.
8546
85472006-04-06 05:58  gb
8548
8549        * compiler/X86/x86-asm.lisp: RESOLVE-EEP uuo needs source and dest
8550        registers to be recoverable.
8551       
8552        Use (int ($ #x8x)) for SLOT-UNBOUND, since it needs slot-vector,
8553        index, and dest reg to be recoverable.
8554       
8555        Note that the use of this range of (int N) operands may lead to
8556        confusion on platforms that use int #x80 for syscalls.  That (a)
8557        doesn't apply to x8664, since SYSCALL is present and used on x8664
8558        and (b) would only be a problem if the dest reg was %rax, which it
8559        won't be.
8560
85612006-04-06 05:53  gb
8562
8563        * lib/macros.lisp: DEFSETF for INTERRUPT-LEVEL here.
8564
85652006-04-06 05:53  gb
8566
8567        * level-0/l0-init.lisp: Better (useful) X8664 *FEATURES*.
8568
85692006-04-06 05:52  gb
8570
8571        * level-0/l0-hash.lisp: Remove some #+x86-target DBG traps.   Add a
8572        few fixnum decls in and around DO-REHASH.
8573
85742006-04-06 05:51  gb
8575
8576        * level-0/X86/x86-def.lisp: %RETURN-ADDRESS-FUNCTION: if argument
8577        is a "real" tagged return address, return the associated function.
8578
85792006-04-06 05:50  gb
8580
8581        * level-1/: x86-error-signal.lisp, x86-trap-support.lisp: Flesh
8582        this out some.  The FAKE-STACK-FRAME stuff isn't quite the right
8583        idea on X8664; may need to revise it.
8584
85852006-04-06 05:49  gb
8586
8587        * level-1/ppc-trap-support.lisp: Remove HANDLE-GC-HOOKS.
8588
85892006-04-06 05:49  gb
8590
8591        * level-1/ppc-threads-utils.lisp: DEFSETF for INTERRUPT-LEVEL moved
8592        ... anywhere but a platform-specific file.
8593
85942006-04-06 05:48  gb
8595
8596        * level-1/l1-events.lisp: HANDLE-GC-HOOKS isn't really
8597        platform-specific, so move it here.
8598
85992006-04-06 05:47  gb
8600
8601        * level-1/: l1-clos-boot.lisp, l1-clos.lisp: Hashing code expects
8602        instance.hash to be a fixnum, so violating that expectation (as was
8603        done a few weeks ago for debugging) fouls things up royally.  This
8604        may have led to instability on PPC as well.
8605
86062006-04-06 05:44  gb
8607
8608        * lisp-kernel/x86-exceptions.c: Return false (for now) on unhandled
8609        UUO.  (Need to merge code from another machine, which will try to
8610        call out to lisp.)
8611
86122006-04-06 05:43  gb
8613
8614        * lisp-kernel/pmcl-kernel.c: register_sigint_handler on x8664.
8615
86162006-04-05 06:57  gb
8617
8618        * lisp-kernel/x86-spentry64.s: nthrow variants: set %Rforeign_sp,
8619        not tcr slot.
8620       
8621        _SPcallback aligns the foreign stack the way that lisp expects.
8622
86232006-04-05 06:56  gb
8624
8625        * lisp-kernel/x86-exceptions.c: Handle more stuff, including
8626        interrupt callbacks.
8627
86282006-04-05 06:55  gb
8629
8630        * library/x8664-linux-syscalls.lisp: GETUID was wrong.
8631
86322006-04-05 06:55  gb
8633
8634        * level-1/x86-trap-support.lisp: VERY early callback for interrupt
8635        handling.
8636
86372006-04-05 06:54  gb
8638
8639        * level-1/l1-callbacks.lisp: Comment format
8640
86412006-04-05 06:54  gb
8642
8643        * level-0/X86/x86-utils.lisp: Arg order in lap macros.
8644
86452006-04-05 06:54  gb
8646
8647        * level-0/l0-pred.lisp: Get *IMMHEADER-2-TYPES* (or whatever it's
8648        called) right.
8649
86502006-04-05 06:53  gb
8651
8652        * compiler/X86/X8664/x8664-backend.lisp: DEFCALLBACK guts for
8653        X8664.
8654
86552006-04-05 05:20  gb
8656
8657        * lisp-kernel/x86-exceptions.c: Do some callbacks.  Let's see if
8658        they work yet.
8659
86602006-04-05 05:19  gb
8661
8662        * lisp-kernel/x86-spentry64.s: Use interrupt-checking macros.  Fix
8663        callback typos.
8664
86652006-04-05 05:19  gb
8666
8667        * lisp-kernel/x86-macros.s: Check for interrupts, and do so when we
8668        know that they've just become enabled.
8669
86702006-04-05 05:17  gb
8671
8672        * lisp-kernel/x86-exceptions.c: Set high bit of tcr->interrupt
8673        pending when there's ... a pending interrupt.
8674
86752006-04-05 05:17  gb
8676
8677        * lisp-kernel/x86-exceptions.h: Define xuuo stuff.
8678
86792006-04-04 21:47  gb
8680
8681        * lisp-kernel/x86-spentry64.s: callback changes.
8682
86832006-04-04 21:47  gb
8684
8685        * lisp-kernel/lisp-debug.c: rip "=", not "-".
8686
86872006-04-04 21:46  gb
8688
8689        * lisp-kernel/linuxx8664/.gdbinit: Ignore SIGPWR, until we know
8690        better.
8691
86922006-04-04 18:51  gb
8693
8694        * lisp-kernel/pmcl-kernel.c: Wimp out, back to 128GB for
8695        LinuxPPC64.
8696
86972006-04-04 18:50  gb
8698
8699        * level-1/linux-files.lisp: Don't use %GET-NATURAL in Linux version
8700        of PIPE, since file descriptors are always C ints.
8701
87022006-04-04 18:03  gb
8703
8704        * compiler/PPC/PPC32/ppc32-backend.lisp,
8705        compiler/PPC/PPC64/ppc64-backend.lisp, lib/macros.lisp: callback
8706        implementation moved to the backend.
8707
87082006-04-04 18:02  gb
8709
8710        * lib/arglist.lisp: ARGLIST-FROM-MAP: get &rest name right when
8711        &key is also present.
8712
87132006-04-04 16:10  gb
8714
8715        * lisp-kernel/pmcl-kernel.c: linuxppc64 can't mmap 512GB; try
8716        256GB.
8717
87182006-04-04 15:52  gb
8719
8720        * level-1/version.lisp: Bump. New images soon.
8721
87222006-04-04 15:52  gb
8723
8724        * compiler/backend.lisp: Add slots for callback definition.
8725
87262006-04-04 15:52  gb
8727
8728        * compiler/nx0.lisp: Remove a #-bccl.
8729
87302006-04-04 15:26  gb
8731
8732        * lisp-kernel/x86_print.c: print_unsigned_hex: conditionalize on
8733        word size.
8734
87352006-04-04 15:26  gb
8736
8737        * lisp-kernel/x86-spentry64.s: First cut of _SPcallback.
8738
87392006-04-04 15:26  gb
8740
8741        * lisp-kernel/x86-macros.s: Catch frames save foreign sp from
8742        register, not from tcr slot.
8743
87442006-04-04 15:25  gb
8745
8746        * lisp-kernel/x86-exceptions.c: Uncomment the body of
8747        interrupt_handler.
8748
87492006-04-04 15:18  gb
8750
8751        * compiler/lambda-list.lisp: %LFUN-INFO & friends: do
8752        (FUNCTION-TO-FUNCTION-VECTOR).
8753
87542006-04-04 15:18  gb
8755
8756        * compiler/X86/x86-lapmacros.lisp: check-nargs: bad comparison on
8757        max when both min and max.
8758
87592006-04-04 15:18  gb
8760
8761        * lib/macros.lisp: spurious checkin; no real change
8762
87632006-04-03 23:01  gb
8764
8765        * lisp-kernel/x86-gc.c: Make purify() a nop, for now.
8766
87672006-04-03 22:43  gb
8768
8769        * scripts/openmcl64: Maybe (check for x8664 Linux is untested).
8770
87712006-04-03 22:42  gb
8772
8773        * lisp-kernel/bits.h: Constants are word-size (not CPU-variant)
8774        -specific.
8775
87762006-04-03 22:42  gb
8777
8778        * lisp-kernel/pmcl-kernel.c: 512GB MAXIMUM_MAPPABLE_MEMORY on
8779        x8664/Linux as well.
8780
87812006-04-03 22:41  gb
8782
8783        * lisp-kernel/ppc-gc.c: Remove X86 conditionalization.  Maybe merge
8784        x86-gc.c and ppc-gc.c back into a single file someday (or at least
8785        put truly shared code there),but for now this is simpler.
8786
87872006-04-03 22:38  gb
8788
8789        * lisp-kernel/x86-exceptions.c: A little more infrastructure, so
8790        that we can actually call the GC.
8791
87922006-04-03 22:37  gb
8793
8794        * lisp-kernel/x86-exceptions.h: Define UUO, trap opcodes.
8795
87962006-04-03 22:36  gb
8797
8798        * lisp-kernel/x86-gc.c: It's ... alive.
8799
88002006-04-03 22:36  gb
8801
8802        * lisp-kernel/x86-spentry64.s: Use new vector bounds traps. How
8803        about boundp checks ?
8804
88052006-04-03 22:35  gb
8806
8807        * lisp-kernel/x86-uuo.s: New uuo definitions.
8808
88092006-04-03 22:35  gb
8810
8811        * lib/macros.lisp: DO-GC-AREAS,which is one of those macro things,
8812        moved here. Uses archmacro AREA-SUCC (defined here) to avoid
8813        TARGET-ARCH-CASE lossage.
8814
88152006-04-03 22:34  gb
8816
8817        * level-1/l1-lisp-threads.lisp: DO-GC-AREAS,which is one of those
8818        macro things, moved to macros.lisp.
8819
88202006-04-03 22:33  gb
8821
8822        * level-0/X86/x86-misc.lisp: Zero out all of the write-lock's
8823        writer slot, not just the low half.
8824
88252006-04-03 22:32  gb
8826
8827        * level-0/PPC/ppc-utils.lisp: TRUE, FALSE : cmplr vs cmplri.
8828        Typical rookie PPC assembler mistake ...
8829
88302006-04-03 22:31  gb
8831
8832        * level-0/l0-misc.lisp: %FREEBYTES looked like a job for
8833        %GET-NATURAL.
8834
88352006-04-03 22:31  gb
8836
8837        * compiler/X86/X8664/x8664-vinsns.lisp: Use newfangled UUOs.
8838
88392006-04-03 22:30  gb
8840
8841        * compiler/X86/x86-asm.lisp: Add UUO-ERROR-UNBOUND,
8842        UUO-ERROR-SLOT-UNBOUND, UUO-ERROR-EEP-UNRESOLVED.
8843
88442006-04-03 22:29  gb
8845
8846        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
8847        X86/X8664/x8664-arch.lisp: AREA-SUCC archmacro.
8848
88492006-04-01 23:36  gb
8850
8851        * lisp-kernel/x86-exceptions.h: xpMMXreg, sigaltstack stuff.
8852
88532006-04-01 23:35  gb
8854
8855        * lisp-kernel/x86-exceptions.c: take signals on an alternate signal
8856        stack, run the handler on the foreign stack (this is all intended
8857        to keep signal handlers from splatting sigcontexts all over the
8858        tagged lisp stack.)
8859
88602006-04-01 23:33  gb
8861
8862        * lisp-kernel/x86-constants64.h: mmx register indices.
8863
88642006-04-01 23:33  gb
8865
8866        * lisp-kernel/x86-asmutils64.s: switch_to_foreign_stack().
8867
88682006-04-01 23:32  gb
8869
8870        * lisp-kernel/thread_manager.c: register_cstack_holding_area_lock()
8871        takes a natural stack size.
8872
88732006-04-01 23:32  gb
8874
8875        * lisp-kernel/pmcl-kernel.c: register_cstack_holding_area_lock()
8876        takes a natural stack size, sets up alternate signal stack if
8877        USE_SIGALTSTACK.
8878
88792006-04-01 23:31  gb
8880
8881        * lisp-kernel/lisp.h: USE_SIGALTSTACK if X8664.  (Might someday
8882        depend on platform.)
8883
88842006-03-31 23:15  gb
8885
8886        * lisp-kernel/linuxx8664/Makefile: gc.o -> x86-gc.o
8887
88882006-03-31 23:00  gb
8889
8890        * lisp-kernel/x86-gc.c: New file; currently, an exact copy of
8891        ppc-gc.c, but they'll diverge some soon.
8892
88932006-03-31 22:56  gb
8894
8895        * lisp-kernel/: linuxppc/Makefile, linuxppc64/Makefile,
8896        static-linuxppc/Makefile: gc.o -> ppc-gc.o
8897
88982006-03-31 22:52  gb
8899
8900        * lisp-kernel/: darwinppc/Makefile, darwinppc64/Makefile: gc.o ->
8901        ppc-gc.o
8902
89032006-03-31 22:51  gb
8904
8905        * lisp-kernel/area.h: Need prototype for heap_area_containing().
8906        heap_node_area_containing(), which doesn't exist ... not so much.
8907
89082006-03-31 22:50  gb
8909
8910        * lisp-kernel/memory.c: Some functions moved here from gc.c before
8911        it was renamed/split.
8912
89132006-03-31 22:48  gb
8914
8915        * lisp-kernel/gc.c: rename/split
8916
89172006-03-31 22:46  gb
8918
8919        * lisp-kernel/ppc-gc.c: renamed
8920
89212006-03-31 00:54  gb
8922
8923        * lisp-kernel/x86-spentry64.s: Progvsave, progvrestore seem to
8924        work.
8925       
8926        Not sure about the tail end of the multiple-value case of THROW,
8927        but at least it's there.
8928
89292006-03-31 00:53  gb
8930
8931        * library/x8664-linux-syscalls.lisp: still need work, but more
8932        stuff (including socket syscalls) are defined now.
8933
89342006-03-31 00:52  gb
8935
8936        * level-1/version.lisp: Bump.
8937
89382006-03-31 00:52  gb
8939
8940        * level-1/l1-sockets.lisp: Conditionalize lots for x8664.
8941
89422006-03-31 00:51  gb
8943
8944        * level-0/X86/x86-def.lisp: No debug trap in %CFP-LFUN.
8945
89462006-03-31 00:50  gb
8947
8948        * level-0/l0-init.lisp: Simplify *FEATURES* init a little.  Try to
8949        ensure that :linuxx8664-target is there if it should be.
8950
89512006-03-31 00:46  gb
8952
8953        * compiler/X86/X8664/x8664-arch.lisp: Define
8954        MAX-8-BIT-IVECTOR-SUBTAG, too.
8955
89562006-03-30 03:23  gb
8957
8958        * level-1/l1-aprims.lisp: ELEMENT-SUBTYPE-TYPE for x8664.
8959
89602006-03-30 03:22  gb
8961
8962        * level-1/l1-boot-2.lisp: Load some x8664 files,
8963
89642006-03-30 03:21  gb
8965
8966        * level-1/l1-boot-3.lisp: Comments and formatting.
8967
89682006-03-30 03:20  gb
8969
8970        * level-1/l1-clos-boot.lisp: Some x8664 changes.
8971
89722006-03-30 03:20  gb
8973
8974        * level-1/l1-clos.lisp: Use REPLACE-FUNCTION-CODE another time or
8975        two.
8976       
8977        Set class's INSTANCE.HASH slots to class name, to make classes
8978        easier to identify in kernel debugger.  (Might not want to keept
8979        this, but could set/clear a bit there.)
8980
89812006-03-30 03:18  gb
8982
8983        * level-1/: l1-files.lisp, l1-dcode.lisp: Comments and formatting
8984        changes only.
8985
89862006-03-30 03:17  gb
8987
8988        * level-1/l1-lisp-threads.lisp: Start to move some stuff into
8989        platform-dependent files.
8990
89912006-03-30 03:16  gb
8992
8993        * level-1/: l1-pathnames.lisp, l1-numbers.lisp: Conditionalize.
8994
89952006-03-30 03:16  gb
8996
8997        * level-1/l1-streams.lisp: 64-bit conditionalization, and x8664
8998        stuff.
8999
90002006-03-30 03:15  gb
9001
9002        * level-1/l1-typesys.lisp: 64-bit array type on all (both) 64-bit
9003        platforms.
9004
90052006-03-30 03:13  gb
9006
9007        * level-1/l1-utils.lisp: TRUE and FALSE now in LAP.
9008
90092006-03-30 03:13  gb
9010
9011        * level-1/level-1.lisp: Load "new" x8664 files.
9012
90132006-03-30 03:12  gb
9014
9015        * level-1/linux-files.lisp: Conditionalize some for x8664.
9016
90172006-03-30 03:12  gb
9018
9019        * level-1/ppc-threads-utils.lisp: Some stuff moved here from
9020        l1-lisp-threads.
9021
90222006-03-30 03:11  gb
9023
9024        * lib/compile-ccl.lisp: X8664-related changes.
9025
90262006-03-30 03:11  gb
9027
9028        * lib/foreign-types.lisp: Setup host-ftd based on compile-time
9029        target.  Yow, recursion.
9030
90312006-03-30 03:10  gb
9032
9033        * lib/macros.lisp: LET-GLOBALLY deals with symptr/symvector stuff.
9034
90352006-03-30 03:10  gb
9036
9037        * lib/misc.lisp: Fix Linux MACHINE-INSTANCE.
9038       
9039        Move DISASSEMBLE and interface here.
9040
90412006-03-30 03:09  gb
9042
9043        * lib/nfcomp.lisp: Conditionalize for x8664; dump native functions
9044        via fasl-clfun.
9045
90462006-03-30 03:08  gb
9047
9048        * lib/prepare-mcl-environment.lisp: Needed symptr/symvector stuff.
9049
90502006-03-30 03:08  gb
9051
9052        * lib/systems.lisp: Add new x86 level-1 stuff; remove some truly
9053        ancient MCLisms.
9054
90552006-03-30 03:06  gb
9056
9057        * library/x8664-linux-syscalls.lisp: Some fixes and additions, but
9058        still needs lots of work.
9059
90602006-03-30 03:06  gb
9061
9062        * lisp-kernel/x86_print.c: If instance.hash of an instance isn't a
9063        fixnum, treat it as a class name.  (Hard to otherwise recognize
9064        classes from the kernel.)
9065
90662006-03-30 03:04  gb
9067
9068        * lisp-kernel/x86-spjump64.s: rename poweropen_callback ->callback.
9069
90702006-03-30 03:04  gb
9071
9072        * lisp-kernel/x86-spentry64.s: Lots of bug fixes.
9073       
9074        Multiple-value THROW still needs work, and CALLBACK still needs to
9075        be written (both sides).
9076
90772006-03-30 03:02  gb
9078
9079        * lisp-kernel/x86-constants64.s: No FPSCR here, but an MXCSR.
9080
90812006-03-30 03:01  gb
9082
9083        * lisp-kernel/ppc-spentry.s: Error call in misc_set_invalid
9084        involves 4 args.
9085
90862006-03-30 03:00  gb
9087
9088        * lisp-kernel/pmcl-kernel.c: Larger GC defaults if 64-bit, not just
9089        PPC64.
9090       
9091        Insist on Linux kernel 2.6 if x8664 linux.
9092
90932006-03-30 02:59  gb
9094
9095        * lisp-kernel/plsym.c: Missing #\% in format string.
9096
90972006-03-30 02:56  gb
9098
9099        * lisp-kernel/linuxx8664/.gdbinit: More stuff.
9100
91012006-03-30 02:55  gb
9102
9103        * level-1/: x86-callback-support.lisp, x86-error-signal.lisp,
9104        x86-threads-utils.lisp, x86-trap-support.lisp: Nee files.
9105
91062006-03-30 02:54  gb
9107
9108        * level-0/X86/X8664/x8664-bignum.lisp: Remove debug traps from
9109        things that're believed to be working.
9110
91112006-03-30 02:54  gb
9112
9113        * level-0/X86/x86-utils.lisp: CLASS-OF changes/fixes.  Move
9114        #'TRUE/#'FALSE here.
9115
91162006-03-30 02:53  gb
9117
9118        * level-0/X86/x86-symbol.lisp: %SYMPTR->SYMBOL: check for nilsym,
9119        not NIL.
9120
91212006-03-30 02:52  gb
9122
9123        * level-0/X86/x86-numbers.lisp: %FIXNUM-TRUNCATE: return results in
9124        the right order.
9125       
9126        %IASL: shift the right register.
9127
91282006-03-30 02:51  gb
9129
9130        * level-0/X86/x86-misc.lisp: Fix %FUDGE-HEAP-POINTER; define
9131        INTERRUPT-LEVEL.
9132
91332006-03-30 02:51  gb
9134
9135        * level-0/X86/x86-float.lisp: %get-mxcsr stores the mxcsr in memory
9136        so that we can load it into a fixnum.
9137
91382006-03-30 02:50  gb
9139
9140        * level-0/X86/x86-def.lisp: %CFP-LFUN: try to recognize
9141        multiple-value returning calls, return NIL if tra offset is 0.
9142
91432006-03-30 02:49  gb
9144
9145        * level-0/X86/x86-clos.lisp: Remove debug traps; use registers
9146        sanely in the SETF case.
9147
91482006-03-30 02:48  gb
9149
9150        * level-0/PPC/ppc-utils.lisp: Implement TRUE and FALSE in LAP.
9151
91522006-03-30 02:48  gb
9153
9154        * level-0/PPC/ppc-clos.lisp: Change the name of a constant that'll
9155        get clobbered when this is cloned anyway.  (Is that clear ?)
9156
91572006-03-30 02:47  gb
9158
9159        * level-0/l0-pred.lisp: %TYPE-OF fixes for x8664.
9160       
9161        We haven't had interpreted functions for a few years.
9162
91632006-03-30 02:46  gb
9164
9165        * level-0/l0-float.lisp: %SET-DOUBLE-FLOAT-EXP: endianness, use
9166        symbolic constant for high word.
9167
91682006-03-30 02:45  gb
9169
9170        * level-0/l0-array.lisp: SUBTAG-BYTES for X8664.
9171
91722006-03-30 02:45  gb
9173
9174        * compiler/X86/X8664/x8664-vinsns.lisp: Lots of bug fixes.
9175
91762006-03-30 02:44  gb
9177
9178        * compiler/X86/X8664/x8664-arch.lisp: REQUIRE what we need.
9179       
9180        Get CATCH-FRAME definition right.
9181       
9182        .SPpoweropen-callback -> .SPcallback.
9183
91842006-03-30 02:43  gb
9185
9186        * compiler/X86/x862.lisp: Lots of changes and bugfixes.
9187
91882006-03-30 02:42  gb
9189
9190        * compiler/X86/x86-lap.lisp: Avid path in REQUIRE; create native
9191        functions.
9192
91932006-03-30 02:42  gb
9194
9195        * compiler/X86/x86-disassemble.lisp: Run natively: provide
9196        X8664-XDISASSEMBLE.
9197
91982006-03-30 02:41  gb
9199
9200        * compiler/X86/x86-asm.lisp: Assemble things (uuos) with a "pseudo"
9201        ModRM byte, which allows encoding two 4-bit x8664 registers in a
9202        single byte.
9203
92042006-03-30 02:40  gb
9205
9206        * compiler/X86/x86-arch.lisp: Need to explicitly (REQUIRE "ARCH").
9207
92082006-03-30 02:39  gb
9209
9210        * compiler/PPC/PPC64/ppc64-arch.lisp: Define high and low 32-bit
9211        parts of a DOUBLE-FLOAT.
9212
92132006-03-30 02:39  gb
9214
9215        * compiler/PPC/ppc-disassemble.lisp: DISASSEMBLE and
9216        FUNCTION-FOR-DISASSEMBLY moved elsewhere.
9217
92182006-03-25 20:47  gb
9219
9220        * lisp-kernel/lisp-debug.c: Fix x8664 lisp register display.
9221
92222006-03-25 20:42  gb
9223
9224        * lib/ccl-export-syms.lisp: Fix export of CCL::GETENV and
9225        CCL::SETENV.
9226
92272006-03-25 20:37  gb
9228
9229        * lisp-kernel/x86-spentry64.s: Dozens of bug fixes.
9230       
9231        Do uvref (not yet uvset) via jump table.
9232
92332006-03-25 20:36  gb
9234
9235        * lisp-kernel/x86-macros.s: Do arithmetic correctly in Cons macro.
9236       
9237        Split up Misc_Alloc.
9238
92392006-03-25 20:34  gb
9240
9241        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Tag juggling.
9242
92432006-03-25 20:34  gb
9244
9245        * lisp-kernel/ppc_print.c: Identify SLOT-VECTORs in kernel
9246        debugger.
9247
92482006-03-25 20:33  gb
9249
9250        * lisp-kernel/errors.s: Add some error numbers for uvref/uvset
9251        failures that should never happen.
9252
92532006-03-25 20:32  gb
9254
9255        * lisp-kernel/lisp-debug.c: Change x8664 lisp register display.
9256
92572006-03-25 20:32  gb
9258
9259        * lisp-kernel/gc.c: IMPURIFY: maybe grow the dynamic area, but
9260        don't shrink it.
9261
92622006-03-25 20:31  gb
9263
9264        * lisp-kernel/plsym.c: Symbol address may be longer than 32 bits.
9265
92662006-03-25 20:31  gb
9267
9268        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s: sgbuf has
9269        been lisp_thread for the past few years.
9270
92712006-03-25 20:30  gb
9272
9273        * lisp-kernel/ppc-spentry.s: Do uvref/uvset via jump tables.
9274        (Fewer branches, more redundancy.)
9275
92762006-03-25 20:29  gb
9277
9278        * lisp-kernel/x86_print.c: Identify SLOT-VECTORs.  Print TRAs.
9279
92802006-03-25 20:28  gb
9281
9282        * lisp-kernel/xlbt.c: Skip over lexpr nonsense.
9283
92842006-03-25 20:28  gb
9285
9286        * lisp-kernel/linuxx8664/.gdbinit: More GDB macros.
9287
92882006-03-25 20:27  gb
9289
9290        * library/lispequ.lisp: %GF-DISPATCH-TABLE-REF uses %SVREF.
9291
92922006-03-25 20:26  gb
9293
9294        * lib/misc.lisp: MACHINE-VERSION caches the result per-session;
9295        looks in /proc/cpuinfo for something machine-dependent on Linux,
9296        passes 64-bit stuff on DarwinPPC64.
9297
92982006-03-25 20:25  gb
9299
9300        * lib/macros.lisp: LFUN-BITS-KNOWN-FUNCTIONS uses arch macros to
9301        access function vector.
9302
93032006-03-25 20:23  gb
9304
9305        * level-1/version.lisp: Bump.
9306
93072006-03-25 20:23  gb
9308
9309        * level-1/l1-io.lisp: No more interpreted functions.
9310
93112006-03-25 20:23  gb
9312
9313        * level-1/l1-dcode.lisp: Mostly comment and formatting changes.
9314
93152006-03-25 20:22  gb
9316
9317        * level-1/l1-clos.lisp: Fix typos in x86 function cloning;
9318        comment/formatting changs.
9319
93202006-03-25 20:21  gb
9321
9322        * level-1/l1-clos-boot.lisp: Lots of formatting changes; try to use
9323        DEFGLOBAL, since special variable lookup is ~10 instructions or so.
9324
93252006-03-25 20:20  gb
9326
9327        * level-1/l1-boot-1.lisp: HOST-PLATFORM, PLATFORM-DESCRIPTION:
9328        generalize, a little.
9329
93302006-03-25 20:19  gb
9331
9332        * level-1/l1-aprims.lisp: LFUN-KEYVECT access function vector, if
9333        that's not the function.  NREVERSE checks for NIL, mostly so I
9334        wouldn't have to single-step through that case in GDB.
9335
93362006-03-25 20:18  gb
9337
9338        * level-0/X86/X8664/x8664-bignum.lisp: Shift in the correct
9339        direction, sign-extend (or don't) as apropriate, etc.  Still some
9340        debug traps on things that haven't been called yet.
9341
93422006-03-25 20:17  gb
9343
9344        * level-0/X86/x86-utils.lisp: CLASS-OF fixes.
9345
93462006-03-25 20:17  gb
9347
9348        * level-0/X86/x86-pred.lisp: If the recursive list case of EQUAL
9349        fails, fail; don't fall into the uvector case ...
9350
93512006-03-25 20:16  gb
9352
9353        * level-0/X86/x86-numbers.lisp: Fenceposts in fixnum
9354        integer-length.
9355
93562006-03-25 20:15  gb
9357
9358        * level-0/X86/x86-hash.lisp: Strip-tag-to-fixnum without shifts.
9359
93602006-03-25 20:15  gb
9361
9362        * level-0/X86/x86-def.lisp: Stuff here seems to work, so far ...
9363
93642006-03-25 20:14  gb
9365
9366        * level-0/X86/x86-clos.lisp: debug traps on slot-lookup LAP
9367        prototypes.
9368
93692006-03-25 20:12  gb
9370
9371        * level-0/l0-pred.lisp: rearrange %type-of for tag changes.
9372
93732006-03-25 20:12  gb
9374
9375        * level-0/l0-numbers.lisp: No need to specify an initial value 0
9376        when stack-consing a bignum in %BIGNUM-RANDOM.  Add a fixnum decl
9377        or two.
9378
93792006-03-25 20:11  gb
9380
9381        * level-0/l0-hash.lisp: Symbol aren't (necessarily) uvectors. X86
9382        breakpoints if we hash any symbols ...
9383
93842006-03-25 20:09  gb
9385
9386        * level-0/l0-bignum64.lisp: Um, most of this is supposed to be
9387        #+64-bit-target, not #+ppc64-target.
9388
93892006-03-25 20:09  gb
9390
9391        * compiler/X86/X8664/x8664-vinsns.lisp:
9392        SET-CLOSURE-FORWARD-REFERENCE: functions aren't uvectors.
9393       
9394        Lots of other changes/fixes.
9395
93962006-03-25 20:08  gb
9397
9398        * compiler/X86/X8664/x8664-arch.lisp: Tag reorganization.
9399       
9400        MISC-SYMBOL-OFFSET, MISC-FUNCTION-OFFSET.
9401       
9402        FUNCTION-TO-FUNCTION-VECTOR, FUNCTION-VECTOR-TO-FUNCTION arch
9403        macros have something to do here.
9404
94052006-03-25 20:06  gb
9406
9407        * compiler/X86/x862.lisp: Some operators can push results directly.
9408       
9409        Lots of bug fixes.
9410
94112006-03-25 20:05  gb
9412
9413        * compiler/X86/x86-asm.lisp: CMPB: accept signed/unsigned
9414        immediate.
9415
94162006-03-25 20:04  gb
9417
9418        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Arch
9419        macros for FUNCTION-TO-FUNCTION-VECTOR and
9420        FUNCTION-VECTOR-TO-FUNCTION.
9421       
9422        (NOPs.)
9423
94242006-03-25 20:03  gb
9425
9426        * compiler/optimizers.lisp: MACPTRP.
9427
94282006-03-25 20:03  gb
9429
9430        * compiler/nx.lisp: COMPILE: don't check for INTERPRETED-FUNCTION,
9431        unless/until we have them again (in some form.)
9432
94332006-03-20 10:05  gwking
9434
9435        * lib/ccl-export-syms.lisp: Exporting getenv and setenv from CCL
9436
94372006-03-19 20:30  gb
9438
9439        * lisp-kernel/x86-spentry64.s: Old-style destructuring, VALUES.
9440
94412006-03-19 20:29  gb
9442
9443        * lisp-kernel/x86-constants64.s: Define %nargs_b.
9444
94452006-03-19 20:29  gb
9446
9447        * lisp-kernel/x86-constants.s: Define registers/bitfields used in
9448        old-style destructuring subprims.
9449
94502006-03-19 20:28  gb
9451
9452        * library/lispequ.lisp: $XNOFINFUNCTION.
9453
94542006-03-19 20:27  gb
9455
9456        * lib/level-2.lisp: Conditionalize out bit, bitfield accessors
9457        until they work ...
9458
94592006-03-19 20:27  gb
9460
9461        * lib/backtrace-lds.lisp: Conditionalize
9462        GET-REGISTER-VALUE/SET-REGISTER-VALUE catch frame access.
9463
94642006-03-19 20:26  gb
9465
9466        * level-1/: l1-clos-boot.lisp, l1-clos.lisp, l1-dcode.lisp:
9467        Conditionalize, mostly for whether the implementation has separate
9468        code-vector and function objects or not. (ppc vs x86, for now.)
9469
94702006-03-19 20:25  gb
9471
9472        * level-0/X86/x86-numbers.lisp: %FIXNUM-GCD.  Slower then the one
9473        that counts bits, but doesn't need as many registers.
9474
94752006-03-19 20:24  gb
9476
9477        * level-0/X86/x86-def.lisp: Do the lexpr/methd-context apply stuff.
9478         %X86-CLONE-FUNCTION, REPLACE-FUNCTION-CODE.
9479       
9480        Wouldn't hurt to do some typechecking in some of the lap code here.
9481
94822006-03-19 20:22  gb
9483
9484        * level-0/X86/x86-clos.lisp: Yet.
9485
94862006-03-19 20:22  gb
9487
9488        * level-0/PPC/ppc-def.lisp: REPLACE-FUNCTION-CODE abstraction.
9489
94902006-03-19 20:22  gb
9491
9492        * level-0/PPC/ppc-clos.lisp: UNSET-FIN-TRAMPOLINE doesn't reference
9493        constants.  (This could neve  have worked.)
9494
94952006-03-19 20:21  gb
9496
9497        * level-0/l0-error.lisp: Replace error format string 9.
9498
94992006-03-19 20:20  gb
9500
9501        * compiler/X86/X8664/x8664-vinsns.lisp: &lexpr fixes, old-style
9502        destructuring.
9503
95042006-03-19 20:20  gb
9505
9506        * compiler/X86/X8664/x8664-arch.lisp: Add the xtra slot to
9507        lisp-frame.  yield syscall, gf-code-size.
9508
95092006-03-19 20:19  gb
9510
9511        * compiler/X86/x862.lisp: Fix some lexpr confusion, mv-call
9512        recursive problems.
9513
95142006-03-19 20:18  gb
9515
9516        * compiler/X86/x86-lapmacros.lisp: SAVE-FRAME-VARIABLE-ARG-COUNT,
9517        CALL-SUBPRIM.
9518
95192006-03-19 20:17  gb
9520
9521        * compiler/X86/x86-lap.lisp: Support :CODE-SIZE and :ORG
9522        directives.  Change :CONSTANTS to :FIXED-CONSTANTS.
9523
95242006-03-19 20:16  gb
9525
9526        * compiler/nx1.lisp: Can use MAKE-ARRAY rather than MAKE-SEQUENCE.
9527
95282006-03-17 23:38  gb
9529
9530        * xdump/xfasload.lisp: Special case references to NIL in package
9531        htabs.
9532       
9533        Leave deleted markers behind for symbols that we haven't seen
9534        references to; leave empty (0) words empty.
9535
95362006-03-17 23:36  gb
9537
9538        * lisp-kernel/linuxx8664/.gdbinit: Add a few lisp debugging things.
9539
95402006-03-17 23:36  gb
9541
9542        * lisp-kernel/xlbt.c: Recognize multiple-value returning frames and
9543        find the real tra underneath ret1valn.
9544
95452006-03-17 23:35  gb
9546
9547        * lisp-kernel/x86-spentry64.s: "gen" tcalls had the same bug as the
9548        known-stack-args cases did several days ago.
9549
95502006-03-17 23:34  gb
9551
9552        * lisp-kernel/x86-macros.s: New do_funcall().
9553
95542006-03-17 23:33  gb
9555
9556        * lisp-kernel/x86-exceptions.c: When we field an alloc trap, make
9557        sure that both the allocptr register and the save_allocptr slot in
9558        the TCR are updated and consistent with each other.
9559
95602006-03-17 23:32  gb
9561
9562        * lisp-kernel/x86-constants64.h: A lisp frame may have two return
9563        addresses (one for the multiple-value mechanism and the real one.)
9564
95652006-03-17 23:31  gb
9566
9567        * lisp-kernel/plsym.c: If there's such a thing as fulltag_symbol,
9568        try to use it.
9569
95702006-03-17 23:29  gb
9571
9572        * level-0/X86/x86-symbol.lisp: Symptr/symvector deconflation.
9573
95742006-03-17 23:28  gb
9575
9576        * level-0/X86/x86-pred.lisp: Add %LISP-LOWBYTE-REF; could be
9577        open-coded (and may once have been.)
9578
95792006-03-17 23:27  gb
9580
9581        * level-0/nfasload.lisp: Some SYMPTR->SYMVECTOR usage.  Define
9582        %FASL-READ-SIGNED-LONG;  use it in a few places.  Assume that
9583        scalar integers are stored big-endian; construct native-endian
9584        integers from them.
9585
95862006-03-17 23:26  gb
9587
9588        * level-0/l0-symbol.lisp: Lots of SYMPTR->SYMVECTOR usage.
9589
95902006-03-17 23:25  gb
9591
9592        * level-0/l0-pred.lisp: Do %TYPE-OF for x8664.
9593
95942006-03-17 23:24  gb
9595
9596        * level-0/l0-def.lisp: Use SYMPTR->SYMVECTOR where necessary, so
9597        that we can %SVREF around in symbols.
9598       
9599        A little light reorganization, to make it easier to add debugging
9600        breakpoints for things like FUNCTION-NAME.
9601
96022006-03-17 23:22  gb
9603
9604        * compiler/X86/X8664/x8664-vinsns.lisp: Kinder, gentler
9605        CHECK-MISC-BOUND.  (What was I thinking ?)
9606       
9607        More cleanup to FUNCALL and variants.
9608       
9609        MAKE-TSP-CONS: fix braindamage, use only one register.  (Need to
9610        write down pc-luser-xp constraints for TSP allocation, but I think
9611        that this meets the current artist's conception of them.)
9612       
9613        %SYMBOL->SYMPTR does what it does on other platforms (e.g., map NIL
9614        to a proxy symbol and/or insist on a real symbol.)
9615        %SYMPTR->SYMVECTOR maps something tagged as a symbol to the
9616        underlying uvector by playing with tag bits, and %SYMVECTOR->SYMPTR
9617        does the inverse.
9618       
9619        There were two definitions of %SCHARCODE in the file; the later one
9620        (that took effect) was completely wrong.
9621
96222006-03-17 23:05  gb
9623
9624        * compiler/X86/X8664/x8664-arch.lisp: Add HONS fields to AREA
9625        definition.
9626       
9627        SYMVECTOR->SYMPTR and its inverse don't do much, but it's not worth
9628        spending a function call to do a little.
9629
96302006-03-17 23:03  gb
9631
9632        * compiler/X86/x862.lisp: Don't sign-extend the $LFBITS-NONAME-BIT;
9633        doing so had to do with 29-bit fixnums on an old 68K
9634        implementation.
9635       
9636        Fix parenthesization in %i-, so that we branch in all cases that
9637        need to.
9638       
9639        Implement %SYMPTR->SYMVECTOR and %SYMVECTOR->SYMPTR, which change
9640        something tagged X8664::FULLTAG-SYMBOL into the underlying uvector
9641        and back again.
9642
96432006-03-17 22:59  gb
9644
9645        * compiler/X86/x86-lap.lisp: Change the sign of TRA displacements,
9646        to match what the compiler expects and what some other things do.
9647       
9648        When checking to see if an ASSUMED-SHORT[-CONDITIONAL]-BRANCH can
9649        use a 1-byte branch displacement, get the sign of that displacment
9650        right.  (Doing it the wrong way was encoding a forward branch to a
9651        label 128 bytes away in one byte, which made it a backward branch
9652        128 bytes away ...)
9653
96542006-03-17 22:55  gb
9655
9656        * library/lispequ.lisp: Use NTH-IMMEDIATE to access COMBINED-METHOD
9657        slots.
9658
96592006-03-17 22:54  gb
9660
9661        * lib/nfcomp.lisp: Comments clarify that scalar integers are always
9662        dumped big-endian.  (They have to be read/written a byte at a time
9663        anyway; there's no clear advantage in writing them in native
9664        endianness.)
9665
96662006-03-17 22:52  gb
9667
9668        * lib/macros.lisp: SYMPTR->SYMVECTOR and SYMVECTOR->SYMBOL are
9669        arch-specfic (NOP on PPC, inlined tag-bits stuff on x8664.)
9670
96712006-03-17 22:50  gb
9672
9673        * level-1/l1-dcode.lisp: Star to conditionalize, a little.
9674
96752006-03-17 22:48  gb
9676
9677        * level-1/l1-boot-2.lisp: Conditionalize.
9678
96792006-03-17 22:48  gb
9680
9681        * level-1/: l1-callbacks.lisp, l1-utils.lisp: Comment formatting.
9682
96832006-03-17 22:45  gb
9684
9685        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-arch.lisp,
9686        PPC64/ppc64-arch.lisp: %SYMPTR->SYMVECTOR and %SYMVECTOR->SYMPTR
9687        shold never be called on PPC, but implement them as idenity
9688        operations, just in case.
9689
96902006-03-17 22:44  gb
9691
9692        * compiler/: nx1.lisp, nxenv.lisp: Worth inlining
9693        %SYMPTR->SYMVECTOR on x8664 (should never happen on PPC, but treat
9694        it as identity function there.)
9695
96962006-03-16 02:03  gb
9697
9698        * level-1/l1-sockets.lisp: Spell LINUX correctly.
9699
97002006-03-16 02:00  gb
9701
9702        * lisp-kernel/x86-spentry64.s: We were inlining NTH-VALUE
9703        incorrectly, but were always inlining it.
9704       
9705        Use debug traps to catch some cases that're NYI.
9706
97072006-03-16 01:58  gb
9708
9709        * lisp-kernel/lisp-debug.c: X8664 register-printing changes.
9710
97112006-03-16 01:58  gb
9712
9713        * library/parse-ffi.lisp: Treat VEC64/VEC128 like large integers,
9714        for now.
9715
97162006-03-16 01:57  gb
9717
9718        * library/lispequ.lisp: gf accessors use NTH-IMMEDIATE.
9719
97202006-03-16 01:56  gb
9721
9722        * lib/numbers.lisp: Conditionaliz on target word size.
9723
97242006-03-16 01:56  gb
9725
9726        * lib/nfcomp.lisp: Need to be aware of cases where host/target
9727        endianness differ.
9728       
9729        Byte-swap 16/32-bit constant ivectors; note that other cases may
9730        also need byte-swapping.
9731
97322006-03-16 01:54  gb
9733
9734        * lib/macros.lisp: NTH-IMMEDIATE is arch-specific; so is
9735        SET-NTH-IMMEDIATE, which is its SETF inverse.
9736
97372006-03-16 01:53  gb
9738
9739        * lib/foreign-types.lisp: So far, Darwin's the only platform that
9740        uses signed chars.  (For a good laugh, note that the PPC has an
9741        unsigned "load byte" instruction, but it takes two instructions to
9742        treat char as signed.  This is, of course, much less significant
9743        than all of the other things that are wrong about Darwin ...)
9744
97452006-03-16 01:51  gb
9746
9747        * lib/compile-ccl.lisp: RISC-LAP is PPC-specific (and maybe
9748        specific to other RISC architectures).  X86-DISASSEMBLE should be
9749        built for x8664.
9750
97512006-03-16 01:49  gb
9752
9753        * lib/backtrace-lds.lisp: Some conditinalization.
9754
97552006-03-16 01:48  gb
9756
9757        * tools/.cvsignore, library/.cvsignore: Ignore fasl extensions yet
9758        to come.
9759
97602006-03-16 01:46  gb
9761
9762        * level-1/version.lisp: Bump.
9763
97642006-03-16 01:46  gb
9765
9766        * level-1/l1-sockets.lisp: Some conditionalization; need more, and
9767        need to handle wrong-endianness.
9768
97692006-03-16 01:44  gb
9770
9771        * level-1/l1-lisp-threads.lisp: %KERNEL-GLOBAL-OFFSET-FORM:
9772        probably should lose this.  It's a function, and therefore has some
9773        trouble accessing the right (macroexpand-time) backend.
9774
97752006-03-16 01:43  gb
9776
9777        * level-1/l1-files.lisp: Set *.FASL-PATHAME* via #.'ed reference to
9778        target backend.
9779
97802006-03-16 01:42  gb
9781
9782        * level-1/l1-clos-boot.lisp: Conditionalize a little.
9783
97842006-03-16 01:42  gb
9785
9786        * level-1/l1-aprims.lisp: Use #. to set OS package name fron
9787        backend/ftd.
9788
97892006-03-16 01:41  gb
9790
9791        * level-0/X86/x86-symbol.lisp: %SYMPTR->SYMBOL is often called with
9792        real (tagged) symbols; make it a nop in that case.
9793
97942006-03-16 01:40  gb
9795
9796        * level-0/X86/x86-def.lisp: %SET-NTH-IMMEDIATE.
9797
97982006-03-16 01:40  gb
9799
9800        * level-0/X86/x86-clos.lisp: Start some of this. Still need to
9801        decide whether to use lexprs; better decide soon.
9802
98032006-03-16 01:38  gb
9804
9805        * compiler/X86/X8664/x8664-vinsns.lisp: TRAP-UNLESS-CHARACTER.
9806        Float memory accessors/setters for the constant-offset case.
9807        NTH-VALUE was wrong; now simpler.  MAKE-TSP-VCELL.  Binding
9808        subprims.
9809       
9810        Yet another FUNCALL scheme.
9811
98122006-03-16 01:36  gb
9813
9814        * level-0/l0-symbol.lisp: MAKE-SYMBOL returns the symbol pointer.
9815        Maybe conditionalize this for X8664.
9816
98172006-03-16 01:35  gb
9818
9819        * level-0/l0-io.lisp: Hopefully, the "split" 64-bit lseek is at
9820        best LinuxPPC32-specific.
9821
98222006-03-16 01:34  gb
9823
9824        * compiler/X86/x862.lisp: Use %ra0 for the inner function when
9825        making a closure, to avoid conflicts with other temps.  No need to
9826        reference memory on self-calls (and good reasons not to ...)
9827        X862-UNBOXED-INTEGER-ARG-TO-REG handles 64-bit regs.
9828
98292006-03-16 01:31  gb
9830
9831        * compiler/X86/x86-lapmacros.lisp: EXTRACT-TYPECODE: use a GENSYMed
9832        label.
9833
98342006-03-16 01:30  gb
9835
9836        * compiler/X86/x86-lap.lisp: New stuff for "pre-allocated"
9837        constants.
9838
98392006-03-16 01:29  gb
9840
9841        * compiler/X86/x86-arch.lisp: Didn't have the relatively recent
9842        STACK-SIZE.
9843
98442006-03-16 01:29  gb
9845
9846        * compiler/X86/X8664/x8664-arch.lisp: Change the
9847        %GET-KERNEL-GLOBAL[-PTR] archmacros, so that they'll work with
9848        cross-compilation.  Fixnum offsets aren't supported; they weren't
9849        used, this isn't public, and it wasn't well-defined anyway.
9850       
9851        Add %NTH-IMMEDIATE.
9852
98532006-03-16 01:28  gb
9854
9855        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp:
9856        Change the %GET-KERNEL-GLOBAL[-PTR] archmacros, so that they'll
9857        work with cross-compilation.  Fixnum offsets aren't supported; they
9858        weren't used, this isn't public, and it wasn't well-defined anyway.
9859
98602006-03-14 14:08  gb
9861
9862        * binppc/.cvsignore, l1-pfsls/.cvsignore: remove
9863
98642006-03-14 14:02  gb
9865
9866        * level-1/: l1-boot-2.lisp, level-1.lisp: Always use physical bin,
9867        l1-fasls relative pathnames.
9868
98692006-03-14 14:02  gb
9870
9871        * level-1/l1-pathnames.lisp: Simpler translations.
9872
98732006-03-14 13:51  gb
9874
9875        * l1-dfsls/.cvsignore, bindarwin/.cvsignore: removed
9876
98772006-03-14 13:31  gb
9878
9879        * bin/.cvsignore, l1-fasls/.cvsignore: new file.
9880
98812006-03-14 13:24  gb
9882
9883        * level-1/: l1-boot-2.lisp, level-1.lisp: Step 1: don't hardwire
9884        the target fasl pathname in a big #+ nest, get it from the target
9885        backend.  (Hope that works with macrolet.)
9886
98872006-03-14 13:22  gb
9888
9889        * lisp-kernel/x86-spentry64.s: _SPstack_misc_alloc fixes.
9890        _SPsyscall: just return negative return values, don't negate them.
9891
98922006-03-14 13:20  gb
9893
9894        * library/x8664-linux-syscalls.lisp: Hide the incomplete
9895        definitions.  This needs work; should use real foreign types.
9896
98972006-03-14 13:19  gb
9898
9899        * compiler/X86/X8664/x8664-vinsns.lisp: %init-gvector: pop the last
9900        element first.
9901
99022006-03-14 13:19  gb
9903
9904        * compiler/X86/X8664/x8664-backend.lisp: :linuxx8664-target on
9905        features, too.
9906
99072006-03-14 13:18  gb
9908
9909        * compiler/X86/x862.lisp: x862-allocate-initialized-gvector: works
9910        better if the gvector is actually allocated ...
9911
99122006-03-14 03:11  gb
9913
9914        * compiler/X86/x862.lisp: Remove a comment that described the
9915        mid-1990s behavior of MacsBug.
9916
99172006-03-14 03:10  gb
9918
9919        * compiler/X86/x86-lap.lisp: In X86-LAP-EQUATE-FORM, check for and
9920        disallow bindings that match defined X86 register names.
9921
99222006-03-14 03:09  gb
9923
9924        * compiler/X86/x86-disassemble.lisp: Some UUOs shouldn't terminate
9925        a disassembly block.
9926
99272006-03-14 03:09  gb
9928
9929        * library/syscall.lisp: Whoops.
9930
99312006-03-14 03:01  gb
9932
9933        * lisp-kernel/x86-spentry64.s: Fixes in _SPcall_closure,
9934        _SPstkgvector.
9935
99362006-03-14 03:00  gb
9937
9938        * lisp-kernel/x86-exceptions.c: Handle uuo_debug_trap.
9939
99402006-03-14 03:00  gb
9941
9942        * lisp-kernel/x86-constants64.h: Iflags is REG_EFL on Linux.
9943
99442006-03-14 02:59  gb
9945
9946        * lisp-kernel/lisp-debug.c: Make (R)egisters command work on x8664.
9947
99482006-03-14 02:59  gb
9949
9950        * library/syscall.lisp: BACKEND-SYSCALL-DEFINITIONS uses whatever
9951        bits are in the backend's BACKEND-PLATFORM-SYSCALL-MASK.
9952
99532006-03-14 02:57  gb
9954
9955        * library/x8664-linux-syscalls.lisp: New file. Woefully incomplete,
9956        and may need word-size fixes.
9957
99582006-03-14 02:57  gb
9959
9960        * library/ppc-linux-syscalls.lisp: Set the mask per the new (new)
9961        scheme.
9962
99632006-03-14 02:56  gb
9964
9965        * level-0/X86/x86-utils.lisp: Fix a few bugs in heap-walking code.
9966
99672006-03-14 02:56  gb
9968
9969        * level-0/X86/x86-def.lisp: %NTH-IMMEDIATE needed to box;  both it
9970        and %FUNCTION-CODE-WORDS needed to avoid naming parameters FN.
9971
99722006-03-14 02:55  gb
9973
9974        * level-1/: l1-sockets.lisp, l1-streams.lisp, linux-files.lisp: Use
9975        the right set of syscall definitions for Linux.
9976
99772006-03-14 02:54  gb
9978
9979        * level-0/nfasload.lisp: Add a fixnum declaration.
9980
99812006-03-14 02:54  gb
9982
9983        * level-0/l0-io.lisp: Include the right set of syscall defs for
9984        Linux.
9985
99862006-03-14 02:53  gb
9987
9988        * level-0/l0-symbol.lisp: Need to use %symptr->symbol for x86;
9989        harmless on PPC.
9990
99912006-03-14 02:53  gb
9992
9993        * compiler/X86/X8664/x8664-vinsns.lisp: SETUP-VCELL-ALLOCATION
9994        needs to bias the size by fulltag-misc.
9995
99962006-03-14 02:52  gb
9997
9998        * compiler/X86/X8664/x8664-backend.lisp: At least for Linux/X86/64,
9999        need to look at os/cpu/word-size to deterine applicable syscall
10000        defs.
10001
100022006-03-14 02:51  gb
10003
10004        * compiler/PPC/: PPC32/ppc32-backend.lisp,
10005        PPC64/ppc64-backend.lisp: All PPC (32/64) backends can use syscall
10006        defs for OS/CPU, regardless of word size.
10007
100082006-03-14 02:50  gb
10009
10010        * compiler/backend.lisp: Add PLATFORM-SYSCALL-MASK to backend
10011        struct.
10012
100132006-03-14 02:09  gb
10014
10015        * library/: ppc-linux-syscalls.lisp, linux-syscalls.lisp: renamed
10016
100172006-03-13 02:33  gb
10018
10019        * level-1/version.lisp: Bump.
10020
100212006-03-13 02:24  gb
10022
10023        * xdump/xfasload.lisp: AREA constants now in CCL package.
10024
100252006-03-13 02:23  gb
10026
10027        * lisp-kernel/x86-spentry64.s: ret1valn: no LEAVE here.
10028        nthrowvalues: fix several bugs.
10029
100302006-03-13 02:22  gb
10031
10032        * lisp-kernel/x86-macros.s: TSP_Alloc_Var: zero the dnode at the
10033        new tsp, as well.
10034
100352006-03-13 02:21  gb
10036
10037        * library/lispequ.lisp: Define AREA constants here (in CCL
10038        package.)
10039
100402006-03-13 02:20  gb
10041
10042        * lib/macros.lisp: Move DO-CONSING-AREAS here.  AREA-CODE is an
10043        arch macro.
10044
100452006-03-13 02:20  gb
10046
10047        * level-1/l1-lisp-threads.lisp: Move DO-CONSING-AREAS to
10048        macros.lisp.
10049
100502006-03-13 02:19  gb
10051
10052        * level-0/X86/x86-utils.lisp: Walk static, dynamic areas.
10053
100542006-03-13 02:19  gb
10055
10056        * level-0/PPC/ppc-utils.lisp: Comments.
10057
100582006-03-13 02:18  gb
10059
10060        * level-0/nfasload.lisp: %MAP-AREAS call might have to deal with
10061        symbol/symbol-vector distinction.
10062
100632006-03-13 02:18  gb
10064
10065        * level-0/l0-utils.lisp: AREA constants are in CCL package, not
10066        PPC.  %MAP-LFUNS might have to deal with function/function-vector
10067        distinction.
10068
100692006-03-13 02:17  gb
10070
10071        * level-0/l0-misc.lisp: AREA constants are in CCL package, not PPC.
10072
100732006-03-13 02:17  gb
10074
10075        * level-0/l0-hash.lisp: %GROW-HASH-TABLE is always called inside
10076        WITHOUT-INTERRUPTS, so no need to do it again.
10077
100782006-03-13 02:16  gb
10079
10080        * compiler/X86/x862.lisp: Push at most one stack frame on function
10081        entry ...
10082
100832006-03-13 02:14  gb
10084
10085        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
10086        X86/X8664/x8664-arch.lisp: AREA-CODE archmacro.
10087
100882006-03-13 02:13  gb
10089
10090        * compiler/: PPC/ppc-arch.lisp, X86/x86-arch.lisp: AREA constants
10091        moved to CCL package.
10092
100932006-03-11 23:54  gb
10094
10095        * lisp-kernel/linuxx8664/.gdbinit: Don't change handling of SIGUSR1
10096        or SIGUSR2; I don't think that we use them under Linux.
10097
100982006-03-11 23:52  gb
10099
10100        * lisp-kernel/x86-spentry64.s: builtin_eql was extracting lisptags
10101        and comparing fulltags, and thus returning false when it shouldn't
10102        have.
10103       
10104        nthrow1value was making too small of a TSP frame around the call to
10105        the cleanup code, clobbering TSP links in some cases.  It was also
10106        failing to pop catch frames.
10107       
10108        stkgvector was unimplented.
10109       
10110        _car order-of-arguments problems in (at least) spreadargz.
10111
101122006-03-11 23:47  gb
10113
10114        * lisp-kernel/x86-subprims64.s: Push a 0 and make the initial lisp
10115        %rbp point to it, to mark the end of the line.
10116
101172006-03-11 23:47  gb
10118
10119        * lisp-kernel/xlbt.c: Sketchy kernel-debugger backtrace.
10120
101212006-03-11 23:46  gb
10122
10123        * lisp-kernel/x86-constants64.h: A lisp_frame struct, for kernel
10124        backtrace.
10125
101262006-03-11 23:46  gb
10127
10128        * lisp-kernel/pmcl-kernel.c: Try (temporily) disabling Lisp's
10129        SIGINT handler.   There seem to be problems using a keyboard
10130        interrupt to awaken GDB on the version of x96-64 Linux I'm using.
10131        This didn't fix those problems completely, but we won't need to
10132        handle SIGINT in the lisp until more code works.
10133
101342006-03-11 23:43  gb
10135
10136        * lisp-kernel/macros.h: I may have parenthesized nodeheader_tag_p
10137        and immheader_tag_p; several versions of  GCC generated code that
10138        looked wrong, but since it's C it's hard to tell.   Splitting the
10139        macros up (into "mask definition" and "mask testing" seems to
10140        generate the right code (a bit test if optimization's cranked up.)
10141
101422006-03-11 23:41  gb
10143
10144        * level-0/X86/x86-misc.lisp: Fix a few typos (fixnum vs unboxed
10145        constants, etc.)
10146       
10147        %ATOMIC-DECF-PTR-IF-POSITIVE should return what we would have
10148        (might have) stored in the word accessed by the pointer (in
10149        particular, it should return a negative value if there are no other
10150        threads waiting on a recursive lock.)
10151
101522006-03-11 23:38  gb
10153
10154        * level-0/PPC/ppc-misc.lisp: Fix file name in comment.
10155
101562006-03-11 23:38  gb
10157
10158        * compiler/X86/X8664/x8664-vinsns.lisp: ENSURE-RESERVED-FRAME: test
10159        was backwards.
10160
101612006-03-11 23:37  gb
10162
10163        * compiler/X86/X8664/x8664-arch.lisp: Don't use FN as arg name in
10164        LFUN-VECTOR, since x8664::fn is a constant (symbolic register
10165        name.)
10166       
10167        Add missing close paren.
10168
101692006-03-11 23:36  gb
10170
10171        * compiler/X86/x862.lisp: Ensure stack fencepost in simple
10172        &optional arg case.
10173       
10174        Do the variable-arg-count case if complex &optional, no &rest/&key,
10175        and some (possibly unsupplied) optionals may or may not have been
10176        pushed by the caller.
10177
101782006-03-11 04:11  gb
10179
10180        * lisp-kernel/: image.c, lisp_globals.h: Fix conditionalization: we
10181        don't define PPC32, but it might be clearer if we did.
10182
101832006-03-11 03:28  gb
10184
10185        * level-1/version.lisp: Bump.
10186
101872006-03-11 03:20  gb
10188
10189        * library/: darwin-syscalls.lisp, linux-syscalls.lisp,
10190        syscall.lisp: New mechanism, mostly to make cross-compilation
10191        easier.
10192
101932006-03-11 03:20  gb
10194
10195        * level-0/X86/x86-def.lisp: Extra paren; %NTH-IMMEDIATE and
10196        function/lfun-vector stuff, CLOSURE-FUNCTION here until that can be
10197        abstracted away sanely.
10198
101992006-03-11 03:18  gb
10200
10201        * level-0/X86/x86-misc.lisp: %STORE-IMMEDIATE-CONDITIONAL needs to
10202        discard the frame that the caller reserved.
10203
102042006-03-11 03:17  gb
10205
10206        * level-0/X86/x86-clos.lisp: Comment out the PPC LAP (e.g.,
10207        everything in the file, still).
10208
102092006-03-11 03:15  gb
10210
10211        * level-0/PPC/ppc-def.lisp: CLOSURE-FUNCTION here.  (Abstract away
10212        NTH-IMMEDIATE ?)
10213
102142006-03-11 03:14  gb
10215
10216        * level-0/l0-misc.lisp: Indentation.
10217
102182006-03-11 03:13  gb
10219
10220        * level-0/l0-def.lisp: Move CLOSURE-FUNCTION to arch-specific dir.
10221        Use LFUN-VECTOR, which should hopefully compile away on PPC but
10222        needs to be there on X8664.
10223
102242006-03-11 03:11  gb
10225
10226        * compiler/X86/X8664/x8664-vinsns.lisp: Now that subprim addresses
10227        are higher, there's another significant byte to deal with in the
10228        subprim jump in %INIT-CLOSURE.
10229       
10230        Use a temporary - and a smaller instruction sequence - in
10231        MISC-ELEMENT-COUNT-FIXNUM, so that src and dest can overlap.  (More
10232        instructions, but fewer bytes.)
10233
102342006-03-11 03:08  gb
10235
10236        * compiler/PPC/PPC32/ppc32-arch.lisp,
10237        compiler/PPC/PPC64/ppc64-arch.lisp,
10238        compiler/X86/X8664/x8664-arch.lisp, lib/macros.lisp: LFUN-VECTOR
10239        and LFUN-VECTOR-LFUN are arch-specific macros.
10240
102412006-03-11 03:07  gb
10242
10243        * lisp-kernel/x86-spentry64.s: Reformat a comment.
10244
102452006-03-10 22:06  gb
10246
10247        * xdump/xx8664-fasload.lisp: Target-specific static-space (NIL
10248        representation, mostly) init functions.
10249       
10250        Move image-base-address up a few terabytes.
10251       
10252        Undefined function and macro trampolines are vectors with an
10253        executable fixnum in the 0th word.
10254
102552006-03-10 22:05  gb
10256
10257        * xdump/xppcfasload.lisp: Target-specific static-space (NIL
10258        representation, mostly) init functions.
10259
102602006-03-10 22:04  gb
10261
10262        * xdump/xfasload.lisp: Lots of changes, to deal with
10263        symbol/function tagging issues, x86 clfuns, etc.
10264
102652006-03-10 22:03  gb
10266
10267        * xdump/heap-image.lisp: Endianness, word-size conditionalization
10268        stuff.
10269
102702006-03-10 22:02  gb
10271
10272        * lisp-kernel/linuxx8664/Makefile: C files depend on lisptypes.h.
10273
102742006-03-10 22:01  gb
10275
10276        * lisp-kernel/linuxx8664/elf_x86_64.x: Don't try to link into low
10277        memory (no real reason to.) Do try to put spjump at a
10278        fixed/known/page-aligned address.
10279
102802006-03-10 21:59  gb
10281
10282        * lisp-kernel/x86_print.c: Recognize some x8664 tags.
10283
102842006-03-10 21:59  gb
10285
10286        * lisp-kernel/x86-subprims64.s: Use Rforeign_sp; get valence right
10287        on exit.
10288
102892006-03-10 21:58  gb
10290
10291        * lisp-kernel/x86-spjump64.s: Rename ffcall/syscall.
10292
102932006-03-10 21:58  gb
10294
10295        * lisp-kernel/x86-spentry64.s: Lots of fixes/changes (including
10296        ffcall/syscall).
10297
102982006-03-10 21:56  gb
10299
10300        * lisp-kernel/x86-macros.s: TSP_Alloc_Size is an immediate operand
10301        in TSP_Alloc_Fixed().
10302       
10303        Fix allocptr/allocbase comparison when consing.
10304       
10305        Misc_Alloc_Fixed: m4/gas $ conflation.
10306
103072006-03-10 21:54  gb
10308
10309        * lisp-kernel/x86-exceptions.h: Extra parens around xpGPR
10310        expansion.
10311
103122006-03-10 21:54  gb
10313
10314        * lisp-kernel/x86-exceptions.c: Actually handle something
10315        (uuo_alloc()), since we can't do much without it.
10316
103172006-03-10 21:53  gb
10318
10319        * lisp-kernel/x86-constants64.s: Call the foreign sp register
10320        Rforeign_sp, to avoid m4 lossage.
10321       
10322        nrs starts at #x2020, because NIL is between there and #x2000.
10323
103242006-03-10 21:52  gb
10325
10326        * lisp-kernel/x86-constants64.h: Iallocptr for trap handler.
10327       
10328        tcr was missing foreign_sp definition.
10329
103302006-03-10 21:51  gb
10331
10332        * lisp-kernel/thread_manager.c: get_tcr() change for HAVE_TLS case.
10333
103342006-03-10 21:51  gb
10335
10336        * lisp-kernel/ppc-exceptions.c: Put a sane value in the FPSCR
10337        before calling back to lisp on an exception.
10338
103392006-03-10 21:50  gb
10340
10341        * lisp-kernel/pmcl-kernel.c: Use address of bad_funcall, not
10342        "value".
10343       
10344        Disable EGC on x8664.
10345
103462006-03-10 21:49  gb
10347
10348        * lisp-kernel/lisptypes.h: formatting change only.
10349
103502006-03-10 21:49  gb
10351
10352        * lisp-kernel/lisp_globals.h: Layout of lisp-globals/nrs on x8664
10353        not identical to ppc64 (NIL representation differs.)
10354
103552006-03-10 21:48  gb
10356
10357        * lisp-kernel/lisp-debug.c: Lisp register stuff for x8664.
10358
103592006-03-10 21:48  gb
10360
10361        * lisp-kernel/image.c: Fix some conditionalization.
10362
103632006-03-10 21:47  gb
10364
10365        * lisp-kernel/area.h: Larger IMAGE-BASE-ADDRESS for X8664 Linux.
10366
103672006-03-10 21:46  gb
10368
10369        * library/: linux-syscalls.lisp, syscall.lisp: Try to make things a
10370        little more portable, but really need to keep things in the
10371        target-ftd.  Soon.
10372
103732006-03-10 21:45  gb
10374
10375        * level-0/l0-numbers.lisp: Don't reference
10376        TARGET::LEAST-SIGNIFICANT-BIT in ASH; express limits in terms of
10377        TARGET::NBITS-IN-WORD.
10378
103792006-03-10 21:45  gb
10380
10381        * level-0/l0-misc.lisp: Add some fixnum decls to %GET-CSTRING, so
10382        that single-stepping through it in GDB is faster.
10383
103842006-03-10 21:44  gb
10385
10386        * level-0/l0-io.lisp: %YIELD here, so all level-0 syscalls are in
10387        one file.
10388
103892006-03-10 21:43  gb
10390
10391        * level-0/l0-cfm-support.lisp: We generally want foreign symbol
10392        addresses to be boxed integers on X8664, and can't assume that
10393        they're fixnum-aligned.
10394
103952006-03-10 21:42  gb
10396
10397        * level-0/: l0-array.lisp, l0-init.lisp: Comment indentation.
10398
103992006-03-10 21:41  gb
10400
10401        * lisp-kernel/linuxx8664/.gdbinit: Well, it's a start ...
10402
104032006-03-10 21:41  gb
10404
10405        * level-0/X86/x86-utils.lisp: %KERNEL-IMPORT boxes what may not
10406        have been a fixnum.
10407
104082006-03-10 21:40  gb
10409
10410        * level-0/X86/x86-misc.lisp: Fix typo.
10411       
10412        STORE-NODE-CONDITIONAL pops stack arg, discards stack frame
10413        reserved by caller before jumping into kernel.
10414
104152006-03-10 21:39  gb
10416
10417        * level-0/X86/x86-float.lisp: Missing SET-MXCSR-CONTROL was hidden
10418        in duplicate SET-MSCSR-STATUS.  May want to always set/get the
10419        control and rounding modes.
10420
104212006-03-10 21:37  gb
10422
10423        * level-0/X86/x86-def.lisp: Comment out the missing lexpr/apply
10424        stuff, so that the rest of the file compiles.
10425
104262006-03-10 21:36  gb
10427
10428        * level-0/X86/x86-array.lisp: %INIT-MISC wants/needs to be in LAP
10429        because of write-barrier issues.
10430
104312006-03-10 21:35  gb
10432
10433        * lib/x8664env.lisp: It's OK (in fact necessary) to use FP0 as a
10434        temporary.  0.0 is in FPZERO.
10435
104362006-03-10 21:34  gb
10437
10438        * lib/nfcomp.lisp: Spit out a fasl op while writing CLFUNs.
10439
104402006-03-10 21:33  gb
10441
10442        * level-0/PPC/ppc-float.lisp: Don't CLEAR-FPU-EXCEPTIONS, at least
10443        without knowing why.
10444
104452006-03-10 21:32  gb
10446
10447        * compiler/X86/X8664/x8664-vinsns.lisp: SETcc sets the byte to 1 or
10448        0, so we need to negate.
10449       
10450        Other bug fixes and additions.
10451
104522006-03-10 21:31  gb
10453
10454        * compiler/X86/X8664/x8664-arch.lisp: Fix a typo in
10455        X8664-MISC-BYTE-SIZE.
10456       
10457        Move subprims base up to #x410000, to make it easier on the linker.
10458
104592006-03-10 21:29  gb
10460
10461        * compiler/X86/x862.lisp: Lots-o-fixes; FFI stuff.  When generating
10462        code involving a :REG8 operand, be careful to pass the 8-bit reg
10463        entry to LAP.
10464
104652006-03-10 21:27  gb
10466
10467        * compiler/X86/x86-lapmacros.lisp: X86 CMOV instructions reference
10468        the source operand (possibly generating a memory fault) even if the
10469        destination operand isn't written to.  Who knew ?
10470
104712006-03-10 21:24  gb
10472
10473        * compiler/X86/x86-disassemble.lisp: Recognize newer UUOs.
10474
104752006-03-10 21:24  gb
10476
10477        * compiler/X86/x86-lap.lisp: Use the #x80 bit in an instruction's
10478        REX prefix to indicate when the prefix needs to be emitted (even if
10479        the #x7 bits are clear).
10480
104812006-03-10 21:23  gb
10482
10483        * compiler/X86/x86-asm.lisp: A few UUOs; try to ensure that we'll
10484        generate (at least) a #x40 REX prefix if a new-style byte register
10485        is used as an operand.  (e.g., we generally don't want to refer to
10486        the traditional things like %dh, and do want to refer to the newer
10487        things like %sil.)
10488
104892006-03-10 21:20  gb
10490
10491        * compiler/X86/x86-arch.lisp: rename *X86-NILREG-RELATIVE-SYMBOLS*
10492        -> *X86-NIL-RELATIVE-SYMBOLS*.
10493
104942006-03-10 21:18  gb
10495
10496        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
10497        PPC64/ppc64-vinsns.lisp: %SINGLE-TO-DOUBLE, %DOUBLE-TO-SINGLE, to
10498        avoid consing in some simple cases.
10499
105002006-03-10 21:17  gb
10501
10502        * compiler/PPC/ppc-arch.lisp: Rename *PPC-NILREG-RELATIVE-SYMBOLS*
10503        -> *PPC-NIL-RELATIVE-SYMBOLS* (NIL hasn't been in a register in a
10504        few years.)
10505
105062006-03-10 21:15  gb
10507
10508        * compiler/optimizers.lisp: On 64-bit targets, SINGLE-FLOATs are
10509        EQL iff EQ.
10510       
10511        Try to recognize a few ways of coercing SINGLE-FLOATs to
10512        DOUBLE-FLOATs and vice versa, so that we have some chance of
10513        avoiding consing in some cases.
10514
105152006-03-10 21:13  gb
10516
10517        * compiler/nxenv.lisp: Add %SINGLE-TO-DOUBLE, %DOUBLE-TO-SINGLE.
10518        Replace unused EMBEDDED-CALL with SYSCALL.
10519
105202006-03-10 21:12  gb
10521
10522        * compiler/nx1.lisp: Just use SYSCALL operator to mark x8664
10523        syscalls.
10524
105252006-03-10 21:12  gb
10526
10527        * .cvsignore: Change patterns.
10528
105292006-03-07 06:49  gb
10530
10531        * lisp-kernel/x86-spentry64.s: Assume that fpzero (not fp0)
10532        contains 0.0.
10533       
10534        Get a few more things working, or at least written.
10535
105362006-03-07 06:48  gb
10537
10538        * lisp-kernel/: x86-macros.s, x86-subprims64.s: Assume that fpzero
10539        (not fp0) contains 0.0.
10540
105412006-03-07 06:48  gb
10542
10543        * lisp-kernel/x86-constants64.s: Define fpzero = xmm15.
10544       
10545        Pad the (misnamed) fpscr field in the TCR.
10546
105472006-03-06 06:37  gb
10548
10549        * lib/nfcomp.lisp: Initial, crude support for cross-dumping
10550        "concatenated" lisp functions.
10551
105522006-03-06 06:36  gb
10553
10554        * level-0/l0-numbers.lisp: Fix comment indentation in a function
10555        that the x8664 backend was choking on.
10556
105572006-03-06 06:36  gb
10558
10559        * compiler/X86/X8664/x8664-vinsns.lisp: use fpzero when a zero is
10560        needed,  not fp0.
10561
105622006-03-06 06:35  gb
10563
10564        * compiler/X86/X8664/x8664-arch.lisp: xmm15 is fpzero (contains
10565        0.0[de]0).  (xmm0 is used for ff-call.)
10566
105672006-03-06 06:35  gb
10568
10569        * compiler/X86/x862.lisp: X862-COMPILE: don't reserve quad for null
10570        function name, even if debug info is present.
10571
105722006-03-06 06:34  gb
10573
10574        * compiler/X86/x86-lap.lisp: RELAX-FRAG-LIST: account for (possibly
10575        non-zero) length of :ALIGN frags.  CROSS-CREATE-X86-FUNCTION: don't
10576        emit function name if it's nil, even if debug-info is present.
10577
105782006-03-06 06:30  gb
10579
10580        * compiler/X86/x86-asm.lisp: Add a declaration to suppress compiler
10581        warning on forward reference.
10582
105832006-03-06 03:27  gb
10584
10585        * xdump/xfasload.lisp: Fix parens.
10586
105872006-03-06 02:59  gb
10588
10589        * xdump/xfasload.lisp: Remove many uses of TARGET-ARCH-CASE (thus
10590        removing many uses of ppc/ppc32/ppc64 package symbols.)  Some uses
10591        remain.
10592
105932006-03-06 02:57  gb
10594
10595        * lib/macros.lisp: Define TARGET-ARCH-CASE in terms of CASE, not
10596        ECASE.
10597
105982006-03-05 19:12  gb
10599
10600        * compiler/PPC/PPC64/ppc64-arch.lisp: typecode, lisptag are in ccl
10601        package.
10602
106032006-03-05 19:01  gb
10604
10605        * level-1/version.lisp: Bump; some of this is hard to bootstrap.
10606
106072006-03-05 19:00  gb
10608
10609        * lib/macros.lisp: Move some %kernel-global nonsense here.
10610
106112006-03-05 19:00  gb
10612
10613        * level-1/l1-lisp-threads.lisp: Define macros in ... macros.lisp,
10614        of all places.
10615
106162006-03-05 18:59  gb
10617
10618        * level-0/X86/x86-array.lisp: write some code in lisp
10619        (temporarily), clean up some typos so that the file compiles.
10620
106212006-03-05 18:58  gb
10622
10623        * compiler/: arch.lisp, PPC/PPC32/ppc32-arch.lisp,
10624        PPC/PPC64/ppc64-arch.lisp, X86/X8664/x8664-arch.lisp: More
10625        parameters (mostly for xloader) in target-arch struct.
10626
106272006-03-05 18:52  gb
10628
10629        * xdump/xfasload.lisp: Get target parameters from
10630        (backend-target-arch *target-backend*)).
10631
106322006-03-05 06:17  gb
10633
10634        * xdump/xx8664-fasload.lisp: Closer ...
10635
106362006-03-05 06:17  gb
10637
10638        * xdump/hashenv.lisp: Arch macros for hashing macros.
10639
106402006-03-05 06:16  gb
10641
10642        * level-1/l1-lisp-threads.lisp: Arch macros for kernel globals.
10643
106442006-03-05 06:16  gb
10645
10646        * level-1/l1-readloop-lds.lisp: Check *interrupt-level* value, not
10647        (interrupt-level).
10648
106492006-03-05 06:15  gb
10650
10651        * level-1/l1-clos-boot.lisp: Make *class-table* a global.
10652
106532006-03-05 06:15  gb
10654
10655        * level-0/X86/X8664/x8664-bignum.lisp: use temp2.b (= cl) for
10656        variable shifts.
10657
106582006-03-05 06:14  gb
10659
10660        * level-0/nfasload.lisp: No code-vectors on x8664.
10661
106622006-03-05 06:14  gb
10663
10664        * level-0/l0-numbers.lisp: Conditionalization: 64-bit-target
10665        implies no (need for) destructive single-float ops.
10666
106672006-03-05 06:13  gb
10668
10669        * level-0/l0-misc.lisp: Remove some unused stuff.
10670
106712006-03-05 06:13  gb
10672
10673        * level-0/l0-array.lisp: array-element-type for x8664.
10674
106752006-03-05 06:12  gb
10676
10677        * compiler/X86/X8664/x8664-vinsns.lisp: More stuff.
10678
106792006-03-05 06:12  gb
10680
10681        * compiler/X86/x862.lisp: (Mostly) try to fix fixnum subtraction.
10682
106832006-03-05 06:11  gb
10684
10685        * compiler/X86/x86-lapmacros.lisp: TRAP-UNLESS-FIXNUM,
10686        PUSH-ARGREGS, some syntax fixes.
10687
106882006-03-05 06:10  gb
10689
10690        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
10691        X86/X8664/x8664-arch.lisp: More arch macros.
10692
106932006-03-05 06:10  gb
10694
10695        * compiler/backend.lisp: DECLARE-ARCH-SPECIFIC-MACRO returns macro
10696        name.
10697
106982006-03-05 06:09  gb
10699
10700        * level-0/X86/x86-utils.lisp: Warn for things that don't work yet;
10701        other things compile.
10702
107032006-03-05 06:08  gb
10704
10705        * level-0/X86/: x86-misc.lisp, x86-float.lisp: Compiles.
10706
107072006-03-05 06:08  gb
10708
10709        * level-0/X86/x86-pred.lisp: Fix typos/new syntax.
10710
107112006-03-04 19:13  gb
10712
10713        * lib/nfcomp.lisp: Some conditionalization.
10714
107152006-03-04 19:12  gb
10716
10717        * compiler/X86/X8664/x8664-vinsns.lisp: More stuff.  Need to review
10718        float arithmetic.
10719
107202006-03-04 19:11  gb
10721
10722        * level-0/l0-float.lisp: Comment indentation.
10723
107242006-03-04 19:11  gb
10725
10726        * level-0/X86/x86-utils.lisp: Fix a few typos; needs more work.
10727
107282006-03-04 18:30  gb
10729
10730        * lib/foreign-types.lisp: Can use TARGET-WORD-SIZE-CASE instead of
10731        TARGET-ARCH-CASE.
10732
107332006-03-04 18:29  gb
10734
10735        * lib/macros.lisp: New arch-specific macros. (Still need to do
10736        something about DEFCALLBACK and related functions.)
10737
107382006-03-04 18:29  gb
10739
10740        * lib/number-macros.lisp: New arch-specific macros.
10741
107422006-03-04 18:28  gb
10743
10744        * compiler/X86/x862.lisp: Keep unboxed float constants in the
10745        function (as aligned words following "real" instructions and
10746        preceding boxed constants.)
10747
107482006-03-04 18:26  gb
10749
10750        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
10751        X86/X8664/x8664-arch.lisp: Remove some remaining uses of
10752        TARGET-ARCH-CASE by using arch-specific macro implementations.
10753
107542006-03-04 18:25  gb
10755
10756        * compiler/backend.lisp: Mechanism for arch-specific macros.
10757
107582006-03-04 18:24  gb
10759
10760        * compiler/arch.lisp: New constructor, so that we can keep track of
10761        defined target-archs.  Hash table in each arch structure, for
10762        arch-dependent macros.
10763
107642006-03-03 19:38  gb
10765
10766        * lib/number-macros.lisp: Will need a lot more work.
10767
107682006-03-03 19:38  gb
10769
10770        * lib/systems.lisp: xx8664xfasload.
10771
107722006-03-03 19:38  gb
10773
10774        * lib/compile-ccl.lisp: *x8664-xload-modules*.
10775
107762006-03-03 19:37  gb
10777
10778        * level-0/X86/X8664/.cvsignore: ignore lx64fsl files.
10779
107802006-03-03 19:37  gb
10781
10782        * level-0/X86/x86-def.lisp: extra close paren.
10783
107842006-03-03 19:36  gb
10785
10786        * level-0/X86/x86-float.lisp: package prefix on MXCSR-CONTROL-BYTE.
10787
107882006-03-03 19:36  gb
10789
10790        * level-0/X86/x86-numbers.lisp: Don't call local variable "shift".
10791
107922006-03-03 19:11  gb
10793
10794        * level-0/: .cvsignore, X86/.cvsignore: Ignore lx64fsl files.
10795
107962006-03-03 19:11  gb
10797
10798        * compiler/X86/X8664/x8664-vinsns.lisp: A few more things.
10799
108002006-03-03 19:11  gb
10801
10802        * compiler/X86/x862.lisp: Conserve imm regs more in inc-ptr
10803
108042006-03-03 19:10  gb
10805
10806        * compiler/X86/x86-lapmacros.lisp: Remove (duplicate, bad)
10807        definitions of int-to-double.
10808
108092006-03-03 19:09  gb
10810
10811        * compiler/X86/: x86-asm.lisp, x86-disassemble.lisp: A few more
10812        UUOs.
10813
108142006-03-03 19:09  gb
10815
10816        * compiler/nx1.lisp: Use (old, unused) ff-call operator to mark
10817        x8664 ff-calls.
10818
108192006-03-03 02:09  gb
10820
10821        * compiler/X86/X8664/x8664-vinsns.lisp: fix typo.
10822
108232006-03-03 02:09  gb
10824
10825        * compiler/X86/X8664/x8664-arch.lisp: rcontext is %fs, and (with
10826        that change) tcr-bias is 0.
10827
108282006-03-03 02:08  gb
10829
10830        * xdump/xppcfasload.lisp: move xcompile-level-0, etc, away from
10831        here.
10832
108332006-03-03 02:07  gb
10834
10835        * xdump/xfasload.lisp: move xcompile-level-0, etc, here.
10836
108372006-03-03 02:06  gb
10838
10839        * xdump/xx8664-fasload.lisp: New file; still needs work.
10840
108412006-03-03 01:15  gb
10842
10843        * lisp-kernel/thread_manager.c: Um,function name is
10844        'amd64_set_gsbase'.
10845
108462006-03-03 01:05  gb
10847
10848        * lisp-kernel/: freebsd8664/Makefile, linuxx8664/Makefile: Assert
10849        that we have thread-local storage by passing -DHAVE_TLS.
10850
108512006-03-03 01:04  gb
10852
10853        * lisp-kernel/thread_manager.c: new_tcr sets up extra segment
10854        register if x8664 and HAVE_TLS.
10855
108562006-03-03 01:03  gb
10857
10858        * lisp-kernel/x86-constants64.h: tcr.single_float_convert is a
10859        struct; tag in most significant word.
10860
108612006-03-03 01:03  gb
10862
10863        * lisp-kernel/x86-constants64.s: tcr bias is 0.  rcontext = %gs, at
10864        least for Linux/FreeBSD.
10865
108662006-03-02 23:16  gb
10867
10868        * compiler/arch.lisp: add big-endian field to target-arch.
10869
108702006-03-02 23:16  gb
10871
10872        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Big
10873        endian.
10874
108752006-03-02 23:14  gb
10876
10877        * compiler/X86/: X8664/x8664-vinsns.lisp, x862.lisp: &lexpr stuff,
10878        mostly.
10879
108802006-03-02 23:14  gb
10881
10882        * compiler/X86/X8664/x8664-arch.lisp: We're not big-endian.
10883
108842006-03-02 23:13  gb
10885
10886        * lib/macros.lisp: Comment formatting.
10887
108882006-03-02 23:12  gb
10889
10890        * level-0/: l0-cfm-support.lisp, l0-hash.lisp, l0-init.lisp,
10891        l0-io.lisp, l0-misc.lisp, l0-numbers.lisp, l0-pred.lisp,
10892        l0-symbol.lisp, l0-utils.lisp, nfasload.lisp: Conditionalization
10893        changes.
10894
108952006-03-02 23:11  gb
10896
10897        * lisp-kernel/thread_manager.c: Change thread creation/activation,
10898        so that new_tcr() call happens on the new thread.
10899
109002006-03-02 22:51  gb
10901
10902        * lisp-kernel/Threads.h: Fix new_tcr() prototype.  Why did this
10903        compile in FreeBSD/x86-64 ?
10904
109052006-03-02 22:28  gb
10906
10907        * lisp-kernel/freebsd8664/Makefile: Depend on the linker script.
10908        Use some make variables to make changing/ ignoring that script
10909        easier.
10910
109112006-03-02 22:27  gb
10912
10913        * lisp-kernel/thread_manager.c: Conditionalize some for FreeBSD.
10914
109152006-03-02 22:27  gb
10916
10917        * lisp-kernel/pmcl-kernel.c: FreeBSD can also map (at least) 512GB.
10918       
10919        Not sure how to get real name of executable in FreeBSd, so use
10920        argv[0] for now.
10921       
10922        CPUID instruction returns cache block size in ebx, not eax.
10923
109242006-03-02 22:25  gb
10925
10926        * lisp-kernel/freebsd8664/elf_x86_64.x: Output file wasn't
10927        executable if subprims were mapped to low memory; map them to a
10928        fixed address (0x410000).  Will need to change subprims base in
10929        arch definition, and things (bad_funcall) that may depend on it.
10930
109312006-03-02 19:19  gb
10932
10933        * lisp-kernel/x86-spentry64.s: Try to avoid use of %temp0 (which
10934        may contain next_method_context); use %temp1 instead.
10935
109362006-03-02 19:18  gb
10937
10938        * lisp-kernel/x86-constants64.s: next_method_context is temp0, not
10939        temp1 (according to lisp).
10940
109412006-03-01 12:42  gb
10942
10943        * level-0/nfasload.lisp: One lousy missing #\)!  All this fuss over
10944        one lousy missing #\) !
10945
109462006-03-01 12:39  gb
10947
10948        * xdump/faslenv.lisp: Define $fasl-clfun.
10949
109502006-03-01 12:38  gb
10951
10952        * level-1/ppc-threads-utils.lisp: Rename %FIXNUM-SET-U32 ->
10953        %FIXNUM-SET-NATURAL.
10954
109552006-03-01 12:37  gb
10956
10957        * level-0/X86/x86-def.lisp: Translate most of this, except for the
10958        lexpr stuff.
10959
109602006-03-01 12:37  gb
10961
10962        * level-0/PPC/ppc-def.lisp: Delete a few things that seem to be
10963        totally unused.  Rename %FIXNUM-SET-U32 -> %FIXNUM-SET-NATURAL.
10964
109652006-03-01 12:36  gb
10966
10967        * level-0/nfasload.lisp: $fasl-clfun.
10968
109692006-03-01 12:33  gb
10970
10971        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: %ilogbitp,
10972        inline multiplication.
10973
109742006-03-01 12:32  gb
10975
10976        * compiler/X86/x86-lap.lisp: %define-x86-lap-function: "function
10977        creator" isn't a parameter, so signature matches what the compiler
10978        expects.
10979
109802006-03-01 12:31  gb
10981
10982        * compiler/X86/x86-asm.lisp: Insert register operand correctly in
10983        immeditate bt/btc/btr/bts.  Some imul variants (at least the
10984        64/32/16-bit versions.)
10985
109862006-03-01 12:19  gb
10987
10988        * compiler/nx1.lisp: Don't require SPARC-LAP in nx-x86-lap-function
10989        ...
10990
109912006-02-28 19:46  gb
10992
10993        * compiler/X86/x862.lisp: Always build/ensure that a frame exists
10994        before calling a subprim.  Handle &key, other/harder &optional
10995        cases.
10996       
10997        Todo: &lexpr, %ilogbitp, ??
10998
109992006-02-28 19:44  gb
11000
11001        * compiler/X86/X8664/x8664-vinsns.lisp: &optional defaulting and
11002        supplied-p handling; keywords subprims.
11003
110042006-02-28 19:43  gb
11005
11006        * level-1/l1-reader.lisp: Signal IMPOSSIBLE-NUMBER conditions if
11007        parsing an potential number yields an ARITHMETIC-ERROR.
11008
110092006-02-28 19:43  gb
11010
11011        * level-1/l1-error-system.lisp: Define IMPOSSIBLE-NUMBER as a
11012        subtype of READER-ERROR.
11013
110142006-02-28 19:42  gb
11015
11016        * lib/numbers.lisp: If we'd get overflow or underflow when creating
11017        a float and the corresponding exception is enabled, generate the
11018        appropriate condition rather than CERRORing unconditionally.
11019
110202006-02-28 19:40  gb
11021
11022        * lib/macros.lisp: Use target-word-size-case in %ilogbitp.
11023
110242006-02-28 19:37  gb
11025
11026        * lisp-kernel/x86-spentry64.s: stkconslist, stkconslist_star,
11027        mkstackv, fix in heap_cons_rest_arg, simple_keywords, keyword_args,
11028        keyword_bind, fix in stack_cons_rest_arg, spreadargz, tfuncallgen,
11029        tfuncallslide,tfuncallvsp,tcallsymgen, tcallsymslide, tcallsymvsp,
11030        tcallnfngen, tcallnfnslide, tcallnfnvsp.
11031       
11032        todo: ffcall, syscall, callback, lexprs.
11033
110342006-02-28 19:33  gb
11035
11036        * lisp-kernel/x86-macros.s: compare_reg_to_nil, discard_temp_frame.
11037
110382006-02-28 19:32  gb
11039
11040        * lisp-kernel/x86-constants64.s: function_header_offset,
11041        function_data_offset
11042
110432006-02-28 19:32  gb
11044
11045        * lisp-kernel/x86-constants64.h: TCR flags are a natural.
11046
110472006-02-28 19:31  gb
11048
11049        * lisp-kernel/x86-constants64.h: TCR flags are unsigned.
11050
110512006-02-28 19:31  gb
11052
11053        * lisp-kernel/x86-constants.h: TCR flags.
11054
110552006-02-28 19:31  gb
11056
11057        * lisp-kernel/ppc-spentry.s: Fix comment (have never used temp0 for
11058        closure data).
11059
110602006-02-27 14:14  gb
11061
11062        * compiler/PPC/ppc2.lisp: Hadn't saved the buffer; ppc2-%aset2
11063        changes were incomplete.
11064
110652006-02-26 23:30  gb
11066
11067        * lisp-kernel/pmcl-kernel.c: Suppress compiler warning.
11068
110692006-02-26 22:51  gb
11070
11071        * release-notes.txt: Update.
11072
110732006-02-26 22:51  gb
11074
11075        * level-1/: l1-application.lisp, l1-boot-lds.lisp,
11076        l1-lisp-threads.lisp: Exercise more control over the stack sizes of
11077        listener threads (especially the initial listener.)
11078       
11079        (The --thread-stack-size argument affects the size of the initial
11080        listener's stacks only.)
11081
110822006-02-26 22:49  gb
11083
11084        * lisp-kernel/pmcl-kernel.c: Fix the usage message.
11085
110862006-02-26 21:58  gb
11087
11088        * lisp-kernel/pmcl-kernel.c: Split --stack-size and
11089        --thread-stack-size args, to avoid rlimit problems (and because
11090        they're really separate issues.)
11091
110922006-02-26 21:23  gb
11093
11094        * lib/macros.lisp: Remove (most) support for tracing callbacks.
11095        (Having the functionality isn't a bad idea, but the way that it was
11096        implemented made the code hard to read and maintain.  Maybe redo
11097        this.)
11098
110992006-02-26 21:21  gb
11100
11101        * lisp-kernel/pmcl-kernel.c: Can't reserve 512GB on LinuxPPC64; try
11102        256GB instead.
11103
111042006-02-26 20:59  gb
11105
11106        * level-1/version.lisp: Bump.
11107
111082006-02-26 20:37  gb
11109
11110        * lisp-kernel/: darwinppc/Makefile, darwinppc64/Makefile: Restore
11111        COPT setting, clobbered on last (accidental) checkin.
11112
111132006-02-26 20:35  gb
11114
11115        * lisp-kernel/lisp_globals.h: stack-size global
11116
111172006-02-26 20:35  gb
11118
11119        * lisp-kernel/ppc-asmutils.s: atomic_and
11120
111212006-02-26 20:35  gb
11122
11123        * lisp-kernel/pmcl-kernel.c: more mappable memory on 64-bit
11124        platforms.  Set stack-size global from command line arg
11125
111262006-02-26 20:35  gb
11127
11128        * lisp-kernel/gc.c: check_range() takes a headers_allowed arg (not
11129        allowed on vsp).  Some debugging fprintfs.
11130
111312006-02-26 20:35  gb
11132
11133        * lisp-kernel/: ppc-constants32.h, ppc-constants64.h: tcr flags are
11134        natural
11135
111362006-02-26 20:35  gb
11137
11138        * lisp-kernel/ppc-exceptions.c: fixes in pc_luser_xp. Defer
11139        exceptions if we don't have the lock on Darwin
11140
111412006-02-26 20:35  gb
11142
11143        * lisp-kernel/thread_manager.c: simpler suspend ack, other changes,
11144        heavy, unreadable conditionalization
11145
111462006-02-26 20:35