source: trunk/ccl/ChangeLog @ 6005

Last change on this file since 6005 was 6005, checked in by gb, 13 years ago

* empty log message *

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 705.4 KB
Line 
12007-03-08 03:30  gb
2
3        * level-1/x86-error-signal.lisp: Check for trap opcode >= #x70
4        rather than >= #x80, because of the new way that
5        uuo-error-slot-unbound is encoded.
6
72007-03-08 03:28  gb
8
9        * compiler/X86/x86-disassemble.lisp: Recognize
10        uuo-error-slot-unbound.
11
122007-03-08 03:28  gb
13
14        * compiler/X86/x86-asm.lisp: Use (int #x7_) for
15        uuo-error-slot-unbound, since some (int #x8_) traps confuse Mach.
16
172007-03-07 08:29  gb
18
19        * compiler/PPC/ppc2.lisp: Don't shadow the definition of PPC-DIV2.
20
212007-03-07 07:45  gb
22
23        * level-1/linux-files.lisp: For #+linux-target, try to use
24        #_sysconf in CPU-COUNT, and fall back to parsing /proc/cpuinfo only
25        if that fails.  (CPU-COUNT is called early in the cold load, before
26        we can make the file-stream necessary to do the parsing.)
27
282007-03-07 07:33  gb
29
30        * lisp-kernel/: linuxppc/Makefile, linuxppc64/Makefile,
31        linuxx8664/Makefile: Handle new GNU ld "hash-style" linker options.
32
332007-03-07 07:25  gb
34
35        * lisp-kernel/x86-exceptions.h: Darwin signal return: logior in the
36        el-bizarro syscall mask, pass the magic number 0x1e as a second
37        arg, just in case.
38
392007-03-07 07:24  gb
40
41        * level-1/l1-sysio.lisp: OPEN, CLOSE lock *OPEN-FILE-STREAMS-LOCK*
42        before accessing *OPEN-FILE-STREAMS*.
43
442007-03-07 07:23  gb
45
46        * level-1/l1-readloop.lisp: Add comment about
47        *OPEN-FILE-STREAMS-LOCK*.
48
492007-03-07 07:23  gb
50
51        * level-1/l1-init.lisp: Add *OPEN-FILE-STREAMS-LOCK*.
52
532007-03-07 07:21  gb
54
55        * lib/nfcomp.lisp: Bind *FCOMP-PREVIOUS-POSITION* in
56        FCOMP-READ-LOOP (e.g., don't just hammer on the static binding.)
57
582007-03-07 07:05  gb
59
60        * xdump/heap-image.lisp: Bump current image version.
61
622007-03-07 07:02  gb
63
64        * lisp-kernel/x86-asmutils64.s: Some (currently unused) CPUID
65        "calls" want an argument in ecx.  Set that arg to 0 for now.
66
672007-03-07 07:01  gb
68
69        * lisp-kernel/thread_manager.c: Use spinlocks to guard updates to
70        "real" locks; those updates can be simplified.
71       
72        lock_recursive_lock: no (ignored) timeout arg.
73
742007-03-07 06:59  gb
75
76        * lisp-kernel/image.h: Bump current, max abi versions; continue to
77        support the old one.
78
792007-03-07 06:59  gb
80
81        * lisp-kernel/Threads.h: #include #<sched.h>, for sched_yield()
82        prototype.  Change declaration of LOCK macro: no null timespec
83        required.  RECURSIVE_LOCKs have spinlock fields.
84
852007-03-07 06:56  gb
86
87        * level-1/version.lisp: bump, indicate work-in-progress development
88        version.
89
902007-03-07 06:56  gb
91
92        * level-1/linux-files.lisp: Determing *spin-lock-tries* at launch
93        time, based on cpu-count.  YIELD moved here, does #_sched_yield
94        rather than something lower-level.
95
962007-03-07 06:53  gb
97
98        * level-0/l0-misc.lisp: Locks use spinlocks, try *spin-lock-tries*
99        to obtain them before yielding.
100
1012007-03-07 06:52  gb
102
103        * level-0/l0-io.lisp: Move YIELD elsewhere.
104
1052007-03-07 06:51  gb
106
107        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
108        X86/X8664/x8664-arch.lisp: Add spinlock field to lockptr storage
109        layout.
110
1112007-03-02 05:10  gb
112
113        * level-1/l1-application.lisp: Toplevel function: initial-listener
114        class is 'TTY-LISTENER.
115
1162007-03-02 05:09  gb
117
118        * level-1/l1-lisp-threads.lisp: Print n's value, not n in error
119        message.
120
1212007-03-02 05:09  gb
122
123        * level-1/l1-processes.lisp: New process class: TTY-LISTENER.
124       
125        EXIT-INTERACTIVE-PROCESS: for most processes, just PROCESS-KILL.
126        For TTY-LISTENER, call QUIT.
127
1282007-03-02 05:08  gb
129
130        * level-1/l1-readloop-lds.lisp: Don't call QUIT on EOF, call
131        EXIT-INTERACTIVE-PROCESS instead.
132       
133        Look at *QUIT-ON-EOF* when deciding what to do in response to EOF.
134
1352007-03-02 05:06  gb
136
137        * lib/ccl-export-syms.lisp: Export *quit-on-eof*.
138
1392007-03-02 05:06  gb
140
141        * lib/macros.lisp: WITH-MACPTRS: move initialization/modification
142        of null pointers into body.
143
1442007-03-02 05:05  gb
145
146        * lisp-kernel/x86-exceptions.c: Try to handle two more cases of
147        consus-interruptus.
148
1492007-03-02 05:05  gb
150
151        * compiler/nx0.lisp: (the <type> <constant>) transforms to
152        <constant> if constant is of type <type>.)
153       
154        Do we need an ignore-errors here ? Or does <type> need to be
155        defined ?
156
1572007-03-02 05:03  gb
158
159        * compiler/X86/x862.lisp: Do the / * thing.
160
1612007-03-02 05:02  gb
162
163        * compiler/X86/X8664/x8664-vinsns.lisp: things that do calls need
164        :call attribute.
165
1662007-03-01 04:04  gb
167
168        * lisp-kernel/x86-spentry64.s: binding primitives: set value after
169        new binding frame
170
1712007-02-28 07:04  gb
172
173        * level-0/X86/x86-numbers.lisp: In %fixnum-truncate, use -8(sp)
174        rather than %rbp; trust callback_for_interrupt() to preserve it.
175
1762007-02-28 07:03  gb
177
178        * lisp-kernel/x86-exceptions.c: Try to preserve -8(sp) across
179        callback_for_interrupt().
180
1812007-02-28 05:18  gb
182
183        * lisp-kernel/x86-gc.c: check_node: ignore tiny things (shift
184        counts) that may wind up on the vstack.
185       
186        Since those tiny things might be tagged as headers, walk the vstack
187        with new "headerless" functions that ignore headers.
188
1892007-02-28 05:16  gb
190
191        * lisp-kernel/x86-exceptions.c: In pc_luser_xp: if allocating and
192        before the alloc trap and interrupting, back out of the
193        modification to save_allocptr (and allocptr register) and set
194        *interrupt_displacement.
195
1962007-02-23 10:13  gb
197
198        * lib/foreign-types.lisp: Changes to GUESS-ALIGNMENT.  Again, this
199        only makes sense for cases where we have to guess; a bitfield
200        that's 8 bits wide still has an alignment of 1.
201       
202        Factor in the alignment of the containing int when bitfields are
203        involved.
204       
205        When parsing a record type, set the "bits" slot of each field.
206        (Not too many things look at that slot, but we want the effect of
207        loading a record from the database to match the effect of parsing a
208        definition as exactly as possible, and to be able to use EQUALP to
209        compare the results.)
210
2112007-02-23 10:06  gb
212
213        * lib/db-io.lisp: Some extra fields in
214        objc-message-info/objc-method-info structures.
215       
216        When calculating overall alignment of a structure, treat bitfields
217        as if they were :unsigned-int (since there's a "containing"
218        unsigned int that affects alignment.  N.B: this should be imposed
219        for anything that has an alignment of 1, not just a size of 1.)
220       
221        When loading integer types, try to use the precomputed types rather
222        than consing a new one.  This (a) reduces consing a little (b) is
223        more likely to get the alignment correct.  For (b), we really need
224        to distinguish between bitfields and addressable integers.
225
2262007-02-23 09:30  gb
227
228        * compiler/X86/x862.lisp: Nonsense in x862-set-bit.
229
2302007-02-22 02:33  gb
231
232        * level-0/l0-misc.lisp: Tweak ROOM output a little.
233
2342007-02-22 02:28  gb
235
236        * lisp-kernel/x86-gc.c: Fix up the verbose GC herald a bit (get
237        heap size right ...).
238
2392007-02-22 02:27  gb
240
241        * lisp-kernel/linuxx8664/Makefile: Tell GNU ld to use the
242        traditional (sysv) style of hash maps, if it understands that
243        option.
244
2452007-02-21 06:01  gb
246
247        * lisp-kernel/: ppc-gc.c, x86-gc.c: Handle the case where nothing
248        has been consed since last GC.  (There are some fenceposts there.)
249       
250        verbose GC herald tries to indicate how much is allocated in the
251        area being GCed.
252
2532007-02-21 05:58  gb
254
255        * lisp-kernel/: ppc-exceptions.c, x86-exceptions.c: If full GC is
256        deferred, ensure that a full GC happens after WITHOUT-GCING exits.
257
2582007-02-21 05:57  gb
259
260        * compiler/X86/x86-disassemble.lisp: Continue disassembly after
261        uuo-gc-trap.
262
2632007-02-19 04:50  gb
264
265        * lib/foreign-types.lisp: Use keywords more consistently.
266       
267        (Note: there seems to be a bug which is keeping the cdb data
268        structures from getting defined correctly at load time; the
269        workaround is to compile foreign-types.lisp - which defines them -
270        in the same session as and before db-io - which uses them - is
271        compiled.)
272
2732007-02-19 04:48  gb
274
275        * level-0/X86/x86-clos.lisp: UNSET-FIN-TRAMPOLINE: don't tail-call
276        error.
277
2782007-02-19 04:42  gb
279
280        * level-0/PPC/ppc-clos.lisp: UNSET-FIN-TRAMPOLINE: don't tail-call
281        the error function.
282
2832007-02-19 04:40  gb
284
285        * level-1/l1-clos-boot.lisp: MAYBE-UPDATE-OBSOLETE-INSTANCE: handle
286        funcallable objects that aren't STANDARD-GENERIC-FUNCTIONs.
287
2882007-02-19 04:40  gb
289
290        * level-1/l1-clos.lisp: Move GENERIC-FUNCTION-NAME to
291        FUNCALLABLE-STANDARD-OBJECT.
292       
293        %ALLOCATE-GF-INSTANCE: don't create a dispatch table if not
294        creating a GF.
295
2962007-02-19 04:36  gb
297
298        * lib/describe.lisp: STANDARD-OBJECT-LINE-N: handle
299        funcallable-stanard-objects better.
300
3012007-02-19 04:34  gb
302
303        * lib/ccl-export-syms.lisp: Export FUNCALLABLE-STANDARD-OBJECT from
304        CCL, OPENMCL-MOP.
305
3062007-02-19 02:09  gb
307
308        * level-1/l1-clos-boot.lisp: FUNCALLABLE-STANDARD-OBJECT is a
309        FUNCALLABLE-STANDARD-CLASS.
310
3112007-02-19 02:07  gb
312
313        * examples/bridge.lisp: MAKE-OPTIMIZED-SEND: missing "msg" arg in
314        error message.
315
3162007-02-15 02:46  gb
317
318        * examples/objc-support.lisp: Call REGISTER-OBJC-INIT-MESSAGES
319        after MAP-OBJC-CLASSES in LOAD-OBJC-EXTENSION-FRAMEWORK.
320
3212007-02-15 02:45  gb
322
323        * examples/bridge.lisp: UPDATE-OBJC-METHOD-INFO: don't process init
324        methods yet.
325
3262007-02-14 02:39  gb
327
328        * release-notes.txt: Fix a typo.
329
3302007-02-14 02:35  gb
331
332        * release-notes.txt: Update for 070214 snapshots.
333
3342007-02-13 23:36  gb
335
336        * level-1/version.lisp: Bump.
337
3382007-02-13 23:36  gb
339
340        * lisp-kernel/image.h, xdump/heap-image.lisp: Update
341        image-abi-version.
342
3432007-02-13 23:29  gb
344
345        * xdump/faslenv.lisp: Finish bumping fasl version.
346
3472007-02-13 23:15  gb
348
349        * lib/nfcomp.lisp: Bump current fasl version.
350
3512007-02-13 23:02  gb
352
353        * x86-headers64/gl/C/populate.sh: rm -rf ./usr
354
3552007-02-13 22:45  gb
356
357        * xdump/faslenv.lisp: Start bumping fasl-version.
358
3592007-02-13 22:41  gb
360
361        * freebsd-headers64/: gmp/C/populate.sh, gnome2/C/populate.sh,
362        gtk2/C/populate.sh, libc/C/populate.sh: rm -rf  ./usr
363
3642007-02-13 21:16  gb
365
366        * freebsd-headers64/gl/C/populate.sh: Avoid processing some files
367        that contain incompatible definitions of some math library stuff
368        ("log" either has to do with logarithms or logging ...).
369
3702007-02-13 18:42  gb
371
372        * lib/misc.lisp: Change the way that TIME is reported by default:
373        mention the number of available CPU cores, don't assume that
374        there's that much of a relationship between CPU time and wall-clock
375        time.
376
3772007-02-13 18:41  gb
378
379        * level-1/linux-files.lisp: Don't do whatever el-bizarro Mach thing
380        once seemed to be necessary in %%RUSAGE.  Require syscall stuff
381        when :execute, too.
382
3832007-02-13 18:35  gb
384
385        * lib/ffi-linuxppc64.lisp: It's %%get-unsigned-longlong, and the
386        offset arg is required.
387
3882007-02-13 18:12  gb
389
390        * level-0/X86/x86-misc.lisp: Add rdtsc (returns 60 bit non-negative
391        fixnum) and rdtsc64 (returns 64-bit non-negative integer.)
392
3932007-02-13 18:10  gb
394
395        * lib/time.lisp: Simpler GET-INTERNAL-RUN-TIME (tries harder not to
396        cons.)
397
3982007-02-13 18:10  gb
399
400        * examples/rubix/rubix.lisp: A little bit of cgfloat stuff; there
401        are more/other float-size issues deeper down in the code.
402
4032007-02-13 18:09  gb
404
405        * examples/objc-support.lisp: Fixup the x86-64 error-return
406        callback trampiline code (was missing a byte of machine code.)
407
4082007-02-13 18:08  gb
409
410        * examples/objc-runtime.lisp: Set the mxcsr/fpctrl fields of
411        jmp-buf to safe/sane values.
412
4132007-02-13 18:07  gb
414
415        * examples/cocoa-window.lisp: Don't change-class
416        *cocoa-event-process* until we start to run the event loop.
417       
418        Don't do _deallocHardCore: explicitly.
419
4202007-02-13 17:35  gb
421
422        * compiler/PPC/ppc2.lisp: poweropen-foreign-args: on ppc64, a
423        DOUBLE-FLOAT aliases just one gpr.
424
4252007-02-13 17:34  gb
426
427        * darwin-headers64/libc/C/populate.sh: Select the SDK directory.
428
4292007-02-13 17:34  gb
430
431        * library/pty.lisp: return-value pointers in OPEN-PTY-PAIR are just
432        32-bit ints, not "long".
433
4342007-02-13 17:33  gb
435
436        * lib/ffi-darwinppc64.lisp: Callback arguments: update offset/delta
437        for each scalar, not each arg.
438       
439        Fix some backquoting/indentation.
440
4412007-02-13 17:31  gb
442
443        * lib/ffi-darwinppc32.lisp: Fix typo (^get-signed-long).
444
4452007-02-12 16:23  gb
446
447        * darwin-x86-headers64/libc/C/populate.sh: Select an SDK.
448
4492007-02-11 20:22  gb
450
451        * examples/bridge.lisp: method-typestring needs to be
452        conditionalized.  How has this been working ?
453
4542007-02-11 20:22  gb
455
456        * examples/cocoa-editor.lisp: remove some debugging code.
457
4582007-02-11 20:21  gb
459
460        * examples/objc-runtime.lisp: %mlist-containing is
461        #-apple-objc-2.0.
462
4632007-02-11 20:21  gb
464
465        * examples/objc-support.lisp: Lose a quote mark, fix another typo.
466
4672007-02-11 05:35  gb
468
469        * level-1/version.lisp: Bump.
470
4712007-02-11 05:28  gb
472
473        * darwin-headers/: addressbook/C/populate.sh, carbon/C/populate.sh,
474        cocoa/C/populate.sh, gl/C/populate.sh, libc/C/populate.sh,
475        quicktime/C/populate.sh, webkit/C/populate.sh: Make the SDK prefix
476        an optional argument; default to the Tiger SDK.
477
4782007-02-11 05:26  gb
479
480        * lib/ffi-darwinppc32.lisp: Ignore errors; it's an error to ignore
481        an errror.
482
4832007-02-11 05:26  gb
484
485        * level-1/ppc-trap-support.lisp: Conditionalize for gratuitous
486        Leopard renaming.  Suffer.
487
4882007-02-11 05:25  gb
489
490        * level-1/l1-boot-lds.lisp: MAKE-MCL-LISTENER-PROCESS will preset
491        an existing process (so that the listener process appears to be
492        "persistent".)
493
4942007-02-11 05:24  gb
495
496        * level-1/l1-application.lisp: LISP-DEVELOPMENT-SYSTEM tries to
497        make the initial-listener object persistent acrosss
498        SAVE-APPLICATION.
499
5002007-02-11 00:01  gb
501
502        * examples/objc-support.lisp: Deftype for CF-FLOAT.
503       
504        Handle callback-error-returns on x86-64.
505
5062007-02-11 00:00  gb
507
508        * examples/objc-runtime.lisp: Pointer comparisons in splay trees
509        use %ptr<, to hide word-size differences.
510       
511        __NSConstantStringClassReference isn't what it used to be, so look
512        up NSConstantStringClass the hard way.
513       
514        Handle ns-exception/lisp-error stuff on x86-64.
515       
516        Do arg/result coercions differently.  Does any code depend on
517        COERCE-TO-ADDRESS behavior ?  (It can cause extra consing of
518        MACPTRs).
519       
520        Use the new FFI interface for message-sends, callbacks to try to
521        hide platform-specific ABI issues.
522       
523        The _deallocate-hook mechanism - which never really worked -
524        probably can't work on Objc-2.0.
525
5262007-02-10 23:54  gb
527
528        * examples/bridge.lisp: Make structure return-type explicit in
529        objc-message-send calls in send/stret and variants.
530
5312007-02-10 22:34  gb
532
533        * examples/cocoa-window.lisp: Some indentation changes and slight
534        reorganization of the code; shouldn't be any functional/semantic
535        changes.
536
5372007-02-10 22:30  gb
538
539        * examples/: cocoa-editor.lisp, cocoa-prefs.lisp,
540        cocoa-typeout.lisp: Need to ensure that floats are CG-FLOATs when
541        appropriate; other changes for 64-bit platforms, Objc-2.0.
542
5432007-02-10 22:28  gb
544
545        * examples/: webkit.lisp, tiny.lisp: Need to ensure that floats are
546        CG-FLOATs when appropriate.
547
5482007-02-10 22:28  gb
549
550        * hemlock/bin/openmcl/.cvsignore: Ignore fasls for all platforms.
551
5522007-02-10 22:28  gb
553
554        * level-0/X86/x86-misc.lisp: VALUES uses :ARGLIST pseudo-op.
555
5562007-02-10 22:27  gb
557
558        * lib/: ffi-linuxppc64.lisp, ffi-darwinppc32.lisp,
559        ffi-darwinppc64.lisp, ffi-linuxppc32.lisp: EXPAND-FF-CALL:
560        ignore-errors when trying to parse the last arglist form as a
561        foreign type.
562
5632007-02-10 22:26  gb
564
565        * lib/foreign-types.lisp: Pretty much commited to the new FF-CALL
566        expansion ...
567
5682007-02-10 22:26  gb
569
570        * lisp-kernel/x86-spentry64.s: Preserve %rax when doing ff-call;
571        use %rdx and %r11 to hold target address.
572
5732007-02-10 22:23  gb
574
575        * library/pty.lisp: Unicode stuff when accessing control char
576        array; conditionalize for #+darwin-target, not just
577        #+darwinppc-target.
578
5792007-02-10 22:22  gb
580
581        * level-1/l1-callbacks.lisp: Fix a comment (defcallback isn't
582        ppc-specific; the comment dated from the days of 68K MCL.)
583
5842007-02-10 22:21  gb
585
586        * compiler/X86/X8664/x8664-backend.lisp: Fix some typos; do struct
587        return 32 bits at a time, to avoid consing little bignums.
588
5892007-02-10 22:15  gb
590
591        * compiler/X86/x86-lap.lisp: Support :arglist directive.
592
5932007-02-10 22:15  gb
594
595        * compiler/X86/x862.lisp: alloc-c-frame vinsn takes "extra" word
596        count, not total byte count.
597       
598        Fix handling of $undo-x86-c-frame in x862-nlexit.  (Need to check
599        the PPC case, as well.)
600
6012007-02-10 22:11  gb
602
603        * compiler/X86/X8664/x8664-vinsns.lisp: There doesn't need to be a
604        "zero-extend-s8" vinsn, but there does need to be a
605        "zero-extend-u8".
606
6072007-02-10 05:38  gb
608
609        * level-0/PPC/ppc-misc.lisp: Use new :ARGLIST directive in
610        #'VALUES.
611
6122007-02-10 05:38  gb
613
614        * compiler/PPC/ppc-lap.lisp: Support an :ARGLIST directive, so that
615        ARGLIST can say -something- about lap functions that don't take a
616        fixed number of arguments.
617
6182007-02-07 02:54  gb
619
620        * compiler/X86/X8664/x8664-backend.lisp: They spell "valu" with an
621        "e".
622
6232007-02-02 02:32  gb
624
625        * examples/: bridge.lisp, objc-clos.lisp, objc-runtime.lisp,
626        objc-support.lisp: Start to integrate with FFI changes.  No more
627        %SEND, process and precompile "init" messages when interfaces are
628        accessed.  (Note: should try to handle varargs init messages, even
629        if we have to call %FF-CALL at runtime.)
630
6312007-02-02 02:31  gb
632
633        * examples/: addressbook.lisp, webkit.lisp: Change the
634        initialization code a bit.
635
6362007-02-02 02:27  gb
637
638        * lib/foreign-types.lisp: Try to fix another case involving
639        "auxiliary types".
640       
641        I think that the concept of auxiliary types might make sense in a
642        context like:
643       
644        (def-foreign-type nil   (:struct :foo     (:a :int)     (:b
645        (:struct :bar (:x :int) (:y :int)))))
646       
647        In that case, :struct :bar is local to the definition.  In the
648        similar case:
649       
650        (def-foreign-type nil   (:struct :foo     (:a :int)     (:b
651        (:struct :bar))))
652       
653        :BAR is presumably defined (globally) elsewhere.
654
6552007-02-02 02:17  gb
656
657        * darwin-headers/addressbook/C/populate.sh: Specify the SDK to use.
658         (Setting "SDK=" will hopefully work with older version of xcode.)
659
6602007-02-02 02:15  gb
661
662        * darwin-headers/addressbook/C/.cvsignore: Ignore ./Developer.
663
6642007-01-31 23:26  gb
665
666        * compiler/PPC/ppc2.lisp: Don't treat :registers arg as a real
667        argument in ppc2-poweropen-foreign-args.
668
6692007-01-31 22:47  gb
670
671        * lib/ffi-darwinppc64.lisp: Needed ,@ to return assign structure
672        components from registers.
673
6742007-01-31 22:45  gb
675
676        * lib/db-io.lisp: UNESCAPE-FOREIGN-NAME: strings with no angle
677        brackets are returned verbatim, not downcased.
678
6792007-01-31 22:44  gb
680
681        * level-0/PPC/ppc-def.lisp: Runtime version of 64-bit %ff-call
682        accepts :registers.
683
6842007-01-31 16:36  gb
685
686        * darwin-headers64/chud/: .cvsignore, C/.cvsignore, C/populate.sh:
687        New (and, so far, useless) files.
688
6892007-01-31 16:35  gb
690
691        * library/chud-metering.lisp: Add a comment; CHUD.Framework still
692        seems to be 32-bit only.
693
6942007-01-31 16:34  gb
695
696        * darwin-headers64/libc/C/.cvsignore: Ignore ./Developer.
697
6982007-01-31 16:34  gb
699
700        * darwin-headers64/libc/C/populate.sh: Use SDK; add dlfcn.h.
701
7022007-01-31 16:33  gb
703
704        * lib/db-io.lisp: Tweak the warning given if CDB-OPEN fails:
705        missing cdb file: dog bytes man; missing parent directory is more
706        newsworthy.
707
7082007-01-31 15:38  gb
709
710        * library/chud-metering.lisp: Tweak a little, so that it might work
711        on darwinppc64 (and on darwinx8664 when purify does something
712        there.)
713
7142007-01-31 15:06  gb
715
716        * darwin-headers/libc/C/populate.sh: Add dlfcn.h.
717
7182007-01-31 02:49  gb
719
720        * level-0/PPC/PPC32/ppc32-bignum.lisp: BIGNUM-NEGATE-TO-PTR.
721
7222007-01-30 22:53  gb
723
724        * freebsd-headers64/: gtk2/C/.cvsignore, gtk2/C/populate.sh,
725        gl/C/.cvsignore, gl/C/populate.sh, gnome2/.cvsignore,
726        gnome2/C/.cvsignore, gnome2/C/populate.sh, gtk2/.cvsignore,
727        gl/.cvsignore: new files.
728
7292007-01-30 22:21  gb
730
731        * freebsd-headers64/gmp/: C/.cvsignore, C/populate.sh, .cvsignore:
732        new files.
733
7342007-01-30 21:58  gb
735
736        * level-0/l0-bignum64.lisp: BIGNUM-NEGATE-TO-POINTER.
737
7382007-01-30 21:58  gb
739
740        * x86-headers64/gmp/: .cvsignore, C/.cvsignore, C/populate.sh: new
741        file
742
7432007-01-30 21:49  gb
744
745        * level-1/l1-sockets.lisp: Learn to conditionalize! It's easy and
746        fun!
747
7482007-01-30 21:40  gb
749
750        * library/openmcl-gtk-support.lisp: Conditionalize out the
751        event-polling task.
752
7532007-01-30 21:36  gb
754
755        * headers64/: gl/.cvsignore, gl/C/.cvsignore, gl/C/populate.sh,
756        gnome2/.cvsignore, gnome2/C/.cvsignore, gnome2/C/populate.sh,
757        gtk2/.cvsignore, gtk2/C/.cvsignore, gtk2/C/populate.sh: new file
758
7592007-01-30 21:35  gb
760
761        * headers/gl/C/populate.sh: process glu.h
762
7632007-01-30 17:47  gb
764
765        * library/parse-ffi.lisp: Always encode explicit structure-typed
766        function return values.
767       
768        Note when we see one, for now.
769
7702007-01-30 17:45  gb
771
772        * lib/foreign-types.lisp: %EXTERNAL-CALL-EXPANDER allows/requires a
773        leading argument to be paired with a structure-typed return-type.
774
7752007-01-30 17:43  gb
776
777        * lib/ffi-linuxppc32.lisp: linuxppc32 always returns structures via
778        the first-arg hack.
779
7802007-01-30 17:42  gb
781
782        * lib/db-io.lisp: Bump *interface-abi-version*, but continue to
783        support the old version.
784       
785        Don't check the :struct-by-value flag when encoding function
786        args/results.  (That decision's made above our pay grade now.)
787       
788        When reading a :struct/:union definition, try to update an existing
789        defintion rather than consing up a new one (this matters if the
790        record is anonymous.)
791
7922007-01-30 17:39  gb
793
794        * level-1/l1-sockets.lisp: Try to ensure that the :FORMAT argument
795        gets passed to MAKE-TCP-STREAM-SOCKET and MAKE-FILE-STREAM-SOCKET
796        correctly.
797       
798        Fix c_socket for #+linuxppc.
799
8002007-01-30 08:20  gb
801
802        * level-1/version.lisp: Bump.
803
8042007-01-30 08:20  gb
805
806        * lib/compile-ccl.lisp: Use make -j to build kernel.
807
8082007-01-30 07:02  gb
809
810        * lisp-kernel/x86-spentry64.s: .SPcallback returns rax/rdx,
811        xmm0/xmm1.
812
8132007-01-30 07:01  gb
814
815        * lib/macros.lisp: Use new callback interface unconditionally.  (A
816        day's work turned into 2 weeks, somehow.)
817
8182007-01-30 07:00  gb
819
820        * compiler/X86/X8664/x8664-backend.lisp, lib/ffi-darwinx8664.lisp,
821        lib/ffi-freebsdx8664.lisp, lib/ffi-linuxx8664.lisp: New callback
822        stuff for x8664 (all platfroms appear to use the same ABI.)
823
8242007-01-30 03:26  gb
825
826        * level-0/X86/x86-misc.lisp: Don't use boxed "disp" for
827        displacement in %ATOMIC-INCF-NODE.
828
8292007-01-29 07:27  gb
830
831        * lib/macros.lisp: Enable new callback stuff on #+ppc-target.
832
8332007-01-29 07:27  gb
834
835        * lib/ffi-darwinppc64.lisp: new callback stuff.
836
8372007-01-29 07:27  gb
838
839        * lib/ffi-darwinppc32.lisp: typos-r-us.
840
8412007-01-29 04:37  gb
842
843        * lib/ffi-darwinppc32.lisp: Flesh out darwinppc32 callback stuff.
844
8452007-01-29 04:37  gb
846
847        * lib/ffi-linuxppc64.lisp: Fix some typos/bugs; more likely remain.
848
8492007-01-29 04:36  gb
850
851        * lib/foreign-types.lisp: REQUIRE-FOREIGN-TYPE-BITS.
852
8532007-01-29 04:36  gb
854
855        * lib/macros.lisp: Use new callback scheme for darwinppc32, too.
856
8572007-01-29 04:36  gb
858
859        * compiler/PPC/PPC32/ppc32-backend.lisp: No more (old) callback
860        stuff here.
861
8622007-01-29 02:33  gb
863
864        * lib/ffi-darwinppc32.lisp: Flesh out the new callback stuff.
865
8662007-01-28 21:47  gb
867
868        * lib/: ffi-linuxppc32.lisp, ffi-linuxppc64.lisp: Flesh things out
869        a bit more, change the API, get things working ... still a moving
870        target.
871
8722007-01-28 21:46  gb
873
874        * lib/macros.lisp: For linuxppc, use the new callback mechanism.
875        (Other platforms still need more bootstrapping.)
876
8772007-01-28 21:44  gb
878
879        * compiler/PPC/PPC32/ppc32-backend.lisp: Lose the old eabi-callback
880        stuff; linuxppc 32/64-bit callbacks now use the new scheme.
881
8822007-01-28 03:21  gb
883
884        * lib/ffi-linuxppc32.lisp: Remove some typos.  Need to pass
885        dynamic-extent, other decls separately.
886
8872007-01-28 03:20  gb
888
889        * compiler/PPC/PPC32/ppc32-backend.lisp: Fix some of this stuff;
890        use the new (ftd-based) scheme.
891
8922007-01-28 01:43  gb
893
894        * compiler/PPC/PPC64/ppc64-backend.lisp: Fix some typos.  (This
895        code's getting replaced, but fix 'em anyway.)
896
8972007-01-28 01:42  gb
898
899        * lib/db-io.lisp: If a .cdb file can't be opened, show the
900        translated pathname and mention the fact that this might indicate a
901        problem with "ccl:"'s logical translations.
902
9032007-01-25 04:37  gb
904
905        * lib/foreign-types.lisp: Never fully understood the concept
906        "auxiliary" foreign types, but try to canonicalize intermediate
907        struct/union/enum references, so that (EQ (PARSE-FOREIGN-TYPE
908        '(:STRUCT :FOO))     (PARSE-FOREIGN-TYPE '(:STRUCT :FOO))) is more
909        likely to return T (e.g., something registered in the FTD.
910       
911        It seems clear that this is the right thing when the structure
912        reference is in global scope; I'm not sure what it'd mean for that
913        not to be the case.
914
9152007-01-25 04:32  gb
916
917        * lib/ffi-linuxppc32.lisp: More plausible callback-bindings
918        callback.
919
9202007-01-24 23:41  gb
921
922        * lib/ffi-linuxppc32.lisp: First cut at callback-bindings thing;
923        may not even compile.
924
9252007-01-24 02:39  gb
926
927        * compiler/: PPC/PPC32/ppc32-backend.lisp,
928        PPC/PPC64/ppc64-backend.lisp, X86/X8664/x8664-backend.lisp: Stubs
929        for new FTD functions.
930
9312007-01-24 02:28  gb
932
933        * lib/foreign-types.lisp: A few more fields (for callbacks) in ftd
934        defstruct.
935
9362007-01-23 15:28  gb
937
938        * compiler/PPC/: PPC32/ppc32-backend.lisp,
939        PPC64/ppc64-backend.lisp: Get FPRs from where subprim saved them.
940        Return FPRs in the same place.  (Will need to re-work all of this
941        for platform-dependent structure stuff.)
942
9432007-01-23 15:26  gb
944
945        * lisp-kernel/ppc-spentry.s: poweropen-callback, callbackX; save fp
946        args here.  Return all (arg) GPRs and FPRs (needs cooperation from
947        the lisp side.)
948
9492007-01-23 15:21  gb
950
951        * lisp-kernel/: ppc-constants32.s, ppc-constants64.s: Add room in
952        c_reg_save for saved fp args (f1-f13).
953
9542007-01-23 15:14  gb
955
956        * lib/foreign-types.lisp: FF-CALL implemented in terms of the new
957        ftd hook.
958
9592007-01-23 07:19  gb
960
961        * level-1/l1-clos-boot.lisp: ppc32, ppc64 also had trouble with
962        (CLASS-OF non-simple-string).
963
9642007-01-23 07:02  gb
965
966        * level-1/l1-clos-boot.lisp: x8664 class-of: typo in non-simple
967        array case, needed new string definition.
968
9692007-01-23 07:01  gb
970
971        * lib/: ffi-darwinx8664.lisp, ffi-freebsdx8664.lisp,
972        ffi-linuxx8664.lisp: Define ffi stuff in terms of common things in
973        compiler/X86/X8664/x8664-backend.
974
9752007-01-23 06:59  gb
976
977        * compiler/X86/X8664/x8664-backend.lisp: Define (common) x8664 ffi
978        stuff here.
979
9802007-01-21 08:32  gb
981
982        * compiler/X86/x862.lisp: Name vinsn ff-call-return-registers (not
983        "-returning-").
984       
985        Typecheck the :registers arg.
986
9872007-01-21 08:32  gb
988
989        * compiler/X86/X8664/x8664-vinsns.lisp: ff-call-return-registers.
990
9912007-01-21 08:31  gb
992
993        * compiler/X86/X8664/x8664-arch.lisp: WITH-FFCALL-RESULTS: zero the
994        stack-block.
995
9962007-01-21 08:31  gb
997
998        * lisp-kernel/x86-spentry64.s: Don't use save3 in
999        .SPffcall_return_registers (save3 = r11); use save2 (= r13)
1000        instead.
1001
10022007-01-21 06:46  gb
1003
1004        * compiler/PPC/PPC64/ppc64-arch.lisp: WITH-FFCALL-RESULTS needs
1005        space for 13 float registers, not 31.
1006
10072007-01-21 06:45  gb
1008
1009        * compiler/X86/X8664/x8664-arch.lisp: WITH-FFCALL-RESULTS for
1010        x86-64.
1011
10122007-01-21 06:38  gb
1013
1014        * compiler/X86/x862.lisp: ff-call: handle n-word struct-by-value,
1015        register return without typos.
1016
10172007-01-21 06:15  gb
1018
1019        * compiler/X86/x862.lisp: ff-call: handle n-word struct-by-value,
1020        register return.
1021
10222007-01-21 06:14  gb
1023
1024        * compiler/nx1.lisp: Don't assume that passing a structure by value
1025        in N words is Darwin-specific.  (LinuxPPC32 is probably the only
1026        platform that doesn't support the convention.)
1027
10282007-01-21 06:12  gb
1029
1030        * compiler/X86/X8664/x8664-arch.lisp: .SPffcall-return-registers
1031        replaces .SPunused-4.
1032
10332007-01-21 06:10  gb
1034
1035        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s:
1036        .SPffcall_return_registers (just returns %rax/rdx, %xmm0/%xmm1).
1037        (replaces .SPunused_4).
1038
10392007-01-21 00:05  gb
1040
1041        * lib/: ffi-linuxppc32.lisp, ffi-linuxppc64.lisp: Use
1042        argument/result coercion functions in os::expand-ff-call.
1043
10442007-01-20 23:53  gb
1045
1046        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp: Coerce arg,
1047        results when expanding an ff-call.
1048
10492007-01-20 23:52  gb
1050
1051        * lib/foreign-types.lisp: Default (no-op) functions for coercing
1052        foreign args, results.
1053
10542007-01-20 22:31  gb
1055
1056        * lib/ffi-linuxppc64.lisp: 4 down.  Whether 2 or 3 to go depends on
1057        your perspective (and on how close x86-64 Linux and x86-64 FreeBSD
1058        are to each other.  I'd guess that they're pretty close, and that
1059        x86-64 Darwin is random.)
1060
10612007-01-20 21:55  gb
1062
1063        * lib/ffi-linuxppc32.lisp: Pretty simple.  3 down, 4 to go.
1064
10652007-01-20 19:34  gb
1066
1067        * compiler/X86/X8664/x8664-backend.lisp: Package prefixes.  D'oh!
1068
10692007-01-20 19:25  gb
1070
1071        * compiler/X86/X8664/x8664-backend.lisp: Add references to the
1072        right os::ff-call-expander.
1073
10742007-01-20 19:24  gb
1075
1076        * compiler/PPC/PPC64/ppc64-arch.lisp: Remove some wip code.
1077
10782007-01-20 19:24  gb
1079
1080        * compiler/PPC/: PPC32/ppc32-backend.lisp,
1081        PPC64/ppc64-backend.lisp: Use os::expand-ff-call, for each value of
1082        OS.
1083
10842007-01-20 19:23  gb
1085
1086        * level-1/l1-sockets.lisp: Saw an opportunity to use PAREF;
1087        probably several more.
1088
10892007-01-20 19:22  gb
1090
1091        * lib/ffi-darwinppc64.lisp: Two down, 5 to go.
1092
10932007-01-20 19:21  gb
1094
1095        * lib/ffi-darwinppc32.lisp: Looks mostly right; might need to be
1096        extended to handle coercions at the Cocoa level, and probably needs
1097        some cooperation from %EXTERNAL-CALL-EXPANDER (e.g., what's
1098        installed by #_).
1099
11002007-01-20 19:18  gb
1101
1102        * lib/db-io.lisp: Encode, decode union types in arglists.
1103
11042007-01-20 19:17  gb
1105
1106        * lib/foreign-types.lisp: ftd's :ff-call-expand-function is
1107        os::expand-ff-call.
1108       
1109        Canonicalize the :void type a bit better.
1110
11112007-01-20 19:16  gb
1112
1113        * library/parse-ffi.lisp: Remove the debugging FORMAT call.
1114
11152007-01-18 23:15  gb
1116
1117        * level-1/l1-boot-2.lisp: Load with the new ffi-backend fasls.
1118
11192007-01-18 23:15  gb
1120
1121        * lib/compile-ccl.lisp: Deal with the new ffi-backend sources.
1122
11232007-01-18 23:15  gb
1124
1125        * lib/systems.lisp: Add the new ffi-backend sources.
1126
11272007-01-18 23:14  gb
1128
1129        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp,
1130        ffi-darwinx8664.lisp, ffi-freebsdx8664.lisp, ffi-linuxppc32.lisp,
1131        ffi-linuxppc64.lisp, ffi-linuxx8664.lisp: New (so far, empty)
1132        files.
1133
11342007-01-18 04:35  gb
1135
1136        * level-1/version.lisp: Bump.
1137
11382007-01-18 04:17  gb
1139
1140        * examples/bridge.lisp: Some word-size conditionalization.  Will
1141        need more work to handle struct return/asssignment correctly on all
1142        platforms.
1143
11442007-01-18 04:15  gb
1145
1146        * examples/: cocoa-editor.lisp, cocoa-backtrace.lisp: Use CGFloat,
1147        type casts, etc.  Likwise for :<NSI>nteger, :<NSUI>nteger.
1148
11492007-01-18 04:13  gb
1150
1151        * examples/: cocoa-prefs.lisp, cocoa-listener.lisp: Use CGFloat,
1152        type casts, etc.
1153
11542007-01-18 04:12  gb
1155
1156        * examples/cocoa-window.lisp: Use CGFloat, type casts, etc.  Avoid
1157        deprecated NSFont stuff.
1158
11592007-01-18 04:11  gb
1160
1161        * examples/objc-clos.lisp: Handle ivars, class
1162        creation/initialization differently for ObjC 2.0.
1163
11642007-01-18 04:10  gb
1165
1166        * examples/objc-runtime.lisp: More ObjC 2.0, ppc64 changes.
1167
11682007-01-18 04:09  gb
1169
1170        * examples/objc-support.lisp: Note which protocols are actually
1171        used when walking classes.  (There doesn't seem to be a good way of
1172        finding a Protocol object pre-objc-2.0, and we may need to test
1173        protocol compliance to disambiguate message sends in some cases.)
1174
11752007-01-18 04:07  gb
1176
1177        * examples/opengl-ffi.lisp: Conditionalize for darwin (not
1178        necessarily darwinppc).
1179
11802007-01-18 04:06  gb
1181
1182        * examples/addressbook.lisp: Conditionalize for darwin (not
1183        necessarily darwinppc).  May want to conditionalize for bundle
1184        executable name, as well.
1185
11862007-01-18 04:05  gb
1187
1188        * compiler/PPC/PPC64/ppc64-arch.lisp: WITH-FFCALL-RESULTS.  Start
1189        to sketch out structure return code (structures are often
1190        "returned" by returning field values in registers pn DarwinPPC64.)
1191
11922007-01-18 04:04  gb
1193
1194        * compiler/PPC/PPC64/ppc64-backend.lisp: New ftd stuff; new
1195        attributes for structure args/results.
1196
11972007-01-18 04:03  gb
1198
1199        * compiler/PPC/PPC64/ppc64-vinsns.lisp: ffcall-returning registers.
1200         (Will need this for other platforms, too.)
1201
12022007-01-18 04:01  gb
1203
1204        * lib/macros.lisp: Arch-specific macro interface for
1205        WITH-FFCALL-RESULTS.
1206
12072007-01-18 04:00  gb
1208
1209        * lib/db-io.lisp: Handle the case of an encoded structure type as a
1210        return value.
1211
12122007-01-18 04:00  gb
1213
1214        * lisp-kernel/: ppc-spentry.s, ppc-spjump.s:
1215        .SPpoweropen_ffcall_return_registers.
1216
12172007-01-18 03:59  gb
1218
1219        * library/parse-ffi.lisp: At least optionally, make structure
1220        return explicit (expecting it to be handled by higher-level code.)
1221
12222007-01-18 03:58  gb
1223
1224        * lib/foreign-types.lisp: ff-call-expand-function in ftd.  Don't
1225        try to type-expand :registers <exp> form in EXTERNAL-CALL.
1226
12272007-01-18 03:55  gb
1228
1229        * level-0/PPC/ppc-misc.lisp: Get the contents of the register that
1230        may hold OS thread context.
1231
12322007-01-18 03:54  gb
1233
1234        * compiler/PPC/PPC32/ppc32-backend.lisp: ff-call-expander function
1235        in ftd.
1236
12372007-01-18 03:53  gb
1238
1239        * compiler/PPC/PPC32/ppc32-arch.lisp: WITH-FFCALL-RESULTS arch
1240        macro.
1241
12422007-01-18 03:52  gb
1243
1244        * compiler/PPC/ppc2.lisp: Poweropen ff-calls might need to return
1245        all possible result regs.  (Maybe poweropen syscall, too.)
1246
12472007-01-18 03:51  gb
1248
1249        * compiler/PPC/ppc-arch.lisp: Replace unused subprim with
1250        .SPpoweropen-ff-call-return-registers.
1251
12522007-01-18 03:50  gb
1253
1254        * compiler/nx1.lisp: Support :registers <exp> in %ff-call; when
1255        supported, backend will return all (potential) result registers in
1256        buffer at <exp>.
1257
12582007-01-16 02:01  gb
1259
1260        * level-1/l1-streams.lisp: Make sure that STREAM-READ-IVECTOR and
1261        STREAM-WRITE-IVECTOR are defined on binary stream classes.  (These
1262        functions make less sense for character streams/strings than they
1263        used to.)
1264
12652007-01-16 01:39  gb
1266
1267        * level-1/l1-sockets.lisp: Ensure that the :FORMAT argument
1268        defaults to :BIVALENT
1269
12702007-01-16 01:37  gb
1271
1272        * level-0/l0-init.lisp: Put :OPENMCL-UNICODE-STRINGS on *FEATURES*.
1273
12742007-01-11 23:58  gb
1275
1276        * compiler/PPC/ppc2.lisp: Transform (/ (* constant1 exp) constant2)
1277        into (* (/ constant1 constant2) exp).  Not very general, but makes
1278        some foreign address arithmetic better.
1279
12802007-01-11 23:56  gb
1281
1282        * lib/macros.lisp: Simple PAREF: (paref pointer
1283        foreign-pointer-or-array-type index) does simple arithmetic for
1284        you.
1285
12862007-01-11 23:54  gb
1287
1288        * lib/foreign-types.lisp: %FOREIGN-ARRAY-ACCESS-FORM.
1289
12902007-01-10 15:50  gb
1291
1292        * compiler/PPC/ppc2.lisp: ppc2-vref1: lose extra arg to
1293        double->heap vinsn.
1294
12952007-01-09 11:33  gb
1296
1297        * lisp-kernel/x86-spentry64.s: When running an unwind-protect
1298        cleanup and multiple values are being thrown, be sure to set
1299        tcr.xframe from the target catch frame.  This is necessary on
1300        general principles (GC safety), and especially necessary if the
1301        cleanup form does a non-local exit.
1302
13032007-01-08 22:12  gb
1304
1305        * examples/: objc-clos.lisp, objc-runtime.lisp, objc-support.lisp:
1306        Revive some of the old GNUstep support; add partial ObjC 2.0
1307        support (for 64-bit targets only, so far.)
1308
13092007-01-08 22:11  gb
1310
1311        * examples/cocoa.lisp: Conditionalize for darwin-target, not
1312        darwinppc-target.
1313
13142007-01-08 22:10  gb
1315
1316        * examples/cocoa-listener.lisp: Disable background layout in the
1317        listener; the whole two-thread scheme probably isn't viable, but
1318        doing this seems to suppress a timing-related symptom.
1319
13202007-01-08 22:09  gb
1321
1322        * examples/cocoa-editor.lisp: Document-begin-editing,
1323        document-end-editing: both seem to have been conditionalized
1324        backwards.
1325
13262007-01-05 16:22  gb
1327
1328        * level-0/l0-numbers.lisp: Fix another typo ...
1329
13302007-01-05 16:16  gb
1331
1332        * level-0/l0-numbers.lisp: Fix typo (ppc32::, not ppc2::).
1333
13342007-01-05 15:27  gb
1335
1336        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Missing MISC-SET-C-S32 for
1337        PPC32.
1338
13392007-01-05 06:20  gb
1340
1341        * level-0/l0-cfm-support.lisp: OPEN-SHARED-LIBRARY: freebsd version
1342        of #_dlopen doesn't return a link map, but calling #_dlinfo on the
1343        result (with the right arg) does obtain a link map.
1344       
1345        Revive shared libraries on FreeBSD, but don't do the strange
1346        Linux-specific re-opening there.  (It seems like it's possible to
1347        #_dlopen something that already has a loaded link map - like the
1348        FreeBSD dynamic linker - or something.)
1349
13502007-01-04 05:46  gb
1351
1352        * level-1/l1-pathnames.lisp: %component-match-p: handle :WILD,
1353        :WILD-INFERIORS.
1354
13552007-01-04 05:45  gb
1356
1357        * lisp-kernel/pmcl-kernel.c: Try to check for old libc versions
1358        (which may use %gs instead of %fs for tls).
1359
13602007-01-04 05:44  gb
1361
1362        * lib/numbers.lisp: Explicitly require NUMBER-CASE-MACRO.
1363
13642007-01-04 05:44  gb
1365
1366        * level-0/l0-numbers.lisp:
1367        fixnum-sfloat-compare,fixnum-dfloat-compare: if the fixnum can be
1368        accurately represented in float, do so.
1369
13702007-01-03 03:35  gb
1371
1372        * lib/sequences.lisp: Fix a few type errors, check for explicit
1373        vector-type length earlier.
1374
13752007-01-03 03:31  gb
1376
1377        * level-1/l1-files.lisp: %STD-NAME-COMPONENT, %STD-TYPE-COMPONENT:
1378        preserved :WILD, don't map it to "*".
1379
13802007-01-03 03:30  gb
1381
1382        * lib/pathnames.lisp: More whack-a-mole with pathnames
1383        (specifically, preserving :WILD as name/type value and dealing with
1384        the consequences of doing so.)
1385
13862007-01-03 03:27  gb
1387
1388        * lib/numbers.lisp: Small (mostly cosmetic) change to RATIONAL.
1389
13902007-01-02 09:57  gb
1391
1392        * lib/macros.lisp: Keep fixing CTYPECASE.
1393
13942007-01-02 09:57  gb
1395
1396        * level-1/l1-streams.lisp: DOH! STREAM-READ-LINE method on
1397        BASIC-CHARACTER-INPUT-STREAM returns both values.
1398       
1399        "Composite" (two-way, concatenated, etc) streams need a close
1400        protocol.
1401
14022007-01-02 07:00  gb
1403
1404        * level-0/l0-pred.lisp: EQUAL on physical pathnames ignores the
1405        (new) version slot, as does practically everything else.
1406
14072007-01-02 06:59  gb
1408
1409        * level-0/l0-numbers.lisp: Don't assume that fixnums can be
1410        accurately coerced to floats when comparing fixnums and floats; do
1411        the logical equvalent of calling RATIONAL on the float instead.
1412
14132007-01-01 23:41  gb
1414
1415        * level-1/l1-files.lisp: ENOUGH-NAMESTRING: don't incorporate
1416        version into returned namestring for physical pathnames.
1417
14182006-12-31 10:15  gb
1419
1420        * release-notes.txt: Update.
1421
14222006-12-31 09:13  gb
1423
1424        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump image/abi
1425        version.
1426
14272006-12-31 08:57  gb
1428
1429        * xdump/faslenv.lisp: Bump fasl-min-vers.
1430
14312006-12-31 08:49  gb
1432
1433        * lib/nfcomp.lisp: Bump current fasl version.
1434
14352006-12-31 08:33  gb
1436
1437        * lisp-kernel/: linuxppc/elf32ppclinux.x, linuxppc64/elf64ppc.x:
1438        Tweak the executable start address.
1439
14402006-12-31 02:44  gb
1441
1442        * lisp-kernel/x86-spjump64.s: On Darwin, use a .space directive to
1443        ensure that there's nothing interesting in the first few pages of
1444        the address space (and ensure that those pages are mapped.)
1445
14462006-12-31 02:43  gb
1447
1448        * lisp-kernel/darwinx8664/Makefile: Sadly, we can't use -sectalign
1449        on x86-64 (ld64 does some floating-point arithmetic, fails to
1450        account for roundoff error, and claims that 0x1000 isn't a power of
1451        2.) If you can't say anything good about a linker, it's best not to
1452        say anything at all.
1453       
1454        We can force the first segment to be mapped at 0x1000, and can
1455        waste a few pages to ensure that all low-memory pages that the lisp
1456        wants are mapped.
1457
14582006-12-31 02:33  gb
1459
1460        * level-1/l1-pathnames.lisp: %SPLIT-COMPONENT: be a little more
1461        defensive.
1462
14632006-12-31 02:32  gb
1464
1465        * compiler/nx0.lisp: NX-FORM-TYPE: handle quoted constants.
1466
14672006-12-31 02:29  gb
1468
1469        * xdump/faslenv.lisp: Bump $fasl-vers.
1470
14712006-12-31 02:28  gb
1472
1473        * level-1/version.lisp: Bump; remove "Beta" designation.
1474
14752006-12-29 20:13  gb
1476
1477        * compiler/X86/X8664/x8664-arch.lisp, lisp-kernel/area.h,
1478        lisp-kernel/lisp_globals.h, lisp-kernel/x86-constants64.h,
1479        lisp-kernel/x86-constants64.s, xdump/xx8664-fasload.lisp: Move NIL
1480        up a page on x86-64 as well.
1481
14822006-12-29 16:09  gb
1483
1484        * lisp-kernel/ppc-spjump.s: Be a little clearer about where we're
1485        .orged.
1486
14872006-12-29 15:32  gb
1488
1489        * compiler/PPC/PPC32/ppc32-arch.lisp, lisp-kernel/area.h,
1490        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
1491        lisp-kernel/darwinppc/Makefile, xdump/xppcfasload.lisp: Static area
1492        (including NIL) now one page higher on ppc32, as well.
1493
14942006-12-29 02:38  gb
1495
1496        * level-0/PPC/ppc-float.lisp: SQRT in LAP (todo: inline it.)
1497
14982006-12-29 01:38  gb
1499
1500        * compiler/PPC/PPC64/ppc64-arch.lisp: Move ppc64::nil-value (and
1501        ppc64::reservation-discharge) up a page.
1502
15032006-12-29 01:37  gb
1504
1505        * xdump/xppcfasload.lisp: xload-static-space-address for ppc64 is
1506        #x2000; still #x1000 for ppc32.  (need to set this for x86-64)
1507
15082006-12-29 01:36  gb
1509
1510        * xdump/xfasload.lisp: *xload-static-space-address* depends on the
1511        backend.  ppc64 wants it one page higher than it has been, to avoid
1512        letting unmapped pages get claimed by the dynamic linker on Darwin.
1513
15142006-12-29 01:35  gb
1515
1516        * lisp-kernel/darwinppc64/Makefile: Change seg1addr/sectalign, so
1517        that the image starts at #x1000 and aligned section data for the
1518        text section starts on the next page.
1519
15202006-12-29 01:33  gb
1521
1522        * lisp-kernel/ppc-spjump.s: Org the spjump table 3 pages from where
1523        the aligned text section data starts.
1524
15252006-12-29 01:32  gb
1526
1527        * lisp-kernel/: ppc-constants64.h, ppc-constants64.s: nil_value,
1528        etc a page higher.
1529
15302006-12-29 01:32  gb
1531
1532        * lisp-kernel/pmcl-kernel.c: Don't remap ppc64 spjump table if it's
1533        already where it should be.
1534
15352006-12-29 01:32  gb
1536
1537        * lisp-kernel/lisp_globals.h: Access lisp_globals/nrs_symbols a
1538        page higher.
1539
15402006-12-29 01:30  gb
1541
1542        * lisp-kernel/area.h: Move STATIC_BASE_ADDRESS up a page for ppc64.
1543
15442006-12-22 01:40  gb
1545
1546        * lisp-kernel/ppc-exceptions.c: Ensure that sqrt() is prototyped.
1547
15482006-12-22 01:39  gb
1549
1550        * lisp-kernel/pmcl-kernel.c: Insist on at least Panther for
1551        PPC32/Darwin.
1552       
1553        Use dlopen() on 64-bit Darwin variants.  Might want to do a runtime
1554        test and use dlfcn functions if at least Tiger.
1555       
1556        (The old dyld functions are deprecated under Leopard, and there's
1557        reason to believe that they don't work correctly on at least ppc64/
1558        Leopard; attempting to use NSCreateObjectFileImageFromFile to open
1559        a 64-bit .dylib seems to lead to memory corruption rather than
1560        returning NSObjectFileImageInappropriateFile.
1561       
1562        The old functions work better than the dlfcn functions on pre-Tiger
1563        systems.)
1564
15652006-12-19 01:24  gb
1566
1567        * library/parse-ffi.lisp: Just to be on the safe side (new pathname
1568        bugs, or old ?), append -BAK to (NAMESTRING (TRUENAME path)), not
1569        just (NAMESTRING path) when renaming.  (MERGE-PATHNAMES call is
1570        producing a pathane with a non-null VERSION component, as it
1571        arguably should have been all along.
1572
15732006-12-18 13:22  gb
1574
1575        * lib/sequences.lisp: COERCE/MAKE-SEQUENCE try to simplify vector
1576        types into concrete vector types.
1577
15782006-12-18 13:04  gb
1579
1580        * level-1/l1-pathnames.lisp: Try (halfheartedly) to maintain
1581        PATHNAME-VERSION of physical pathnames.  (Totally meaningless, but
1582        failing to do this leads to many test failures.)
1583
15842006-12-18 13:03  gb
1585
1586        * level-1/l1-numbers.lisp: Don't call out to do sqrt.
1587
15882006-12-18 12:57  gb
1589
1590        * level-1/l1-files.lisp: Try (halfheartedly) to maintain
1591        PATHNAME-VERSION of physical pathnames.  (Totally meaningless, but
1592        failing to do this leads to many test failures.)
1593
15942006-12-18 12:54  gb
1595
1596        * level-0/X86/x86-float.lisp: Do single/double-float sqrt inline.
1597
15982006-12-16 05:28  gb
1599
1600        * level-0/PPC/ppc-float.lisp: Recognize that fsqrt/fsqrts
1601        instructions have a minor opcode in frb and only have one source
1602        operand.
1603
16042006-12-16 05:27  gb
1605
1606        * level-1/ppc-error-signal.lisp: If we get an FP exception during a
1607        SQRT, note that there's only one operand and that it's in frb.
1608
16092006-12-16 05:25  gb
1610
1611        * lisp-kernel/ppc-exceptions.c: Handle (some) unimplemented
1612        instructions, notably fsqrt/fqrts, which are optional and not
1613        implemented on some PPC machines.
1614
16152006-12-16 05:24  gb
1616
1617        * lisp-kernel/ppc-asmutils.s: Add get_fpscr().
1618
16192006-12-14 19:47  gb
1620
1621        * lisp-kernel/ppc-exceptions.c: Need to handle SIGQUIT on ppc, too.
1622
16232006-12-14 16:43  gb
1624
1625        * compiler/X86/X8664/x8664-vinsns.lisp: Constraints on some
1626        double-float arithmetic vinsns should say :double-float, not
1627        :single-float.  (I suspect cut-and-paste, frankly.)
1628
16292006-12-14 16:25  gb
1630
1631        * level-1/l1-lisp-threads.lisp: *initial-lisp-thread*, not
1632        initial-thread.
1633
16342006-12-14 16:24  gb
1635
1636        * level-1/x86-trap-support.lisp: Use frame pointer when signaling
1637        error.
1638
16392006-12-14 16:14  gb
1640
1641        * library/lispequ.lisp: Add a %PHYSICAL-PATHAME-VERSION slot to
1642        physical pathnames. (Yes, this is kind of silly.)
1643
16442006-12-14 16:01  gb
1645
1646        * level-1/x86-trap-support.lisp: Recognize the kernel's attempt to
1647        signal errors for (e.g.) failed memory allocation.
1648
16492006-12-14 16:00  gb
1650
1651        * lisp-kernel/x86-exceptions.c: If a memory allocation request
1652        fails, signal a lisp error (what a concept.)
1653
16542006-12-14 15:51  gb
1655
1656        * lisp-kernel/x86-exceptions.h: Define DARWIN_USE_PSEUDO_SIGRETURN.
1657       
1658        Might be worth revisiting this.
1659
16602006-12-14 15:50  gb
1661
1662        * lisp-kernel/x86-exceptions.c: Go back to using the
1663        pseudo_sigreturn mechanism on Darwin, since doing a real sigreturn
1664        from a fake context may not be reliable.
1665       
1666        When handling an interrupt with a partially created temp stack
1667        frame, do the right thing.  (That basically means reset the frame
1668        before calling out and recreating it if we return from the
1669        callout.)
1670       
1671        Handle SIGQUIT on the altstack, to provide a way of forcibly
1672        terminating threads that's a bit more GC-safe than doing it via
1673        #_pthread_cancel.
1674       
1675        Note the tcr of the gc thread on gc entry; if an exception happens
1676        in that thread, print a message and sleep for 60 seconds.
1677       
1678        Note that there's still a race condition here: if thread A gets an
1679        exception and thread B gets the mach_exception_lock (to GC) before
1680        the exception thread can handle the message, we deadlock (thread A
1681        would be suspended in the kernel and can't respond to a suspend
1682        signal.)  We can tell that this has happened and make a good guess
1683        as to why it happened, but dealing with it will require some
1684        thought.  (If we've already issued a suspend signal and eventually
1685        raise the suspended thread's resume semaphore, it'll suspend and
1686        resume once the mach exception thread makes it runnable.  Who
1687        cleans up its exception context in that case ?  Does it matter ?)
1688
16892006-12-14 15:19  gb
1690
1691        * lisp-kernel/thread_manager.c: Ensure that newly-created threads
1692        have all signals unmasked.
1693       
1694        If a tcr is dead, ensure that its stack areas are empty.
1695       
1696        Try to run shutdown_thread_tcr as a pthread cleanup action,
1697        hopefully before Mach clobbers the thread's signal mask.
1698
16992006-12-14 15:16  gb
1700
1701        * lisp-kernel/pmcl-kernel.c: lazarus() runs with a lock on the
1702        TCR_AREA_LOCK.
1703
17042006-12-14 15:15  gb
1705
1706        * lisp-kernel/memprotect.h: Don't declare do_memo_reset(), which
1707        hasn't existed in years.
1708
17092006-12-14 15:14  gb
1710
1711        * level-1/version.lisp: Bump.
1712
17132006-12-14 15:14  gb
1714
1715        * level-1/l1-readloop.lisp: PREPARE-TO-QUIT: wait for the
1716        termination semaphore.
1717
17182006-12-14 15:13  gb
1719
1720        * level-1/l1-processes.lisp: PROCESS objects are created with a
1721        termination semaphore.
1722
17232006-12-14 15:12  gb
1724
1725        * level-1/l1-lisp-threads.lisp: THREAD-ENABLE: second arg is
1726        TERMINATION-SEMAPHORE.
1727       
1728        KILL-LISP-THREAD: don't use #_pthread_cancel, which may force the
1729        target thread to transition from running lisp code to running
1730        foreign code without advertising that fact. Send a SIGQUIT instead,
1731        and trust the SIGQUIT handler to manage that transition.  Don't try
1732        to kill the initial thread.
1733
17342006-12-09 09:52  gb
1735
1736        * level-1/l1-streams.lisp: STRING-OUTPUT-STREAMs need to override
1737        their CLEAR-OUTPUT methods.
1738       
1739        MAKE-STRING-INPUT-STREAM: handle displaced strings better (remember
1740        their displaced-index-offsets.)
1741
17422006-12-09 09:49  gb
1743
1744        * lisp-kernel/thread_manager.c: Disable underflow traps in new
1745        threads on x86-64.  (The PPC never got around to enabling them.)
1746
17472006-12-09 09:47  gb
1748
1749        * lib/macros.lisp: WITH-OUTPUT-TO-STRING: if string provided,
1750        evaluate the ELEMENT-TYPE expression (for side-effects) and ignore
1751        the result of its evaluation.
1752       
1753        Some fixes in CTYPECASE handling, which hopefully didn't break
1754        anything else.
1755
17562006-12-09 09:36  gb
1757
1758        * compiler/X86/x862.lisp: In aset2/aset3, ensure that the (final,
1759        1d) index register is set - even if the index is a constant - if we
1760        think that the store needs EGC memoization.
1761       
1762        (Note that the test case that exposed this involved storing
1763        SINGLE-FLOATs, which don't need EGC write-barrier handling on
1764        64-bit platforms.)
1765       
1766        In aref2, don't worry about reserving unscaled index registers when
1767        targeting the 1d index; the unscaled index registers aren't live
1768        after, could be NULL if the index is a constant, and any overlap
1769        between one of them and the 1d index should be handled in the
1770        vinsn(s).
1771
17722006-12-09 09:30  gb
1773
1774        * level-1/l1-typesys.lisp: Ensure that the (relatively new)
1775        built-in-classes SIMPLE-FIXNUM-VECTOR and FIXNUM-VECTOR have
1776        class-translations.
1777
17782006-12-09 09:27  gb
1779
1780        * level-1/l1-aprims.lisp: In list case of ELT: who says that value
1781        returned by NTHCDR is a LIST ? (It's not necessarily a list, so
1782        don't segfault taking its CAR without checking.)
1783
17842006-12-06 18:48  gb
1785
1786        * level-0/X86/x86-float.lisp: x86-64 version of
1787        SFLOAT-SIGNIFICAND-ZEROS: count zero bits in the shifted float, not
1788        in %imm1 (which is undefined here ...)
1789
17902006-12-06 17:05  gb
1791
1792        * compiler/nx0.lisp: DEFINE-COMPILER-MACRO: if a SETF name, use the
1793        right symbol for the named block.
1794       
1795        COMPILER-MACRO-FUNCTION, (SETF COMPILER-MACRO-FUNCTION): deal with
1796        (SETF NAME).
1797
17982006-12-05 22:44  gb
1799
1800        * release-notes.txt: Update for 061205.
1801
18022006-12-05 20:31  gb
1803
1804        * lisp-kernel/darwinppc64/Makefile: Change LDFLAGS, to keep ld64
1805        from putting a linkedit segment in the wrong place and making
1806        32-bit memory unmappable.
1807
18082006-12-05 20:30  gb
1809
1810        * level-1/version.lisp: Bump.
1811
18122006-12-05 20:29  gb
1813
1814        * lisp-kernel/pmcl-kernel.c: Use _exit(), just in case.
1815
18162006-12-05 18:53  gb
1817
1818        * level-1/l1-reader.lisp: *ALTERNATE-LINE-TERMINATOR* set to
1819        #\Return on #+darwin-target, not just #+darwinppc-target. Change
1820        doc string for *ALTERNATE-LINE-TERMINATOR*.
1821
18222006-12-04 15:13  gb
1823
1824        * level-1/version.lisp: Append a patchlevel to the version string,
1825        at least until new tarballs can be built.
1826
18272006-12-04 15:12  gb
1828
1829        * level-1/l1-streams.lisp: If stream element type upgrades to
1830        FIXNUM, upgrade it further (to largest supported SIGNED-BYTE
1831        element-type.)
1832
18332006-12-04 13:02  gb
1834
1835        * level-0/l0-bignum32.lisp: BIGNUM-BIGNUM-GCD (whatever it's
1836        called): don't bother to shift by 0 bits.  Do shift the initial U
1837        if non-zero trailing 0 BITS (was testing for non-zero trailing
1838        DIGITS.)
1839
18402006-12-04 12:52  gb
1841
1842        * level-1/l1-streams.lisp: Choke earlier on unsupported stream
1843        element-types; do some upgrading to support some more element types
1844        (BIT -> (UNSIGNED-BYTE 8)).
1845       
1846        Maybe support arbitrarily large integer types someday soon.  Maybe
1847        not.
1848
18492006-12-04 12:48  gb
1850
1851        * level-1/l1-clos-boot.lisp: Make built-in classes for istruct
1852        types (compiler stuff, mostly).
1853
18542006-12-04 12:46  gb
1855
1856        * level-0/X86/X8664/x8664-bignum.lisp: Ensure that %ASHL handles
1857        shift count of 32 (and returns 0 in that case.)
1858
18592006-12-04 12:46  gb
1860
1861        * level-0/l0-bignum64.lisp: In BIGNUM-SHIFT-RIGHT-LOOP-1, use
1862        %ASHL, not %ILSL.  (Don't want nonsense in the high 32 bits, just
1863        in case.)
1864
18652006-12-04 12:43  gb
1866
1867        * level-0/l0-numbers.lisp: Bugs in GCD-2.  Long-standing bugs in
1868        GCD-2 ...
1869
18702006-12-04 09:26  gb
1871
1872        * level-1/l1-streams.lisp: STREAM-CLEAR-INPUT: don't inherit method
1873        for STRING-INPUT-STREAMs.
1874
18752006-12-04 09:24  gb
1876
1877        * level-0/l0-bignum64.lisp: BIGNUM-SHIFT-RIGHT-1: handle shift by 0
1878        bits.  BIGNUM-BIGNUM-GCD (whatever it's called): don't bother to
1879        shift by 0 bits.
1880
18812006-12-04 09:21  gb
1882
1883        * level-1/ppc-trap-support.lisp: Reset error-reentry count before
1884        doing %SLOT-UNBOUND-TRAP.
1885
18862006-12-04 09:21  gb
1887
1888        * level-1/l1-streams.lisp: Default STREAM-POSITION method for
1889        STREAMs, returns NIL.  STREAM-POSITION method for
1890        STRING-INPUT-STREAMs.
1891
18922006-12-04 09:19  gb
1893
1894        * level-1/l1-pathnames.lisp: Derive ccl-directory from pathname
1895        containing heap image.
1896
18972006-12-03 07:41  gb
1898
1899        * level-1/l1-streams.lisp: FORCE-OUTPUT, FINISH-OUTPUT on
1900        STRING-OUTPUT-STREAMs are no-ops.
1901       
1902        Need an ioblock-based character-read-vector function for
1903        string-input-streams.
1904
19052006-12-03 07:37  gb
1906
1907        * lib/describe.lisp: Minimal DESCRIBE support for
1908        CCL::BASIC-STREAM.
1909
19102006-12-03 07:36  gb
1911
1912        * lib/macros.lisp: If :element-type is supplied in
1913        WITH-OUTPUT-TO-STRING, don't quote it.
1914
19152006-12-03 05:11  gb
1916
1917        * level-1/x86-trap-support.lisp: Define RIP-REGISTER-OFFSET, which
1918        isn't necessarily 16.
1919
19202006-12-03 05:10  gb
1921
1922        * level-1/x86-error-signal.lisp: Use RIP-REGISTER-OFFSET, which
1923        isn't necessarily 16.
1924       
1925        Use WITH-ERROR-REENTRY-DETECTION n %xerr-disp; dtrt for
1926        %slot-unbound-trap.
1927
19282006-12-03 05:09  gb
1929
1930        * level-1/l1-streams.lisp: Tweak stream hierarchy a little, to
1931        avoid some NO-NEXT-METHODs.
1932
19332006-12-03 02:42  gb
1934
1935        * compiler/nx1.lisp: Handle VALUES type specifiers in THE forms a
1936        bit better.
1937
19382006-12-03 02:41  gb
1939
1940        * compiler/nx0.lisp: Handle VALUES type specifiers in THE forms a
1941        bit.
1942
19432006-12-03 02:28  gb
1944
1945        * lisp-kernel/x86-spentry64.s: Do vector bounds checking by
1946        clearing the low byte of the header, shifting it right, and
1947        comparing the index to that.  (It's not reliable to shift the index
1948        left.)
1949
19502006-12-03 02:26  gb
1951
1952        * level-1/l1-unicode.lisp: Memory/vector encode functions: don't
1953        write BOM, leave that up to higher-level code.
1954       
1955        Start to write some higher-level code.
1956
19572006-12-03 02:23  gb
1958
1959        * level-1/l1-sysio.lisp: Fix some indentation.
1960
19612006-12-03 02:21  gb
1962
1963        * compiler/X86/X8664/x8664-vinsns.lisp: CHECK-MISC-BOUNDS: shift
1964        the header word right (after clearing its low byte) and compare the
1965        index to that.  (Shifting the index left - d'oh - obviously fails
1966        for indices of large magnitude.)
1967
19682006-11-29 21:07  gb
1969
1970        * lib/db-io.lisp: Indentation change.
1971       
1972        Add CDB-ENUMERATE-KEYS.
1973
19742006-11-29 18:37  gb
1975
1976        * lib/level-2.lisp: %DESTRUCTURE-LAMBDA-LIST: other callers of
1977        VERIFY-LAMBDA-LIST (hopefully) check to see if the alleged list is
1978        LISTP first.  (I hope ...).  Do so.
1979
19802006-11-28 18:42  gb
1981
1982        * lisp-kernel/x86-spentry64.s: Wrong register typo in .SPaset2.
1983
19842006-11-28 16:14  gb
1985
1986        * examples/cocoa-window.lisp: DEFAULT-FONT: retain the font.
1987
19882006-11-28 16:12  gb
1989
1990        * examples/objc-runtime.lisp: Wrap a (primitive)
1991        WITH-AUTORELEASE-POOL around the code which detaches the dummy
1992        NSThread.
1993
19942006-11-28 16:09  gb
1995
1996        * examples/cocoa-listener.lisp: Don't claim that a callback
1997        parameter is ignored; use IGNORABLE instead.
1998
19992006-11-21 01:28  gb
2000
2001        * level-1/l1-sockets.lisp: Typo in PATH-FROM-UNIX-ADDRESS
2002        conditionalization.
2003
20042006-11-21 00:55  gb
2005
2006        * level-1/l1-sockets.lisp: INIT-UNIX-SOCKADDR: don't use
2007        %COPY-IVECTOR-TO-PTR to copy string to foreign memory.
2008       
2009        Basic file-socket streams.
2010
20112006-11-10 05:08  gb
2012
2013        * release-notes.txt: Update.
2014
20152006-11-10 04:28  gb
2016
2017        * lisp-kernel/image.h: Bump min image version.
2018
20192006-11-10 04:19  gb
2020
2021        * xdump/heap-image.lisp: bump current image version.
2022
20232006-11-10 04:19  gb
2024
2025        * lisp-kernel/image.h: bump current, max image version.
2026
20272006-11-10 04:10  gb
2028
2029        * xdump/faslenv.lisp: Bump min fasl version.
2030
20312006-11-10 03:56  gb
2032
2033        * lib/nfcomp.lisp: bump current fasl version.
2034
20352006-11-10 03:47  gb
2036
2037        * lisp-kernel/x86-exceptions.c: save_application: use #__exit, not
2038        #_exit
2039
20402006-11-10 03:46  gb
2041
2042        * compiler/X86/x862.lisp: TYPE typo.
2043
20442006-11-10 03:32  gb
2045
2046        * xdump/faslenv.lisp: Bump max fasl version.
2047
20482006-11-10 03:25  gb
2049
2050        * level-1/version.lisp: Bump.  New snapshots today!
2051
20522006-11-09 16:26  gb
2053
2054        * level-1/l1-readloop.lisp: QUIT uses #__quit.
2055       
2056        PREPARE-TO-QUIT kill stragglers without waiting as long.
2057
20582006-11-09 15:50  gb
2059
2060        * lisp-kernel/pmcl-kernel.c: Use #_ _exit for fatal termination.
2061       
2062        Try to run lisp code after #_exit via lazarus(); this is for some
2063        cases of SAVE-APPLICATION (e.g., in the Cocoa GUI).
2064       
2065        The environment in which The Undead code runs is a little funky,
2066        especially on PPC.  There might be GC implications (cstack will
2067        contain call history as of the point when #_exit called atexit
2068        handlers, vstack & tstack are emptied in lazarus()).  We should
2069        barely run any code in this environment, but we will GC a time or
2070        two ...
2071
20722006-11-09 15:45  gb
2073
2074        * lisp-kernel/ppc-exceptions.c: Use _exit afer save-application.
2075
20762006-11-09 15:43  gb
2077
2078        * examples/: cocoa-window.lisp, cocoa.lisp: Change the quit
2079        protocol.
2080
20812006-11-09 15:42  gb
2082
2083        * examples/cocoa-listener.lisp: :set-document-edited for listener
2084        "documents" is a no-op.
2085
20862006-11-09 15:39  gb
2087
2088        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
2089        PPC64/ppc64-vinsns.lisp: 3d-array accessor stuff for PPC as well.
2090
20912006-11-09 12:50  gb
2092
2093        * compiler/X86/x862.lisp: Always check that array-ctype's
2094        dimensions are a list before taking their length.
2095
20962006-11-09 12:13  gb
2097
2098        * compiler/X86/X8664/x8664-vinsns.lisp: 3d-unscaled-index does the
2099        right thing ...
2100
21012006-11-09 10:08  gb
2102
2103        * compiler/: nx1.lisp, X86/x862.lisp, X86/X8664/x8664-vinsns.lisp:
2104        Three-arg aref/(setf aref) for x8664.
2105
21062006-11-09 05:37  gb
2107
2108        * compiler/nx0.lisp: Map array-type keywords to 3d-array type
2109        errors.
2110
21112006-11-09 05:37  gb
2112
2113        * compiler/nxenv.lisp: Operators for 3d array access.
2114
21152006-11-09 05:36  gb
2116
2117        * compiler/arch.lisp, level-1/l1-error-system.lisp,
2118        lisp-kernel/errors.s, lisp-kernel/lisp-errors.h: Type-errors for 3d
2119        array types.
2120
21212006-11-08 12:50  gb
2122
2123        * level-1/x86-trap-support.lisp: In darwin Fake Structures For
2124        Leopard nonsense: define the stack context struct separately, make
2125        the ucontext stack field an instance of it.  (Not -sure- if that
2126        was necessary, but :poweropen-target was accidentally on *FEATURES*
2127        and foreign struct layout was using read-time condtionalization to
2128        decide whether or not to use brain-dead structure-alignment rules
2129        leftover from AIX/PowerOpen.
2130
21312006-11-08 12:46  gb
2132
2133        * lisp-kernel/x86-spentry64.s: Fix comment ("/*", not "/%" ...).
2134
21352006-11-08 12:40  gb
2136
2137        * compiler/optimizers.lisp: Try to infer/insert the array type when
2138        compiler-macroexpanding MAKE-ARRAY calls.
2139
21402006-11-08 12:39  gb
2141
2142        * compiler/PPC/PPC32/ppc32-backend.lisp: DarwinPPC32 FTD follows
2143        :poweropen-alignment rules.
2144
21452006-11-08 12:38  gb
2146
2147        * lib/foreign-types.lisp: parse-foreign-record-fields: conformance
2148        to poweropen structure layout rules should be an attribute of the
2149        FTD, not done via read-time conditionalization.
2150
21512006-11-08 05:15  gb
2152
2153        * level-1/version.lisp: Bump.
2154
21552006-11-08 05:15  gb
2156
2157        * level-1/l1-streams.lisp: Some bivalent/binary fixes.
2158       
2159        TODO: get rid of "bivalent" streams, but allow switching some
2160        streams (sockets) between "character mode" and "binary mode".
2161
21622006-11-08 02:39  gb
2163
2164        * compiler/PPC/ppc2.lisp: Typo in misc-ref-u64 vinsn emit.
2165
21662006-11-07 21:10  gb
2167
2168        * compiler/optimizers.lisp: Transform three-argument AREF->%AREF3,
2169        ASET->%ASET3.
2170
21712006-11-07 20:40  gb
2172
2173        * compiler/X86/x862.lisp: Implement %aset2 in the x8664 backend.
2174
21752006-11-07 20:39  gb
2176
2177        * level-0/X86/x86-array.lisp: %aref3, %aset3.
2178
21792006-11-07 20:38  gb
2180
2181        * level-0/l0-array.lisp: Use %aref2,%aref3.
2182
21832006-11-07 20:37  gb
2184
2185        * compiler/X86/X8664/x8664-vinsns.lisp: More (often redundant)
2186        vector-store vinsns.
2187
21882006-11-07 20:37  gb
2189
2190        * compiler/X86/X8664/x8664-arch.lisp: .SParef3, .SPaset3.
2191
21922006-11-07 10:28  gb
2193
2194        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s: .SParef3,
2195        .SPaset3.
2196
21972006-11-07 10:27  gb
2198
2199        * level-0/PPC/ppc-array.lisp: %ref3, %aset3.
2200
22012006-11-07 10:26  gb
2202
2203        * lisp-kernel/ppc-spentry.s, lisp-kernel/ppc-spjump.s,
2204        compiler/PPC/ppc-arch.lisp: .SPref3, .SPaset3.
2205
22062006-11-07 10:26  gb
2207
2208        * lisp-kernel/ppc-macros.s: Define mullr, which expands into one of
2209        mullw/mulld.
2210
22112006-11-07 04:12  gb
2212
2213        * compiler/PPC/ppc2.lisp: :signed-64-bit-vector is signed ...
2214
22152006-11-06 22:07  gb
2216
2217        * compiler/nx0.lisp: nx-error-for-simple-2d-array-type: forgot the
2218        :fixnum-vector case.
2219
22202006-11-06 22:04  gb
2221
2222        * compiler/PPC/ppc2.lisp: Handle vector assignment differently;
2223        handle (setf (aref ...)) of simple 2d-arrays inline if the type is
2224        known/declared.
2225
22262006-11-06 22:02  gb
2227
2228        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
2229        Add vinsns for misc-set-s* and variants. (Identical to the unsigned
2230        versions, but it helps not to have to remember which are
2231        implemented and which aren't.)
2232
22332006-11-06 22:01  gb
2234
2235        * compiler/nxenv.lisp: general-aset2, simple-typed-aset2.
2236
22372006-11-06 22:00  gb
2238
2239        * compiler/nx1.lisp: New %ASET2 handling.
2240
22412006-11-06 21:59  gb
2242
2243        * compiler/nx0.lisp: ACODE-FORM-TYPE: use var-inittype if var is
2244        never assigned to.
2245
22462006-11-05 22:09  gb
2247
2248        * level-1/x86-trap-support.lisp: Try to work around
2249        incompatibilites in Tiger/Leopard headers.
2250
22512006-11-05 22:08  gb
2252
2253        * level-1/l1-sockets.lisp: LOOKUP-PORT: use the macro HTONS, since
2254        the foreign function may not exist.
2255
22562006-11-05 20:41  gb
2257
2258        * compiler/X86/x862.lisp: 2d array error lookup -> nx.
2259
22602006-11-05 07:55  gb
2261
2262        * level-0/X86/x86-misc.lisp: %VALID-REMAINING-TIMESPEC-TIME-P for
2263        x86-64, as well.
2264
22652006-11-05 07:52  gb
2266
2267        * level-0/X86/x86-array.lisp: %AREF2, %ASET2 in x8664 lap.
2268
22692006-11-05 07:50  gb
2270
2271        * lisp-kernel/x86-spentry64.s: pre-add displacement in .SParef2,
2272        .SPaset2.
2273
22742006-11-05 07:48  gb
2275
2276        * lisp-kernel/ppc-spentry.s: .SParef2, .SPaset2: since we aren't
2277        testing simple-array-ness, add the (possibly 0) displacement from
2278        the header before handling the simple aref of the data vector.
2279
22802006-11-05 07:47  gb
2281
2282        * lib/foreign-types.lisp: PRINT-OBJECT method for EEPS: handle
2283        pointers on PPC(64), print 64-bit addresses on 64-bit platforms.
2284
22852006-11-05 07:46  gb
2286
2287        * level-1/version.lisp: Bump; new binaries soon.
2288
22892006-11-05 07:46  gb
2290
2291        * level-1/l1-lisp-threads.lisp: %NANOSLEEP calls
2292        %VALID-REMAINING-TIMESPEC-TIME-P, which is better than sleeping for
2293        4G seconds after an EINTR on Leopard.
2294
22952006-11-05 07:44  gb
2296
2297        * level-0/PPC/PPC64/ppc64-bignum.lisp: MACPTR->FIXNUM returns NIL
2298        if any non-fixnum bits would be set in the result.  (Should
2299        probably make this true on all platforms; for PPC64, it's important
2300        for foreign function addresses that're ... suboptimally aligned.)
2301
23022006-11-05 07:42  gb
2303
2304        * level-0/PPC/ppc-misc.lisp: Try to detect the case where
2305        %NANOSLEEP's second (by reference) argument contains garbage after
2306        an EINTR.  (The L word, again.)
2307
23082006-11-05 07:41  gb
2309
2310        * level-0/PPC/ppc-array.lisp: %AREF2, %ASET2: in LAP, just call
2311        into the kernel.
2312
23132006-11-05 07:40  gb
2314
2315        * level-0/l0-cfm-support.lisp: Some platforms (the L-word) generate
2316        ppc64 functions whose addresses are not 0 mod 8, so (a) make
2317        MACPTR->FIXNUM return NIL if an address isn't representable as a
2318        fixnum and (b) make FOREIGN-SYMBOL-ENTRY return an address if it
2319        can't return a fixnum on PPC (really just affects PPC64.)
2320
23212006-11-05 07:37  gb
2322
2323        * level-0/l0-array.lisp: %aref2, %aset2: call into kernel.
2324
23252006-11-05 07:36  gb
2326
2327        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
2328        2d aref support/changes.
2329
23302006-11-05 07:36  gb
2331
2332        * compiler/PPC/ppc2.lisp: Get the PPC2 backend caught up with the
2333        x8664 wrt 2d aref.  Stll a ways to go.
2334
23352006-11-05 07:35  gb
2336
2337        * compiler/nx0.lisp: NX-ERROR-FOR-SIMPLE-2D-ARRAY-TYPE.
2338
23392006-11-04 00:05  gb
2340
2341        * level-1/version.lisp: Bump.
2342
23432006-11-03 23:10  gb
2344
2345        * level-1/ppc-error-signal.lisp: fix parens.
2346
23472006-11-03 23:09  gb
2348
2349        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: arch
2350        gvector types contains :struct, not :structure.
2351
23522006-11-03 23:08  gb
2353
2354        * compiler/PPC/ppc2.lisp: aref2: new operator name(s), always call
2355        subprim.
2356       
2357        ppc2-fixed-call-builtin: (tail-)call subprims even if they aren't
2358        in the builtin functions table.
2359
23602006-11-03 15:19  gb
2361
2362        * compiler/PPC/ppc-arch.lisp: New .SParef2, .SPaset2 subprims.
2363
23642006-11-03 15:18  gb
2365
2366        * compiler/PPC/ppc-asm.lisp: Comments/indentation.
2367
23682006-11-03 15:17  gb
2369
2370        * level-1/ppc-error-signal.lisp: Change decoding/handlng of
2371        type-error UUOs.
2372
23732006-11-03 15:16  gb
2374
2375        * lisp-kernel/: ppc-spentry.s, ppc-spjump.s: .SParef2, .SPaset2.
2376
23772006-11-03 15:16  gb
2378
2379        * lisp-kernel/: ppc-constants32.s, ppc-constants64.s: Define arrayH
2380        (array-header) layout.
2381
23822006-11-03 13:46  gb
2383
2384        * level-1/l1-clos-boot.lisp: CANONICALIZE-SPECIALIZERS optionally
2385        returns its argument if all members are SPECIALIZERS.
2386       
2387        Use CANONICALIZE-SPECIALIZERS to canonicalize FIND-METHOD
2388        arguments, for the benefit of people who haven't read the MOP spec
2389        or who don't realize that the MOP defines some things differently
2390        from CLHS.
2391
23922006-11-03 13:38  gb
2393
2394        * compiler/X86/x862.lisp: Consistently use :struct (not :structure)
2395        to refer to primitive structure type.
2396       
2397        Fix array-ctype-dimensions check in %aref1, add it to %aset1.
2398
23992006-11-03 13:37  gb
2400
2401        * compiler/X86/X8664/x8664-arch.lisp: Ensure that :STRUCT (not
2402        :STRUCTURE) is on target-gvector-types.
2403
24042006-11-03 12:53  gb
2405
2406        * lisp-kernel/x86-uuo.s: uuo_error_array_bounds, such as it is.
2407
24082006-11-03 12:52  gb
2409
2410        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s: SParef2, .SPaset2.
2411         More to come ...
2412
24132006-11-03 12:52  gb
2414
2415        * lisp-kernel/x86-constants64.s: Define array-header layout.
2416
24172006-11-03 12:51  gb
2418
2419        * lisp-kernel/: errors.s, lisp-errors.h: New type-error uuo
2420        encodings, new type-error constants.
2421
24222006-11-03 12:50  gb
2423
2424        * level-1/x86-error-signal.lisp: New range/encoding of type-error
2425        traps.
2426
24272006-11-03 12:49  gb
2428
2429        * level-1/l1-utils.lisp: (temporary) mechanism to avoid
2430        constant-redefinition CERRORs.
2431
24322006-11-03 12:48  gb
2433
2434        * level-1/l1-error-system.lisp: New %type-error-typespecs%.
2435
24362006-11-03 12:47  gb
2437
2438        * level-0/l0-pred.lisp: array--header -> array-header.
2439
24402006-11-03 12:47  gb
2441
2442        * compiler/X86/X8664/x8664-vinsns.lisp: Fix misc-set-c-u64 braino;
2443        add/change some 2d array stuff.
2444
24452006-11-03 12:43  gb
2446
2447        * compiler/X86/X8664/x8664-arch.lisp: Define .SParef2/.SPaset2
2448        subprims; seem to be much (>5x) faster than the lisp/lap versions
2449        (though we can generally be faster still when we know the
2450        element-type and/or know whether the array is simple or explicitly
2451        displaced.)
2452
24532006-11-03 12:41  gb
2454
2455        * compiler/X86/x862.lisp: Change handling of 2d-aref; lots of
2456        related changes.
2457       
2458        Split the code which handles bounds/type-checking in vref out from
2459        the code which actually does the reference, so that the latter can
2460        be used in multidimensional cases.
2461       
2462        Need to do this on PPC as well; need to do more (%aset2, 3d cases,
2463        general case.)
2464
24652006-11-03 12:38  gb
2466
2467        * compiler/nx1.lisp: Change handling of 2d-aref.
2468
24692006-11-03 12:37  gb
2470
2471        * compiler/nxenv.lisp: aref2 -> simple-typed-aref2, add
2472        general-aref2.  More changes to come (and this may affect
2473        compilation on PPC until some PPC compiler changes are
2474        made/checked-in.)
2475
24762006-11-03 12:35  gb
2477
2478        * compiler/arch.lisp: type-errors (as encoded in UUOs) are now in
2479        the range 128-255, rather than 64-127; more are defined.
2480
24812006-11-02 09:43  gb
2482
2483        * level-1/l1-error-system.lisp: Move along, nothing to see here.
2484
24852006-11-02 09:37  gb
2486
2487        * compiler/arch.lisp: New error constants; work in progress ...
2488
24892006-11-01 11:40  gb
2490
2491        * lisp-kernel/errors.s: Some new constants; more to check in later.
2492
24932006-10-31 03:39  gb
2494
2495        * level-0/l0-io.lisp: You must be reading the OLD rule book
2496        (Leopard and #$EINTR).
2497
24982006-10-31 03:21  gb
2499
2500        * lisp-kernel/ppc-exceptions.c: handle_protection_violation: pass
2501        the tcr.  Initialize "addr" before testing it ...
2502
25032006-10-31 03:21  gb
2504
2505        * lisp-kernel/lisp-exceptions.h: handle_protection_violation: pass
2506        the tcr.
2507
25082006-10-30 20:40  gb
2509
2510        * lib/defstruct.lisp: DEFSTRUCT-REF-TRANSFORM for typed vector
2511        expands into something more useful.
2512
25132006-10-30 20:39  gb
2514
2515        * lisp-kernel/ppc-spentry.s: Fix ppc32
2516        misc_ref_double_float_vector.
2517
25182006-10-30 00:24  gb
2519
2520        * level-0/l0-bignum64.lisp: Enable the destructive version of
2521        %BIGNUM-BIGNUM-GCD; conditionalize it for 64-bit targets and
2522        provide/fix supporting functions.  Seems to work on ppc64; needs
2523        testing on x8664.
2524
25252006-10-27 17:49  gb
2526
2527        * darwin-x86-headers64/libc/C/: .cvsignore, populate.sh: New file.
2528
25292006-10-25 20:36  gb
2530
2531        * level-1/l1-streams.lisp: %BIVALENT-IOBLOCK-READ-U8-BYTE (and
2532        variants): always clear the untyi-char.
2533       
2534        %ENCODED-IOBLOCK-PEEK-CHAR: the read-char-when-locked function
2535        needs an argument.
2536       
2537        SETUP-IOBLOCK-OUTPUT: there are no special output functions for
2538        bivalent streams.
2539       
2540        %IOBLOCK-BINARY-READ-VECTOR: clear any untyi char.
2541
25422006-10-24 12:35  gb
2543
2544        * level-1/version.lisp: Bump.
2545
25462006-10-24 01:29  gb
2547
2548        * lisp-kernel/x86-spentry64.s: Fix :ALLOW-OTHER-KEYS check in
2549        _SPdestbind1 (still used in inlining, sometimes.)
2550
25512006-10-24 01:05  gb
2552
2553        * release-notes.txt: Change the date, add/change some content.
2554
25552006-10-24 01:05  gb
2556
2557        * lib/macros.lisp: Reference the (bound) STREAM-VAR argument - not
2558        STREAM - in the expansion of WITH-OUTPUT-TO-STRING.
2559
25602006-10-24 00:56  gb
2561
2562        * lib/ccl-export-syms.lisp: Reference the (bound) STREAM-VAR
2563        argument - not STREAM - in the expansion of WITH-OUTPUT-TO-STRING.
2564
25652006-10-24 00:55  gb
2566
2567        * level-1/l1-streams.lisp: When recycling
2568        string-output-stream-ioblocks, set the IOBLOCK-CHARPOS to 0.
2569        (Failure to do this can screw up the pretty-printer, among other
2570        things.)
2571
25722006-10-24 00:52  gb
2573
2574        * level-1/l1-sockets.lisp: DEFAULT-CHARACTER-ENCODING for :SOCKET,
2575        *DEFAULT-SOCKET-CHARACTER-ENCODING*.
2576
25772006-10-23 17:03  gb
2578
2579        * release-notes.txt: Updated; almost ready to go (still a
2580        WITH-OUTPUT-TO-STRING/PPRINT (?) bug).
2581
25822006-10-23 16:43  gb
2583
2584        * level-1/l1-sysio.lisp: NORMALIZE-EXTERNAL-FORMAT: use
2585        *DEFAULT-EXTERNAL-FORMAT* value for :DEFAULT.
2586
25872006-10-23 16:42  gb
2588
2589        * level-1/l1-streams.lisp: Use NORMALIZE-EXTERNAL-FORMAT in (SETF
2590        STREAM-EXTERNAL-FORMAT) methods.
2591
25922006-10-23 16:41  gb
2593
2594        * lib/ccl-export-syms.lisp: Export some unicode/external-format
2595        stuff.
2596
25972006-10-23 08:27  gb
2598
2599        * level-1/version.lisp: Bump; binaries today, honest.
2600
26012006-10-23 08:27  gb
2602
2603        * level-1/l1-streams.lisp: freelist string-output-stream-ioblocks.
2604
26052006-10-23 08:26  gb
2606
2607        * lib/macros.lisp: Some/most/all of the WITH-IOBLOCK-OUTPUT-LOCKED
2608        macros were checking for the presence of an input lock ...
2609
26102006-10-23 05:40  gb
2611
2612        * level-1/l1-streams.lisp: Optimize write-string on string streams
2613        a little.
2614
26152006-10-23 05:26  gb
2616
2617        * lib/macros.lisp: WITH-OUTPUT-TO-STRING: don't expand into code
2618        which evaluates the string form twice; don't do whatever was being
2619        done to default the element type of the string stream.
2620
26212006-10-23 05:24  gb
2622
2623        * compiler/optimizers.lisp: MAKE-STRING-OUTPUT-STREAM: skip some
2624        keyword/subtype checking if element-type not provided.  (Could also
2625        skip it if it's explicit and obviously OK.)
2626
26272006-10-23 05:22  gb
2628
2629        * level-0/X86/x86-misc.lisp: %HEAP-BYTES-ALLOCATED: don't add
2630        "current" allocation if nothing's reserved.
2631
26322006-10-23 05:19  gb
2633
2634        * lisp-kernel/x86-exceptions.c: In handle_alloc_trap(), fix call to
2635        update_bytes_allocated (sign of "disp").
2636
26372006-10-22 08:02  gb
2638
2639        * compiler/PPC/ppc2.lisp: MULTIPLE-VALUE-PROG1: treat the first
2640        form like a PROGN if there are no other forms.
2641
26422006-10-22 08:01  gb
2643
2644        * level-1/l1-streams.lisp: Don't disable interrupts when calling
2645        ioblock functions.
2646       
2647        New string-stream implementation.  Better ...
2648
26492006-10-22 07:59  gb
2650
2651        * lib/macros.lisp: If WITH-OUTPUT-TO-STRING gets the string, do so
2652        before the stream closes.
2653
26542006-10-22 07:59  gb
2655
2656        * lib/pprint.lisp: Don't assume that string output stream strings
2657        have a fill-pointer; use STREAM-POSITION instead.
2658
26592006-10-22 07:57  gb
2660
2661        * lib/streams.lisp: Don't disable interrupts when calling ioblock
2662        functions, after all.
2663       
2664        Go through (new) ioblock-unread-char-function.
2665
26662006-10-22 07:55  gb
2667
2668        * lisp-kernel/darwinppc/.gdbinit: Stop trying to print strings via
2669        x/s
2670
26712006-10-21 18:46  gb
2672
2673        * level-1/l1-streams.lisp: Typo.
2674
26752006-10-21 18:41  gb
2676
2677        * lisp-kernel/x86-exceptions.c: Initialize (zero, usually) more
2678        fields in pseudo sigcontexts.
2679
26802006-10-21 18:40  gb
2681
2682        * level-1/l1-streams.lisp: Mostly locking changes (don't lock
2683        twice, etc.)
2684
26852006-10-21 18:35  gb
2686
2687        * level-0/l0-array.lisp, level-0/l0-init.lisp,
2688        level-0/l0-pred.lisp, level-0/l0-utils.lisp,
2689        level-0/PPC/ppc-array.lisp, level-0/PPC/ppc-symbol.lisp,
2690        level-0/X86/x86-symbol.lisp, level-1/l1-aprims.lisp,
2691        lib/sequences.lisp: Remove vestival #+target-8-bit-chars stuff.
2692
26932006-10-21 16:45  gb
2694
2695        * level-1/l1-unicode.lisp: New! Improved! Now with more iso-8859
2696        encodings!
2697
26982006-10-19 13:48  gb
2699
2700        * level-0/PPC/ppc-misc.lisp: Reference the source argument - not
2701        arg_z - in %safe-get-ptr.
2702
27032006-10-19 13:22  gb
2704
2705        * level-0/l0-aprims.lisp: %CSTR-POINTER: make #\Nul termination
2706        optional, use #\Sub char-code as replaement char.
2707
27082006-10-19 13:21  gb
2709
2710        * examples/objc-runtime.lisp: Missing close paren.
2711
27122006-10-19 13:19  gb
2713
2714        * examples/: cocoa-editor.lisp, cocoa-listener.lisp: Careful BLTing
2715        strings to/from foreign memory.
2716
27172006-10-19 13:18  gb
2718
2719        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Typos in UNBOX-S8.
2720
27212006-10-18 08:04  gb
2722
2723        * level-1/version.lisp: Bump.  Binaries later today ?
2724
27252006-10-18 07:38  gb
2726
2727        * level-1/l1-clos-boot.lisp: The post-bootstrapping version of
2728        (SETF FIND-CLASS) only introduces (or removes) a type name if the
2729        class becomes (or ceases to be) a properly named class.
2730       
2731        The pre-bootstrapping version handles simpler cases of that; use
2732        ALIAS-CLASS to register some early class names as type names.
2733
27342006-10-18 07:36  gb
2735
2736        * level-1/l1-clos.lisp: (SETF CLASS-NAME) can affect the type
2737        system, since only symbols which name properly-named classes are
2738        type specifiers.  Changing the name of a class can either introduce
2739        or remove a properly-named class.
2740       
2741        Classes that have the kernel-p attribute shouldn't have their names
2742        changed casually.
2743
27442006-10-18 07:33  gb
2745
2746        * level-1/l1-sockets.lisp: Accept an :EXTERNAL-FORMAT argument to
2747        MAKE-SOCKET, pass it down to whatever function actually creates a
2748        stream socket.
2749
27502006-10-18 02:12  gb
2751
2752        * compiler/X86/x862.lisp: Allow closed-over addresses in
2753        conditional-form, NOT.
2754
27552006-10-18 01:43  gb
2756
2757        * lisp-kernel/x86-exceptions.c: handle_fault() checks for
2758        safe_ref_addres.
2759
27602006-10-18 01:43  gb
2761
2762        * level-0/X86/x86-misc.lisp: %safe-get-ptr for x8664.
2763
27642006-10-18 01:41  gb
2765
2766        * compiler/X86/X8664/x8664-vinsns.lisp: Compare stack
2767        addresses/vcells to nil.
2768
27692006-10-18 01:41  gb
2770
2771        * compiler/X86/x862.lisp: Stuff for comparing memory (stack)
2772        addresses to NIL.
2773       
2774        Mark arg_z and rcx/nargs as being in use when restoring interrupt
2775        level inline.
2776
27772006-10-18 01:39  gb
2778
2779        * compiler/X86/x86-disassemble.lisp: We've had UUO-ERROR-UNBOUND
2780        for a few months now.  The disassembler is always the last to know.
2781
27822006-10-17 19:15  gb
2783
2784        * compiler/PPC/PPC32/ppc32-arch.lisp,
2785        compiler/PPC/PPC64/ppc64-arch.lisp,
2786        compiler/X86/X8664/x8664-arch.lisp, examples/objc-runtime.lisp,
2787        level-0/l0-misc.lisp, level-0/PPC/ppc-misc.lisp,
2788        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
2789        lisp-kernel/ppc-constants64.h, lisp-kernel/ppc-constants64.s,
2790        lisp-kernel/ppc-exceptions.c, lisp-kernel/x86-constants64.h,
2791        lisp-kernel/x86-constants64.s: add safe-ref-address to tcr.
2792       
2793        Handle memory faults to safe-ref-addres on PPC (so far).
2794       
2795        Try using SAFE-GET-PTR in objc runtime (untested).
2796
27972006-10-17 17:34  gb
2798
2799        * compiler/PPC/ppc2.lisp: ppc backend %aref1/%aset1: notice array
2800        type in acode.
2801
28022006-10-17 14:02  gb
2803
2804        * level-1/l1-unicode.lisp: BOM-ENCODING.
2805
28062006-10-17 14:02  gb
2807
2808        * level-1/l1-sysio.lisp: FILE-STRING-LENGTH actually does
2809        something.
2810       
2811        Clear the pending-bom flag when seeking.
2812
28132006-10-17 14:01  gb
2814
2815        * level-1/l1-streams.lisp: (SETF STREAM-EXTERNAL-FORMAT) for
2816        ioblock-based character streams.
2817
28182006-10-17 13:45  gb
2819
2820        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: bind/unbind
2821        *interrupt-level* inline.
2822
28232006-10-17 13:44  gb
2824
2825        * compiler/X86/x86-disassemble.lisp: Act like ud2a takes a one-byte
2826        immmediate operand (xuuo).
2827
28282006-10-17 13:39  gb
2829
2830        * level-1/l1-streams.lisp, lib/streams.lisp: Disable interrupts
2831        when necessary.
2832
28332006-10-17 13:39  gb
2834
2835        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
2836        PPC64/ppc64-vinsns.lisp: bind/unbind *interrupt-level* inline.
2837
28382006-10-15 17:51  gb
2839
2840        * level-1/l1-streams.lisp: Handle 32-bit character encodings.
2841       
2842        Start to extend STREAM-EXTERNAL-FORMAT, start to make it SETFable.
2843
28442006-10-15 17:51  gb
2845
2846        * level-1/l1-unicode.lisp: utf-32/ucs-4 and variants.
2847
28482006-10-15 17:50  gb
2849
2850        * level-1/l1-sysio.lisp: EXTERNAL-FORMATs are immutable, interned.
2851
28522006-10-14 07:41  gb
2853
2854        * compiler/PPC/ppc2.lisp: Fix use of ^,<- vinsn macros inside
2855        ENSURING-NODE-TARGET.
2856       
2857        Inline the fixnum case of two-arg numeric comparisons.
2858
28592006-10-14 07:39  gb
2860
2861        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
2862        INLINE-SUB2 support.
2863
28642006-10-14 06:30  gb
2865
2866        * lib/defstruct.lisp: Don't (DECLARE (OPTIMIZE (SAFETY 3))) in
2867        generated DEFSTRUCT accessors.
2868
28692006-10-14 06:27  gb
2870
2871        * compiler/X86/x862.lisp: Fix many cases of ENSURING-NODE-TARGET.
2872       
2873        Do the fixnum case of two-argument subtraction inline.
2874       
2875        Inline the fixnum case of two-argument numeric comparisons.
2876       
2877        STRUCT-REF avoids typechecking when reckless.
2878
28792006-10-14 06:21  gb
2880
2881        * compiler/backend.lisp: It makes no sense to use the vinsn macros
2882        <- and ^ inside ENSURING-NODE-TARGET, so make it check for that.
2883
28842006-10-14 06:20  gb
2885
2886        * compiler/X86/X8664/x8664-vinsns.lisp: Do vector bounds-checking a
2887        little differently.
2888       
2889        Add xchg-registers.
2890
28912006-10-13 04:54  gb
2892
2893        * compiler/nx1.lisp: Use new NUMCMP operator.
2894
28952006-10-13 04:53  gb
2896
2897        * compiler/nx0.lisp: Change inline expansion: use optimize settings
2898        in effect at call time, not those in effect at definition time.
2899
29002006-10-13 04:50  gb
2901
2902        * level-0/l0-numbers.lisp: Change >=-2, <=-2, /=-2 to avoid
2903        inlining issues.
2904
29052006-10-13 04:30  gb
2906
2907        * compiler/nxenv.lisp: Replace unused num= with numcmp.
2908
29092006-10-12 19:46  gb
2910
2911        * lisp-kernel/pmcl-kernel.c: Terminate argument processing when
2912        "--" is seen.
2913
29142006-10-12 19:45  gb
2915
2916        * level-1/: l1-streams.lisp, l1-sysio.lisp, l1-unicode.lisp: Handle
2917        newline translation differenly (at the character I/O level, not the
2918        buffer level).
2919       
2920        All character encoding/decoding functions operate on octets, not
2921        necessarily code units.  (The stream encode/decode functions are an
2922        exception; serialization and byte ordering are handled by the
2923        stream.)
2924
29252006-10-09 16:34  gb
2926
2927        * level-1/l1-streams.lisp: Write  #\Sub's char-code if we can't
2928        encode a character in (implicit) iso-8859-1.
2929
29302006-10-09 16:33  gb
2931
2932        * level-0/l0-misc.lisp: %COPY-STRING-TO-U8: use #\Sub (ascii 26) as
2933        a replacement character.
2934
29352006-10-09 16:31  gb
2936
2937        * level-1/l1-unicode.lisp: :stream-encode/decode functions always
2938        write/read something, even if it's a replacement character of some
2939        sort.
2940
29412006-10-09 15:19  gb
2942
2943        * level-1/l1-streams.lisp: More stuff about line termination.  When
2944        will this end ?
2945
29462006-10-09 15:19  gb
2947
2948        * lib/chars.lisp: Use a hashtable to map characters to their names.
2949         (Maybe a sparse vector ?).
2950
29512006-10-09 15:18  gb
2952
2953        * level-1/l1-reader.lisp: Use a hashtable to map characters to
2954        their names.  (Maybe a sparse vector ?).
2955       
2956        Define #\Sub and #\Replacement_Character.
2957
29582006-10-08 21:17  gb
2959
2960        * level-1/l1-readloop-lds.lisp: SELECT-BACKTRACE: it's been all
2961        NEW-BACKTRACE for a while now.
2962
29632006-10-08 21:16  gb
2964
2965        * lisp-kernel/lisptypes.h: Need to #include <sys/signal.h> to keep
2966        Panther happy.
2967
29682006-10-08 20:30  gb
2969
2970        * lisp-kernel/x86_print.c: Print hex with leading #x, not #0x ...
2971
29722006-10-08 20:30  gb
2973
2974        * lib/dumplisp.lisp: Do some sanity checks on SAVE-APPLICATION
2975        pathname, before it's too late ...
2976
29772006-10-08 20:29  gb
2978
2979        * level-1/l1-unicode.lisp: ASCII, some other changes.
2980
29812006-10-08 20:29  gb
2982
2983        * level-1/l1-sysio.lisp: Rearrange a few things; pass
2984        :line-termination option to MAKE-FD-STREAM.
2985
29862006-10-08 20:28  gb
2987
2988        * level-1/l1-streams.lisp: Yet another line-termination translation
2989        scheme; hopefully, the last for a while. (More tedium before it's
2990        actually installed.)
2991
29922006-10-08 20:27  gb
2993
2994        * level-1/l1-reader.lisp: Add character names for #\Line_Separator,
2995        #\Paragraph_separator.
2996
29972006-10-07 20:35  gb
2998
2999        * level-1/l1-init.lisp: *TERMINAL-CHARACTER-ENCODING-NAME*.
3000
30012006-10-07 20:34  gb
3002
3003        * level-1/l1-error-signal.lisp: In %ERROR, go straight to the
3004        kernel debugger if interactive streams aren't initialized yet.
3005        (We'd probably get there sooner or later in that case; try to get
3006        there sooner.)
3007
30082006-10-07 20:33  gb
3009
3010        * level-1/l1-boot-2.lisp: Don't initialize interactive streams via
3011        DEF-LOAD-POINTERS.  Wrap that up in a function, and set a flag when
3012        the function's called (from APPLICATION's TOPLEVEL-FUNCTION
3013        method.)
3014
30152006-10-07 20:32  gb
3016
3017        * level-1/l1-application.lisp: Handle the (new)
3018        -K/--terminal-encoding command-line argument.
3019
30202006-10-07 11:14  gb
3021
3022        * level-1/l1-streams.lisp: INPUT-STREAM-P, OUTPUT-STREAM-P are true
3023        of instances if INPUT-STREAM/ OUTPUT-STREAM, respectively (not just
3024        instances of FUNDAMENTAL-INPUT/OUTPUT-STREAM).
3025
30262006-10-07 11:13  gb
3027
3028        * lisp-kernel/lisp-debug.c: Do abort() if kernel debugger is
3029        entered when --batch is in effect.
3030
30312006-10-07 11:12  gb
3032
3033        * level-1/l1-readloop.lisp: QUIT: flush *STDOUT* in
3034        PROCESS-EXIT-APPLICATION.
3035
30362006-10-07 11:11  gb
3037
3038        * level-1/l1-processes.lisp: PROCESS-EXIT-APPLICATION: flush
3039        *stdout* here.
3040
30412006-10-06 04:49  gb
3042
3043        * level-1/l1-streams.lisp: CODE-UNIT, not CODE-ELEMENT.  Add a
3044        TRANSLATE slot to IO-BUFFER.
3045
30462006-10-06 04:40  gb
3047
3048        * level-1/l1-sockets.lisp: basic (vs fundamental) socket streams.
3049
30502006-10-06 04:39  gb
3051
3052        * level-1/l1-sysio.lisp: Real, live EXTERNAL-FORMAT structures.
3053
30542006-10-06 04:38  gb
3055
3056        * level-1/version.lisp: Bump.
3057
30582006-10-06 04:38  gb
3059
3060        * level-0/l0-misc.lisp: %COPY-STRING-TO-U8: use #\? as a
3061        replacement character.
3062
30632006-10-05 14:46  gb
3064
3065        * lisp-kernel/lisptypes.h: More register name aliases.  FMH.
3066
30672006-10-05 14:46  gb
3068
3069        * lisp-kernel/x86-asmutils64.s: get_mxcsr, set_mxcsr.
3070
30712006-10-05 14:46  gb
3072
3073        * lisp-kernel/x86-exceptions.c: Save the mxcsr, load it with a
3074        C-like value (all exceptions masked) before doing a callback.  (Not
3075        doing this meant that tcr.foreign_mxcsr was often set to a "lispy"
3076        value, where most exceptions were unmasked, and this caused FP
3077        exceptions when calling out to foreign code with the "lispy"
3078        tcr.foreign_mxcsr in effect.)
3079       
3080        Mach exception stuff arranges to return via sigreturn.  Didn't fix
3081        the spurious SIGTRAPs, but might be the right idea (and might save
3082        a context switch or two.)
3083       
3084        Mach exception stuff initializes rflags to exception rflags when
3085        arranging to resume thread at handler.  Leaving them uninitialized
3086        was causing spurious SIGTRAPs, since the trace bit(s) may have been
3087        set.
3088
30892006-10-05 06:09  gb
3090
3091        * lib/macros.lisp: WITH-ENCODED-CSTR(s).  (Hey, it's a start.)
3092
30932006-10-05 06:09  gb
3094
3095        * lib/chars.lisp: CHAR-NAME: try to use at least 4 hex digits for
3096        #\U+xxxx syntax.
3097
30982006-10-05 06:08  gb
3099
3100        * level-1/l1-unicode.lisp: UCS-2, some other changes.
3101
31022006-10-05 06:07  gb
3103
3104        * level-1/l1-sysio.lisp: Try to get
3105        line-termination/external-format stuff working.
3106
31072006-10-05 05:35  gb
3108
3109        * level-1/l1-streams.lisp: Assume that character data is always
3110        encoded as one or more 8-bit octets.
3111
31122006-10-05 04:59  gb
3113
3114        * level-1/l1-boot-2.lisp: Set class-prototypes for basic-streams
3115        just before we make the first one.
3116
31172006-10-02 08:13  gb
3118
3119        * lisp-kernel/x86-exceptions.h: Darwin uses _sigtramp glue to call
3120        handlers, so we need to make handlers do a sigreturn after
3121        switching off the signal stack, etc.
3122
31232006-10-02 08:11  gb
3124
3125        * lisp-kernel/x86-exceptions.c: Don't use SIGRETURN to return from
3126        signal_handler() on Darwin (since we depend on pseudo_sigreturn
3127        handling for cleanup of tcr pending exception and since we can't
3128        easily restore the signal mask.)
3129       
3130        (Up until this point, SIGRETURN has been a nop on Darwin.)
3131
31322006-10-02 04:59  gb
3133
3134        * lisp-kernel/lisptypes.h: Compile on ppc,ppc64 osx 10.4 and
3135        earlier.
3136
31372006-10-02 04:47  gb
3138
3139        * lisp-kernel/: lisptypes.h, ppc-exceptions.c, ppc-exceptions.h:
3140        Compile on post OSX 10.4 systems, for ppc/ppc64.  (Broken on
3141        systems <= 10.4).
3142
31432006-10-02 02:46  gb
3144
3145        * lisp-kernel/: lisptypes.h, x86-exceptions.c, x86-exceptions.h:
3146        Try to make x86-64 version compile under 10.4 again; see if this
3147        breaks post-10.4 compilation.
3148
31492006-10-02 02:33  gb
3150
3151        * lisp-kernel/: lisptypes.h, pmcl-kernel.c, x86-exceptions.c,
3152        x86-exceptions.h: Change things so that they compile for x86-64 on
3153        systems later than 10.4.  Almost certainly break 10.4 compilation
3154        in the process.  (Thanks, Apple!  Any time I can cause you to waste
3155        hours on crap like this, just let me know!)
3156
31572006-09-27 20:33  gb
3158
3159        * lib/misc.lisp: DOCUMENTATION works on character-encodings.
3160
31612006-09-27 20:33  gb
3162
3163        * level-1/l1-unicode.lisp: Character-encodings have doc strings.
3164
31652006-09-27 05:46  gb
3166
3167        * level-1/l1-sysio.lisp: More FILE-STREAM changes.  Give
3168        BASIC-STREAM classes a class prototype.
3169
31702006-09-27 05:45  gb
3171
3172        * level-1/l1-streams.lisp: Some changes to FD-STREAM
3173        initialization, to make it easier to use MAKE-FD-STREAM to open
3174        (seekable) FILE-STREAMs.
3175
31762006-09-27 05:41  gb
3177
3178        * lisp-kernel/: x86-exceptions.c, x86-exceptions.h: Decode and
3179        handle UUO_ERROR_DEBUG_TRAP_WITH_STRING.
3180
31812006-09-27 05:39  gb
3182
3183        * lisp-kernel/x86-spentry64.s: Still get very occasional SIGFPE on
3184        return from (e.g.) #_asin on x86-64 Darwin.  (#_asin often does a
3185        division-by-zero, but that should be masked when in foreign code.)
3186        Don't reload the lisp mxcsr until other registers have been popped,
3187        to make debugging easier in case it's the act of reloading the
3188        mxcsr that causes the spurious trap.)
3189
31902006-09-27 05:36  gb
3191
3192        * level-0/X86/x86-misc.lisp: DEBUG-TRAP-WITH-STRING.
3193
31942006-09-27 05:35  gb
3195
3196        * level-0/nfasload.lisp: Not sure when it happened, but %FASLOAD
3197        was parenthesized in such a way as to not return the error value on
3198        error.
3199
32002006-09-27 05:34  gb
3201
3202        * level-0/l0-misc.lisp: On x8664, use a new UUO for BUG.  (Not
3203        passing context into the kernel makes it too difficult to debug/get
3204        backtrace, etc.)
3205
32062006-09-27 05:33  gb
3207
3208        * compiler/X86/: x86-asm.lisp, x86-disassemble.lisp:
3209        UUO-ERROR-DEBUG-TRAP-WITH-STRING.
3210
32112006-09-27 05:05  gb
3212
3213        * level-1/l1-clos-boot.lisp: CLASS-PROTOTYPE method for CLASS class
3214        (mostly for BUILT-IN-CLASSes).
3215
32162006-09-26 20:49  gb
3217
3218        * level-1/l1-sysio.lisp: SELECT-STREAM-CLASS: should probably take
3219        a BASIC-P argument.
3220
32212006-09-26 20:47  gb
3222
3223        * level-1/l1-streams.lisp: More changes.  Imagine that.
3224
32252006-09-26 20:46  gb
3226
3227        * compiler/: X86/X8664/x8664-vinsns.lisp, X86/x862.lisp,
3228        optimizers.lisp: (Redundant) FIXNUM decls in LDB compiler macro.
3229
32302006-09-26 20:43  gb
3231
3232        * level-1/l1-unicode.lisp: Memory/vector encode/decode functions
3233        take/return strings, not chars.
3234       
3235        Some bom stuff.
3236
32372006-09-24 20:14  gb
3238
3239        * lib/chars.lisp: Check for assumptions about character size.
3240        Remove some %i-isms (fixnum arithmetic), make assertions about type
3241        of char-code.
3242
32432006-09-24 20:12  gb
3244
3245        * level-1/l1-aprims.lisp: Remove unused (probably ancient)
3246        CHKBOUNDS function.  Simpler STRING-START-END.
3247
32482006-09-24 20:11  gb
3249
3250        * level-1/l1-streams.lisp: Some stuff to infer line-termination.
3251        Probably belongs elsewhere; some encodings may not make it at all
3252        possible.
3253
32542006-09-24 20:07  gb
3255
3256        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3257        Load-character-constant: accept :u32const on PPC32, PPC64, too.
3258
32592006-09-24 20:00  gb
3260
3261        * level-1/l1-streams.lisp: A little more u16 stuff.  Remove
3262        line-termination slot from ioblock and corresponding arg from
3263        functions which initialize it.
3264
32652006-09-24 19:59  gb
3266
3267        * level-1/l1-sysio.lisp: Input-filter, output-filter in
3268        file-ioblock.
3269
32702006-09-24 19:58  gb
3271
3272        * level-1/l1-unicode.lisp: Buffer translation functions don't
3273        belong here; start thinking about BOM.
3274
32752006-09-24 19:57  gb
3276
3277        * compiler/X86/X8664/x8664-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
3278        it's been a :u32const for the last few weeks ...
3279
32802006-09-24 04:29  gb
3281
3282        * lib/chars.lisp: CHAR-NAME looks in the *CHARACTER-NAMES* array if
3283        the code is within its bounds.
3284
32852006-09-24 04:27  gb
3286
3287        * level-1/l1-reader.lisp: Lots more character names.  Maintain
3288        mappings in a vector and a hash table, rather than in an alist.
3289
32902006-09-24 04:26  gb
3291
3292        * level-0/nfasload.lisp, xdump/xfasload.lisp, lib/nfcomp.lisp: Doh!
3293        character constant fasl encoding ($fasl-char).
3294
32952006-09-23 05:31  gb
3296
3297        * level-1/l1-unicode.lisp: Some other iso8859-n encodings.  (Not
3298        sure which are the most important.)
3299
33002006-09-23 05:29  gb
3301
3302        * level-1/l1-sysio.lisp: Start to separate
3303        line-termination/external-format stuff.
3304
33052006-09-23 05:28  gb
3306
3307        * level-1/l1-streams.lisp: Lots-o-changes.
3308
33092006-09-23 05:28  gb
3310
3311        * level-1/l1-boot-2.lisp: Make initial interactive streams use
3312        UTF-8 (mostly for debugging utf-8 ...)
3313
33142006-09-21 04:07  gb
3315
3316        * lisp-kernel/x86-spentry64.s: don't clobber callback index when
3317        doing the DARWIN_GS_HACK stuff in _SPcallback (syscall sometimes
3318        clobbered r11, sometimes didn't.)
3319
33202006-09-21 04:05  gb
3321
3322        * lisp-kernel/pmcl-kernel.c: Require mach/port.h.
3323
33242006-09-21 04:05  gb
3325
3326        * lisp-kernel/x86-exceptions.c: Save and restore errno in
3327        callback_for_interrupt.
3328
33292006-09-21 04:04  gb
3330
3331        * lisp-kernel/lisptypes.h: Guess again about preprocessor stuff for
3332        x86-64 ucontext/mcontext on Darwin.
3333
33342006-09-21 04:02  gb
3335
3336        * level-1/l1-lisp-threads.lisp: Use underscore prefix on all Darwin
3337        flavors.
3338       
3339        Add a type decl in %nanosleep.
3340
33412006-09-21 04:01  gb
3342
3343        * compiler/X86/X8664/x8664-vinsns.lisp: sign-extend/zero-extend
3344        vinsns.
3345
33462006-09-21 04:01  gb
3347
3348        * compiler/X86/x862.lisp: sign/zero-extend ffcall, syscall return
3349        values.  (Probably only matters in a few cases, like the Darwin
3350        x86-64 version of #_nanosleep, which returns a non-sign-extended
3351        "int" value if the sleep is interruted.)
3352
33532006-09-20 06:34  gb
3354
3355        * level-1/version.lisp: Bump.
3356
33572006-09-20 04:24  gb
3358
3359        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3360        slight improvements in signed-byte boxing, typechecking.
3361
33622006-09-20 04:22  gb
3363
3364        * lib/streams.lisp: WRITE-BYTE for BASIC-STREAMs.
3365
33662006-09-20 04:21  gb
3367
3368        * lib/macros.lisp: %SWAP-U16, %SWAP-U32.
3369
33702006-09-20 04:21  gb
3371
3372        * lib/level-2.lisp: %EVAL-REDEFs for new require-xx functions.
3373
33742006-09-20 04:20  gb
3375
3376        * level-1/l1-unicode.lisp: UTF-16, in native and byte-swapped
3377        versions.  Need a "logical" UTF-16, which deals with byte-order
3378        marks and a means of installing a concrete encoding.  Needs
3379        testing.
3380
33812006-09-20 04:15  gb
3382
3383        * level-1/l1-streams.lisp: Numerous changes.
3384
33852006-09-20 04:15  gb
3386
3387        * level-1/l1-sockets.lisp: %bswap16: fix type declaration.
3388
33892006-09-20 04:14  gb
3390
3391        * compiler/X86/X8664/x8664-vinsns.lisp: vinsns for signed/unsigned
3392        byte 8,16,32,64.  Tighten up some signed-byte boxing.
3393
33942006-09-20 04:12  gb
3395
3396        * compiler/X86/x862.lisp: New require ops for signed/unsigned byte
3397        8,16,32,64
3398
33992006-09-19 01:38  gb
3400
3401        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3402        vinsns for REQUIRE-[US][8,16,32,64]
3403
34042006-09-19 01:37  gb
3405
3406        * compiler/PPC/PPC32/ppc32-arch.lisp: Need
3407        THREE-DIGIT-BIGNUM-HEADER to recognize some cases of (UNSIGNED-BYTE
3408        64).
3409
34102006-09-19 01:36  gb
3411
3412        * compiler/PPC/ppc-backend.lisp: clean up an error message.
3413
34142006-09-19 01:36  gb
3415
3416        * compiler/PPC/ppc2.lisp: handle require-[us][8,16,32,64]
3417        operators.
3418
34192006-09-19 01:34  gb
3420
3421        * compiler/optimizers.lisp: REQUIRE-TYPE: transform into
3422        require-[us][8,16,32,64] when possible.
3423
34242006-09-19 01:34  gb
3425
3426        * compiler/nx1.lisp: inline require-[us][8,16,32,64].
3427
34282006-09-19 01:33  gb
3429
3430        * compiler/nxenv.lisp: New operators for require-[us][8,16,32,64].
3431
34322006-09-19 01:15  gb
3433
3434        * compiler/X86/X8664/x8664-vinsns.lisp: x8664 vinsns for
3435        typechecking signed/unsigned bytes of sizes 8,16,32,64.
3436
34372006-09-19 00:36  gb
3438
3439        * level-1/l1-streams.lisp: More changes; hard to bootstrap.
3440
34412006-09-18 21:42  gb
3442
3443        * lib/macros.lisp: Macros for locking the input/output locks of an
3444        ioblock, assuming that it exists.
3445
34462006-09-17 00:45  gb
3447
3448        * level-1/l1-streams.lisp: more changes
3449
34502006-09-13 06:52  gb
3451
3452        * level-1/l1-io.lisp: Direct BASIC-STREAM stuff for WRITE-CHAR,
3453        WRITE-STRING, TERPRI.
3454
34552006-09-13 06:08  gb
3456
3457        * lib/streams.lisp: READ-LINE changes for BASIC-STREAMs.
3458
34592006-09-13 06:07  gb
3460
3461        * level-1/l1-unicode.lisp: GET-CHARACTER-ENCODING errors if the
3462        named encoding isn't defined.
3463       
3464        Terse PRINT-OBJECT method for CHARACTER-ENCODING.
3465
34662006-09-13 06:06  gb
3467
3468        * level-1/l1-streams.lisp: More functions in the ioblock, some
3469        support for 8-bit encodings (like utf-8).  Not finished, but
3470        getting hard to bootstrap; need to check in and build on all
3471        platforms before it gets even harder.
3472
34732006-09-12 05:34  gb
3474
3475        * level-0/l0-misc.lisp: Use %CSTR-POINTER (not
3476        %copy-ivector-to-pointer) in BUG.
3477
34782006-09-12 05:31  gb
3479
3480        * lisp-kernel/x86-exceptions.c: Enter the debugger if
3481        altstack_signal_handler is entered in foreign code.  (Maybe want to
3482        signal a lisp error in some cases, but this is currently fatal and
3483        we might as well die earlier than with a stack overflow.)
3484
34852006-09-12 05:29  gb
3486
3487        * lisp-kernel/thread_manager.c: os_get_stack_bounds(): get stack
3488        direction right on FreeBSD.  (Much better than randomly scribbling
3489        on memory in the GC, as the FreeBSD port has been doing for months
3490        now ...)
3491
34922006-09-11 21:31  gb
3493
3494        * compiler/X86/x862.lisp: x862-explicit-non-fixnum-type-p looks for
3495        intersection.
3496
34972006-09-11 21:21  gb
3498
3499        * compiler/X86/x862.lisp: Partly inline 2-arg logior, logand.
3500
35012006-09-11 20:10  gb
3502
3503        * level-1/l1-unicode.lisp: Character encodings contain a
3504        LITERAL-CHAR-CODE-LIMIT field.
3505
35062006-09-11 20:09  gb
3507
3508        * level-1/l1-streams.lisp: extend IOBLOCK a bit.  Start to provide
3509        functionality for encoded streams.
3510
35112006-09-11 20:08  gb
3512
3513        * compiler/PPC/ppc2.lisp: Partialy inline 2-arg logior/logand.
3514
35152006-09-09 04:39  gb
3516
3517        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3518        REQUIRE-CHAR-CODE: compare against boxed char-code-limit.
3519
35202006-09-09 04:21  gb
3521
3522        * level-1/l1-reader.lisp: NAME-CHAR: insist on something more
3523        reasonable for ^c syntax; don't do MOD for octal.
3524
35252006-09-09 04:21  gb
3526
3527        * compiler/X86/X8664/x8664-vinsns.lisp: require-char-code checks
3528        agains boxed Unicode limit
3529
35302006-09-09 03:56  gb
3531
3532        * lisp-kernel/x86-gc.c: purify_range(), impurify_range(): handle
3533        x8664 functions, hash tables.  (PPC versions should handle hash
3534        table key movement.)
3535
35362006-09-08 22:47  gb
3537
3538        * lib/chars.lisp: CHAR-NAME: use U+xxxx for chars with codes >=
3539        #x100.
3540
35412006-09-08 22:38  gb
3542
3543        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3544        FIXNUM->CHAR: return NIL for surrogate pairs.
3545
35462006-09-08 22:33  gb
3547
3548        * compiler/PPC/ppc2.lisp: Don't be overly unsafe in %CHAR-CODE.
3549
35502006-09-08 22:31  gb
3551
3552        * lib/ppc-backtrace.lisp: Fix CFP-LFUN (fake stack frame case,
3553        sanity-check fn/lr).
3554
35552006-09-08 18:55  gb
3556
3557        * compiler/X86/x862.lisp: Don't be so reckless in %CODE-CHAR (don't
3558        necessarily want arbitrary expressions to be compiled unsafely; do
3559        want to avoid a little type-checking sometimes.)
3560
35612006-09-08 18:52  gb
3562
3563        * compiler/X86/X8664/x8664-vinsns.lisp: FIXNUM->CHAR returns NIL
3564        for values in the surrogate-pairs range.  (There are other things
3565        that it could plausibly return NIL for.)
3566
35672006-09-08 18:51  gb
3568
3569        * lisp-kernel/x86-gc.c: Start to get purify working on x86-64; for
3570        now, just purify strings.
3571
35722006-09-08 18:48  gb
3573
3574        * lib/macros.lisp: %CODE-CHAR asserts that code is (UNSIGNED-BYTE
3575        8), which is still useful (and exactly what it used to do.)
3576
35772006-09-08 18:47  gb
3578
3579        * lib/: compile-ccl.lisp, systems.lisp: Add l1-unicode.
3580
35812006-09-08 18:44  gb
3582
3583        * level-1/level-1.lisp: Load l1-unicode.
3584
35852006-09-08 18:44  gb
3586
3587        * level-1/l1-unicode.lisp: New file.
3588
35892006-09-07 03:50  gb
3590
3591        * lisp-kernel/area.h: Larger PURESPACE_RESERVE for x8664.
3592
35932006-09-07 03:44  gb
3594
3595        * xdump/: heap-image.lisp, xfasload.lisp, xppcfasload.lisp,
3596        xx8664-fasload.lisp: Bump abi version.  Make purespace-reserve an
3597        attribute of the backend (may need more pure space on x86-64.)
3598
35992006-09-07 03:43  gb
3600
3601        * lisp-kernel/image.h: Bump abi version.
3602
36032006-09-07 03:43  gb
3604
3605        * level-1/version.lisp: Bump.
3606
36072006-09-07 02:58  gb
3608
3609        * lisp-kernel/x86-exceptions.c: FreeBSD (at least with libthr)
3610        seems to mask synchronous signals.  Unmask them in signal handlers.
3611
36122006-09-07 02:57  gb
3613
3614        * lisp-kernel/thread_manager.c: suspend_resume_handler() : ignore
3615        signal mask.
3616
36172006-09-07 02:56  gb
3618
3619        * lisp-kernel/: lisptypes.h, ppc-constants32.h, ppc-constants32.s,
3620        ppc-constants64.h, ppc-constants64.s, ppc-gc.c, x86-constants64.h,
3621        x86-constants64.s: Lose the CHAR_SIZE_32 bootstrapping conditional
3622        (char are 32 bits wide on all platforms now.)
3623
36242006-09-07 00:40  gb
3625
3626        * lisp-kernel/x86-exceptions.c: SIGBUS might be
3627        SIGNUM_FOR_PROCESS_INTERRUPT.
3628
36292006-09-07 00:12  gb
3630
3631        * lisp-kernel/x86-spentry64.s: _SPbuiltin_aref1: use
3632        box_fixnum_no_flags.
3633
36342006-09-07 00:12  gb
3635
3636        * lisp-kernel/x86-macros.s: Define box_fixnum_no_flags (uses lea
3637        vice imul).
3638
36392006-09-06 21:18  gb
3640
3641        * compiler/X86/X8664/x8664-arch.lisp: Need
3642        MIN/MAX-8-BIT-IVECTOR-SUBTAG.
3643
36442006-09-06 18:37  gb
3645
3646        * lisp-kernel/x86-spentry64.s: misc_ref/misc_set: handle 32-bit
3647        strings.
3648
36492006-09-06 18:36  gb
3650
3651        * lisp-kernel/x86-macros.s: Zero-extend early when extracting
3652        typecodes.
3653
36542006-09-06 18:36  gb
3655
3656        * level-1/l1-streams.lisp: GET-OUTPUT-STREAM-STRING: use
3657        ENSURE-SIMPLE-STRING rather than horrible COERCE nonsense.
3658
36592006-09-06 18:35  gb
3660
3661        * level-1/l1-aprims.lisp: x8664 *immheader-1-array-element-types*
3662        contains entry for 32-bit BASE-CHAR.
3663
36642006-09-06 18:35  gb
3665
3666        * compiler/X86/X8664/x8664-vinsns.lisp: zero-extend early when
3667        extracting typecodes.
3668
36692006-09-06 18:34  gb
3670
3671        * compiler/X86/X8664/: x8664-arch.lisp, x8664-backend.lisp:
3672        32-bit-chars.
3673
36742006-09-06 18:33  gb
3675
3676        * compiler/X86/: x86-backend.lisp, x862.lisp: Defer handling of the
3677        :rcontext pseudo-register name until the target backend is in
3678        place.
3679
36802006-09-06 16:39  gb
3681
3682        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: 32-bit chars
3683        stuff for x8664.
3684
36852006-09-06 16:39  gb
3686
3687        * level-1/l1-reader.lisp: kids: bourbon and editing COPY-READTABLE
3688        don't mix!
3689
36902006-09-06 16:38  gb
3691
3692        * lib/compile-ccl.lisp: :verbose argument to rebuild-ccl.
3693
36942006-09-06 16:38  gb
3695
3696        * level-1/linux-files.lisp: process input/output: don't assume
3697        8-bit strings.
3698
36992006-09-06 14:42  gb
3700
3701        * compiler/PPC/PPC64/ppc64-backend.lisp: PPC64 callbacks are always
3702        #+poweropen-target; don't conditionalize the fp-arg-ptr argument
3703        (since that creates confustion when cross-compiling from a
3704        non-poweropen host.)
3705
37062006-09-06 00:08  gb
3707
3708        * compiler/PPC/PPC64/: ppc64-arch.lisp, ppc64-backend.lisp: remove
3709        8-bit char stuff.
3710
37112006-09-06 00:08  gb
3712
3713        * compiler/X86/X8664/x8664-arch.lisp: Forgot to set char-code-limit
3714        here.
3715
37162006-09-05 22:49  gb
3717
3718        * lib/macros.lisp: In DO-GC-AREAS, don't use comma before call to
3719        AREA-SUCC.  (Cross-compilation/ word-size issue.)
3720
37212006-09-05 22:42  gb
3722
3723        * level-0/l0-utils.lisp: If ENSURE-SIMPLE-STRING has to make a copy
3724        of a non-simple string, understand char width issues.
3725
37262006-09-05 22:41  gb
3727
3728        * level-0/nfasload.lisp: Some fixnum decls in %FIND-PKG.
3729
37302006-09-05 22:40  gb
3731
3732        * level-1/l1-aprims.lisp: ppc64 ARRAY-ELEMENT-SUBTYPES includes new
3733        string type.
3734
37352006-09-05 22:39  gb
3736
3737        * level-0/PPC/ppc-array.lisp: cr3, nor c33, in ppc64 %init-misc.
3738
37392006-09-05 22:38  gb
3740
3741        * compiler/nx0.lisp: NX-FORM-TYPEP uses NX-TARGET-TYPE.
3742
37432006-09-05 09:13  gb
3744
3745        * compiler/PPC/PPC32/ppc32-backend.lisp: darwinppc32 backend uses
3746        32-bit chars, too.
3747
37482006-09-05 09:01  gb
3749
3750        * compiler/PPC/PPC32/: ppc32-arch.lisp, ppc32-backend.lisp: ppc32
3751        defaults to 32-bit chars.
3752
37532006-09-05 05:18  gb
3754
3755        * xdump/xfasload.lisp: Deal with 32-bit lisp strings.
3756
37572006-09-05 05:18  gb
3758
3759        * lisp-kernel/linuxppc/.gdbinit: Start to depend on calling
3760        print_lisp_object, since x/s doesn't deal with 32-bit lisp strings.
3761
37622006-09-05 05:17  gb
3763
3764        * lisp-kernel/ppc-gc.c: conditionalize purify_displaced_object()
3765        for char size.
3766
37672006-09-05 05:16  gb
3768
3769        * lisp-kernel/plsym.c: find_symbol(): don't assume 8-bir lisp
3770        strings.
3771
37722006-09-05 05:15  gb
3773
3774        * lisp-kernel/lisptypes.h: Try using "u8_t" and "u32_t" for
3775        lisp_char_code; this may be more portable.
3776
37772006-09-05 05:14  gb
3778
3779        * lib/sequences.lisp: SIMPLE-1D-ARRAY-SUBSEQ: handle new strings.
3780
37812006-09-05 05:13  gb
3782
3783        * level-1/linux-files.lisp: CALL-WITH-STRING-VECTOR: don't assume
3784        8-bit char/strings.
3785
37862006-09-05 05:13  gb
3787
3788        * level-1/l1-streams.lisp: Use heap-ivectors of element-type
3789        (UNSIGNED-BYTE 8) for character streams.  (Should really depend on
3790        the coding system in use.)
3791
37922006-09-05 05:09  gb
3793
3794        * level-1/l1-aprims.lisp: Various archaic string functions: don't
3795        assume 8-bit strings.
3796
37972006-09-05 05:08  gb
3798
3799        * level-0/l0-array.lisp: Handle 32-bit strings in %UVECTOR-REPLACE.
3800
38012006-09-05 05:07  gb
3802
3803        * compiler/PPC/PPC64/ppc64-arch.lisp: No "x" in simple-base-string,
3804        when #-target-8-bit-chars.
3805
38062006-09-05 05:06  gb
3807
3808        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3809        REQUIRE-CHAR-CODE: comparison of OBJECT with TAG is not a CMPI.
3810
38112006-09-05 05:05  gb
3812
3813        * compiler/PPC/ppc2.lisp: PPC2-VREF: handle the 32-bit
3814        :SIMPLE-STRING case with constant index.
3815
38162006-09-04 17:44  gb
3817
3818        * lisp-kernel/lisptypes.h: Linux doesn't define uint8_t.  Try
3819        "unsigned char", and cross fingers.
3820
38212006-09-04 17:38  gb
3822
3823        * lisp-kernel/: lisptypes.h, ppc_print.c, x86_print.c: Define
3824        lisp_char_code type, use it when printing lisp string in the kernel
3825        debugger.
3826
38272006-09-04 17:28  gb
3828
3829        * level-1/version.lisp: Bump.
3830
38312006-09-04 17:18  gb
3832
3833        * level-0/PPC/ppc-array.lisp: Sigh.  Test for 8-bit-char case was
3834        conditionalized backwards in PPC64 %INIT-MISC.
3835
38362006-09-04 17:05  gb
3837
3838        * level-1/l1-init.lisp: Initial value of CHAR-CODE-LIMIT derived
3839        from the target arch (for bootstrapping.)
3840
38412006-09-04 17:04  gb
3842
3843        * level-1/l1-reader.lisp: Use (UNSIGNED-BYTE 8) for array element
3844        type of rdtab.ttab.
3845       
3846        Don't treat (code-char #xca) as whitespace; do treat (code-char
3847        #xa0) as whitespace.  (The former happens to be how the latter was
3848        encoded in MacRoman.)
3849       
3850        Handle U+<hex> syntax in NAME-CHAR.
3851
38522006-09-04 16:16  gb
3853
3854        * compiler/PPC/PPC64/ppc64-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
3855        and the char code with #xff to get the low byte.
3856
38572006-09-04 16:15  gb
3858
3859        * compiler/PPC/PPC32/ppc32-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
3860        and the char code with #xff or 255., not with #x255.  (Cause lots
3861        of wackiness, mostly in readtable initialization.)
3862
38632006-09-04 16:12  gb
3864
3865        * compiler/PPC/ppc2.lisp: Use u32->char (which is defined) vice
3866        u8->char (which is no more) in %CHAR-CODE.
3867
38682006-09-04 06:04  gb
3869
3870        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3871        Gak.  Get guard/predicate syntax right in LOAD-CHARACTER-CONSTANT.
3872
38732006-09-04 06:03  gb
3874
3875        * level-0/PPC/ppc-array.lisp: New constants in ppc32 typecode range
3876        assertion.
3877
38782006-09-04 03:44  gb
3879
3880        * level-0/PPC/ppc-array.lisp: ppc32/ppc64 %init-misc tweaks.
3881
38822006-09-04 03:43  gb
3883
3884        * compiler/PPC/ppc-lapmacros.lisp: Typo in the (unused) 64-bit/no
3885        crf case of UNBOX-BASE-CHAR.
3886
38872006-09-04 02:30  gb
3888
3889        * level-1/l1-error-system.lisp: Object-not- (mod #x110000) type
3890        error.
3891
38922006-09-04 02:29  gb
3893
3894        * level-0/PPC/ppc-symbol.lisp: conditionalize %pname-hash for char
3895        size.
3896
38972006-09-04 02:26  gb
3898
3899        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s,
3900        ppc-constants64.h, ppc-constants64.s: Conditionalize for
3901        CHAR_SIZE_32.
3902
39032006-09-04 02:24  gb
3904
3905        * compiler/PPC/PPC32/ppc32-arch.lisp,
3906        compiler/PPC/PPC32/ppc32-vinsns.lisp,
3907        compiler/PPC/PPC64/ppc64-arch.lisp,
3908        compiler/PPC/PPC64/ppc64-vinsns.lisp, level-0/l0-array.lisp,
3909        level-0/l0-pred.lisp: Conditionalize for #-target-8-bit-chars.
3910
39112006-09-04 02:23  gb
3912
3913        * compiler/PPC/ppc2.lisp: Deal - sometimes conditionally - with
3914        32-bit characters.
3915
39162006-09-04 02:22  gb
3917
3918        * compiler/arch.lisp: ERROR-OBJECT-NOT-MOD-CHAR-CODE-LIMIT.
3919
39202006-09-03 16:03  gb
3921
3922        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
3923        conditionalize new string types.
3924
39252006-09-03 16:03  gb
3926
3927        * level-0/X86/x86-symbol.lisp: %pname-hash: conditionalize for
3928        string element size.
3929
39302006-09-03 16:02  gb
3931
3932        * compiler/X86/X8664/x8664-arch.lisp, level-0/l0-array.lisp,
3933        level-0/l0-pred.lisp: Sketch out new string types (read-time
3934        conditionalized.)
3935
39362006-09-03 15:02  gb
3937
3938        * level-0/l0-init.lisp: Put :target-8-bit-chars on *features*, for
3939        bootstrapping.
3940
39412006-09-03 14:20  gb
3942
3943        * level-1/l1-streams.lisp: More missing BASIC-STREAM methods.
3944
39452006-09-03 13:22  gb
3946
3947        * compiler/: X86/X8664/x8664-backend.lisp,
3948        PPC/PPC32/ppc32-backend.lisp, PPC/PPC64/ppc64-backend.lisp:
3949        :target-8-bit-chars on target features.
3950
39512006-09-03 13:21  gb
3952
3953        * level-0/l0-int.lisp: Some comments/indentation.
3954
39552006-09-03 13:01  gb
3956
3957        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Make
3958        CHAR-CODE-LIMIT an attribute of the target arch, for bootstrapping.
3959
39602006-09-02 11:24  gb
3961
3962        * level-1/x86-error-signal.lisp, lib/db-io.lisp: Fix typo.
3963
39642006-09-02 11:15  gb
3965
3966        * lisp-kernel/x86_print.c: hex/decimal integer printers: 3 is also
3967        a hex digit.
3968
39692006-09-02 11:11  gb
3970
3971        * lisp-kernel/x86-exceptions.c: Install a "bogus signal handler" on
3972        Darwin, to deal with apparent race conditions/Mach kernel lossage.
3973       
3974        Don't do the whole msg_server here; just do the exc_server thing.
3975       
3976        Fix a couple of Mach exception-handling bugs; at least one more may
3977        remain.
3978
39792006-09-02 11:07  gb
3980
3981        * lisp-kernel/x86-asmutils64.s: Use a hlt instruction to trap in
3982        pseudo_sigreturn.
3983       
3984        Still get spurious SIGTRAPs.
3985
39862006-09-02 11:06  gb
3987
3988        * lisp-kernel/thread_manager.c: Define some things in terms of
3989        USE_MACH_SEMAPHORES or USE_POSIX_SEMAPHORES.
3990       
3991        sem_wait_forever() does repeated timed waits, since I thought that
3992        Darwin was having trouble interrpting things that waited
3993        indefinitely.  (That might just be a GDB bug.  Who can tell ?)
3994
39952006-09-02 11:03  gb
3996
3997        * lisp-kernel/Threads.h: Define some things in terms of
3998        USE_MACH_SEMAPHORES or USE_POSIX_SEMAPHORES.  Note that as of Q3
3999        2006, Darwin still doesn't implement enough POSIX semaphore
4000        functionality to make it possible to avoid the use of Mach
4001        semaphores.
4002
40032006-09-02 11:01  gb
4004
4005        * lib/db-io.lisp:
4006        Try to avoid things like %COPY-IVECTOR-TO-IVECTOR when strings are
4007        involved.
4008
40092006-09-02 11:01  gb
4010
4011        * level-1/x86-threads-utils.lisp: Things that're %HEAP-IVECTOR-P
4012        aren't bogus objects.
4013
40142006-09-02 11:00  gb
4015
4016        * level-1/l1-streams.lisp: Try to avoid things like
4017        %COPY-IVECTOR-TO-IVECTOR when strings are involved.
4018
40192006-09-02 10:59  gb
4020
4021        * level-1/l1-events.lisp: AUTO-FLUSH-INTERACTIVE-STREAMS: use
4022        FORCE-OUTPUT.
4023
40242006-09-02 10:57  gb
4025
4026        * level-0/l0-misc.lisp: %COPY-U8-TO-STRING, %COPY-STRING-TO-U8:
4027        new, to avoid %COPY-IVECTOR-TO-IVECTOR when strings are involved.
4028       
4029        %STR-FROM-PTR: take dest string as optional arg, don't assume 8-bit
4030        chars.
4031       
4032        %GET-CSTRING: change type decl, use %GET-UNSIGNED-BYTE.
4033
40342006-09-02 10:55  gb
4035
4036        * level-0/l0-aprims.lisp: %CSTR-POINTER and %CSTR-SEGMENT-POINTER:
4037        don't assume 8-bit chars.
4038
40392006-08-28 17:35  gb
4040
4041        * lisp-kernel/ppc-spentry.s: Fix tag check in 32-bit
4042        misc_set_single_float_vector.
4043
40442006-08-28 17:01  gb
4045
4046        * xdump/faslenv.lisp: Bump max fasl version.
4047
40482006-08-28 16:48  gb
4049
4050        * lib/nfcomp.lisp: Use new string ops.  Bump current fasl version.
4051
40522006-08-28 16:33  gb
4053
4054        * xdump/faslenv.lisp: Bump (max) fasl version.
4055
40562006-08-28 16:30  gb
4057
4058        * xdump/xfasload.lisp: xloader was missing a few new ops.
4059
40602006-08-28 05:34  gb
4061
4062        * xdump/xfasload.lisp: New string stuff here, too.
4063
40642006-08-28 05:28  gb
4065
4066        * level-0/nfasload.lisp: New string stuff.
4067
40682006-08-28 04:57  gb
4069
4070        * level-1/l1-streams.lisp: More missing BASIC-STREAM methods
4071        (STREAM-LINE-COLUMN, STREAM-LISTEN, STREAM-EOFP.)
4072
40732006-08-28 04:57  gb
4074
4075        * level-1/l1-reader.lisp: Use READ-CHAR instead of
4076        STREAM-READ-CHAR, since it may be faster in some cases.
4077
40782006-08-28 04:56  gb
4079
4080        * level-1/l1-events.lisp: Unscramble auto-flush-streams stuff
4081        (don't assume ioblock-based stream.)
4082
40832006-08-28 04:55  gb
4084
4085        * level-1/l1-boot-2.lisp: Initial FD-STREAMs are BASIC-STREAMs.
4086
40872006-08-28 04:55  gb
4088
4089        * level-0/PPC/ppc-symbol.lisp: Change some REQUIRE forms; cosmetic.
4090         (Maybe not even cosmetic.)
4091
40922006-08-28 04:54  gb
4093
4094        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
4095        PPC64/ppc64-vinsns.lisp: %unbox-u8, u8-vref stuff.
4096
40972006-08-28 04:53  gb
4098
4099        * xdump/faslenv.lisp: New fasl ops for new string encodings.
4100
41012006-08-28 04:52  gb
4102
4103        * lib/macros.lisp: %CHAR-CODE: for how long has limit not been 2^16
4104        ?  For how long will limit be 2^8 ?
4105
41062006-08-28 04:51  gb
4107
4108        * level-0/nfasload.lisp: More fasl ops.
4109
41102006-08-28 04:51  gb
4111
4112        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: %UNBOX-U8,
4113        u8-vref stuff.
4114
41152006-08-28 04:50  gb
4116
4117        * compiler/arch.lisp: Add CHAR-CODE-LIMIT slot to TARGET-ARCH; may
4118        not be the best way to do this.
4119
41202006-08-26 13:58  gb
4121
4122        * release-notes.txt: Updated.
4123
41242006-08-26 13:50  gb
4125
4126        * release-notes.txt: Updated.
4127
41282006-08-26 13:50  gb
4129
4130        * darwin-x86-headers64/libc/.cvsignore: Added.
4131
41322006-08-26 03:17  gb
4133
4134        * level-1/version.lisp: Bump.  New snapshots soon, I hope.
4135
41362006-08-26 03:12  gb
4137
4138        * lisp-kernel/darwinx8664/Makefile: Pass -g in ASFLAGS; same
4139        problems as always, but avoids problems with Darwin x86-64 ld64
4140        segfaulting for unknown reasons.
4141
41422006-08-26 03:11  gb
4143
4144        * lisp-kernel/x86-exceptions.h: Need to do an explicit sigreturn on
4145        Darwin (because of the sigaltstack hacks; Darwin uses sigtramp glue
4146        that we can't just return to after switching off of the alt stack.)
4147
41482006-08-26 03:08  gb
4149
4150        * lib/numbers.lisp: Check fpu overflow bit (not underflow) when
4151        deciding whether or not to signal overflow.
4152
41532006-08-26 03:08  gb
4154
4155        * level-1/x86-trap-support.lisp: Need an indirection to access
4156        mcontext from ucontext on Darwin; invent xp-gp-regs to get at
4157        mcontext64.ss.
4158
41592006-08-26 03:06  gb
4160
4161        * level-1/x86-error-signal.lisp: Add a declaration, to make this
4162        easier to step through.
4163
41642006-08-26 03:05  gb
4165
4166        * level-0/l0-float.lisp: SINGLE-FLOAT-HALF-PI: use f0 not e0, just
4167        in case.
4168
41692006-08-25 20:35  gb
4170
4171        * level-1/l1-boot-lds.lisp, level-1/l1-events.lisp,
4172        lib/ccl-export-syms.lisp: Hyphenate ADD-AUTO-FLUSH-STREAM and
4173        REMOVE-AUTO-FLUSH-STREAM.
4174       
4175        Export them, too.
4176
41772006-08-25 20:22  gb
4178
4179        * lib/streams.lisp: READ-LINE on BASIC-INPUT-STREAM w/o
4180        STREAM-READ-LINE.
4181
41822006-08-25 20:22  gb
4183
4184        * lib/macros.lisp: HANDLER-CASE: the :NO-ERROR clause can appear at
4185        most once but doesn't have to be the last clause.
4186
41872006-08-25 20:21  gb
4188
4189        * level-1/l1-streams.lisp: BASIC-OUTPUT-STREAM isn't an
4190        INPUT-STREAM.
4191       
4192        Some STREAM-READ-LINE support for BASIC-CHARACTER-INPUT-STREAM.
4193
41942006-08-25 20:19  gb
4195
4196        * level-1/l1-readloop.lisp: PREPARE-TO-QUIT: other threads should
4197        be dead by the time that streams on *OPEN-FILE-STREAMS* are closed,
4198        so unlock those streams with extreme prejudice before closing them.
4199
42002006-08-25 20:18  gb
4201
4202        * level-1/l1-pathnames.lisp: FULL-PATHNAME: remove some weird old
4203        code that assumed that interfered with handling of relative logical
4204        pathnames.
4205
42062006-08-25 20:17  gb
4207
4208        * level-1/l1-events.lisp: Rename EVENT-POLL to
4209        AUTO-FLUSH-INTERACTIVE-STREAMS.
4210       
4211        Make AUTO-FLUSH-INTERACTIVE-STREAMS do conditional locking on each
4212        stream (doing nothing if it's not :SHARING :LOCK; unconditional
4213        locking on the *AUTO-FLUSH-STREAMS-LOCK*.
4214       
4215        ADD-AUTOFLUSH-STREAM ensures that the stream is :SHARING :LOCK.
4216       
4217        REMOVE-AUTOFLUSH-STREAM.
4218
42192006-08-25 20:13  gb
4220
4221        * level-1/l1-boot-lds.lisp: MAKE-MCL-LISTENER-STREAM uses
4222        ADD-AUTOFLUSH-STREAM, REMOVE-AUTOFLUSH-STREAM.
4223
42242006-08-23 22:59  gb
4225
4226        * lisp-kernel/x86-exceptions.c: Darwin needs to decode the mxcsr on
4227        SIGFPE.
4228       
4229        DARWIN_GS_HACK changes in altstack handlers for interrupt/suspend.
4230
42312006-08-23 22:58  gb
4232
4233        * lisp-kernel/x86-spentry64.s: x86-64 Darwin's math library is
4234        pretty casual about causing spurious exceptions, so ignore them.
4235
42362006-08-23 22:57  gb
4237
4238        * lisp-kernel/darwinx8664/.gdbinit: New file; like the linuxx8664
4239        version, with different signals to be ignored by gdb.
4240
42412006-08-23 22:56  gb
4242
4243        * lisp-kernel/x86-asmutils64.s: Using ud2b to force an exception in
4244        pseudo_sigreturn() seems to cause/be related to spurious SIGTRAPs.
4245        Use int $0 instead.
4246
42472006-08-23 22:55  gb
4248
4249        * level-1/x86-trap-support.lisp: First attempt at Darwinx8664
4250        support; may need more work.
4251
42522006-08-22 02:08  gb
4253
4254        * lisp-kernel/x86_print.c: Try not to use sprintf() (at least not
4255        for printing integers), since it seems to need access to pthread
4256        data (and calling print_lisp_object() from GDB might fail if %gs is
4257        pointing at the lisp TCR.)
4258
42592006-08-22 02:06  gb
4260
4261        * lisp-kernel/x86-spentry64.s: Unbox %arg_z (boxed entrypoint)
4262        earlier in _SPffcall, before entering foreign context.  (Need to
4263        check PPC version(s) as well.)
4264       
4265        Use DARWIN_GS_HACK to swap %gs memory around when transitioning
4266        between foreign code and lisp.
4267
42682006-08-22 02:04  gb
4269
4270        * lisp-kernel/x86-macros.s: Fix a typo.
4271
42722006-08-22 02:04  gb
4273
4274        * lisp-kernel/x86-exceptions.h: Define a few more things ...
4275
42762006-08-22 02:03  gb
4277
4278        * lisp-kernel/x86-exceptions.c: Lots of changes, especially to Mach
4279        exception handling code.
4280       
4281        Do the DARWIN_GS_HACK things to overload %gs.
4282
42832006-08-22 02:02  gb
4284
4285        * lisp-kernel/x86-asmutils64.s: atomic_and(), pseudo_sigreturn()
4286        for DarwinX8664.
4287
42882006-08-22 02:01  gb
4289
4290        * lisp-kernel/thread_manager.c: Some PPC64 conditionalizations
4291        should really have tested WORD_SIZE.
4292       
4293        DARWIN_GS_HACK stuff around suspend/resume signal handlers.  (May
4294        not be necessary.)
4295       
4296        Ensure that tcr.linear gets set on x86, even if not HAVE_TLS.
4297
42982006-08-22 01:59  gb
4299
4300        * lisp-kernel/pmcl-kernel.c: Don't really flush cache lines on
4301        x8664.
4302       
4303        Some PPC64 conditionalizations should really have tested WORD_SIZE.
4304
43052006-08-22 01:58  gb
4306
4307        * lisp-kernel/m4macros.m4: Define SYSCALL_SETS_CARRY_ON_ERROR for
4308        FreeBSDX664, DarwinX8664.
4309
43102006-08-22 01:57  gb
4311
4312        * lisp-kernel/darwinx8664/Makefile: Much smaller pagezero, much
4313        lower seg1addr.
4314       
4315        Something in the (m4-generated) symbolic info in some .s files is
4316        screwy and causes ld64 to segfault; it's currently necesssary to
4317        use "strip -S" on the assembler-generated .o files.
4318
43192006-08-22 01:55  gb
4320
4321        * scripts/openmcl64: Untested changes for Darwinx8664.
4322
43232006-08-22 01:54  gb
4324
4325        * xdump/xx8664-fasload.lisp: Fix typo in darwinx8664
4326        xload-backend-info (compiler target is :darwinx8664, not
4327        :linuxx8664).
4328
43292006-08-22 01:53  gb
4330
4331        * lib/nfcomp.lisp: Dump concatenated functions from xfunctions when
4332        cross-compiling to x86 from x86.
4333
43342006-08-22 01:52  gb
4335
4336        * lib/misc.lisp: MACHINE-VERSION:  conditionalize on :DARWIN-TARGET
4337        (not :DARWINPPC-TARGET).
4338
43392006-08-22 01:50  gb
4340
4341        * lib/foreign-types.lisp: :DARWIN-TARGET (not :DARWINPPC-TARGET).
4342
43432006-08-22 01:50  gb
4344
4345        * lib/compile-ccl.lisp: :DARWINX8664 stuff.
4346
43472006-08-22 01:49  gb
4348
4349        * level-1/version.lisp: Bump.
4350
43512006-08-22 01:49  gb
4352
4353        * level-1/l1-sysio.lisp: FILE-STREAM-EXTERNAL-FORMAT stuff for
4354        BASIC-STREAMs.
4355
43562006-08-22 01:48  gb
4357
4358        * level-1/: l1-sockets.lisp, linux-files.lisp: Conditionalize on
4359        DARWIN-TARGET, not DARWINPPC-TARGET.
4360
43612006-08-22 01:47  gb
4362
4363        * level-0/l0-init.lisp: DarwinX8664 *features*.
4364
43652006-08-22 01:47  gb
4366
4367        * level-0/l0-cfm-support.lisp: Some DARWINPPC-TARGET conditionals
4368        really want to be DARWIN-TARGET.
4369
43702006-08-22 01:46  gb
4371
4372        * compiler/X86/X8664/x8664-arch.lisp: YIELD-SYSCALL for
4373        DarwinX8664.
4374
43752006-08-22 01:45  gb
4376
4377        * compiler/X86/x862.lisp: Use CROSS-CREATE-X86-FUNCTION if not
4378        compiling natively.
4379       
4380        Fix X862-FIXUP-FWD-REFS if not native function on x86.
4381
43822006-08-22 01:44  gb
4383
4384        * compiler/X86/x86-lap.lisp: Ensure that CROSS-CREATE-X86-FUNCTION
4385        is defined, even on x86.  Use it if not compiling natively on x86.
4386
43872006-08-20 23:59  gb
4388
4389        * lisp-kernel/darwinx8664/Makefile: Define DARWIN_GS_HACK.
4390
43912006-08-20 23:58  gb
4392
4393        * lisp-kernel/x86-exceptions.c: Still needs lots of work.
4394
43952006-08-20 23:58  gb
4396
4397        * lisp-kernel/x86-exceptions.h: Include Mach stuff on Darwin;
4398        prototypes for DARWIN_GS_HACK %gs segment switching.
4399
44002006-08-20 23:57  gb
4401
4402        * lisp-kernel/x86-subprims64.s: Manipulate the %gs register when a
4403        lisp thread starts, exits and DARWIN_GS_HACK is defined.
4404       
4405        This isn't so bad, but doing it around every ff-call might be.
4406
44072006-08-20 23:56  gb
4408
4409        * lisp-kernel/x86-macros.s: DARWIN_GS_HACK macros.
4410
44112006-08-20 23:53  gb
4412
4413        * lisp-kernel/thread_manager.c: Note the need for DARWIN_GS_HACK.
4414
44152006-08-20 23:51  gb
4416
4417        * lisp-kernel/x86-asmutils64.s: DARWIN_GS_HACK hacks.
4418
44192006-08-20 23:51  gb
4420
4421        * lisp-kernel/m4macros.m4: Hope that the need for DARWIN_GS_HACK is
4422        also temporary.
4423
44242006-08-20 23:50  gb
4425
4426        * lisp-kernel/lisptypes.h: Hope that the workaround for missing
4427        mcontext64 in x8664 Darwin is temporary.
4428
44292006-08-20 20:35  gb
4430
4431        * library/darwinx664-syscalls.lisp: typo
4432
44332006-08-20 20:35  gb
4434
4435        * library/darwinx8664-syscalls.lisp: spell name right
4436
44372006-08-20 17:10  gb
4438
4439        * xdump/xx8664-fasload.lisp: :darwinx8664 stuff.
4440
44412006-08-20 17:10  gb
4442
4443        * lib/db-io.lisp: :struct-by-value: don't read-time conditionalize
4444        (do other things still use read-time conditionals ?)
4445
44462006-08-20 17:09  gb
4447
4448        * compiler/X86/X8664/x8664-backend.lisp: Darwinx8664: overload %gs,
4449        setup syscall mask.
4450
44512006-08-20 17:08  gb
4452
4453        * compiler/nx1.lisp: Handle syscall, ff-call for :darwinx8664 as
4454        well.
4455
44562006-08-20 17:06  gb
4457
4458        * library/darwinx664-syscalls.lisp: New file; or's in the bit for
4459        Unix syscalls on Darwinx8664.  (Screw: should (carefully) review
4460        word-size issues.)
4461
44622006-08-20 17:03  gb
4463
4464        * library/darwinppc-syscalls.lisp: Mask for PPC.
4465
44662006-08-20 17:02  gb
4467
4468        * level-0/l0-io.lisp, level-1/l1-sockets.lisp,
4469        level-1/linux-files.lisp: Syscall conditionalization.
4470
44712006-08-20 17:01  gb
4472
4473        * level-1/l1-streams.lisp: Syscall conditionalization.
4474       
4475        SELECTION-INPUT-STREAM created with :sharing :lock.
4476
44772006-08-20 17:00  gb
4478
4479        * examples/objc-runtime.lisp: Fencepost in
4480        POINTER-IN-CFSTRING-SECTION-P.
4481
44822006-08-20 16:16  gb
4483
4484        * library/: darwinppc-syscalls.lisp, darwin-syscalls.lisp: rename
4485
44862006-08-18 09:50  gb
4487
4488        * lisp-kernel/thread_manager.c: Enable FP underflow detection on
4489        x8664.  Should do this on PPC as well, and should probably offer
4490        some backward-compatible behavior for reader.
4491
44922006-08-18 09:47  gb
4493
4494        * compiler/X86/X8664/x8664-backend.lisp: Dress up the Darwin x86-64
4495        backend a little.
4496       
4497        Explicily define lisp-context-register slot in each backend (%gs
4498        for those imolementations that follow the standard ABI, %fs for
4499        Darwin.)
4500
45012006-08-18 09:44  gb
4502
4503        * compiler/X86/X8664/x8664-vinsns.lisp: Use :rcontext when
4504        necessary.
4505
45062006-08-18 09:43  gb
4507
4508        * compiler/X86/: x86-backend.lisp, x86-lap.lisp: Recognize
4509        :rcontext as a reference to the backend's LISP-CONTEXT-REGISTER
4510        slot.
4511
45122006-08-18 09:42  gb
4513
4514        * compiler/backend.lisp: Backend now has a lisp-context-register
4515        slot.
4516
45172006-08-18 09:42  gb
4518
4519        * compiler/X86/X8664/x8664-arch.lisp: No more (constant) rcontext.
4520
45212006-08-18 09:40  gb
4522
4523        * level-0/X86/: x86-def.lisp, x86-float.lisp, x86-io.lisp,
4524        x86-misc.lisp, x86-symbol.lisp, x86-utils.lisp: Refer to rcontext
4525        segment register as :rcontext, since x86-64 Darwin doesn't laugh
4526        and play like the other children.
4527
45282006-08-18 09:29  gb
4529
4530        * lisp-kernel/x86-exceptions.c: Copy some of the Mach exception
4531        code from the PPC version and tweak it a little; needs more work.
4532
45332006-08-18 09:27  gb
4534
4535        * lisp-kernel/x86-exceptions.h: Provide some interim Darwin
4536        conditionalization.
4537
45382006-08-18 09:25  gb
4539
4540        * lisp-kernel/m4macros.m4: Spell FREEBSD correctly.
4541       
4542        Generate an equate for HAVE_TLS.
4543
45442006-08-18 09:23  gb
4545
4546        * lisp-kernel/x86-gc.c: Changes in purify_xp().
4547
45482006-08-18 09:19  gb
4549
4550        * lisp-kernel/x86-spentry64.s: Darwin x86-64 assembler doesn't like
4551        absolute jumps, prefers slower ones.
4552       
4553        Move lock prefixes to their own lines, to satisfy you-know-who.
4554       
4555        If we don't have thread-local-storage (TLS), it's hard to avoid the
4556        get_tcr() call on each calback.
4557
45582006-08-18 09:13  gb
4559
4560        * lisp-kernel/: freebsdx8664/Makefile, linuxx8664/Makefile: Tell m4
4561        that we HAVE_TLS.
4562
45632006-08-17 10:41  phil
4564
4565        * examples/FFI/:
4566        Allocating-foreign-data-on-the-lisp-heap/ptrtest-compile.sh,
4567        Allocating-foreign-data-on-the-lisp-heap/ptrtest.c,
4568        Allocating-foreign-data-on-the-lisp-heap/ptrtest.lisp,
4569        Using-basic-calls-and-types/Readme.rtf,
4570        Using-basic-calls-and-types/typetest-compile.sh,
4571        Using-basic-calls-and-types/typetest.c,
4572        Using-basic-calls-and-types/typetest.lisp: Initial version
4573
45742006-08-17 10:40  phil
4575
4576        * examples/FFI/Allocating-foreign-data-on-the-lisp-heap/Readme.rtf:
4577        [no log message]
4578
45792006-08-08 13:07  gb
4580
4581        * lisp-kernel/darwinx8664/Makefile: New file.
4582
45832006-08-08 13:07  gb
4584
4585        * lisp-kernel/x86-exceptions.h: xp accessors for Darwinx8664.
4586
45872006-08-08 13:06  gb
4588
4589        * lisp-kernel/x86-constants64.h: REG_* constants for Darwin.
4590
45912006-08-08 13:05  gb
4592
4593        * lisp-kernel/x86-asmutils64.s: Darwin assembler doesn't like lock
4594        instructions on the same line as the locked instruction.  (Maybe
4595        there's a better way to do this, than just pretending that lock is
4596        a standalone instruction, but that lock instruction does seem to be
4597        treated as a prefix.)
4598
45992006-08-08 13:03  gb
4600
4601        * lisp-kernel/pmcl-kernel.c: Treat X8664 like PPC64 (e.g., use
4602        dlfcn) on Darwin.
4603
46042006-08-08 13:02  gb
4605
4606        * lisp-kernel/lisptypes.h: xcode 2.4 headers: <i386/ucontext.h>
4607        doesn't define mcontext64, but lots of other things reference it.
4608        #define it here for now, but that'll likely break when the headers
4609        are fixed.
4610
46112006-08-08 12:58  gb
4612
4613        * lisp-kernel/lisp-debug.c: Define Iregnames for darwinx8664.
4614
46152006-08-08 12:58  gb
4616
4617        * lisp-kernel/area.h: Define an IMAGE_BASE_ADDRESS for
4618        x8664/Darwin.
4619
46202006-07-29 08:41  gb
4621
4622        * level-1/l1-streams.lisp: STREAM-WRITE-BYTE, STREAM-WRITE-IVECTOR.
4623         :BASIC defaults to T in OPEN; BASIC-FILE-STREAM probably still
4624        needs READ/WRITE- SEQUENCE support.
4625
46262006-07-29 07:39  gb
4627
4628        * level-1/l1-aprims.lisp: ALLOCATE-RESOURCE, FREE-RESOURCE: use
4629        lock.  TODO: evaluate whether resources are worthwhile;  used for
4630        string-output-stream allocation and DELETE-DUPLICATES.
4631
46322006-07-29 06:27  gb
4633
4634        * library/lispequ.lisp: Resources aren't thread-private, need
4635        locks.
4636
46372006-07-29 06:26  gb
4638
4639        * level-1/l1-sysio.lisp: MAKE-FILE-STREAM: support for
4640        BASIC-STREAMs.
4641
46422006-07-29 06:26  gb
4643
4644        * level-1/l1-streams.lisp: OPEN handles BASIC-STREAMs; not yet the
4645        default.
4646
46472006-07-29 06:25  gb
4648
4649        * level-1/l1-reader.lisp: *PARSE-STRING-RESOURCE* probably hasn't
4650        been used in 10 or 12 years.
4651
46522006-07-29 03:40  gb
4653
4654        * level-1/l1-sysio.lisp: Most BASIC-FILE-STREAM stuff.
4655
46562006-07-29 03:40  gb
4657
4658        * library/lispequ.lisp: BASIC-FILE-STREAM.EXTERNAL-FORMAT, at least
4659        for now.
4660
46612006-07-29 03:39  gb
4662
4663        * level-1/l1-streams.lisp: BASIC-IO-STREAM; ALLOCATE-BASIC-STREAM
4664        makes one more slot in BASIC-FILE-STREAM.
4665
46662006-07-28 04:17  gb
4667
4668        * level-1/version.lisp: Bump.
4669
46702006-07-28 04:15  gb
4671
4672        * level-1/l1-streams.lisp: A couple of more (soon-to-be-used) slots
4673        in IOBLOCK.
4674
46752006-07-28 01:17  gb
4676
4677        * level-1/l1-streams.lisp: Lots of changes; lots more to go.
4678
46792006-07-28 01:16  gb
4680
4681        * level-1/l1-sockets.lisp: Pass :CHARACTER-P T to MAKE-FD-STREAM.
4682
46832006-07-28 00:58  gb
4684
4685        * examples/cocoa-listener.lisp: Want :SHARING :LOCK on listener
4686        output.
4687       
4688        (SLIME probably faces the same issue; should probably do something
4689        in the auto-flush case.  Of course, it's hard to know just what to
4690        do in that case. or at least what to do safely in that case.)
4691
46922006-07-28 00:49  gb
4693
4694        * level-1/l1-sysio.lisp: Define SELECT-STREAM-CLASS on
4695        FUNDAMENTAL-FILE-STREAM.
4696
46972006-07-28 00:49  gb
4698
4699        * lib/streams.lisp: READ-BYTE for BASIC-STREAMs.
4700
47012006-07-28 00:48  gb
4702
4703        * library/lispequ.lisp: Need an explicit
4704        BASIC-STREAM-FLAG.OPEN-CHARACTER bit, due to bivalence.
4705
47062006-07-28 00:47  gb
4707
4708        * lib/macros.lisp: BASIC-STREAM-IOBLOCK.
4709
47102006-07-25 03:48  gb
4711
4712        * compiler/optimizers.lisp: Compiler-macro for BASIC-STREAM-P.
4713
47142006-07-24 04:55  gb
4715
4716        * lib/streams.lisp: READ-CHAR bypasses STREAM-READ-CHAR for
4717        BASIC-STREAMs.
4718
47192006-07-24 04:55  gb
4720
4721        * level-1/l1-streams.lisp: Some BASIC-STREAM stuff starts to
4722        appear.
4723
47242006-07-24 04:51  gb
4725
4726        * library/lispequ.lisp: Add a plist to basic-/basic-file-stream.
4727
47282006-07-24 02:43  gb
4729
4730        * level-1/l1-sysio.lisp: FILE-STREAM is now abstract (and some
4731        sublasses may get that way); FUNDAMENTAL-FILE-STREAM is an
4732        implementation of it (and BASIC-FILE-STREAM soon will be.)
4733
47342006-07-23 03:05  gb
4735
4736        * level-1/l1-clos-boot.lisp: *class-table* entry for BASIC-STREAM.
4737
47382006-07-23 03:03  gb
4739
4740        * level-1/l1-streams.lisp: STREAM-IOBLOCK now takes 2 required args
4741        and is inlined.
4742       
4743        Some bug fixes; STREAM class no longer has slots.
4744       
4745        IOBLOCK-READ-CHAR-FUNCTION used by READ-CHAR.  %ioblock-read-byte
4746        variants; fix read-byte botch (should vector according to
4747        element-type.)
4748
47492006-07-23 02:54  gb
4750
4751        * level-1/: linux-files.lisp, l1-sysio.lisp, l1-sockets.lisp:
4752        STREAM-IOBLOCK now takes 2 required args.
4753
47542006-07-23 02:54  gb
4755
4756        * level-1/version.lisp: Bump.
4757
47582006-07-23 02:53  gb
4759
4760        * library/lispequ.lisp: Start to define what a BASIC-STREAM looks
4761        like.
4762
47632006-07-23 02:53  gb
4764
4765        * lib/macros.lisp: Move stream-ioblock access/locking macros here.
4766       
4767        Likewise WITH-EAGAIN.
4768
47692006-07-23 01:12  gb
4770
4771        * level-1/: l1-sysio.lisp, l1-streams.lisp, l1-boot-2.lisp,
4772        l1-sockets.lisp: Fix a few botches.
4773       
4774        :private arg to stream creation primitives replaced with :sharing,
4775        which can have values:
4776       
4777         :private (the default; stream can only be accessed by the creating
4778        thread)
4779         :lock  (the old, often slow, default); most accesses to stream
4780        involve locking
4781         :nil or :external (stream code doesn't enforce exclusion).
4782
47832006-07-22 23:57  gb
4784
4785        * level-1/l1-streams.lisp: Bootstrapping stuff.
4786       
4787        Move along, nothing to see here.
4788
47892006-07-20 03:43  gb
4790
4791        * level-1/: l1-boot-2.lisp, l1-sockets.lisp, l1-streams.lisp,
4792        l1-sysio.lisp: First (rough) cut at making streams "private"
4793        (effectively always locked by the "owning" thread) to reduce some
4794        locking overhead.  More to come, some of which will be a little
4795        tricky to bootstrap.
4796
47972006-07-20 01:09  gb
4798
4799        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s,
4800        ppc-constants64.h, ppc-constants64.s, x86-constants64.h,
4801        x86-constants64.s: subtag_lisp_thread -> subtag_basic_stream.
4802
48032006-07-20 01:09  gb
4804
4805        * library/lispequ.lisp: new (istruct-based) LISP-THREAD accessors.
4806
48072006-07-20 01:08  gb
4808
4809        * level-1/version.lisp: Bump.
4810
48112006-07-20 01:07  gb
4812
4813        * level-1/l1-streams.lisp: Introduce "owner" slot in basic ioblock.
4814         A little tricky to bootstrap.
4815
48162006-07-20 01:05  gb
4817
4818        * level-0/l0-misc.lisp, level-1/l1-processes.lisp,
4819        level-1/l1-clos-boot.lisp, level-1/l1-lisp-threads.lisp: Use new
4820        (istruct-based) lisp-thread accessors.
4821
48222006-07-20 01:02  gb
4823
4824        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
4825        X86/X8664/x8664-arch.lisp: Get rid of the lisp-thread subtag
4826        (lisp-thread's are ISTRUCTs now); re-use it for (to-be-introduced)
4827        BASIC-STREAM.
4828
48292006-07-15 15:02  gb
4830
4831        * level-1/l1-error-system.lisp: Insert some fresh lines in the
4832        IMPOSSIBLE-NUMBER condition :REPORT method.
4833
48342006-07-15 15:00  gb
4835
4836        * compiler/X86/x862.lisp: x862-%aref1,x862-%aset1: don't try to do
4837        simple vector operations unless we're sure that the vector is a
4838        (SIMPLE-ARRAY * (*)) and we know the element-type (these were
4839        leaping into the simple-typed-vector case when the element-type was
4840        known but the vector wasn't known to be SIMPLE.
4841
48422006-07-14 05:57  gb
4843
4844        * compiler/nx0.lisp: NX-FORM-TYPEP: unqoute constants.
4845
48462006-07-13 16:01  gb
4847
4848        * level-1/l1-typesys.lisp: SPECIALIZED-ARRAY-ELEMENT-TYPES needs to
4849        know about FIXNUM arrays.
4850
48512006-07-11 14:23  gb
4852
4853        * compiler/X86/x862.lisp: Destination and 1st source arg overlap
4854        (2-address instructions) in natural logical, arithmetic operations.
4855
48562006-07-05 02:38  gb
4857
4858        * release-notes.txt: Update.
4859
48602006-07-05 02:22  gb
4861
4862        * level-0/l0-init.lisp: Reluctantly put :MCL back on *features*;
4863        its removal needs to be better publicized.
4864
48652006-07-04 22:24  gb
4866
4867        * level-1/linux-files.lisp: Use NATIVE-TRANSLATED-NAMESTRING on the
4868        PROGRAM arg to RUN-PROGRAM.
4869
48702006-07-04 22:23  gb
4871
4872        * level-1/version.lisp: Bump.
4873
48742006-06-29 02:11  gb
4875
4876        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump
4877        image-abi-version.
4878
48792006-06-28 05:24  gb
4880
4881        * level-0/l0-cfm-support.lisp: *rtld-default* wants to be a null
4882        pointer on DarwinPPC32 (at the very least, that platform's
4883        xFindSymbol gets confused by anything but a null pointer/global
4884        lookup.)
4885
48862006-06-28 05:09  gb
4887
4888        * level-1/version.lisp: Bump.  Call the FreeBSD/AMD64 version
4889        "Alpha", which may be a bit generous (pretty regular deadlock,
4890        random thread creation errors, other bugs.)
4891
48922006-06-28 05:07  gb
4893
4894        * lisp-kernel/freebsdx8664/.gdbinit: new; awfully similar to linux
4895        x86-64 version.
4896
48972006-06-28 04:04  gb
4898
4899        * lisp-kernel/x86-exceptions.c: FreeBSD doesn't do a good job of
4900        identifying the cause of XMM FP exceptions.  Try to do that by
4901        looking at MXCSR bits.
4902
49032006-06-28 04:03  gb
4904
4905        * lisp-kernel/x86-spentry64.s: FreeBSD syscalls set carry flag to
4906        indicate error return.
4907
49082006-06-28 04:03  gb
4909
4910        * level-1/: l1-sockets.lisp, linux-files.lisp,
4911        x86-trap-support.lisp: Some FreeBSD changes/fixes.
4912
49132006-06-28 04:02  gb
4914
4915        * level-0/l0-cfm-support.lisp: Remove a #+freebsd-target
4916        breakpoint.
4917
49182006-06-27 18:08  gb
4919
4920        * level-0/l0-cfm-support.lisp: fix (?) nested #+/#-.  Maybe.
4921
49222006-06-27 17:30  gb
4923
4924        * lisp-kernel/x86-exceptions.h: Fix Linux def of IS_MAYBE_INT_TRAP.
4925
49262006-06-27 17:27  gb
4927
4928        * lisp-kernel/pmcl-kernel.c: (possibly) make get_r_debug more
4929        portable; possibly break it completely ...
4930
49312006-06-27 08:55  gb
4932
4933        * lisp-kernel/x86-exceptions.c: map the altstack
4934        read/write/execute.
4935
49362006-06-27 08:54  gb
4937
4938        * lisp-kernel/thread_manager.c: Fix os_get_stack_bounds() for
4939        FreeBSD.
4940
49412006-06-27 08:54  gb
4942
4943        * lisp-kernel/Threads.h: FreeBSD needs prototypes from
4944        <pthread_np.h>
4945
49462006-06-27 08:53  gb
4947
4948        * lib/compile-ccl.lisp: New (renamed) kernel-build-direcory for
4949        :freebsdx8664.
4950
49512006-06-27 08:53  gb
4952
4953        * level-1/x86-trap-support.lisp: freebsd x8664 GPR indices.  (Needs
4954        testing.)
4955       
4956        Don't conditionalize as much code. Indices/offsets are
4957        platform-specific, but accessors defiend in terms of them needn't
4958        be.
4959
49602006-06-27 08:51  gb
4961
4962        * level-1/x86-callback-support.lisp: Remove 1st line (bogus
4963        comment.)
4964
49652006-06-27 08:50  gb
4966
4967        * level-0/l0-init.lisp: More freebsd x8664 features.
4968
49692006-06-27 08:50  gb
4970
4971        * scripts/openmcl64: Update for FreeBSD/amd64.
4972
49732006-06-27 08:47  gb
4974
4975        * compiler/X86/X8664/x8664-backend.lisp: FreeBSD backend has
4976        :freebsdx8664-target as a target-specific-feature.
4977
49782006-06-27 05:05  gb
4979
4980        * lisp-kernel/: freebsdx8664/Makefile, freebsd8664/Makefile,
4981        freebsd8664/elf_x86_64.x: directory rename
4982
49832006-06-27 04:59  gb
4984
4985        * xdump/xx8664-fasload.lisp: FreeBSD xload-backend.
4986
49872006-06-27 04:47  gb
4988
4989        * lisp-kernel/x86-exceptions.h: Some macros for FreeBSD changes.
4990
49912006-06-27 04:46  gb
4992
4993        * lisp-kernel/x86-exceptions.c: FreeBSD changes (at least enough to
4994        recognize UUOs, which generate SIGBUS vice SIGSEGV.)
4995
49962006-06-27 04:45  gb
4997
4998        * lisp-kernel/x86-asmutils64.s: Define freebsd_sigreturn.
4999       
5000        TODO (maybe): copy the sigtramp code when evacuating the altstack.
5001
50022006-06-27 04:44  gb
5003
5004        * lisp-kernel/thread_manager.c: FreeBSD sigreturn from
5005        suspend_resume_handler.
5006
50072006-06-27 04:44  gb
5008
5009        * lisp-kernel/pmcl-kernel.c: Some FreeBSD conditionalization;
5010        get_r_debug() for ELF platforms.  (Needs testing under Linux.)
5011
50122006-06-27 04:43  gb
5013
5014        * lisp-kernel/imports.s: Don't import metering-control; do import
5015        get_r_debug().
5016
50172006-06-27 04:42  gb
5018
5019        * library/x8664-freebsd-syscalls.lisp: New file.  Should check
5020        word-size stuff (here and in other versions.)
5021
50222006-06-27 04:42  gb
5023
5024        * lib/misc.lisp: Find MACHINE-VERSION string via #_sysctl on
5025        FreeBSD.
5026
50272006-06-27 04:39  gb
5028
5029        * lib/foreign-types.lisp: Signed char nonsense (should use target
5030        ftd, not reader macros here.)
5031
50322006-06-27 04:38  gb
5033
5034        * lib/compile-ccl.lisp: Some FreeBSD support.
5035
50362006-06-27 04:36  gb
5037
5038        * level-1/: l1-sockets.lisp, l1-streams.lisp, linux-files.lisp:
5039        Some FreeBSD changes/conditionalization. Maybe not enough.
5040
50412006-06-27 04:35  gb
5042
5043        * level-1/l1-boot-1.lisp: Recognize FREEBSD platform-os-name.
5044
50452006-06-27 04:34  gb
5046
5047        * level-0/X86/: .cvsignore, X8664/.cvsignore: Ignore *fsl.
5048
50492006-06-27 04:34  gb
5050
5051        * level-0/l0-io.lisp: FreeBSD syscalls.
5052
50532006-06-27 04:33  gb
5054
5055        * level-0/l0-init.lisp: Some FreeBSD features.
5056
50572006-06-27 04:33  gb
5058
5059        * level-0/l0-cfm-support.lisp: Lots of FreeBSD conditionalization,
5060        changes.
5061       
5062        MAY HAVE BROKEN LINUX PORTS; need to recompile on those platforms
5063        and test.
5064       
5065        Now depends on an imported lisp-kernel function on ELF platforms
5066        (Linux/FreeBSD), and therefore depends on recent kernel changes.
5067
50682006-06-27 04:30  gb
5069
5070        * level-0/.cvsignore: Ignore *fsl.
5071
50722006-06-27 04:29  gb
5073
5074        * compiler/X86/X8664/x8664-backend.lisp: Fix platform-syscall-mask
5075        in freebsd backend.
5076
50772006-06-27 04:27  gb
5078
5079        * compiler/X86/X8664/x8664-arch.lisp: Don't import
5080        metering-control; do import get-r-debug (for Elf shared libraries.)
5081       
5082        A yield-syscall constant for FreeBSD. (This is all a bad idea ...)
5083
50842006-06-27 04:26  gb
5085
5086        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp:
5087        Don't import metering-control; do import get-r-debug (for Elf
5088        shared libraries.)
5089
50902006-06-27 04:26  gb
5091
5092        * compiler/nx1.lisp: Use the non-eabi syscall on freebsd as well.
5093
50942006-06-26 16:38  gb
5095
5096        * compiler/X86/X8664/x8664-vinsns.lisp:
5097        SET-BIGITS-AND-HEADER-FOR-FIXNUM-OVERFLOW: need to change the
5098        (wrong) sign of the top 3 (fixnumshift) bits only.  Where did the
5099        constant #xffff000000000000 come from ?
5100
51012006-06-26 16:35  gb
5102
5103        * compiler/X86/x862.lisp: Fix some indentation.
5104
51052006-06-25 20:32  gb
5106
5107        * compiler/X86/X8664/x8664-backend.lisp: FreeBSD x8664 backend;
5108        change initialiation of x8664 foreign-type stuff.
5109
51102006-06-25 20:31  gb
5111
5112        * compiler/backend.lisp: PLATFORM-OS-FREEBSD.
5113
51142006-06-23 19:52  gb
5115
5116        * darwin-headers/: gl/C/.cvsignore, libc/C/.cvsignore,
5117        quicktime/C/.cvsignore: Ignore Developer subdirectory.  c
5118
51192006-06-23 19:28  gb
5120
5121        * release-notes.txt: Update some.
5122
51232006-06-23 19:11  gb
5124
5125        * examples/gtk2-clock.lisp: New file.
5126
51272006-06-23 18:56  gb
5128
5129        * level-1/version.lisp: Bump.
5130
51312006-06-23 18:52  gb
5132
5133        * lib/ccl-export-syms.lisp: Export DEFLOADVAR.
5134
51352006-06-22 13:39  gb
5136
5137        * x86-headers64/gnome2/C/.cvsignore: new
5138
51392006-06-22 13:36  gb
5140
5141        * x86-headers64/: gl/C/.cvsignore, gnome2/C/populate.sh: new
5142
51432006-06-22 13:33  gb
5144
5145        * x86-headers64/: gl/.cvsignore, gl/C/populate.sh,
5146        gnome2/.cvsignore: new
5147
51482006-06-22 13:30  gb
5149
5150        * examples/opengl-ffi.lisp: #+linuxppc-target -> #+linux-target.
5151
51522006-06-22 13:28  gb
5153
5154        * level-1/version.lisp: Bump.
5155
51562006-06-21 15:15  gb
5157
5158        * lisp-kernel/: ppc-constants64.h, ppc-constants64.s,
5159        ppc-spentry.s: Define new string subtags; handle them in ppc64
5160        misc_ref/misc_set.
5161
51622006-06-21 15:14  gb
5163
5164        * level-0/PPC/ppc-array.lisp: Fix %INIT-MISC (both ppc2 and ppc64
5165        versions) to handle FIXNUM vectors, new UCS4 strings.
5166
51672006-06-21 15:14  gb
5168
5169        * level-0/l0-array.lisp: Fix %INIT-MISC (bot ppc2 and ppc64
5170        versions) to handle FIXNUM vectors, new UCS4 strings.
5171
51722006-06-21 15:12  gb
5173
5174        * darwin-headers/: carbon/C/populate.sh, cocoa/C/populate.sh,
5175        gl/C/populate.sh, libc/C/populate.sh, quicktime/C/populate.sh,
5176        webkit/C/populate.sh: Use 10.4u headers from XCode SDK.
5177
51782006-06-21 15:11  gb
5179
5180        * compiler/PPC/PPC64/ppc64-arch.lisp: Add SUBTAG-NEW-STRING.
5181
51822006-06-21 15:11  gb
5183
5184        * compiler/PPC/PPC32/ppc32-arch.lisp: MAX-32-BIT-IVECTOR-SUBTAG
5185        wasn't updated with the introduction of fixnum vectors, (unused)
5186        UCS4 "new"strings.
5187
51882006-06-16 03:50  gb
5189
5190        * examples/objc-support.lisp: Re-compute static NSString info after
5191        opening an extension framework.
5192
51932006-06-16 03:45  gb
5194
5195        * examples/webkit.lisp: Use new functions for augmenting
5196        interfaces, loading framework.
5197
51982006-06-16 03:43  gb
5199
5200        * examples/objc-runtime.lisp: Juggle things around so that add-on
5201        framework bundles get loaded on appication re-launch.
5202       
5203        REVIVE-OBJC-CLASSES tells MAP-OBJC-CLASSES not to hit the database,
5204        since (a) it may not be there, or may not be where we can find it
5205        yet and (b) it's probably more reasonable to do that than it would
5206        be to teach CLOS about classes that're "discovered" when the
5207        appication's launched on a newer OS release than it was saved on.
5208
52092006-06-16 03:39  gb
5210
5211        * examples/cocoa-application.lisp: Touch tha application bundle
5212        before saving an image into it.  That -may- convincve
5213        LaunchServices to do the right thing.
5214
52152006-06-16 03:38  gb
5216
5217        * examples/objc-support.lisp: Reload any addon/framework bundles
5218        that had been loaded before the image was saved when starting a
5219        bundled application.
5220       
5221        Juggle things around, so that that works (need to be able to use
5222        low-level bridge features early.)
5223
52242006-06-16 03:36  gb
5225
5226        * lib/db-io.lisp: Disable the #? reader macro.
5227
52282006-06-14 15:42  gb
5229
5230        * level-0/: PPC/ppc-def.lisp, X86/x86-def.lisp: Fix #+APPLY+
5231        lfun-bits.
5232
52332006-06-12 20:24  gb
5234
5235        * lib/ppc-backtrace.lisp: PPC version of
5236        %find-register-argument-value had the same sort of fencepost as the
5237        x86-64 version had a few days ago.
5238
52392006-06-10 23:52  gb
5240
5241        * lib/arglist.lisp: %ARGLIST-INTERNAL: if generic-function, return
5242        its GENERIC-FUNCTION-LAMBDA-LIST.
5243
52442006-06-10 23:51  gb
5245
5246        * level-1/l1-clos.lisp: Give reader/writer method args more
5247        descriptive names. (Barely more descriptive ...)
5248
52492006-06-10 19:25  gb
5250
5251        * level-1/l1-clos-boot.lisp: Arrgh.  In
5252        %MAYBE-STD-SETF-SLOT-VALUE-USING-CLASS, we know nothing about the
5253        type of the instance, so don't use INSTANCE.SLOTS (instead, let
5254        INSTANCE-SLOTS do a TYPECASE; it's inlined at this point.)
5255       
5256        This was keeping non-standard instances - like ObjC classes and
5257        metaclasses - from having some of their slots initialized
5258        correctly.
5259
52602006-06-10 19:22  gb
5261
5262        * examples/objc-clos.lisp: PRINT-OBJECT methods for objc-class,
5263        objc-metaclass: don't die if the class is unnamed (makes it easier
5264        to print classes for debugging during initialization.)
5265
52662006-06-10 13:05  gb
5267
5268        * level-1/ppc-trap-support.lisp: Fix LinuxPPC64 versions of
5269        XP-FPSCR-INFO and XP-DOUBLE-FLOAT.
5270
52712006-06-08 05:01  gb
5272
5273        * release-notes.txt: Update a bit.
5274
52752006-06-08 03:56  gb
5276
5277        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump
5278        image-abi-version.
5279
52802006-06-08 03:46  gb
5281
5282        * xdump/faslenv.lisp: Bump (min) fasl version.
5283
52842006-06-08 03:35  gb
5285
5286        * lib/nfcomp.lisp: Bump (current) fasl-version.
5287
52882006-06-08 03:28  gb
5289
5290        * lisp-kernel/linuxx8664/Makefile: -O2.
5291
52922006-06-08 03:26  gb
5293
5294        * xdump/faslenv.lisp: Bump (max) fasl version.
5295
52962006-06-08 03:18  gb
5297
5298        * level-1/version.lisp: Bump; give x86-64 port the benefit of the
5299        doubt and claim that it's a beta.
5300
53012006-06-08 03:18  gb
5302
5303        * lisp-kernel/darwinppc64/Makefile: Enable -O2.
5304
53052006-06-08 03:17  gb
5306
5307        * lisp-kernel/darwinppc/Makefile: Some commented-out debugging
5308        options; enable -O2.
5309
53102006-06-08 02:55  gb
5311
5312        * lisp-kernel/x86-exceptions.c: thread_signal_setup() moved here.
5313        Handle suspend (and maybe someday resume, again) signals on the
5314        altstack, since we don't really want a signal context in the middle
5315        of the tagged lisp stack ...
5316
53172006-06-08 02:52  gb
5318
5319        * lisp-kernel/thread_manager.c: thread_signal_setup() moved to
5320        PLATFORM-exceptions.c; some constants/prototypes moved to
5321        Threads.h.
5322
53232006-06-08 02:51  gb
5324
5325        * lisp-kernel/ppc-exceptions.c: suspend_resume_handler() installed
5326        via install_signal_handler(); thread_signal_setup() moved here, to
5327        do that installation.
5328
53292006-06-08 02:50  gb
5330
5331        * lisp-kernel/pmcl-kernel.c: Don't enable_fp_exceptions() twice.
5332       
5333        Don't call (or define) prepare_for_the_worst(), which is kind of
5334        too bad ...
5335
53362006-06-08 02:49  gb
5337
5338        * lisp-kernel/Threads.h: suspend/resume constants, prototypes.
5339
53402006-06-08 01:11  gb
5341
5342        * level-1/l1-files.lisp: Back out of ill-advised changed to %LOAD;
5343        let OPTIMIZE proclamations persist beyond the LOAD.
5344
53452006-06-07 21:45  gb
5346
5347        * lisp-kernel/x86-subprims64.s: No nore %tsp/%Rnext_tsp.
5348
53492006-06-07 21:38  gb
5350
5351        * lisp-kernel/x86-spentry64.s: Don't maintain current/next tsp in
5352        MMX regs.  Do maintain them in TCR.
5353
53542006-06-07 21:37  gb
5355
5356        * lisp-kernel/x86-macros.s: Don't maintain %tsp when stack-consing;
5357        update (decrement) tcr.next_tsp atomically, use %stack_temp as a
5358        temporary (old tsp), finish frame by storing into tcr.save_tsp.
5359
53602006-06-07 21:34  gb
5361
5362        * lisp-kernel/x86-exceptions.c: tsp is in the TCR now.
5363
53642006-06-07 21:33  gb
5365
5366        * lisp-kernel/x86-constants64.s: No more %tsp, %Rnext_tsp.  Define
5367        %stack_temp.
5368
53692006-06-07 21:32  gb
5370
5371        * lisp-kernel/x86-constants64.h: No more Itsp, Inext_tsp.
5372
53732006-06-07 21:30  gb
5374
5375        * level-0/X86/x86-def.lisp: %CURRENT-TSP: the tsp is in the TCR
5376        now.
5377
53782006-06-07 21:30  gb
5379
5380        * compiler/X86/X8664/x8664-vinsns.lisp: Don't try to maintain %tsp
5381        (since it no longer exists ...).  Use %stack-temp in some cases.
5382
53832006-06-07 21:29  gb
5384
5385        * compiler/X86/X8664/x8664-arch.lisp: No more %tsp or %next-tsp.
5386        %stack-temp is a symbolic name for an MMX register that can be used
5387        for (e.g.) linking frames on the temp/foreign stacks (or for any
5388        other purpose ...)
5389
53902006-06-07 15:29  gb
5391
5392        * compiler/X86/X8664/x8664-vinsns.lisp: No more %Rforeign_sp.  Keep
5393        tcr.next_tsp in sync with %next_tsp Check to ensure that
5394        %tsp,tcr.save_tsp,and tcr.next_tsp all have the same value when
5395        allocating on the temp stack.  (This will soon change, so that %tsp
5396        and %next_tsp will not be canonical and the tcr fields are, then
5397        will change so that %tsp and %next_tsp will cease to exist.)
5398
53992006-06-07 15:25  gb
5400
5401        * lisp-kernel/x86-subprims64.s: No more %Rforeign_sp.
5402
54032006-06-07 15:25  gb
5404
5405        * lisp-kernel/: x86-macros.s, x86-spentry64.s: Keep tcr.next_tsp in
5406        sync with %Rnext_tsp.  No more %Rforeign_sp, but we can use %mm5 as
5407        a temporary.
5408
54092006-06-07 15:23  gb
5410
5411        * lisp-kernel/x86-exceptions.c: Find the foreign RSP from the TCR;
5412        don't need FP regs for this.  (They're sometimes invalid and
5413        sometimes missing, which is the point of recent changes.)
5414
54152006-06-07 15:21  gb
5416
5417        * lisp-kernel/x86-constants64.s: No foreign_sp.  Rename %next_tsp
5418        to %Rnext_tsp to avoid potential m4 lossage.
5419
54202006-06-07 15:20  gb
5421
5422        * lisp-kernel/x86-constants64.h: No Iforeign_sp.
5423
54242006-06-07 15:20  gb
5425
5426        * lisp-kernel/thread_manager.c: Initialize tcr->next_tsp on X86.
5427
54282006-06-07 15:19  gb
5429
5430        * level-1/version.lisp: Bump.
5431
54322006-06-07 15:19  gb
5433
5434        * level-0/X86/x86-def.lisp: Get foreign-sp from the TCR.
5435
54362006-06-07 15:18  gb
5437
5438        * compiler/X86/X8664/x8664-arch.lisp: More bootstrapping: no more
5439        foreign-sp register (though some code still uses %mm5 as a
5440        temporary, the "canonical" foreign SP is maintained in the TCR.)
5441
54422006-06-07 04:52  gb
5443
5444        * lisp-kernel/x86-macros.s: When making a catch/unwind-protect
5445        frame, get the foreign SP out of the TCR.
5446
54472006-06-07 04:52  gb
5448
5449        * compiler/X86/X8664/x8664-vinsns.lisp,
5450        lisp-kernel/x86-spentry64.s: More bootstrapping: continue to
5451        maintain the foreign sp in both the TCR and the MMX register, but
5452        consider the TCR version to be canonical.
5453
54542006-06-07 02:46  gb
5455
5456        * compiler/X86/X8664/x8664-vinsns.lisp: More bootstrapping: if the
5457        %tsp MMX register doesn't match the value in the tcr, trap.
5458        Likewise for %foreign-sp.
5459
54602006-06-07 01:29  gb
5461
5462        * compiler/X86/X8664/x8664-vinsns.lisp, lisp-kernel/x86-macros.s,
5463        lisp-kernel/x86-spentry64.s: Try to keep tcr.save_tsp in synch with
5464        %tsp, and likewise for %Rforeign_sp/tcr.foreign_sp.
5465       
5466        (The idea is to keep the temp/foreign stack pointers in the tcr and
5467        only use the MMX registers as temporaries, since it seems that
5468        handlers for asynchronous signals can't count on the MMX register
5469        values in the signal context being correct.  This seems to either
5470        be a Linux kernel bug or ill-considered if it's intentional
5471        behavior, but it seems better to work around it this way.)
5472       
5473        This is just an early step in bootstrapping that change; it's being
5474        checked into CVS so that it doesn't get lost (and so that I can
5475        recover to this point if/when I hose things on a later step.)
5476
54772006-06-07 01:24  gb
5478
5479        * compiler/X86/X8664/x8664-arch.lisp: Add a next-tsp slot to the
5480        tcr.
5481
54822006-06-07 01:22  gb
5483
5484        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Add a
5485        next_tsp slot to the tcr.
5486
54872006-06-06 04:25  gb
5488
5489        * lib/ppc-metering.lisp: no hope
5490
54912006-06-06 04:22  gb
5492
5493        * lib/x86-backtrace.lisp: %find-register-argument-value: Current
5494        frame (cfp argument) could be an exception callback frame (xcf-p
5495        may be true of it), in which case the saved register value is in
5496        the xcf.xp context.  (Basically, this means look at the first frame
5497        if it's an xcf, otherwise skip it and start with the child.)
5498
54992006-06-06 01:48  gb
5500
5501        * compiler/X86/x86-lapmacros.lisp,
5502        compiler/X86/X8664/x8664-vinsns.lisp, lisp-kernel/x86-macros.s:
5503        Using imul to box fixnums is smaller and seems to be faster than
5504        using lea with a scale factor.
5505
55062006-06-05 23:56  gb
5507
5508        * lisp-kernel/thread_manager.c: I don't think that
5509        suspend_resume_handler wants to have suspend signals unmasked, does
5510        it ?
5511
55122006-06-05 12:43  gb
5513
5514        * library/chud-metering.lisp: area-readonly is in ccl:: now.
5515
55162006-06-03 03:11  gb
5517
5518        * lisp-kernel/x86-spentry64.s: In _SPnthrowvalues: don't skip the
5519        last catch frame, do skip others (test was backwards.  As it
5520        probably had been in the single-value case at one point.)
5521
55222006-06-02 03:48  gb
5523
5524        * lib/encapsulate.lisp: Don't print trace indent/outdent stuff to
5525        *terminal-io*; do print it to *trace-output*.
5526
55272006-06-01 20:20  gb
5528
5529        * level-0/l0-array.lisp: There's a T in subtag.
5530
55312006-06-01 20:17  gb
5532
5533        * compiler/X86/x862.lisp: X862-MVCALL wasn't handling things like:
5534       
5535        (multiple-value-bind (...)   (multiple-value-call #'foo ...))
5536       
5537        correctly.
5538
55392006-06-01 20:16  gb
5540
5541        * compiler/nx0.lisp: Defvars for global optimization quantities
5542        moved to level-0.
5543
55442006-06-01 20:15  gb
5545
5546        * level-1/l1-files.lisp: Bind the variables which hold global
5547        compiler optimization quantities, since people persist in doing
5548        things like:
5549       
5550        (declaim (optimize
5551        <something-that-they-probably-think-has-local-effects>))
5552       
5553        without bothering to use EVAL-WHEN or otherwise thinking very
5554        clearly.
5555       
5556        Note that this means that anyone who wanted such a declamation to
5557        have persistent global effects is now SOL.  Blame whoever wrote
5558        (for instance) clx/glx.lisp.
5559
55602006-06-01 20:11  gb
5561
5562        * level-0/l0-init.lisp: Move *nx-speed*, etc here, so that they can
5563        be referenced early in the cold load.
5564
55652006-06-01 13:13  gb
5566
5567        * lib/x86-backtrace.lisp: In %FIND-REGISTER-ARGUMENT-VALUE, pass a
5568        pointer to ENCODED-GPR-LISP if we have to get the register value
5569        from an exception frame.
5570
55712006-05-30 19:27  gwking
5572
5573        * tools/asdf.lisp: Updated asdf to the current CVS head (revision
5574        1.98)
5575
55762006-05-30 17:12  gb
5577
5578        * level-1/version.lisp: bump again.
5579
55802006-05-30 16:31  gb
5581
5582        * lisp-kernel/x86-spentry64.s: When unwinding the stack, try to
5583        ensure that tcr.xframe is updated from the catch frame (a) in all
5584        execution paths and (b) before RSP is updated.
5585
55862006-05-30 16:30  gb
5587
5588        * level-0/l0-array.lisp, lib/sequences.lisp: Handle (simple) fixnum
5589        vectors.
5590
55912006-05-30 16:29  gb
5592
5593        * level-1/l1-typesys.lisp: Add a DEFTYPE for fixnum vectors.
5594
55952006-05-30 16:29  gb
5596
5597        * release-notes.txt: Update some more ...
5598
55992006-05-30 16:23  gb
5600
5601        * lib/ccl-export-syms.lisp: There are two 'e's in UNPROCESSED.
5602        Apparently.
5603
56042006-05-30 16:15  gb
5605
5606        * release-notes.txt: updated
5607
56082006-05-30 01:58  gb
5609
5610        * level-1/version.lisp: Bump.
5611
56122006-05-30 01:48  gb
5613
5614        * lisp-kernel/x86-exceptions.c: altstack_interrupt_handler: having
5615        made copies of the signal context and siginfo on the foreign stack,
5616        don't pass the originals to interrupt_handler().
5617       
5618        (altstack_interrupt_handler() looks suspiciously like
5619        altstack_signal_handler(), which probably had the same bug a few
5620        months ago ...)
5621       
5622        Since the alternate signal stack (as we use it) isn't reentrant,
5623        the next signal (perhaps a suspend signal) overwrote the context.
5624        Which is one reason to have made a copy in the first place ...
5625
56262006-05-30 01:43  gb
5627
5628        * level-1/l1-lisp-threads.lisp: In THREAD-ENABLE, use the new
5629        %TIMED-WAIT-ON-SEMAPHORE-PTR; regardless of whether or not a
5630        timeout is a good idea here, make sure that the timeout isn't
5631        fooled by #$EINTR.
5632
56332006-05-30 01:39  gb
5634
5635        * level-1/linux-files.lisp: Rename the old
5636        %TIMED-WAIT-ON-SEMAPHORE-PTR to %PROCESS-WAIT-ON-SEMAPHORE-PTR,
5637        since it basically waits indefinitely.
5638       
5639        Split out the functionality in TIMED-WAIT-ON-SEMAPHORE into a new
5640        %TIMED-WAIT-ON-SEMAPHORE-PTR function, so that it's possible to do
5641        a "timed wait" that handles interruptions, etc. when the caller
5642        just has a "raw" (native) semaphore.
5643       
5644        Change callers, endure warnings.  New binaries soon.
5645
56462006-05-30 01:36  gb
5647
5648        * level-0/l0-misc.lisp: When waiting for a lock, use the new
5649        %PROCESS-WAIT-ON-SEMAPHORE-PTR.
5650
56512006-05-29 22:34  gb
5652
5653        * lisp-kernel/x86-exceptions.c: The
5654        clear_tcr_save_allocptr_tag_instruction opcode array was one byte
5655        too small ...
5656
56572006-05-29 14:03  gb
5658
5659        * level-1/linux-files.lisp: In %OS-GETCWD: don't trust
5660        syscall-based getcwd (it doesn't work as it once did/is documented
5661        to on linuxx8664); use the library function on all platforms.
5662
56632006-05-29 14:02  gb
5664
5665        * lisp-kernel/x86-exceptions.c: Clear interrupt_pending flag before
5666        processing interrupt.
5667
56682006-05-28 17:01  gb
5669
5670        * lisp-kernel/ppc-exceptions.c: If we handle a
5671        SIGNAL_FOR_PROCESS_INTERRUPT trap, clear tcr->interrupt_pending.
5672       
5673        Back out of the hack that tried to work around a Darwin bug (FP
5674        exception flags were cleared in the MSR after a thread had been
5675        interrupted via pthread_kill()), since the fix seems not to be
5676        GC-safe.
5677       
5678        Add some debugging code to print when the exception lock is
5679        acquired/released.
5680
56812006-05-28 01:10  gb
5682
5683        * level-1/solaris-files.lisp: long gone
5684
56852006-05-23 20:25  gb
5686
5687        * compiler/: PPC/ppc2.lisp, X86/x862.lisp: D'oh!
5688
56892006-05-22 22:59  gb
5690
5691        * darwin-headers/addressbook/: C/populate.sh, .cvsignore,
5692        C/.cvsignore: New file.
5693
56942006-05-22 22:57  gb
5695
5696        * level-1/l1-processes.lisp: PROCESS-SUSPEND: don't allow current
5697        thread to suspend itself.
5698
56992006-05-22 22:57  gb
5700
5701        * compiler/PPC/PPC64/ppc64-vinsns.lisp: Use the SP red zone to load
5702        SINGLE-FLOAT constants.
5703       
5704        SINGLE-FLOAT foreign args are stored in the low 32 bits of each
5705        64-bit arg word, regardless of whether they're also passed in
5706        f1-f13 as well.
5707
57082006-05-22 22:55  gb
5709
5710        * compiler/PPC/PPC64/ppc64-backend.lisp: Callback fixes:
5711        SINGLE-FLOATs passed in memory are passed in the low 32 bits of the
5712        64-bit word.
5713
57142006-05-22 22:54  gb
5715
5716        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Use the red zone (on SP)
5717        for LOAD-SINGLE-FLOAT-CONSTANT, LOAD-DOUBLE-FLOAT-CONSTANT.
5718
57192006-05-22 22:53  gb
5720
5721        * compiler/PPC/PPC32/ppc32-backend.lisp: "poweropen ABI" (Darwin)
5722        callback fixes: SINGLE-FLOATs passed in memory are passed as ...
5723        SINGLE-FLOATs, so don't use %GET-SINGLE-FLOAT-FROM-DOUBLE-PTR to
5724        access them.
5725
57262006-05-22 03:53  gb
5727
5728        * level-1/version.lisp: Bump.
5729
57302006-05-22 03:32  gb
5731
5732        * compiler/X86/X8664/x8664-vinsns.lisp: fixnum->float vinsns.
5733
57342006-05-22 03:31  gb
5735
5736        * compiler/X86/x862.lisp: Numeric contagion on binops,
5737        fixnum->float.
5738
57392006-05-22 03:29  gb
5740
5741        * compiler/PPC/ppc2.lisp: Do stupid self-tail-call tricks on PPC as
5742        well.
5743
57442006-05-22 03:28  gb
5745
5746        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Load tcr.cs-limit a little
5747        earlier when creating a stack frame inline.  Doesn't seem to affect
5748        latency much.
5749
57502006-05-22 03:27  gb
5751
5752        * compiler/X86/x862.lisp: Comment formatting on the first line of
5753        the file.
5754
57552006-05-22 03:26  gb
5756
5757        * compiler/nx0.lisp: Check argument counts on self-calls.  (AFAIK,
5758        this hasn't been done for at least 20 years in MCL/OpenMCL ...)
5759
57602006-05-21 07:34  gb
5761
5762        * compiler/X86/x862.lisp: Long-standing X862-COPY-REGISTER bug.
5763
57642006-05-21 07:32  gb
5765
5766        * compiler/PPC/ppc2.lisp: Implement (late) div2; use (simple)
5767        numeric-contagion stuff for arithmetic ops.
5768
57692006-05-21 07:31  gb
5770
5771        * compiler/nx1.lisp: Use div2 for /-2.
5772
57732006-05-21 07:31  gb
5774
5775        * compiler/nx0.lisp: Binop numeric contagion.
5776
57772006-05-21 06:49  gb
5778
5779        * compiler/nx0.lisp: ACODE-REAL-CONSTANT-P.
5780
57812006-05-21 06:49  gb
5782
5783        * compiler/PPC/ppc2.lisp: Weird case in ppc2-copy-register wasn't
5784        weird, just wrong.
5785
57862006-05-21 06:17  gb
5787
5788        * level-0/l0-pred.lisp: PPC64: %typep recognizes
5789        SIMPLE-FIXNUM-VECTORs.
5790
57912006-05-21 06:16  gb
5792
5793        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
5794        Fixnum vector stuff.  FIXNUM->FPR uses SP red zone.
5795
57962006-05-21 06:16  gb
5797
5798        * compiler/PPC/PPC32/ppc32-arch.lisp,
5799        compiler/PPC/PPC64/ppc64-arch.lisp, lisp-kernel/ppc-constants64.h,
5800        lisp-kernel/ppc-constants64.s, lisp-kernel/ppc-spentry.s: Fixnum
5801        vector stuff.
5802
58032006-05-21 06:15  gb
5804
5805        * compiler/PPC/ppc2.lisp: %fixnum-to-single, %fixnum-to-double.
5806       
5807        Fixnum vector vref/vset.
5808
58092006-05-21 06:15  gb
5810
5811        * compiler/: nx1.lisp, nxenv.lisp: %fixnum-to-single,
5812        %fixnum-to-double.
5813
58142006-05-21 06:14  gb
5815
5816        * compiler/nx0.lisp: More operator result types.
5817
58182006-05-21 04:35  gb
5819
5820        * level-0/l0-array.lisp, level-0/l0-pred.lisp,
5821        level-1/l1-aprims.lisp, level-1/l1-clos-boot.lisp: Integrate
5822        specialized FIXNUM array-element-type into type system, CLOS.
5823        (Knock wood.)
5824
58252006-05-21 04:34  gb
5826
5827        * lisp-kernel/x86-spentry64.s: Support for (out-of-line)
5828        fixnum-vector access (.SPmisc_ref, .SPmisc_set).
5829
58302006-05-21 04:33  gb
5831
5832        * compiler/X86/X8664/x8664-arch.lisp,
5833        lisp-kernel/x86-constants64.h, lisp-kernel/x86-constants64.s: New
5834        subtag for :fixnum-vector.
5835
58362006-05-21 04:32  gb
5837
5838        * compiler/X86/x862.lisp: 64-bit vset wasn't handling non-constant
5839        indices correctly.
5840       
5841        64-bit vset, vref: handle :FIXNUM-VECTOR.
5842
58432006-05-21 00:22  gb
5844
5845        * level-0/l0-aprims.lisp: Spell istruct-typep correctly.
5846
58472006-05-20 18:13  gb
5848
5849        * compiler/X86/x862.lisp: Do some self-tail calls (fixed args, no
5850        stack args) without restoring/re-saving NVRs.
5851
58522006-05-19 15:07  gb
5853
5854        * level-1/linux-files.lisp: RUN-PROGRAM: waiting for the child's
5855        completion semaphore (when :WAIT is true) happens inside an
5856        UNWIND-PROTECT cleanup and therefore needs to explicitly allow
5857        interrupts.
5858
58592006-05-19 15:06  gb
5860
5861        * level-0/l0-aprims.lisp: Add SEMAPHOREP, make it a type-predicate
5862        for SEMAPHORE.
5863
58642006-05-19 12:23  gwking
5865
5866        * lib/misc.lisp: Added help and redisplay to select-item-from-list.
5867        Also changed it so that it displays all items before trying to get
5868        an answer.
5869
58702006-05-19 12:00  gwking
5871
5872        * .cvsignore: The *fsl wasn't cutting it for me..., take two
5873
58742006-05-19 11:57  gwking
5875
5876        * .cvsignore: The *fsl wasn't cutting it for me...
5877
58782006-05-19 11:50  gb
5879
5880        * level-1/version.lisp: Bump.
5881
58822006-05-19 11:49  gb
5883
5884        * level-1/l1-streams.lisp: Change the EVAL-WHEN that requires
5885        syscall definitions so that it can be moused on.
5886
58872006-05-19 11:48  gb
5888
5889        * compiler/X86/X8664/: x8664-arch.lisp, x8664-vinsns.lisp:
5890        .SPeabi-syscall -> .SPsyscall.
5891
58922006-05-19 11:45  gb
5893
5894        * compiler/X86/x862.lisp: Inline ADD2, unless we know that at least
5895        one arg couldn't be a fixnum.  (Should do the same for SUB2.) This
5896        does indeed burn cache lines, but going out of line isn't cheap
5897        either.  (100 million iterations of (+ x (+ y z)) - where X Y and Z
5898        are in fact fixnums and no overflow is involved - seems to be about
5899        2X faster when inlined this way.  Not sure if that'll be the case
5900        on PPC.)
5901
59022006-05-19 11:40  gb
5903
5904        * compiler/nx0.lisp: Use NX-TARGET-TYPE in some of the acode-type
5905        stuff.
5906
59072006-05-18 14:47  gb
5908
5909        * lisp-kernel/ppc-spentry.s: When unwinding the stack (hopefully,
5910        in all places that do so ...), update tcr.xframe from
5911        catch_frame.xframe on all execution paths (in particular, do so
5912        before SP is restored from the catch_frame, since a tcr.xframe
5913        "beyond" SP is clearly bogus.)
5914
59152006-05-18 02:34  gb
5916
5917        * level-1/version.lisp: Bump.
5918
59192006-05-17 23:12  gb
5920
5921        * compiler/PPC/ppc2.lisp: "late" acode-type stuff (add2/sub2/mul2)
5922        for PPC, too.
5923
59242006-05-17 22:53  gb
5925
5926        * level-0/X86/x86-float.lisp: %FP-ERROR-FROM-STATUS: don't cons an
5927        &REST arg.  Should do a quicker test (logandc2 and a shift) to see
5928        if any unmasked exceptions were raised before even calling this ...
5929
59302006-05-17 22:51  gb
5931
5932        * compiler/X86/X8664/x8664-vinsns.lisp: If we have to spill
5933        SINGLE-FLOAT registers, spill them (boxed) on the vstack.
5934
59352006-05-17 22:50  gb
5936
5937        * compiler/X86/x862.lisp: Work harder to find acode types in some
5938        cases.
5939
59402006-05-17 22:50  gb
5941
5942        * compiler/X86/x86-disassemble.lisp: Handle (new-style) byte
5943        registers in OP-REG.
5944       
5945        Don't want to use RET very often if at all, but disassembler should
5946        treat as as a :JUMP.
5947
59482006-05-17 22:48  gb
5949
5950        * compiler/nxenv.lisp: MUL2, DIV2.
5951
59522006-05-17 22:48  gb
5953
5954        * compiler/: nx0.lisp, nx1.lisp: A little of that there
5955        type-inferencing (or, more accurately, paying a little more
5956        attention here and there.)
5957
59582006-05-12 20:40  gwking
5959
5960        * examples/addressbook.lisp: added examples/addressbook.lisp
5961
59622006-05-11 18:42  gb
5963
5964        * level-1/l1-application.lisp: Stop processing command-line
5965        arguments when "--" is encountered; anything after that "--" is
5966        retained in CCL:*UNPROCESSED-COMMAND-LINE-ARGUMENTS*.
5967
59682006-05-11 18:42  gb
5969
5970        * lib/ccl-export-syms.lisp: Export command-line stuff
5971
59722006-05-11 18:40  gb
5973
5974        * level-1/l1-processes.lisp: Lennart Staflin's fix to PRINT-OBJECT
5975        method for LOCKs.
5976
59772006-05-11 18:39  gb
5978
5979        * level-1/l1-files.lisp: In %DIFECTORY-LIST-NAMESTRING: all strings
5980        are base-strings (and always have been in OpenMCL.)
5981
59822006-05-11 18:37  gb
5983
5984        * level-1/l1-sockets.lisp: CCL:BASE-CHARACTER -> CL:BASE-CHAR.
5985
59862006-05-11 08:11  gwking
5987
5988        * lib/db-io.lisp: Added a check that the directory exists to
5989        fid-open-output in order to make it clearer what is wrong when one
5990        is unable to rebuild interface files because they are trying to do
5991        so in a place without FFI files to read!
5992
59932006-05-11 05:14  gb
5994
5995        * level-1/version.lisp, lisp-kernel/image.h, xdump/heap-image.lisp:
5996        Bump lisp-implementation-version, image-abi-version.
5997
59982006-05-11 05:04  gb
5999
6000        * xdump/faslenv.lisp: Bump (min) fasl version.
6001
60022006-05-11 04:52  gb
6003
6004        * lib/nfcomp.lisp: Bump (current) FASL version.
6005
60062006-05-11 04:52  gb
6007
6008        * level-1/l1-files.lisp: FASL-FILE-P looks for inital #xFF00
6009        (big-endian) instead of just #xff, to avoid UTF-16 BOM confusion.
6010
60112006-05-11 04:35  gb
6012
6013        * xdump/faslenv.lisp: Bump (max) fasl version.
6014
60152006-05-11 04:32  gb
6016
6017        * compiler/X86/X8664/x8664-backend.lisp: Little-endianness is a
6018        target-specific feature.
6019
60202006-05-11 03:35  gb
6021
6022        * compiler/PPC/PPC32/ppc32-arch.lisp,
6023        compiler/PPC/PPC32/ppc32-vinsns.lisp, level-0/l0-array.lisp,
6024        level-0/l0-pred.lisp, level-0/PPC/ppc-array.lisp,
6025        level-1/l1-aprims.lisp, level-1/l1-clos-boot.lisp,
6026        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
6027        lisp-kernel/ppc-spentry.s, xdump/xppcfasload.lisp: Juggle PPC32
6028        typecodes around: get rid of the (unused) old 16-bit string; add an
6029        (as yet unused) UCS-4 string type.
6030       
6031        These changes generally involve cross-compilation (or some very
6032        tricky bootstrapping that I didn't attempt)  FASL versions and
6033        kernel ABI versions will need to change, and new binaries will be
6034        made available soon.
6035
60362006-05-10 20:20  gb
6037
6038        * compiler/PPC/ppc-lapmacros.lisp,
6039        compiler/PPC/PPC32/ppc32-arch.lisp,
6040        compiler/PPC/PPC32/ppc32-vinsns.lisp,
6041        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s:
6042        Change CHARCODE-SHIFT constant on PPC32, so that the (currently
6043        8-bit) character code is stored in the #x0000xx00 byte of a
6044        CHARACTER, rather than in the #x00xx0000 byte,  This is hard to
6045        bootstrap natively (which is why I was trying to make ppc64->ppc32
6046        cross-compilation work.)
6047       
6048        Change related macros/visnsns as well.
6049
60502006-05-10 19:00  gb
6051
6052        * xdump/xppcfasload.lisp: Reintroduce a TARGET-ARCH-CASE, but I
6053        think that this is just hard to do right the way that it's being
6054        done.
6055
60562006-05-10 18:59  gb
6057
6058        * level-1/ppc-threads-utils.lisp: BOGUS-THING-P is hard to do right
6059        when cross-compiling (because word-size differences aren't handled
6060        correctly by macros.)  Until the macros are fixed, don't even try
6061        ...
6062
60632006-05-10 18:58  gb
6064
6065        * level-1/l1-clos-boot.lisp: In NEW-CLASS-WRAPPER-HASH-INDEX, user
6066        target::target-most-positive-fixnum (not the host's
6067        MOST-POSITIVE-FIXNUM).
6068
60692006-05-10 18:57  gb
6070
6071        * compiler/: nx0.lisp, nx1.lisp: Use NX-TARGET-TYPE in at least a
6072        few places.
6073
60742006-05-10 18:56  gb
6075
6076        * compiler/nx.lisp: XCOMPILE-LAMBDA binds *TARGET-BACKEND*.
6077
60782006-05-10 18:55  gb
6079
6080        * compiler/nx-basic.lisp: NX-TARGET-TYPE: there may be other
6081        differences between host and target types, but try to turn
6082        references to FIXNUM to the appropriate target-specific type.
6083
60842006-05-09 21:01  gb
6085
6086        * compiler/PPC/PPC32/ppc32-vinsns.lisp: UNBOX-BASE-CHAR just checks
6087        that the lowbyte is SUBTAG-CHARACTER; it used to rotate things
6088        around to check the high bits of the char code, but all chars have
6089        been base-chars for several years now ...
6090       
6091        UNBOX-CHARACTER was unused.
6092       
6093        (This is the first step of what may be several bootstrapping steps
6094        to change PPC32::CHARCODE-SHIFT from 16 to 8, so that we have 24
6095        easily-accessed char-code bits on PPC32.)
6096
60972006-05-09 11:48  gb
6098
6099        * lisp-kernel/xlbt.c: No psn in cs_area.
6100
61012006-05-09 02:42  gb
6102
6103        * lisp-kernel/: gc.h, ppc-gc.c: Back out of the extra Boolean arg
6104        to mark_simple_area_range().
6105
61062006-05-09 02:33  gb
6107
6108        * compiler/PPC/: PPC32/ppc32-backend.lisp,
6109        PPC64/ppc64-backend.lisp: Endianness is also target-specific.
6110
61112006-05-09 02:25  gb
6112
6113        * lisp-kernel/thread_manager.c: Thread stack areas are "owned by"
6114        the containing TCR, to make low-level debugging a bit easier.
6115
61162006-05-09 02:25  gb
6117
6118        * lisp-kernel/ppc-gc.c: Mostly some added consistency/sanity checks
6119        and debugging printfs.
6120
61212006-05-09 02:24  gb
6122
6123        * lisp-kernel/ppc-exceptions.h: Note that pc_luser_xp() needs an
6124        extra (signed_natural *) arg, for allocptr displacement.
6125
61262006-05-09 02:23  gb
6127
6128        * lisp-kernel/ppc-exceptions.c: Lots of #ifdef DEBUG fprintfs.
6129       
6130        Change the way that pc_luser_xp() and normalize_tcr() handle alloc
6131        regs/ saved TCR fields.  The general idea is that the after they
6132        run, all threads have tcr->save_allocptr/tcr_save_allocbase set to
6133        VOID_ALLOCPTR; if the thread was interrupted in lisp code, the
6134        allocbase register will be set to VOID_ALLOCPTR and allocptr will
6135        be set to either VOID_ALLOCPTR or to VOID_ALLOCPTR-disp.
6136       
6137        On an interrupt, the caller needs to pass in a signed_natural * to
6138        pick up the allocptr displacement (if consing was interrupted at
6139        the alloc trap); the interrupt handler uses this value to fix up
6140        alloptr when it returns if consing was interrupted.
6141       
6142        This is all pretty clearly right, but something still goes wrong
6143        under some combination of high thread stress, frequent allocation,
6144        and blocking ff-calls.
6145
61462006-05-09 02:17  gb
6147
6148        * lisp-kernel/plbt.c: No psn currently available.
6149
61502006-05-09 02:16  gb
6151
6152        * lisp-kernel/lisp-debug.c: Bug() passes xp to lisp_Debugger(),
6153        where it may come in handy ...
6154
61552006-05-09 02:16  gb
6156
6157        * lisp-kernel/gc.h: mark_simple_area_range() takes an added Boolean
6158        arg.
6159
61602006-05-09 02:13  gb
6161
6162        * lisp-kernel/area.h: area struct's owner is a (TCR *).
6163
61642006-05-09 02:12  gb
6165
6166        * level-1/l1-error-system.lisp: $xfunbnd was used after all.
6167        Restore it.
6168
61692006-05-09 02:12  gb
6170
6171        * level-0/l0-error.lisp, library/lispequ.lisp,
6172        lisp-kernel/errors.s: $xfunbnd was used after all.  Restore it, and
6173        recycle $XNOCDR.
6174
61752006-05-09 02:11  gb
6176
6177        * compiler/PPC/PPC64/ppc64-backend.lisp: :64-bit-target is ...
6178        target-specific.
6179
61802006-05-09 02:11  gb
6181
6182        * compiler/PPC/PPC32/ppc32-backend.lisp: :32-bit-target is ...
6183        target-specific.
6184
61852006-05-09 00:40  gb
6186
6187        * level-1/l1-lisp-threads.lisp: Foreign thread callback stuff moved
6188        here.
6189
61902006-05-09 00:39  gb
6191
6192        * level-1/x86-threads-utils.lisp: Support for BOGUS-THING-P on
6193        x8664.
6194
61952006-05-09 00:39  gb
6196
6197        * level-1/ppc-threads-utils.lisp: Move foreign-thread callback
6198        stuff up to l1-lisp-threads.lisp.
6199
62002006-05-08 22:58  gb
6201
6202        * lisp-kernel/ppc-spentry.s: misc_ref/misc_set jump tables on PPC64
6203        handle array and vector headers.
6204
62052006-05-08 22:57  gb
6206
6207        * library/lispequ.lisp: Synch errors $xbadvec, $xsetbadvec (neither
6208        of which should ever happen) with the kernel.
6209
62102006-05-08 22:56  gb
6211
6212        * level-1/l1-processes.lisp: %PROCESS-PRESET-INTERNAL doesn't need
6213        the TCR either.
6214
62152006-05-08 22:55  gb
6216
6217        * level-1/l1-error-system.lisp: $XFUNBND is no more.
6218
62192006-05-08 22:55  gb
6220
6221        * level-0/l0-error.lisp: Define the format strings for $xbadvec,
6222        $xsetbadvec.
6223
62242006-05-08 03:26  gb
6225
6226        * lisp-kernel/x86-spentry64.s: .SPstkconslist_star: ensure that
6227        flags are set to the result of decrementing %nargs at the end of
6228        the loop.
6229
62302006-05-08 03:25  gb
6231
6232        * level-1/x86-error-signal.lisp: uuo-error-udf: %err-disp-internal
6233        wants a list of condition args, not a single arg.
6234
62352006-05-08 03:24  gb
6236
6237        * level-1/l1-processes.lisp: %PROCESS-PRESET-INTERNAL doesn't need
6238        CS-AREA.
6239
62402006-05-08 03:23  gb
6241
6242        * level-0/X86/x86-symbol.lisp: %FUNCTION: signal error via
6243        uuo_error_udf, not as a type error.
6244
62452006-05-07 16:50  gb
6246
6247        * lib/describe.lisp: INSPECTOR objects haven't had FORWARDED-P
6248        slots in a long time (they probably haven't -needed- them in even
6249        longer; I think that this had to do with the old partial MOP.)
6250        Don't define the slot for FUNCTION-INSPECTOR, and don't call the
6251        accessor in STANDARD-OBJECT-SETF-LINE-N.
6252
62532006-05-07 04:39  gb
6254
6255        * x86-headers64/gtk2/: .cvsignore, C/.cvsignore, C/populate.sh: New
6256        file.
6257
62582006-05-07 04:34  gb
6259
6260        * lisp-kernel/: area.h, lisp_globals.h, memory.c, pmcl-kernel.c,
6261        thread_manager.c: Combine the AREA_LOCK and TCR_LOCK into a single
6262        lock (TCR_AREA_LOCK).  (This makes it a little harder to deadlock
6263        if code that wants both locks isn't careful to try to obtain them
6264        in some canonical order.)
6265
62662006-05-07 04:29  gb
6267
6268        * lib/x86-backtrace.lisp: Finally find those pesky registers.
6269
62702006-05-07 04:29  gb
6271
6272        * level-1/x86-threads-utils.lisp: Stub BOGUS-THING-P moves here.
6273
62742006-05-07 04:28  gb
6275
6276        * level-0/l0-cfm-support.lisp: FOREIGN-SYMBOL-ENTRY: return NIL if
6277        xFindSymbol/dlsym returns 0 on x8664.
6278
62792006-05-07 04:27  gb
6280
6281        * compiler/X86/: x86-lapmacros.lisp, X8664/x8664-vinsns.lisp: Use
6282        PSRLQ/PSLLQ for single-float boxing/unboxing.  (A few months ago,
6283        I'd mistakenly decided that it was faster to go through memory than
6284        to use these instructions.  It seems to actually be substantially
6285        slower, as one would expect.)
6286
62872006-05-07 04:25  gb
6288
6289        * compiler/X86/x86-asm.lisp: Add support for
6290        PSRLQ/PSRLDQ/PSLLQ/PSLLDQ (sse2 shifts.)
6291
62922006-05-07 04:21  gb
6293
6294        * library/hash-cons.lisp: Fix doc in comments.
6295
62962006-05-07 04:21  gb
6297
6298        * lib/ppc-backtrace.lisp: GET/SET-REGISTER-VALUE.
6299
63002006-05-07 04:20  gb
6301
6302        * lib/format.lisp: YES-OR-NO-P: bell goes to *QUERY-IO*.
6303
63042006-05-07 04:19  gb
6305
6306        * lib/backtrace-lds.lisp: Move GET/SET-REGISTER-VALUE to
6307        TARGET-backtrace.lisp.
6308
63092006-05-07 04:18  gb
6310
6311        * level-1/l1-lisp-threads.lisp: Move (implementation-dependent)
6312        BOGUS-THING-P to TARGET-thread-utils.lisp.
6313
63142006-05-07 04:17  gb
6315
6316        * level-1/ppc-threads-utils.lisp: Move (implementation-dependent)
6317        BOGUS-THING-P support here.
6318
63192006-05-07 04:16  gb
6320
6321        * level-1/l1-processes.lisp: Don't set "owner" field of tcr.cs_area
6322        to psn.
6323
63242006-05-06 15:27  gb
6325
6326        * compiler/nx1.lisp: Ash left by constant: prefer the fixnum case
6327        to the "natural" case.
6328
63292006-05-06 15:26  gb
6330
6331        * compiler/X86/x862.lisp: Pass the right number of args to
6332        NATURAL-SHIFT-LEFT and NATURAL-SHIFT-RIGHT.
6333
63342006-05-06 15:26  gb
6335
6336        * compiler/X86/X8664/x8664-vinsns.lisp: Indentation.
6337
63382006-05-06 02:09  gb
6339
6340        * lisp-kernel/thread_manager.c: Let's see: if thread X holds local
6341        A and tries to obtain lock B, and thread Y holds lock B and tries
6342        to obtain lock A, what is that a classic case of ?
6343       
6344        Try to avoid that classic deadlock case in shutdown_thread_tcr()
6345        when HAVE_TLS is in effect.  suspend_other_threads wants to hold
6346        two locks at the same time, and that's always a bit dangerous; it
6347        might be safer to merge TCR_LOCK and AREA_LOCK into a single lock
6348        that must be owned in order to manipulate either the tcr or area
6349        queues.
6350
63512006-05-06 02:04  gb
6352
6353        * level-1/linux-files.lisp: Make (%REALPATH "") behave like
6354        %REALPATH of the current directory namestring, as it does by
6355        default on some platforms (but not Linux.)
6356
63572006-05-05 20:08  gb
6358
6359        * compiler/X86/x862.lisp: x862-ff-call: really implement the
6360        simple-foreign-args stuff.  Box u64/s64, or don't ... but don't do
6361        the el-bizarro <- with a (temp) node target.
6362
63632006-05-05 20:06  gb
6364
6365        * lib/x86-backtrace.lisp: Get PC-FROM-XCF right (it needs to be
6366        relative to the tagged entrypoint, not to the start of the
6367        underlying function-vector.)
6368
63692006-05-05 13:24  gb
6370
6371        * lisp-kernel/x86-spentry64.s: Preserve NEXT-METHOD-CONTEXT when
6372        heap-consing an &REST arg.  (%allocptr and %next-method-context are
6373        the same register, so &rest clobbbers %next-method-context.)
6374       
6375        Could make separate entry points, so that this is only done when
6376        %next-method-context needs to be preserved ...
6377
63782006-05-05 13:21  gb
6379
6380        * level-0/X86/x86-def.lisp: Use RESERVED-FRAME-MARKER.
6381
63822006-05-05 02:23  gb
6383
6384        * freebsd-headers64/libc/C/populate.sh: New file.  Needs some work.
6385
63862006-05-05 02:23  gb
6387
6388        * freebsd-headers64/libc/: .cvsignore, C/.cvsignore: New file.
6389
63902006-05-05 01:37  gb
6391
6392        * level-1/version.lisp: Bump du jour.
6393
63942006-05-05 01:36  gb
6395
6396        * level-0/X86/x86-def.lisp: %FF-CALL: maintain the distinction
6397        between the first 6 words of the outgoing frame (from which GPRs
6398        will be loaded) and other words (which stay on the stack); after
6399        the first 8 FP args, floats have to be passed on the stack, even if
6400        there's still room in the first 6 words of the outgoing frame.
6401       
6402        Need to understand the struct-by-value rules better: can a struct
6403        be passed partly in registers and partly on the stack ? RTFM (or,
6404        in this case, TF ABI spec.)
6405
64062006-05-05 01:31  gb
6407
6408        * compiler/X86/x862.lisp: In X862-FF-CALL:  - the general integer
6409        case should store relative to "other-offset" (rather than   
6410        "gpr-offset") when more than 6 (not 8) GPR args have been passed. 
6411        - both the single and double-float cases were incrementing
6412        "other-offset"     twice when more than 8 FP args were involved.
6413        This had the effect of     storing floats into every other word and
6414        writing beyond the bounds of     the outgoing stack frame, possibly
6415        overwriting return addresses on the     foreign stack.
6416
64172006-05-04 23:12  gb
6418
6419        * level-1/l1-streams.lisp: James Bielman's fix to
6420        READ-TOPLEVEL-FORM (INPUT-STREAM) (EOF handling/peek-char.)
6421
64222006-05-04 18:30  gb
6423
6424        * compiler/X86/X8664/x8664-backend.lisp: When binding FP args,
6425        decrement FPR-ARG-OFFSET by 8, not -8.
6426       
6427        (This could cause values outside of the stack frame to be read, but
6428        I still haven't found what's writing beyond the frame bounds.)
6429
64302006-05-04 18:27  gb
6431
6432        * lib/x86-backtrace.lisp: If its argument is an exception callback
6433        frame, %CFP-LFUN tries to determine the relative PC associated with
6434        the frame's nominal function and return that as a second value
6435        (just as it does for a real frame.)
6436       
6437        I think that this should work a high percentage of the time, but
6438        callers should generally be prepared to deal with a NULL second
6439        return value from %CFP-LFUN.
6440
64412006-05-04 11:12  gb
6442
6443        * compiler/X86/X8664/x8664-backend.lisp: More callback issues:
6444        since we're using the same stack pointer to return values as we are
6445        to find arguments, don't try to "optimize" its initialization.
6446
64472006-05-03 18:52  gb
6448
6449        * compiler/X86/X8664/x8664-backend.lisp: Clean  up x8664 callbacks
6450        a little.  Don't coerce single float results to double; bind
6451        stack-ptr variable even if no args (might be a return value form
6452        that references it.) Failure to do the latter was creating a weird
6453        free variable reference that wasn't handled by the fasloader.
6454
64552006-05-03 18:50  gb
6456
6457        * level-0/nfasload.lisp: $fasl-vmksym-special wasn't implemented.
6458
64592006-05-03 18:49  gb
6460
6461        * lib/nfcomp.lisp: Indent a comment.
6462
64632006-05-03 18:16  gb
6464
6465        * compiler/X86/x862.lisp, level-0/X86/x86-def.lisp: In an %FF-CALL
6466        that might involve a variable-length arglist (at this level,
6467        always), set %rax to the number (0-8) of FP arguments passed in xmm
6468        registers.
6469
64702006-05-03 13:26  gb
6471
6472        * lisp-kernel/x86-exceptions.c: In find_foreign_rsp(), mask with
6473        ~15, not ~!5.  (This was causing segfaults on return from
6474        interrupts sometimes.)
6475
64762006-05-03 13:24  gb
6477
6478        * lib/backtrace.lisp: CLOSURE-CLOSED-OVER-VALUES, which is needed
6479        by SWANK/SLIME.
6480
64812006-05-03 13:23  gb
6482
6483        * lib/backtrace-lds.lisp: FRAME-SUPPLIED-ARGS, hopefully in a form
6484        that'll work on all platforms.  (Note that FRAME-SUPPLIED-ARGS
6485        seems to get many things wrong.)
6486
64872006-05-03 11:37  gb
6488
6489        * level-1/version.lisp: You mist have yesterday's version.
6490
64912006-05-03 11:37  gb
6492
6493        * level-0/X86/x86-def.lisp: Implement #'%FF-CALL.  Not too much
6494        LAP.
6495
64962006-05-03 11:36  gb
6497
6498        * level-0/l0-init.lisp: Put :X86-64 and :AMD64 on *FEATURES* if
6499        #+x8664-target.
6500
65012006-05-03 11:36  gb
6502
6503        * compiler/X86/X8664/x8664-vinsns.lisp: Bad typo in UNBOX-S64, and
6504        it can just check for a 2-digit bignum header if it has something
6505        of tag TAG-MISC.
6506
65072006-05-03 11:34  gb
6508
6509        * compiler/X86/x862.lisp: X862-COPY-REGISTER: handle :S64
6510        destinations.
6511
65122006-05-03 11:33  gb
6513
6514        * compiler/X86/x86-disassemble.lisp: Recognize
6515        uuo-error-eep-unresolved.
6516
65172006-05-02 18:07  gb
6518
6519        * level-1/version.lisp: Bump.
6520
65212006-05-02 18:07  gb
6522
6523        * lib/: backtrace-lds.lisp, describe.lisp: Comment out stuff that's
6524        (mostly ?) unused and currently PPC-specific, if it works at all
6525        ...
6526
65272006-05-02 10:27  gb
6528
6529        * level-1/l1-streams.lisp: Don't definea STREAM-CLEAR-INPUT method
6530        for STRING-INPUT-STREAMs; it's not clear what such a method should
6531        do (and fairly clear that it shouldn't do what the previous
6532        definition was doing.)
6533
65342006-05-02 10:26  gb
6535
6536        * lib/format.lisp: clear input from *query-io*, not from
6537        *terminal-io* in YES-OR-NO-P, Y-OR-N-P
6538
65392006-05-02 10:26  gb
6540
6541        * library/hash-cons.lisp: x8664 lap
6542
65432006-05-02 10:26  gb
6544
6545        * lisp-kernel/x86-gc.c: hons area stuff
6546
65472006-04-29 09:14  gb
6548
6549        * lisp-kernel/x86-exceptions.c: Write-protect handlers for stack
6550        overflow (on value/temp stacks).
6551
65522006-04-29 09:13  gb
6553
6554        * level-1/x86-trap-support.lisp: Handle stack overflow in cmain
6555        callback.
6556
65572006-04-29 09:10  gb
6558
6559        * lisp-kernel/freebsd8664/Makefile: x86-gc.o.
6560       
6561        No linker script.
6562       
6563        Use -lthr, which offers 1:1 threads.
6564
65652006-04-29 09:09  gb
6566
6567        * lisp-kernel/lisptypes.h: Remove the __sighandler typedef.
6568
65692006-04-29 09:01  gb
6570
6571        * lisp-kernel/x86-exceptions.h: xpMMXreg for FreeBSD.
6572
65732006-04-29 09:00  gb
6574
6575        * lisp-kernel/x86-exceptions.c: Don't use __sighandler_t.  (See if
6576        anything cares ...)
6577
65782006-04-29 08:59  gb
6579
6580        * lisp-kernel/x86-constants64.h: FreeBSD register constants.
6581
65822006-04-29 08:58  gb
6583
6584        * lisp-kernel/lisp-debug.c: FreeBSD regiser names.
6585
65862006-04-29 08:58  gb
6587
6588        * lisp-kernel/area.h: Update IMAGE_BASE_ADDRESS for FreeBSD.
6589
65902006-04-28 21:28  gb
6591
6592        * level-1/version.lisp: bump.
6593
65942006-04-28 21:27  gb
6595
6596        * lib/backtrace.lisp: changes to print-call-history (and "internal"
6597        version).
6598
65992006-04-28 21:24  gb
6600
6601        * lib/ppc-backtrace.lisp: Fix typo.
6602
66032006-04-28 21:23  gb
6604
6605        * level-1/l1-readloop-lds.lisp: Add :NFRAMES break loop command.
6606       
6607        Change the command/keyword parser a little, so that :FOO is just
6608        :FOO and not (:FOO).
6609       
6610        Change :B break loop command (and :F) to allow focusing on a range
6611        of frames, and change PRINT-CALL-HISTORY to more easily support
6612        that.
6613
66142006-04-28 19:37  gb
6615
6616        * level-0/PPC/ppc-numbers.lisp: Remove a quote from a LAP
6617        LOAD-CONSTANT form.
6618
66192006-04-28 19:34  gb
6620
6621        * lib/: backtrace.lisp, ppc-backtrace.lisp, x86-backtrace.lisp:
6622        Factor out a little more.  Time to see what's broken on PPC ...
6623
66242006-04-28 19:34  gb
6625
6626        * level-1/: l1-readloop-lds.lisp, l1-streams.lisp: Make parens
6627        around colon-commands optional.
6628
66292006-04-28 04:11  gb
6630
6631        * lisp-kernel/linuxx8664/.gdbinit: 'lregs' calls the kernel
6632        debugger's register display code.
6633
66342006-04-28 04:11  gb
6635
6636        * lisp-kernel/xlbt.c: Don't claim that the (legitimate) last frame
6637        on the stack is bogus.
6638
66392006-04-28 04:10  gb
6640
6641        * lisp-kernel/x86-exceptions.c: Create fake stack frames (sort of
6642        ...) when calling back for an exception.
6643
66442006-04-28 03:36  gb
6645
6646        * lisp-kernel/x86-constants64.h: A few symbolic register names.
6647       
6648        xcf struct.
6649
66502006-04-28 03:36  gb
6651
6652        * library/lispequ.lisp: FAKE-STACK-FRAME is #+ppc-target.
6653
66542006-04-28 03:36  gb
6655
6656        * lib/x86-backtrace.lisp: Implemented some stuff.
6657       
6658        Backtrace (sort of) works on x8664 now; need to find register
6659        values,  hide tagged return addresses, a few other things.
6660
66612006-04-28 03:34  gb
6662
6663        * lib/ppc-backtrace.lisp: Stuff moved here from elsewhere.
6664
66652006-04-28 03:34  gb
6666
6667        * lib/backtrace-lds.lisp: LAST-CATCH-SINCE moved elsewhere.
6668
66692006-04-28 03:33  gb
6670
6671        * level-1/x86-trap-support.lisp: Flags register accessor.
6672       
6673        New exception callback scheme.
6674
66752006-04-28 03:33  gb
6676
6677        * level-1/x86-threads-utils.lisp: The lowlevel system keeps
6678        changing.
6679
66802006-04-28 03:32  gb
6681
6682        * level-1/x86-error-signal.lisp: New exception callback stuff.
6683
66842006-04-28 03:32  gb
6685
6686        * level-1/l1-readloop-lds.lisp: No fake stack frames on x86.
6687
66882006-04-28 03:32  gb
6689
6690        * level-1/l1-lisp-threads.lisp: Move more stuff to arch-specific
6691        files.
6692
66932006-04-28 03:31  gb
6694
6695        * level-1/l1-events.lisp: No fake-stack-frames on x86, but we do
6696        have exception callback frames ...
6697
66982006-04-28 03:30  gb
6699
6700        * level-1/l1-error-system.lisp: Tweak :report method for
6701        wrong-number-of-args errors.
6702
67032006-04-28 03:30  gb
6704
6705        * level-0/X86/x86-def.lisp: Implement APPLY+.
6706
67072006-04-28 03:29  gb
6708
6709        * compiler/X86/X8664/x8664-arch.lisp: eXception Callback Frame.
6710
67112006-04-28 03:27  gb
6712
6713        * compiler/X86/x86-lapmacros.lisp: Add missing IN-PACKAGE.
6714       
6715        CHECK-NARGS: don't enforce upper bound if it's null.
6716
67172006-04-28 03:17  gb
6718
6719        * compiler/X86/x86-arch.lisp: x86 xFLAGS bits.
6720
67212006-04-28 03:16  gb
6722
6723        * compiler/nx0.lisp: Allow (FUNCTION (SETF name)) in
6724        IGNORE/IGNORABLE/DYNAMIC-EXTENT declarations.
6725
67262006-04-26 14:18  gb
6727
6728        * compiler/nx0.lisp: Allow (SETF NAME) in DEFINE-COMPILER-MACRO.
6729
67302006-04-26 14:17  gb
6731
6732        * lib/misc.lisp: Disassemble is supposed to signal an error (or "be
6733        prepared" to do so) if its argument isn't a function designator, so
6734        don't quietly call METHOD-FUNCTION for the user.
6735
67362006-04-26 13:56  gb
6737
6738        * lib/encapsulate.lisp: Use REPLACE-FUNCTION-CODE (not (SETF (UVREF
6739        ...))) in ENCAPSULATE, REMOVE-ENCAPSULATION.
6740
67412006-04-26 03:59  gb
6742
6743        * lisp-kernel/: x86-spentry64.s, x86-subprims64.s: zero out the
6744        exception bits whenever mxcsr is stored in tcr.foreign_mxcsr, so no
6745        exceptions will be pending when we start an ff-call (and the mxcsr
6746        is loaded from that location.)
6747       
6748        tcr.ffi_exception will then contain non-zero exception bits iff the
6749        most recent ff-call raised a (probably masked) FP exception.
6750       
6751        TODO: make this reentrant (PROCESS-INTERRUPT should preserve this.)
6752
67532006-04-26 03:55  gb
6754
6755        * lisp-kernel/x86-constants.s: define mxcsr exception bits.
6756
67572006-04-26 03:23  gb
6758
6759        * lisp-kernel/x86-constants64.s: Update comment on
6760        tcr.ffi_exception.
6761
67622006-04-26 03:22  gb
6763
6764        * lisp-kernel/x86-spentry64.s: Maintain tcr.ffi_exception on return
6765        from ffcall.  (Should maybe clear exception bits on entry to
6766        foreign state, so we're sure that any exception bits set in the
6767        tcr.ffi_exception slot were caused by the most recent ff-call.)
6768
67692006-04-26 03:20  gb
6770
6771        * level-0/X86/x86-float.lisp: Check MXCSR status bits from last
6772        ffcall, compare them to unmasked exception bits in current MXCSR,
6773        maybe raise FP exception.  (Note: compile this change and rebuild
6774        image before making corresponding kernel change.)
6775
67762006-04-26 02:31  gb
6777
6778        * lisp-kernel/x86-spentry64.s: .SPbuiltin-logxor was calling out to
6779        LOGAND-2, not to LOGXOR-2.  Sheesh.
6780
67812006-04-26 02:01  gb
6782
6783        * compiler/X86/X8664/x8664-vinsns.lisp: %ILOGBITP treats "large"
6784        bit numbers as tests of the sign bit.   (This is probably best
6785        viewed as being "formally undefined", but it's not too expensive to
6786        check for that.  The case where the bit number's negative is
6787        definitely undefined; I think that it also gets treated as a test
6788        of the sign bit.)
6789
67902006-04-26 01:58  gb
6791
6792        * lisp-kernel/x86-spentry64.s: Logbitp calls out if bit number
6793        negative.
6794
67952006-04-26 01:32  gb
6796
6797        * lisp-kernel/x86-spentry64.s: If both args fixnums, handle bits >=
6798        61.  (Should check here for negative bit .)
6799
68002006-04-26 01:31  gb
6801
6802        * lisp-kernel/x86-exceptions.c: If we get the "no FP regs in
6803        context" error - which typically indicates a fault during exception
6804        processing - pass the context in to the kernel debugger.
6805
68062006-04-26 01:30  gb
6807
6808        * level-0/X86/x86-pred.lisp: Change EQL doc string.
6809
68102006-04-26 00:56  gb
6811
6812        * level-0/X86/x86-pred.lisp: EQL on two bignums works much better
6813        if it compares all corresponding digits, rather than repeatedly
6814        comparing the 0th digits N times ...
6815
68162006-04-25 17:38  gb
6817
6818        * lisp-kernel/x86-spentry64.s: _SPmvslide: skip the loop if nargs
6819        is 0, not if disp is 0.  ash: always make a signed integer out of
6820        the result,  since arg is always signed.
6821
68222006-04-25 17:37  gb
6823
6824        * level-0/X86/x86-float.lisp: Negate floats by fliping the sign
6825        bit, so (for instance) (- 0.0d0) is -0.0d0.
6826
68272006-04-25 17:36  gb
6828
6829        * level-0/X86/x86-hash.lisp: Hash bignums 32 bits (not 64!) at a
6830        time.
6831
68322006-04-25 17:35  gb
6833
6834        * compiler/X86/x862.lisp: %%INEG: need to ensure that source
6835        operand is in target reg (2-address issue.)
6836
68372006-04-24 16:42  gb
6838
6839        * lisp-kernel/x86-spentry64.s: How hard can misc_set_s32 be ?
6840        Apparently, pretty hard.  It was doing a logical shift right when
6841        typechecking the value, so negative values were rejected.
6842
68432006-04-24 16:41  gb
6844
6845        * lisp-kernel/x86-exceptions.c: Call out to handle SIGFPE.  cmain
6846        callback now takes a 'signo' argument.
6847
68482006-04-24 16:40  gb
6849
6850        * level-1/x86-trap-support.lisp: Initial support for handling
6851        arithmetic errors.  Will need more work to get operation and
6852        operands right.
6853
68542006-04-24 16:39  gb
6855
6856        * lib/compile-ccl.lisp: REBUILD-CCL: :reload arg defaults to T.
6857
68582006-04-24 13:58  gb
6859
6860        * level-1/x86-error-signal.lisp: SETQ (not #'SET) in the
6861        uuo-error-reg-not-type case.
6862
68632006-04-24 13:57  gb
6864
6865        * level-0/X86/x86-float.lisp: Generally want to use FPZERO, not
6866        FP0, for 0.0[d,f]0.  (One case wanted to use fp1, but that's
6867        another story.)
6868
68692006-04-24 13:55  gb
6870
6871        * compiler/X86/X8664/x8664-vinsns.lisp: REQUIRE-REAL,
6872        REQUIRE-NUMBER: mask wont fit in 32 bits.  OTOH, doesn't need to be
6873        boxed, either.
6874
68752006-04-24 12:02  gb
6876
6877        * lisp-kernel/x86-spentry64.s: misc_set_s32: register botch.
6878        _SPtcallnfngen: several bugs, which were already fixed in similar
6879        variants.
6880
68812006-04-24 12:01  gb
6882
6883        * lisp-kernel/x86-gc.c: Use FORCE_DWS_MARK to force use of the
6884        Deutch/Waite/Schorr marker.
6885
68862006-04-24 12:00  gb
6887
6888        * lisp-kernel/pmcl-kernel.c: Only turn on GC debug bit if
6889        GC_INTEGRITY_CHECKING is defined (e.g., in Makefile.)
6890
68912006-04-24 11:59  gb
6892
6893        * level-1/linux-files.lisp: Remove debugging FORMAT call.
6894
68952006-04-24 11:58  gb
6896
6897        * level-0/X86/x86-numbers.lisp: %ROUND-NEAREST-SHORT-FLOAT->FIXNUM:
6898        argument is a SINGLE/SHORT-FLOAT, so don't access as a
6899        DOUBLE-FLOAT.
6900
69012006-04-24 11:58  gb
6902
6903        * level-0/X86/x86-float.lisp: %MAKE-FLOAT-FROM-FIXNUMS: mask the
6904        high and low words of the mantissa, to ensure that no hidden bits
6905        are set.  (Some such bits were set, causing many double-float
6906        constansts - like MOST-POSITVE-DOUBLE-FLOAT - to be bogus NaNs).
6907
69082006-04-24 02:21  gb
6909
6910        * lisp-kernel/image.c: Expect a MANAGED_STATIC section in the
6911        image.
6912       
6913        (Don't expect it to have any contents yet; that'll require several
6914        more changes.   This is all intended to support PURIFY on x8664,
6915        where we'll want to ensure that any constant referenced by a
6916        function in readonly/pure memory has a fixed, static address.)
6917
69182006-04-24 02:14  gb
6919
6920        * lisp-kernel/image.h: Bump IMAGE_ABI_VERSION.  New managed_static
6921        section makes NUM_IMAGE_SECTIONS 4.
6922
69232006-04-24 02:13  gb
6924
6925        * lisp-kernel/area.h: Typo in the definition of
6926        AREA_MANAGED_STATIC.
6927
69282006-04-24 02:12  gb
6929
6930        * lisp-kernel/: pmcl-kernel.c, kernel-globals.h: Global pointers to
6931        more areas.
6932
69332006-04-24 02:12  gb
6934
6935        * lisp-kernel/ppc-exceptions.c: EGC write-barrier labels are the
6936        addresses of instructions (not pointers thereto ...)
6937
69382006-04-24 02:11  gb
6939
6940        * lisp-kernel/ppc-gc.c: Add conditionalization to force DWS marker
6941        (mostly so that I could step through it to remember how it worked
6942        ...).
6943
69442006-04-24 02:10  gb
6945
6946        * lisp-kernel/ppc-spentry.s: write-barrier exported symbols: remove
6947        indirection.
6948
69492006-04-24 02:09  gb
6950
6951        * lisp-kernel/x86-gc.c: Remove a sanity check.
6952
69532006-04-24 02:09  gb
6954
6955        * xdump/xfasload.lisp: Create (empty) managed-static section
6956        (mostly for x8664 PURIFY, but might be useful on PPC someday.)
6957
69582006-04-24 02:08  gb
6959
6960        * xdump/heap-image.lisp: New image-abi-version, for managed-static
6961        section.
6962
69632006-04-24 02:07  gb
6964
6965        * level-1/linux-files.lisp: GET-DESCRIPTOR-FOR: try not to leak
6966        fds, take CLOSE-ON-ERROR more seriously.
6967
69682006-04-24 02:06  gb
6969
6970        * compiler/PPC/ppc2.lisp: (eq %FOREIGN-STACK-POINTER
6971        %CURRENT-FRAME-PTR) on PPC32/64.
6972
69732006-04-24 00:50  gb
6974
6975        * level-1/version.lisp: Bump.  Getting there ...
6976
69772006-04-24 00:50  gb
6978
6979        * level-0/l0-misc.lisp: Use %GET-NATURAL where possible.
6980       
6981        Note that TCRs aren't guaranteed to be in the low 32 bits on x8664,
6982        so pass them as a pointer to avoid word-size issues.
6983
69842006-04-24 00:48  gb
6985
6986        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Implement
6987        things that had been missing.
6988
69892006-04-24 00:48  gb
6990
6991        * compiler/X86/x86-disassemble.lisp: Recognize recently-defined
6992        UUOs.
6993
69942006-04-24 00:48  gb
6995
6996        * compiler/X86/x86-backend.lisp: Fix FIXUP-OPCODE-ORDINALS (again).
6997
69982006-04-24 00:47  gb
6999
7000        * compiler/X86/x86-asm.lisp: UUO-ERROR-ARRAY-BOUNDS.
7001
70022006-04-24 00:47  gb
7003
7004        * compiler/PPC/PPC64/ppc64-vinsns.lisp: A little word-size cleanup.
7005
70062006-04-24 00:47  gb
7007
7008        * compiler/nxenv.lisp: %FOREIGN-STACK-POINTER.
7009
70102006-04-24 00:46  gb
7011
7012        * compiler/nx1.lisp: WITH-C-FRAME, WITH-VARIABLE-C-FRAME: use (new)
7013        %FOREIGN-STACK-POINTER, not %CURRENT-FRAME-PTR (differ on x8664;
7014        need to boostrap on PPC).
7015       
7016        Parse %FOREIGN-STACK-POINTER.
7017
70182006-04-22 03:30  gb
7019
7020        * lisp-kernel/thread_manager.c: If we're using thread-local-storage
7021        (HAVE_TLS is defined), make shutdow_thread_tcr() dequeue the tcr,
7022        because (a) nothing else will and (b) the tcr will likely become
7023        unmapped soon, and we don't want things that walk the tcr list to
7024        segfault.
7025
70262006-04-22 03:27  gb
7027
7028        * lisp-kernel/x86-exceptions.c: Something's clearly wrong in
7029        find_foreign_rsp; call Bug() and exit() if the context has no
7030        fpregs.  (That's a symptom, not the proble, but it's slightly
7031        better to do this than to double fault, which is what seems to be
7032        happening.)
7033
70342006-04-21 10:12  gb
7035
7036        * lisp-kernel/x86-exceptions.c: implement pc_luser_xp; just has to
7037        worry about consing, write-barrier stuff.
7038
70392006-04-21 10:11  gb
7040
7041        * lisp-kernel/x86-constants.h: Define X86 flags register bits
7042        (condition codes.)
7043
70442006-04-21 10:11  gb
7045
7046        * lisp-kernel/x86-exceptions.h: change the signature of pc_luser_xp
7047        (again.)
7048       
7049        Define enumeration constants for matching the instructions that can
7050        occur during consing.
7051
70522006-04-21 10:09  gb
7053
7054        * lisp-kernel/x86-spentry64.s: Preserve %temp0 in
7055        store_node_conditional, in case pc_luser_xp() needs to complete the
7056        memoization.
7057
70582006-04-21 02:50  gb
7059
7060        * lisp-kernel/x86-spentry64.s: Use only the value of the first
7061        instance of :ALLOW-OTHER-KEYS to determine whether unknown keys are
7062        allowed.
7063
70642006-04-21 02:49  gb
7065
7066        * lisp-kernel/lisp-debug.c: Tweak things so that %rip and %flags
7067        line up with GPRs.
7068
70692006-04-21 02:48  gb
7070
7071        * lib/sequences.lisp: SIMPLE-1D-ARRAY-SUBSEQ: 64-bit vector case is
7072        #+64-bit-target, not #+ppc64-target.
7073
70742006-04-21 02:47  gb
7075
7076        * level-0/X86/x86-array.lisp: %SIMPLE-BIT-BOOLE: shift by the right
7077        amount.
7078
70792006-04-21 02:46  gb
7080
7081        * level-0/l0-array.lisp: %UVECTOR-REPLACE: 64-bit vectors aren't
7082        unique to PPC64 (but do depend on #+64-bit-target).
7083
70842006-04-21 02:46  gb
7085
7086        * compiler/X86/x862.lisp: The binding(s) of *INTERRUPT-LEVEL*
7087        confuse PROGV; remove them, for now.
7088
70892006-04-20 23:35  gb
7090
7091        * lisp-kernel/x86-spentry64.s: In the bignum case of
7092        .SPinteger-sign, sign-extend the bignum's sign digit instead of ...
7093        whatever the code was trying to do there.
7094       
7095        In the lexpr-has-two-values case of .SPspread-lexprz, load arg_y
7096        and arg_z from the correct offsets within the lexpr.
7097
70982006-04-20 04:48  gb
7099
7100        * lisp-kernel/x86-gc.c: Get the link-inverting marker written;
7101        force it to always be used, for now.
7102
71032006-04-19 17:11  gb
7104
7105        * lisp-kernel/pmcl-kernel.c: (Very) different
7106        MAXIMUM_MAPPABLE_MEMORY for Solaris.
7107
71082006-04-19 17:10  gb
7109
7110        * lisp-kernel/area.h: (Very) different IMAGE_BASE_ADDRESS for
7111        Solaris.
7112
71132006-04-19 00:35  gb
7114
7115        * lisp-kernel/x86-gc.c: Write a few paragraphs outlining how the
7116        reversing-pointer marker should work.  (Perhaps it's a strong
7117        argument for implementing "purify" soon.)
7118
71192006-04-19 00:34  gb
7120
7121        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
7122        function-boundary-marker.
7123
71242006-04-19 00:33  gb
7125
7126        * lisp-kernel/macros.h: Add node_aligned and indirect_node macros.
7127
71282006-04-18 19:35  gb
7129
7130        * lisp-kernel/x86-spentry64.s: Comparison was backwards in
7131        multiple-value case of THROW: don't want to do unbind_to if tcr's
7132        db-link matches target catch frame's.
7133
71342006-04-18 19:33  gb
7135
7136        * lisp-kernel/x86-uuo.s: Add UUO-ERROR-DEBUG-TRAP, remove
7137        UUO-ERROR-STACK-OVERFLOW.  Still need to get this completely in
7138        synch with x86-asm.
7139
71402006-04-18 19:33  gb
7141
7142        * level-1/l1-readloop-lds.lisp: Say more about the availability of
7143        :R in break messages.
7144       
7145        Say more about :C in :R.
7146
71472006-04-18 19:32  gb
7148
7149        * level-1/l1-readloop.lisp: Remove the #+x86-target debugging code
7150        in QUIT's PROCESS-INTERRUPT call, since the closure- trashing bug
7151        seems to have been fixed.
7152
71532006-04-18 19:31  gb
7154
7155        * level-1/x86-error-signal.lisp: Recognize (uuo-error-not-tag %rn
7156        x8664::subtag-catch-tag) as CANT-THROW-ERROR.  (Yes, this is a
7157        horrible kludge, but it only happens once.)
7158
71592006-04-18 19:19  gb
7160
7161        * level-1/l1-processes.lisp: Remove the #+x86-target debugging code
7162        in PROCESS-EXIT-APPLICATION, since the closure- trashing bug seems
7163        to have been fixed.
7164
71652006-04-18 19:18  gb
7166
7167        * level-0/X86/x86-pred.lisp: EQL on bignums wasn't using
7168        X8664::MISC-DATA-OFFSET, so it was comparing a few bytes beyond the
7169        ends of its arguments and ignoring the first few bytes (as well as
7170        doing misaligned memory references.)
7171
71722006-04-18 19:16  gb
7173
7174        * level-0/X86/x86-def.lisp: Insert the PPC version of APPLY+ here.
7175        This'll require some thought, mostly because of the reserved-frame
7176        issue(s).
7177
71782006-04-18 06:21  gb
7179
7180        * lisp-kernel/ppc-constants32.s: Comment mishaps.  These wacky
7181        adventures are about to end, I'm afraid.
7182
71832006-04-18 06:04  gb
7184
7185        * level-1/version.lisp: Daily bump.
7186
71872006-04-18 05:59  gb
7188
7189        * level-1/l1-sockets.lisp: Comment indentation.
7190
71912006-04-18 05:56  gb
7192
7193        * level-0/PPC/ppc-def.lisp: Move APPLY+ here.
7194
71952006-04-18 05:55  gb
7196
7197        * lib/setf-runtime.lisp: Move APPLY+ (which is defined in LAP) to
7198        ppc-def (that means that there will need to be an APPLY+ for
7199        x8664).
7200
72012006-04-18 05:38  gb
7202
7203        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Try to get the
7204        compiler and x8664-vinsn-templates to agree on vinsn-names and
7205        implement some vinsns that had been missing.  (About 15 or so
7206        undefined vinsns remain.)
7207
72082006-04-18 05:37  gb
7209
7210        * compiler/X86/x86-backend.lisp: The mechanism that tries to fixup
7211        opcode ordinals in vinsn templates (e.g., in case new instructions
7212        are defined in the assembler) wasn't checking to see if vinsn
7213        templates named in the hash table were defined.  (It was apparently
7214        getting away with this because CONSP was broken.)  So, don't try to
7215        fixup opcode ordinals in NIL, and optionally report templates
7216        that're referenced but not defined.
7217
72182006-04-18 04:38  gb
7219
7220        * compiler/X86/x862.lisp: CONSP was using the EXTRACT-FULLTAG vinsn
7221        (which only sets the low 8 bits of its destination), then comparing
7222        all 64-bits of the destination to a zero-extended 32-bit constant.
7223        (E.g., CONSP had little chance of being right all other things
7224        being equal, but may have been right more than one in 2^56 times if
7225        some random preceding instruction had zeroed the upper 56 bits.)
7226       
7227        (It's also shorter to do an 8-bit compare.)
7228
72292006-04-18 03:11  gb
7230
7231        * level-0/X86/x86-hash.lisp: box-fixnum arg order in %DFLOAT-HASH.
7232
72332006-04-18 02:51  gb
7234
7235        * compiler/X86/X8664/x8664-vinsns.lisp: Now that all assemblers are
7236        happy (well, as happy as they're going to be ...), back to finding
7237        bugs.  MULTIPLY-FIXNUMS has to unbox one arg (the source).
7238
72392006-04-18 01:26  gb
7240
7241        * lisp-kernel/thread_manager.c: Some Solaris changes.
7242
72432006-04-18 00:48  gb
7244
7245        * lisp-kernel/solarisx64/Makefile: The version of gm4 that Sun
7246        installs in /usr/sfw/bin is both newer and buggier than the version
7247        available on the "Solaris Companion" disk, which gets installed in
7248        /opt/sfw/bin.
7249       
7250        Ordinarily, I'd wonder why a "companion" disk offers to install
7251        software that's bundled as part of the installation (especially old
7252        versions of that software.)  Now I know.
7253
72542006-04-18 00:45  gb
7255
7256        * lisp-kernel/x86-spentry64.s: # __line__ wasn't a comment.
7257
72582006-04-18 00:45  gb
7259
7260        * lisp-kernel/m4macros.m4: Fix changecom.
7261
72622006-04-18 00:11  gb
7263
7264        * lisp-kernel/x86-spentry64.s: x8664 linux as doesn't like typos,
7265        but is otherwise fine with single-line /* */.
7266
72672006-04-18 00:09  gb
7268
7269        * lisp-kernel/: errors.s, imports.s, lisp.s, m4macros.m4,
7270        ppc-asmutils.s, ppc-constants.s, ppc-constants32.s,
7271        ppc-constants64.s, ppc-macros.s, ppc-spentry.s, ppc-spjump.s,
7272        ppc-subprims.s, ppc-uuo.s, x86-asmutils64.s, x86-constants.s,
7273        x86-constants64.s, x86-macros.s, x86-spentry64.s, x86-spjump64.s,
7274        x86-subprims64.s, x86-uuo.s, darwinppc/Makefile,
7275        darwinppc64/Makefile: Whoops.  Darwin as doesn't like #.  I dont
7276        like Darwin as, but we're back to single-line /* */, which is often
7277        pretty ugly and not well-supported by Emacs.
7278
72792006-04-17 23:23  gb
7280
7281        * lisp-kernel/: errors.s, imports.s, lisp.s, m4macros.m4,
7282        ppc-asmutils.s, ppc-constants.s, ppc-constants32.s,
7283        ppc-constants64.s, ppc-uuo.s, x86-asmutils64.s, x86-constants.s,
7284        x86-constants64.s, x86-macros.s, x86-spjump64.s, x86-subprims64.s,
7285        x86-uuo.s: Use #/newline for comment delimiters, which is supported
7286        by Emacs and by all current GAS versions (but see ARM conventions.)
7287         No more jerking around with this, knock wood.
7288
72892006-04-17 23:23  gb
7290
7291        * lisp-kernel/x86-spentry64.s: _SPspread_lexprz wasn't handling the
7292        case where caller provided args before the lexpr, which is much
7293        harder than the simple case.
7294       
7295        Use #/newline for comment delimiters, which is supported by Emacs
7296        and by all current GAS versions (but see ARM conventions.)  No more
7297        jerking around with this, knock wood.
7298
72992006-04-17 23:20  gb
7300
7301        * level-0/X86/x86-numbers.lisp: %FIXNUM-GCD was horrible, espcially
7302        when numbers differed greatly in magnitude.  Current (binary)
7303        algorithm is usually OK.
7304
73052006-04-17 23:17  gb
7306
7307        * compiler/X86/x86-lap.lisp: Condition name should be
7308        UNDEFINED-X86-LAP-LABEL, since it's (a) referenced and (b) that's
7309        not the problem.  Name wasn't spelled correctly in code that
7310        signals the condition, anyway.
7311
73122006-04-17 16:34  gb
7313
7314        * lisp-kernel/x86-exceptions.c: pc_luser_xp always takes a tcr
7315        argument, takes a new boolean to distinguish current tcr from
7316        others.  (The current tcr is only lusered on an interrupt; others
7317        are only lusered on GC entry.)
7318
73192006-04-17 16:33  gb
7320
7321        * lisp-kernel/x86-exceptions.h: X86 prototype for pc_luser_xp moved
7322        here.  (No deep reason not to share the new x86 signature on all
7323        architectures.)
7324
73252006-04-17 16:32  gb
7326
7327        * lisp-kernel/ppc-exceptions.h: PPC prototype for pc_luser_xp moved
7328        here.  (No deep reason not to share the new x86 signature on all
7329        architectures.)
7330
73312006-04-17 16:31  gb
7332
7333        * lisp-kernel/lisp-exceptions.h: prototype for pc_luser_xp is
7334        platform-dependent.
7335
73362006-04-17 06:49  gb
7337
7338        * level-1/l1-readloop.lisp: In the closure created in QUIT, only do
7339        CCL::DBG if (a) we're on X86 and (b) the inner closure is bad
7340        already.
7341
73422006-04-17 06:17  gb
7343
7344        * lisp-kernel/lisptypes.h: Don't know if there's such a thing as
7345        truly portable type name.
7346
73472006-04-17 06:16  gb
7348
7349        * lisp-kernel/: errors.s, lisp.s, m4macros.m4, x86-constants.s,
7350        x86-constants64.h, x86-constants64.s, x86-exceptions.c,
7351        x86-exceptions.h, x86-gc.c, x86-macros.s, x86-spentry64.s,
7352        x86-spjump64.s, x86-uuo.s: Well, // style comments seem to only
7353        work if they're at the start of a line in Linux GAS.  Try /* */
7354        comments, but limit them to a single line.  (May ultimately be
7355        better to use m4 dnl - carefully - and avoid end-of-line comments.)
7356
73572006-04-17 05:28  gb
7358
7359        * lisp-kernel/: x86-macros.s, x86-spentry64.s, x86-spjump64.s,
7360        x86-subprims64.s, x86-uuo.s: // comments.
7361
73622006-04-17 05:28  gb
7363
7364        * lisp-kernel/x86-gc.c: timeradd, timersub.  Other Solaris
7365        conditionalization.
7366
73672006-04-17 05:27  gb
7368
7369        * lisp-kernel/x86-exceptions.h: Solaris-related changes (xp
7370        accessors, etc.)
7371
73722006-04-17 05:26  gb
7373
7374        * lisp-kernel/x86-exceptions.c: Solaris-related changes (mostly in
7375        the sigstack trampoline stuff.)
7376
73772006-04-17 05:25  gb
7378
7379        * lisp-kernel/x86-constants64.h: // comments, Solaris-friendly
7380        integer types.
7381
73822006-04-17 05:24  gb
7383
7384        * lisp-kernel/: x86-asmutils64.s, x86-constants.s,
7385        x86-constants64.s: // comments.
7386
73872006-04-17 05:23  gb
7388
7389        * lisp-kernel/pmcl-kernel.c: Some Solaris conditionalization.
7390        Solaris mmap() is ... unusual.
7391
73922006-04-17 05:21  gb
7393
7394        * lisp-kernel/m4macros.m4: Use C++-style single-line comments,
7395        since Solaris version of GAS doen't handle multi-line comments (/*
7396        ... */).  It -seems- that other assemblers do handle them
7397        correctly; we'll see.
7398       
7399        Some Solaris conditionalization (ELFstabs, etc.)
7400
74012006-04-17 05:20  gb
7402
7403        * lisp-kernel/lisptypes.h: Conditionalize for Solaris (type names).
7404         We'll see what this breaks.
7405
74062006-04-17 05:19  gb
7407
7408        * lisp-kernel/lisp.h: PLATFORM_OS is PLATFORM_OS_SOLARIS when
7409        SOLARIS is defined.
7410
74112006-04-17 05:18  gb
7412
7413        * lisp-kernel/lisp-debug.c: Solaris conditionalization; print
7414        registers in predictable order.
7415
74162006-04-17 05:17  gb
7417
7418        * lisp-kernel/: errors.s, imports.s, lisp.s: Use C++-style
7419        single-line comments, since Solaris version of GAS doen't handle
7420        multi-line comments (/* ... */).  It -seems- that other assemblers
7421        do handle them correctly; we'll see.
7422
74232006-04-17 05:15  gb
7424
7425        * lisp-kernel/area.h: IMAGE_BASE_ADDRESS for SolarisX64.  Wrong.
7426
74272006-04-17 05:15  gb
7428
7429        * lisp-kernel/Threads.h: Conditionalize for Solaris.
7430       
7431        TODO: drop Jaguar support, use POSIX (vice Mach) semaphores on all
7432        platforms ?
7433
74342006-04-17 05:01  gb
7435
7436        * lisp-kernel/solarisx64/Makefile: new file
7437
74382006-04-17 04:56  gb
7439
7440        * lisp-kernel/linuxx8664/Makefile: Make it a little easier to
7441        change the name/usage of the linker script.
7442       
7443        Stop using the linker script (since spjump is the only thing in the
7444        kernel that has to be at a fixed address and we can copy it there.)
7445       
7446        Don't disable the EGC.
7447
74482006-04-17 04:54  gb
7449
7450        * lisp-kernel/x86-spjump64.s: Define spjump_start as the origin of
7451        the spjump table, exported for C (so that spjump can be mapped into
7452        low memory.)
7453
74542006-04-17 04:54  gb
7455
7456        * lisp-kernel/x86-spentry64.s: Use reserved_frame_marker.
7457       
7458        If the tlb's too small when trying to bind a special, push the
7459        binding index of the symbol we're binding (for the benefit of the
7460        handler.)
7461
74622006-04-17 04:52  gb
7463
7464        * lisp-kernel/x86-gc.c: Check for cases where a function has more
7465        code words than it has elements (can't happen, unless the
7466        function's code-words word is garbage, which seems to happen when
7467        closures get consed up in non-zeroed memory.)
7468       
7469        Make sure that we mark and forward Itemp2 (= %rcx = %temp2 =
7470        %nargs.q), which sometimes contains something tagged and
7471        non-immediate.
7472
74732006-04-17 04:48  gb
7474
7475        * lisp-kernel/x86-exceptions.c: new_heap_segment() (slowly) checks
7476        to ensure that everythings's zeroed.
7477       
7478        x8664 implementation of extend_tcr_tlb().
7479       
7480        on a gc trap, use tcr->save_allocptr (not the random value in %rbx)
7481        in call to update_bytes_allocated().
7482       
7483        normalize_tcr() - alway set tcr->save_allocptr/tcr->save_allocbase
7484        to VOID_ALLOCPTR (I -think- that this explains the crash-on-quit
7485        bug, and possibly some other instabiliy.)
7486       
7487        handle_exception: keep trying to guess how to distinguish memory
7488        faults from other sources of SIGSEGV.
7489       
7490        On debug traps, advance the PC past the UUO before entering the
7491        debugger.
7492       
7493        Handle XUUO_TLB_TOO_SMALL.
7494
74952006-04-17 04:42  gb
7496
7497        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
7498        reserved_frame_marker.
7499
75002006-04-17 04:42  gb
7501
7502        * lisp-kernel/thread_manager.c: Remove implementation of
7503        extend_tcr_tlb().
7504
75052006-04-17 04:41  gb
7506
7507        * lisp-kernel/ppc-exceptions.h: Prototype for PPC version of
7508        extend_tcr_tlb().
7509
75102006-04-17 04:41  gb
7511
7512        * lisp-kernel/ppc-exceptions.c: PPC version of extend_tcr_tlb().
7513
75142006-04-17 04:40  gb
7515
7516        * lisp-kernel/pmcl-kernel.c: Remap the spjump table on x8664, so
7517        that we don't need to use a linker script.
7518
75192006-04-17 04:40  gb
7520
7521        * lisp-kernel/Threads.h: extend-tcr-tlb: signature defined by
7522        target xxx-exceptions.h now.
7523
75242006-04-17 04:39  gb
7525
7526        * lib/misc.lisp: Some comment formatting/editing.
7527
75282006-04-17 04:38  gb
7529
7530        * level-1/version.lisp: Bump.
7531
75322006-04-17 04:38  gb
7533
7534        * level-1/l1-readloop.lisp: Some debugging code in the code which
7535        creates the final closure.  It seems that when it's bad, it's bad
7536        on creation (here.)
7537
75382006-04-17 04:37  gb
7539
7540        * level-1/l1-processes.lisp: Some debugging code in
7541        PROCESS-EXIT-APPLICATION, to try to catch whatever's causing the
7542        final closure to be trashed.
7543       
7544        I don't think that other threads were getting their allocptr's
7545        nullified correctly by the GC/normalize_tcr(); with the current
7546        debugging code in place, it seems like the closure is consed on top
7547        of something other than free, thread-private heap memory (when it's
7548        bad, it fails the first check here.  I'm not sure that the latest
7549        round of GC/normalize-tcr() changes have fixed the problem, but I
7550        haven't seen it in a while now, either.)
7551
75522006-04-17 04:32  gb
7553
7554        * level-0/X86/x86-def.lisp: %FUNCTION-CODE-BYTE (for partial
7555        disassembly, etc.).
7556
75572006-04-17 04:31  gb
7558
7559        * compiler/X86/X8664/x8664-vinsns.lisp: Use RESERVED-FRAME-MARKER
7560        in RESERVE-OUTGOING-FRAME; don't use ENSURE-RESERVED-FRAME at all
7561        (anymore.)
7562       
7563        Subprims are down in low memory again; make INIT-CLOSURE skip
7564        setting the high byte of .SPcall-closure's address if it's zero.
7565
75662006-04-17 04:28  gb
7567
7568        * compiler/X86/X8664/x8664-arch.lisp: Define RESERVED-FRAME-MARKER,
7569        which may help backtrace.
7570
75712006-04-17 04:26  gb
7572
7573        * lib/: backtrace.lisp, ppc-backtrace.lisp: Split up RAW-FRAME-REF
7574        (interface/implementation.)
7575
75762006-04-15 09:20  gb
7577
7578        * level-1/x86-callback-support.lisp: Ensure that callback
7579        trampolines are allocated in executable memory.
7580
75812006-04-15 09:12  gb
7582
7583        * lib/dumplisp.lisp: Refresh external entry points before reviving
7584        callbacks.  Reset callback storage before reviving callbacks.
7585
75862006-04-15 09:10  gb
7587
7588        * level-1/x86-error-signal.lisp: Don't prefix the unknown trap
7589        error message with a %.  (Where did that come from ?)
7590
75912006-04-15 09:08  gb
7592
7593        * level-1/ppc-callback-support.lisp: Don't (knock wood) need to do
7594        anything in RESET-CALLBACK-STORAGE for PPC, since malloc()ed memory
7595        is executable.
7596
75972006-04-14 09:02  gb
7598
7599        * lib/time.lisp: Jeez.  Save buffer, why dontcha.
7600
76012006-04-14 08:21  gb
7602
7603        * lib/time.lisp: ENCODE-UNIVERSAL-TIME: treat year 0-99 as
7604        shorthand for the nearest matching year.
7605
76062006-04-14 08:20  gb
7607
7608        * lib/format.lisp: FORMAT-PRINT-NUMBER was printing commas even
7609        when : was missing.
7610
76112006-04-13 23:09  gb
7612
7613        * lib/ppc-backtrace.lisp: Eschew missing parens.
7614
76152006-04-13 23:08  gb
7616
7617        * lib/describe.lisp: Change NTH-VALUE-IN-FRAME call.
7618
76192006-04-13 23:08  gb
7620
7621        * lib/backtrace.lisp: DBG-FORM checks the second return value from
7622        ARGLIST-FROM-MAP.
7623
76242006-04-13 23:02  gb
7625
7626        * lib/arglist.lisp: Don't pass a "conser" function around (the idea
7627        is leftover from 68K MCL).  ARGLIST-FROM-MAP tries to be consistent
7628        about returning a second value; returns values NIL, T for functions
7629        that take no args and don't have a symbol map.
7630
76312006-04-13 22:53  gb
7632
7633        * level-1/l1-lisp-threads.lisp: Try to make args to
7634        NTH-VALUE-IN-FRAME et al a little saner.
7635
76362006-04-13 22:37  gb
7637
7638        * lib/numbers.lisp: Conditionalize on word size, not PPC processor
7639        type.
7640
76412006-04-13 22:36  gb
7642
7643        * level-1/version.lisp: Bump.
7644
76452006-04-13 22:35  gb
7646
7647        * level-1/l1-aprims.lisp: Remove the DBG trap from #'APPLY.  Still
7648        trying to find the cause of the crash-on-quit bug.
7649
76502006-04-13 07:30  gb
7651
7652        * lib/ppc-backtrace.lisp: Migrate some stuff here.
7653
76542006-04-13 07:29  gb
7655
7656        * level-1/l1-lisp-threads.lisp, lib/backtrace.lisp: Migrate some
7657        stuff to target-backtrace.
7658
76592006-04-13 06:45  gb
7660
7661        * lisp-kernel/x86-gc.c: mark_root: need to handle TRAs earlier.
7662
76632006-04-13 06:44  gb
7664
7665        * lisp-kernel/pmcl-kernel.c: Set GC debug bits manually here on
7666        x8664.
7667
76682006-04-13 06:44  gb
7669
7670        * level-1/x86-error-signal.lisp: XP-ARGUMENT-LIST: only the low 13
7671        bytes of %nargs_q contain arg count.
7672
76732006-04-13 06:43  gb
7674
7675        * level-1/l1-error-system.lisp: No EVAL-PROGRAM-ERROR. Please.
7676
76772006-04-13 06:43  gb
7678
7679        * level-1/l1-aprims.lisp: Trying to find what's (sometimes)
7680        trashing a closure during QUIT; embed a #+x86-target breakpoint in
7681        APPLY.
7682
76832006-04-13 06:42  gb
7684
7685        * level-0/X86/x86-numbers.lisp: Bad typo in %FIXNUM-GCD.
7686
76872006-04-13 06:41  gb
7688
7689        * compiler/X86/x862.lisp: Lap expression changes; recycle constant
7690        operands.
7691
76922006-04-13 06:41  gb
7693
7694        * compiler/X86/x86-lap.lisp: Freelist a lot of things; use
7695        "vector-lists" instead of adjustable arrays, simplify handling of
7696        constant expressions.  Still conses hysterically; need to find out
7697        where and tone it down a bit, if possible.
7698
76992006-04-13 06:39  gb
7700
7701        * compiler/X86/x86-disassemble.lisp: Maybe no lap immediate
7702        operands; maybe no lap constant-expressions.
7703
77042006-04-13 06:39  gb
7705
7706        * compiler/X86/x86-asm.lisp: Don't need
7707        *lap-constant-0-expression*.
7708
77092006-04-13 00:46  gb
7710
7711        * lisp-kernel/linuxx8664/Makefile: Kernel depends on Makefile,
7712        linker script.
7713
77142006-04-13 00:45  gb
7715
7716        * lisp-kernel/linuxx8664/elf_x86_64.x: Use linker script from ld
7717        2.16.1 (Thanks to James Bielman).
7718
77192006-04-12 18:53  gb
7720
7721        * lisp-kernel/linuxx8664/elf_x86_64.x: Try to avoid use of
7722        PROVIDE_HIDDEN, since some versions of GNU ld don't like it.  (Most
7723        of this seems to have to do with C++ static constructors, which
7724        aren't really relevant here.)
7725
77262006-04-12 18:28  gb
7727
7728        * lisp-kernel/x86-spentry64.s: Use movd (not movq) when moving
7729        between %Rforeign_sp and GPRs.
7730
77312006-04-12 18:22  gb
7732
7733        * lisp-kernel/linuxx8664/Makefile: egc flag
7734
77352006-04-12 18:08  gb
7736
7737        * lisp-kernel/x86-gc.c: Add current/prev (temporarily) to help find
7738        where we're losing here.
7739
77402006-04-12 18:07  gb
7741
7742        * lisp-kernel/x86-exceptions.c: pc_luser_xp: notice if we're in the
7743        write barrier code, crap out if so.
7744
77452006-04-12 18:06  gb
7746
7747        * lisp-kernel/pmcl-kernel.c: Disable EGC if DISABLE_EGC is defined
7748        (presumably in a Makefile).
7749
77502006-04-12 14:50  gb
7751
7752        * level-1/version.lisp: Bump.
7753
77542006-04-12 14:46  gb
7755
7756        * lib/: compile-ccl.lisp, ppc-backtrace.lisp, systems.lisp,
7757        x86-backtrace.lisp: new target backtrace stuff.
7758
77592006-04-12 14:45  gb
7760
7761        * lib/backtrace.lisp: Start splitting things up, ideally into a
7762        mostly abstract API and gory platform- dependent implementation
7763        details.
7764
77652006-04-11 21:40  gb
7766
7767        * lisp-kernel/pmcl-kernel.c: Only way to stress-test EGC is to turn
7768        the damned thing on.  (A little painful with integrity checking
7769        enabled, as it still is by default.)
7770       
7771        TODO:
7772       
7773        - sleep (me) - non-recursive (link-inverting) marker - pc-lusering
7774        (pc_luser_xp()) - backtrace - ANSI CL tests - purify - 2d-aref - FP
7775        exception handling - check UUO usage in kernel, disassembler,
7776        exception handlers - stack overflow recovery
7777
77782006-04-11 21:24  gb
7779
7780        * lisp-kernel/x86-gc.c: Skip over function code in
7781        check_refmap_consistency.
7782
77832006-04-11 21:23  gb
7784
7785        * lisp-kernel/x86-spentry64.s: Write barrier memoization sets bits
7786        backwards.
7787
77882006-04-11 19:11  gb
7789
7790        * compiler/X86/x862.lisp: Change LABELS for new closure format.
7791
77922006-04-11 19:11  gb
7793
7794        * lisp-kernel/x86-spentry64.s: 3 words of code + inner function in
7795        a closure, no lfname slot in closure.
7796
77972006-04-11 16:29  gb
7798
7799        * lisp-kernel/linuxx8664/.gdbinit: ada  prints active dynamic (GC)
7800        area.
7801
78022006-04-11 16:29  gb
7803
7804        * lisp-kernel/x86-subprims64.s: Maintain the MXCSR on transitions
7805        between lisp/foreign code.
7806
78072006-04-11 16:29  gb
7808
7809        * lisp-kernel/x86-spentry64.s: Add write barrier stuff (may have
7810        bit-order problems.)
7811       
7812        Maintain the MXCSR on transitions between lisp/foreign code.
7813
78142006-04-11 16:28  gb
7815
7816        * lisp-kernel/x86-macros.s: Access globals in expressions.
7817
78182006-04-11 16:27  gb
7819
7820        * lisp-kernel/x86-gc.c: Start to implement EGC for X8664; this'll
7821        need some bootstrapping stuff (function boundary markers) for a few
7822        reasons, as will DWS marker.
7823
78242006-04-11 16:27  gb
7825
7826        * lisp-kernel/x86-exceptions.c: If we get an FP exception, report
7827        the siginfo error code.
7828
78292006-04-11 16:26  gb
7830
7831        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Define MXCSR
7832        fields in tcr.
7833
78342006-04-11 16:25  gb
7835
7836        * lisp-kernel/x86-constants.h: Define MXCSR bits.
7837
78382006-04-11 16:25  gb
7839
7840        * lisp-kernel/thread_manager.c: Setup the MXCSR somewhat sanely
7841        when starting a lisp thread.  (It'll be saner when FP exceptions
7842        are handled.)
7843
78442006-04-11 16:24  gb
7845
7846        * level-1/x86-error-signal.lisp: Recognize what complaints about
7847        non-uvectors are trying to tell us.
7848
78492006-04-11 16:23  gb
7850
7851        * level-1/l1-io.lisp: PRINT-OBJECT method for TRAs, symbol/function
7852        vectors.
7853
78542006-04-11 16:23  gb
7855
7856        * level-1/l1-clos-boot.lisp: Spell TAGGED-RETURN-ADDRESS with more
7857        Ses.  Define classes for function/symbol vectors.
7858
78592006-04-11 16:22  gb
7860
7861        * level-0/X86/x86-def.lisp: %RETURN-ADDRESS-OFFSET.
7862
78632006-04-11 16:21  gb
7864
7865        * compiler/X86/X8664/x8664-vinsns.lisp: Closure initialization
7866        needs to add a function boundary marker (but we can stop padding
7867        each closure with a null function name slot.)
7868
78692006-04-11 16:20  gb
7870
7871        * compiler/X86/X8664/x8664-arch.lisp: Define
7872        FUNCTION-BOUNDARY-MARKER, which should never exist in the wild.
7873
78742006-04-11 16:19  gb
7875
7876        * compiler/X86/x862.lisp: Emit a function boundary marker between
7877        code and constants. (For GC reasons.) Change closure initialization
7878        to account for it.
7879
78802006-04-11 16:18  gb
7881
7882        * compiler/X86/x86-lap.lisp: Emit a function boundary marker
7883        between code and constants. (For GC reasons.)
7884
78852006-04-11 16:17  gb
7886
7887        * compiler/X86/x86-disassemble.lisp: Require more stuff.
7888
78892006-04-11 16:17  gb
7890
7891        * compiler/nxenv.lisp: Require X8664ENV on X8664.
7892       
7893        See if we can get by without 68K condition code ...
7894
78952006-04-11 06:53  gb
7896
7897        * lisp-kernel/x86-exceptions.c: We'll need to handle FP exceptions
7898        soon.
7899
79002006-04-11 06:53  gb
7901
7902        * lib/numbers.lisp: Infinity constants conditionalized on/off
7903        during MXCSR adventures.  On now.
7904
79052006-04-11 06:52  gb
7906
7907        * lib/describe.lisp: Comment indentation.
7908       
7909        No such thing as an interpreted function; hasn't been for years.
7910
79112006-04-11 06:51  gb
7912
7913        * level-1/x86-threads-utils.lisp: Fixup lfun bits of %FIXNUM-SET et
7914        al.
7915
79162006-04-11 06:51  gb
7917
7918        * level-1/version.lisp: Bumped yesterday.
7919
79202006-04-11 06:50  gb
7921
7922        * level-1/l1-error-signal.lisp: Comments.
7923
79242006-04-11 06:50  gb
7925
7926        * level-1/l1-clos-boot.lisp: CLASS-OF handles non-simple vectors,
7927        at least.
7928
79292006-04-11 06:50  gb
7930
7931        * level-0/X86/x86-float.lisp: MXCSR stuff.  Better, mostly because
7932        a fixnum constant is boxed in %SET-MXCSR.
7933
79342006-04-11 06:49  gb
7935
7936        * level-0/X86/x86-def.lisp: Get info about register usage.
7937
79382006-04-11 06:49  gb
7939
7940        * compiler/X86/X8664/x8664-vinsns.lisp: Natural arithmetic; start
7941        work on 2d aref.  Fix MISC-SET-U64 (or some flavor thereof), which
7942        though that it was dealing with a scaled index.
7943
79442006-04-11 06:48  gb
7945
7946        * compiler/X86/x862.lisp: Natural arithmetic; start work on 2d
7947        aref.
7948
79492006-04-11 06:48  gb
7950
7951        * compiler/X86/x86-lap.lisp: FRAGs are freelisted.  Really need to
7952        do something about FRAG-CODE-BUFFERs, and need to tone down
7953        expression overkill.
7954
79552006-04-11 06:46  gb
7956
7957        * compiler/X86/x86-backend.lisp: Vinsn template fixup mechanism,
7958        for when opcode ordinals change.
7959
79602006-04-11 06:46  gb
7961
7962        * compiler/X86/x86-asm.lisp: UUO-ERROR-STACK-OVERFLOW ->
7963        UUO-ERROR-ARRAY-RANK.
7964       
7965        Vinsn template fixup mechanism, for when opcode ordinals change.
7966
79672006-04-11 06:45  gb
7968
7969        * compiler/X86/x86-arch.lisp: Try to unscramble MXCSR bits/masks.
7970
79712006-04-11 06:45  gb
7972
7973        * compiler/nx0.lisp: NX-U31-CONSTANT-P.
7974
79752006-04-11 06:44  gb
7976
7977        * compiler/dll-node.lisp: WITH-DLL-NODE-FREELIST: syntax to allow
7978        specialized list header initialization.
7979
79802006-04-11 06:43  gb
7981
7982        * level-1/l1-error-system.lisp, compiler/arch.lisp: Type errors for
7983        2d float arrays.
7984
79852006-04-10 10:19  gb
7986
7987        * lisp-kernel/x86-spentry64.s: _SPcallback is now called with the
7988        foreign SP properly obeying C alignment conventions.  In order to
7989        get it aligned for lisp usage during the callback, an extra word
7990        needs to be pushed before the backpointer to the old foreign RSP.
7991
79922006-04-10 10:18  gb
7993
7994        * lisp-kernel/x86-exceptions.c: Ensure that the copied sigcontext
7995        is 16-byte aligned, so that the foreign stack pointer is aligned
7996        according to C conventions when we enter the signal handler on that
7997        stack.
7998
79992006-04-10 10:13  gb
8000
8001        * lib/numbers.lisp: Define FP infinities, since we're running with
8002        FP exceptions masked. (We don't handle FP exceptions on X8664 yet,
8003        but this was crashing due to ldmxcsr/stmxcsr confusion, not because
8004        an unmasked FP exception was raised and unhandled.)
8005
80062006-04-10 10:10  gb
8007
8008        * lib/level-2.lisp: Remove the WARN and the conditionalization
8009        around bit/bitfield accessors on X8664.
8010
80112006-04-10 10:09  gb
8012
8013        * level-0/X86/x86-float.lisp: Repeat after me: to load the mxcsr
8014        from memory, we say "ldmxcsr".  We want to do such a load in order
8015        to write new values into the mxcsr.  To store it in memory, we say
8016        "stmxcsr".  We want to do such a store (and a subsequent load from
8017        memory) in order to access the value of the mxcsr.  Simple, no ?
8018
80192006-04-10 10:07  gb
8020
8021        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp:
8022        %GET-BIT/%SET-BIT.
8023
80242006-04-10 08:29  gb
8025
8026        * compiler/X86/X8664/x8664-vinsns.lisp: Float
8027        addition/multiplication: either arg can overlap result (and often
8028        will).  Float subtraction/division: caller should ensure that
8029        result and second arg are disjoint.
8030
80312006-04-10 08:27  gb
8032
8033        * compiler/X86/x862.lisp: Float arithmetic is two-address; ensure
8034        that result doesn't overlap second argument for non-commutative
8035        operations.
8036
80372006-04-10 08:26  gb
8038
8039        * lisp-kernel/lisp-debug.c: Show FPRs on LinuxX8664.
8040
80412006-04-10 05:12  gb
8042
8043        * lisp-kernel/thread_manager.c: Don't free dead TCRs if we didn't
8044        malloc them.
8045
80462006-04-10 05:12  gb
8047
8048        * lib/compile-ccl.lisp: REBUILD-CCL paramaters for :LINUXX8664.
8049
80502006-04-10 05:11  gb
8051
8052        * level-1/l1-pathnames.lisp: No need to reference PPC package, and
8053        good reason not to.
8054
80552006-04-10 04:39  gb
8056
8057        * xdump/xfasload.lisp: signed 32-bit, 64-bit integers in fasl files
8058        are always big-endian.
8059
80602006-04-10 04:38  gb
8061
8062        * lisp-kernel/x86-gc.c: mark_root(): if we're marking a function
8063        reachable via a TRA, update the variable "dnode" so that the
8064        correct bits get set.
8065
80662006-04-10 04:37  gb
8067
8068        * level-0/X86/X8664/x8664-bignum.lisp: Remove some breakpoints.
8069
80702006-04-10 04:37  gb
8071
8072        * level-0/X86/x86-array.lisp: %SIMPLE-BIT-BOOLE.  Could stand to be
8073        a bit simpler.
8074
80752006-04-10 04:36  gb
8076
8077        * level-0/l0-hash.lisp: Whoops: %SET-NEEDS-REHASHING is called from
8078        the MAKE-LOAD-FORM method for hashtables.
8079
80802006-04-09 09:17  gb
8081
8082        * lisp-kernel/thread_manager.c: Inflate control stack size on
8083        x8664, until DWS marker works (and do so correctly this time).
8084
80852006-04-09 09:12  gb
8086
8087        * lisp-kernel/thread_manager.c: Inflate control stack size on
8088        x8664, until DWS marker works.
8089
80902006-04-09 09:09  gb
8091
8092        * level-0/l0-hash.lisp: Now that bitvectors work, remove
8093        #+x86-target DBG trap.
8094
80952006-04-09 08:57  gb
8096
8097        * level-0/l0-hash.lisp: Set/clear rehash bits via SBIT, not AREF.
8098        (Should be exactly the same code, but may not have been 15 years
8099        ago or whenever this was written.)
8100
81012006-04-09 08:56  gb
8102
8103        * lisp-kernel/x86-spentry64.s,
8104        compiler/X86/X8664/x8664-vinsns.lisp: Clear bits in a bit vector
8105        via btrX (Bit Test and Reset), not btcX (Bit Test and Complement.)
8106
81072006-04-09 03:52  gb
8108
8109        * lisp-kernel/x86-macros.s: Parens around negative displacement in
8110        condition_to_boolean.  Not clear why this is necessary, but it
8111        seems to be.
8112
81132006-04-09 03:24  gb
8114
8115        * lisp-kernel/x86-macros.s: Use shorter sequence in
8116        condition_to_boolean.
8117
81182006-04-09 02:32  gb
8119
8120        * compiler/X86/X8664/x8664-vinsns.lisp: Using cmovCC intstead of
8121        setCC for cr-bit->boolean is 1 instruction and 2 bytes shorter, all
8122        other things being equal.
8123
81242006-04-09 01:37  gb
8125
8126        * compiler/X86/x86-asm.lisp: reg/reg variants of bsfX, bsrX had
8127        operands backwards.
8128
81292006-04-09 01:37  gb
8130
8131        * compiler/optimizers.lisp: Comment formatting.
8132
81332006-04-09 01:29  gb
8134
8135        * level-0/X86/X8664/x8664-bignum.lisp: %BIGNUM-SIGN-DIGITS:
8136        bsr/xorl != clz when (zerop n).
8137
81382006-04-08 21:25  gb
8139
8140        * lisp-kernel/x86-exceptions.c: Forget about blocking SIGINT in
8141        current thread before entering kernel debugger.
8142
81432006-04-08 21:21  gb
8144
8145        * lib/compile-ccl.lisp: early def of XLOAD-LEVEL-0: require
8146        (TARGET-XLOAD-MODULES).
8147
81482006-04-08 21:21  gb
8149
8150        * lisp-kernel/x86-spentry64.s: misc_set_s16: forgot a lognot.
8151
81522006-04-08 21:20  gb
8153
8154        * level-0/nfasload.lisp: 64-bit vectors: target::, not ppc64::.
8155
81562006-04-08 20:46  gb
8157
8158        * lib/foreign-types.lisp: Add missing paren ...
8159
81602006-04-08 20:45  gb
8161
8162        * lib/foreign-types.lisp: Recognize a :struct-by-value case.
8163
81642006-04-08 20:44  gb
8165
8166        * compiler/X86/X8664/x8664-backend.lisp: X8664 ABI seems to pass
8167        structs by value, sort of.
8168
81692006-04-08 20:43  gb
8170
8171        * x86-headers64/libc/C/populate.sh: Add -D_GNU_SOURCE to CFLAGS.
8172
81732006-04-08 20:42  gb
8174
8175        * library/hash-cons.lisp: Port some of this to x8664; need to add
8176        code to maintain "used" bitmap.
8177
81782006-04-08 20:42  gb
8179
8180        * lib/numbers.lisp: Conditionalize out the FP infinity stuff in the
8181        short term.
8182
81832006-04-08 20:41  gb
8184
8185        * lib/edit-callers.lisp: %MAP-LFIMMS: lfun-vector changes.  Should
8186        someday fix this crap.
8187
81882006-04-08 20:40  gb
8189
8190        * lib/describe.lisp: Conditionalize, a little.
8191
81922006-04-08 20:40  gb
8193
8194        * lib/db-io.lisp: SAVE-DB-FUNCTION appears to be unused.
8195
81962006-04-08 20:39  gb
8197
8198        * level-1/l1-io.lisp: PRINT-A-NAN not #+ppc-target.
8199
82002006-04-08 20:39  gb
8201
8202        * level-1/l1-readloop-lds.lisp: Error reentry stuff here.
8203
82042006-04-08 20:39  gb
8205
8206        * level-1/l1-sockets.lisp: Workaround ffi translator lossage in
8207        _inet_ntoa (just as Darwin has for years; why not fix this ?)
8208
82092006-04-08 20:38  gb
8210
8211        * level-1/ppc-trap-support.lisp: Error-reentry stuff to
8212        l1-readloop-lds (nothing to do with PPC or traps ...)
8213
82142006-04-08 20:37  gb
8215
8216        * .cvsignore: Ignore *CL*/*cl*, not necessarily *CCL*/*ccl*.
8217
82182006-04-08 04:46  gb
8219
8220        * compiler/X86/x862.lisp: X862-MVCALL needs to always save and
8221        restore, even if there's only one values-producing form (that form
8222        might produce more values than will fit in argument registers, and
8223        we therefore have to reserve space for a stack frame.)
8224
82252006-04-08 04:45  gb
8226
8227        * compiler/X86/x86-asm.lisp: Need to actually define INSERT-IMM64.
8228
82292006-04-08 04:43  gb
8230
8231        * lib/macros.lisp: Scanning backwards for instructions depends on a
8232        reasonable architecture.
8233
82342006-04-08 04:43  gb
8235
8236        * lib/compile-ccl.lisp: TARGET-XLOAD-MODULES for x8664.
8237
82382006-04-08 04:42  gb
8239
8240        * xdump/xfasload.lisp: Hide ppc32 double-float-vector stuff in
8241        target arch.
8242
82432006-04-08 04:41  gb
8244
8245        * xdump/.cvsignore: ignore *.*fsl
8246
82472006-04-07 22:46  gb
8248
8249        * compiler/nx.lisp: XCOMPILE-LAMBDA is #+ppc-target for now.
8250
82512006-04-07 22:45  gb
8252
8253        * compiler/nx1.lisp: Provide an FTYPE declaration for
8254        %DEFINE-PPC-LAP-FUNCTION.
8255
82562006-04-07 22:25  gb
8257
8258        * level-1/version.lisp: Bump.
8259
82602006-04-07 22:19  gb
8261
8262        * compiler/PPC/ppc-asm.lisp, compiler/PPC/ppc-backend.lisp,
8263        compiler/PPC/ppc-disassemble.lisp, compiler/PPC/ppc-lap.lisp,
8264        lib/backtrace-lds.lisp: ARCH::OPCODE, ARCH::OPERAND moved to CCL
8265        package.
8266
82672006-04-07 22:18  gb
8268
8269        * compiler/risc-lap.lisp: OPCODE, OPERAND moved here and from
8270        arch:: to ccl::.
8271
82722006-04-07 22:17  gb
8273
8274        * compiler/arch.lisp: OPERAND, OPCODE belong elsewhere (in
8275        RISC-LAP, for instance).  That's a different package, too.
8276
82772006-04-07 20:46  gb
8278
8279        * library/lispequ.lisp: %CONS-FAKE-STACK-FRAME here.  Really.
8280
82812006-04-07 20:45  gb
8282
8283        * level-0/l0-pred.lisp: *IMMHEADER-1-TYPES* was wrong, too.  Should
8284        I maybe look at the others, or just fix them as I stumble on them ?
8285
82862006-04-07 20:44  gb
8287
8288        * compiler/X86/X8664/x8664-vinsns.lisp: jns->jne when checking for
8289        a DOUBLE-FLOAT.
8290
82912006-04-07 20:41  gb
8292
8293        * level-0/nfasload.lisp: Print file pos in FASL-DISPATCH debug
8294        message.
8295
82962006-04-07 20:40  gb
8297
8298        * lib/nfcomp.lisp: #+x8664: Check for fulltag-immheader-1, not
8299        fulltag-immheader-0 twice in fasl-scan-dispatch
8300       
8301        FASL-DUMP-SYMBOL needs a SYMPTR->SYMVECTOR.  (Note that FASLOAD has
8302        never handled uninterned symbols that need a binding index.)
8303
83042006-04-07 07:55  gb
8305
8306        * lib/describe.lisp: Formatting changes, mostly.
8307
83082006-04-07 07:54  gb
8309
8310        * compiler/X86/x862.lisp: multiple-value-calls need to reserve an
8311        outgoing stack frame when more than 3 args/ values are involved.
8312
83132006-04-07 07:53  gb
8314
8315        * lisp-kernel/x86-spentry64.s, lisp-kernel/x86-spjump64.s,
8316        compiler/X86/X8664/x8664-arch.lisp,
8317        compiler/X86/X8664/x8664-vinsns.lisp: _SPrecover-values-for-mvcall
8318        (reserves outgoing frame if necessary.)
8319
83202006-04-07 07:52  gb
8321
8322        * level-1/ppc-trap-support.lisp: %CONS-FAKE-STACK-FRAME moved to
8323        lispequ.
8324
83252006-04-07 06:28  gb
8326
8327        * compiler/X86/X8664/x8664-vinsns.lisp: pop argument regs in the
8328        right order.
8329
83302006-04-07 06:27  gb
8331
8332        * level-0/X86/x86-misc.lisp: VALUES accounts for reserved frame.
8333
83342006-04-07 03:59  gb
8335
8336        * compiler/X86/x862.lisp: Don't push the function on the "value"
8337        stack when doing a MULTIPLE-VALUE-CALL, since its presence there
8338        can interfere with multiple-value continuations.  (Can it be popped
8339        before recovering multiple values ?  I didn't think of that, but I
8340        suspect that that'd be simpler than what I did; check this.  Maybe
8341        there is -or once was- an issue with _SPrecovervalues bashing a
8342        register.)
8343       
8344        Pushing the function on the temp stack while collecting multiple
8345        values avoids the issue (but it may be far better to simply vpop it
8346        before the call to _SPrecovervalues.)
8347       
8348        Most of the issues related to X862-MVCALL calling itself
8349        recursively have to do with cleaning the function off of the stack
8350        in non tail-call cases.  Since the function's not there anymore,
8351        the rationale for splitting this into a base and recursive case
8352        isn't very strong.
8353       
8354        Changes in X862-MVCALL exposed bugs in X862-INVOKE-FN: we don't
8355        want to emit or otherwise reference the mvpass label if it's null.
8356
83572006-04-07 03:51  gb
8358
8359        * compiler/X86/X8664/x8664-vinsns.lisp: TEMP-PUSH-NODE,
8360        TEMP-POP-NODE.
8361
83622006-04-06 21:27  gb
8363
8364        * lib/db-io.lisp: CDB-HASH-MASK happens to be =
8365        PPC32::TARGET-MOST-POSITIVE-FIXNUM.
8366
83672006-04-06 21:26  gb
8368
8369        * level-1/x86-trap-support.lisp: Bugs, not worth describing in
8370        detail.
8371
83722006-04-06 21:25  gb
8373
8374        * level-1/x86-error-signal.lisp: Bugs, not worth describing in
8375        detail ...
8376
83772006-04-06 21:24  gb
8378
8379        * level-1/l1-lisp-threads.lisp: Simplify CFP-LFUN.
8380
83812006-04-06 21:23  gb
8382
8383        * compiler/X86/X8664/x8664-backend.lisp: Fenceposts with the last
8384        gpr/fpr args.
8385
83862006-04-06 21:22  gb
8387
8388        * compiler/X86/X8664/x8664-arch.lisp: tcr->linear_end ->
8389        tcr->save_rbp.
8390
83912006-04-06 21:21  gb
8392
8393        * lisp-kernel/x86-spentry64.s: Maintain tcr->save_rbp on
8394        ffcall/callback.
8395
83962006-04-06 21:20  gb
8397
8398        * lisp-kernel/x86-exceptions.c: Setup tcr->save_rbp when doing a
8399        callback.
8400       
8401        Pass rpc to %ERR-DISP, as it expects.
8402
84032006-04-06 21:19  gb
8404
8405        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
8406        tcr->linear_end -> tcr->save_rbp.
8407
84082006-04-06 07:03  gb
8409
8410        * lisp-kernel/x86-exceptions.c: Call out to handle errors.
8411
84122006-04-06 07:03  gb
8413
8414        * lisp-kernel/linuxx8664/.gdbinit: Ignore more signals.
8415
84162006-04-06 06:44  gb
8417
8418        * compiler/X86/X8664/x8664-vinsns.lisp: Use new UUOs for
8419        slot-boundp checks, eep.address.
8420
84212006-04-06 06:43  gb
8422
8423        * compiler/X86/x862.lisp: X862-FIXUP-FWD-REFS: don't assume that
8424        functions are uvectors or that their constants start at index 1.
8425       
8426        PROGV: don't keep interrupts off in the body.
8427
84282006-04-06 05:58  gb
8429
8430        * compiler/X86/x86-asm.lisp: RESOLVE-EEP uuo needs source and dest
8431        registers to be recoverable.
8432       
8433        Use (int ($ #x8x)) for SLOT-UNBOUND, since it needs slot-vector,
8434        index, and dest reg to be recoverable.
8435       
8436        Note that the use of this range of (int N) operands may lead to
8437        confusion on platforms that use int #x80 for syscalls.  That (a)
8438        doesn't apply to x8664, since SYSCALL is present and used on x8664
8439        and (b) would only be a problem if the dest reg was %rax, which it
8440        won't be.
8441
84422006-04-06 05:53  gb
8443
8444        * lib/macros.lisp: DEFSETF for INTERRUPT-LEVEL here.
8445
84462006-04-06 05:53  gb
8447
8448        * level-0/l0-init.lisp: Better (useful) X8664 *FEATURES*.
8449
84502006-04-06 05:52  gb
8451
8452        * level-0/l0-hash.lisp: Remove some #+x86-target DBG traps.   Add a
8453        few fixnum decls in and around DO-REHASH.
8454
84552006-04-06 05:51  gb
8456
8457        * level-0/X86/x86-def.lisp: %RETURN-ADDRESS-FUNCTION: if argument
8458        is a "real" tagged return address, return the associated function.
8459
84602006-04-06 05:50  gb
8461
8462        * level-1/: x86-error-signal.lisp, x86-trap-support.lisp: Flesh
8463        this out some.  The FAKE-STACK-FRAME stuff isn't quite the right
8464        idea on X8664; may need to revise it.
8465
84662006-04-06 05:49  gb
8467
8468        * level-1/ppc-trap-support.lisp: Remove HANDLE-GC-HOOKS.
8469
84702006-04-06 05:49  gb
8471
8472        * level-1/ppc-threads-utils.lisp: DEFSETF for INTERRUPT-LEVEL moved
8473        ... anywhere but a platform-specific file.
8474
84752006-04-06 05:48  gb
8476
8477        * level-1/l1-events.lisp: HANDLE-GC-HOOKS isn't really
8478        platform-specific, so move it here.
8479
84802006-04-06 05:47  gb
8481
8482        * level-1/: l1-clos-boot.lisp, l1-clos.lisp: Hashing code expects
8483        instance.hash to be a fixnum, so violating that expectation (as was
8484        done a few weeks ago for debugging) fouls things up royally.  This
8485        may have led to instability on PPC as well.
8486
84872006-04-06 05:44  gb
8488
8489        * lisp-kernel/x86-exceptions.c: Return false (for now) on unhandled
8490        UUO.  (Need to merge code from another machine, which will try to
8491        call out to lisp.)
8492
84932006-04-06 05:43  gb
8494
8495        * lisp-kernel/pmcl-kernel.c: register_sigint_handler on x8664.
8496
84972006-04-05 06:57  gb
8498
8499        * lisp-kernel/x86-spentry64.s: nthrow variants: set %Rforeign_sp,
8500        not tcr slot.
8501       
8502        _SPcallback aligns the foreign stack the way that lisp expects.
8503
85042006-04-05 06:56  gb
8505
8506        * lisp-kernel/x86-exceptions.c: Handle more stuff, including
8507        interrupt callbacks.
8508
85092006-04-05 06:55  gb
8510
8511        * library/x8664-linux-syscalls.lisp: GETUID was wrong.
8512
85132006-04-05 06:55  gb
8514
8515        * level-1/x86-trap-support.lisp: VERY early callback for interrupt
8516        handling.
8517
85182006-04-05 06:54  gb
8519
8520        * level-1/l1-callbacks.lisp: Comment format
8521
85222006-04-05 06:54  gb
8523
8524        * level-0/X86/x86-utils.lisp: Arg order in lap macros.
8525
85262006-04-05 06:54  gb
8527
8528        * level-0/l0-pred.lisp: Get *IMMHEADER-2-TYPES* (or whatever it's
8529        called) right.
8530
85312006-04-05 06:53  gb
8532
8533        * compiler/X86/X8664/x8664-backend.lisp: DEFCALLBACK guts for
8534        X8664.
8535
85362006-04-05 05:20  gb
8537
8538        * lisp-kernel/x86-exceptions.c: Do some callbacks.  Let's see if
8539        they work yet.
8540
85412006-04-05 05:19  gb
8542
8543        * lisp-kernel/x86-spentry64.s: Use interrupt-checking macros.  Fix
8544        callback typos.
8545
85462006-04-05 05:19  gb
8547
8548        * lisp-kernel/x86-macros.s: Check for interrupts, and do so when we
8549        know that they've just become enabled.
8550
85512006-04-05 05:17  gb
8552
8553        * lisp-kernel/x86-exceptions.c: Set high bit of tcr->interrupt
8554        pending when there's ... a pending interrupt.
8555
85562006-04-05 05:17  gb
8557
8558        * lisp-kernel/x86-exceptions.h: Define xuuo stuff.
8559
85602006-04-04 21:47  gb
8561
8562        * lisp-kernel/x86-spentry64.s: callback changes.
8563
85642006-04-04 21:47  gb
8565
8566        * lisp-kernel/lisp-debug.c: rip "=", not "-".
8567
85682006-04-04 21:46  gb
8569
8570        * lisp-kernel/linuxx8664/.gdbinit: Ignore SIGPWR, until we know
8571        better.
8572
85732006-04-04 18:51  gb
8574
8575        * lisp-kernel/pmcl-kernel.c: Wimp out, back to 128GB for
8576        LinuxPPC64.
8577
85782006-04-04 18:50  gb
8579
8580        * level-1/linux-files.lisp: Don't use %GET-NATURAL in Linux version
8581        of PIPE, since file descriptors are always C ints.
8582
85832006-04-04 18:03  gb
8584
8585        * compiler/PPC/PPC32/ppc32-backend.lisp,
8586        compiler/PPC/PPC64/ppc64-backend.lisp, lib/macros.lisp: callback
8587        implementation moved to the backend.
8588
85892006-04-04 18:02  gb
8590
8591        * lib/arglist.lisp: ARGLIST-FROM-MAP: get &rest name right when
8592        &key is also present.
8593
85942006-04-04 16:10  gb
8595
8596        * lisp-kernel/pmcl-kernel.c: linuxppc64 can't mmap 512GB; try
8597        256GB.
8598
85992006-04-04 15:52  gb
8600
8601        * level-1/version.lisp: Bump. New images soon.
8602
86032006-04-04 15:52  gb
8604
8605        * compiler/backend.lisp: Add slots for callback definition.
8606
86072006-04-04 15:52  gb
8608
8609        * compiler/nx0.lisp: Remove a #-bccl.
8610
86112006-04-04 15:26  gb
8612
8613        * lisp-kernel/x86_print.c: print_unsigned_hex: conditionalize on
8614        word size.
8615
86162006-04-04 15:26  gb
8617
8618        * lisp-kernel/x86-spentry64.s: First cut of _SPcallback.
8619
86202006-04-04 15:26  gb
8621
8622        * lisp-kernel/x86-macros.s: Catch frames save foreign sp from
8623        register, not from tcr slot.
8624
86252006-04-04 15:25  gb
8626
8627        * lisp-kernel/x86-exceptions.c: Uncomment the body of
8628        interrupt_handler.
8629
86302006-04-04 15:18  gb
8631
8632        * compiler/lambda-list.lisp: %LFUN-INFO & friends: do
8633        (FUNCTION-TO-FUNCTION-VECTOR).
8634
86352006-04-04 15:18  gb
8636
8637        * compiler/X86/x86-lapmacros.lisp: check-nargs: bad comparison on
8638        max when both min and max.
8639
86402006-04-04 15:18  gb
8641
8642        * lib/macros.lisp: spurious checkin; no real change
8643
86442006-04-03 23:01  gb
8645
8646        * lisp-kernel/x86-gc.c: Make purify() a nop, for now.
8647
86482006-04-03 22:43  gb
8649
8650        * scripts/openmcl64: Maybe (check for x8664 Linux is untested).
8651
86522006-04-03 22:42  gb
8653
8654        * lisp-kernel/bits.h: Constants are word-size (not CPU-variant)
8655        -specific.
8656
86572006-04-03 22:42  gb
8658
8659        * lisp-kernel/pmcl-kernel.c: 512GB MAXIMUM_MAPPABLE_MEMORY on
8660        x8664/Linux as well.
8661
86622006-04-03 22:41  gb
8663
8664        * lisp-kernel/ppc-gc.c: Remove X86 conditionalization.  Maybe merge
8665        x86-gc.c and ppc-gc.c back into a single file someday (or at least
8666        put truly shared code there),but for now this is simpler.
8667
86682006-04-03 22:38  gb
8669
8670        * lisp-kernel/x86-exceptions.c: A little more infrastructure, so
8671        that we can actually call the GC.
8672
86732006-04-03 22:37  gb
8674
8675        * lisp-kernel/x86-exceptions.h: Define UUO, trap opcodes.
8676
86772006-04-03 22:36  gb
8678
8679        * lisp-kernel/x86-gc.c: It's ... alive.
8680
86812006-04-03 22:36  gb
8682
8683        * lisp-kernel/x86-spentry64.s: Use new vector bounds traps. How
8684        about boundp checks ?
8685
86862006-04-03 22:35  gb
8687
8688        * lisp-kernel/x86-uuo.s: New uuo definitions.
8689
86902006-04-03 22:35  gb
8691
8692        * lib/macros.lisp: DO-GC-AREAS,which is one of those macro things,
8693        moved here. Uses archmacro AREA-SUCC (defined here) to avoid
8694        TARGET-ARCH-CASE lossage.
8695
86962006-04-03 22:34  gb
8697
8698        * level-1/l1-lisp-threads.lisp: DO-GC-AREAS,which is one of those
8699        macro things, moved to macros.lisp.
8700
87012006-04-03 22:33  gb
8702
8703        * level-0/X86/x86-misc.lisp: Zero out all of the write-lock's
8704        writer slot, not just the low half.
8705
87062006-04-03 22:32  gb
8707
8708        * level-0/PPC/ppc-utils.lisp: TRUE, FALSE : cmplr vs cmplri.
8709        Typical rookie PPC assembler mistake ...
8710
87112006-04-03 22:31  gb
8712
8713        * level-0/l0-misc.lisp: %FREEBYTES looked like a job for
8714        %GET-NATURAL.
8715
87162006-04-03 22:31  gb
8717
8718        * compiler/X86/X8664/x8664-vinsns.lisp: Use newfangled UUOs.
8719
87202006-04-03 22:30  gb
8721
8722        * compiler/X86/x86-asm.lisp: Add UUO-ERROR-UNBOUND,
8723        UUO-ERROR-SLOT-UNBOUND, UUO-ERROR-EEP-UNRESOLVED.
8724
87252006-04-03 22:29  gb
8726
8727        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
8728        X86/X8664/x8664-arch.lisp: AREA-SUCC archmacro.
8729
87302006-04-01 23:36  gb
8731
8732        * lisp-kernel/x86-exceptions.h: xpMMXreg, sigaltstack stuff.
8733
87342006-04-01 23:35  gb
8735
8736        * lisp-kernel/x86-exceptions.c: take signals on an alternate signal
8737        stack, run the handler on the foreign stack (this is all intended
8738        to keep signal handlers from splatting sigcontexts all over the
8739        tagged lisp stack.)
8740
87412006-04-01 23:33  gb
8742
8743        * lisp-kernel/x86-constants64.h: mmx register indices.
8744
87452006-04-01 23:33  gb
8746
8747        * lisp-kernel/x86-asmutils64.s: switch_to_foreign_stack().
8748
87492006-04-01 23:32  gb
8750
8751        * lisp-kernel/thread_manager.c: register_cstack_holding_area_lock()
8752        takes a natural stack size.
8753
87542006-04-01 23:32  gb
8755
8756        * lisp-kernel/pmcl-kernel.c: register_cstack_holding_area_lock()
8757        takes a natural stack size, sets up alternate signal stack if
8758        USE_SIGALTSTACK.
8759
87602006-04-01 23:31  gb
8761
8762        * lisp-kernel/lisp.h: USE_SIGALTSTACK if X8664.  (Might someday
8763        depend on platform.)
8764
87652006-03-31 23:15  gb
8766
8767        * lisp-kernel/linuxx8664/Makefile: gc.o -> x86-gc.o
8768
87692006-03-31 23:00  gb
8770
8771        * lisp-kernel/x86-gc.c: New file; currently, an exact copy of
8772        ppc-gc.c, but they'll diverge some soon.
8773
87742006-03-31 22:56  gb
8775
8776        * lisp-kernel/: linuxppc/Makefile, linuxppc64/Makefile,
8777        static-linuxppc/Makefile: gc.o -> ppc-gc.o
8778
87792006-03-31 22:52  gb
8780
8781        * lisp-kernel/: darwinppc/Makefile, darwinppc64/Makefile: gc.o ->
8782        ppc-gc.o
8783
87842006-03-31 22:51  gb
8785
8786        * lisp-kernel/area.h: Need prototype for heap_area_containing().
8787        heap_node_area_containing(), which doesn't exist ... not so much.
8788
87892006-03-31 22:50  gb
8790
8791        * lisp-kernel/memory.c: Some functions moved here from gc.c before
8792        it was renamed/split.
8793
87942006-03-31 22:48  gb
8795
8796        * lisp-kernel/gc.c: rename/split
8797
87982006-03-31 22:46  gb
8799
8800        * lisp-kernel/ppc-gc.c: renamed
8801
88022006-03-31 00:54  gb
8803
8804        * lisp-kernel/x86-spentry64.s: Progvsave, progvrestore seem to
8805        work.
8806       
8807        Not sure about the tail end of the multiple-value case of THROW,
8808        but at least it's there.
8809
88102006-03-31 00:53  gb
8811
8812        * library/x8664-linux-syscalls.lisp: still need work, but more
8813        stuff (including socket syscalls) are defined now.
8814
88152006-03-31 00:52  gb
8816
8817        * level-1/version.lisp: Bump.
8818
88192006-03-31 00:52  gb
8820
8821        * level-1/l1-sockets.lisp: Conditionalize lots for x8664.
8822
88232006-03-31 00:51  gb
8824
8825        * level-0/X86/x86-def.lisp: No debug trap in %CFP-LFUN.
8826
88272006-03-31 00:50  gb
8828
8829        * level-0/l0-init.lisp: Simplify *FEATURES* init a little.  Try to
8830        ensure that :linuxx8664-target is there if it should be.
8831
88322006-03-31 00:46  gb
8833
8834        * compiler/X86/X8664/x8664-arch.lisp: Define
8835        MAX-8-BIT-IVECTOR-SUBTAG, too.
8836
88372006-03-30 03:23  gb
8838
8839        * level-1/l1-aprims.lisp: ELEMENT-SUBTYPE-TYPE for x8664.
8840
88412006-03-30 03:22  gb
8842
8843        * level-1/l1-boot-2.lisp: Load some x8664 files,
8844
88452006-03-30 03:21  gb
8846
8847        * level-1/l1-boot-3.lisp: Comments and formatting.
8848
88492006-03-30 03:20  gb
8850
8851        * level-1/l1-clos-boot.lisp: Some x8664 changes.
8852
88532006-03-30 03:20  gb
8854
8855        * level-1/l1-clos.lisp: Use REPLACE-FUNCTION-CODE another time or
8856        two.
8857       
8858        Set class's INSTANCE.HASH slots to class name, to make classes
8859        easier to identify in kernel debugger.  (Might not want to keept
8860        this, but could set/clear a bit there.)
8861
88622006-03-30 03:18  gb
8863
8864        * level-1/: l1-files.lisp, l1-dcode.lisp: Comments and formatting
8865        changes only.
8866
88672006-03-30 03:17  gb
8868
8869        * level-1/l1-lisp-threads.lisp: Start to move some stuff into
8870        platform-dependent files.
8871
88722006-03-30 03:16  gb
8873
8874        * level-1/: l1-pathnames.lisp, l1-numbers.lisp: Conditionalize.
8875
88762006-03-30 03:16  gb
8877
8878        * level-1/l1-streams.lisp: 64-bit conditionalization, and x8664
8879        stuff.
8880
88812006-03-30 03:15  gb
8882
8883        * level-1/l1-typesys.lisp: 64-bit array type on all (both) 64-bit
8884        platforms.
8885
88862006-03-30 03:13  gb
8887
8888        * level-1/l1-utils.lisp: TRUE and FALSE now in LAP.
8889
88902006-03-30 03:13  gb
8891
8892        * level-1/level-1.lisp: Load "new" x8664 files.
8893
88942006-03-30 03:12  gb
8895
8896        * level-1/linux-files.lisp: Conditionalize some for x8664.
8897
88982006-03-30 03:12  gb
8899
8900        * level-1/ppc-threads-utils.lisp: Some stuff moved here from
8901        l1-lisp-threads.
8902
89032006-03-30 03:11  gb
8904
8905        * lib/compile-ccl.lisp: X8664-related changes.
8906
89072006-03-30 03:11  gb
8908
8909        * lib/foreign-types.lisp: Setup host-ftd based on compile-time
8910        target.  Yow, recursion.
8911
89122006-03-30 03:10  gb
8913
8914        * lib/macros.lisp: LET-GLOBALLY deals with symptr/symvector stuff.
8915
89162006-03-30 03:10  gb
8917
8918        * lib/misc.lisp: Fix Linux MACHINE-INSTANCE.
8919       
8920        Move DISASSEMBLE and interface here.
8921
89222006-03-30 03:09  gb
8923
8924        * lib/nfcomp.lisp: Conditionalize for x8664; dump native functions
8925        via fasl-clfun.
8926
89272006-03-30 03:08  gb
8928
8929        * lib/prepare-mcl-environment.lisp: Needed symptr/symvector stuff.
8930
89312006-03-30 03:08  gb
8932
8933        * lib/systems.lisp: Add new x86 level-1 stuff; remove some truly
8934        ancient MCLisms.
8935
89362006-03-30 03:06  gb
8937
8938        * library/x8664-linux-syscalls.lisp: Some fixes and additions, but
8939        still needs lots of work.
8940
89412006-03-30 03:06  gb
8942
8943        * lisp-kernel/x86_print.c: If instance.hash of an instance isn't a
8944        fixnum, treat it as a class name.  (Hard to otherwise recognize
8945        classes from the kernel.)
8946
89472006-03-30 03:04  gb
8948
8949        * lisp-kernel/x86-spjump64.s: rename poweropen_callback ->callback.
8950
89512006-03-30 03:04  gb
8952
8953        * lisp-kernel/x86-spentry64.s: Lots of bug fixes.
8954       
8955        Multiple-value THROW still needs work, and CALLBACK still needs to
8956        be written (both sides).
8957
89582006-03-30 03:02  gb
8959
8960        * lisp-kernel/x86-constants64.s: No FPSCR here, but an MXCSR.
8961
89622006-03-30 03:01  gb
8963
8964        * lisp-kernel/ppc-spentry.s: Error call in misc_set_invalid
8965        involves 4 args.
8966
89672006-03-30 03:00  gb
8968
8969        * lisp-kernel/pmcl-kernel.c: Larger GC defaults if 64-bit, not just
8970        PPC64.
8971       
8972        Insist on Linux kernel 2.6 if x8664 linux.
8973
89742006-03-30 02:59  gb
8975
8976        * lisp-kernel/plsym.c: Missing #\% in format string.
8977
89782006-03-30 02:56  gb
8979
8980        * lisp-kernel/linuxx8664/.gdbinit: More stuff.
8981
89822006-03-30 02:55  gb
8983
8984        * level-1/: x86-callback-support.lisp, x86-error-signal.lisp,
8985        x86-threads-utils.lisp, x86-trap-support.lisp: Nee files.
8986
89872006-03-30 02:54  gb
8988
8989        * level-0/X86/X8664/x8664-bignum.lisp: Remove debug traps from
8990        things that're believed to be working.
8991
89922006-03-30 02:54  gb
8993
8994        * level-0/X86/x86-utils.lisp: CLASS-OF changes/fixes.  Move
8995        #'TRUE/#'FALSE here.
8996
89972006-03-30 02:53  gb
8998
8999        * level-0/X86/x86-symbol.lisp: %SYMPTR->SYMBOL: check for nilsym,
9000        not NIL.
9001
90022006-03-30 02:52  gb
9003
9004        * level-0/X86/x86-numbers.lisp: %FIXNUM-TRUNCATE: return results in
9005        the right order.
9006       
9007        %IASL: shift the right register.
9008
90092006-03-30 02:51  gb
9010
9011        * level-0/X86/x86-misc.lisp: Fix %FUDGE-HEAP-POINTER; define
9012        INTERRUPT-LEVEL.
9013
90142006-03-30 02:51  gb
9015
9016        * level-0/X86/x86-float.lisp: %get-mxcsr stores the mxcsr in memory
9017        so that we can load it into a fixnum.
9018
90192006-03-30 02:50  gb
9020
9021        * level-0/X86/x86-def.lisp: %CFP-LFUN: try to recognize
9022        multiple-value returning calls, return NIL if tra offset is 0.
9023
90242006-03-30 02:49  gb
9025
9026        * level-0/X86/x86-clos.lisp: Remove debug traps; use registers
9027        sanely in the SETF case.
9028
90292006-03-30 02:48  gb
9030
9031        * level-0/PPC/ppc-utils.lisp: Implement TRUE and FALSE in LAP.
9032
90332006-03-30 02:48  gb
9034
9035        * level-0/PPC/ppc-clos.lisp: Change the name of a constant that'll
9036        get clobbered when this is cloned anyway.  (Is that clear ?)
9037
90382006-03-30 02:47  gb
9039
9040        * level-0/l0-pred.lisp: %TYPE-OF fixes for x8664.
9041       
9042        We haven't had interpreted functions for a few years.
9043
90442006-03-30 02:46  gb
9045
9046        * level-0/l0-float.lisp: %SET-DOUBLE-FLOAT-EXP: endianness, use
9047        symbolic constant for high word.
9048
90492006-03-30 02:45  gb
9050
9051        * level-0/l0-array.lisp: SUBTAG-BYTES for X8664.
9052
90532006-03-30 02:45  gb
9054
9055        * compiler/X86/X8664/x8664-vinsns.lisp: Lots of bug fixes.
9056
90572006-03-30 02:44  gb
9058
9059        * compiler/X86/X8664/x8664-arch.lisp: REQUIRE what we need.
9060       
9061        Get CATCH-FRAME definition right.
9062       
9063        .SPpoweropen-callback -> .SPcallback.
9064
90652006-03-30 02:43  gb
9066
9067        * compiler/X86/x862.lisp: Lots of changes and bugfixes.
9068
90692006-03-30 02:42  gb
9070
9071        * compiler/X86/x86-lap.lisp: Avid path in REQUIRE; create native
9072        functions.
9073
90742006-03-30 02:42  gb
9075
9076        * compiler/X86/x86-disassemble.lisp: Run natively: provide
9077        X8664-XDISASSEMBLE.
9078
90792006-03-30 02:41  gb
9080
9081        * compiler/X86/x86-asm.lisp: Assemble things (uuos) with a "pseudo"
9082        ModRM byte, which allows encoding two 4-bit x8664 registers in a
9083        single byte.
9084
90852006-03-30 02:40  gb
9086
9087        * compiler/X86/x86-arch.lisp: Need to explicitly (REQUIRE "ARCH").
9088
90892006-03-30 02:39  gb
9090
9091        * compiler/PPC/PPC64/ppc64-arch.lisp: Define high and low 32-bit
9092        parts of a DOUBLE-FLOAT.
9093
90942006-03-30 02:39  gb
9095
9096        * compiler/PPC/ppc-disassemble.lisp: DISASSEMBLE and
9097        FUNCTION-FOR-DISASSEMBLY moved elsewhere.
9098
90992006-03-25 20:47  gb
9100
9101        * lisp-kernel/lisp-debug.c: Fix x8664 lisp register display.
9102
91032006-03-25 20:42  gb
9104
9105        * lib/ccl-export-syms.lisp: Fix export of CCL::GETENV and
9106        CCL::SETENV.
9107
91082006-03-25 20:37  gb
9109
9110        * lisp-kernel/x86-spentry64.s: Dozens of bug fixes.
9111       
9112        Do uvref (not yet uvset) via jump table.
9113
91142006-03-25 20:36  gb
9115
9116        * lisp-kernel/x86-macros.s: Do arithmetic correctly in Cons macro.
9117       
9118        Split up Misc_Alloc.
9119
91202006-03-25 20:34  gb
9121
9122        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Tag juggling.
9123
91242006-03-25 20:34  gb
9125
9126        * lisp-kernel/ppc_print.c: Identify SLOT-VECTORs in kernel
9127        debugger.
9128
91292006-03-25 20:33  gb
9130
9131        * lisp-kernel/errors.s: Add some error numbers for uvref/uvset
9132        failures that should never happen.
9133
91342006-03-25 20:32  gb
9135
9136        * lisp-kernel/lisp-debug.c: Change x8664 lisp register display.
9137
91382006-03-25 20:32  gb
9139
9140        * lisp-kernel/gc.c: IMPURIFY: maybe grow the dynamic area, but
9141        don't shrink it.
9142
91432006-03-25 20:31  gb
9144
9145        * lisp-kernel/plsym.c: Symbol address may be longer than 32 bits.
9146
91472006-03-25 20:31  gb
9148
9149        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s: sgbuf has
9150        been lisp_thread for the past few years.
9151
91522006-03-25 20:30  gb
9153
9154        * lisp-kernel/ppc-spentry.s: Do uvref/uvset via jump tables.
9155        (Fewer branches, more redundancy.)
9156
91572006-03-25 20:29  gb
9158
9159        * lisp-kernel/x86_print.c: Identify SLOT-VECTORs.  Print TRAs.
9160
91612006-03-25 20:28  gb
9162
9163        * lisp-kernel/xlbt.c: Skip over lexpr nonsense.
9164
91652006-03-25 20:28  gb
9166
9167        * lisp-kernel/linuxx8664/.gdbinit: More GDB macros.
9168
91692006-03-25 20:27  gb
9170
9171        * library/lispequ.lisp: %GF-DISPATCH-TABLE-REF uses %SVREF.
9172
91732006-03-25 20:26  gb
9174
9175        * lib/misc.lisp: MACHINE-VERSION caches the result per-session;
9176        looks in /proc/cpuinfo for something machine-dependent on Linux,
9177        passes 64-bit stuff on DarwinPPC64.
9178
91792006-03-25 20:25  gb
9180
9181        * lib/macros.lisp: LFUN-BITS-KNOWN-FUNCTIONS uses arch macros to
9182        access function vector.
9183
91842006-03-25 20:23  gb
9185
9186        * level-1/version.lisp: Bump.
9187
91882006-03-25 20:23  gb
9189
9190        * level-1/l1-io.lisp: No more interpreted functions.
9191
91922006-03-25 20:23  gb
9193
9194        * level-1/l1-dcode.lisp: Mostly comment and formatting changes.
9195
91962006-03-25 20:22  gb
9197
9198        * level-1/l1-clos.lisp: Fix typos in x86 function cloning;
9199        comment/formatting changs.
9200
92012006-03-25 20:21  gb
9202
9203        * level-1/l1-clos-boot.lisp: Lots of formatting changes; try to use
9204        DEFGLOBAL, since special variable lookup is ~10 instructions or so.
9205
92062006-03-25 20:20  gb
9207
9208        * level-1/l1-boot-1.lisp: HOST-PLATFORM, PLATFORM-DESCRIPTION:
9209        generalize, a little.
9210
92112006-03-25 20:19  gb
9212
9213        * level-1/l1-aprims.lisp: LFUN-KEYVECT access function vector, if
9214        that's not the function.  NREVERSE checks for NIL, mostly so I
9215        wouldn't have to single-step through that case in GDB.
9216
92172006-03-25 20:18  gb
9218
9219        * level-0/X86/X8664/x8664-bignum.lisp: Shift in the correct
9220        direction, sign-extend (or don't) as apropriate, etc.  Still some
9221        debug traps on things that haven't been called yet.
9222
92232006-03-25 20:17  gb
9224
9225        * level-0/X86/x86-utils.lisp: CLASS-OF fixes.
9226
92272006-03-25 20:17  gb
9228
9229        * level-0/X86/x86-pred.lisp: If the recursive list case of EQUAL
9230        fails, fail; don't fall into the uvector case ...
9231
92322006-03-25 20:16  gb
9233
9234        * level-0/X86/x86-numbers.lisp: Fenceposts in fixnum
9235        integer-length.
9236
92372006-03-25 20:15  gb
9238
9239        * level-0/X86/x86-hash.lisp: Strip-tag-to-fixnum without shifts.
9240
92412006-03-25 20:15  gb
9242
9243        * level-0/X86/x86-def.lisp: Stuff here seems to work, so far ...
9244
92452006-03-25 20:14  gb
9246
9247        * level-0/X86/x86-clos.lisp: debug traps on slot-lookup LAP
9248        prototypes.
9249
92502006-03-25 20:12  gb
9251
9252        * level-0/l0-pred.lisp: rearrange %type-of for tag changes.
9253
92542006-03-25 20:12  gb
9255
9256        * level-0/l0-numbers.lisp: No need to specify an initial value 0
9257        when stack-consing a bignum in %BIGNUM-RANDOM.  Add a fixnum decl
9258        or two.
9259
92602006-03-25 20:11  gb
9261
9262        * level-0/l0-hash.lisp: Symbol aren't (necessarily) uvectors. X86
9263        breakpoints if we hash any symbols ...
9264
92652006-03-25 20:09  gb
9266
9267        * level-0/l0-bignum64.lisp: Um, most of this is supposed to be
9268        #+64-bit-target, not #+ppc64-target.
9269
92702006-03-25 20:09  gb
9271
9272        * compiler/X86/X8664/x8664-vinsns.lisp:
9273        SET-CLOSURE-FORWARD-REFERENCE: functions aren't uvectors.
9274       
9275        Lots of other changes/fixes.
9276
92772006-03-25 20:08  gb
9278
9279        * compiler/X86/X8664/x8664-arch.lisp: Tag reorganization.
9280       
9281        MISC-SYMBOL-OFFSET, MISC-FUNCTION-OFFSET.
9282       
9283        FUNCTION-TO-FUNCTION-VECTOR, FUNCTION-VECTOR-TO-FUNCTION arch
9284        macros have something to do here.
9285
92862006-03-25 20:06  gb
9287
9288        * compiler/X86/x862.lisp: Some operators can push results directly.
9289       
9290        Lots of bug fixes.
9291
92922006-03-25 20:05  gb
9293
9294        * compiler/X86/x86-asm.lisp: CMPB: accept signed/unsigned
9295        immediate.
9296
92972006-03-25 20:04  gb
9298
9299        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Arch
9300        macros for FUNCTION-TO-FUNCTION-VECTOR and
9301        FUNCTION-VECTOR-TO-FUNCTION.
9302       
9303        (NOPs.)
9304
93052006-03-25 20:03  gb
9306
9307        * compiler/optimizers.lisp: MACPTRP.
9308
93092006-03-25 20:03  gb
9310
9311        * compiler/nx.lisp: COMPILE: don't check for INTERPRETED-FUNCTION,
9312        unless/until we have them again (in some form.)
9313
93142006-03-20 10:05  gwking
9315
9316        * lib/ccl-export-syms.lisp: Exporting getenv and setenv from CCL
9317
93182006-03-19 20:30  gb
9319
9320        * lisp-kernel/x86-spentry64.s: Old-style destructuring, VALUES.
9321
93222006-03-19 20:29  gb
9323
9324        * lisp-kernel/x86-constants64.s: Define %nargs_b.
9325
93262006-03-19 20:29  gb
9327
9328        * lisp-kernel/x86-constants.s: Define registers/bitfields used in
9329        old-style destructuring subprims.
9330
93312006-03-19 20:28  gb
9332
9333        * library/lispequ.lisp: $XNOFINFUNCTION.
9334
93352006-03-19 20:27  gb
9336
9337        * lib/level-2.lisp: Conditionalize out bit, bitfield accessors
9338        until they work ...
9339
93402006-03-19 20:27  gb
9341
9342        * lib/backtrace-lds.lisp: Conditionalize
9343        GET-REGISTER-VALUE/SET-REGISTER-VALUE catch frame access.
9344
93452006-03-19 20:26  gb
9346
9347        * level-1/: l1-clos-boot.lisp, l1-clos.lisp, l1-dcode.lisp:
9348        Conditionalize, mostly for whether the implementation has separate
9349        code-vector and function objects or not. (ppc vs x86, for now.)
9350
93512006-03-19 20:25  gb
9352
9353        * level-0/X86/x86-numbers.lisp: %FIXNUM-GCD.  Slower then the one
9354        that counts bits, but doesn't need as many registers.
9355
93562006-03-19 20:24  gb
9357
9358        * level-0/X86/x86-def.lisp: Do the lexpr/methd-context apply stuff.
9359         %X86-CLONE-FUNCTION, REPLACE-FUNCTION-CODE.
9360       
9361        Wouldn't hurt to do some typechecking in some of the lap code here.
9362
93632006-03-19 20:22  gb
9364
9365        * level-0/X86/x86-clos.lisp: Yet.
9366
93672006-03-19 20:22  gb
9368
9369        * level-0/PPC/ppc-def.lisp: REPLACE-FUNCTION-CODE abstraction.
9370
93712006-03-19 20:22  gb
9372
9373        * level-0/PPC/ppc-clos.lisp: UNSET-FIN-TRAMPOLINE doesn't reference
9374        constants.  (This could neve  have worked.)
9375
93762006-03-19 20:21  gb
9377
9378        * level-0/l0-error.lisp: Replace error format string 9.
9379
93802006-03-19 20:20  gb
9381
9382        * compiler/X86/X8664/x8664-vinsns.lisp: &lexpr fixes, old-style
9383        destructuring.
9384
93852006-03-19 20:20  gb
9386
9387        * compiler/X86/X8664/x8664-arch.lisp: Add the xtra slot to
9388        lisp-frame.  yield syscall, gf-code-size.
9389
93902006-03-19 20:19  gb
9391
9392        * compiler/X86/x862.lisp: Fix some lexpr confusion, mv-call
9393        recursive problems.
9394
93952006-03-19 20:18  gb
9396
9397        * compiler/X86/x86-lapmacros.lisp: SAVE-FRAME-VARIABLE-ARG-COUNT,
9398        CALL-SUBPRIM.
9399
94002006-03-19 20:17  gb
9401
9402        * compiler/X86/x86-lap.lisp: Support :CODE-SIZE and :ORG
9403        directives.  Change :CONSTANTS to :FIXED-CONSTANTS.
9404
94052006-03-19 20:16  gb
9406
9407        * compiler/nx1.lisp: Can use MAKE-ARRAY rather than MAKE-SEQUENCE.
9408
94092006-03-17 23:38  gb
9410
9411        * xdump/xfasload.lisp: Special case references to NIL in package
9412        htabs.
9413       
9414        Leave deleted markers behind for symbols that we haven't seen
9415        references to; leave empty (0) words empty.
9416
94172006-03-17 23:36  gb
9418
9419        * lisp-kernel/linuxx8664/.gdbinit: Add a few lisp debugging things.
9420
94212006-03-17 23:36  gb
9422
9423        * lisp-kernel/xlbt.c: Recognize multiple-value returning frames and
9424        find the real tra underneath ret1valn.
9425
94262006-03-17 23:35  gb
9427
9428        * lisp-kernel/x86-spentry64.s: "gen" tcalls had the same bug as the
9429        known-stack-args cases did several days ago.
9430
94312006-03-17 23:34  gb
9432
9433        * lisp-kernel/x86-macros.s: New do_funcall().
9434
94352006-03-17 23:33  gb
9436
9437        * lisp-kernel/x86-exceptions.c: When we field an alloc trap, make
9438        sure that both the allocptr register and the save_allocptr slot in
9439        the TCR are updated and consistent with each other.
9440
94412006-03-17 23:32  gb
9442
9443        * lisp-kernel/x86-constants64.h: A lisp frame may have two return
9444        addresses (one for the multiple-value mechanism and the real one.)
9445
94462006-03-17 23:31  gb
9447
9448        * lisp-kernel/plsym.c: If there's such a thing as fulltag_symbol,
9449        try to use it.
9450
94512006-03-17 23:29  gb
9452
9453        * level-0/X86/x86-symbol.lisp: Symptr/symvector deconflation.
9454
94552006-03-17 23:28  gb
9456
9457        * level-0/X86/x86-pred.lisp: Add %LISP-LOWBYTE-REF; could be
9458        open-coded (and may once have been.)
9459
94602006-03-17 23:27  gb
9461
9462        * level-0/nfasload.lisp: Some SYMPTR->SYMVECTOR usage.  Define
9463        %FASL-READ-SIGNED-LONG;  use it in a few places.  Assume that
9464        scalar integers are stored big-endian; construct native-endian
9465        integers from them.
9466
94672006-03-17 23:26  gb
9468
9469        * level-0/l0-symbol.lisp: Lots of SYMPTR->SYMVECTOR usage.
9470
94712006-03-17 23:25  gb
9472
9473        * level-0/l0-pred.lisp: Do %TYPE-OF for x8664.
9474
94752006-03-17 23:24  gb
9476
9477        * level-0/l0-def.lisp: Use SYMPTR->SYMVECTOR where necessary, so
9478        that we can %SVREF around in symbols.
9479       
9480        A little light reorganization, to make it easier to add debugging
9481        breakpoints for things like FUNCTION-NAME.
9482
94832006-03-17 23:22  gb
9484
9485        * compiler/X86/X8664/x8664-vinsns.lisp: Kinder, gentler
9486        CHECK-MISC-BOUND.  (What was I thinking ?)
9487       
9488        More cleanup to FUNCALL and variants.
9489       
9490        MAKE-TSP-CONS: fix braindamage, use only one register.  (Need to
9491        write down pc-luser-xp constraints for TSP allocation, but I think
9492        that this meets the current artist's conception of them.)
9493       
9494        %SYMBOL->SYMPTR does what it does on other platforms (e.g., map NIL
9495        to a proxy symbol and/or insist on a real symbol.)
9496        %SYMPTR->SYMVECTOR maps something tagged as a symbol to the
9497        underlying uvector by playing with tag bits, and %SYMVECTOR->SYMPTR
9498        does the inverse.
9499       
9500        There were two definitions of %SCHARCODE in the file; the later one
9501        (that took effect) was completely wrong.
9502
95032006-03-17 23:05  gb
9504
9505        * compiler/X86/X8664/x8664-arch.lisp: Add HONS fields to AREA
9506        definition.
9507       
9508        SYMVECTOR->SYMPTR and its inverse don't do much, but it's not worth
9509        spending a function call to do a little.
9510
95112006-03-17 23:03  gb
9512
9513        * compiler/X86/x862.lisp: Don't sign-extend the $LFBITS-NONAME-BIT;
9514        doing so had to do with 29-bit fixnums on an old 68K
9515        implementation.
9516       
9517        Fix parenthesization in %i-, so that we branch in all cases that
9518        need to.
9519       
9520        Implement %SYMPTR->SYMVECTOR and %SYMVECTOR->SYMPTR, which change
9521        something tagged X8664::FULLTAG-SYMBOL into the underlying uvector
9522        and back again.
9523
95242006-03-17 22:59  gb
9525
9526        * compiler/X86/x86-lap.lisp: Change the sign of TRA displacements,
9527        to match what the compiler expects and what some other things do.
9528       
9529        When checking to see if an ASSUMED-SHORT[-CONDITIONAL]-BRANCH can
9530        use a 1-byte branch displacement, get the sign of that displacment
9531        right.  (Doing it the wrong way was encoding a forward branch to a
9532        label 128 bytes away in one byte, which made it a backward branch
9533        128 bytes away ...)
9534
95352006-03-17 22:55  gb
9536
9537        * library/lispequ.lisp: Use NTH-IMMEDIATE to access COMBINED-METHOD
9538        slots.
9539
95402006-03-17 22:54  gb
9541
9542        * lib/nfcomp.lisp: Comments clarify that scalar integers are always
9543        dumped big-endian.  (They have to be read/written a byte at a time
9544        anyway; there's no clear advantage in writing them in native
9545        endianness.)
9546
95472006-03-17 22:52  gb
9548
9549        * lib/macros.lisp: SYMPTR->SYMVECTOR and SYMVECTOR->SYMBOL are
9550        arch-specfic (NOP on PPC, inlined tag-bits stuff on x8664.)
9551
95522006-03-17 22:50  gb
9553
9554        * level-1/l1-dcode.lisp: Star to conditionalize, a little.
9555
95562006-03-17 22:48  gb
9557
9558        * level-1/l1-boot-2.lisp: Conditionalize.
9559
95602006-03-17 22:48  gb
9561
9562        * level-1/: l1-callbacks.lisp, l1-utils.lisp: Comment formatting.
9563
95642006-03-17 22:45  gb
9565
9566        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-arch.lisp,
9567        PPC64/ppc64-arch.lisp: %SYMPTR->SYMVECTOR and %SYMVECTOR->SYMPTR
9568        shold never be called on PPC, but implement them as idenity
9569        operations, just in case.
9570
95712006-03-17 22:44  gb
9572
9573        * compiler/: nx1.lisp, nxenv.lisp: Worth inlining
9574        %SYMPTR->SYMVECTOR on x8664 (should never happen on PPC, but treat
9575        it as identity function there.)
9576
95772006-03-16 02:03  gb
9578
9579        * level-1/l1-sockets.lisp: Spell LINUX correctly.
9580
95812006-03-16 02:00  gb
9582
9583        * lisp-kernel/x86-spentry64.s: We were inlining NTH-VALUE
9584        incorrectly, but were always inlining it.
9585       
9586        Use debug traps to catch some cases that're NYI.
9587
95882006-03-16 01:58  gb
9589
9590        * lisp-kernel/lisp-debug.c: X8664 register-printing changes.
9591
95922006-03-16 01:58  gb
9593
9594        * library/parse-ffi.lisp: Treat VEC64/VEC128 like large integers,
9595        for now.
9596
95972006-03-16 01:57  gb
9598
9599        * library/lispequ.lisp: gf accessors use NTH-IMMEDIATE.
9600
96012006-03-16 01:56  gb
9602
9603        * lib/numbers.lisp: Conditionaliz on target word size.
9604
96052006-03-16 01:56  gb
9606
9607        * lib/nfcomp.lisp: Need to be aware of cases where host/target
9608        endianness differ.
9609       
9610        Byte-swap 16/32-bit constant ivectors; note that other cases may
9611        also need byte-swapping.
9612
96132006-03-16 01:54  gb
9614
9615        * lib/macros.lisp: NTH-IMMEDIATE is arch-specific; so is
9616        SET-NTH-IMMEDIATE, which is its SETF inverse.
9617
96182006-03-16 01:53  gb
9619
9620        * lib/foreign-types.lisp: So far, Darwin's the only platform that
9621        uses signed chars.  (For a good laugh, note that the PPC has an
9622        unsigned "load byte" instruction, but it takes two instructions to
9623        treat char as signed.  This is, of course, much less significant
9624        than all of the other things that are wrong about Darwin ...)
9625
96262006-03-16 01:51  gb
9627
9628        * lib/compile-ccl.lisp: RISC-LAP is PPC-specific (and maybe
9629        specific to other RISC architectures).  X86-DISASSEMBLE should be
9630        built for x8664.
9631
96322006-03-16 01:49  gb
9633
9634        * lib/backtrace-lds.lisp: Some conditinalization.
9635
96362006-03-16 01:48  gb
9637
9638        * tools/.cvsignore, library/.cvsignore: Ignore fasl extensions yet
9639        to come.
9640
96412006-03-16 01:46  gb
9642
9643        * level-1/version.lisp: Bump.
9644
96452006-03-16 01:46  gb
9646
9647        * level-1/l1-sockets.lisp: Some conditionalization; need more, and
9648        need to handle wrong-endianness.
9649
96502006-03-16 01:44  gb
9651
9652        * level-1/l1-lisp-threads.lisp: %KERNEL-GLOBAL-OFFSET-FORM:
9653        probably should lose this.  It's a function, and therefore has some
9654        trouble accessing the right (macroexpand-time) backend.
9655
96562006-03-16 01:43  gb
9657
9658        * level-1/l1-files.lisp: Set *.FASL-PATHAME* via #.'ed reference to
9659        target backend.
9660
96612006-03-16 01:42  gb
9662
9663        * level-1/l1-clos-boot.lisp: Conditionalize a little.
9664
96652006-03-16 01:42  gb
9666
9667        * level-1/l1-aprims.lisp: Use #. to set OS package name fron
9668        backend/ftd.
9669
96702006-03-16 01:41  gb
9671
9672        * level-0/X86/x86-symbol.lisp: %SYMPTR->SYMBOL is often called with
9673        real (tagged) symbols; make it a nop in that case.
9674
96752006-03-16 01:40  gb
9676
9677        * level-0/X86/x86-def.lisp: %SET-NTH-IMMEDIATE.
9678
96792006-03-16 01:40  gb
9680
9681        * level-0/X86/x86-clos.lisp: Start some of this. Still need to
9682        decide whether to use lexprs; better decide soon.
9683
96842006-03-16 01:38  gb
9685
9686        * compiler/X86/X8664/x8664-vinsns.lisp: TRAP-UNLESS-CHARACTER.
9687        Float memory accessors/setters for the constant-offset case.
9688        NTH-VALUE was wrong; now simpler.  MAKE-TSP-VCELL.  Binding
9689        subprims.
9690       
9691        Yet another FUNCALL scheme.
9692
96932006-03-16 01:36  gb
9694
9695        * level-0/l0-symbol.lisp: MAKE-SYMBOL returns the symbol pointer.
9696        Maybe conditionalize this for X8664.
9697
96982006-03-16 01:35  gb
9699
9700        * level-0/l0-io.lisp: Hopefully, the "split" 64-bit lseek is at
9701        best LinuxPPC32-specific.
9702
97032006-03-16 01:34  gb
9704
9705        * compiler/X86/x862.lisp: Use %ra0 for the inner function when
9706        making a closure, to avoid conflicts with other temps.  No need to
9707        reference memory on self-calls (and good reasons not to ...)
9708        X862-UNBOXED-INTEGER-ARG-TO-REG handles 64-bit regs.
9709
97102006-03-16 01:31  gb
9711
9712        * compiler/X86/x86-lapmacros.lisp: EXTRACT-TYPECODE: use a GENSYMed
9713        label.
9714
97152006-03-16 01:30  gb
9716
9717        * compiler/X86/x86-lap.lisp: New stuff for "pre-allocated"
9718        constants.
9719
97202006-03-16 01:29  gb
9721
9722        * compiler/X86/x86-arch.lisp: Didn't have the relatively recent
9723        STACK-SIZE.
9724
97252006-03-16 01:29  gb
9726
9727        * compiler/X86/X8664/x8664-arch.lisp: Change the
9728        %GET-KERNEL-GLOBAL[-PTR] archmacros, so that they'll work with
9729        cross-compilation.  Fixnum offsets aren't supported; they weren't
9730        used, this isn't public, and it wasn't well-defined anyway.
9731       
9732        Add %NTH-IMMEDIATE.
9733
97342006-03-16 01:28  gb
9735
9736        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp:
9737        Change the %GET-KERNEL-GLOBAL[-PTR] archmacros, so that they'll
9738        work with cross-compilation.  Fixnum offsets aren't supported; they
9739        weren't used, this isn't public, and it wasn't well-defined anyway.
9740
97412006-03-14 14:08  gb
9742
9743        * binppc/.cvsignore, l1-pfsls/.cvsignore: remove
9744
97452006-03-14 14:02  gb
9746
9747        * level-1/: l1-boot-2.lisp, level-1.lisp: Always use physical bin,
9748        l1-fasls relative pathnames.
9749
97502006-03-14 14:02  gb
9751
9752        * level-1/l1-pathnames.lisp: Simpler translations.
9753
97542006-03-14 13:51  gb
9755
9756        * l1-dfsls/.cvsignore, bindarwin/.cvsignore: removed
9757
97582006-03-14 13:31  gb
9759
9760        * bin/.cvsignore, l1-fasls/.cvsignore: new file.
9761
97622006-03-14 13:24  gb
9763
9764        * level-1/: l1-boot-2.lisp, level-1.lisp: Step 1: don't hardwire
9765        the target fasl pathname in a big #+ nest, get it from the target
9766        backend.  (Hope that works with macrolet.)
9767
97682006-03-14 13:22  gb
9769
9770        * lisp-kernel/x86-spentry64.s: _SPstack_misc_alloc fixes.
9771        _SPsyscall: just return negative return values, don't negate them.
9772
97732006-03-14 13:20  gb
9774
9775        * library/x8664-linux-syscalls.lisp: Hide the incomplete
9776        definitions.  This needs work; should use real foreign types.
9777
97782006-03-14 13:19  gb
9779
9780        * compiler/X86/X8664/x8664-vinsns.lisp: %init-gvector: pop the last
9781        element first.
9782
97832006-03-14 13:19  gb
9784
9785        * compiler/X86/X8664/x8664-backend.lisp: :linuxx8664-target on
9786        features, too.
9787
97882006-03-14 13:18  gb
9789
9790        * compiler/X86/x862.lisp: x862-allocate-initialized-gvector: works
9791        better if the gvector is actually allocated ...
9792
97932006-03-14 03:11  gb
9794
9795        * compiler/X86/x862.lisp: Remove a comment that described the
9796        mid-1990s behavior of MacsBug.
9797
97982006-03-14 03:10  gb
9799
9800        * compiler/X86/x86-lap.lisp: In X86-LAP-EQUATE-FORM, check for and
9801        disallow bindings that match defined X86 register names.
9802
98032006-03-14 03:09  gb
9804
9805        * compiler/X86/x86-disassemble.lisp: Some UUOs shouldn't terminate
9806        a disassembly block.
9807
98082006-03-14 03:09  gb
9809
9810        * library/syscall.lisp: Whoops.
9811
98122006-03-14 03:01  gb
9813
9814        * lisp-kernel/x86-spentry64.s: Fixes in _SPcall_closure,
9815        _SPstkgvector.
9816
98172006-03-14 03:00  gb
9818
9819        * lisp-kernel/x86-exceptions.c: Handle uuo_debug_trap.
9820
98212006-03-14 03:00  gb
9822
9823        * lisp-kernel/x86-constants64.h: Iflags is REG_EFL on Linux.
9824
98252006-03-14 02:59  gb
9826
9827        * lisp-kernel/lisp-debug.c: Make (R)egisters command work on x8664.
9828
98292006-03-14 02:59  gb
9830
9831        * library/syscall.lisp: BACKEND-SYSCALL-DEFINITIONS uses whatever
9832        bits are in the backend's BACKEND-PLATFORM-SYSCALL-MASK.
9833
98342006-03-14 02:57  gb
9835
9836        * library/x8664-linux-syscalls.lisp: New file. Woefully incomplete,
9837        and may need word-size fixes.
9838
98392006-03-14 02:57  gb
9840
9841        * library/ppc-linux-syscalls.lisp: Set the mask per the new (new)
9842        scheme.
9843
98442006-03-14 02:56  gb
9845
9846        * level-0/X86/x86-utils.lisp: Fix a few bugs in heap-walking code.
9847
98482006-03-14 02:56  gb
9849
9850        * level-0/X86/x86-def.lisp: %NTH-IMMEDIATE needed to box;  both it
9851        and %FUNCTION-CODE-WORDS needed to avoid naming parameters FN.
9852
98532006-03-14 02:55  gb
9854
9855        * level-1/: l1-sockets.lisp, l1-streams.lisp, linux-files.lisp: Use
9856        the right set of syscall definitions for Linux.
9857
98582006-03-14 02:54  gb
9859
9860        * level-0/nfasload.lisp: Add a fixnum declaration.
9861
98622006-03-14 02:54  gb
9863
9864        * level-0/l0-io.lisp: Include the right set of syscall defs for
9865        Linux.
9866
98672006-03-14 02:53  gb
9868
9869        * level-0/l0-symbol.lisp: Need to use %symptr->symbol for x86;
9870        harmless on PPC.
9871
98722006-03-14 02:53  gb
9873
9874        * compiler/X86/X8664/x8664-vinsns.lisp: SETUP-VCELL-ALLOCATION
9875        needs to bias the size by fulltag-misc.
9876
98772006-03-14 02:52  gb
9878
9879        * compiler/X86/X8664/x8664-backend.lisp: At least for Linux/X86/64,
9880        need to look at os/cpu/word-size to deterine applicable syscall
9881        defs.
9882
98832006-03-14 02:51  gb
9884
9885        * compiler/PPC/: PPC32/ppc32-backend.lisp,
9886        PPC64/ppc64-backend.lisp: All PPC (32/64) backends can use syscall
9887        defs for OS/CPU, regardless of word size.
9888
98892006-03-14 02:50  gb
9890
9891        * compiler/backend.lisp: Add PLATFORM-SYSCALL-MASK to backend
9892        struct.
9893
98942006-03-14 02:09  gb
9895
9896        * library/: ppc-linux-syscalls.lisp, linux-syscalls.lisp: renamed
9897
98982006-03-13 02:33  gb
9899
9900        * level-1/version.lisp: Bump.
9901
99022006-03-13 02:24  gb
9903
9904        * xdump/xfasload.lisp: AREA constants now in CCL package.
9905
99062006-03-13 02:23  gb
9907
9908        * lisp-kernel/x86-spentry64.s: ret1valn: no LEAVE here.
9909        nthrowvalues: fix several bugs.
9910
99112006-03-13 02:22  gb
9912
9913        * lisp-kernel/x86-macros.s: TSP_Alloc_Var: zero the dnode at the
9914        new tsp, as well.
9915
99162006-03-13 02:21  gb
9917
9918        * library/lispequ.lisp: Define AREA constants here (in CCL
9919        package.)
9920
99212006-03-13 02:20  gb
9922
9923        * lib/macros.lisp: Move DO-CONSING-AREAS here.  AREA-CODE is an
9924        arch macro.
9925
99262006-03-13 02:20  gb
9927
9928        * level-1/l1-lisp-threads.lisp: Move DO-CONSING-AREAS to
9929        macros.lisp.
9930
99312006-03-13 02:19  gb
9932
9933        * level-0/X86/x86-utils.lisp: Walk static, dynamic areas.
9934
99352006-03-13 02:19  gb
9936
9937        * level-0/PPC/ppc-utils.lisp: Comments.
9938
99392006-03-13 02:18  gb
9940
9941        * level-0/nfasload.lisp: %MAP-AREAS call might have to deal with
9942        symbol/symbol-vector distinction.
9943
99442006-03-13 02:18  gb
9945
9946        * level-0/l0-utils.lisp: AREA constants are in CCL package, not
9947        PPC.  %MAP-LFUNS might have to deal with function/function-vector
9948        distinction.
9949
99502006-03-13 02:17  gb
9951
9952        * level-0/l0-misc.lisp: AREA constants are in CCL package, not PPC.
9953
99542006-03-13 02:17  gb
9955
9956        * level-0/l0-hash.lisp: %GROW-HASH-TABLE is always called inside
9957        WITHOUT-INTERRUPTS, so no need to do it again.
9958
99592006-03-13 02:16  gb
9960
9961        * compiler/X86/x862.lisp: Push at most one stack frame on function
9962        entry ...
9963
99642006-03-13 02:14  gb
9965
9966        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
9967        X86/X8664/x8664-arch.lisp: AREA-CODE archmacro.
9968
99692006-03-13 02:13  gb
9970
9971        * compiler/: PPC/ppc-arch.lisp, X86/x86-arch.lisp: AREA constants
9972        moved to CCL package.
9973
99742006-03-11 23:54  gb
9975
9976        * lisp-kernel/linuxx8664/.gdbinit: Don't change handling of SIGUSR1
9977        or SIGUSR2; I don't think that we use them under Linux.
9978
99792006-03-11 23:52  gb
9980
9981        * lisp-kernel/x86-spentry64.s: builtin_eql was extracting lisptags
9982        and comparing fulltags, and thus returning false when it shouldn't
9983        have.
9984       
9985        nthrow1value was making too small of a TSP frame around the call to
9986        the cleanup code, clobbering TSP links in some cases.  It was also
9987        failing to pop catch frames.
9988       
9989        stkgvector was unimplented.
9990       
9991        _car order-of-arguments problems in (at least) spreadargz.
9992
99932006-03-11 23:47  gb
9994
9995        * lisp-kernel/x86-subprims64.s: Push a 0 and make the initial lisp
9996        %rbp point to it, to mark the end of the line.
9997
99982006-03-11 23:47  gb
9999
10000        * lisp-kernel/xlbt.c: Sketchy kernel-debugger backtrace.
10001
100022006-03-11 23:46  gb
10003
10004        * lisp-kernel/x86-constants64.h: A lisp_frame struct, for kernel
10005        backtrace.
10006
100072006-03-11 23:46  gb
10008
10009        * lisp-kernel/pmcl-kernel.c: Try (temporily) disabling Lisp's
10010        SIGINT handler.   There seem to be problems using a keyboard
10011        interrupt to awaken GDB on the version of x96-64 Linux I'm using.
10012        This didn't fix those problems completely, but we won't need to
10013        handle SIGINT in the lisp until more code works.
10014
100152006-03-11 23:43  gb
10016
10017        * lisp-kernel/macros.h: I may have parenthesized nodeheader_tag_p
10018        and immheader_tag_p; several versions of  GCC generated code that
10019        looked wrong, but since it's C it's hard to tell.   Splitting the
10020        macros up (into "mask definition" and "mask testing" seems to
10021        generate the right code (a bit test if optimization's cranked up.)
10022
100232006-03-11 23:41  gb
10024
10025        * level-0/X86/x86-misc.lisp: Fix a few typos (fixnum vs unboxed
10026        constants, etc.)
10027       
10028        %ATOMIC-DECF-PTR-IF-POSITIVE should return what we would have
10029        (might have) stored in the word accessed by the pointer (in
10030        particular, it should return a negative value if there are no other
10031        threads waiting on a recursive lock.)
10032
100332006-03-11 23:38  gb
10034
10035        * level-0/PPC/ppc-misc.lisp: Fix file name in comment.
10036
100372006-03-11 23:38  gb
10038
10039        * compiler/X86/X8664/x8664-vinsns.lisp: ENSURE-RESERVED-FRAME: test
10040        was backwards.
10041
100422006-03-11 23:37  gb
10043
10044        * compiler/X86/X8664/x8664-arch.lisp: Don't use FN as arg name in
10045        LFUN-VECTOR, since x8664::fn is a constant (symbolic register
10046        name.)
10047       
10048        Add missing close paren.
10049
100502006-03-11 23:36  gb
10051
10052        * compiler/X86/x862.lisp: Ensure stack fencepost in simple
10053        &optional arg case.
10054       
10055        Do the variable-arg-count case if complex &optional, no &rest/&key,
10056        and some (possibly unsupplied) optionals may or may not have been
10057        pushed by the caller.
10058
100592006-03-11 04:11  gb
10060
10061        * lisp-kernel/: image.c, lisp_globals.h: Fix conditionalization: we
10062        don't define PPC32, but it might be clearer if we did.
10063
100642006-03-11 03:28  gb
10065
10066        * level-1/version.lisp: Bump.
10067
100682006-03-11 03:20  gb
10069
10070        * library/: darwin-syscalls.lisp, linux-syscalls.lisp,
10071        syscall.lisp: New mechanism, mostly to make cross-compilation
10072        easier.
10073
100742006-03-11 03:20  gb
10075
10076        * level-0/X86/x86-def.lisp: Extra paren; %NTH-IMMEDIATE and
10077        function/lfun-vector stuff, CLOSURE-FUNCTION here until that can be
10078        abstracted away sanely.
10079
100802006-03-11 03:18  gb
10081
10082        * level-0/X86/x86-misc.lisp: %STORE-IMMEDIATE-CONDITIONAL needs to
10083        discard the frame that the caller reserved.
10084
100852006-03-11 03:17  gb
10086
10087        * level-0/X86/x86-clos.lisp: Comment out the PPC LAP (e.g.,
10088        everything in the file, still).
10089
100902006-03-11 03:15  gb
10091
10092        * level-0/PPC/ppc-def.lisp: CLOSURE-FUNCTION here.  (Abstract away
10093        NTH-IMMEDIATE ?)
10094
100952006-03-11 03:14  gb
10096
10097        * level-0/l0-misc.lisp: Indentation.
10098
100992006-03-11 03:13  gb
10100
10101        * level-0/l0-def.lisp: Move CLOSURE-FUNCTION to arch-specific dir.
10102        Use LFUN-VECTOR, which should hopefully compile away on PPC but
10103        needs to be there on X8664.
10104
101052006-03-11 03:11  gb
10106
10107        * compiler/X86/X8664/x8664-vinsns.lisp: Now that subprim addresses
10108        are higher, there's another significant byte to deal with in the
10109        subprim jump in %INIT-CLOSURE.
10110       
10111        Use a temporary - and a smaller instruction sequence - in
10112        MISC-ELEMENT-COUNT-FIXNUM, so that src and dest can overlap.  (More
10113        instructions, but fewer bytes.)
10114
101152006-03-11 03:08  gb
10116
10117        * compiler/PPC/PPC32/ppc32-arch.lisp,
10118        compiler/PPC/PPC64/ppc64-arch.lisp,
10119        compiler/X86/X8664/x8664-arch.lisp, lib/macros.lisp: LFUN-VECTOR
10120        and LFUN-VECTOR-LFUN are arch-specific macros.
10121
101222006-03-11 03:07  gb
10123
10124        * lisp-kernel/x86-spentry64.s: Reformat a comment.
10125
101262006-03-10 22:06  gb
10127
10128        * xdump/xx8664-fasload.lisp: Target-specific static-space (NIL
10129        representation, mostly) init functions.
10130       
10131        Move image-base-address up a few terabytes.
10132       
10133        Undefined function and macro trampolines are vectors with an
10134        executable fixnum in the 0th word.
10135
101362006-03-10 22:05  gb
10137
10138        * xdump/xppcfasload.lisp: Target-specific static-space (NIL
10139        representation, mostly) init functions.
10140
101412006-03-10 22:04  gb
10142
10143        * xdump/xfasload.lisp: Lots of changes, to deal with
10144        symbol/function tagging issues, x86 clfuns, etc.
10145
101462006-03-10 22:03  gb
10147
10148        * xdump/heap-image.lisp: Endianness, word-size conditionalization
10149        stuff.
10150
101512006-03-10 22:02  gb
10152
10153        * lisp-kernel/linuxx8664/Makefile: C files depend on lisptypes.h.
10154
101552006-03-10 22:01  gb
10156
10157        * lisp-kernel/linuxx8664/elf_x86_64.x: Don't try to link into low
10158        memory (no real reason to.) Do try to put spjump at a
10159        fixed/known/page-aligned address.
10160
101612006-03-10 21:59  gb
10162
10163        * lisp-kernel/x86_print.c: Recognize some x8664 tags.
10164
101652006-03-10 21:59  gb
10166
10167        * lisp-kernel/x86-subprims64.s: Use Rforeign_sp; get valence right
10168        on exit.
10169
101702006-03-10 21:58  gb
10171
10172        * lisp-kernel/x86-spjump64.s: Rename ffcall/syscall.
10173
101742006-03-10 21:58  gb
10175
10176        * lisp-kernel/x86-spentry64.s: Lots of fixes/changes (including
10177        ffcall/syscall).
10178
101792006-03-10 21:56  gb
10180
10181        * lisp-kernel/x86-macros.s: TSP_Alloc_Size is an immediate operand
10182        in TSP_Alloc_Fixed().
10183       
10184        Fix allocptr/allocbase comparison when consing.
10185       
10186        Misc_Alloc_Fixed: m4/gas $ conflation.
10187
101882006-03-10 21:54  gb
10189
10190        * lisp-kernel/x86-exceptions.h: Extra parens around xpGPR
10191        expansion.
10192
101932006-03-10 21:54  gb
10194
10195        * lisp-kernel/x86-exceptions.c: Actually handle something
10196        (uuo_alloc()), since we can't do much without it.
10197
101982006-03-10 21:53  gb
10199
10200        * lisp-kernel/x86-constants64.s: Call the foreign sp register
10201        Rforeign_sp, to avoid m4 lossage.
10202       
10203        nrs starts at #x2020, because NIL is between there and #x2000.
10204
102052006-03-10 21:52  gb
10206
10207        * lisp-kernel/x86-constants64.h: Iallocptr for trap handler.
10208       
10209        tcr was missing foreign_sp definition.
10210
102112006-03-10 21:51  gb
10212
10213        * lisp-kernel/thread_manager.c: get_tcr() change for HAVE_TLS case.
10214
102152006-03-10 21:51  gb
10216
10217        * lisp-kernel/ppc-exceptions.c: Put a sane value in the FPSCR
10218        before calling back to lisp on an exception.
10219
102202006-03-10 21:50  gb
10221
10222        * lisp-kernel/pmcl-kernel.c: Use address of bad_funcall, not
10223        "value".
10224       
10225        Disable EGC on x8664.
10226
102272006-03-10 21:49  gb
10228
10229        * lisp-kernel/lisptypes.h: formatting change only.
10230
102312006-03-10 21:49  gb
10232
10233        * lisp-kernel/lisp_globals.h: Layout of lisp-globals/nrs on x8664
10234        not identical to ppc64 (NIL representation differs.)
10235
102362006-03-10 21:48  gb
10237
10238        * lisp-kernel/lisp-debug.c: Lisp register stuff for x8664.
10239
102402006-03-10 21:48  gb
10241
10242        * lisp-kernel/image.c: Fix some conditionalization.
10243
102442006-03-10 21:47  gb
10245
10246        * lisp-kernel/area.h: Larger IMAGE-BASE-ADDRESS for X8664 Linux.
10247
102482006-03-10 21:46  gb
10249
10250        * library/: linux-syscalls.lisp, syscall.lisp: Try to make things a
10251        little more portable, but really need to keep things in the
10252        target-ftd.  Soon.
10253
102542006-03-10 21:45  gb
10255
10256        * level-0/l0-numbers.lisp: Don't reference
10257        TARGET::LEAST-SIGNIFICANT-BIT in ASH; express limits in terms of
10258        TARGET::NBITS-IN-WORD.
10259
102602006-03-10 21:45  gb
10261
10262        * level-0/l0-misc.lisp: Add some fixnum decls to %GET-CSTRING, so
10263        that single-stepping through it in GDB is faster.
10264
102652006-03-10 21:44  gb
10266
10267        * level-0/l0-io.lisp: %YIELD here, so all level-0 syscalls are in
10268        one file.
10269
102702006-03-10 21:43  gb
10271
10272        * level-0/l0-cfm-support.lisp: We generally want foreign symbol
10273        addresses to be boxed integers on X8664, and can't assume that
10274        they're fixnum-aligned.
10275
102762006-03-10 21:42  gb
10277
10278        * level-0/: l0-array.lisp, l0-init.lisp: Comment indentation.
10279
102802006-03-10 21:41  gb
10281
10282        * lisp-kernel/linuxx8664/.gdbinit: Well, it's a start ...
10283
102842006-03-10 21:41  gb
10285
10286        * level-0/X86/x86-utils.lisp: %KERNEL-IMPORT boxes what may not
10287        have been a fixnum.
10288
102892006-03-10 21:40  gb
10290
10291        * level-0/X86/x86-misc.lisp: Fix typo.
10292       
10293        STORE-NODE-CONDITIONAL pops stack arg, discards stack frame
10294        reserved by caller before jumping into kernel.
10295
102962006-03-10 21:39  gb
10297
10298        * level-0/X86/x86-float.lisp: Missing SET-MXCSR-CONTROL was hidden
10299        in duplicate SET-MSCSR-STATUS.  May want to always set/get the
10300        control and rounding modes.
10301
103022006-03-10 21:37  gb
10303
10304        * level-0/X86/x86-def.lisp: Comment out the missing lexpr/apply
10305        stuff, so that the rest of the file compiles.
10306
103072006-03-10 21:36  gb
10308
10309        * level-0/X86/x86-array.lisp: %INIT-MISC wants/needs to be in LAP
10310        because of write-barrier issues.
10311
103122006-03-10 21:35  gb
10313
10314        * lib/x8664env.lisp: It's OK (in fact necessary) to use FP0 as a
10315        temporary.  0.0 is in FPZERO.
10316
103172006-03-10 21:34  gb
10318
10319        * lib/nfcomp.lisp: Spit out a fasl op while writing CLFUNs.
10320
103212006-03-10 21:33  gb
10322
10323        * level-0/PPC/ppc-float.lisp: Don't CLEAR-FPU-EXCEPTIONS, at least
10324        without knowing why.
10325
103262006-03-10 21:32  gb
10327
10328        * compiler/X86/X8664/x8664-vinsns.lisp: SETcc sets the byte to 1 or
10329        0, so we need to negate.
10330       
10331        Other bug fixes and additions.
10332
103332006-03-10 21:31  gb
10334
10335        * compiler/X86/X8664/x8664-arch.lisp: Fix a typo in
10336        X8664-MISC-BYTE-SIZE.
10337       
10338        Move subprims base up to #x410000, to make it easier on the linker.
10339
103402006-03-10 21:29  gb
10341
10342        * compiler/X86/x862.lisp: Lots-o-fixes; FFI stuff.  When generating
10343        code involving a :REG8 operand, be careful to pass the 8-bit reg
10344        entry to LAP.
10345
103462006-03-10 21:27  gb
10347
10348        * compiler/X86/x86-lapmacros.lisp: X86 CMOV instructions reference
10349        the source operand (possibly generating a memory fault) even if the
10350        destination operand isn't written to.  Who knew ?
10351
103522006-03-10 21:24  gb
10353
10354        * compiler/X86/x86-disassemble.lisp: Recognize newer UUOs.
10355
103562006-03-10 21:24  gb
10357
10358        * compiler/X86/x86-lap.lisp: Use the #x80 bit in an instruction's
10359        REX prefix to indicate when the prefix needs to be emitted (even if
10360        the #x7 bits are clear).
10361
103622006-03-10 21:23  gb
10363
10364        * compiler/X86/x86-asm.lisp: A few UUOs; try to ensure that we'll
10365        generate (at least) a #x40 REX prefix if a new-style byte register
10366        is used as an operand.  (e.g., we generally don't want to refer to
10367        the traditional things like %dh, and do want to refer to the newer
10368        things like %sil.)
10369
103702006-03-10 21:20  gb
10371
10372        * compiler/X86/x86-arch.lisp: rename *X86-NILREG-RELATIVE-SYMBOLS*
10373        -> *X86-NIL-RELATIVE-SYMBOLS*.
10374
103752006-03-10 21:18  gb
10376
10377        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
10378        PPC64/ppc64-vinsns.lisp: %SINGLE-TO-DOUBLE, %DOUBLE-TO-SINGLE, to
10379        avoid consing in some simple cases.
10380
103812006-03-10 21:17  gb
10382
10383        * compiler/PPC/ppc-arch.lisp: Rename *PPC-NILREG-RELATIVE-SYMBOLS*
10384        -> *PPC-NIL-RELATIVE-SYMBOLS* (NIL hasn't been in a register in a
10385        few years.)
10386
103872006-03-10 21:15  gb
10388
10389        * compiler/optimizers.lisp: On 64-bit targets, SINGLE-FLOATs are
10390        EQL iff EQ.
10391       
10392        Try to recognize a few ways of coercing SINGLE-FLOATs to
10393        DOUBLE-FLOATs and vice versa, so that we have some chance of
10394        avoiding consing in some cases.
10395
103962006-03-10 21:13  gb
10397
10398        * compiler/nxenv.lisp: Add %SINGLE-TO-DOUBLE, %DOUBLE-TO-SINGLE.
10399        Replace unused EMBEDDED-CALL with SYSCALL.
10400
104012006-03-10 21:12  gb
10402
10403        * compiler/nx1.lisp: Just use SYSCALL operator to mark x8664
10404        syscalls.
10405
104062006-03-10 21:12  gb
10407
10408        * .cvsignore: Change patterns.
10409
104102006-03-07 06:49  gb
10411
10412        * lisp-kernel/x86-spentry64.s: Assume that fpzero (not fp0)
10413        contains 0.0.
10414       
10415        Get a few more things working, or at least written.
10416
104172006-03-07 06:48  gb
10418
10419        * lisp-kernel/: x86-macros.s, x86-subprims64.s: Assume that fpzero
10420        (not fp0) contains 0.0.
10421
104222006-03-07 06:48  gb
10423
10424        * lisp-kernel/x86-constants64.s: Define fpzero = xmm15.
10425       
10426        Pad the (misnamed) fpscr field in the TCR.
10427
104282006-03-06 06:37  gb
10429
10430        * lib/nfcomp.lisp: Initial, crude support for cross-dumping
10431        "concatenated" lisp functions.
10432
104332006-03-06 06:36  gb
10434
10435        * level-0/l0-numbers.lisp: Fix comment indentation in a function
10436        that the x8664 backend was choking on.
10437
104382006-03-06 06:36  gb
10439
10440        * compiler/X86/X8664/x8664-vinsns.lisp: use fpzero when a zero is
10441        needed,  not fp0.
10442
104432006-03-06 06:35  gb
10444
10445        * compiler/X86/X8664/x8664-arch.lisp: xmm15 is fpzero (contains
10446        0.0[de]0).  (xmm0 is used for ff-call.)
10447
104482006-03-06 06:35  gb
10449
10450        * compiler/X86/x862.lisp: X862-COMPILE: don't reserve quad for null
10451        function name, even if debug info is present.
10452
104532006-03-06 06:34  gb
10454
10455        * compiler/X86/x86-lap.lisp: RELAX-FRAG-LIST: account for (possibly
10456        non-zero) length of :ALIGN frags.  CROSS-CREATE-X86-FUNCTION: don't
10457        emit function name if it's nil, even if debug-info is present.
10458
104592006-03-06 06:30  gb
10460
10461        * compiler/X86/x86-asm.lisp: Add a declaration to suppress compiler
10462        warning on forward reference.
10463
104642006-03-06 03:27  gb
10465
10466        * xdump/xfasload.lisp: Fix parens.
10467
104682006-03-06 02:59  gb
10469
10470        * xdump/xfasload.lisp: Remove many uses of TARGET-ARCH-CASE (thus
10471        removing many uses of ppc/ppc32/ppc64 package symbols.)  Some uses
10472        remain.
10473
104742006-03-06 02:57  gb
10475
10476        * lib/macros.lisp: Define TARGET-ARCH-CASE in terms of CASE, not
10477        ECASE.
10478
104792006-03-05 19:12  gb
10480
10481        * compiler/PPC/PPC64/ppc64-arch.lisp: typecode, lisptag are in ccl
10482        package.
10483
104842006-03-05 19:01  gb
10485
10486        * level-1/version.lisp: Bump; some of this is hard to bootstrap.
10487
104882006-03-05 19:00  gb
10489
10490        * lib/macros.lisp: Move some %kernel-global nonsense here.
10491
104922006-03-05 19:00  gb
10493
10494        * level-1/l1-lisp-threads.lisp: Define macros in ... macros.lisp,
10495        of all places.
10496
104972006-03-05 18:59  gb
10498
10499        * level-0/X86/x86-array.lisp: write some code in lisp
10500        (temporarily), clean up some typos so that the file compiles.
10501
105022006-03-05 18:58  gb
10503
10504        * compiler/: arch.lisp, PPC/PPC32/ppc32-arch.lisp,
10505        PPC/PPC64/ppc64-arch.lisp, X86/X8664/x8664-arch.lisp: More
10506        parameters (mostly for xloader) in target-arch struct.
10507
105082006-03-05 18:52  gb
10509
10510        * xdump/xfasload.lisp: Get target parameters from
10511        (backend-target-arch *target-backend*)).
10512
105132006-03-05 06:17  gb
10514
10515        * xdump/xx8664-fasload.lisp: Closer ...
10516
105172006-03-05 06:17  gb
10518
10519        * xdump/hashenv.lisp: Arch macros for hashing macros.
10520
105212006-03-05 06:16  gb
10522
10523        * level-1/l1-lisp-threads.lisp: Arch macros for kernel globals.
10524
105252006-03-05 06:16  gb
10526
10527        * level-1/l1-readloop-lds.lisp: Check *interrupt-level* value, not
10528        (interrupt-level).
10529
105302006-03-05 06:15  gb
10531
10532        * level-1/l1-clos-boot.lisp: Make *class-table* a global.
10533
105342006-03-05 06:15  gb
10535
10536        * level-0/X86/X8664/x8664-bignum.lisp: use temp2.b (= cl) for
10537        variable shifts.
10538
105392006-03-05 06:14  gb
10540
10541        * level-0/nfasload.lisp: No code-vectors on x8664.
10542
105432006-03-05 06:14  gb
10544
10545        * level-0/l0-numbers.lisp: Conditionalization: 64-bit-target
10546        implies no (need for) destructive single-float ops.
10547
105482006-03-05 06:13  gb
10549
10550        * level-0/l0-misc.lisp: Remove some unused stuff.
10551
105522006-03-05 06:13  gb
10553
10554        * level-0/l0-array.lisp: array-element-type for x8664.
10555
105562006-03-05 06:12  gb
10557
10558        * compiler/X86/X8664/x8664-vinsns.lisp: More stuff.
10559
105602006-03-05 06:12  gb
10561
10562        * compiler/X86/x862.lisp: (Mostly) try to fix fixnum subtraction.
10563
105642006-03-05 06:11  gb
10565
10566        * compiler/X86/x86-lapmacros.lisp: TRAP-UNLESS-FIXNUM,
10567        PUSH-ARGREGS, some syntax fixes.
10568
105692006-03-05 06:10  gb
10570
10571        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
10572        X86/X8664/x8664-arch.lisp: More arch macros.
10573
105742006-03-05 06:10  gb
10575
10576        * compiler/backend.lisp: DECLARE-ARCH-SPECIFIC-MACRO returns macro
10577        name.
10578
105792006-03-05 06:09  gb
10580
10581        * level-0/X86/x86-utils.lisp: Warn for things that don't work yet;
10582        other things compile.
10583
105842006-03-05 06:08  gb
10585
10586        * level-0/X86/: x86-misc.lisp, x86-float.lisp: Compiles.
10587
105882006-03-05 06:08  gb
10589
10590        * level-0/X86/x86-pred.lisp: Fix typos/new syntax.
10591
105922006-03-04 19:13  gb
10593
10594        * lib/nfcomp.lisp: Some conditionalization.
10595
105962006-03-04 19:12  gb
10597
10598        * compiler/X86/X8664/x8664-vinsns.lisp: More stuff.  Need to review
10599        float arithmetic.
10600
106012006-03-04 19:11  gb
10602
10603        * level-0/l0-float.lisp: Comment indentation.
10604
106052006-03-04 19:11  gb
10606
10607        * level-0/X86/x86-utils.lisp: Fix a few typos; needs more work.
10608
106092006-03-04 18:30  gb
10610
10611        * lib/foreign-types.lisp: Can use TARGET-WORD-SIZE-CASE instead of
10612        TARGET-ARCH-CASE.
10613
106142006-03-04 18:29  gb
10615
10616        * lib/macros.lisp: New arch-specific macros. (Still need to do
10617        something about DEFCALLBACK and related functions.)
10618
106192006-03-04 18:29  gb
10620
10621        * lib/number-macros.lisp: New arch-specific macros.
10622
106232006-03-04 18:28  gb
10624
10625        * compiler/X86/x862.lisp: Keep unboxed float constants in the
10626        function (as aligned words following "real" instructions and
10627        preceding boxed constants.)
10628
106292006-03-04 18:26  gb
10630
10631        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
10632        X86/X8664/x8664-arch.lisp: Remove some remaining uses of
10633        TARGET-ARCH-CASE by using arch-specific macro implementations.
10634
106352006-03-04 18:25  gb
10636
10637        * compiler/backend.lisp: Mechanism for arch-specific macros.
10638
106392006-03-04 18:24  gb
10640
10641        * compiler/arch.lisp: New constructor, so that we can keep track of
10642        defined target-archs.  Hash table in each arch structure, for
10643        arch-dependent macros.
10644
106452006-03-03 19:38  gb
10646
10647        * lib/number-macros.lisp: Will need a lot more work.
10648
106492006-03-03 19:38  gb
10650
10651        * lib/systems.lisp: xx8664xfasload.
10652
106532006-03-03 19:38  gb
10654
10655        * lib/compile-ccl.lisp: *x8664-xload-modules*.
10656
106572006-03-03 19:37  gb
10658
10659        * level-0/X86/X8664/.cvsignore: ignore lx64fsl files.
10660
106612006-03-03 19:37  gb
10662
10663        * level-0/X86/x86-def.lisp: extra close paren.
10664
106652006-03-03 19:36  gb
10666
10667        * level-0/X86/x86-float.lisp: package prefix on MXCSR-CONTROL-BYTE.
10668
106692006-03-03 19:36  gb
10670
10671        * level-0/X86/x86-numbers.lisp: Don't call local variable "shift".
10672
106732006-03-03 19:11  gb
10674
10675        * level-0/: .cvsignore, X86/.cvsignore: Ignore lx64fsl files.
10676
106772006-03-03 19:11  gb
10678
10679        * compiler/X86/X8664/x8664-vinsns.lisp: A few more things.
10680
106812006-03-03 19:11  gb
10682
10683        * compiler/X86/x862.lisp: Conserve imm regs more in inc-ptr
10684
106852006-03-03 19:10  gb
10686
10687        * compiler/X86/x86-lapmacros.lisp: Remove (duplicate, bad)
10688        definitions of int-to-double.
10689
106902006-03-03 19:09  gb
10691
10692        * compiler/X86/: x86-asm.lisp, x86-disassemble.lisp: A few more
10693        UUOs.
10694
106952006-03-03 19:09  gb
10696
10697        * compiler/nx1.lisp: Use (old, unused) ff-call operator to mark
10698        x8664 ff-calls.
10699
107002006-03-03 02:09  gb
10701
10702        * compiler/X86/X8664/x8664-vinsns.lisp: fix typo.
10703
107042006-03-03 02:09  gb
10705
10706        * compiler/X86/X8664/x8664-arch.lisp: rcontext is %fs, and (with
10707        that change) tcr-bias is 0.
10708
107092006-03-03 02:08  gb
10710
10711        * xdump/xppcfasload.lisp: move xcompile-level-0, etc, away from
10712        here.
10713
107142006-03-03 02:07  gb
10715
10716        * xdump/xfasload.lisp: move xcompile-level-0, etc, here.
10717
107182006-03-03 02:06  gb
10719
10720        * xdump/xx8664-fasload.lisp: New file; still needs work.
10721
107222006-03-03 01:15  gb
10723
10724        * lisp-kernel/thread_manager.c: Um,function name is
10725        'amd64_set_gsbase'.
10726
107272006-03-03 01:05  gb
10728
10729        * lisp-kernel/: freebsd8664/Makefile, linuxx8664/Makefile: Assert
10730        that we have thread-local storage by passing -DHAVE_TLS.
10731
107322006-03-03 01:04  gb
10733
10734        * lisp-kernel/thread_manager.c: new_tcr sets up extra segment
10735        register if x8664 and HAVE_TLS.
10736
107372006-03-03 01:03  gb
10738
10739        * lisp-kernel/x86-constants64.h: tcr.single_float_convert is a
10740        struct; tag in most significant word.
10741
107422006-03-03 01:03  gb
10743
10744        * lisp-kernel/x86-constants64.s: tcr bias is 0.  rcontext = %gs, at
10745        least for Linux/FreeBSD.
10746
107472006-03-02 23:16  gb
10748
10749        * compiler/arch.lisp: add big-endian field to target-arch.
10750
107512006-03-02 23:16  gb
10752
10753        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Big
10754        endian.
10755
107562006-03-02 23:14  gb
10757
10758        * compiler/X86/: X8664/x8664-vinsns.lisp, x862.lisp: &lexpr stuff,
10759        mostly.
10760
107612006-03-02 23:14  gb
10762
10763        * compiler/X86/X8664/x8664-arch.lisp: We're not big-endian.
10764
107652006-03-02 23:13  gb
10766
10767        * lib/macros.lisp: Comment formatting.
10768
107692006-03-02 23:12  gb
10770
10771        * level-0/: l0-cfm-support.lisp, l0-hash.lisp, l0-init.lisp,
10772        l0-io.lisp, l0-misc.lisp, l0-numbers.lisp, l0-pred.lisp,
10773        l0-symbol.lisp, l0-utils.lisp, nfasload.lisp: Conditionalization
10774        changes.
10775
107762006-03-02 23:11  gb
10777
10778        * lisp-kernel/thread_manager.c: Change thread creation/activation,
10779        so that new_tcr() call happens on the new thread.
10780
107812006-03-02 22:51  gb
10782
10783        * lisp-kernel/Threads.h: Fix new_tcr() prototype.  Why did this
10784        compile in FreeBSD/x86-64 ?
10785
107862006-03-02 22:28  gb
10787
10788        * lisp-kernel/freebsd8664/Makefile: Depend on the linker script.
10789        Use some make variables to make changing/ ignoring that script
10790        easier.
10791
107922006-03-02 22:27  gb
10793
10794        * lisp-kernel/thread_manager.c: Conditionalize some for FreeBSD.
10795
107962006-03-02 22:27  gb
10797
10798        * lisp-kernel/pmcl-kernel.c: FreeBSD can also map (at least) 512GB.
10799       
10800        Not sure how to get real name of executable in FreeBSd, so use
10801        argv[0] for now.
10802       
10803        CPUID instruction returns cache block size in ebx, not eax.
10804
108052006-03-02 22:25  gb
10806
10807        * lisp-kernel/freebsd8664/elf_x86_64.x: Output file wasn't
10808        executable if subprims were mapped to low memory; map them to a
10809        fixed address (0x410000).  Will need to change subprims base in
10810        arch definition, and things (bad_funcall) that may depend on it.
10811
108122006-03-02 19:19  gb
10813
10814        * lisp-kernel/x86-spentry64.s: Try to avoid use of %temp0 (which
10815        may contain next_method_context); use %temp1 instead.
10816
108172006-03-02 19:18  gb
10818
10819        * lisp-kernel/x86-constants64.s: next_method_context is temp0, not
10820        temp1 (according to lisp).
10821
108222006-03-01 12:42  gb
10823
10824        * level-0/nfasload.lisp: One lousy missing #\)!  All this fuss over
10825        one lousy missing #\) !
10826
108272006-03-01 12:39  gb
10828
10829        * xdump/faslenv.lisp: Define $fasl-clfun.
10830
108312006-03-01 12:38  gb
10832
10833        * level-1/ppc-threads-utils.lisp: Rename %FIXNUM-SET-U32 ->
10834        %FIXNUM-SET-NATURAL.
10835
108362006-03-01 12:37  gb
10837
10838        * level-0/X86/x86-def.lisp: Translate most of this, except for the
10839        lexpr stuff.
10840
108412006-03-01 12:37  gb
10842
10843        * level-0/PPC/ppc-def.lisp: Delete a few things that seem to be
10844        totally unused.  Rename %FIXNUM-SET-U32 -> %FIXNUM-SET-NATURAL.
10845
108462006-03-01 12:36  gb
10847
10848        * level-0/nfasload.lisp: $fasl-clfun.
10849
108502006-03-01 12:33  gb
10851
10852        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: %ilogbitp,
10853        inline multiplication.
10854
108552006-03-01 12:32  gb
10856
10857        * compiler/X86/x86-lap.lisp: %define-x86-lap-function: "function
10858        creator" isn't a parameter, so signature matches what the compiler
10859        expects.
10860
108612006-03-01 12:31  gb
10862
10863        * compiler/X86/x86-asm.lisp: Insert register operand correctly in
10864        immeditate bt/btc/btr/bts.  Some imul variants (at least the
10865        64/32/16-bit versions.)
10866
108672006-03-01 12:19  gb
10868
10869        * compiler/nx1.lisp: Don't require SPARC-LAP in nx-x86-lap-function
10870        ...
10871
108722006-02-28 19:46  gb
10873
10874        * compiler/X86/x862.lisp: Always build/ensure that a frame exists
10875        before calling a subprim.  Handle &key, other/harder &optional
10876        cases.
10877       
10878        Todo: &lexpr, %ilogbitp, ??
10879
108802006-02-28 19:44  gb
10881
10882        * compiler/X86/X8664/x8664-vinsns.lisp: &optional defaulting and
10883        supplied-p handling; keywords subprims.
10884
108852006-02-28 19:43  gb
10886
10887        * level-1/l1-reader.lisp: Signal IMPOSSIBLE-NUMBER conditions if
10888        parsing an potential number yields an ARITHMETIC-ERROR.
10889
108902006-02-28 19:43  gb
10891
10892        * level-1/l1-error-system.lisp: Define IMPOSSIBLE-NUMBER as a
10893        subtype of READER-ERROR.
10894
108952006-02-28 19:42  gb
10896
10897        * lib/numbers.lisp: If we'd get overflow or underflow when creating
10898        a float and the corresponding exception is enabled, generate the
10899        appropriate condition rather than CERRORing unconditionally.
10900
109012006-02-28 19:40  gb
10902
10903        * lib/macros.lisp: Use target-word-size-case in %ilogbitp.
10904
109052006-02-28 19:37  gb
10906
10907        * lisp-kernel/x86-spentry64.s: stkconslist, stkconslist_star,
10908        mkstackv, fix in heap_cons_rest_arg, simple_keywords, keyword_args,
10909        keyword_bind, fix in stack_cons_rest_arg, spreadargz, tfuncallgen,
10910        tfuncallslide,tfuncallvsp,tcallsymgen, tcallsymslide, tcallsymvsp,
10911        tcallnfngen, tcallnfnslide, tcallnfnvsp.
10912       
10913        todo: ffcall, syscall, callback, lexprs.
10914
109152006-02-28 19:33  gb
10916
10917        * lisp-kernel/x86-macros.s: compare_reg_to_nil, discard_temp_frame.
10918
109192006-02-28 19:32  gb
10920
10921        * lisp-kernel/x86-constants64.s: function_header_offset,
10922        function_data_offset
10923
109242006-02-28 19:32  gb
10925
10926        * lisp-kernel/x86-constants64.h: TCR flags are a natural.
10927
109282006-02-28 19:31  gb
10929
10930        * lisp-kernel/x86-constants64.h: TCR flags are unsigned.
10931
109322006-02-28 19:31  gb
10933
10934        * lisp-kernel/x86-constants.h: TCR flags.
10935
109362006-02-28 19:31  gb
10937
10938        * lisp-kernel/ppc-spentry.s: Fix comment (have never used temp0 for
10939        closure data).
10940
109412006-02-27 14:14  gb
10942
10943        * compiler/PPC/ppc2.lisp: Hadn't saved the buffer; ppc2-%aset2
10944        changes were incomplete.
10945
109462006-02-26 23:30  gb
10947
10948        * lisp-kernel/pmcl-kernel.c: Suppress compiler warning.
10949
109502006-02-26 22:51  gb
10951
10952        * release-notes.txt: Update.
10953
109542006-02-26 22:51  gb
10955
10956        * level-1/: l1-application.lisp, l1-boot-lds.lisp,
10957        l1-lisp-threads.lisp: Exercise more control over the stack sizes of
10958        listener threads (especially the initial listener.)
10959       
10960        (The --thread-stack-size argument affects the size of the initial
10961        listener's stacks only.)
10962
109632006-02-26 22:49  gb
10964
10965        * lisp-kernel/pmcl-kernel.c: Fix the usage message.
10966
109672006-02-26 21:58  gb
10968
10969        * lisp-kernel/pmcl-kernel.c: Split --stack-size and
10970        --thread-stack-size args, to avoid rlimit problems (and because
10971        they're really separate issues.)
10972
109732006-02-26 21:23  gb
10974
10975        * lib/macros.lisp: Remove (most) support for tracing callbacks.
10976        (Having the functionality isn't a bad idea, but the way that it was
10977        implemented made the code hard to read and maintain.  Maybe redo
10978        this.)
10979
109802006-02-26 21:21  gb
10981
10982        * lisp-kernel/pmcl-kernel.c: Can't reserve 512GB on LinuxPPC64; try
10983        256GB instead.
10984
109852006-02-26 20:59  gb
10986
10987        * level-1/version.lisp: Bump.
10988
109892006-02-26 20:37  gb
10990
10991        * lisp-kernel/: darwinppc/Makefile, darwinppc64/Makefile: Restore
10992        COPT setting, clobbered on last (accidental) checkin.
10993
109942006-02-26 20:35  gb
10995
10996        * lisp-kernel/lisp_globals.h: stack-size global
10997
109982006-02-26 20:35  gb
10999
11000        * lisp-kernel/ppc-asmutils.s: atomic_and
11001
110022006-02-26 20:35  gb
11003
11004        * lisp-kernel/pmcl-kernel.c: more mappable memory on 64-bit
11005        platforms.  Set stack-size global from command line arg
11006
110072006-02-26 20:35  gb
11008
11009        * lisp-kernel/gc.c: check_range() takes a headers_allowed arg (not
11010        allowed on vsp).  Some debugging fprintfs.
11011
110122006-02-26 20:35  gb
11013
11014        * lisp-kernel/: ppc-constants32.h, ppc-constants64.h: tcr flags are
11015        natural
11016
110172006-02-26 20:35  gb
11018
11019        * lisp-kernel/ppc-exceptions.c: fixes in pc_luser_xp. Defer
11020        exceptions if we don't have the lock on Darwin
11021
110222006-02-26 20:35  gb
11023
11024        * lisp-kernel/thread_manager.c: simpler suspend ack, other changes,
11025        heavy, unreadable conditionalization
11026
110272006-02-26 20:35  gb
11028
11029        * lisp-kernel/: plbt.c, plsym.c: bug fixes
11030
110312006-02-26 20:35  gb
11032
11033        * lisp-kernel/ppc-spentry.s: change defs of C write-barrier exports
11034
110352006-02-26 20:35  gb
11036
11037        * lisp-kernel/: darwinppc64/Makefile, darwinppc/Makefile,
11038        Threads.h, bits.h: Prototype atomic_and(), atomic_ior() here.  Use
11039        them to set/clear TCR flag bits.
11040
110412006-02-26 20:34  gb
11042
11043        * lib/encapsulate.lisp: Print trace level in trace output.
11044
110452006-02-26 20:34  gb
11046
11047        * lib/compile-ccl.lisp: Add :reload-arguments arg to REBUILD-CCL.
11048
110492006-02-26 20:33  gb
11050
11051        * level-1/l1-lisp-threads.lisp: Adjust default stack sizes based on
11052        --stack-size argument.
11053
110542006-02-26 20:32  gb
11055
11056        * level-0/l0-misc.lisp: ROOM: don't report hons-space size if it's
11057        0.
11058
110592006-02-26 20:32  gb
11060
11061        * level-0/l0-array.lisp: Use #+64-bit-target instead of
11062        #+ppc64-target in a few places.
11063
110642006-02-26 20:31  gb
11065
11066        * examples/hons-example.lisp: Still needs work, but not quite so
11067        brain-dead.
11068
110692006-02-26 20:30  gb
11070
11071        * compiler/X86/X8664/x8664-vinsns.lisp: A few bug fixes.
11072
110732006-02-26 20:30  gb
11074
11075        * compiler/X86/x862.lisp: Fix typos in unwind-protect; use the same
11076        general scheme for PROGV.
11077
110782006-02-26 20:29  gb
11079
11080        * compiler/PPC/ppc2.lisp: In PPC2-%ASET2, typename is quoted in
11081        acode.
11082
110832006-02-26 20:28  gb
11084
11085        * compiler/PPC/ppc-arch.lisp: Replace BAD-CURRENT-VS global with
11086        STACK-SIZE.
11087
110882006-02-16 15:49  gb
11089
11090        * lisp-kernel/thread_manager.c: Wait for acknowledgement after
11091        suspend_tcr.  Probably needs some testing, but this may be the
11092        right approach.
11093
110942006-02-16 15:48  gb
11095
11096        * lisp-kernel/ppc-exceptions.c: catch_exception_raise maintains
11097        TCR_FLAG_BIT_PENDING_EXCEPTION.  (There's also some half-finished
11098        Mach-based code here for doing interrupts via suspend/resume, but
11099        it's probably a bad idea.)
11100
111012006-02-16 15:45  gb
11102
11103        * lisp-kernel/ppc-constants.h: Define a few more tcr flags.
11104
111052006-02-14 23:56  gb
11106
11107        * compiler/PPC/ppc-asm.lisp: Define LWSYNC.  Less sure how to tell
11108        if it's available.
11109
111102006-02-14 23:51  gb
11111
11112        * level-1/l1-lisp-threads.lisp: Define GET-INTERNAL-REAL-TIME here;
11113        define GET-TICK-COUNT in terms of it (less likely to cons.)
11114       
11115        Define %TCR-INTERRUPT, so the lisp doesn't know how the guts of
11116        PROCESS-INTERRUPT are implemented (and so the kernel does.)
11117
111182006-02-14 23:49  gb
11119
11120        * lib/time.lisp: Define GET-INTERNAL-REAL-TIME earlier in the load
11121        sequence.
11122
111232006-02-14 23:48  gb
11124
11125        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
11126        X86/X8664/x8664-arch.lisp: Replace unused condemn-area kernel
11127        global with raise-thread-interrupt.
11128
111292006-02-14 23:47  gb
11130
11131        * lisp-kernel/imports.s: Export raise_thread_interrupt.
11132
111332006-02-14 23:47  gb
11134
11135        * lisp-kernel/thread_manager.c: Define raise_thread_interrupt.
11136
111372006-02-14 03:23  gb
11138
11139        * lisp-kernel/thread_manager.c: Try using Mach suspend/resume
11140        again.
11141
111422006-02-14 03:20  gb
11143
11144        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: defaul