source: trunk/ccl/ChangeLog @ 6014

Last change on this file since 6014 was 6014, 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: 706.2 KB
Line 
12007-03-08 22:26  gb
2
3        * level-1/linux-files.lisp: *spin-lock-tries* with a trailing *.
4
52007-03-08 22:24  gb
6
7        * lib/numbers.lisp: printing random-state: don't shift seeds.
8
92007-03-08 22:24  gb
10
11        * level-1/l1-numbers.lisp: MAKE-RANDOM-STATE: don't shift.
12
132007-03-08 22:24  gb
14
15        * level-0/X86/x86-numbers.lisp: Do %next-random-seed more portably.
16
172007-03-08 22:23  gb
18
19        * level-0/PPC/PPC64/ppc64-bignum.lisp: Typo in comment.
20
212007-03-08 22:23  gb
22
23        * level-0/PPC/ppc-numbers.lisp: Just a 32-bit version of
24        %next-random-pair.
25
262007-03-08 22:22  gb
27
28        * level-0/l0-numbers.lisp: And, while we're at it: do the
29        next-random-seed permutation in %next-random-pair, which accepts
30        and returns a pair of 16-bit integers.  That's in lap on ppc32 and
31        in lisp on 64-bit platforms.
32
332007-03-08 22:20  gb
34
35        * level-0/l0-numbers.lisp: Don't shift random seeds.
36
372007-03-08 03:30  gb
38
39        * level-1/x86-error-signal.lisp: Check for trap opcode >= #x70
40        rather than >= #x80, because of the new way that
41        uuo-error-slot-unbound is encoded.
42
432007-03-08 03:28  gb
44
45        * compiler/X86/x86-disassemble.lisp: Recognize
46        uuo-error-slot-unbound.
47
482007-03-08 03:28  gb
49
50        * compiler/X86/x86-asm.lisp: Use (int #x7_) for
51        uuo-error-slot-unbound, since some (int #x8_) traps confuse Mach.
52
532007-03-07 08:29  gb
54
55        * compiler/PPC/ppc2.lisp: Don't shadow the definition of PPC-DIV2.
56
572007-03-07 07:45  gb
58
59        * level-1/linux-files.lisp: For #+linux-target, try to use
60        #_sysconf in CPU-COUNT, and fall back to parsing /proc/cpuinfo only
61        if that fails.  (CPU-COUNT is called early in the cold load, before
62        we can make the file-stream necessary to do the parsing.)
63
642007-03-07 07:33  gb
65
66        * lisp-kernel/: linuxppc/Makefile, linuxppc64/Makefile,
67        linuxx8664/Makefile: Handle new GNU ld "hash-style" linker options.
68
692007-03-07 07:25  gb
70
71        * lisp-kernel/x86-exceptions.h: Darwin signal return: logior in the
72        el-bizarro syscall mask, pass the magic number 0x1e as a second
73        arg, just in case.
74
752007-03-07 07:24  gb
76
77        * level-1/l1-sysio.lisp: OPEN, CLOSE lock *OPEN-FILE-STREAMS-LOCK*
78        before accessing *OPEN-FILE-STREAMS*.
79
802007-03-07 07:23  gb
81
82        * level-1/l1-readloop.lisp: Add comment about
83        *OPEN-FILE-STREAMS-LOCK*.
84
852007-03-07 07:23  gb
86
87        * level-1/l1-init.lisp: Add *OPEN-FILE-STREAMS-LOCK*.
88
892007-03-07 07:21  gb
90
91        * lib/nfcomp.lisp: Bind *FCOMP-PREVIOUS-POSITION* in
92        FCOMP-READ-LOOP (e.g., don't just hammer on the static binding.)
93
942007-03-07 07:05  gb
95
96        * xdump/heap-image.lisp: Bump current image version.
97
982007-03-07 07:02  gb
99
100        * lisp-kernel/x86-asmutils64.s: Some (currently unused) CPUID
101        "calls" want an argument in ecx.  Set that arg to 0 for now.
102
1032007-03-07 07:01  gb
104
105        * lisp-kernel/thread_manager.c: Use spinlocks to guard updates to
106        "real" locks; those updates can be simplified.
107       
108        lock_recursive_lock: no (ignored) timeout arg.
109
1102007-03-07 06:59  gb
111
112        * lisp-kernel/image.h: Bump current, max abi versions; continue to
113        support the old one.
114
1152007-03-07 06:59  gb
116
117        * lisp-kernel/Threads.h: #include #<sched.h>, for sched_yield()
118        prototype.  Change declaration of LOCK macro: no null timespec
119        required.  RECURSIVE_LOCKs have spinlock fields.
120
1212007-03-07 06:56  gb
122
123        * level-1/version.lisp: bump, indicate work-in-progress development
124        version.
125
1262007-03-07 06:56  gb
127
128        * level-1/linux-files.lisp: Determing *spin-lock-tries* at launch
129        time, based on cpu-count.  YIELD moved here, does #_sched_yield
130        rather than something lower-level.
131
1322007-03-07 06:53  gb
133
134        * level-0/l0-misc.lisp: Locks use spinlocks, try *spin-lock-tries*
135        to obtain them before yielding.
136
1372007-03-07 06:52  gb
138
139        * level-0/l0-io.lisp: Move YIELD elsewhere.
140
1412007-03-07 06:51  gb
142
143        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
144        X86/X8664/x8664-arch.lisp: Add spinlock field to lockptr storage
145        layout.
146
1472007-03-02 05:10  gb
148
149        * level-1/l1-application.lisp: Toplevel function: initial-listener
150        class is 'TTY-LISTENER.
151
1522007-03-02 05:09  gb
153
154        * level-1/l1-lisp-threads.lisp: Print n's value, not n in error
155        message.
156
1572007-03-02 05:09  gb
158
159        * level-1/l1-processes.lisp: New process class: TTY-LISTENER.
160       
161        EXIT-INTERACTIVE-PROCESS: for most processes, just PROCESS-KILL.
162        For TTY-LISTENER, call QUIT.
163
1642007-03-02 05:08  gb
165
166        * level-1/l1-readloop-lds.lisp: Don't call QUIT on EOF, call
167        EXIT-INTERACTIVE-PROCESS instead.
168       
169        Look at *QUIT-ON-EOF* when deciding what to do in response to EOF.
170
1712007-03-02 05:06  gb
172
173        * lib/ccl-export-syms.lisp: Export *quit-on-eof*.
174
1752007-03-02 05:06  gb
176
177        * lib/macros.lisp: WITH-MACPTRS: move initialization/modification
178        of null pointers into body.
179
1802007-03-02 05:05  gb
181
182        * lisp-kernel/x86-exceptions.c: Try to handle two more cases of
183        consus-interruptus.
184
1852007-03-02 05:05  gb
186
187        * compiler/nx0.lisp: (the <type> <constant>) transforms to
188        <constant> if constant is of type <type>.)
189       
190        Do we need an ignore-errors here ? Or does <type> need to be
191        defined ?
192
1932007-03-02 05:03  gb
194
195        * compiler/X86/x862.lisp: Do the / * thing.
196
1972007-03-02 05:02  gb
198
199        * compiler/X86/X8664/x8664-vinsns.lisp: things that do calls need
200        :call attribute.
201
2022007-03-01 04:04  gb
203
204        * lisp-kernel/x86-spentry64.s: binding primitives: set value after
205        new binding frame
206
2072007-02-28 07:04  gb
208
209        * level-0/X86/x86-numbers.lisp: In %fixnum-truncate, use -8(sp)
210        rather than %rbp; trust callback_for_interrupt() to preserve it.
211
2122007-02-28 07:03  gb
213
214        * lisp-kernel/x86-exceptions.c: Try to preserve -8(sp) across
215        callback_for_interrupt().
216
2172007-02-28 05:18  gb
218
219        * lisp-kernel/x86-gc.c: check_node: ignore tiny things (shift
220        counts) that may wind up on the vstack.
221       
222        Since those tiny things might be tagged as headers, walk the vstack
223        with new "headerless" functions that ignore headers.
224
2252007-02-28 05:16  gb
226
227        * lisp-kernel/x86-exceptions.c: In pc_luser_xp: if allocating and
228        before the alloc trap and interrupting, back out of the
229        modification to save_allocptr (and allocptr register) and set
230        *interrupt_displacement.
231
2322007-02-23 10:13  gb
233
234        * lib/foreign-types.lisp: Changes to GUESS-ALIGNMENT.  Again, this
235        only makes sense for cases where we have to guess; a bitfield
236        that's 8 bits wide still has an alignment of 1.
237       
238        Factor in the alignment of the containing int when bitfields are
239        involved.
240       
241        When parsing a record type, set the "bits" slot of each field.
242        (Not too many things look at that slot, but we want the effect of
243        loading a record from the database to match the effect of parsing a
244        definition as exactly as possible, and to be able to use EQUALP to
245        compare the results.)
246
2472007-02-23 10:06  gb
248
249        * lib/db-io.lisp: Some extra fields in
250        objc-message-info/objc-method-info structures.
251       
252        When calculating overall alignment of a structure, treat bitfields
253        as if they were :unsigned-int (since there's a "containing"
254        unsigned int that affects alignment.  N.B: this should be imposed
255        for anything that has an alignment of 1, not just a size of 1.)
256       
257        When loading integer types, try to use the precomputed types rather
258        than consing a new one.  This (a) reduces consing a little (b) is
259        more likely to get the alignment correct.  For (b), we really need
260        to distinguish between bitfields and addressable integers.
261
2622007-02-23 09:30  gb
263
264        * compiler/X86/x862.lisp: Nonsense in x862-set-bit.
265
2662007-02-22 02:33  gb
267
268        * level-0/l0-misc.lisp: Tweak ROOM output a little.
269
2702007-02-22 02:28  gb
271
272        * lisp-kernel/x86-gc.c: Fix up the verbose GC herald a bit (get
273        heap size right ...).
274
2752007-02-22 02:27  gb
276
277        * lisp-kernel/linuxx8664/Makefile: Tell GNU ld to use the
278        traditional (sysv) style of hash maps, if it understands that
279        option.
280
2812007-02-21 06:01  gb
282
283        * lisp-kernel/: ppc-gc.c, x86-gc.c: Handle the case where nothing
284        has been consed since last GC.  (There are some fenceposts there.)
285       
286        verbose GC herald tries to indicate how much is allocated in the
287        area being GCed.
288
2892007-02-21 05:58  gb
290
291        * lisp-kernel/: ppc-exceptions.c, x86-exceptions.c: If full GC is
292        deferred, ensure that a full GC happens after WITHOUT-GCING exits.
293
2942007-02-21 05:57  gb
295
296        * compiler/X86/x86-disassemble.lisp: Continue disassembly after
297        uuo-gc-trap.
298
2992007-02-19 04:50  gb
300
301        * lib/foreign-types.lisp: Use keywords more consistently.
302       
303        (Note: there seems to be a bug which is keeping the cdb data
304        structures from getting defined correctly at load time; the
305        workaround is to compile foreign-types.lisp - which defines them -
306        in the same session as and before db-io - which uses them - is
307        compiled.)
308
3092007-02-19 04:48  gb
310
311        * level-0/X86/x86-clos.lisp: UNSET-FIN-TRAMPOLINE: don't tail-call
312        error.
313
3142007-02-19 04:42  gb
315
316        * level-0/PPC/ppc-clos.lisp: UNSET-FIN-TRAMPOLINE: don't tail-call
317        the error function.
318
3192007-02-19 04:40  gb
320
321        * level-1/l1-clos-boot.lisp: MAYBE-UPDATE-OBSOLETE-INSTANCE: handle
322        funcallable objects that aren't STANDARD-GENERIC-FUNCTIONs.
323
3242007-02-19 04:40  gb
325
326        * level-1/l1-clos.lisp: Move GENERIC-FUNCTION-NAME to
327        FUNCALLABLE-STANDARD-OBJECT.
328       
329        %ALLOCATE-GF-INSTANCE: don't create a dispatch table if not
330        creating a GF.
331
3322007-02-19 04:36  gb
333
334        * lib/describe.lisp: STANDARD-OBJECT-LINE-N: handle
335        funcallable-stanard-objects better.
336
3372007-02-19 04:34  gb
338
339        * lib/ccl-export-syms.lisp: Export FUNCALLABLE-STANDARD-OBJECT from
340        CCL, OPENMCL-MOP.
341
3422007-02-19 02:09  gb
343
344        * level-1/l1-clos-boot.lisp: FUNCALLABLE-STANDARD-OBJECT is a
345        FUNCALLABLE-STANDARD-CLASS.
346
3472007-02-19 02:07  gb
348
349        * examples/bridge.lisp: MAKE-OPTIMIZED-SEND: missing "msg" arg in
350        error message.
351
3522007-02-15 02:46  gb
353
354        * examples/objc-support.lisp: Call REGISTER-OBJC-INIT-MESSAGES
355        after MAP-OBJC-CLASSES in LOAD-OBJC-EXTENSION-FRAMEWORK.
356
3572007-02-15 02:45  gb
358
359        * examples/bridge.lisp: UPDATE-OBJC-METHOD-INFO: don't process init
360        methods yet.
361
3622007-02-14 02:39  gb
363
364        * release-notes.txt: Fix a typo.
365
3662007-02-14 02:35  gb
367
368        * release-notes.txt: Update for 070214 snapshots.
369
3702007-02-13 23:36  gb
371
372        * level-1/version.lisp: Bump.
373
3742007-02-13 23:36  gb
375
376        * lisp-kernel/image.h, xdump/heap-image.lisp: Update
377        image-abi-version.
378
3792007-02-13 23:29  gb
380
381        * xdump/faslenv.lisp: Finish bumping fasl version.
382
3832007-02-13 23:15  gb
384
385        * lib/nfcomp.lisp: Bump current fasl version.
386
3872007-02-13 23:02  gb
388
389        * x86-headers64/gl/C/populate.sh: rm -rf ./usr
390
3912007-02-13 22:45  gb
392
393        * xdump/faslenv.lisp: Start bumping fasl-version.
394
3952007-02-13 22:41  gb
396
397        * freebsd-headers64/: gmp/C/populate.sh, gnome2/C/populate.sh,
398        gtk2/C/populate.sh, libc/C/populate.sh: rm -rf  ./usr
399
4002007-02-13 21:16  gb
401
402        * freebsd-headers64/gl/C/populate.sh: Avoid processing some files
403        that contain incompatible definitions of some math library stuff
404        ("log" either has to do with logarithms or logging ...).
405
4062007-02-13 18:42  gb
407
408        * lib/misc.lisp: Change the way that TIME is reported by default:
409        mention the number of available CPU cores, don't assume that
410        there's that much of a relationship between CPU time and wall-clock
411        time.
412
4132007-02-13 18:41  gb
414
415        * level-1/linux-files.lisp: Don't do whatever el-bizarro Mach thing
416        once seemed to be necessary in %%RUSAGE.  Require syscall stuff
417        when :execute, too.
418
4192007-02-13 18:35  gb
420
421        * lib/ffi-linuxppc64.lisp: It's %%get-unsigned-longlong, and the
422        offset arg is required.
423
4242007-02-13 18:12  gb
425
426        * level-0/X86/x86-misc.lisp: Add rdtsc (returns 60 bit non-negative
427        fixnum) and rdtsc64 (returns 64-bit non-negative integer.)
428
4292007-02-13 18:10  gb
430
431        * lib/time.lisp: Simpler GET-INTERNAL-RUN-TIME (tries harder not to
432        cons.)
433
4342007-02-13 18:10  gb
435
436        * examples/rubix/rubix.lisp: A little bit of cgfloat stuff; there
437        are more/other float-size issues deeper down in the code.
438
4392007-02-13 18:09  gb
440
441        * examples/objc-support.lisp: Fixup the x86-64 error-return
442        callback trampiline code (was missing a byte of machine code.)
443
4442007-02-13 18:08  gb
445
446        * examples/objc-runtime.lisp: Set the mxcsr/fpctrl fields of
447        jmp-buf to safe/sane values.
448
4492007-02-13 18:07  gb
450
451        * examples/cocoa-window.lisp: Don't change-class
452        *cocoa-event-process* until we start to run the event loop.
453       
454        Don't do _deallocHardCore: explicitly.
455
4562007-02-13 17:35  gb
457
458        * compiler/PPC/ppc2.lisp: poweropen-foreign-args: on ppc64, a
459        DOUBLE-FLOAT aliases just one gpr.
460
4612007-02-13 17:34  gb
462
463        * darwin-headers64/libc/C/populate.sh: Select the SDK directory.
464
4652007-02-13 17:34  gb
466
467        * library/pty.lisp: return-value pointers in OPEN-PTY-PAIR are just
468        32-bit ints, not "long".
469
4702007-02-13 17:33  gb
471
472        * lib/ffi-darwinppc64.lisp: Callback arguments: update offset/delta
473        for each scalar, not each arg.
474       
475        Fix some backquoting/indentation.
476
4772007-02-13 17:31  gb
478
479        * lib/ffi-darwinppc32.lisp: Fix typo (^get-signed-long).
480
4812007-02-12 16:23  gb
482
483        * darwin-x86-headers64/libc/C/populate.sh: Select an SDK.
484
4852007-02-11 20:22  gb
486
487        * examples/bridge.lisp: method-typestring needs to be
488        conditionalized.  How has this been working ?
489
4902007-02-11 20:22  gb
491
492        * examples/cocoa-editor.lisp: remove some debugging code.
493
4942007-02-11 20:21  gb
495
496        * examples/objc-runtime.lisp: %mlist-containing is
497        #-apple-objc-2.0.
498
4992007-02-11 20:21  gb
500
501        * examples/objc-support.lisp: Lose a quote mark, fix another typo.
502
5032007-02-11 05:35  gb
504
505        * level-1/version.lisp: Bump.
506
5072007-02-11 05:28  gb
508
509        * darwin-headers/: addressbook/C/populate.sh, carbon/C/populate.sh,
510        cocoa/C/populate.sh, gl/C/populate.sh, libc/C/populate.sh,
511        quicktime/C/populate.sh, webkit/C/populate.sh: Make the SDK prefix
512        an optional argument; default to the Tiger SDK.
513
5142007-02-11 05:26  gb
515
516        * lib/ffi-darwinppc32.lisp: Ignore errors; it's an error to ignore
517        an errror.
518
5192007-02-11 05:26  gb
520
521        * level-1/ppc-trap-support.lisp: Conditionalize for gratuitous
522        Leopard renaming.  Suffer.
523
5242007-02-11 05:25  gb
525
526        * level-1/l1-boot-lds.lisp: MAKE-MCL-LISTENER-PROCESS will preset
527        an existing process (so that the listener process appears to be
528        "persistent".)
529
5302007-02-11 05:24  gb
531
532        * level-1/l1-application.lisp: LISP-DEVELOPMENT-SYSTEM tries to
533        make the initial-listener object persistent acrosss
534        SAVE-APPLICATION.
535
5362007-02-11 00:01  gb
537
538        * examples/objc-support.lisp: Deftype for CF-FLOAT.
539       
540        Handle callback-error-returns on x86-64.
541
5422007-02-11 00:00  gb
543
544        * examples/objc-runtime.lisp: Pointer comparisons in splay trees
545        use %ptr<, to hide word-size differences.
546       
547        __NSConstantStringClassReference isn't what it used to be, so look
548        up NSConstantStringClass the hard way.
549       
550        Handle ns-exception/lisp-error stuff on x86-64.
551       
552        Do arg/result coercions differently.  Does any code depend on
553        COERCE-TO-ADDRESS behavior ?  (It can cause extra consing of
554        MACPTRs).
555       
556        Use the new FFI interface for message-sends, callbacks to try to
557        hide platform-specific ABI issues.
558       
559        The _deallocate-hook mechanism - which never really worked -
560        probably can't work on Objc-2.0.
561
5622007-02-10 23:54  gb
563
564        * examples/bridge.lisp: Make structure return-type explicit in
565        objc-message-send calls in send/stret and variants.
566
5672007-02-10 22:34  gb
568
569        * examples/cocoa-window.lisp: Some indentation changes and slight
570        reorganization of the code; shouldn't be any functional/semantic
571        changes.
572
5732007-02-10 22:30  gb
574
575        * examples/: cocoa-editor.lisp, cocoa-prefs.lisp,
576        cocoa-typeout.lisp: Need to ensure that floats are CG-FLOATs when
577        appropriate; other changes for 64-bit platforms, Objc-2.0.
578
5792007-02-10 22:28  gb
580
581        * examples/: webkit.lisp, tiny.lisp: Need to ensure that floats are
582        CG-FLOATs when appropriate.
583
5842007-02-10 22:28  gb
585
586        * hemlock/bin/openmcl/.cvsignore: Ignore fasls for all platforms.
587
5882007-02-10 22:28  gb
589
590        * level-0/X86/x86-misc.lisp: VALUES uses :ARGLIST pseudo-op.
591
5922007-02-10 22:27  gb
593
594        * lib/: ffi-linuxppc64.lisp, ffi-darwinppc32.lisp,
595        ffi-darwinppc64.lisp, ffi-linuxppc32.lisp: EXPAND-FF-CALL:
596        ignore-errors when trying to parse the last arglist form as a
597        foreign type.
598
5992007-02-10 22:26  gb
600
601        * lib/foreign-types.lisp: Pretty much commited to the new FF-CALL
602        expansion ...
603
6042007-02-10 22:26  gb
605
606        * lisp-kernel/x86-spentry64.s: Preserve %rax when doing ff-call;
607        use %rdx and %r11 to hold target address.
608
6092007-02-10 22:23  gb
610
611        * library/pty.lisp: Unicode stuff when accessing control char
612        array; conditionalize for #+darwin-target, not just
613        #+darwinppc-target.
614
6152007-02-10 22:22  gb
616
617        * level-1/l1-callbacks.lisp: Fix a comment (defcallback isn't
618        ppc-specific; the comment dated from the days of 68K MCL.)
619
6202007-02-10 22:21  gb
621
622        * compiler/X86/X8664/x8664-backend.lisp: Fix some typos; do struct
623        return 32 bits at a time, to avoid consing little bignums.
624
6252007-02-10 22:15  gb
626
627        * compiler/X86/x86-lap.lisp: Support :arglist directive.
628
6292007-02-10 22:15  gb
630
631        * compiler/X86/x862.lisp: alloc-c-frame vinsn takes "extra" word
632        count, not total byte count.
633       
634        Fix handling of $undo-x86-c-frame in x862-nlexit.  (Need to check
635        the PPC case, as well.)
636
6372007-02-10 22:11  gb
638
639        * compiler/X86/X8664/x8664-vinsns.lisp: There doesn't need to be a
640        "zero-extend-s8" vinsn, but there does need to be a
641        "zero-extend-u8".
642
6432007-02-10 05:38  gb
644
645        * level-0/PPC/ppc-misc.lisp: Use new :ARGLIST directive in
646        #'VALUES.
647
6482007-02-10 05:38  gb
649
650        * compiler/PPC/ppc-lap.lisp: Support an :ARGLIST directive, so that
651        ARGLIST can say -something- about lap functions that don't take a
652        fixed number of arguments.
653
6542007-02-07 02:54  gb
655
656        * compiler/X86/X8664/x8664-backend.lisp: They spell "valu" with an
657        "e".
658
6592007-02-02 02:32  gb
660
661        * examples/: bridge.lisp, objc-clos.lisp, objc-runtime.lisp,
662        objc-support.lisp: Start to integrate with FFI changes.  No more
663        %SEND, process and precompile "init" messages when interfaces are
664        accessed.  (Note: should try to handle varargs init messages, even
665        if we have to call %FF-CALL at runtime.)
666
6672007-02-02 02:31  gb
668
669        * examples/: addressbook.lisp, webkit.lisp: Change the
670        initialization code a bit.
671
6722007-02-02 02:27  gb
673
674        * lib/foreign-types.lisp: Try to fix another case involving
675        "auxiliary types".
676       
677        I think that the concept of auxiliary types might make sense in a
678        context like:
679       
680        (def-foreign-type nil   (:struct :foo     (:a :int)     (:b
681        (:struct :bar (:x :int) (:y :int)))))
682       
683        In that case, :struct :bar is local to the definition.  In the
684        similar case:
685       
686        (def-foreign-type nil   (:struct :foo     (:a :int)     (:b
687        (:struct :bar))))
688       
689        :BAR is presumably defined (globally) elsewhere.
690
6912007-02-02 02:17  gb
692
693        * darwin-headers/addressbook/C/populate.sh: Specify the SDK to use.
694         (Setting "SDK=" will hopefully work with older version of xcode.)
695
6962007-02-02 02:15  gb
697
698        * darwin-headers/addressbook/C/.cvsignore: Ignore ./Developer.
699
7002007-01-31 23:26  gb
701
702        * compiler/PPC/ppc2.lisp: Don't treat :registers arg as a real
703        argument in ppc2-poweropen-foreign-args.
704
7052007-01-31 22:47  gb
706
707        * lib/ffi-darwinppc64.lisp: Needed ,@ to return assign structure
708        components from registers.
709
7102007-01-31 22:45  gb
711
712        * lib/db-io.lisp: UNESCAPE-FOREIGN-NAME: strings with no angle
713        brackets are returned verbatim, not downcased.
714
7152007-01-31 22:44  gb
716
717        * level-0/PPC/ppc-def.lisp: Runtime version of 64-bit %ff-call
718        accepts :registers.
719
7202007-01-31 16:36  gb
721
722        * darwin-headers64/chud/: .cvsignore, C/.cvsignore, C/populate.sh:
723        New (and, so far, useless) files.
724
7252007-01-31 16:35  gb
726
727        * library/chud-metering.lisp: Add a comment; CHUD.Framework still
728        seems to be 32-bit only.
729
7302007-01-31 16:34  gb
731
732        * darwin-headers64/libc/C/.cvsignore: Ignore ./Developer.
733
7342007-01-31 16:34  gb
735
736        * darwin-headers64/libc/C/populate.sh: Use SDK; add dlfcn.h.
737
7382007-01-31 16:33  gb
739
740        * lib/db-io.lisp: Tweak the warning given if CDB-OPEN fails:
741        missing cdb file: dog bytes man; missing parent directory is more
742        newsworthy.
743
7442007-01-31 15:38  gb
745
746        * library/chud-metering.lisp: Tweak a little, so that it might work
747        on darwinppc64 (and on darwinx8664 when purify does something
748        there.)
749
7502007-01-31 15:06  gb
751
752        * darwin-headers/libc/C/populate.sh: Add dlfcn.h.
753
7542007-01-31 02:49  gb
755
756        * level-0/PPC/PPC32/ppc32-bignum.lisp: BIGNUM-NEGATE-TO-PTR.
757
7582007-01-30 22:53  gb
759
760        * freebsd-headers64/: gtk2/C/.cvsignore, gtk2/C/populate.sh,
761        gl/C/.cvsignore, gl/C/populate.sh, gnome2/.cvsignore,
762        gnome2/C/.cvsignore, gnome2/C/populate.sh, gtk2/.cvsignore,
763        gl/.cvsignore: new files.
764
7652007-01-30 22:21  gb
766
767        * freebsd-headers64/gmp/: C/.cvsignore, C/populate.sh, .cvsignore:
768        new files.
769
7702007-01-30 21:58  gb
771
772        * level-0/l0-bignum64.lisp: BIGNUM-NEGATE-TO-POINTER.
773
7742007-01-30 21:58  gb
775
776        * x86-headers64/gmp/: .cvsignore, C/.cvsignore, C/populate.sh: new
777        file
778
7792007-01-30 21:49  gb
780
781        * level-1/l1-sockets.lisp: Learn to conditionalize! It's easy and
782        fun!
783
7842007-01-30 21:40  gb
785
786        * library/openmcl-gtk-support.lisp: Conditionalize out the
787        event-polling task.
788
7892007-01-30 21:36  gb
790
791        * headers64/: gl/.cvsignore, gl/C/.cvsignore, gl/C/populate.sh,
792        gnome2/.cvsignore, gnome2/C/.cvsignore, gnome2/C/populate.sh,
793        gtk2/.cvsignore, gtk2/C/.cvsignore, gtk2/C/populate.sh: new file
794
7952007-01-30 21:35  gb
796
797        * headers/gl/C/populate.sh: process glu.h
798
7992007-01-30 17:47  gb
800
801        * library/parse-ffi.lisp: Always encode explicit structure-typed
802        function return values.
803       
804        Note when we see one, for now.
805
8062007-01-30 17:45  gb
807
808        * lib/foreign-types.lisp: %EXTERNAL-CALL-EXPANDER allows/requires a
809        leading argument to be paired with a structure-typed return-type.
810
8112007-01-30 17:43  gb
812
813        * lib/ffi-linuxppc32.lisp: linuxppc32 always returns structures via
814        the first-arg hack.
815
8162007-01-30 17:42  gb
817
818        * lib/db-io.lisp: Bump *interface-abi-version*, but continue to
819        support the old version.
820       
821        Don't check the :struct-by-value flag when encoding function
822        args/results.  (That decision's made above our pay grade now.)
823       
824        When reading a :struct/:union definition, try to update an existing
825        defintion rather than consing up a new one (this matters if the
826        record is anonymous.)
827
8282007-01-30 17:39  gb
829
830        * level-1/l1-sockets.lisp: Try to ensure that the :FORMAT argument
831        gets passed to MAKE-TCP-STREAM-SOCKET and MAKE-FILE-STREAM-SOCKET
832        correctly.
833       
834        Fix c_socket for #+linuxppc.
835
8362007-01-30 08:20  gb
837
838        * level-1/version.lisp: Bump.
839
8402007-01-30 08:20  gb
841
842        * lib/compile-ccl.lisp: Use make -j to build kernel.
843
8442007-01-30 07:02  gb
845
846        * lisp-kernel/x86-spentry64.s: .SPcallback returns rax/rdx,
847        xmm0/xmm1.
848
8492007-01-30 07:01  gb
850
851        * lib/macros.lisp: Use new callback interface unconditionally.  (A
852        day's work turned into 2 weeks, somehow.)
853
8542007-01-30 07:00  gb
855
856        * compiler/X86/X8664/x8664-backend.lisp, lib/ffi-darwinx8664.lisp,
857        lib/ffi-freebsdx8664.lisp, lib/ffi-linuxx8664.lisp: New callback
858        stuff for x8664 (all platfroms appear to use the same ABI.)
859
8602007-01-30 03:26  gb
861
862        * level-0/X86/x86-misc.lisp: Don't use boxed "disp" for
863        displacement in %ATOMIC-INCF-NODE.
864
8652007-01-29 07:27  gb
866
867        * lib/macros.lisp: Enable new callback stuff on #+ppc-target.
868
8692007-01-29 07:27  gb
870
871        * lib/ffi-darwinppc64.lisp: new callback stuff.
872
8732007-01-29 07:27  gb
874
875        * lib/ffi-darwinppc32.lisp: typos-r-us.
876
8772007-01-29 04:37  gb
878
879        * lib/ffi-darwinppc32.lisp: Flesh out darwinppc32 callback stuff.
880
8812007-01-29 04:37  gb
882
883        * lib/ffi-linuxppc64.lisp: Fix some typos/bugs; more likely remain.
884
8852007-01-29 04:36  gb
886
887        * lib/foreign-types.lisp: REQUIRE-FOREIGN-TYPE-BITS.
888
8892007-01-29 04:36  gb
890
891        * lib/macros.lisp: Use new callback scheme for darwinppc32, too.
892
8932007-01-29 04:36  gb
894
895        * compiler/PPC/PPC32/ppc32-backend.lisp: No more (old) callback
896        stuff here.
897
8982007-01-29 02:33  gb
899
900        * lib/ffi-darwinppc32.lisp: Flesh out the new callback stuff.
901
9022007-01-28 21:47  gb
903
904        * lib/: ffi-linuxppc32.lisp, ffi-linuxppc64.lisp: Flesh things out
905        a bit more, change the API, get things working ... still a moving
906        target.
907
9082007-01-28 21:46  gb
909
910        * lib/macros.lisp: For linuxppc, use the new callback mechanism.
911        (Other platforms still need more bootstrapping.)
912
9132007-01-28 21:44  gb
914
915        * compiler/PPC/PPC32/ppc32-backend.lisp: Lose the old eabi-callback
916        stuff; linuxppc 32/64-bit callbacks now use the new scheme.
917
9182007-01-28 03:21  gb
919
920        * lib/ffi-linuxppc32.lisp: Remove some typos.  Need to pass
921        dynamic-extent, other decls separately.
922
9232007-01-28 03:20  gb
924
925        * compiler/PPC/PPC32/ppc32-backend.lisp: Fix some of this stuff;
926        use the new (ftd-based) scheme.
927
9282007-01-28 01:43  gb
929
930        * compiler/PPC/PPC64/ppc64-backend.lisp: Fix some typos.  (This
931        code's getting replaced, but fix 'em anyway.)
932
9332007-01-28 01:42  gb
934
935        * lib/db-io.lisp: If a .cdb file can't be opened, show the
936        translated pathname and mention the fact that this might indicate a
937        problem with "ccl:"'s logical translations.
938
9392007-01-25 04:37  gb
940
941        * lib/foreign-types.lisp: Never fully understood the concept
942        "auxiliary" foreign types, but try to canonicalize intermediate
943        struct/union/enum references, so that (EQ (PARSE-FOREIGN-TYPE
944        '(:STRUCT :FOO))     (PARSE-FOREIGN-TYPE '(:STRUCT :FOO))) is more
945        likely to return T (e.g., something registered in the FTD.
946       
947        It seems clear that this is the right thing when the structure
948        reference is in global scope; I'm not sure what it'd mean for that
949        not to be the case.
950
9512007-01-25 04:32  gb
952
953        * lib/ffi-linuxppc32.lisp: More plausible callback-bindings
954        callback.
955
9562007-01-24 23:41  gb
957
958        * lib/ffi-linuxppc32.lisp: First cut at callback-bindings thing;
959        may not even compile.
960
9612007-01-24 02:39  gb
962
963        * compiler/: PPC/PPC32/ppc32-backend.lisp,
964        PPC/PPC64/ppc64-backend.lisp, X86/X8664/x8664-backend.lisp: Stubs
965        for new FTD functions.
966
9672007-01-24 02:28  gb
968
969        * lib/foreign-types.lisp: A few more fields (for callbacks) in ftd
970        defstruct.
971
9722007-01-23 15:28  gb
973
974        * compiler/PPC/: PPC32/ppc32-backend.lisp,
975        PPC64/ppc64-backend.lisp: Get FPRs from where subprim saved them.
976        Return FPRs in the same place.  (Will need to re-work all of this
977        for platform-dependent structure stuff.)
978
9792007-01-23 15:26  gb
980
981        * lisp-kernel/ppc-spentry.s: poweropen-callback, callbackX; save fp
982        args here.  Return all (arg) GPRs and FPRs (needs cooperation from
983        the lisp side.)
984
9852007-01-23 15:21  gb
986
987        * lisp-kernel/: ppc-constants32.s, ppc-constants64.s: Add room in
988        c_reg_save for saved fp args (f1-f13).
989
9902007-01-23 15:14  gb
991
992        * lib/foreign-types.lisp: FF-CALL implemented in terms of the new
993        ftd hook.
994
9952007-01-23 07:19  gb
996
997        * level-1/l1-clos-boot.lisp: ppc32, ppc64 also had trouble with
998        (CLASS-OF non-simple-string).
999
10002007-01-23 07:02  gb
1001
1002        * level-1/l1-clos-boot.lisp: x8664 class-of: typo in non-simple
1003        array case, needed new string definition.
1004
10052007-01-23 07:01  gb
1006
1007        * lib/: ffi-darwinx8664.lisp, ffi-freebsdx8664.lisp,
1008        ffi-linuxx8664.lisp: Define ffi stuff in terms of common things in
1009        compiler/X86/X8664/x8664-backend.
1010
10112007-01-23 06:59  gb
1012
1013        * compiler/X86/X8664/x8664-backend.lisp: Define (common) x8664 ffi
1014        stuff here.
1015
10162007-01-21 08:32  gb
1017
1018        * compiler/X86/x862.lisp: Name vinsn ff-call-return-registers (not
1019        "-returning-").
1020       
1021        Typecheck the :registers arg.
1022
10232007-01-21 08:32  gb
1024
1025        * compiler/X86/X8664/x8664-vinsns.lisp: ff-call-return-registers.
1026
10272007-01-21 08:31  gb
1028
1029        * compiler/X86/X8664/x8664-arch.lisp: WITH-FFCALL-RESULTS: zero the
1030        stack-block.
1031
10322007-01-21 08:31  gb
1033
1034        * lisp-kernel/x86-spentry64.s: Don't use save3 in
1035        .SPffcall_return_registers (save3 = r11); use save2 (= r13)
1036        instead.
1037
10382007-01-21 06:46  gb
1039
1040        * compiler/PPC/PPC64/ppc64-arch.lisp: WITH-FFCALL-RESULTS needs
1041        space for 13 float registers, not 31.
1042
10432007-01-21 06:45  gb
1044
1045        * compiler/X86/X8664/x8664-arch.lisp: WITH-FFCALL-RESULTS for
1046        x86-64.
1047
10482007-01-21 06:38  gb
1049
1050        * compiler/X86/x862.lisp: ff-call: handle n-word struct-by-value,
1051        register return without typos.
1052
10532007-01-21 06:15  gb
1054
1055        * compiler/X86/x862.lisp: ff-call: handle n-word struct-by-value,
1056        register return.
1057
10582007-01-21 06:14  gb
1059
1060        * compiler/nx1.lisp: Don't assume that passing a structure by value
1061        in N words is Darwin-specific.  (LinuxPPC32 is probably the only
1062        platform that doesn't support the convention.)
1063
10642007-01-21 06:12  gb
1065
1066        * compiler/X86/X8664/x8664-arch.lisp: .SPffcall-return-registers
1067        replaces .SPunused-4.
1068
10692007-01-21 06:10  gb
1070
1071        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s:
1072        .SPffcall_return_registers (just returns %rax/rdx, %xmm0/%xmm1).
1073        (replaces .SPunused_4).
1074
10752007-01-21 00:05  gb
1076
1077        * lib/: ffi-linuxppc32.lisp, ffi-linuxppc64.lisp: Use
1078        argument/result coercion functions in os::expand-ff-call.
1079
10802007-01-20 23:53  gb
1081
1082        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp: Coerce arg,
1083        results when expanding an ff-call.
1084
10852007-01-20 23:52  gb
1086
1087        * lib/foreign-types.lisp: Default (no-op) functions for coercing
1088        foreign args, results.
1089
10902007-01-20 22:31  gb
1091
1092        * lib/ffi-linuxppc64.lisp: 4 down.  Whether 2 or 3 to go depends on
1093        your perspective (and on how close x86-64 Linux and x86-64 FreeBSD
1094        are to each other.  I'd guess that they're pretty close, and that
1095        x86-64 Darwin is random.)
1096
10972007-01-20 21:55  gb
1098
1099        * lib/ffi-linuxppc32.lisp: Pretty simple.  3 down, 4 to go.
1100
11012007-01-20 19:34  gb
1102
1103        * compiler/X86/X8664/x8664-backend.lisp: Package prefixes.  D'oh!
1104
11052007-01-20 19:25  gb
1106
1107        * compiler/X86/X8664/x8664-backend.lisp: Add references to the
1108        right os::ff-call-expander.
1109
11102007-01-20 19:24  gb
1111
1112        * compiler/PPC/PPC64/ppc64-arch.lisp: Remove some wip code.
1113
11142007-01-20 19:24  gb
1115
1116        * compiler/PPC/: PPC32/ppc32-backend.lisp,
1117        PPC64/ppc64-backend.lisp: Use os::expand-ff-call, for each value of
1118        OS.
1119
11202007-01-20 19:23  gb
1121
1122        * level-1/l1-sockets.lisp: Saw an opportunity to use PAREF;
1123        probably several more.
1124
11252007-01-20 19:22  gb
1126
1127        * lib/ffi-darwinppc64.lisp: Two down, 5 to go.
1128
11292007-01-20 19:21  gb
1130
1131        * lib/ffi-darwinppc32.lisp: Looks mostly right; might need to be
1132        extended to handle coercions at the Cocoa level, and probably needs
1133        some cooperation from %EXTERNAL-CALL-EXPANDER (e.g., what's
1134        installed by #_).
1135
11362007-01-20 19:18  gb
1137
1138        * lib/db-io.lisp: Encode, decode union types in arglists.
1139
11402007-01-20 19:17  gb
1141
1142        * lib/foreign-types.lisp: ftd's :ff-call-expand-function is
1143        os::expand-ff-call.
1144       
1145        Canonicalize the :void type a bit better.
1146
11472007-01-20 19:16  gb
1148
1149        * library/parse-ffi.lisp: Remove the debugging FORMAT call.
1150
11512007-01-18 23:15  gb
1152
1153        * level-1/l1-boot-2.lisp: Load with the new ffi-backend fasls.
1154
11552007-01-18 23:15  gb
1156
1157        * lib/compile-ccl.lisp: Deal with the new ffi-backend sources.
1158
11592007-01-18 23:15  gb
1160
1161        * lib/systems.lisp: Add the new ffi-backend sources.
1162
11632007-01-18 23:14  gb
1164
1165        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp,
1166        ffi-darwinx8664.lisp, ffi-freebsdx8664.lisp, ffi-linuxppc32.lisp,
1167        ffi-linuxppc64.lisp, ffi-linuxx8664.lisp: New (so far, empty)
1168        files.
1169
11702007-01-18 04:35  gb
1171
1172        * level-1/version.lisp: Bump.
1173
11742007-01-18 04:17  gb
1175
1176        * examples/bridge.lisp: Some word-size conditionalization.  Will
1177        need more work to handle struct return/asssignment correctly on all
1178        platforms.
1179
11802007-01-18 04:15  gb
1181
1182        * examples/: cocoa-editor.lisp, cocoa-backtrace.lisp: Use CGFloat,
1183        type casts, etc.  Likwise for :<NSI>nteger, :<NSUI>nteger.
1184
11852007-01-18 04:13  gb
1186
1187        * examples/: cocoa-prefs.lisp, cocoa-listener.lisp: Use CGFloat,
1188        type casts, etc.
1189
11902007-01-18 04:12  gb
1191
1192        * examples/cocoa-window.lisp: Use CGFloat, type casts, etc.  Avoid
1193        deprecated NSFont stuff.
1194
11952007-01-18 04:11  gb
1196
1197        * examples/objc-clos.lisp: Handle ivars, class
1198        creation/initialization differently for ObjC 2.0.
1199
12002007-01-18 04:10  gb
1201
1202        * examples/objc-runtime.lisp: More ObjC 2.0, ppc64 changes.
1203
12042007-01-18 04:09  gb
1205
1206        * examples/objc-support.lisp: Note which protocols are actually
1207        used when walking classes.  (There doesn't seem to be a good way of
1208        finding a Protocol object pre-objc-2.0, and we may need to test
1209        protocol compliance to disambiguate message sends in some cases.)
1210
12112007-01-18 04:07  gb
1212
1213        * examples/opengl-ffi.lisp: Conditionalize for darwin (not
1214        necessarily darwinppc).
1215
12162007-01-18 04:06  gb
1217
1218        * examples/addressbook.lisp: Conditionalize for darwin (not
1219        necessarily darwinppc).  May want to conditionalize for bundle
1220        executable name, as well.
1221
12222007-01-18 04:05  gb
1223
1224        * compiler/PPC/PPC64/ppc64-arch.lisp: WITH-FFCALL-RESULTS.  Start
1225        to sketch out structure return code (structures are often
1226        "returned" by returning field values in registers pn DarwinPPC64.)
1227
12282007-01-18 04:04  gb
1229
1230        * compiler/PPC/PPC64/ppc64-backend.lisp: New ftd stuff; new
1231        attributes for structure args/results.
1232
12332007-01-18 04:03  gb
1234
1235        * compiler/PPC/PPC64/ppc64-vinsns.lisp: ffcall-returning registers.
1236         (Will need this for other platforms, too.)
1237
12382007-01-18 04:01  gb
1239
1240        * lib/macros.lisp: Arch-specific macro interface for
1241        WITH-FFCALL-RESULTS.
1242
12432007-01-18 04:00  gb
1244
1245        * lib/db-io.lisp: Handle the case of an encoded structure type as a
1246        return value.
1247
12482007-01-18 04:00  gb
1249
1250        * lisp-kernel/: ppc-spentry.s, ppc-spjump.s:
1251        .SPpoweropen_ffcall_return_registers.
1252
12532007-01-18 03:59  gb
1254
1255        * library/parse-ffi.lisp: At least optionally, make structure
1256        return explicit (expecting it to be handled by higher-level code.)
1257
12582007-01-18 03:58  gb
1259
1260        * lib/foreign-types.lisp: ff-call-expand-function in ftd.  Don't
1261        try to type-expand :registers <exp> form in EXTERNAL-CALL.
1262
12632007-01-18 03:55  gb
1264
1265        * level-0/PPC/ppc-misc.lisp: Get the contents of the register that
1266        may hold OS thread context.
1267
12682007-01-18 03:54  gb
1269
1270        * compiler/PPC/PPC32/ppc32-backend.lisp: ff-call-expander function
1271        in ftd.
1272
12732007-01-18 03:53  gb
1274
1275        * compiler/PPC/PPC32/ppc32-arch.lisp: WITH-FFCALL-RESULTS arch
1276        macro.
1277
12782007-01-18 03:52  gb
1279
1280        * compiler/PPC/ppc2.lisp: Poweropen ff-calls might need to return
1281        all possible result regs.  (Maybe poweropen syscall, too.)
1282
12832007-01-18 03:51  gb
1284
1285        * compiler/PPC/ppc-arch.lisp: Replace unused subprim with
1286        .SPpoweropen-ff-call-return-registers.
1287
12882007-01-18 03:50  gb
1289
1290        * compiler/nx1.lisp: Support :registers <exp> in %ff-call; when
1291        supported, backend will return all (potential) result registers in
1292        buffer at <exp>.
1293
12942007-01-16 02:01  gb
1295
1296        * level-1/l1-streams.lisp: Make sure that STREAM-READ-IVECTOR and
1297        STREAM-WRITE-IVECTOR are defined on binary stream classes.  (These
1298        functions make less sense for character streams/strings than they
1299        used to.)
1300
13012007-01-16 01:39  gb
1302
1303        * level-1/l1-sockets.lisp: Ensure that the :FORMAT argument
1304        defaults to :BIVALENT
1305
13062007-01-16 01:37  gb
1307
1308        * level-0/l0-init.lisp: Put :OPENMCL-UNICODE-STRINGS on *FEATURES*.
1309
13102007-01-11 23:58  gb
1311
1312        * compiler/PPC/ppc2.lisp: Transform (/ (* constant1 exp) constant2)
1313        into (* (/ constant1 constant2) exp).  Not very general, but makes
1314        some foreign address arithmetic better.
1315
13162007-01-11 23:56  gb
1317
1318        * lib/macros.lisp: Simple PAREF: (paref pointer
1319        foreign-pointer-or-array-type index) does simple arithmetic for
1320        you.
1321
13222007-01-11 23:54  gb
1323
1324        * lib/foreign-types.lisp: %FOREIGN-ARRAY-ACCESS-FORM.
1325
13262007-01-10 15:50  gb
1327
1328        * compiler/PPC/ppc2.lisp: ppc2-vref1: lose extra arg to
1329        double->heap vinsn.
1330
13312007-01-09 11:33  gb
1332
1333        * lisp-kernel/x86-spentry64.s: When running an unwind-protect
1334        cleanup and multiple values are being thrown, be sure to set
1335        tcr.xframe from the target catch frame.  This is necessary on
1336        general principles (GC safety), and especially necessary if the
1337        cleanup form does a non-local exit.
1338
13392007-01-08 22:12  gb
1340
1341        * examples/: objc-clos.lisp, objc-runtime.lisp, objc-support.lisp:
1342        Revive some of the old GNUstep support; add partial ObjC 2.0
1343        support (for 64-bit targets only, so far.)
1344
13452007-01-08 22:11  gb
1346
1347        * examples/cocoa.lisp: Conditionalize for darwin-target, not
1348        darwinppc-target.
1349
13502007-01-08 22:10  gb
1351
1352        * examples/cocoa-listener.lisp: Disable background layout in the
1353        listener; the whole two-thread scheme probably isn't viable, but
1354        doing this seems to suppress a timing-related symptom.
1355
13562007-01-08 22:09  gb
1357
1358        * examples/cocoa-editor.lisp: Document-begin-editing,
1359        document-end-editing: both seem to have been conditionalized
1360        backwards.
1361
13622007-01-05 16:22  gb
1363
1364        * level-0/l0-numbers.lisp: Fix another typo ...
1365
13662007-01-05 16:16  gb
1367
1368        * level-0/l0-numbers.lisp: Fix typo (ppc32::, not ppc2::).
1369
13702007-01-05 15:27  gb
1371
1372        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Missing MISC-SET-C-S32 for
1373        PPC32.
1374
13752007-01-05 06:20  gb
1376
1377        * level-0/l0-cfm-support.lisp: OPEN-SHARED-LIBRARY: freebsd version
1378        of #_dlopen doesn't return a link map, but calling #_dlinfo on the
1379        result (with the right arg) does obtain a link map.
1380       
1381        Revive shared libraries on FreeBSD, but don't do the strange
1382        Linux-specific re-opening there.  (It seems like it's possible to
1383        #_dlopen something that already has a loaded link map - like the
1384        FreeBSD dynamic linker - or something.)
1385
13862007-01-04 05:46  gb
1387
1388        * level-1/l1-pathnames.lisp: %component-match-p: handle :WILD,
1389        :WILD-INFERIORS.
1390
13912007-01-04 05:45  gb
1392
1393        * lisp-kernel/pmcl-kernel.c: Try to check for old libc versions
1394        (which may use %gs instead of %fs for tls).
1395
13962007-01-04 05:44  gb
1397
1398        * lib/numbers.lisp: Explicitly require NUMBER-CASE-MACRO.
1399
14002007-01-04 05:44  gb
1401
1402        * level-0/l0-numbers.lisp:
1403        fixnum-sfloat-compare,fixnum-dfloat-compare: if the fixnum can be
1404        accurately represented in float, do so.
1405
14062007-01-03 03:35  gb
1407
1408        * lib/sequences.lisp: Fix a few type errors, check for explicit
1409        vector-type length earlier.
1410
14112007-01-03 03:31  gb
1412
1413        * level-1/l1-files.lisp: %STD-NAME-COMPONENT, %STD-TYPE-COMPONENT:
1414        preserved :WILD, don't map it to "*".
1415
14162007-01-03 03:30  gb
1417
1418        * lib/pathnames.lisp: More whack-a-mole with pathnames
1419        (specifically, preserving :WILD as name/type value and dealing with
1420        the consequences of doing so.)
1421
14222007-01-03 03:27  gb
1423
1424        * lib/numbers.lisp: Small (mostly cosmetic) change to RATIONAL.
1425
14262007-01-02 09:57  gb
1427
1428        * lib/macros.lisp: Keep fixing CTYPECASE.
1429
14302007-01-02 09:57  gb
1431
1432        * level-1/l1-streams.lisp: DOH! STREAM-READ-LINE method on
1433        BASIC-CHARACTER-INPUT-STREAM returns both values.
1434       
1435        "Composite" (two-way, concatenated, etc) streams need a close
1436        protocol.
1437
14382007-01-02 07:00  gb
1439
1440        * level-0/l0-pred.lisp: EQUAL on physical pathnames ignores the
1441        (new) version slot, as does practically everything else.
1442
14432007-01-02 06:59  gb
1444
1445        * level-0/l0-numbers.lisp: Don't assume that fixnums can be
1446        accurately coerced to floats when comparing fixnums and floats; do
1447        the logical equvalent of calling RATIONAL on the float instead.
1448
14492007-01-01 23:41  gb
1450
1451        * level-1/l1-files.lisp: ENOUGH-NAMESTRING: don't incorporate
1452        version into returned namestring for physical pathnames.
1453
14542006-12-31 10:15  gb
1455
1456        * release-notes.txt: Update.
1457
14582006-12-31 09:13  gb
1459
1460        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump image/abi
1461        version.
1462
14632006-12-31 08:57  gb
1464
1465        * xdump/faslenv.lisp: Bump fasl-min-vers.
1466
14672006-12-31 08:49  gb
1468
1469        * lib/nfcomp.lisp: Bump current fasl version.
1470
14712006-12-31 08:33  gb
1472
1473        * lisp-kernel/: linuxppc/elf32ppclinux.x, linuxppc64/elf64ppc.x:
1474        Tweak the executable start address.
1475
14762006-12-31 02:44  gb
1477
1478        * lisp-kernel/x86-spjump64.s: On Darwin, use a .space directive to
1479        ensure that there's nothing interesting in the first few pages of
1480        the address space (and ensure that those pages are mapped.)
1481
14822006-12-31 02:43  gb
1483
1484        * lisp-kernel/darwinx8664/Makefile: Sadly, we can't use -sectalign
1485        on x86-64 (ld64 does some floating-point arithmetic, fails to
1486        account for roundoff error, and claims that 0x1000 isn't a power of
1487        2.) If you can't say anything good about a linker, it's best not to
1488        say anything at all.
1489       
1490        We can force the first segment to be mapped at 0x1000, and can
1491        waste a few pages to ensure that all low-memory pages that the lisp
1492        wants are mapped.
1493
14942006-12-31 02:33  gb
1495
1496        * level-1/l1-pathnames.lisp: %SPLIT-COMPONENT: be a little more
1497        defensive.
1498
14992006-12-31 02:32  gb
1500
1501        * compiler/nx0.lisp: NX-FORM-TYPE: handle quoted constants.
1502
15032006-12-31 02:29  gb
1504
1505        * xdump/faslenv.lisp: Bump $fasl-vers.
1506
15072006-12-31 02:28  gb
1508
1509        * level-1/version.lisp: Bump; remove "Beta" designation.
1510
15112006-12-29 20:13  gb
1512
1513        * compiler/X86/X8664/x8664-arch.lisp, lisp-kernel/area.h,
1514        lisp-kernel/lisp_globals.h, lisp-kernel/x86-constants64.h,
1515        lisp-kernel/x86-constants64.s, xdump/xx8664-fasload.lisp: Move NIL
1516        up a page on x86-64 as well.
1517
15182006-12-29 16:09  gb
1519
1520        * lisp-kernel/ppc-spjump.s: Be a little clearer about where we're
1521        .orged.
1522
15232006-12-29 15:32  gb
1524
1525        * compiler/PPC/PPC32/ppc32-arch.lisp, lisp-kernel/area.h,
1526        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
1527        lisp-kernel/darwinppc/Makefile, xdump/xppcfasload.lisp: Static area
1528        (including NIL) now one page higher on ppc32, as well.
1529
15302006-12-29 02:38  gb
1531
1532        * level-0/PPC/ppc-float.lisp: SQRT in LAP (todo: inline it.)
1533
15342006-12-29 01:38  gb
1535
1536        * compiler/PPC/PPC64/ppc64-arch.lisp: Move ppc64::nil-value (and
1537        ppc64::reservation-discharge) up a page.
1538
15392006-12-29 01:37  gb
1540
1541        * xdump/xppcfasload.lisp: xload-static-space-address for ppc64 is
1542        #x2000; still #x1000 for ppc32.  (need to set this for x86-64)
1543
15442006-12-29 01:36  gb
1545
1546        * xdump/xfasload.lisp: *xload-static-space-address* depends on the
1547        backend.  ppc64 wants it one page higher than it has been, to avoid
1548        letting unmapped pages get claimed by the dynamic linker on Darwin.
1549
15502006-12-29 01:35  gb
1551
1552        * lisp-kernel/darwinppc64/Makefile: Change seg1addr/sectalign, so
1553        that the image starts at #x1000 and aligned section data for the
1554        text section starts on the next page.
1555
15562006-12-29 01:33  gb
1557
1558        * lisp-kernel/ppc-spjump.s: Org the spjump table 3 pages from where
1559        the aligned text section data starts.
1560
15612006-12-29 01:32  gb
1562
1563        * lisp-kernel/: ppc-constants64.h, ppc-constants64.s: nil_value,
1564        etc a page higher.
1565
15662006-12-29 01:32  gb
1567
1568        * lisp-kernel/pmcl-kernel.c: Don't remap ppc64 spjump table if it's
1569        already where it should be.
1570
15712006-12-29 01:32  gb
1572
1573        * lisp-kernel/lisp_globals.h: Access lisp_globals/nrs_symbols a
1574        page higher.
1575
15762006-12-29 01:30  gb
1577
1578        * lisp-kernel/area.h: Move STATIC_BASE_ADDRESS up a page for ppc64.
1579
15802006-12-22 01:40  gb
1581
1582        * lisp-kernel/ppc-exceptions.c: Ensure that sqrt() is prototyped.
1583
15842006-12-22 01:39  gb
1585
1586        * lisp-kernel/pmcl-kernel.c: Insist on at least Panther for
1587        PPC32/Darwin.
1588       
1589        Use dlopen() on 64-bit Darwin variants.  Might want to do a runtime
1590        test and use dlfcn functions if at least Tiger.
1591       
1592        (The old dyld functions are deprecated under Leopard, and there's
1593        reason to believe that they don't work correctly on at least ppc64/
1594        Leopard; attempting to use NSCreateObjectFileImageFromFile to open
1595        a 64-bit .dylib seems to lead to memory corruption rather than
1596        returning NSObjectFileImageInappropriateFile.
1597       
1598        The old functions work better than the dlfcn functions on pre-Tiger
1599        systems.)
1600
16012006-12-19 01:24  gb
1602
1603        * library/parse-ffi.lisp: Just to be on the safe side (new pathname
1604        bugs, or old ?), append -BAK to (NAMESTRING (TRUENAME path)), not
1605        just (NAMESTRING path) when renaming.  (MERGE-PATHNAMES call is
1606        producing a pathane with a non-null VERSION component, as it
1607        arguably should have been all along.
1608
16092006-12-18 13:22  gb
1610
1611        * lib/sequences.lisp: COERCE/MAKE-SEQUENCE try to simplify vector
1612        types into concrete vector types.
1613
16142006-12-18 13:04  gb
1615
1616        * level-1/l1-pathnames.lisp: Try (halfheartedly) to maintain
1617        PATHNAME-VERSION of physical pathnames.  (Totally meaningless, but
1618        failing to do this leads to many test failures.)
1619
16202006-12-18 13:03  gb
1621
1622        * level-1/l1-numbers.lisp: Don't call out to do sqrt.
1623
16242006-12-18 12:57  gb
1625
1626        * level-1/l1-files.lisp: Try (halfheartedly) to maintain
1627        PATHNAME-VERSION of physical pathnames.  (Totally meaningless, but
1628        failing to do this leads to many test failures.)
1629
16302006-12-18 12:54  gb
1631
1632        * level-0/X86/x86-float.lisp: Do single/double-float sqrt inline.
1633
16342006-12-16 05:28  gb
1635
1636        * level-0/PPC/ppc-float.lisp: Recognize that fsqrt/fsqrts
1637        instructions have a minor opcode in frb and only have one source
1638        operand.
1639
16402006-12-16 05:27  gb
1641
1642        * level-1/ppc-error-signal.lisp: If we get an FP exception during a
1643        SQRT, note that there's only one operand and that it's in frb.
1644
16452006-12-16 05:25  gb
1646
1647        * lisp-kernel/ppc-exceptions.c: Handle (some) unimplemented
1648        instructions, notably fsqrt/fqrts, which are optional and not
1649        implemented on some PPC machines.
1650
16512006-12-16 05:24  gb
1652
1653        * lisp-kernel/ppc-asmutils.s: Add get_fpscr().
1654
16552006-12-14 19:47  gb
1656
1657        * lisp-kernel/ppc-exceptions.c: Need to handle SIGQUIT on ppc, too.
1658
16592006-12-14 16:43  gb
1660
1661        * compiler/X86/X8664/x8664-vinsns.lisp: Constraints on some
1662        double-float arithmetic vinsns should say :double-float, not
1663        :single-float.  (I suspect cut-and-paste, frankly.)
1664
16652006-12-14 16:25  gb
1666
1667        * level-1/l1-lisp-threads.lisp: *initial-lisp-thread*, not
1668        initial-thread.
1669
16702006-12-14 16:24  gb
1671
1672        * level-1/x86-trap-support.lisp: Use frame pointer when signaling
1673        error.
1674
16752006-12-14 16:14  gb
1676
1677        * library/lispequ.lisp: Add a %PHYSICAL-PATHAME-VERSION slot to
1678        physical pathnames. (Yes, this is kind of silly.)
1679
16802006-12-14 16:01  gb
1681
1682        * level-1/x86-trap-support.lisp: Recognize the kernel's attempt to
1683        signal errors for (e.g.) failed memory allocation.
1684
16852006-12-14 16:00  gb
1686
1687        * lisp-kernel/x86-exceptions.c: If a memory allocation request
1688        fails, signal a lisp error (what a concept.)
1689
16902006-12-14 15:51  gb
1691
1692        * lisp-kernel/x86-exceptions.h: Define DARWIN_USE_PSEUDO_SIGRETURN.
1693       
1694        Might be worth revisiting this.
1695
16962006-12-14 15:50  gb
1697
1698        * lisp-kernel/x86-exceptions.c: Go back to using the
1699        pseudo_sigreturn mechanism on Darwin, since doing a real sigreturn
1700        from a fake context may not be reliable.
1701       
1702        When handling an interrupt with a partially created temp stack
1703        frame, do the right thing.  (That basically means reset the frame
1704        before calling out and recreating it if we return from the
1705        callout.)
1706       
1707        Handle SIGQUIT on the altstack, to provide a way of forcibly
1708        terminating threads that's a bit more GC-safe than doing it via
1709        #_pthread_cancel.
1710       
1711        Note the tcr of the gc thread on gc entry; if an exception happens
1712        in that thread, print a message and sleep for 60 seconds.
1713       
1714        Note that there's still a race condition here: if thread A gets an
1715        exception and thread B gets the mach_exception_lock (to GC) before
1716        the exception thread can handle the message, we deadlock (thread A
1717        would be suspended in the kernel and can't respond to a suspend
1718        signal.)  We can tell that this has happened and make a good guess
1719        as to why it happened, but dealing with it will require some
1720        thought.  (If we've already issued a suspend signal and eventually
1721        raise the suspended thread's resume semaphore, it'll suspend and
1722        resume once the mach exception thread makes it runnable.  Who
1723        cleans up its exception context in that case ?  Does it matter ?)
1724
17252006-12-14 15:19  gb
1726
1727        * lisp-kernel/thread_manager.c: Ensure that newly-created threads
1728        have all signals unmasked.
1729       
1730        If a tcr is dead, ensure that its stack areas are empty.
1731       
1732        Try to run shutdown_thread_tcr as a pthread cleanup action,
1733        hopefully before Mach clobbers the thread's signal mask.
1734
17352006-12-14 15:16  gb
1736
1737        * lisp-kernel/pmcl-kernel.c: lazarus() runs with a lock on the
1738        TCR_AREA_LOCK.
1739
17402006-12-14 15:15  gb
1741
1742        * lisp-kernel/memprotect.h: Don't declare do_memo_reset(), which
1743        hasn't existed in years.
1744
17452006-12-14 15:14  gb
1746
1747        * level-1/version.lisp: Bump.
1748
17492006-12-14 15:14  gb
1750
1751        * level-1/l1-readloop.lisp: PREPARE-TO-QUIT: wait for the
1752        termination semaphore.
1753
17542006-12-14 15:13  gb
1755
1756        * level-1/l1-processes.lisp: PROCESS objects are created with a
1757        termination semaphore.
1758
17592006-12-14 15:12  gb
1760
1761        * level-1/l1-lisp-threads.lisp: THREAD-ENABLE: second arg is
1762        TERMINATION-SEMAPHORE.
1763       
1764        KILL-LISP-THREAD: don't use #_pthread_cancel, which may force the
1765        target thread to transition from running lisp code to running
1766        foreign code without advertising that fact. Send a SIGQUIT instead,
1767        and trust the SIGQUIT handler to manage that transition.  Don't try
1768        to kill the initial thread.
1769
17702006-12-09 09:52  gb
1771
1772        * level-1/l1-streams.lisp: STRING-OUTPUT-STREAMs need to override
1773        their CLEAR-OUTPUT methods.
1774       
1775        MAKE-STRING-INPUT-STREAM: handle displaced strings better (remember
1776        their displaced-index-offsets.)
1777
17782006-12-09 09:49  gb
1779
1780        * lisp-kernel/thread_manager.c: Disable underflow traps in new
1781        threads on x86-64.  (The PPC never got around to enabling them.)
1782
17832006-12-09 09:47  gb
1784
1785        * lib/macros.lisp: WITH-OUTPUT-TO-STRING: if string provided,
1786        evaluate the ELEMENT-TYPE expression (for side-effects) and ignore
1787        the result of its evaluation.
1788       
1789        Some fixes in CTYPECASE handling, which hopefully didn't break
1790        anything else.
1791
17922006-12-09 09:36  gb
1793
1794        * compiler/X86/x862.lisp: In aset2/aset3, ensure that the (final,
1795        1d) index register is set - even if the index is a constant - if we
1796        think that the store needs EGC memoization.
1797       
1798        (Note that the test case that exposed this involved storing
1799        SINGLE-FLOATs, which don't need EGC write-barrier handling on
1800        64-bit platforms.)
1801       
1802        In aref2, don't worry about reserving unscaled index registers when
1803        targeting the 1d index; the unscaled index registers aren't live
1804        after, could be NULL if the index is a constant, and any overlap
1805        between one of them and the 1d index should be handled in the
1806        vinsn(s).
1807
18082006-12-09 09:30  gb
1809
1810        * level-1/l1-typesys.lisp: Ensure that the (relatively new)
1811        built-in-classes SIMPLE-FIXNUM-VECTOR and FIXNUM-VECTOR have
1812        class-translations.
1813
18142006-12-09 09:27  gb
1815
1816        * level-1/l1-aprims.lisp: In list case of ELT: who says that value
1817        returned by NTHCDR is a LIST ? (It's not necessarily a list, so
1818        don't segfault taking its CAR without checking.)
1819
18202006-12-06 18:48  gb
1821
1822        * level-0/X86/x86-float.lisp: x86-64 version of
1823        SFLOAT-SIGNIFICAND-ZEROS: count zero bits in the shifted float, not
1824        in %imm1 (which is undefined here ...)
1825
18262006-12-06 17:05  gb
1827
1828        * compiler/nx0.lisp: DEFINE-COMPILER-MACRO: if a SETF name, use the
1829        right symbol for the named block.
1830       
1831        COMPILER-MACRO-FUNCTION, (SETF COMPILER-MACRO-FUNCTION): deal with
1832        (SETF NAME).
1833
18342006-12-05 22:44  gb
1835
1836        * release-notes.txt: Update for 061205.
1837
18382006-12-05 20:31  gb
1839
1840        * lisp-kernel/darwinppc64/Makefile: Change LDFLAGS, to keep ld64
1841        from putting a linkedit segment in the wrong place and making
1842        32-bit memory unmappable.
1843
18442006-12-05 20:30  gb
1845
1846        * level-1/version.lisp: Bump.
1847
18482006-12-05 20:29  gb
1849
1850        * lisp-kernel/pmcl-kernel.c: Use _exit(), just in case.
1851
18522006-12-05 18:53  gb
1853
1854        * level-1/l1-reader.lisp: *ALTERNATE-LINE-TERMINATOR* set to
1855        #\Return on #+darwin-target, not just #+darwinppc-target. Change
1856        doc string for *ALTERNATE-LINE-TERMINATOR*.
1857
18582006-12-04 15:13  gb
1859
1860        * level-1/version.lisp: Append a patchlevel to the version string,
1861        at least until new tarballs can be built.
1862
18632006-12-04 15:12  gb
1864
1865        * level-1/l1-streams.lisp: If stream element type upgrades to
1866        FIXNUM, upgrade it further (to largest supported SIGNED-BYTE
1867        element-type.)
1868
18692006-12-04 13:02  gb
1870
1871        * level-0/l0-bignum32.lisp: BIGNUM-BIGNUM-GCD (whatever it's
1872        called): don't bother to shift by 0 bits.  Do shift the initial U
1873        if non-zero trailing 0 BITS (was testing for non-zero trailing
1874        DIGITS.)
1875
18762006-12-04 12:52  gb
1877
1878        * level-1/l1-streams.lisp: Choke earlier on unsupported stream
1879        element-types; do some upgrading to support some more element types
1880        (BIT -> (UNSIGNED-BYTE 8)).
1881       
1882        Maybe support arbitrarily large integer types someday soon.  Maybe
1883        not.
1884
18852006-12-04 12:48  gb
1886
1887        * level-1/l1-clos-boot.lisp: Make built-in classes for istruct
1888        types (compiler stuff, mostly).
1889
18902006-12-04 12:46  gb
1891
1892        * level-0/X86/X8664/x8664-bignum.lisp: Ensure that %ASHL handles
1893        shift count of 32 (and returns 0 in that case.)
1894
18952006-12-04 12:46  gb
1896
1897        * level-0/l0-bignum64.lisp: In BIGNUM-SHIFT-RIGHT-LOOP-1, use
1898        %ASHL, not %ILSL.  (Don't want nonsense in the high 32 bits, just
1899        in case.)
1900
19012006-12-04 12:43  gb
1902
1903        * level-0/l0-numbers.lisp: Bugs in GCD-2.  Long-standing bugs in
1904        GCD-2 ...
1905
19062006-12-04 09:26  gb
1907
1908        * level-1/l1-streams.lisp: STREAM-CLEAR-INPUT: don't inherit method
1909        for STRING-INPUT-STREAMs.
1910
19112006-12-04 09:24  gb
1912
1913        * level-0/l0-bignum64.lisp: BIGNUM-SHIFT-RIGHT-1: handle shift by 0
1914        bits.  BIGNUM-BIGNUM-GCD (whatever it's called): don't bother to
1915        shift by 0 bits.
1916
19172006-12-04 09:21  gb
1918
1919        * level-1/ppc-trap-support.lisp: Reset error-reentry count before
1920        doing %SLOT-UNBOUND-TRAP.
1921
19222006-12-04 09:21  gb
1923
1924        * level-1/l1-streams.lisp: Default STREAM-POSITION method for
1925        STREAMs, returns NIL.  STREAM-POSITION method for
1926        STRING-INPUT-STREAMs.
1927
19282006-12-04 09:19  gb
1929
1930        * level-1/l1-pathnames.lisp: Derive ccl-directory from pathname
1931        containing heap image.
1932
19332006-12-03 07:41  gb
1934
1935        * level-1/l1-streams.lisp: FORCE-OUTPUT, FINISH-OUTPUT on
1936        STRING-OUTPUT-STREAMs are no-ops.
1937       
1938        Need an ioblock-based character-read-vector function for
1939        string-input-streams.
1940
19412006-12-03 07:37  gb
1942
1943        * lib/describe.lisp: Minimal DESCRIBE support for
1944        CCL::BASIC-STREAM.
1945
19462006-12-03 07:36  gb
1947
1948        * lib/macros.lisp: If :element-type is supplied in
1949        WITH-OUTPUT-TO-STRING, don't quote it.
1950
19512006-12-03 05:11  gb
1952
1953        * level-1/x86-trap-support.lisp: Define RIP-REGISTER-OFFSET, which
1954        isn't necessarily 16.
1955
19562006-12-03 05:10  gb
1957
1958        * level-1/x86-error-signal.lisp: Use RIP-REGISTER-OFFSET, which
1959        isn't necessarily 16.
1960       
1961        Use WITH-ERROR-REENTRY-DETECTION n %xerr-disp; dtrt for
1962        %slot-unbound-trap.
1963
19642006-12-03 05:09  gb
1965
1966        * level-1/l1-streams.lisp: Tweak stream hierarchy a little, to
1967        avoid some NO-NEXT-METHODs.
1968
19692006-12-03 02:42  gb
1970
1971        * compiler/nx1.lisp: Handle VALUES type specifiers in THE forms a
1972        bit better.
1973
19742006-12-03 02:41  gb
1975
1976        * compiler/nx0.lisp: Handle VALUES type specifiers in THE forms a
1977        bit.
1978
19792006-12-03 02:28  gb
1980
1981        * lisp-kernel/x86-spentry64.s: Do vector bounds checking by
1982        clearing the low byte of the header, shifting it right, and
1983        comparing the index to that.  (It's not reliable to shift the index
1984        left.)
1985
19862006-12-03 02:26  gb
1987
1988        * level-1/l1-unicode.lisp: Memory/vector encode functions: don't
1989        write BOM, leave that up to higher-level code.
1990       
1991        Start to write some higher-level code.
1992
19932006-12-03 02:23  gb
1994
1995        * level-1/l1-sysio.lisp: Fix some indentation.
1996
19972006-12-03 02:21  gb
1998
1999        * compiler/X86/X8664/x8664-vinsns.lisp: CHECK-MISC-BOUNDS: shift
2000        the header word right (after clearing its low byte) and compare the
2001        index to that.  (Shifting the index left - d'oh - obviously fails
2002        for indices of large magnitude.)
2003
20042006-11-29 21:07  gb
2005
2006        * lib/db-io.lisp: Indentation change.
2007       
2008        Add CDB-ENUMERATE-KEYS.
2009
20102006-11-29 18:37  gb
2011
2012        * lib/level-2.lisp: %DESTRUCTURE-LAMBDA-LIST: other callers of
2013        VERIFY-LAMBDA-LIST (hopefully) check to see if the alleged list is
2014        LISTP first.  (I hope ...).  Do so.
2015
20162006-11-28 18:42  gb
2017
2018        * lisp-kernel/x86-spentry64.s: Wrong register typo in .SPaset2.
2019
20202006-11-28 16:14  gb
2021
2022        * examples/cocoa-window.lisp: DEFAULT-FONT: retain the font.
2023
20242006-11-28 16:12  gb
2025
2026        * examples/objc-runtime.lisp: Wrap a (primitive)
2027        WITH-AUTORELEASE-POOL around the code which detaches the dummy
2028        NSThread.
2029
20302006-11-28 16:09  gb
2031
2032        * examples/cocoa-listener.lisp: Don't claim that a callback
2033        parameter is ignored; use IGNORABLE instead.
2034
20352006-11-21 01:28  gb
2036
2037        * level-1/l1-sockets.lisp: Typo in PATH-FROM-UNIX-ADDRESS
2038        conditionalization.
2039
20402006-11-21 00:55  gb
2041
2042        * level-1/l1-sockets.lisp: INIT-UNIX-SOCKADDR: don't use
2043        %COPY-IVECTOR-TO-PTR to copy string to foreign memory.
2044       
2045        Basic file-socket streams.
2046
20472006-11-10 05:08  gb
2048
2049        * release-notes.txt: Update.
2050
20512006-11-10 04:28  gb
2052
2053        * lisp-kernel/image.h: Bump min image version.
2054
20552006-11-10 04:19  gb
2056
2057        * xdump/heap-image.lisp: bump current image version.
2058
20592006-11-10 04:19  gb
2060
2061        * lisp-kernel/image.h: bump current, max image version.
2062
20632006-11-10 04:10  gb
2064
2065        * xdump/faslenv.lisp: Bump min fasl version.
2066
20672006-11-10 03:56  gb
2068
2069        * lib/nfcomp.lisp: bump current fasl version.
2070
20712006-11-10 03:47  gb
2072
2073        * lisp-kernel/x86-exceptions.c: save_application: use #__exit, not
2074        #_exit
2075
20762006-11-10 03:46  gb
2077
2078        * compiler/X86/x862.lisp: TYPE typo.
2079
20802006-11-10 03:32  gb
2081
2082        * xdump/faslenv.lisp: Bump max fasl version.
2083
20842006-11-10 03:25  gb
2085
2086        * level-1/version.lisp: Bump.  New snapshots today!
2087
20882006-11-09 16:26  gb
2089
2090        * level-1/l1-readloop.lisp: QUIT uses #__quit.
2091       
2092        PREPARE-TO-QUIT kill stragglers without waiting as long.
2093
20942006-11-09 15:50  gb
2095
2096        * lisp-kernel/pmcl-kernel.c: Use #_ _exit for fatal termination.
2097       
2098        Try to run lisp code after #_exit via lazarus(); this is for some
2099        cases of SAVE-APPLICATION (e.g., in the Cocoa GUI).
2100       
2101        The environment in which The Undead code runs is a little funky,
2102        especially on PPC.  There might be GC implications (cstack will
2103        contain call history as of the point when #_exit called atexit
2104        handlers, vstack & tstack are emptied in lazarus()).  We should
2105        barely run any code in this environment, but we will GC a time or
2106        two ...
2107
21082006-11-09 15:45  gb
2109
2110        * lisp-kernel/ppc-exceptions.c: Use _exit afer save-application.
2111
21122006-11-09 15:43  gb
2113
2114        * examples/: cocoa-window.lisp, cocoa.lisp: Change the quit
2115        protocol.
2116
21172006-11-09 15:42  gb
2118
2119        * examples/cocoa-listener.lisp: :set-document-edited for listener
2120        "documents" is a no-op.
2121
21222006-11-09 15:39  gb
2123
2124        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
2125        PPC64/ppc64-vinsns.lisp: 3d-array accessor stuff for PPC as well.
2126
21272006-11-09 12:50  gb
2128
2129        * compiler/X86/x862.lisp: Always check that array-ctype's
2130        dimensions are a list before taking their length.
2131
21322006-11-09 12:13  gb
2133
2134        * compiler/X86/X8664/x8664-vinsns.lisp: 3d-unscaled-index does the
2135        right thing ...
2136
21372006-11-09 10:08  gb
2138
2139        * compiler/: nx1.lisp, X86/x862.lisp, X86/X8664/x8664-vinsns.lisp:
2140        Three-arg aref/(setf aref) for x8664.
2141
21422006-11-09 05:37  gb
2143
2144        * compiler/nx0.lisp: Map array-type keywords to 3d-array type
2145        errors.
2146
21472006-11-09 05:37  gb
2148
2149        * compiler/nxenv.lisp: Operators for 3d array access.
2150
21512006-11-09 05:36  gb
2152
2153        * compiler/arch.lisp, level-1/l1-error-system.lisp,
2154        lisp-kernel/errors.s, lisp-kernel/lisp-errors.h: Type-errors for 3d
2155        array types.
2156
21572006-11-08 12:50  gb
2158
2159        * level-1/x86-trap-support.lisp: In darwin Fake Structures For
2160        Leopard nonsense: define the stack context struct separately, make
2161        the ucontext stack field an instance of it.  (Not -sure- if that
2162        was necessary, but :poweropen-target was accidentally on *FEATURES*
2163        and foreign struct layout was using read-time condtionalization to
2164        decide whether or not to use brain-dead structure-alignment rules
2165        leftover from AIX/PowerOpen.
2166
21672006-11-08 12:46  gb
2168
2169        * lisp-kernel/x86-spentry64.s: Fix comment ("/*", not "/%" ...).
2170
21712006-11-08 12:40  gb
2172
2173        * compiler/optimizers.lisp: Try to infer/insert the array type when
2174        compiler-macroexpanding MAKE-ARRAY calls.
2175
21762006-11-08 12:39  gb
2177
2178        * compiler/PPC/PPC32/ppc32-backend.lisp: DarwinPPC32 FTD follows
2179        :poweropen-alignment rules.
2180
21812006-11-08 12:38  gb
2182
2183        * lib/foreign-types.lisp: parse-foreign-record-fields: conformance
2184        to poweropen structure layout rules should be an attribute of the
2185        FTD, not done via read-time conditionalization.
2186
21872006-11-08 05:15  gb
2188
2189        * level-1/version.lisp: Bump.
2190
21912006-11-08 05:15  gb
2192
2193        * level-1/l1-streams.lisp: Some bivalent/binary fixes.
2194       
2195        TODO: get rid of "bivalent" streams, but allow switching some
2196        streams (sockets) between "character mode" and "binary mode".
2197
21982006-11-08 02:39  gb
2199
2200        * compiler/PPC/ppc2.lisp: Typo in misc-ref-u64 vinsn emit.
2201
22022006-11-07 21:10  gb
2203
2204        * compiler/optimizers.lisp: Transform three-argument AREF->%AREF3,
2205        ASET->%ASET3.
2206
22072006-11-07 20:40  gb
2208
2209        * compiler/X86/x862.lisp: Implement %aset2 in the x8664 backend.
2210
22112006-11-07 20:39  gb
2212
2213        * level-0/X86/x86-array.lisp: %aref3, %aset3.
2214
22152006-11-07 20:38  gb
2216
2217        * level-0/l0-array.lisp: Use %aref2,%aref3.
2218
22192006-11-07 20:37  gb
2220
2221        * compiler/X86/X8664/x8664-vinsns.lisp: More (often redundant)
2222        vector-store vinsns.
2223
22242006-11-07 20:37  gb
2225
2226        * compiler/X86/X8664/x8664-arch.lisp: .SParef3, .SPaset3.
2227
22282006-11-07 10:28  gb
2229
2230        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s: .SParef3,
2231        .SPaset3.
2232
22332006-11-07 10:27  gb
2234
2235        * level-0/PPC/ppc-array.lisp: %ref3, %aset3.
2236
22372006-11-07 10:26  gb
2238
2239        * lisp-kernel/ppc-spentry.s, lisp-kernel/ppc-spjump.s,
2240        compiler/PPC/ppc-arch.lisp: .SPref3, .SPaset3.
2241
22422006-11-07 10:26  gb
2243
2244        * lisp-kernel/ppc-macros.s: Define mullr, which expands into one of
2245        mullw/mulld.
2246
22472006-11-07 04:12  gb
2248
2249        * compiler/PPC/ppc2.lisp: :signed-64-bit-vector is signed ...
2250
22512006-11-06 22:07  gb
2252
2253        * compiler/nx0.lisp: nx-error-for-simple-2d-array-type: forgot the
2254        :fixnum-vector case.
2255
22562006-11-06 22:04  gb
2257
2258        * compiler/PPC/ppc2.lisp: Handle vector assignment differently;
2259        handle (setf (aref ...)) of simple 2d-arrays inline if the type is
2260        known/declared.
2261
22622006-11-06 22:02  gb
2263
2264        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
2265        Add vinsns for misc-set-s* and variants. (Identical to the unsigned
2266        versions, but it helps not to have to remember which are
2267        implemented and which aren't.)
2268
22692006-11-06 22:01  gb
2270
2271        * compiler/nxenv.lisp: general-aset2, simple-typed-aset2.
2272
22732006-11-06 22:00  gb
2274
2275        * compiler/nx1.lisp: New %ASET2 handling.
2276
22772006-11-06 21:59  gb
2278
2279        * compiler/nx0.lisp: ACODE-FORM-TYPE: use var-inittype if var is
2280        never assigned to.
2281
22822006-11-05 22:09  gb
2283
2284        * level-1/x86-trap-support.lisp: Try to work around
2285        incompatibilites in Tiger/Leopard headers.
2286
22872006-11-05 22:08  gb
2288
2289        * level-1/l1-sockets.lisp: LOOKUP-PORT: use the macro HTONS, since
2290        the foreign function may not exist.
2291
22922006-11-05 20:41  gb
2293
2294        * compiler/X86/x862.lisp: 2d array error lookup -> nx.
2295
22962006-11-05 07:55  gb
2297
2298        * level-0/X86/x86-misc.lisp: %VALID-REMAINING-TIMESPEC-TIME-P for
2299        x86-64, as well.
2300
23012006-11-05 07:52  gb
2302
2303        * level-0/X86/x86-array.lisp: %AREF2, %ASET2 in x8664 lap.
2304
23052006-11-05 07:50  gb
2306
2307        * lisp-kernel/x86-spentry64.s: pre-add displacement in .SParef2,
2308        .SPaset2.
2309
23102006-11-05 07:48  gb
2311
2312        * lisp-kernel/ppc-spentry.s: .SParef2, .SPaset2: since we aren't
2313        testing simple-array-ness, add the (possibly 0) displacement from
2314        the header before handling the simple aref of the data vector.
2315
23162006-11-05 07:47  gb
2317
2318        * lib/foreign-types.lisp: PRINT-OBJECT method for EEPS: handle
2319        pointers on PPC(64), print 64-bit addresses on 64-bit platforms.
2320
23212006-11-05 07:46  gb
2322
2323        * level-1/version.lisp: Bump; new binaries soon.
2324
23252006-11-05 07:46  gb
2326
2327        * level-1/l1-lisp-threads.lisp: %NANOSLEEP calls
2328        %VALID-REMAINING-TIMESPEC-TIME-P, which is better than sleeping for
2329        4G seconds after an EINTR on Leopard.
2330
23312006-11-05 07:44  gb
2332
2333        * level-0/PPC/PPC64/ppc64-bignum.lisp: MACPTR->FIXNUM returns NIL
2334        if any non-fixnum bits would be set in the result.  (Should
2335        probably make this true on all platforms; for PPC64, it's important
2336        for foreign function addresses that're ... suboptimally aligned.)
2337
23382006-11-05 07:42  gb
2339
2340        * level-0/PPC/ppc-misc.lisp: Try to detect the case where
2341        %NANOSLEEP's second (by reference) argument contains garbage after
2342        an EINTR.  (The L word, again.)
2343
23442006-11-05 07:41  gb
2345
2346        * level-0/PPC/ppc-array.lisp: %AREF2, %ASET2: in LAP, just call
2347        into the kernel.
2348
23492006-11-05 07:40  gb
2350
2351        * level-0/l0-cfm-support.lisp: Some platforms (the L-word) generate
2352        ppc64 functions whose addresses are not 0 mod 8, so (a) make
2353        MACPTR->FIXNUM return NIL if an address isn't representable as a
2354        fixnum and (b) make FOREIGN-SYMBOL-ENTRY return an address if it
2355        can't return a fixnum on PPC (really just affects PPC64.)
2356
23572006-11-05 07:37  gb
2358
2359        * level-0/l0-array.lisp: %aref2, %aset2: call into kernel.
2360
23612006-11-05 07:36  gb
2362
2363        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
2364        2d aref support/changes.
2365
23662006-11-05 07:36  gb
2367
2368        * compiler/PPC/ppc2.lisp: Get the PPC2 backend caught up with the
2369        x8664 wrt 2d aref.  Stll a ways to go.
2370
23712006-11-05 07:35  gb
2372
2373        * compiler/nx0.lisp: NX-ERROR-FOR-SIMPLE-2D-ARRAY-TYPE.
2374
23752006-11-04 00:05  gb
2376
2377        * level-1/version.lisp: Bump.
2378
23792006-11-03 23:10  gb
2380
2381        * level-1/ppc-error-signal.lisp: fix parens.
2382
23832006-11-03 23:09  gb
2384
2385        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: arch
2386        gvector types contains :struct, not :structure.
2387
23882006-11-03 23:08  gb
2389
2390        * compiler/PPC/ppc2.lisp: aref2: new operator name(s), always call
2391        subprim.
2392       
2393        ppc2-fixed-call-builtin: (tail-)call subprims even if they aren't
2394        in the builtin functions table.
2395
23962006-11-03 15:19  gb
2397
2398        * compiler/PPC/ppc-arch.lisp: New .SParef2, .SPaset2 subprims.
2399
24002006-11-03 15:18  gb
2401
2402        * compiler/PPC/ppc-asm.lisp: Comments/indentation.
2403
24042006-11-03 15:17  gb
2405
2406        * level-1/ppc-error-signal.lisp: Change decoding/handlng of
2407        type-error UUOs.
2408
24092006-11-03 15:16  gb
2410
2411        * lisp-kernel/: ppc-spentry.s, ppc-spjump.s: .SParef2, .SPaset2.
2412
24132006-11-03 15:16  gb
2414
2415        * lisp-kernel/: ppc-constants32.s, ppc-constants64.s: Define arrayH
2416        (array-header) layout.
2417
24182006-11-03 13:46  gb
2419
2420        * level-1/l1-clos-boot.lisp: CANONICALIZE-SPECIALIZERS optionally
2421        returns its argument if all members are SPECIALIZERS.
2422       
2423        Use CANONICALIZE-SPECIALIZERS to canonicalize FIND-METHOD
2424        arguments, for the benefit of people who haven't read the MOP spec
2425        or who don't realize that the MOP defines some things differently
2426        from CLHS.
2427
24282006-11-03 13:38  gb
2429
2430        * compiler/X86/x862.lisp: Consistently use :struct (not :structure)
2431        to refer to primitive structure type.
2432       
2433        Fix array-ctype-dimensions check in %aref1, add it to %aset1.
2434
24352006-11-03 13:37  gb
2436
2437        * compiler/X86/X8664/x8664-arch.lisp: Ensure that :STRUCT (not
2438        :STRUCTURE) is on target-gvector-types.
2439
24402006-11-03 12:53  gb
2441
2442        * lisp-kernel/x86-uuo.s: uuo_error_array_bounds, such as it is.
2443
24442006-11-03 12:52  gb
2445
2446        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s: SParef2, .SPaset2.
2447         More to come ...
2448
24492006-11-03 12:52  gb
2450
2451        * lisp-kernel/x86-constants64.s: Define array-header layout.
2452
24532006-11-03 12:51  gb
2454
2455        * lisp-kernel/: errors.s, lisp-errors.h: New type-error uuo
2456        encodings, new type-error constants.
2457
24582006-11-03 12:50  gb
2459
2460        * level-1/x86-error-signal.lisp: New range/encoding of type-error
2461        traps.
2462
24632006-11-03 12:49  gb
2464
2465        * level-1/l1-utils.lisp: (temporary) mechanism to avoid
2466        constant-redefinition CERRORs.
2467
24682006-11-03 12:48  gb
2469
2470        * level-1/l1-error-system.lisp: New %type-error-typespecs%.
2471
24722006-11-03 12:47  gb
2473
2474        * level-0/l0-pred.lisp: array--header -> array-header.
2475
24762006-11-03 12:47  gb
2477
2478        * compiler/X86/X8664/x8664-vinsns.lisp: Fix misc-set-c-u64 braino;
2479        add/change some 2d array stuff.
2480
24812006-11-03 12:43  gb
2482
2483        * compiler/X86/X8664/x8664-arch.lisp: Define .SParef2/.SPaset2
2484        subprims; seem to be much (>5x) faster than the lisp/lap versions
2485        (though we can generally be faster still when we know the
2486        element-type and/or know whether the array is simple or explicitly
2487        displaced.)
2488
24892006-11-03 12:41  gb
2490
2491        * compiler/X86/x862.lisp: Change handling of 2d-aref; lots of
2492        related changes.
2493       
2494        Split the code which handles bounds/type-checking in vref out from
2495        the code which actually does the reference, so that the latter can
2496        be used in multidimensional cases.
2497       
2498        Need to do this on PPC as well; need to do more (%aset2, 3d cases,
2499        general case.)
2500
25012006-11-03 12:38  gb
2502
2503        * compiler/nx1.lisp: Change handling of 2d-aref.
2504
25052006-11-03 12:37  gb
2506
2507        * compiler/nxenv.lisp: aref2 -> simple-typed-aref2, add
2508        general-aref2.  More changes to come (and this may affect
2509        compilation on PPC until some PPC compiler changes are
2510        made/checked-in.)
2511
25122006-11-03 12:35  gb
2513
2514        * compiler/arch.lisp: type-errors (as encoded in UUOs) are now in
2515        the range 128-255, rather than 64-127; more are defined.
2516
25172006-11-02 09:43  gb
2518
2519        * level-1/l1-error-system.lisp: Move along, nothing to see here.
2520
25212006-11-02 09:37  gb
2522
2523        * compiler/arch.lisp: New error constants; work in progress ...
2524
25252006-11-01 11:40  gb
2526
2527        * lisp-kernel/errors.s: Some new constants; more to check in later.
2528
25292006-10-31 03:39  gb
2530
2531        * level-0/l0-io.lisp: You must be reading the OLD rule book
2532        (Leopard and #$EINTR).
2533
25342006-10-31 03:21  gb
2535
2536        * lisp-kernel/ppc-exceptions.c: handle_protection_violation: pass
2537        the tcr.  Initialize "addr" before testing it ...
2538
25392006-10-31 03:21  gb
2540
2541        * lisp-kernel/lisp-exceptions.h: handle_protection_violation: pass
2542        the tcr.
2543
25442006-10-30 20:40  gb
2545
2546        * lib/defstruct.lisp: DEFSTRUCT-REF-TRANSFORM for typed vector
2547        expands into something more useful.
2548
25492006-10-30 20:39  gb
2550
2551        * lisp-kernel/ppc-spentry.s: Fix ppc32
2552        misc_ref_double_float_vector.
2553
25542006-10-30 00:24  gb
2555
2556        * level-0/l0-bignum64.lisp: Enable the destructive version of
2557        %BIGNUM-BIGNUM-GCD; conditionalize it for 64-bit targets and
2558        provide/fix supporting functions.  Seems to work on ppc64; needs
2559        testing on x8664.
2560
25612006-10-27 17:49  gb
2562
2563        * darwin-x86-headers64/libc/C/: .cvsignore, populate.sh: New file.
2564
25652006-10-25 20:36  gb
2566
2567        * level-1/l1-streams.lisp: %BIVALENT-IOBLOCK-READ-U8-BYTE (and
2568        variants): always clear the untyi-char.
2569       
2570        %ENCODED-IOBLOCK-PEEK-CHAR: the read-char-when-locked function
2571        needs an argument.
2572       
2573        SETUP-IOBLOCK-OUTPUT: there are no special output functions for
2574        bivalent streams.
2575       
2576        %IOBLOCK-BINARY-READ-VECTOR: clear any untyi char.
2577
25782006-10-24 12:35  gb
2579
2580        * level-1/version.lisp: Bump.
2581
25822006-10-24 01:29  gb
2583
2584        * lisp-kernel/x86-spentry64.s: Fix :ALLOW-OTHER-KEYS check in
2585        _SPdestbind1 (still used in inlining, sometimes.)
2586
25872006-10-24 01:05  gb
2588
2589        * release-notes.txt: Change the date, add/change some content.
2590
25912006-10-24 01:05  gb
2592
2593        * lib/macros.lisp: Reference the (bound) STREAM-VAR argument - not
2594        STREAM - in the expansion of WITH-OUTPUT-TO-STRING.
2595
25962006-10-24 00:56  gb
2597
2598        * lib/ccl-export-syms.lisp: Reference the (bound) STREAM-VAR
2599        argument - not STREAM - in the expansion of WITH-OUTPUT-TO-STRING.
2600
26012006-10-24 00:55  gb
2602
2603        * level-1/l1-streams.lisp: When recycling
2604        string-output-stream-ioblocks, set the IOBLOCK-CHARPOS to 0.
2605        (Failure to do this can screw up the pretty-printer, among other
2606        things.)
2607
26082006-10-24 00:52  gb
2609
2610        * level-1/l1-sockets.lisp: DEFAULT-CHARACTER-ENCODING for :SOCKET,
2611        *DEFAULT-SOCKET-CHARACTER-ENCODING*.
2612
26132006-10-23 17:03  gb
2614
2615        * release-notes.txt: Updated; almost ready to go (still a
2616        WITH-OUTPUT-TO-STRING/PPRINT (?) bug).
2617
26182006-10-23 16:43  gb
2619
2620        * level-1/l1-sysio.lisp: NORMALIZE-EXTERNAL-FORMAT: use
2621        *DEFAULT-EXTERNAL-FORMAT* value for :DEFAULT.
2622
26232006-10-23 16:42  gb
2624
2625        * level-1/l1-streams.lisp: Use NORMALIZE-EXTERNAL-FORMAT in (SETF
2626        STREAM-EXTERNAL-FORMAT) methods.
2627
26282006-10-23 16:41  gb
2629
2630        * lib/ccl-export-syms.lisp: Export some unicode/external-format
2631        stuff.
2632
26332006-10-23 08:27  gb
2634
2635        * level-1/version.lisp: Bump; binaries today, honest.
2636
26372006-10-23 08:27  gb
2638
2639        * level-1/l1-streams.lisp: freelist string-output-stream-ioblocks.
2640
26412006-10-23 08:26  gb
2642
2643        * lib/macros.lisp: Some/most/all of the WITH-IOBLOCK-OUTPUT-LOCKED
2644        macros were checking for the presence of an input lock ...
2645
26462006-10-23 05:40  gb
2647
2648        * level-1/l1-streams.lisp: Optimize write-string on string streams
2649        a little.
2650
26512006-10-23 05:26  gb
2652
2653        * lib/macros.lisp: WITH-OUTPUT-TO-STRING: don't expand into code
2654        which evaluates the string form twice; don't do whatever was being
2655        done to default the element type of the string stream.
2656
26572006-10-23 05:24  gb
2658
2659        * compiler/optimizers.lisp: MAKE-STRING-OUTPUT-STREAM: skip some
2660        keyword/subtype checking if element-type not provided.  (Could also
2661        skip it if it's explicit and obviously OK.)
2662
26632006-10-23 05:22  gb
2664
2665        * level-0/X86/x86-misc.lisp: %HEAP-BYTES-ALLOCATED: don't add
2666        "current" allocation if nothing's reserved.
2667
26682006-10-23 05:19  gb
2669
2670        * lisp-kernel/x86-exceptions.c: In handle_alloc_trap(), fix call to
2671        update_bytes_allocated (sign of "disp").
2672
26732006-10-22 08:02  gb
2674
2675        * compiler/PPC/ppc2.lisp: MULTIPLE-VALUE-PROG1: treat the first
2676        form like a PROGN if there are no other forms.
2677
26782006-10-22 08:01  gb
2679
2680        * level-1/l1-streams.lisp: Don't disable interrupts when calling
2681        ioblock functions.
2682       
2683        New string-stream implementation.  Better ...
2684
26852006-10-22 07:59  gb
2686
2687        * lib/macros.lisp: If WITH-OUTPUT-TO-STRING gets the string, do so
2688        before the stream closes.
2689
26902006-10-22 07:59  gb
2691
2692        * lib/pprint.lisp: Don't assume that string output stream strings
2693        have a fill-pointer; use STREAM-POSITION instead.
2694
26952006-10-22 07:57  gb
2696
2697        * lib/streams.lisp: Don't disable interrupts when calling ioblock
2698        functions, after all.
2699       
2700        Go through (new) ioblock-unread-char-function.
2701
27022006-10-22 07:55  gb
2703
2704        * lisp-kernel/darwinppc/.gdbinit: Stop trying to print strings via
2705        x/s
2706
27072006-10-21 18:46  gb
2708
2709        * level-1/l1-streams.lisp: Typo.
2710
27112006-10-21 18:41  gb
2712
2713        * lisp-kernel/x86-exceptions.c: Initialize (zero, usually) more
2714        fields in pseudo sigcontexts.
2715
27162006-10-21 18:40  gb
2717
2718        * level-1/l1-streams.lisp: Mostly locking changes (don't lock
2719        twice, etc.)
2720
27212006-10-21 18:35  gb
2722
2723        * level-0/l0-array.lisp, level-0/l0-init.lisp,
2724        level-0/l0-pred.lisp, level-0/l0-utils.lisp,
2725        level-0/PPC/ppc-array.lisp, level-0/PPC/ppc-symbol.lisp,
2726        level-0/X86/x86-symbol.lisp, level-1/l1-aprims.lisp,
2727        lib/sequences.lisp: Remove vestival #+target-8-bit-chars stuff.
2728
27292006-10-21 16:45  gb
2730
2731        * level-1/l1-unicode.lisp: New! Improved! Now with more iso-8859
2732        encodings!
2733
27342006-10-19 13:48  gb
2735
2736        * level-0/PPC/ppc-misc.lisp: Reference the source argument - not
2737        arg_z - in %safe-get-ptr.
2738
27392006-10-19 13:22  gb
2740
2741        * level-0/l0-aprims.lisp: %CSTR-POINTER: make #\Nul termination
2742        optional, use #\Sub char-code as replaement char.
2743
27442006-10-19 13:21  gb
2745
2746        * examples/objc-runtime.lisp: Missing close paren.
2747
27482006-10-19 13:19  gb
2749
2750        * examples/: cocoa-editor.lisp, cocoa-listener.lisp: Careful BLTing
2751        strings to/from foreign memory.
2752
27532006-10-19 13:18  gb
2754
2755        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Typos in UNBOX-S8.
2756
27572006-10-18 08:04  gb
2758
2759        * level-1/version.lisp: Bump.  Binaries later today ?
2760
27612006-10-18 07:38  gb
2762
2763        * level-1/l1-clos-boot.lisp: The post-bootstrapping version of
2764        (SETF FIND-CLASS) only introduces (or removes) a type name if the
2765        class becomes (or ceases to be) a properly named class.
2766       
2767        The pre-bootstrapping version handles simpler cases of that; use
2768        ALIAS-CLASS to register some early class names as type names.
2769
27702006-10-18 07:36  gb
2771
2772        * level-1/l1-clos.lisp: (SETF CLASS-NAME) can affect the type
2773        system, since only symbols which name properly-named classes are
2774        type specifiers.  Changing the name of a class can either introduce
2775        or remove a properly-named class.
2776       
2777        Classes that have the kernel-p attribute shouldn't have their names
2778        changed casually.
2779
27802006-10-18 07:33  gb
2781
2782        * level-1/l1-sockets.lisp: Accept an :EXTERNAL-FORMAT argument to
2783        MAKE-SOCKET, pass it down to whatever function actually creates a
2784        stream socket.
2785
27862006-10-18 02:12  gb
2787
2788        * compiler/X86/x862.lisp: Allow closed-over addresses in
2789        conditional-form, NOT.
2790
27912006-10-18 01:43  gb
2792
2793        * lisp-kernel/x86-exceptions.c: handle_fault() checks for
2794        safe_ref_addres.
2795
27962006-10-18 01:43  gb
2797
2798        * level-0/X86/x86-misc.lisp: %safe-get-ptr for x8664.
2799
28002006-10-18 01:41  gb
2801
2802        * compiler/X86/X8664/x8664-vinsns.lisp: Compare stack
2803        addresses/vcells to nil.
2804
28052006-10-18 01:41  gb
2806
2807        * compiler/X86/x862.lisp: Stuff for comparing memory (stack)
2808        addresses to NIL.
2809       
2810        Mark arg_z and rcx/nargs as being in use when restoring interrupt
2811        level inline.
2812
28132006-10-18 01:39  gb
2814
2815        * compiler/X86/x86-disassemble.lisp: We've had UUO-ERROR-UNBOUND
2816        for a few months now.  The disassembler is always the last to know.
2817
28182006-10-17 19:15  gb
2819
2820        * compiler/PPC/PPC32/ppc32-arch.lisp,
2821        compiler/PPC/PPC64/ppc64-arch.lisp,
2822        compiler/X86/X8664/x8664-arch.lisp, examples/objc-runtime.lisp,
2823        level-0/l0-misc.lisp, level-0/PPC/ppc-misc.lisp,
2824        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
2825        lisp-kernel/ppc-constants64.h, lisp-kernel/ppc-constants64.s,
2826        lisp-kernel/ppc-exceptions.c, lisp-kernel/x86-constants64.h,
2827        lisp-kernel/x86-constants64.s: add safe-ref-address to tcr.
2828       
2829        Handle memory faults to safe-ref-addres on PPC (so far).
2830       
2831        Try using SAFE-GET-PTR in objc runtime (untested).
2832
28332006-10-17 17:34  gb
2834
2835        * compiler/PPC/ppc2.lisp: ppc backend %aref1/%aset1: notice array
2836        type in acode.
2837
28382006-10-17 14:02  gb
2839
2840        * level-1/l1-unicode.lisp: BOM-ENCODING.
2841
28422006-10-17 14:02  gb
2843
2844        * level-1/l1-sysio.lisp: FILE-STRING-LENGTH actually does
2845        something.
2846       
2847        Clear the pending-bom flag when seeking.
2848
28492006-10-17 14:01  gb
2850
2851        * level-1/l1-streams.lisp: (SETF STREAM-EXTERNAL-FORMAT) for
2852        ioblock-based character streams.
2853
28542006-10-17 13:45  gb
2855
2856        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: bind/unbind
2857        *interrupt-level* inline.
2858
28592006-10-17 13:44  gb
2860
2861        * compiler/X86/x86-disassemble.lisp: Act like ud2a takes a one-byte
2862        immmediate operand (xuuo).
2863
28642006-10-17 13:39  gb
2865
2866        * level-1/l1-streams.lisp, lib/streams.lisp: Disable interrupts
2867        when necessary.
2868
28692006-10-17 13:39  gb
2870
2871        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
2872        PPC64/ppc64-vinsns.lisp: bind/unbind *interrupt-level* inline.
2873
28742006-10-15 17:51  gb
2875
2876        * level-1/l1-streams.lisp: Handle 32-bit character encodings.
2877       
2878        Start to extend STREAM-EXTERNAL-FORMAT, start to make it SETFable.
2879
28802006-10-15 17:51  gb
2881
2882        * level-1/l1-unicode.lisp: utf-32/ucs-4 and variants.
2883
28842006-10-15 17:50  gb
2885
2886        * level-1/l1-sysio.lisp: EXTERNAL-FORMATs are immutable, interned.
2887
28882006-10-14 07:41  gb
2889
2890        * compiler/PPC/ppc2.lisp: Fix use of ^,<- vinsn macros inside
2891        ENSURING-NODE-TARGET.
2892       
2893        Inline the fixnum case of two-arg numeric comparisons.
2894
28952006-10-14 07:39  gb
2896
2897        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
2898        INLINE-SUB2 support.
2899
29002006-10-14 06:30  gb
2901
2902        * lib/defstruct.lisp: Don't (DECLARE (OPTIMIZE (SAFETY 3))) in
2903        generated DEFSTRUCT accessors.
2904
29052006-10-14 06:27  gb
2906
2907        * compiler/X86/x862.lisp: Fix many cases of ENSURING-NODE-TARGET.
2908       
2909        Do the fixnum case of two-argument subtraction inline.
2910       
2911        Inline the fixnum case of two-argument numeric comparisons.
2912       
2913        STRUCT-REF avoids typechecking when reckless.
2914
29152006-10-14 06:21  gb
2916
2917        * compiler/backend.lisp: It makes no sense to use the vinsn macros
2918        <- and ^ inside ENSURING-NODE-TARGET, so make it check for that.
2919
29202006-10-14 06:20  gb
2921
2922        * compiler/X86/X8664/x8664-vinsns.lisp: Do vector bounds-checking a
2923        little differently.
2924       
2925        Add xchg-registers.
2926
29272006-10-13 04:54  gb
2928
2929        * compiler/nx1.lisp: Use new NUMCMP operator.
2930
29312006-10-13 04:53  gb
2932
2933        * compiler/nx0.lisp: Change inline expansion: use optimize settings
2934        in effect at call time, not those in effect at definition time.
2935
29362006-10-13 04:50  gb
2937
2938        * level-0/l0-numbers.lisp: Change >=-2, <=-2, /=-2 to avoid
2939        inlining issues.
2940
29412006-10-13 04:30  gb
2942
2943        * compiler/nxenv.lisp: Replace unused num= with numcmp.
2944
29452006-10-12 19:46  gb
2946
2947        * lisp-kernel/pmcl-kernel.c: Terminate argument processing when
2948        "--" is seen.
2949
29502006-10-12 19:45  gb
2951
2952        * level-1/: l1-streams.lisp, l1-sysio.lisp, l1-unicode.lisp: Handle
2953        newline translation differenly (at the character I/O level, not the
2954        buffer level).
2955       
2956        All character encoding/decoding functions operate on octets, not
2957        necessarily code units.  (The stream encode/decode functions are an
2958        exception; serialization and byte ordering are handled by the
2959        stream.)
2960
29612006-10-09 16:34  gb
2962
2963        * level-1/l1-streams.lisp: Write  #\Sub's char-code if we can't
2964        encode a character in (implicit) iso-8859-1.
2965
29662006-10-09 16:33  gb
2967
2968        * level-0/l0-misc.lisp: %COPY-STRING-TO-U8: use #\Sub (ascii 26) as
2969        a replacement character.
2970
29712006-10-09 16:31  gb
2972
2973        * level-1/l1-unicode.lisp: :stream-encode/decode functions always
2974        write/read something, even if it's a replacement character of some
2975        sort.
2976
29772006-10-09 15:19  gb
2978
2979        * level-1/l1-streams.lisp: More stuff about line termination.  When
2980        will this end ?
2981
29822006-10-09 15:19  gb
2983
2984        * lib/chars.lisp: Use a hashtable to map characters to their names.
2985         (Maybe a sparse vector ?).
2986
29872006-10-09 15:18  gb
2988
2989        * level-1/l1-reader.lisp: Use a hashtable to map characters to
2990        their names.  (Maybe a sparse vector ?).
2991       
2992        Define #\Sub and #\Replacement_Character.
2993
29942006-10-08 21:17  gb
2995
2996        * level-1/l1-readloop-lds.lisp: SELECT-BACKTRACE: it's been all
2997        NEW-BACKTRACE for a while now.
2998
29992006-10-08 21:16  gb
3000
3001        * lisp-kernel/lisptypes.h: Need to #include <sys/signal.h> to keep
3002        Panther happy.
3003
30042006-10-08 20:30  gb
3005
3006        * lisp-kernel/x86_print.c: Print hex with leading #x, not #0x ...
3007
30082006-10-08 20:30  gb
3009
3010        * lib/dumplisp.lisp: Do some sanity checks on SAVE-APPLICATION
3011        pathname, before it's too late ...
3012
30132006-10-08 20:29  gb
3014
3015        * level-1/l1-unicode.lisp: ASCII, some other changes.
3016
30172006-10-08 20:29  gb
3018
3019        * level-1/l1-sysio.lisp: Rearrange a few things; pass
3020        :line-termination option to MAKE-FD-STREAM.
3021
30222006-10-08 20:28  gb
3023
3024        * level-1/l1-streams.lisp: Yet another line-termination translation
3025        scheme; hopefully, the last for a while. (More tedium before it's
3026        actually installed.)
3027
30282006-10-08 20:27  gb
3029
3030        * level-1/l1-reader.lisp: Add character names for #\Line_Separator,
3031        #\Paragraph_separator.
3032
30332006-10-07 20:35  gb
3034
3035        * level-1/l1-init.lisp: *TERMINAL-CHARACTER-ENCODING-NAME*.
3036
30372006-10-07 20:34  gb
3038
3039        * level-1/l1-error-signal.lisp: In %ERROR, go straight to the
3040        kernel debugger if interactive streams aren't initialized yet.
3041        (We'd probably get there sooner or later in that case; try to get
3042        there sooner.)
3043
30442006-10-07 20:33  gb
3045
3046        * level-1/l1-boot-2.lisp: Don't initialize interactive streams via
3047        DEF-LOAD-POINTERS.  Wrap that up in a function, and set a flag when
3048        the function's called (from APPLICATION's TOPLEVEL-FUNCTION
3049        method.)
3050
30512006-10-07 20:32  gb
3052
3053        * level-1/l1-application.lisp: Handle the (new)
3054        -K/--terminal-encoding command-line argument.
3055
30562006-10-07 11:14  gb
3057
3058        * level-1/l1-streams.lisp: INPUT-STREAM-P, OUTPUT-STREAM-P are true
3059        of instances if INPUT-STREAM/ OUTPUT-STREAM, respectively (not just
3060        instances of FUNDAMENTAL-INPUT/OUTPUT-STREAM).
3061
30622006-10-07 11:13  gb
3063
3064        * lisp-kernel/lisp-debug.c: Do abort() if kernel debugger is
3065        entered when --batch is in effect.
3066
30672006-10-07 11:12  gb
3068
3069        * level-1/l1-readloop.lisp: QUIT: flush *STDOUT* in
3070        PROCESS-EXIT-APPLICATION.
3071
30722006-10-07 11:11  gb
3073
3074        * level-1/l1-processes.lisp: PROCESS-EXIT-APPLICATION: flush
3075        *stdout* here.
3076
30772006-10-06 04:49  gb
3078
3079        * level-1/l1-streams.lisp: CODE-UNIT, not CODE-ELEMENT.  Add a
3080        TRANSLATE slot to IO-BUFFER.
3081
30822006-10-06 04:40  gb
3083
3084        * level-1/l1-sockets.lisp: basic (vs fundamental) socket streams.
3085
30862006-10-06 04:39  gb
3087
3088        * level-1/l1-sysio.lisp: Real, live EXTERNAL-FORMAT structures.
3089
30902006-10-06 04:38  gb
3091
3092        * level-1/version.lisp: Bump.
3093
30942006-10-06 04:38  gb
3095
3096        * level-0/l0-misc.lisp: %COPY-STRING-TO-U8: use #\? as a
3097        replacement character.
3098
30992006-10-05 14:46  gb
3100
3101        * lisp-kernel/lisptypes.h: More register name aliases.  FMH.
3102
31032006-10-05 14:46  gb
3104
3105        * lisp-kernel/x86-asmutils64.s: get_mxcsr, set_mxcsr.
3106
31072006-10-05 14:46  gb
3108
3109        * lisp-kernel/x86-exceptions.c: Save the mxcsr, load it with a
3110        C-like value (all exceptions masked) before doing a callback.  (Not
3111        doing this meant that tcr.foreign_mxcsr was often set to a "lispy"
3112        value, where most exceptions were unmasked, and this caused FP
3113        exceptions when calling out to foreign code with the "lispy"
3114        tcr.foreign_mxcsr in effect.)
3115       
3116        Mach exception stuff arranges to return via sigreturn.  Didn't fix
3117        the spurious SIGTRAPs, but might be the right idea (and might save
3118        a context switch or two.)
3119       
3120        Mach exception stuff initializes rflags to exception rflags when
3121        arranging to resume thread at handler.  Leaving them uninitialized
3122        was causing spurious SIGTRAPs, since the trace bit(s) may have been
3123        set.
3124
31252006-10-05 06:09  gb
3126
3127        * lib/macros.lisp: WITH-ENCODED-CSTR(s).  (Hey, it's a start.)
3128
31292006-10-05 06:09  gb
3130
3131        * lib/chars.lisp: CHAR-NAME: try to use at least 4 hex digits for
3132        #\U+xxxx syntax.
3133
31342006-10-05 06:08  gb
3135
3136        * level-1/l1-unicode.lisp: UCS-2, some other changes.
3137
31382006-10-05 06:07  gb
3139
3140        * level-1/l1-sysio.lisp: Try to get
3141        line-termination/external-format stuff working.
3142
31432006-10-05 05:35  gb
3144
3145        * level-1/l1-streams.lisp: Assume that character data is always
3146        encoded as one or more 8-bit octets.
3147
31482006-10-05 04:59  gb
3149
3150        * level-1/l1-boot-2.lisp: Set class-prototypes for basic-streams
3151        just before we make the first one.
3152
31532006-10-02 08:13  gb
3154
3155        * lisp-kernel/x86-exceptions.h: Darwin uses _sigtramp glue to call
3156        handlers, so we need to make handlers do a sigreturn after
3157        switching off the signal stack, etc.
3158
31592006-10-02 08:11  gb
3160
3161        * lisp-kernel/x86-exceptions.c: Don't use SIGRETURN to return from
3162        signal_handler() on Darwin (since we depend on pseudo_sigreturn
3163        handling for cleanup of tcr pending exception and since we can't
3164        easily restore the signal mask.)
3165       
3166        (Up until this point, SIGRETURN has been a nop on Darwin.)
3167
31682006-10-02 04:59  gb
3169
3170        * lisp-kernel/lisptypes.h: Compile on ppc,ppc64 osx 10.4 and
3171        earlier.
3172
31732006-10-02 04:47  gb
3174
3175        * lisp-kernel/: lisptypes.h, ppc-exceptions.c, ppc-exceptions.h:
3176        Compile on post OSX 10.4 systems, for ppc/ppc64.  (Broken on
3177        systems <= 10.4).
3178
31792006-10-02 02:46  gb
3180
3181        * lisp-kernel/: lisptypes.h, x86-exceptions.c, x86-exceptions.h:
3182        Try to make x86-64 version compile under 10.4 again; see if this
3183        breaks post-10.4 compilation.
3184
31852006-10-02 02:33  gb
3186
3187        * lisp-kernel/: lisptypes.h, pmcl-kernel.c, x86-exceptions.c,
3188        x86-exceptions.h: Change things so that they compile for x86-64 on
3189        systems later than 10.4.  Almost certainly break 10.4 compilation
3190        in the process.  (Thanks, Apple!  Any time I can cause you to waste
3191        hours on crap like this, just let me know!)
3192
31932006-09-27 20:33  gb
3194
3195        * lib/misc.lisp: DOCUMENTATION works on character-encodings.
3196
31972006-09-27 20:33  gb
3198
3199        * level-1/l1-unicode.lisp: Character-encodings have doc strings.
3200
32012006-09-27 05:46  gb
3202
3203        * level-1/l1-sysio.lisp: More FILE-STREAM changes.  Give
3204        BASIC-STREAM classes a class prototype.
3205
32062006-09-27 05:45  gb
3207
3208        * level-1/l1-streams.lisp: Some changes to FD-STREAM
3209        initialization, to make it easier to use MAKE-FD-STREAM to open
3210        (seekable) FILE-STREAMs.
3211
32122006-09-27 05:41  gb
3213
3214        * lisp-kernel/: x86-exceptions.c, x86-exceptions.h: Decode and
3215        handle UUO_ERROR_DEBUG_TRAP_WITH_STRING.
3216
32172006-09-27 05:39  gb
3218
3219        * lisp-kernel/x86-spentry64.s: Still get very occasional SIGFPE on
3220        return from (e.g.) #_asin on x86-64 Darwin.  (#_asin often does a
3221        division-by-zero, but that should be masked when in foreign code.)
3222        Don't reload the lisp mxcsr until other registers have been popped,
3223        to make debugging easier in case it's the act of reloading the
3224        mxcsr that causes the spurious trap.)
3225
32262006-09-27 05:36  gb
3227
3228        * level-0/X86/x86-misc.lisp: DEBUG-TRAP-WITH-STRING.
3229
32302006-09-27 05:35  gb
3231
3232        * level-0/nfasload.lisp: Not sure when it happened, but %FASLOAD
3233        was parenthesized in such a way as to not return the error value on
3234        error.
3235
32362006-09-27 05:34  gb
3237
3238        * level-0/l0-misc.lisp: On x8664, use a new UUO for BUG.  (Not
3239        passing context into the kernel makes it too difficult to debug/get
3240        backtrace, etc.)
3241
32422006-09-27 05:33  gb
3243
3244        * compiler/X86/: x86-asm.lisp, x86-disassemble.lisp:
3245        UUO-ERROR-DEBUG-TRAP-WITH-STRING.
3246
32472006-09-27 05:05  gb
3248
3249        * level-1/l1-clos-boot.lisp: CLASS-PROTOTYPE method for CLASS class
3250        (mostly for BUILT-IN-CLASSes).
3251
32522006-09-26 20:49  gb
3253
3254        * level-1/l1-sysio.lisp: SELECT-STREAM-CLASS: should probably take
3255        a BASIC-P argument.
3256
32572006-09-26 20:47  gb
3258
3259        * level-1/l1-streams.lisp: More changes.  Imagine that.
3260
32612006-09-26 20:46  gb
3262
3263        * compiler/: X86/X8664/x8664-vinsns.lisp, X86/x862.lisp,
3264        optimizers.lisp: (Redundant) FIXNUM decls in LDB compiler macro.
3265
32662006-09-26 20:43  gb
3267
3268        * level-1/l1-unicode.lisp: Memory/vector encode/decode functions
3269        take/return strings, not chars.
3270       
3271        Some bom stuff.
3272
32732006-09-24 20:14  gb
3274
3275        * lib/chars.lisp: Check for assumptions about character size.
3276        Remove some %i-isms (fixnum arithmetic), make assertions about type
3277        of char-code.
3278
32792006-09-24 20:12  gb
3280
3281        * level-1/l1-aprims.lisp: Remove unused (probably ancient)
3282        CHKBOUNDS function.  Simpler STRING-START-END.
3283
32842006-09-24 20:11  gb
3285
3286        * level-1/l1-streams.lisp: Some stuff to infer line-termination.
3287        Probably belongs elsewhere; some encodings may not make it at all
3288        possible.
3289
32902006-09-24 20:07  gb
3291
3292        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3293        Load-character-constant: accept :u32const on PPC32, PPC64, too.
3294
32952006-09-24 20:00  gb
3296
3297        * level-1/l1-streams.lisp: A little more u16 stuff.  Remove
3298        line-termination slot from ioblock and corresponding arg from
3299        functions which initialize it.
3300
33012006-09-24 19:59  gb
3302
3303        * level-1/l1-sysio.lisp: Input-filter, output-filter in
3304        file-ioblock.
3305
33062006-09-24 19:58  gb
3307
3308        * level-1/l1-unicode.lisp: Buffer translation functions don't
3309        belong here; start thinking about BOM.
3310
33112006-09-24 19:57  gb
3312
3313        * compiler/X86/X8664/x8664-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
3314        it's been a :u32const for the last few weeks ...
3315
33162006-09-24 04:29  gb
3317
3318        * lib/chars.lisp: CHAR-NAME looks in the *CHARACTER-NAMES* array if
3319        the code is within its bounds.
3320
33212006-09-24 04:27  gb
3322
3323        * level-1/l1-reader.lisp: Lots more character names.  Maintain
3324        mappings in a vector and a hash table, rather than in an alist.
3325
33262006-09-24 04:26  gb
3327
3328        * level-0/nfasload.lisp, xdump/xfasload.lisp, lib/nfcomp.lisp: Doh!
3329        character constant fasl encoding ($fasl-char).
3330
33312006-09-23 05:31  gb
3332
3333        * level-1/l1-unicode.lisp: Some other iso8859-n encodings.  (Not
3334        sure which are the most important.)
3335
33362006-09-23 05:29  gb
3337
3338        * level-1/l1-sysio.lisp: Start to separate
3339        line-termination/external-format stuff.
3340
33412006-09-23 05:28  gb
3342
3343        * level-1/l1-streams.lisp: Lots-o-changes.
3344
33452006-09-23 05:28  gb
3346
3347        * level-1/l1-boot-2.lisp: Make initial interactive streams use
3348        UTF-8 (mostly for debugging utf-8 ...)
3349
33502006-09-21 04:07  gb
3351
3352        * lisp-kernel/x86-spentry64.s: don't clobber callback index when
3353        doing the DARWIN_GS_HACK stuff in _SPcallback (syscall sometimes
3354        clobbered r11, sometimes didn't.)
3355
33562006-09-21 04:05  gb
3357
3358        * lisp-kernel/pmcl-kernel.c: Require mach/port.h.
3359
33602006-09-21 04:05  gb
3361
3362        * lisp-kernel/x86-exceptions.c: Save and restore errno in
3363        callback_for_interrupt.
3364
33652006-09-21 04:04  gb
3366
3367        * lisp-kernel/lisptypes.h: Guess again about preprocessor stuff for
3368        x86-64 ucontext/mcontext on Darwin.
3369
33702006-09-21 04:02  gb
3371
3372        * level-1/l1-lisp-threads.lisp: Use underscore prefix on all Darwin
3373        flavors.
3374       
3375        Add a type decl in %nanosleep.
3376
33772006-09-21 04:01  gb
3378
3379        * compiler/X86/X8664/x8664-vinsns.lisp: sign-extend/zero-extend
3380        vinsns.
3381
33822006-09-21 04:01  gb
3383
3384        * compiler/X86/x862.lisp: sign/zero-extend ffcall, syscall return
3385        values.  (Probably only matters in a few cases, like the Darwin
3386        x86-64 version of #_nanosleep, which returns a non-sign-extended
3387        "int" value if the sleep is interruted.)
3388
33892006-09-20 06:34  gb
3390
3391        * level-1/version.lisp: Bump.
3392
33932006-09-20 04:24  gb
3394
3395        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3396        slight improvements in signed-byte boxing, typechecking.
3397
33982006-09-20 04:22  gb
3399
3400        * lib/streams.lisp: WRITE-BYTE for BASIC-STREAMs.
3401
34022006-09-20 04:21  gb
3403
3404        * lib/macros.lisp: %SWAP-U16, %SWAP-U32.
3405
34062006-09-20 04:21  gb
3407
3408        * lib/level-2.lisp: %EVAL-REDEFs for new require-xx functions.
3409
34102006-09-20 04:20  gb
3411
3412        * level-1/l1-unicode.lisp: UTF-16, in native and byte-swapped
3413        versions.  Need a "logical" UTF-16, which deals with byte-order
3414        marks and a means of installing a concrete encoding.  Needs
3415        testing.
3416
34172006-09-20 04:15  gb
3418
3419        * level-1/l1-streams.lisp: Numerous changes.
3420
34212006-09-20 04:15  gb
3422
3423        * level-1/l1-sockets.lisp: %bswap16: fix type declaration.
3424
34252006-09-20 04:14  gb
3426
3427        * compiler/X86/X8664/x8664-vinsns.lisp: vinsns for signed/unsigned
3428        byte 8,16,32,64.  Tighten up some signed-byte boxing.
3429
34302006-09-20 04:12  gb
3431
3432        * compiler/X86/x862.lisp: New require ops for signed/unsigned byte
3433        8,16,32,64
3434
34352006-09-19 01:38  gb
3436
3437        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3438        vinsns for REQUIRE-[US][8,16,32,64]
3439
34402006-09-19 01:37  gb
3441
3442        * compiler/PPC/PPC32/ppc32-arch.lisp: Need
3443        THREE-DIGIT-BIGNUM-HEADER to recognize some cases of (UNSIGNED-BYTE
3444        64).
3445
34462006-09-19 01:36  gb
3447
3448        * compiler/PPC/ppc-backend.lisp: clean up an error message.
3449
34502006-09-19 01:36  gb
3451
3452        * compiler/PPC/ppc2.lisp: handle require-[us][8,16,32,64]
3453        operators.
3454
34552006-09-19 01:34  gb
3456
3457        * compiler/optimizers.lisp: REQUIRE-TYPE: transform into
3458        require-[us][8,16,32,64] when possible.
3459
34602006-09-19 01:34  gb
3461
3462        * compiler/nx1.lisp: inline require-[us][8,16,32,64].
3463
34642006-09-19 01:33  gb
3465
3466        * compiler/nxenv.lisp: New operators for require-[us][8,16,32,64].
3467
34682006-09-19 01:15  gb
3469
3470        * compiler/X86/X8664/x8664-vinsns.lisp: x8664 vinsns for
3471        typechecking signed/unsigned bytes of sizes 8,16,32,64.
3472
34732006-09-19 00:36  gb
3474
3475        * level-1/l1-streams.lisp: More changes; hard to bootstrap.
3476
34772006-09-18 21:42  gb
3478
3479        * lib/macros.lisp: Macros for locking the input/output locks of an
3480        ioblock, assuming that it exists.
3481
34822006-09-17 00:45  gb
3483
3484        * level-1/l1-streams.lisp: more changes
3485
34862006-09-13 06:52  gb
3487
3488        * level-1/l1-io.lisp: Direct BASIC-STREAM stuff for WRITE-CHAR,
3489        WRITE-STRING, TERPRI.
3490
34912006-09-13 06:08  gb
3492
3493        * lib/streams.lisp: READ-LINE changes for BASIC-STREAMs.
3494
34952006-09-13 06:07  gb
3496
3497        * level-1/l1-unicode.lisp: GET-CHARACTER-ENCODING errors if the
3498        named encoding isn't defined.
3499       
3500        Terse PRINT-OBJECT method for CHARACTER-ENCODING.
3501
35022006-09-13 06:06  gb
3503
3504        * level-1/l1-streams.lisp: More functions in the ioblock, some
3505        support for 8-bit encodings (like utf-8).  Not finished, but
3506        getting hard to bootstrap; need to check in and build on all
3507        platforms before it gets even harder.
3508
35092006-09-12 05:34  gb
3510
3511        * level-0/l0-misc.lisp: Use %CSTR-POINTER (not
3512        %copy-ivector-to-pointer) in BUG.
3513
35142006-09-12 05:31  gb
3515
3516        * lisp-kernel/x86-exceptions.c: Enter the debugger if
3517        altstack_signal_handler is entered in foreign code.  (Maybe want to
3518        signal a lisp error in some cases, but this is currently fatal and
3519        we might as well die earlier than with a stack overflow.)
3520
35212006-09-12 05:29  gb
3522
3523        * lisp-kernel/thread_manager.c: os_get_stack_bounds(): get stack
3524        direction right on FreeBSD.  (Much better than randomly scribbling
3525        on memory in the GC, as the FreeBSD port has been doing for months
3526        now ...)
3527
35282006-09-11 21:31  gb
3529
3530        * compiler/X86/x862.lisp: x862-explicit-non-fixnum-type-p looks for
3531        intersection.
3532
35332006-09-11 21:21  gb
3534
3535        * compiler/X86/x862.lisp: Partly inline 2-arg logior, logand.
3536
35372006-09-11 20:10  gb
3538
3539        * level-1/l1-unicode.lisp: Character encodings contain a
3540        LITERAL-CHAR-CODE-LIMIT field.
3541
35422006-09-11 20:09  gb
3543
3544        * level-1/l1-streams.lisp: extend IOBLOCK a bit.  Start to provide
3545        functionality for encoded streams.
3546
35472006-09-11 20:08  gb
3548
3549        * compiler/PPC/ppc2.lisp: Partialy inline 2-arg logior/logand.
3550
35512006-09-09 04:39  gb
3552
3553        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3554        REQUIRE-CHAR-CODE: compare against boxed char-code-limit.
3555
35562006-09-09 04:21  gb
3557
3558        * level-1/l1-reader.lisp: NAME-CHAR: insist on something more
3559        reasonable for ^c syntax; don't do MOD for octal.
3560
35612006-09-09 04:21  gb
3562
3563        * compiler/X86/X8664/x8664-vinsns.lisp: require-char-code checks
3564        agains boxed Unicode limit
3565
35662006-09-09 03:56  gb
3567
3568        * lisp-kernel/x86-gc.c: purify_range(), impurify_range(): handle
3569        x8664 functions, hash tables.  (PPC versions should handle hash
3570        table key movement.)
3571
35722006-09-08 22:47  gb
3573
3574        * lib/chars.lisp: CHAR-NAME: use U+xxxx for chars with codes >=
3575        #x100.
3576
35772006-09-08 22:38  gb
3578
3579        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3580        FIXNUM->CHAR: return NIL for surrogate pairs.
3581
35822006-09-08 22:33  gb
3583
3584        * compiler/PPC/ppc2.lisp: Don't be overly unsafe in %CHAR-CODE.
3585
35862006-09-08 22:31  gb
3587
3588        * lib/ppc-backtrace.lisp: Fix CFP-LFUN (fake stack frame case,
3589        sanity-check fn/lr).
3590
35912006-09-08 18:55  gb
3592
3593        * compiler/X86/x862.lisp: Don't be so reckless in %CODE-CHAR (don't
3594        necessarily want arbitrary expressions to be compiled unsafely; do
3595        want to avoid a little type-checking sometimes.)
3596
35972006-09-08 18:52  gb
3598
3599        * compiler/X86/X8664/x8664-vinsns.lisp: FIXNUM->CHAR returns NIL
3600        for values in the surrogate-pairs range.  (There are other things
3601        that it could plausibly return NIL for.)
3602
36032006-09-08 18:51  gb
3604
3605        * lisp-kernel/x86-gc.c: Start to get purify working on x86-64; for
3606        now, just purify strings.
3607
36082006-09-08 18:48  gb
3609
3610        * lib/macros.lisp: %CODE-CHAR asserts that code is (UNSIGNED-BYTE
3611        8), which is still useful (and exactly what it used to do.)
3612
36132006-09-08 18:47  gb
3614
3615        * lib/: compile-ccl.lisp, systems.lisp: Add l1-unicode.
3616
36172006-09-08 18:44  gb
3618
3619        * level-1/level-1.lisp: Load l1-unicode.
3620
36212006-09-08 18:44  gb
3622
3623        * level-1/l1-unicode.lisp: New file.
3624
36252006-09-07 03:50  gb
3626
3627        * lisp-kernel/area.h: Larger PURESPACE_RESERVE for x8664.
3628
36292006-09-07 03:44  gb
3630
3631        * xdump/: heap-image.lisp, xfasload.lisp, xppcfasload.lisp,
3632        xx8664-fasload.lisp: Bump abi version.  Make purespace-reserve an
3633        attribute of the backend (may need more pure space on x86-64.)
3634
36352006-09-07 03:43  gb
3636
3637        * lisp-kernel/image.h: Bump abi version.
3638
36392006-09-07 03:43  gb
3640
3641        * level-1/version.lisp: Bump.
3642
36432006-09-07 02:58  gb
3644
3645        * lisp-kernel/x86-exceptions.c: FreeBSD (at least with libthr)
3646        seems to mask synchronous signals.  Unmask them in signal handlers.
3647
36482006-09-07 02:57  gb
3649
3650        * lisp-kernel/thread_manager.c: suspend_resume_handler() : ignore
3651        signal mask.
3652
36532006-09-07 02:56  gb
3654
3655        * lisp-kernel/: lisptypes.h, ppc-constants32.h, ppc-constants32.s,
3656        ppc-constants64.h, ppc-constants64.s, ppc-gc.c, x86-constants64.h,
3657        x86-constants64.s: Lose the CHAR_SIZE_32 bootstrapping conditional
3658        (char are 32 bits wide on all platforms now.)
3659
36602006-09-07 00:40  gb
3661
3662        * lisp-kernel/x86-exceptions.c: SIGBUS might be
3663        SIGNUM_FOR_PROCESS_INTERRUPT.
3664
36652006-09-07 00:12  gb
3666
3667        * lisp-kernel/x86-spentry64.s: _SPbuiltin_aref1: use
3668        box_fixnum_no_flags.
3669
36702006-09-07 00:12  gb
3671
3672        * lisp-kernel/x86-macros.s: Define box_fixnum_no_flags (uses lea
3673        vice imul).
3674
36752006-09-06 21:18  gb
3676
3677        * compiler/X86/X8664/x8664-arch.lisp: Need
3678        MIN/MAX-8-BIT-IVECTOR-SUBTAG.
3679
36802006-09-06 18:37  gb
3681
3682        * lisp-kernel/x86-spentry64.s: misc_ref/misc_set: handle 32-bit
3683        strings.
3684
36852006-09-06 18:36  gb
3686
3687        * lisp-kernel/x86-macros.s: Zero-extend early when extracting
3688        typecodes.
3689
36902006-09-06 18:36  gb
3691
3692        * level-1/l1-streams.lisp: GET-OUTPUT-STREAM-STRING: use
3693        ENSURE-SIMPLE-STRING rather than horrible COERCE nonsense.
3694
36952006-09-06 18:35  gb
3696
3697        * level-1/l1-aprims.lisp: x8664 *immheader-1-array-element-types*
3698        contains entry for 32-bit BASE-CHAR.
3699
37002006-09-06 18:35  gb
3701
3702        * compiler/X86/X8664/x8664-vinsns.lisp: zero-extend early when
3703        extracting typecodes.
3704
37052006-09-06 18:34  gb
3706
3707        * compiler/X86/X8664/: x8664-arch.lisp, x8664-backend.lisp:
3708        32-bit-chars.
3709
37102006-09-06 18:33  gb
3711
3712        * compiler/X86/: x86-backend.lisp, x862.lisp: Defer handling of the
3713        :rcontext pseudo-register name until the target backend is in
3714        place.
3715
37162006-09-06 16:39  gb
3717
3718        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: 32-bit chars
3719        stuff for x8664.
3720
37212006-09-06 16:39  gb
3722
3723        * level-1/l1-reader.lisp: kids: bourbon and editing COPY-READTABLE
3724        don't mix!
3725
37262006-09-06 16:38  gb
3727
3728        * lib/compile-ccl.lisp: :verbose argument to rebuild-ccl.
3729
37302006-09-06 16:38  gb
3731
3732        * level-1/linux-files.lisp: process input/output: don't assume
3733        8-bit strings.
3734
37352006-09-06 14:42  gb
3736
3737        * compiler/PPC/PPC64/ppc64-backend.lisp: PPC64 callbacks are always
3738        #+poweropen-target; don't conditionalize the fp-arg-ptr argument
3739        (since that creates confustion when cross-compiling from a
3740        non-poweropen host.)
3741
37422006-09-06 00:08  gb
3743
3744        * compiler/PPC/PPC64/: ppc64-arch.lisp, ppc64-backend.lisp: remove
3745        8-bit char stuff.
3746
37472006-09-06 00:08  gb
3748
3749        * compiler/X86/X8664/x8664-arch.lisp: Forgot to set char-code-limit
3750        here.
3751
37522006-09-05 22:49  gb
3753
3754        * lib/macros.lisp: In DO-GC-AREAS, don't use comma before call to
3755        AREA-SUCC.  (Cross-compilation/ word-size issue.)
3756
37572006-09-05 22:42  gb
3758
3759        * level-0/l0-utils.lisp: If ENSURE-SIMPLE-STRING has to make a copy
3760        of a non-simple string, understand char width issues.
3761
37622006-09-05 22:41  gb
3763
3764        * level-0/nfasload.lisp: Some fixnum decls in %FIND-PKG.
3765
37662006-09-05 22:40  gb
3767
3768        * level-1/l1-aprims.lisp: ppc64 ARRAY-ELEMENT-SUBTYPES includes new
3769        string type.
3770
37712006-09-05 22:39  gb
3772
3773        * level-0/PPC/ppc-array.lisp: cr3, nor c33, in ppc64 %init-misc.
3774
37752006-09-05 22:38  gb
3776
3777        * compiler/nx0.lisp: NX-FORM-TYPEP uses NX-TARGET-TYPE.
3778
37792006-09-05 09:13  gb
3780
3781        * compiler/PPC/PPC32/ppc32-backend.lisp: darwinppc32 backend uses
3782        32-bit chars, too.
3783
37842006-09-05 09:01  gb
3785
3786        * compiler/PPC/PPC32/: ppc32-arch.lisp, ppc32-backend.lisp: ppc32
3787        defaults to 32-bit chars.
3788
37892006-09-05 05:18  gb
3790
3791        * xdump/xfasload.lisp: Deal with 32-bit lisp strings.
3792
37932006-09-05 05:18  gb
3794
3795        * lisp-kernel/linuxppc/.gdbinit: Start to depend on calling
3796        print_lisp_object, since x/s doesn't deal with 32-bit lisp strings.
3797
37982006-09-05 05:17  gb
3799
3800        * lisp-kernel/ppc-gc.c: conditionalize purify_displaced_object()
3801        for char size.
3802
38032006-09-05 05:16  gb
3804
3805        * lisp-kernel/plsym.c: find_symbol(): don't assume 8-bir lisp
3806        strings.
3807
38082006-09-05 05:15  gb
3809
3810        * lisp-kernel/lisptypes.h: Try using "u8_t" and "u32_t" for
3811        lisp_char_code; this may be more portable.
3812
38132006-09-05 05:14  gb
3814
3815        * lib/sequences.lisp: SIMPLE-1D-ARRAY-SUBSEQ: handle new strings.
3816
38172006-09-05 05:13  gb
3818
3819        * level-1/linux-files.lisp: CALL-WITH-STRING-VECTOR: don't assume
3820        8-bit char/strings.
3821
38222006-09-05 05:13  gb
3823
3824        * level-1/l1-streams.lisp: Use heap-ivectors of element-type
3825        (UNSIGNED-BYTE 8) for character streams.  (Should really depend on
3826        the coding system in use.)
3827
38282006-09-05 05:09  gb
3829
3830        * level-1/l1-aprims.lisp: Various archaic string functions: don't
3831        assume 8-bit strings.
3832
38332006-09-05 05:08  gb
3834
3835        * level-0/l0-array.lisp: Handle 32-bit strings in %UVECTOR-REPLACE.
3836
38372006-09-05 05:07  gb
3838
3839        * compiler/PPC/PPC64/ppc64-arch.lisp: No "x" in simple-base-string,
3840        when #-target-8-bit-chars.
3841
38422006-09-05 05:06  gb
3843
3844        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3845        REQUIRE-CHAR-CODE: comparison of OBJECT with TAG is not a CMPI.
3846
38472006-09-05 05:05  gb
3848
3849        * compiler/PPC/ppc2.lisp: PPC2-VREF: handle the 32-bit
3850        :SIMPLE-STRING case with constant index.
3851
38522006-09-04 17:44  gb
3853
3854        * lisp-kernel/lisptypes.h: Linux doesn't define uint8_t.  Try
3855        "unsigned char", and cross fingers.
3856
38572006-09-04 17:38  gb
3858
3859        * lisp-kernel/: lisptypes.h, ppc_print.c, x86_print.c: Define
3860        lisp_char_code type, use it when printing lisp string in the kernel
3861        debugger.
3862
38632006-09-04 17:28  gb
3864
3865        * level-1/version.lisp: Bump.
3866
38672006-09-04 17:18  gb
3868
3869        * level-0/PPC/ppc-array.lisp: Sigh.  Test for 8-bit-char case was
3870        conditionalized backwards in PPC64 %INIT-MISC.
3871
38722006-09-04 17:05  gb
3873
3874        * level-1/l1-init.lisp: Initial value of CHAR-CODE-LIMIT derived
3875        from the target arch (for bootstrapping.)
3876
38772006-09-04 17:04  gb
3878
3879        * level-1/l1-reader.lisp: Use (UNSIGNED-BYTE 8) for array element
3880        type of rdtab.ttab.
3881       
3882        Don't treat (code-char #xca) as whitespace; do treat (code-char
3883        #xa0) as whitespace.  (The former happens to be how the latter was
3884        encoded in MacRoman.)
3885       
3886        Handle U+<hex> syntax in NAME-CHAR.
3887
38882006-09-04 16:16  gb
3889
3890        * compiler/PPC/PPC64/ppc64-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
3891        and the char code with #xff to get the low byte.
3892
38932006-09-04 16:15  gb
3894
3895        * compiler/PPC/PPC32/ppc32-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
3896        and the char code with #xff or 255., not with #x255.  (Cause lots
3897        of wackiness, mostly in readtable initialization.)
3898
38992006-09-04 16:12  gb
3900
3901        * compiler/PPC/ppc2.lisp: Use u32->char (which is defined) vice
3902        u8->char (which is no more) in %CHAR-CODE.
3903
39042006-09-04 06:04  gb
3905
3906        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3907        Gak.  Get guard/predicate syntax right in LOAD-CHARACTER-CONSTANT.
3908
39092006-09-04 06:03  gb
3910
3911        * level-0/PPC/ppc-array.lisp: New constants in ppc32 typecode range
3912        assertion.
3913
39142006-09-04 03:44  gb
3915
3916        * level-0/PPC/ppc-array.lisp: ppc32/ppc64 %init-misc tweaks.
3917
39182006-09-04 03:43  gb
3919
3920        * compiler/PPC/ppc-lapmacros.lisp: Typo in the (unused) 64-bit/no
3921        crf case of UNBOX-BASE-CHAR.
3922
39232006-09-04 02:30  gb
3924
3925        * level-1/l1-error-system.lisp: Object-not- (mod #x110000) type
3926        error.
3927
39282006-09-04 02:29  gb
3929
3930        * level-0/PPC/ppc-symbol.lisp: conditionalize %pname-hash for char
3931        size.
3932
39332006-09-04 02:26  gb
3934
3935        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s,
3936        ppc-constants64.h, ppc-constants64.s: Conditionalize for
3937        CHAR_SIZE_32.
3938
39392006-09-04 02:24  gb
3940
3941        * compiler/PPC/PPC32/ppc32-arch.lisp,
3942        compiler/PPC/PPC32/ppc32-vinsns.lisp,
3943        compiler/PPC/PPC64/ppc64-arch.lisp,
3944        compiler/PPC/PPC64/ppc64-vinsns.lisp, level-0/l0-array.lisp,
3945        level-0/l0-pred.lisp: Conditionalize for #-target-8-bit-chars.
3946
39472006-09-04 02:23  gb
3948
3949        * compiler/PPC/ppc2.lisp: Deal - sometimes conditionally - with
3950        32-bit characters.
3951
39522006-09-04 02:22  gb
3953
3954        * compiler/arch.lisp: ERROR-OBJECT-NOT-MOD-CHAR-CODE-LIMIT.
3955
39562006-09-03 16:03  gb
3957
3958        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
3959        conditionalize new string types.
3960
39612006-09-03 16:03  gb
3962
3963        * level-0/X86/x86-symbol.lisp: %pname-hash: conditionalize for
3964        string element size.
3965
39662006-09-03 16:02  gb
3967
3968        * compiler/X86/X8664/x8664-arch.lisp, level-0/l0-array.lisp,
3969        level-0/l0-pred.lisp: Sketch out new string types (read-time
3970        conditionalized.)
3971
39722006-09-03 15:02  gb
3973
3974        * level-0/l0-init.lisp: Put :target-8-bit-chars on *features*, for
3975        bootstrapping.
3976
39772006-09-03 14:20  gb
3978
3979        * level-1/l1-streams.lisp: More missing BASIC-STREAM methods.
3980
39812006-09-03 13:22  gb
3982
3983        * compiler/: X86/X8664/x8664-backend.lisp,
3984        PPC/PPC32/ppc32-backend.lisp, PPC/PPC64/ppc64-backend.lisp:
3985        :target-8-bit-chars on target features.
3986
39872006-09-03 13:21  gb
3988
3989        * level-0/l0-int.lisp: Some comments/indentation.
3990
39912006-09-03 13:01  gb
3992
3993        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Make
3994        CHAR-CODE-LIMIT an attribute of the target arch, for bootstrapping.
3995
39962006-09-02 11:24  gb
3997
3998        * level-1/x86-error-signal.lisp, lib/db-io.lisp: Fix typo.
3999
40002006-09-02 11:15  gb
4001
4002        * lisp-kernel/x86_print.c: hex/decimal integer printers: 3 is also
4003        a hex digit.
4004
40052006-09-02 11:11  gb
4006
4007        * lisp-kernel/x86-exceptions.c: Install a "bogus signal handler" on
4008        Darwin, to deal with apparent race conditions/Mach kernel lossage.
4009       
4010        Don't do the whole msg_server here; just do the exc_server thing.
4011       
4012        Fix a couple of Mach exception-handling bugs; at least one more may
4013        remain.
4014
40152006-09-02 11:07  gb
4016
4017        * lisp-kernel/x86-asmutils64.s: Use a hlt instruction to trap in
4018        pseudo_sigreturn.
4019       
4020        Still get spurious SIGTRAPs.
4021
40222006-09-02 11:06  gb
4023
4024        * lisp-kernel/thread_manager.c: Define some things in terms of
4025        USE_MACH_SEMAPHORES or USE_POSIX_SEMAPHORES.
4026       
4027        sem_wait_forever() does repeated timed waits, since I thought that
4028        Darwin was having trouble interrpting things that waited
4029        indefinitely.  (That might just be a GDB bug.  Who can tell ?)
4030
40312006-09-02 11:03  gb
4032
4033        * lisp-kernel/Threads.h: Define some things in terms of
4034        USE_MACH_SEMAPHORES or USE_POSIX_SEMAPHORES.  Note that as of Q3
4035        2006, Darwin still doesn't implement enough POSIX semaphore
4036        functionality to make it possible to avoid the use of Mach
4037        semaphores.
4038
40392006-09-02 11:01  gb
4040
4041        * lib/db-io.lisp:
4042        Try to avoid things like %COPY-IVECTOR-TO-IVECTOR when strings are
4043        involved.
4044
40452006-09-02 11:01  gb
4046
4047        * level-1/x86-threads-utils.lisp: Things that're %HEAP-IVECTOR-P
4048        aren't bogus objects.
4049
40502006-09-02 11:00  gb
4051
4052        * level-1/l1-streams.lisp: Try to avoid things like
4053        %COPY-IVECTOR-TO-IVECTOR when strings are involved.
4054
40552006-09-02 10:59  gb
4056
4057        * level-1/l1-events.lisp: AUTO-FLUSH-INTERACTIVE-STREAMS: use
4058        FORCE-OUTPUT.
4059
40602006-09-02 10:57  gb
4061
4062        * level-0/l0-misc.lisp: %COPY-U8-TO-STRING, %COPY-STRING-TO-U8:
4063        new, to avoid %COPY-IVECTOR-TO-IVECTOR when strings are involved.
4064       
4065        %STR-FROM-PTR: take dest string as optional arg, don't assume 8-bit
4066        chars.
4067       
4068        %GET-CSTRING: change type decl, use %GET-UNSIGNED-BYTE.
4069
40702006-09-02 10:55  gb
4071
4072        * level-0/l0-aprims.lisp: %CSTR-POINTER and %CSTR-SEGMENT-POINTER:
4073        don't assume 8-bit chars.
4074
40752006-08-28 17:35  gb
4076
4077        * lisp-kernel/ppc-spentry.s: Fix tag check in 32-bit
4078        misc_set_single_float_vector.
4079
40802006-08-28 17:01  gb
4081
4082        * xdump/faslenv.lisp: Bump max fasl version.
4083
40842006-08-28 16:48  gb
4085
4086        * lib/nfcomp.lisp: Use new string ops.  Bump current fasl version.
4087
40882006-08-28 16:33  gb
4089
4090        * xdump/faslenv.lisp: Bump (max) fasl version.
4091
40922006-08-28 16:30  gb
4093
4094        * xdump/xfasload.lisp: xloader was missing a few new ops.
4095
40962006-08-28 05:34  gb
4097
4098        * xdump/xfasload.lisp: New string stuff here, too.
4099
41002006-08-28 05:28  gb
4101
4102        * level-0/nfasload.lisp: New string stuff.
4103
41042006-08-28 04:57  gb
4105
4106        * level-1/l1-streams.lisp: More missing BASIC-STREAM methods
4107        (STREAM-LINE-COLUMN, STREAM-LISTEN, STREAM-EOFP.)
4108
41092006-08-28 04:57  gb
4110
4111        * level-1/l1-reader.lisp: Use READ-CHAR instead of
4112        STREAM-READ-CHAR, since it may be faster in some cases.
4113
41142006-08-28 04:56  gb
4115
4116        * level-1/l1-events.lisp: Unscramble auto-flush-streams stuff
4117        (don't assume ioblock-based stream.)
4118
41192006-08-28 04:55  gb
4120
4121        * level-1/l1-boot-2.lisp: Initial FD-STREAMs are BASIC-STREAMs.
4122
41232006-08-28 04:55  gb
4124
4125        * level-0/PPC/ppc-symbol.lisp: Change some REQUIRE forms; cosmetic.
4126         (Maybe not even cosmetic.)
4127
41282006-08-28 04:54  gb
4129
4130        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
4131        PPC64/ppc64-vinsns.lisp: %unbox-u8, u8-vref stuff.
4132
41332006-08-28 04:53  gb
4134
4135        * xdump/faslenv.lisp: New fasl ops for new string encodings.
4136
41372006-08-28 04:52  gb
4138
4139        * lib/macros.lisp: %CHAR-CODE: for how long has limit not been 2^16
4140        ?  For how long will limit be 2^8 ?
4141
41422006-08-28 04:51  gb
4143
4144        * level-0/nfasload.lisp: More fasl ops.
4145
41462006-08-28 04:51  gb
4147
4148        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: %UNBOX-U8,
4149        u8-vref stuff.
4150
41512006-08-28 04:50  gb
4152
4153        * compiler/arch.lisp: Add CHAR-CODE-LIMIT slot to TARGET-ARCH; may
4154        not be the best way to do this.
4155
41562006-08-26 13:58  gb
4157
4158        * release-notes.txt: Updated.
4159
41602006-08-26 13:50  gb
4161
4162        * release-notes.txt: Updated.
4163
41642006-08-26 13:50  gb
4165
4166        * darwin-x86-headers64/libc/.cvsignore: Added.
4167
41682006-08-26 03:17  gb
4169
4170        * level-1/version.lisp: Bump.  New snapshots soon, I hope.
4171
41722006-08-26 03:12  gb
4173
4174        * lisp-kernel/darwinx8664/Makefile: Pass -g in ASFLAGS; same
4175        problems as always, but avoids problems with Darwin x86-64 ld64
4176        segfaulting for unknown reasons.
4177
41782006-08-26 03:11  gb
4179
4180        * lisp-kernel/x86-exceptions.h: Need to do an explicit sigreturn on
4181        Darwin (because of the sigaltstack hacks; Darwin uses sigtramp glue
4182        that we can't just return to after switching off of the alt stack.)
4183
41842006-08-26 03:08  gb
4185
4186        * lib/numbers.lisp: Check fpu overflow bit (not underflow) when
4187        deciding whether or not to signal overflow.
4188
41892006-08-26 03:08  gb
4190
4191        * level-1/x86-trap-support.lisp: Need an indirection to access
4192        mcontext from ucontext on Darwin; invent xp-gp-regs to get at
4193        mcontext64.ss.
4194
41952006-08-26 03:06  gb
4196
4197        * level-1/x86-error-signal.lisp: Add a declaration, to make this
4198        easier to step through.
4199
42002006-08-26 03:05  gb
4201
4202        * level-0/l0-float.lisp: SINGLE-FLOAT-HALF-PI: use f0 not e0, just
4203        in case.
4204
42052006-08-25 20:35  gb
4206
4207        * level-1/l1-boot-lds.lisp, level-1/l1-events.lisp,
4208        lib/ccl-export-syms.lisp: Hyphenate ADD-AUTO-FLUSH-STREAM and
4209        REMOVE-AUTO-FLUSH-STREAM.
4210       
4211        Export them, too.
4212
42132006-08-25 20:22  gb
4214
4215        * lib/streams.lisp: READ-LINE on BASIC-INPUT-STREAM w/o
4216        STREAM-READ-LINE.
4217
42182006-08-25 20:22  gb
4219
4220        * lib/macros.lisp: HANDLER-CASE: the :NO-ERROR clause can appear at
4221        most once but doesn't have to be the last clause.
4222
42232006-08-25 20:21  gb
4224
4225        * level-1/l1-streams.lisp: BASIC-OUTPUT-STREAM isn't an
4226        INPUT-STREAM.
4227       
4228        Some STREAM-READ-LINE support for BASIC-CHARACTER-INPUT-STREAM.
4229
42302006-08-25 20:19  gb
4231
4232        * level-1/l1-readloop.lisp: PREPARE-TO-QUIT: other threads should
4233        be dead by the time that streams on *OPEN-FILE-STREAMS* are closed,
4234        so unlock those streams with extreme prejudice before closing them.
4235
42362006-08-25 20:18  gb
4237
4238        * level-1/l1-pathnames.lisp: FULL-PATHNAME: remove some weird old
4239        code that assumed that interfered with handling of relative logical
4240        pathnames.
4241
42422006-08-25 20:17  gb
4243
4244        * level-1/l1-events.lisp: Rename EVENT-POLL to
4245        AUTO-FLUSH-INTERACTIVE-STREAMS.
4246       
4247        Make AUTO-FLUSH-INTERACTIVE-STREAMS do conditional locking on each
4248        stream (doing nothing if it's not :SHARING :LOCK; unconditional
4249        locking on the *AUTO-FLUSH-STREAMS-LOCK*.
4250       
4251        ADD-AUTOFLUSH-STREAM ensures that the stream is :SHARING :LOCK.
4252       
4253        REMOVE-AUTOFLUSH-STREAM.
4254
42552006-08-25 20:13  gb
4256
4257        * level-1/l1-boot-lds.lisp: MAKE-MCL-LISTENER-STREAM uses
4258        ADD-AUTOFLUSH-STREAM, REMOVE-AUTOFLUSH-STREAM.
4259
42602006-08-23 22:59  gb
4261
4262        * lisp-kernel/x86-exceptions.c: Darwin needs to decode the mxcsr on
4263        SIGFPE.
4264       
4265        DARWIN_GS_HACK changes in altstack handlers for interrupt/suspend.
4266
42672006-08-23 22:58  gb
4268
4269        * lisp-kernel/x86-spentry64.s: x86-64 Darwin's math library is
4270        pretty casual about causing spurious exceptions, so ignore them.
4271
42722006-08-23 22:57  gb
4273
4274        * lisp-kernel/darwinx8664/.gdbinit: New file; like the linuxx8664
4275        version, with different signals to be ignored by gdb.
4276
42772006-08-23 22:56  gb
4278
4279        * lisp-kernel/x86-asmutils64.s: Using ud2b to force an exception in
4280        pseudo_sigreturn() seems to cause/be related to spurious SIGTRAPs.
4281        Use int $0 instead.
4282
42832006-08-23 22:55  gb
4284
4285        * level-1/x86-trap-support.lisp: First attempt at Darwinx8664
4286        support; may need more work.
4287
42882006-08-22 02:08  gb
4289
4290        * lisp-kernel/x86_print.c: Try not to use sprintf() (at least not
4291        for printing integers), since it seems to need access to pthread
4292        data (and calling print_lisp_object() from GDB might fail if %gs is
4293        pointing at the lisp TCR.)
4294
42952006-08-22 02:06  gb
4296
4297        * lisp-kernel/x86-spentry64.s: Unbox %arg_z (boxed entrypoint)
4298        earlier in _SPffcall, before entering foreign context.  (Need to
4299        check PPC version(s) as well.)
4300       
4301        Use DARWIN_GS_HACK to swap %gs memory around when transitioning
4302        between foreign code and lisp.
4303
43042006-08-22 02:04  gb
4305
4306        * lisp-kernel/x86-macros.s: Fix a typo.
4307
43082006-08-22 02:04  gb
4309
4310        * lisp-kernel/x86-exceptions.h: Define a few more things ...
4311
43122006-08-22 02:03  gb
4313
4314        * lisp-kernel/x86-exceptions.c: Lots of changes, especially to Mach
4315        exception handling code.
4316       
4317        Do the DARWIN_GS_HACK things to overload %gs.
4318
43192006-08-22 02:02  gb
4320
4321        * lisp-kernel/x86-asmutils64.s: atomic_and(), pseudo_sigreturn()
4322        for DarwinX8664.
4323
43242006-08-22 02:01  gb
4325
4326        * lisp-kernel/thread_manager.c: Some PPC64 conditionalizations
4327        should really have tested WORD_SIZE.
4328       
4329        DARWIN_GS_HACK stuff around suspend/resume signal handlers.  (May
4330        not be necessary.)
4331       
4332        Ensure that tcr.linear gets set on x86, even if not HAVE_TLS.
4333
43342006-08-22 01:59  gb
4335
4336        * lisp-kernel/pmcl-kernel.c: Don't really flush cache lines on
4337        x8664.
4338       
4339        Some PPC64 conditionalizations should really have tested WORD_SIZE.
4340
43412006-08-22 01:58  gb
4342
4343        * lisp-kernel/m4macros.m4: Define SYSCALL_SETS_CARRY_ON_ERROR for
4344        FreeBSDX664, DarwinX8664.
4345
43462006-08-22 01:57  gb
4347
4348        * lisp-kernel/darwinx8664/Makefile: Much smaller pagezero, much
4349        lower seg1addr.
4350       
4351        Something in the (m4-generated) symbolic info in some .s files is
4352        screwy and causes ld64 to segfault; it's currently necesssary to
4353        use "strip -S" on the assembler-generated .o files.
4354
43552006-08-22 01:55  gb
4356
4357        * scripts/openmcl64: Untested changes for Darwinx8664.
4358
43592006-08-22 01:54  gb
4360
4361        * xdump/xx8664-fasload.lisp: Fix typo in darwinx8664
4362        xload-backend-info (compiler target is :darwinx8664, not
4363        :linuxx8664).
4364
43652006-08-22 01:53  gb
4366
4367        * lib/nfcomp.lisp: Dump concatenated functions from xfunctions when
4368        cross-compiling to x86 from x86.
4369
43702006-08-22 01:52  gb
4371
4372        * lib/misc.lisp: MACHINE-VERSION:  conditionalize on :DARWIN-TARGET
4373        (not :DARWINPPC-TARGET).
4374
43752006-08-22 01:50  gb
4376
4377        * lib/foreign-types.lisp: :DARWIN-TARGET (not :DARWINPPC-TARGET).
4378
43792006-08-22 01:50  gb
4380
4381        * lib/compile-ccl.lisp: :DARWINX8664 stuff.
4382
43832006-08-22 01:49  gb
4384
4385        * level-1/version.lisp: Bump.
4386
43872006-08-22 01:49  gb
4388
4389        * level-1/l1-sysio.lisp: FILE-STREAM-EXTERNAL-FORMAT stuff for
4390        BASIC-STREAMs.
4391
43922006-08-22 01:48  gb
4393
4394        * level-1/: l1-sockets.lisp, linux-files.lisp: Conditionalize on
4395        DARWIN-TARGET, not DARWINPPC-TARGET.
4396
43972006-08-22 01:47  gb
4398
4399        * level-0/l0-init.lisp: DarwinX8664 *features*.
4400
44012006-08-22 01:47  gb
4402
4403        * level-0/l0-cfm-support.lisp: Some DARWINPPC-TARGET conditionals
4404        really want to be DARWIN-TARGET.
4405
44062006-08-22 01:46  gb
4407
4408        * compiler/X86/X8664/x8664-arch.lisp: YIELD-SYSCALL for
4409        DarwinX8664.
4410
44112006-08-22 01:45  gb
4412
4413        * compiler/X86/x862.lisp: Use CROSS-CREATE-X86-FUNCTION if not
4414        compiling natively.
4415       
4416        Fix X862-FIXUP-FWD-REFS if not native function on x86.
4417
44182006-08-22 01:44  gb
4419
4420        * compiler/X86/x86-lap.lisp: Ensure that CROSS-CREATE-X86-FUNCTION
4421        is defined, even on x86.  Use it if not compiling natively on x86.
4422
44232006-08-20 23:59  gb
4424
4425        * lisp-kernel/darwinx8664/Makefile: Define DARWIN_GS_HACK.
4426
44272006-08-20 23:58  gb
4428
4429        * lisp-kernel/x86-exceptions.c: Still needs lots of work.
4430
44312006-08-20 23:58  gb
4432
4433        * lisp-kernel/x86-exceptions.h: Include Mach stuff on Darwin;
4434        prototypes for DARWIN_GS_HACK %gs segment switching.
4435
44362006-08-20 23:57  gb
4437
4438        * lisp-kernel/x86-subprims64.s: Manipulate the %gs register when a
4439        lisp thread starts, exits and DARWIN_GS_HACK is defined.
4440       
4441        This isn't so bad, but doing it around every ff-call might be.
4442
44432006-08-20 23:56  gb
4444
4445        * lisp-kernel/x86-macros.s: DARWIN_GS_HACK macros.
4446
44472006-08-20 23:53  gb
4448
4449        * lisp-kernel/thread_manager.c: Note the need for DARWIN_GS_HACK.
4450
44512006-08-20 23:51  gb
4452
4453        * lisp-kernel/x86-asmutils64.s: DARWIN_GS_HACK hacks.
4454
44552006-08-20 23:51  gb
4456
4457        * lisp-kernel/m4macros.m4: Hope that the need for DARWIN_GS_HACK is
4458        also temporary.
4459
44602006-08-20 23:50  gb
4461
4462        * lisp-kernel/lisptypes.h: Hope that the workaround for missing
4463        mcontext64 in x8664 Darwin is temporary.
4464
44652006-08-20 20:35  gb
4466
4467        * library/darwinx664-syscalls.lisp: typo
4468
44692006-08-20 20:35  gb
4470
4471        * library/darwinx8664-syscalls.lisp: spell name right
4472
44732006-08-20 17:10  gb
4474
4475        * xdump/xx8664-fasload.lisp: :darwinx8664 stuff.
4476
44772006-08-20 17:10  gb
4478
4479        * lib/db-io.lisp: :struct-by-value: don't read-time conditionalize
4480        (do other things still use read-time conditionals ?)
4481
44822006-08-20 17:09  gb
4483
4484        * compiler/X86/X8664/x8664-backend.lisp: Darwinx8664: overload %gs,
4485        setup syscall mask.
4486
44872006-08-20 17:08  gb
4488
4489        * compiler/nx1.lisp: Handle syscall, ff-call for :darwinx8664 as
4490        well.
4491
44922006-08-20 17:06  gb
4493
4494        * library/darwinx664-syscalls.lisp: New file; or's in the bit for
4495        Unix syscalls on Darwinx8664.  (Screw: should (carefully) review
4496        word-size issues.)
4497
44982006-08-20 17:03  gb
4499
4500        * library/darwinppc-syscalls.lisp: Mask for PPC.
4501
45022006-08-20 17:02  gb
4503
4504        * level-0/l0-io.lisp, level-1/l1-sockets.lisp,
4505        level-1/linux-files.lisp: Syscall conditionalization.
4506
45072006-08-20 17:01  gb
4508
4509        * level-1/l1-streams.lisp: Syscall conditionalization.
4510       
4511        SELECTION-INPUT-STREAM created with :sharing :lock.
4512
45132006-08-20 17:00  gb
4514
4515        * examples/objc-runtime.lisp: Fencepost in
4516        POINTER-IN-CFSTRING-SECTION-P.
4517
45182006-08-20 16:16  gb
4519
4520        * library/: darwinppc-syscalls.lisp, darwin-syscalls.lisp: rename
4521
45222006-08-18 09:50  gb
4523
4524        * lisp-kernel/thread_manager.c: Enable FP underflow detection on
4525        x8664.  Should do this on PPC as well, and should probably offer
4526        some backward-compatible behavior for reader.
4527
45282006-08-18 09:47  gb
4529
4530        * compiler/X86/X8664/x8664-backend.lisp: Dress up the Darwin x86-64
4531        backend a little.
4532       
4533        Explicily define lisp-context-register slot in each backend (%gs
4534        for those imolementations that follow the standard ABI, %fs for
4535        Darwin.)
4536
45372006-08-18 09:44  gb
4538
4539        * compiler/X86/X8664/x8664-vinsns.lisp: Use :rcontext when
4540        necessary.
4541
45422006-08-18 09:43  gb
4543
4544        * compiler/X86/: x86-backend.lisp, x86-lap.lisp: Recognize
4545        :rcontext as a reference to the backend's LISP-CONTEXT-REGISTER
4546        slot.
4547
45482006-08-18 09:42  gb
4549
4550        * compiler/backend.lisp: Backend now has a lisp-context-register
4551        slot.
4552
45532006-08-18 09:42  gb
4554
4555        * compiler/X86/X8664/x8664-arch.lisp: No more (constant) rcontext.
4556
45572006-08-18 09:40  gb
4558
4559        * level-0/X86/: x86-def.lisp, x86-float.lisp, x86-io.lisp,
4560        x86-misc.lisp, x86-symbol.lisp, x86-utils.lisp: Refer to rcontext
4561        segment register as :rcontext, since x86-64 Darwin doesn't laugh
4562        and play like the other children.
4563
45642006-08-18 09:29  gb
4565
4566        * lisp-kernel/x86-exceptions.c: Copy some of the Mach exception
4567        code from the PPC version and tweak it a little; needs more work.
4568
45692006-08-18 09:27  gb
4570
4571        * lisp-kernel/x86-exceptions.h: Provide some interim Darwin
4572        conditionalization.
4573
45742006-08-18 09:25  gb
4575
4576        * lisp-kernel/m4macros.m4: Spell FREEBSD correctly.
4577       
4578        Generate an equate for HAVE_TLS.
4579
45802006-08-18 09:23  gb
4581
4582        * lisp-kernel/x86-gc.c: Changes in purify_xp().
4583
45842006-08-18 09:19  gb
4585
4586        * lisp-kernel/x86-spentry64.s: Darwin x86-64 assembler doesn't like
4587        absolute jumps, prefers slower ones.
4588       
4589        Move lock prefixes to their own lines, to satisfy you-know-who.
4590       
4591        If we don't have thread-local-storage (TLS), it's hard to avoid the
4592        get_tcr() call on each calback.
4593
45942006-08-18 09:13  gb
4595
4596        * lisp-kernel/: freebsdx8664/Makefile, linuxx8664/Makefile: Tell m4
4597        that we HAVE_TLS.
4598
45992006-08-17 10:41  phil
4600
4601        * examples/FFI/:
4602        Allocating-foreign-data-on-the-lisp-heap/ptrtest-compile.sh,
4603        Allocating-foreign-data-on-the-lisp-heap/ptrtest.c,
4604        Allocating-foreign-data-on-the-lisp-heap/ptrtest.lisp,
4605        Using-basic-calls-and-types/Readme.rtf,
4606        Using-basic-calls-and-types/typetest-compile.sh,
4607        Using-basic-calls-and-types/typetest.c,
4608        Using-basic-calls-and-types/typetest.lisp: Initial version
4609
46102006-08-17 10:40  phil
4611
4612        * examples/FFI/Allocating-foreign-data-on-the-lisp-heap/Readme.rtf:
4613        [no log message]
4614
46152006-08-08 13:07  gb
4616
4617        * lisp-kernel/darwinx8664/Makefile: New file.
4618
46192006-08-08 13:07  gb
4620
4621        * lisp-kernel/x86-exceptions.h: xp accessors for Darwinx8664.
4622
46232006-08-08 13:06  gb
4624
4625        * lisp-kernel/x86-constants64.h: REG_* constants for Darwin.
4626
46272006-08-08 13:05  gb
4628
4629        * lisp-kernel/x86-asmutils64.s: Darwin assembler doesn't like lock
4630        instructions on the same line as the locked instruction.  (Maybe
4631        there's a better way to do this, than just pretending that lock is
4632        a standalone instruction, but that lock instruction does seem to be
4633        treated as a prefix.)
4634
46352006-08-08 13:03  gb
4636
4637        * lisp-kernel/pmcl-kernel.c: Treat X8664 like PPC64 (e.g., use
4638        dlfcn) on Darwin.
4639
46402006-08-08 13:02  gb
4641
4642        * lisp-kernel/lisptypes.h: xcode 2.4 headers: <i386/ucontext.h>
4643        doesn't define mcontext64, but lots of other things reference it.
4644        #define it here for now, but that'll likely break when the headers
4645        are fixed.
4646
46472006-08-08 12:58  gb
4648
4649        * lisp-kernel/lisp-debug.c: Define Iregnames for darwinx8664.
4650
46512006-08-08 12:58  gb
4652
4653        * lisp-kernel/area.h: Define an IMAGE_BASE_ADDRESS for
4654        x8664/Darwin.
4655
46562006-07-29 08:41  gb
4657
4658        * level-1/l1-streams.lisp: STREAM-WRITE-BYTE, STREAM-WRITE-IVECTOR.
4659         :BASIC defaults to T in OPEN; BASIC-FILE-STREAM probably still
4660        needs READ/WRITE- SEQUENCE support.
4661
46622006-07-29 07:39  gb
4663
4664        * level-1/l1-aprims.lisp: ALLOCATE-RESOURCE, FREE-RESOURCE: use
4665        lock.  TODO: evaluate whether resources are worthwhile;  used for
4666        string-output-stream allocation and DELETE-DUPLICATES.
4667
46682006-07-29 06:27  gb
4669
4670        * library/lispequ.lisp: Resources aren't thread-private, need
4671        locks.
4672
46732006-07-29 06:26  gb
4674
4675        * level-1/l1-sysio.lisp: MAKE-FILE-STREAM: support for
4676        BASIC-STREAMs.
4677
46782006-07-29 06:26  gb
4679
4680        * level-1/l1-streams.lisp: OPEN handles BASIC-STREAMs; not yet the
4681        default.
4682
46832006-07-29 06:25  gb
4684
4685        * level-1/l1-reader.lisp: *PARSE-STRING-RESOURCE* probably hasn't
4686        been used in 10 or 12 years.
4687
46882006-07-29 03:40  gb
4689
4690        * level-1/l1-sysio.lisp: Most BASIC-FILE-STREAM stuff.
4691
46922006-07-29 03:40  gb
4693
4694        * library/lispequ.lisp: BASIC-FILE-STREAM.EXTERNAL-FORMAT, at least
4695        for now.
4696
46972006-07-29 03:39  gb
4698
4699        * level-1/l1-streams.lisp: BASIC-IO-STREAM; ALLOCATE-BASIC-STREAM
4700        makes one more slot in BASIC-FILE-STREAM.
4701
47022006-07-28 04:17  gb
4703
4704        * level-1/version.lisp: Bump.
4705
47062006-07-28 04:15  gb
4707
4708        * level-1/l1-streams.lisp: A couple of more (soon-to-be-used) slots
4709        in IOBLOCK.
4710
47112006-07-28 01:17  gb
4712
4713        * level-1/l1-streams.lisp: Lots of changes; lots more to go.
4714
47152006-07-28 01:16  gb
4716
4717        * level-1/l1-sockets.lisp: Pass :CHARACTER-P T to MAKE-FD-STREAM.
4718
47192006-07-28 00:58  gb
4720
4721        * examples/cocoa-listener.lisp: Want :SHARING :LOCK on listener
4722        output.
4723       
4724        (SLIME probably faces the same issue; should probably do something
4725        in the auto-flush case.  Of course, it's hard to know just what to
4726        do in that case. or at least what to do safely in that case.)
4727
47282006-07-28 00:49  gb
4729
4730        * level-1/l1-sysio.lisp: Define SELECT-STREAM-CLASS on
4731        FUNDAMENTAL-FILE-STREAM.
4732
47332006-07-28 00:49  gb
4734
4735        * lib/streams.lisp: READ-BYTE for BASIC-STREAMs.
4736
47372006-07-28 00:48  gb
4738
4739        * library/lispequ.lisp: Need an explicit
4740        BASIC-STREAM-FLAG.OPEN-CHARACTER bit, due to bivalence.
4741
47422006-07-28 00:47  gb
4743
4744        * lib/macros.lisp: BASIC-STREAM-IOBLOCK.
4745
47462006-07-25 03:48  gb
4747
4748        * compiler/optimizers.lisp: Compiler-macro for BASIC-STREAM-P.
4749
47502006-07-24 04:55  gb
4751
4752        * lib/streams.lisp: READ-CHAR bypasses STREAM-READ-CHAR for
4753        BASIC-STREAMs.
4754
47552006-07-24 04:55  gb
4756
4757        * level-1/l1-streams.lisp: Some BASIC-STREAM stuff starts to
4758        appear.
4759
47602006-07-24 04:51  gb
4761
4762        * library/lispequ.lisp: Add a plist to basic-/basic-file-stream.
4763
47642006-07-24 02:43  gb
4765
4766        * level-1/l1-sysio.lisp: FILE-STREAM is now abstract (and some
4767        sublasses may get that way); FUNDAMENTAL-FILE-STREAM is an
4768        implementation of it (and BASIC-FILE-STREAM soon will be.)
4769
47702006-07-23 03:05  gb
4771
4772        * level-1/l1-clos-boot.lisp: *class-table* entry for BASIC-STREAM.
4773
47742006-07-23 03:03  gb
4775
4776        * level-1/l1-streams.lisp: STREAM-IOBLOCK now takes 2 required args
4777        and is inlined.
4778       
4779        Some bug fixes; STREAM class no longer has slots.
4780       
4781        IOBLOCK-READ-CHAR-FUNCTION used by READ-CHAR.  %ioblock-read-byte
4782        variants; fix read-byte botch (should vector according to
4783        element-type.)
4784
47852006-07-23 02:54  gb
4786
4787        * level-1/: linux-files.lisp, l1-sysio.lisp, l1-sockets.lisp:
4788        STREAM-IOBLOCK now takes 2 required args.
4789
47902006-07-23 02:54  gb
4791
4792        * level-1/version.lisp: Bump.
4793
47942006-07-23 02:53  gb
4795
4796        * library/lispequ.lisp: Start to define what a BASIC-STREAM looks
4797        like.
4798
47992006-07-23 02:53  gb
4800
4801        * lib/macros.lisp: Move stream-ioblock access/locking macros here.
4802       
4803        Likewise WITH-EAGAIN.
4804
48052006-07-23 01:12  gb
4806
4807        * level-1/: l1-sysio.lisp, l1-streams.lisp, l1-boot-2.lisp,
4808        l1-sockets.lisp: Fix a few botches.
4809       
4810        :private arg to stream creation primitives replaced with :sharing,
4811        which can have values:
4812       
4813         :private (the default; stream can only be accessed by the creating
4814        thread)
4815         :lock  (the old, often slow, default); most accesses to stream
4816        involve locking
4817         :nil or :external (stream code doesn't enforce exclusion).
4818
48192006-07-22 23:57  gb
4820
4821        * level-1/l1-streams.lisp: Bootstrapping stuff.
4822       
4823        Move along, nothing to see here.
4824
48252006-07-20 03:43  gb
4826
4827        * level-1/: l1-boot-2.lisp, l1-sockets.lisp, l1-streams.lisp,
4828        l1-sysio.lisp: First (rough) cut at making streams "private"
4829        (effectively always locked by the "owning" thread) to reduce some
4830        locking overhead.  More to come, some of which will be a little
4831        tricky to bootstrap.
4832
48332006-07-20 01:09  gb
4834
4835        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s,
4836        ppc-constants64.h, ppc-constants64.s, x86-constants64.h,
4837        x86-constants64.s: subtag_lisp_thread -> subtag_basic_stream.
4838
48392006-07-20 01:09  gb
4840
4841        * library/lispequ.lisp: new (istruct-based) LISP-THREAD accessors.
4842
48432006-07-20 01:08  gb
4844
4845        * level-1/version.lisp: Bump.
4846
48472006-07-20 01:07  gb
4848
4849        * level-1/l1-streams.lisp: Introduce "owner" slot in basic ioblock.
4850         A little tricky to bootstrap.
4851
48522006-07-20 01:05  gb
4853
4854        * level-0/l0-misc.lisp, level-1/l1-processes.lisp,
4855        level-1/l1-clos-boot.lisp, level-1/l1-lisp-threads.lisp: Use new
4856        (istruct-based) lisp-thread accessors.
4857
48582006-07-20 01:02  gb
4859
4860        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
4861        X86/X8664/x8664-arch.lisp: Get rid of the lisp-thread subtag
4862        (lisp-thread's are ISTRUCTs now); re-use it for (to-be-introduced)
4863        BASIC-STREAM.
4864
48652006-07-15 15:02  gb
4866
4867        * level-1/l1-error-system.lisp: Insert some fresh lines in the
4868        IMPOSSIBLE-NUMBER condition :REPORT method.
4869
48702006-07-15 15:00  gb
4871
4872        * compiler/X86/x862.lisp: x862-%aref1,x862-%aset1: don't try to do
4873        simple vector operations unless we're sure that the vector is a
4874        (SIMPLE-ARRAY * (*)) and we know the element-type (these were
4875        leaping into the simple-typed-vector case when the element-type was
4876        known but the vector wasn't known to be SIMPLE.
4877
48782006-07-14 05:57  gb
4879
4880        * compiler/nx0.lisp: NX-FORM-TYPEP: unqoute constants.
4881
48822006-07-13 16:01  gb
4883
4884        * level-1/l1-typesys.lisp: SPECIALIZED-ARRAY-ELEMENT-TYPES needs to
4885        know about FIXNUM arrays.
4886
48872006-07-11 14:23  gb
4888
4889        * compiler/X86/x862.lisp: Destination and 1st source arg overlap
4890        (2-address instructions) in natural logical, arithmetic operations.
4891
48922006-07-05 02:38  gb
4893
4894        * release-notes.txt: Update.
4895
48962006-07-05 02:22  gb
4897
4898        * level-0/l0-init.lisp: Reluctantly put :MCL back on *features*;
4899        its removal needs to be better publicized.
4900
49012006-07-04 22:24  gb
4902
4903        * level-1/linux-files.lisp: Use NATIVE-TRANSLATED-NAMESTRING on the
4904        PROGRAM arg to RUN-PROGRAM.
4905
49062006-07-04 22:23  gb
4907
4908        * level-1/version.lisp: Bump.
4909
49102006-06-29 02:11  gb
4911
4912        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump
4913        image-abi-version.
4914
49152006-06-28 05:24  gb
4916
4917        * level-0/l0-cfm-support.lisp: *rtld-default* wants to be a null
4918        pointer on DarwinPPC32 (at the very least, that platform's
4919        xFindSymbol gets confused by anything but a null pointer/global
4920        lookup.)
4921
49222006-06-28 05:09  gb
4923
4924        * level-1/version.lisp: Bump.  Call the FreeBSD/AMD64 version
4925        "Alpha", which may be a bit generous (pretty regular deadlock,
4926        random thread creation errors, other bugs.)
4927
49282006-06-28 05:07  gb
4929
4930        * lisp-kernel/freebsdx8664/.gdbinit: new; awfully similar to linux
4931        x86-64 version.
4932
49332006-06-28 04:04  gb
4934
4935        * lisp-kernel/x86-exceptions.c: FreeBSD doesn't do a good job of
4936        identifying the cause of XMM FP exceptions.  Try to do that by
4937        looking at MXCSR bits.
4938
49392006-06-28 04:03  gb
4940
4941        * lisp-kernel/x86-spentry64.s: FreeBSD syscalls set carry flag to
4942        indicate error return.
4943
49442006-06-28 04:03  gb
4945
4946        * level-1/: l1-sockets.lisp, linux-files.lisp,
4947        x86-trap-support.lisp: Some FreeBSD changes/fixes.
4948
49492006-06-28 04:02  gb
4950
4951        * level-0/l0-cfm-support.lisp: Remove a #+freebsd-target
4952        breakpoint.
4953
49542006-06-27 18:08  gb
4955
4956        * level-0/l0-cfm-support.lisp: fix (?) nested #+/#-.  Maybe.
4957
49582006-06-27 17:30  gb
4959
4960        * lisp-kernel/x86-exceptions.h: Fix Linux def of IS_MAYBE_INT_TRAP.
4961
49622006-06-27 17:27  gb
4963
4964        * lisp-kernel/pmcl-kernel.c: (possibly) make get_r_debug more
4965        portable; possibly break it completely ...
4966
49672006-06-27 08:55  gb
4968
4969        * lisp-kernel/x86-exceptions.c: map the altstack
4970        read/write/execute.
4971
49722006-06-27 08:54  gb
4973
4974        * lisp-kernel/thread_manager.c: Fix os_get_stack_bounds() for
4975        FreeBSD.
4976
49772006-06-27 08:54  gb
4978
4979        * lisp-kernel/Threads.h: FreeBSD needs prototypes from
4980        <pthread_np.h>
4981
49822006-06-27 08:53  gb
4983
4984        * lib/compile-ccl.lisp: New (renamed) kernel-build-direcory for
4985        :freebsdx8664.
4986
49872006-06-27 08:53  gb
4988
4989        * level-1/x86-trap-support.lisp: freebsd x8664 GPR indices.  (Needs
4990        testing.)
4991       
4992        Don't conditionalize as much code. Indices/offsets are
4993        platform-specific, but accessors defiend in terms of them needn't
4994        be.
4995
49962006-06-27 08:51  gb
4997
4998        * level-1/x86-callback-support.lisp: Remove 1st line (bogus
4999        comment.)
5000
50012006-06-27 08:50  gb
5002
5003        * level-0/l0-init.lisp: More freebsd x8664 features.
5004
50052006-06-27 08:50  gb
5006
5007        * scripts/openmcl64: Update for FreeBSD/amd64.
5008
50092006-06-27 08:47  gb
5010
5011        * compiler/X86/X8664/x8664-backend.lisp: FreeBSD backend has
5012        :freebsdx8664-target as a target-specific-feature.
5013
50142006-06-27 05:05  gb
5015
5016        * lisp-kernel/: freebsdx8664/Makefile, freebsd8664/Makefile,
5017        freebsd8664/elf_x86_64.x: directory rename
5018
50192006-06-27 04:59  gb
5020
5021        * xdump/xx8664-fasload.lisp: FreeBSD xload-backend.
5022
50232006-06-27 04:47  gb
5024
5025        * lisp-kernel/x86-exceptions.h: Some macros for FreeBSD changes.
5026
50272006-06-27 04:46  gb
5028
5029        * lisp-kernel/x86-exceptions.c: FreeBSD changes (at least enough to
5030        recognize UUOs, which generate SIGBUS vice SIGSEGV.)
5031
50322006-06-27 04:45  gb
5033
5034        * lisp-kernel/x86-asmutils64.s: Define freebsd_sigreturn.
5035       
5036        TODO (maybe): copy the sigtramp code when evacuating the altstack.
5037
50382006-06-27 04:44  gb
5039
5040        * lisp-kernel/thread_manager.c: FreeBSD sigreturn from
5041        suspend_resume_handler.
5042
50432006-06-27 04:44  gb
5044
5045        * lisp-kernel/pmcl-kernel.c: Some FreeBSD conditionalization;
5046        get_r_debug() for ELF platforms.  (Needs testing under Linux.)
5047
50482006-06-27 04:43  gb
5049
5050        * lisp-kernel/imports.s: Don't import metering-control; do import
5051        get_r_debug().
5052
50532006-06-27 04:42  gb
5054
5055        * library/x8664-freebsd-syscalls.lisp: New file.  Should check
5056        word-size stuff (here and in other versions.)
5057
50582006-06-27 04:42  gb
5059
5060        * lib/misc.lisp: Find MACHINE-VERSION string via #_sysctl on
5061        FreeBSD.
5062
50632006-06-27 04:39  gb
5064
5065        * lib/foreign-types.lisp: Signed char nonsense (should use target
5066        ftd, not reader macros here.)
5067
50682006-06-27 04:38  gb
5069
5070        * lib/compile-ccl.lisp: Some FreeBSD support.
5071
50722006-06-27 04:36  gb
5073
5074        * level-1/: l1-sockets.lisp, l1-streams.lisp, linux-files.lisp:
5075        Some FreeBSD changes/conditionalization. Maybe not enough.
5076
50772006-06-27 04:35  gb
5078
5079        * level-1/l1-boot-1.lisp: Recognize FREEBSD platform-os-name.
5080
50812006-06-27 04:34  gb
5082
5083        * level-0/X86/: .cvsignore, X8664/.cvsignore: Ignore *fsl.
5084
50852006-06-27 04:34  gb
5086
5087        * level-0/l0-io.lisp: FreeBSD syscalls.
5088
50892006-06-27 04:33  gb
5090
5091        * level-0/l0-init.lisp: Some FreeBSD features.
5092
50932006-06-27 04:33  gb
5094
5095        * level-0/l0-cfm-support.lisp: Lots of FreeBSD conditionalization,
5096        changes.
5097       
5098        MAY HAVE BROKEN LINUX PORTS; need to recompile on those platforms
5099        and test.
5100       
5101        Now depends on an imported lisp-kernel function on ELF platforms
5102        (Linux/FreeBSD), and therefore depends on recent kernel changes.
5103
51042006-06-27 04:30  gb
5105
5106        * level-0/.cvsignore: Ignore *fsl.
5107
51082006-06-27 04:29  gb
5109
5110        * compiler/X86/X8664/x8664-backend.lisp: Fix platform-syscall-mask
5111        in freebsd backend.
5112
51132006-06-27 04:27  gb
5114
5115        * compiler/X86/X8664/x8664-arch.lisp: Don't import
5116        metering-control; do import get-r-debug (for Elf shared libraries.)
5117       
5118        A yield-syscall constant for FreeBSD. (This is all a bad idea ...)
5119
51202006-06-27 04:26  gb
5121
5122        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp:
5123        Don't import metering-control; do import get-r-debug (for Elf
5124        shared libraries.)
5125
51262006-06-27 04:26  gb
5127
5128        * compiler/nx1.lisp: Use the non-eabi syscall on freebsd as well.
5129
51302006-06-26 16:38  gb
5131
5132        * compiler/X86/X8664/x8664-vinsns.lisp:
5133        SET-BIGITS-AND-HEADER-FOR-FIXNUM-OVERFLOW: need to change the
5134        (wrong) sign of the top 3 (fixnumshift) bits only.  Where did the
5135        constant #xffff000000000000 come from ?
5136
51372006-06-26 16:35  gb
5138
5139        * compiler/X86/x862.lisp: Fix some indentation.
5140
51412006-06-25 20:32  gb
5142
5143        * compiler/X86/X8664/x8664-backend.lisp: FreeBSD x8664 backend;
5144        change initialiation of x8664 foreign-type stuff.
5145
51462006-06-25 20:31  gb
5147
5148        * compiler/backend.lisp: PLATFORM-OS-FREEBSD.
5149
51502006-06-23 19:52  gb
5151
5152        * darwin-headers/: gl/C/.cvsignore, libc/C/.cvsignore,
5153        quicktime/C/.cvsignore: Ignore Developer subdirectory.  c
5154
51552006-06-23 19:28  gb
5156
5157        * release-notes.txt: Update some.
5158
51592006-06-23 19:11  gb
5160
5161        * examples/gtk2-clock.lisp: New file.
5162
51632006-06-23 18:56  gb
5164
5165        * level-1/version.lisp: Bump.
5166
51672006-06-23 18:52  gb
5168
5169        * lib/ccl-export-syms.lisp: Export DEFLOADVAR.
5170
51712006-06-22 13:39  gb
5172
5173        * x86-headers64/gnome2/C/.cvsignore: new
5174
51752006-06-22 13:36  gb
5176
5177        * x86-headers64/: gl/C/.cvsignore, gnome2/C/populate.sh: new
5178
51792006-06-22 13:33  gb
5180
5181        * x86-headers64/: gl/.cvsignore, gl/C/populate.sh,
5182        gnome2/.cvsignore: new
5183
51842006-06-22 13:30  gb
5185
5186        * examples/opengl-ffi.lisp: #+linuxppc-target -> #+linux-target.
5187
51882006-06-22 13:28  gb
5189
5190        * level-1/version.lisp: Bump.
5191
51922006-06-21 15:15  gb
5193
5194        * lisp-kernel/: ppc-constants64.h, ppc-constants64.s,
5195        ppc-spentry.s: Define new string subtags; handle them in ppc64
5196        misc_ref/misc_set.
5197
51982006-06-21 15:14  gb
5199
5200        * level-0/PPC/ppc-array.lisp: Fix %INIT-MISC (both ppc2 and ppc64
5201        versions) to handle FIXNUM vectors, new UCS4 strings.
5202
52032006-06-21 15:14  gb
5204
5205        * level-0/l0-array.lisp: Fix %INIT-MISC (bot ppc2 and ppc64
5206        versions) to handle FIXNUM vectors, new UCS4 strings.
5207
52082006-06-21 15:12  gb
5209
5210        * darwin-headers/: carbon/C/populate.sh, cocoa/C/populate.sh,
5211        gl/C/populate.sh, libc/C/populate.sh, quicktime/C/populate.sh,
5212        webkit/C/populate.sh: Use 10.4u headers from XCode SDK.
5213
52142006-06-21 15:11  gb
5215
5216        * compiler/PPC/PPC64/ppc64-arch.lisp: Add SUBTAG-NEW-STRING.
5217
52182006-06-21 15:11  gb
5219
5220        * compiler/PPC/PPC32/ppc32-arch.lisp: MAX-32-BIT-IVECTOR-SUBTAG
5221        wasn't updated with the introduction of fixnum vectors, (unused)
5222        UCS4 "new"strings.
5223
52242006-06-16 03:50  gb
5225
5226        * examples/objc-support.lisp: Re-compute static NSString info after
5227        opening an extension framework.
5228
52292006-06-16 03:45  gb
5230
5231        * examples/webkit.lisp: Use new functions for augmenting
5232        interfaces, loading framework.
5233
52342006-06-16 03:43  gb
5235
5236        * examples/objc-runtime.lisp: Juggle things around so that add-on
5237        framework bundles get loaded on appication re-launch.
5238       
5239        REVIVE-OBJC-CLASSES tells MAP-OBJC-CLASSES not to hit the database,
5240        since (a) it may not be there, or may not be where we can find it
5241        yet and (b) it's probably more reasonable to do that than it would
5242        be to teach CLOS about classes that're "discovered" when the
5243        appication's launched on a newer OS release than it was saved on.
5244
52452006-06-16 03:39  gb
5246
5247        * examples/cocoa-application.lisp: Touch tha application bundle
5248        before saving an image into it.  That -may- convincve
5249        LaunchServices to do the right thing.
5250
52512006-06-16 03:38  gb
5252
5253        * examples/objc-support.lisp: Reload any addon/framework bundles
5254        that had been loaded before the image was saved when starting a
5255        bundled application.
5256       
5257        Juggle things around, so that that works (need to be able to use
5258        low-level bridge features early.)
5259
52602006-06-16 03:36  gb
5261
5262        * lib/db-io.lisp: Disable the #? reader macro.
5263
52642006-06-14 15:42  gb
5265
5266        * level-0/: PPC/ppc-def.lisp, X86/x86-def.lisp: Fix #+APPLY+
5267        lfun-bits.
5268
52692006-06-12 20:24  gb
5270
5271        * lib/ppc-backtrace.lisp: PPC version of
5272        %find-register-argument-value had the same sort of fencepost as the
5273        x86-64 version had a few days ago.
5274
52752006-06-10 23:52  gb
5276
5277        * lib/arglist.lisp: %ARGLIST-INTERNAL: if generic-function, return
5278        its GENERIC-FUNCTION-LAMBDA-LIST.
5279
52802006-06-10 23:51  gb
5281
5282        * level-1/l1-clos.lisp: Give reader/writer method args more
5283        descriptive names. (Barely more descriptive ...)
5284
52852006-06-10 19:25  gb
5286
5287        * level-1/l1-clos-boot.lisp: Arrgh.  In
5288        %MAYBE-STD-SETF-SLOT-VALUE-USING-CLASS, we know nothing about the
5289        type of the instance, so don't use INSTANCE.SLOTS (instead, let
5290        INSTANCE-SLOTS do a TYPECASE; it's inlined at this point.)
5291       
5292        This was keeping non-standard instances - like ObjC classes and
5293        metaclasses - from having some of their slots initialized
5294        correctly.
5295
52962006-06-10 19:22  gb
5297
5298        * examples/objc-clos.lisp: PRINT-OBJECT methods for objc-class,
5299        objc-metaclass: don't die if the class is unnamed (makes it easier
5300        to print classes for debugging during initialization.)
5301
53022006-06-10 13:05  gb
5303
5304        * level-1/ppc-trap-support.lisp: Fix LinuxPPC64 versions of
5305        XP-FPSCR-INFO and XP-DOUBLE-FLOAT.
5306
53072006-06-08 05:01  gb
5308
5309        * release-notes.txt: Update a bit.
5310
53112006-06-08 03:56  gb
5312
5313        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump
5314        image-abi-version.
5315
53162006-06-08 03:46  gb
5317
5318        * xdump/faslenv.lisp: Bump (min) fasl version.
5319
53202006-06-08 03:35  gb
5321
5322        * lib/nfcomp.lisp: Bump (current) fasl-version.
5323
53242006-06-08 03:28  gb
5325
5326        * lisp-kernel/linuxx8664/Makefile: -O2.
5327
53282006-06-08 03:26  gb
5329
5330        * xdump/faslenv.lisp: Bump (max) fasl version.
5331
53322006-06-08 03:18  gb
5333
5334        * level-1/version.lisp: Bump; give x86-64 port the benefit of the
5335        doubt and claim that it's a beta.
5336
53372006-06-08 03:18  gb
5338
5339        * lisp-kernel/darwinppc64/Makefile: Enable -O2.
5340
53412006-06-08 03:17  gb
5342
5343        * lisp-kernel/darwinppc/Makefile: Some commented-out debugging
5344        options; enable -O2.
5345
53462006-06-08 02:55  gb
5347
5348        * lisp-kernel/x86-exceptions.c: thread_signal_setup() moved here.
5349        Handle suspend (and maybe someday resume, again) signals on the
5350        altstack, since we don't really want a signal context in the middle
5351        of the tagged lisp stack ...
5352
53532006-06-08 02:52  gb
5354
5355        * lisp-kernel/thread_manager.c: thread_signal_setup() moved to
5356        PLATFORM-exceptions.c; some constants/prototypes moved to
5357        Threads.h.
5358
53592006-06-08 02:51  gb
5360
5361        * lisp-kernel/ppc-exceptions.c: suspend_resume_handler() installed
5362        via install_signal_handler(); thread_signal_setup() moved here, to
5363        do that installation.
5364
53652006-06-08 02:50  gb
5366
5367        * lisp-kernel/pmcl-kernel.c: Don't enable_fp_exceptions() twice.
5368       
5369        Don't call (or define) prepare_for_the_worst(), which is kind of
5370        too bad ...
5371
53722006-06-08 02:49  gb
5373
5374        * lisp-kernel/Threads.h: suspend/resume constants, prototypes.
5375
53762006-06-08 01:11  gb
5377
5378        * level-1/l1-files.lisp: Back out of ill-advised changed to %LOAD;
5379        let OPTIMIZE proclamations persist beyond the LOAD.
5380
53812006-06-07 21:45  gb
5382
5383        * lisp-kernel/x86-subprims64.s: No nore %tsp/%Rnext_tsp.
5384
53852006-06-07 21:38  gb
5386
5387        * lisp-kernel/x86-spentry64.s: Don't maintain current/next tsp in
5388        MMX regs.  Do maintain them in TCR.
5389
53902006-06-07 21:37  gb
5391
5392        * lisp-kernel/x86-macros.s: Don't maintain %tsp when stack-consing;
5393        update (decrement) tcr.next_tsp atomically, use %stack_temp as a
5394        temporary (old tsp), finish frame by storing into tcr.save_tsp.
5395
53962006-06-07 21:34  gb
5397
5398        * lisp-kernel/x86-exceptions.c: tsp is in the TCR now.
5399
54002006-06-07 21:33  gb
5401
5402        * lisp-kernel/x86-constants64.s: No more %tsp, %Rnext_tsp.  Define
5403        %stack_temp.
5404
54052006-06-07 21:32  gb
5406
5407        * lisp-kernel/x86-constants64.h: No more Itsp, Inext_tsp.
5408
54092006-06-07 21:30  gb
5410
5411        * level-0/X86/x86-def.lisp: %CURRENT-TSP: the tsp is in the TCR
5412        now.
5413
54142006-06-07 21:30  gb
5415
5416        * compiler/X86/X8664/x8664-vinsns.lisp: Don't try to maintain %tsp
5417        (since it no longer exists ...).  Use %stack-temp in some cases.
5418
54192006-06-07 21:29  gb
5420
5421        * compiler/X86/X8664/x8664-arch.lisp: No more %tsp or %next-tsp.
5422        %stack-temp is a symbolic name for an MMX register that can be used
5423        for (e.g.) linking frames on the temp/foreign stacks (or for any
5424        other purpose ...)
5425
54262006-06-07 15:29  gb
5427
5428        * compiler/X86/X8664/x8664-vinsns.lisp: No more %Rforeign_sp.  Keep
5429        tcr.next_tsp in sync with %next_tsp Check to ensure that
5430        %tsp,tcr.save_tsp,and tcr.next_tsp all have the same value when
5431        allocating on the temp stack.  (This will soon change, so that %tsp
5432        and %next_tsp will not be canonical and the tcr fields are, then
5433        will change so that %tsp and %next_tsp will cease to exist.)
5434
54352006-06-07 15:25  gb
5436
5437        * lisp-kernel/x86-subprims64.s: No more %Rforeign_sp.
5438
54392006-06-07 15:25  gb
5440
5441        * lisp-kernel/: x86-macros.s, x86-spentry64.s: Keep tcr.next_tsp in
5442        sync with %Rnext_tsp.  No more %Rforeign_sp, but we can use %mm5 as
5443        a temporary.
5444
54452006-06-07 15:23  gb
5446
5447        * lisp-kernel/x86-exceptions.c: Find the foreign RSP from the TCR;
5448        don't need FP regs for this.  (They're sometimes invalid and
5449        sometimes missing, which is the point of recent changes.)
5450
54512006-06-07 15:21  gb
5452
5453        * lisp-kernel/x86-constants64.s: No foreign_sp.  Rename %next_tsp
5454        to %Rnext_tsp to avoid potential m4 lossage.
5455
54562006-06-07 15:20  gb
5457
5458        * lisp-kernel/x86-constants64.h: No Iforeign_sp.
5459
54602006-06-07 15:20  gb
5461
5462        * lisp-kernel/thread_manager.c: Initialize tcr->next_tsp on X86.
5463
54642006-06-07 15:19  gb
5465
5466        * level-1/version.lisp: Bump.
5467
54682006-06-07 15:19  gb
5469
5470        * level-0/X86/x86-def.lisp: Get foreign-sp from the TCR.
5471
54722006-06-07 15:18  gb
5473
5474        * compiler/X86/X8664/x8664-arch.lisp: More bootstrapping: no more
5475        foreign-sp register (though some code still uses %mm5 as a
5476        temporary, the "canonical" foreign SP is maintained in the TCR.)
5477
54782006-06-07 04:52  gb
5479
5480        * lisp-kernel/x86-macros.s: When making a catch/unwind-protect
5481        frame, get the foreign SP out of the TCR.
5482
54832006-06-07 04:52  gb
5484
5485        * compiler/X86/X8664/x8664-vinsns.lisp,
5486        lisp-kernel/x86-spentry64.s: More bootstrapping: continue to
5487        maintain the foreign sp in both the TCR and the MMX register, but
5488        consider the TCR version to be canonical.
5489
54902006-06-07 02:46  gb
5491
5492        * compiler/X86/X8664/x8664-vinsns.lisp: More bootstrapping: if the
5493        %tsp MMX register doesn't match the value in the tcr, trap.
5494        Likewise for %foreign-sp.
5495
54962006-06-07 01:29  gb
5497
5498        * compiler/X86/X8664/x8664-vinsns.lisp, lisp-kernel/x86-macros.s,
5499        lisp-kernel/x86-spentry64.s: Try to keep tcr.save_tsp in synch with
5500        %tsp, and likewise for %Rforeign_sp/tcr.foreign_sp.
5501       
5502        (The idea is to keep the temp/foreign stack pointers in the tcr and
5503        only use the MMX registers as temporaries, since it seems that
5504        handlers for asynchronous signals can't count on the MMX register
5505        values in the signal context being correct.  This seems to either
5506        be a Linux kernel bug or ill-considered if it's intentional
5507        behavior, but it seems better to work around it this way.)
5508       
5509        This is just an early step in bootstrapping that change; it's being
5510        checked into CVS so that it doesn't get lost (and so that I can
5511        recover to this point if/when I hose things on a later step.)
5512
55132006-06-07 01:24  gb
5514
5515        * compiler/X86/X8664/x8664-arch.lisp: Add a next-tsp slot to the
5516        tcr.
5517
55182006-06-07 01:22  gb
5519
5520        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Add a
5521        next_tsp slot to the tcr.
5522
55232006-06-06 04:25  gb
5524
5525        * lib/ppc-metering.lisp: no hope
5526
55272006-06-06 04:22  gb
5528
5529        * lib/x86-backtrace.lisp: %find-register-argument-value: Current
5530        frame (cfp argument) could be an exception callback frame (xcf-p
5531        may be true of it), in which case the saved register value is in
5532        the xcf.xp context.  (Basically, this means look at the first frame
5533        if it's an xcf, otherwise skip it and start with the child.)
5534
55352006-06-06 01:48  gb
5536
5537        * compiler/X86/x86-lapmacros.lisp,
5538        compiler/X86/X8664/x8664-vinsns.lisp, lisp-kernel/x86-macros.s:
5539        Using imul to box fixnums is smaller and seems to be faster than
5540        using lea with a scale factor.
5541
55422006-06-05 23:56  gb
5543
5544        * lisp-kernel/thread_manager.c: I don't think that
5545        suspend_resume_handler wants to have suspend signals unmasked, does
5546        it ?
5547
55482006-06-05 12:43  gb
5549
5550        * library/chud-metering.lisp: area-readonly is in ccl:: now.
5551
55522006-06-03 03:11  gb
5553
5554        * lisp-kernel/x86-spentry64.s: In _SPnthrowvalues: don't skip the
5555        last catch frame, do skip others (test was backwards.  As it
5556        probably had been in the single-value case at one point.)
5557
55582006-06-02 03:48  gb
5559
5560        * lib/encapsulate.lisp: Don't print trace indent/outdent stuff to
5561        *terminal-io*; do print it to *trace-output*.
5562
55632006-06-01 20:20  gb
5564
5565        * level-0/l0-array.lisp: There's a T in subtag.
5566
55672006-06-01 20:17  gb
5568
5569        * compiler/X86/x862.lisp: X862-MVCALL wasn't handling things like:
5570       
5571        (multiple-value-bind (...)   (multiple-value-call #'foo ...))
5572       
5573        correctly.
5574
55752006-06-01 20:16  gb
5576
5577        * compiler/nx0.lisp: Defvars for global optimization quantities
5578        moved to level-0.
5579
55802006-06-01 20:15  gb
5581
5582        * level-1/l1-files.lisp: Bind the variables which hold global
5583        compiler optimization quantities, since people persist in doing
5584        things like:
5585       
5586        (declaim (optimize
5587        <something-that-they-probably-think-has-local-effects>))
5588       
5589        without bothering to use EVAL-WHEN or otherwise thinking very
5590        clearly.
5591       
5592        Note that this means that anyone who wanted such a declamation to
5593        have persistent global effects is now SOL.  Blame whoever wrote
5594        (for instance) clx/glx.lisp.
5595
55962006-06-01 20:11  gb
5597
5598        * level-0/l0-init.lisp: Move *nx-speed*, etc here, so that they can
5599        be referenced early in the cold load.
5600
56012006-06-01 13:13  gb
5602
5603        * lib/x86-backtrace.lisp: In %FIND-REGISTER-ARGUMENT-VALUE, pass a
5604        pointer to ENCODED-GPR-LISP if we have to get the register value
5605        from an exception frame.
5606
56072006-05-30 19:27  gwking
5608
5609        * tools/asdf.lisp: Updated asdf to the current CVS head (revision
5610        1.98)
5611
56122006-05-30 17:12  gb
5613
5614        * level-1/version.lisp: bump again.
5615
56162006-05-30 16:31  gb
5617
5618        * lisp-kernel/x86-spentry64.s: When unwinding the stack, try to
5619        ensure that tcr.xframe is updated from the catch frame (a) in all
5620        execution paths and (b) before RSP is updated.
5621
56222006-05-30 16:30  gb
5623
5624        * level-0/l0-array.lisp, lib/sequences.lisp: Handle (simple) fixnum
5625        vectors.
5626
56272006-05-30 16:29  gb
5628
5629        * level-1/l1-typesys.lisp: Add a DEFTYPE for fixnum vectors.
5630
56312006-05-30 16:29  gb
5632
5633        * release-notes.txt: Update some more ...
5634
56352006-05-30 16:23  gb
5636
5637        * lib/ccl-export-syms.lisp: There are two 'e's in UNPROCESSED.
5638        Apparently.
5639
56402006-05-30 16:15  gb
5641
5642        * release-notes.txt: updated
5643
56442006-05-30 01:58  gb
5645
5646        * level-1/version.lisp: Bump.
5647
56482006-05-30 01:48  gb
5649
5650        * lisp-kernel/x86-exceptions.c: altstack_interrupt_handler: having
5651        made copies of the signal context and siginfo on the foreign stack,
5652        don't pass the originals to interrupt_handler().
5653       
5654        (altstack_interrupt_handler() looks suspiciously like
5655        altstack_signal_handler(), which probably had the same bug a few
5656        months ago ...)
5657       
5658        Since the alternate signal stack (as we use it) isn't reentrant,
5659        the next signal (perhaps a suspend signal) overwrote the context.
5660        Which is one reason to have made a copy in the first place ...
5661
56622006-05-30 01:43  gb
5663
5664        * level-1/l1-lisp-threads.lisp: In THREAD-ENABLE, use the new
5665        %TIMED-WAIT-ON-SEMAPHORE-PTR; regardless of whether or not a
5666        timeout is a good idea here, make sure that the timeout isn't
5667        fooled by #$EINTR.
5668
56692006-05-30 01:39  gb
5670
5671        * level-1/linux-files.lisp: Rename the old
5672        %TIMED-WAIT-ON-SEMAPHORE-PTR to %PROCESS-WAIT-ON-SEMAPHORE-PTR,
5673        since it basically waits indefinitely.
5674       
5675        Split out the functionality in TIMED-WAIT-ON-SEMAPHORE into a new
5676        %TIMED-WAIT-ON-SEMAPHORE-PTR function, so that it's possible to do
5677        a "timed wait" that handles interruptions, etc. when the caller
5678        just has a "raw" (native) semaphore.
5679       
5680        Change callers, endure warnings.  New binaries soon.
5681
56822006-05-30 01:36  gb
5683
5684        * level-0/l0-misc.lisp: When waiting for a lock, use the new
5685        %PROCESS-WAIT-ON-SEMAPHORE-PTR.
5686
56872006-05-29 22:34  gb
5688
5689        * lisp-kernel/x86-exceptions.c: The
5690        clear_tcr_save_allocptr_tag_instruction opcode array was one byte
5691        too small ...
5692
56932006-05-29 14:03  gb
5694
5695        * level-1/linux-files.lisp: In %OS-GETCWD: don't trust
5696        syscall-based getcwd (it doesn't work as it once did/is documented
5697        to on linuxx8664); use the library function on all platforms.
5698
56992006-05-29 14:02  gb
5700
5701        * lisp-kernel/x86-exceptions.c: Clear interrupt_pending flag before
5702        processing interrupt.
5703
57042006-05-28 17:01  gb
5705
5706        * lisp-kernel/ppc-exceptions.c: If we handle a
5707        SIGNAL_FOR_PROCESS_INTERRUPT trap, clear tcr->interrupt_pending.
5708       
5709        Back out of the hack that tried to work around a Darwin bug (FP
5710        exception flags were cleared in the MSR after a thread had been
5711        interrupted via pthread_kill()), since the fix seems not to be
5712        GC-safe.
5713       
5714        Add some debugging code to print when the exception lock is
5715        acquired/released.
5716
57172006-05-28 01:10  gb
5718
5719        * level-1/solaris-files.lisp: long gone
5720
57212006-05-23 20:25  gb
5722
5723        * compiler/: PPC/ppc2.lisp, X86/x862.lisp: D'oh!
5724
57252006-05-22 22:59  gb
5726
5727        * darwin-headers/addressbook/: C/populate.sh, .cvsignore,
5728        C/.cvsignore: New file.
5729
57302006-05-22 22:57  gb
5731
5732        * level-1/l1-processes.lisp: PROCESS-SUSPEND: don't allow current
5733        thread to suspend itself.
5734
57352006-05-22 22:57  gb
5736
5737        * compiler/PPC/PPC64/ppc64-vinsns.lisp: Use the SP red zone to load
5738        SINGLE-FLOAT constants.
5739       
5740        SINGLE-FLOAT foreign args are stored in the low 32 bits of each
5741        64-bit arg word, regardless of whether they're also passed in
5742        f1-f13 as well.
5743
57442006-05-22 22:55  gb
5745
5746        * compiler/PPC/PPC64/ppc64-backend.lisp: Callback fixes:
5747        SINGLE-FLOATs passed in memory are passed in the low 32 bits of the
5748        64-bit word.
5749
57502006-05-22 22:54  gb
5751
5752        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Use the red zone (on SP)
5753        for LOAD-SINGLE-FLOAT-CONSTANT, LOAD-DOUBLE-FLOAT-CONSTANT.
5754
57552006-05-22 22:53  gb
5756
5757        * compiler/PPC/PPC32/ppc32-backend.lisp: "poweropen ABI" (Darwin)
5758        callback fixes: SINGLE-FLOATs passed in memory are passed as ...
5759        SINGLE-FLOATs, so don't use %GET-SINGLE-FLOAT-FROM-DOUBLE-PTR to
5760        access them.
5761
57622006-05-22 03:53  gb
5763
5764        * level-1/version.lisp: Bump.
5765
57662006-05-22 03:32  gb
5767
5768        * compiler/X86/X8664/x8664-vinsns.lisp: fixnum->float vinsns.
5769
57702006-05-22 03:31  gb
5771
5772        * compiler/X86/x862.lisp: Numeric contagion on binops,
5773        fixnum->float.
5774
57752006-05-22 03:29  gb
5776
5777        * compiler/PPC/ppc2.lisp: Do stupid self-tail-call tricks on PPC as
5778        well.
5779
57802006-05-22 03:28  gb
5781
5782        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Load tcr.cs-limit a little
5783        earlier when creating a stack frame inline.  Doesn't seem to affect
5784        latency much.
5785
57862006-05-22 03:27  gb
5787
5788        * compiler/X86/x862.lisp: Comment formatting on the first line of
5789        the file.
5790
57912006-05-22 03:26  gb
5792
5793        * compiler/nx0.lisp: Check argument counts on self-calls.  (AFAIK,
5794        this hasn't been done for at least 20 years in MCL/OpenMCL ...)
5795
57962006-05-21 07:34  gb
5797
5798        * compiler/X86/x862.lisp: Long-standing X862-COPY-REGISTER bug.
5799
58002006-05-21 07:32  gb
5801
5802        * compiler/PPC/ppc2.lisp: Implement (late) div2; use (simple)
5803        numeric-contagion stuff for arithmetic ops.
5804
58052006-05-21 07:31  gb
5806
5807        * compiler/nx1.lisp: Use div2 for /-2.
5808
58092006-05-21 07:31  gb
5810
5811        * compiler/nx0.lisp: Binop numeric contagion.
5812
58132006-05-21 06:49  gb
5814
5815        * compiler/nx0.lisp: ACODE-REAL-CONSTANT-P.
5816
58172006-05-21 06:49  gb
5818
5819        * compiler/PPC/ppc2.lisp: Weird case in ppc2-copy-register wasn't
5820        weird, just wrong.
5821
58222006-05-21 06:17  gb
5823
5824        * level-0/l0-pred.lisp: PPC64: %typep recognizes
5825        SIMPLE-FIXNUM-VECTORs.
5826
58272006-05-21 06:16  gb
5828
5829        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
5830        Fixnum vector stuff.  FIXNUM->FPR uses SP red zone.
5831
58322006-05-21 06:16  gb
5833
5834        * compiler/PPC/PPC32/ppc32-arch.lisp,
5835        compiler/PPC/PPC64/ppc64-arch.lisp, lisp-kernel/ppc-constants64.h,
5836        lisp-kernel/ppc-constants64.s, lisp-kernel/ppc-spentry.s: Fixnum
5837        vector stuff.
5838
58392006-05-21 06:15  gb
5840
5841        * compiler/PPC/ppc2.lisp: %fixnum-to-single, %fixnum-to-double.
5842       
5843        Fixnum vector vref/vset.
5844
58452006-05-21 06:15  gb
5846
5847        * compiler/: nx1.lisp, nxenv.lisp: %fixnum-to-single,
5848        %fixnum-to-double.
5849
58502006-05-21 06:14  gb
5851
5852        * compiler/nx0.lisp: More operator result types.
5853
58542006-05-21 04:35  gb
5855
5856        * level-0/l0-array.lisp, level-0/l0-pred.lisp,
5857        level-1/l1-aprims.lisp, level-1/l1-clos-boot.lisp: Integrate
5858        specialized FIXNUM array-element-type into type system, CLOS.
5859        (Knock wood.)
5860
58612006-05-21 04:34  gb
5862
5863        * lisp-kernel/x86-spentry64.s: Support for (out-of-line)
5864        fixnum-vector access (.SPmisc_ref, .SPmisc_set).
5865
58662006-05-21 04:33  gb
5867
5868        * compiler/X86/X8664/x8664-arch.lisp,
5869        lisp-kernel/x86-constants64.h, lisp-kernel/x86-constants64.s: New
5870        subtag for :fixnum-vector.
5871
58722006-05-21 04:32  gb
5873
5874        * compiler/X86/x862.lisp: 64-bit vset wasn't handling non-constant
5875        indices correctly.
5876       
5877        64-bit vset, vref: handle :FIXNUM-VECTOR.
5878
58792006-05-21 00:22  gb
5880
5881        * level-0/l0-aprims.lisp: Spell istruct-typep correctly.
5882
58832006-05-20 18:13  gb
5884
5885        * compiler/X86/x862.lisp: Do some self-tail calls (fixed args, no
5886        stack args) without restoring/re-saving NVRs.
5887
58882006-05-19 15:07  gb
5889
5890        * level-1/linux-files.lisp: RUN-PROGRAM: waiting for the child's
5891        completion semaphore (when :WAIT is true) happens inside an
5892        UNWIND-PROTECT cleanup and therefore needs to explicitly allow
5893        interrupts.
5894
58952006-05-19 15:06  gb
5896
5897        * level-0/l0-aprims.lisp: Add SEMAPHOREP, make it a type-predicate
5898        for SEMAPHORE.
5899
59002006-05-19 12:23  gwking
5901
5902        * lib/misc.lisp: Added help and redisplay to select-item-from-list.
5903        Also changed it so that it displays all items before trying to get
5904        an answer.
5905
59062006-05-19 12:00  gwking
5907
5908        * .cvsignore: The *fsl wasn't cutting it for me..., take two
5909
59102006-05-19 11:57  gwking
5911
5912        * .cvsignore: The *fsl wasn't cutting it for me...
5913
59142006-05-19 11:50  gb
5915
5916        * level-1/version.lisp: Bump.
5917
59182006-05-19 11:49  gb
5919
5920        * level-1/l1-streams.lisp: Change the EVAL-WHEN that requires
5921        syscall definitions so that it can be moused on.
5922
59232006-05-19 11:48  gb
5924
5925        * compiler/X86/X8664/: x8664-arch.lisp, x8664-vinsns.lisp:
5926        .SPeabi-syscall -> .SPsyscall.
5927
59282006-05-19 11:45  gb
5929
5930        * compiler/X86/x862.lisp: Inline ADD2, unless we know that at least
5931        one arg couldn't be a fixnum.  (Should do the same for SUB2.) This
5932        does indeed burn cache lines, but going out of line isn't cheap
5933        either.  (100 million iterations of (+ x (+ y z)) - where X Y and Z
5934        are in fact fixnums and no overflow is involved - seems to be about
5935        2X faster when inlined this way.  Not sure if that'll be the case
5936        on PPC.)
5937
59382006-05-19 11:40  gb
5939
5940        * compiler/nx0.lisp: Use NX-TARGET-TYPE in some of the acode-type
5941        stuff.
5942
59432006-05-18 14:47  gb
5944
5945        * lisp-kernel/ppc-spentry.s: When unwinding the stack (hopefully,
5946        in all places that do so ...), update tcr.xframe from
5947        catch_frame.xframe on all execution paths (in particular, do so
5948        before SP is restored from the catch_frame, since a tcr.xframe
5949        "beyond" SP is clearly bogus.)
5950
59512006-05-18 02:34  gb
5952
5953        * level-1/version.lisp: Bump.
5954
59552006-05-17 23:12  gb
5956
5957        * compiler/PPC/ppc2.lisp: "late" acode-type stuff (add2/sub2/mul2)
5958        for PPC, too.
5959
59602006-05-17 22:53  gb
5961
5962        * level-0/X86/x86-float.lisp: %FP-ERROR-FROM-STATUS: don't cons an
5963        &REST arg.  Should do a quicker test (logandc2 and a shift) to see
5964        if any unmasked exceptions were raised before even calling this ...
5965
59662006-05-17 22:51  gb
5967
5968        * compiler/X86/X8664/x8664-vinsns.lisp: If we have to spill
5969        SINGLE-FLOAT registers, spill them (boxed) on the vstack.
5970
59712006-05-17 22:50  gb
5972
5973        * compiler/X86/x862.lisp: Work harder to find acode types in some
5974        cases.
5975
59762006-05-17 22:50  gb
5977
5978        * compiler/X86/x86-disassemble.lisp: Handle (new-style) byte
5979        registers in OP-REG.
5980       
5981        Don't want to use RET very often if at all, but disassembler should
5982        treat as as a :JUMP.
5983
59842006-05-17 22:48  gb
5985
5986        * compiler/nxenv.lisp: MUL2, DIV2.
5987
59882006-05-17 22:48  gb
5989
5990        * compiler/: nx0.lisp, nx1.lisp: A little of that there
5991        type-inferencing (or, more accurately, paying a little more
5992        attention here and there.)
5993
59942006-05-12 20:40  gwking
5995
5996        * examples/addressbook.lisp: added examples/addressbook.lisp
5997
59982006-05-11 18:42  gb
5999
6000        * level-1/l1-application.lisp: Stop processing command-line
6001        arguments when "--" is encountered; anything after that "--" is
6002        retained in CCL:*UNPROCESSED-COMMAND-LINE-ARGUMENTS*.
6003
60042006-05-11 18:42  gb
6005
6006        * lib/ccl-export-syms.lisp: Export command-line stuff
6007
60082006-05-11 18:40  gb
6009
6010        * level-1/l1-processes.lisp: Lennart Staflin's fix to PRINT-OBJECT
6011        method for LOCKs.
6012
60132006-05-11 18:39  gb
6014
6015        * level-1/l1-files.lisp: In %DIFECTORY-LIST-NAMESTRING: all strings
6016        are base-strings (and always have been in OpenMCL.)
6017
60182006-05-11 18:37  gb
6019
6020        * level-1/l1-sockets.lisp: CCL:BASE-CHARACTER -> CL:BASE-CHAR.
6021
60222006-05-11 08:11  gwking
6023
6024        * lib/db-io.lisp: Added a check that the directory exists to
6025        fid-open-output in order to make it clearer what is wrong when one
6026        is unable to rebuild interface files because they are trying to do
6027        so in a place without FFI files to read!
6028
60292006-05-11 05:14  gb
6030
6031        * level-1/version.lisp, lisp-kernel/image.h, xdump/heap-image.lisp:
6032        Bump lisp-implementation-version, image-abi-version.
6033
60342006-05-11 05:04  gb
6035
6036        * xdump/faslenv.lisp: Bump (min) fasl version.
6037
60382006-05-11 04:52  gb
6039
6040        * lib/nfcomp.lisp: Bump (current) FASL version.
6041
60422006-05-11 04:52  gb
6043
6044        * level-1/l1-files.lisp: FASL-FILE-P looks for inital #xFF00
6045        (big-endian) instead of just #xff, to avoid UTF-16 BOM confusion.
6046
60472006-05-11 04:35  gb
6048
6049        * xdump/faslenv.lisp: Bump (max) fasl version.
6050
60512006-05-11 04:32  gb
6052
6053        * compiler/X86/X8664/x8664-backend.lisp: Little-endianness is a
6054        target-specific feature.
6055
60562006-05-11 03:35  gb
6057
6058        * compiler/PPC/PPC32/ppc32-arch.lisp,
6059        compiler/PPC/PPC32/ppc32-vinsns.lisp, level-0/l0-array.lisp,
6060        level-0/l0-pred.lisp, level-0/PPC/ppc-array.lisp,
6061        level-1/l1-aprims.lisp, level-1/l1-clos-boot.lisp,
6062        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
6063        lisp-kernel/ppc-spentry.s, xdump/xppcfasload.lisp: Juggle PPC32
6064        typecodes around: get rid of the (unused) old 16-bit string; add an
6065        (as yet unused) UCS-4 string type.
6066       
6067        These changes generally involve cross-compilation (or some very
6068        tricky bootstrapping that I didn't attempt)  FASL versions and
6069        kernel ABI versions will need to change, and new binaries will be
6070        made available soon.
6071
60722006-05-10 20:20  gb
6073
6074        * compiler/PPC/ppc-lapmacros.lisp,
6075        compiler/PPC/PPC32/ppc32-arch.lisp,
6076        compiler/PPC/PPC32/ppc32-vinsns.lisp,
6077        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s:
6078        Change CHARCODE-SHIFT constant on PPC32, so that the (currently
6079        8-bit) character code is stored in the #x0000xx00 byte of a
6080        CHARACTER, rather than in the #x00xx0000 byte,  This is hard to
6081        bootstrap natively (which is why I was trying to make ppc64->ppc32
6082        cross-compilation work.)
6083       
6084        Change related macros/visnsns as well.
6085
60862006-05-10 19:00  gb
6087
6088        * xdump/xppcfasload.lisp: Reintroduce a TARGET-ARCH-CASE, but I
6089        think that this is just hard to do right the way that it's being
6090        done.
6091
60922006-05-10 18:59  gb
6093
6094        * level-1/ppc-threads-utils.lisp: BOGUS-THING-P is hard to do right
6095        when cross-compiling (because word-size differences aren't handled
6096        correctly by macros.)  Until the macros are fixed, don't even try
6097        ...
6098
60992006-05-10 18:58  gb
6100
6101        * level-1/l1-clos-boot.lisp: In NEW-CLASS-WRAPPER-HASH-INDEX, user
6102        target::target-most-positive-fixnum (not the host's
6103        MOST-POSITIVE-FIXNUM).
6104
61052006-05-10 18:57  gb
6106
6107        * compiler/: nx0.lisp, nx1.lisp: Use NX-TARGET-TYPE in at least a
6108        few places.
6109
61102006-05-10 18:56  gb
6111
6112        * compiler/nx.lisp: XCOMPILE-LAMBDA binds *TARGET-BACKEND*.
6113
61142006-05-10 18:55  gb
6115
6116        * compiler/nx-basic.lisp: NX-TARGET-TYPE: there may be other
6117        differences between host and target types, but try to turn
6118        references to FIXNUM to the appropriate target-specific type.
6119
61202006-05-09 21:01  gb
6121
6122        * compiler/PPC/PPC32/ppc32-vinsns.lisp: UNBOX-BASE-CHAR just checks
6123        that the lowbyte is SUBTAG-CHARACTER; it used to rotate things
6124        around to check the high bits of the char code, but all chars have
6125        been base-chars for several years now ...
6126       
6127        UNBOX-CHARACTER was unused.
6128       
6129        (This is the first step of what may be several bootstrapping steps
6130        to change PPC32::CHARCODE-SHIFT from 16 to 8, so that we have 24
6131        easily-accessed char-code bits on PPC32.)
6132
61332006-05-09 11:48  gb
6134
6135        * lisp-kernel/xlbt.c: No psn in cs_area.
6136
61372006-05-09 02:42  gb
6138
6139        * lisp-kernel/: gc.h, ppc-gc.c: Back out of the extra Boolean arg
6140        to mark_simple_area_range().
6141
61422006-05-09 02:33  gb
6143
6144        * compiler/PPC/: PPC32/ppc32-backend.lisp,
6145        PPC64/ppc64-backend.lisp: Endianness is also target-specific.
6146
61472006-05-09 02:25  gb
6148
6149        * lisp-kernel/thread_manager.c: Thread stack areas are "owned by"
6150        the containing TCR, to make low-level debugging a bit easier.
6151
61522006-05-09 02:25  gb
6153
6154        * lisp-kernel/ppc-gc.c: Mostly some added consistency/sanity checks
6155        and debugging printfs.
6156
61572006-05-09 02:24  gb
6158
6159        * lisp-kernel/ppc-exceptions.h: Note that pc_luser_xp() needs an
6160        extra (signed_natural *) arg, for allocptr displacement.
6161
61622006-05-09 02:23  gb
6163
6164        * lisp-kernel/ppc-exceptions.c: Lots of #ifdef DEBUG fprintfs.
6165       
6166        Change the way that pc_luser_xp() and normalize_tcr() handle alloc
6167        regs/ saved TCR fields.  The general idea is that the after they
6168        run, all threads have tcr->save_allocptr/tcr_save_allocbase set to
6169        VOID_ALLOCPTR; if the thread was interrupted in lisp code, the
6170        allocbase register will be set to VOID_ALLOCPTR and allocptr will
6171        be set to either VOID_ALLOCPTR or to VOID_ALLOCPTR-disp.
6172       
6173        On an interrupt, the caller needs to pass in a signed_natural * to
6174        pick up the allocptr displacement (if consing was interrupted at
6175        the alloc trap); the interrupt handler uses this value to fix up
6176        alloptr when it returns if consing was interrupted.
6177       
6178        This is all pretty clearly right, but something still goes wrong
6179        under some combination of high thread stress, frequent allocation,
6180        and blocking ff-calls.
6181
61822006-05-09 02:17  gb
6183
6184        * lisp-kernel/plbt.c: No psn currently available.
6185
61862006-05-09 02:16  gb
6187
6188        * lisp-kernel/lisp-debug.c: Bug() passes xp to lisp_Debugger(),
6189        where it may come in handy ...
6190
61912006-05-09 02:16  gb
6192
6193        * lisp-kernel/gc.h: mark_simple_area_range() takes an added Boolean
6194        arg.
6195
61962006-05-09 02:13  gb
6197
6198        * lisp-kernel/area.h: area struct's owner is a (TCR *).
6199
62002006-05-09 02:12  gb
6201
6202        * level-1/l1-error-system.lisp: $xfunbnd was used after all.
6203        Restore it.
6204
62052006-05-09 02:12  gb
6206
6207        * level-0/l0-error.lisp, library/lispequ.lisp,
6208        lisp-kernel/errors.s: $xfunbnd was used after all.  Restore it, and
6209        recycle $XNOCDR.
6210
62112006-05-09 02:11  gb
6212
6213        * compiler/PPC/PPC64/ppc64-backend.lisp: :64-bit-target is ...
6214        target-specific.
6215
62162006-05-09 02:11  gb
6217
6218        * compiler/PPC/PPC32/ppc32-backend.lisp: :32-bit-target is ...
6219        target-specific.
6220
62212006-05-09 00:40  gb
6222
6223        * level-1/l1-lisp-threads.lisp: Foreign thread callback stuff moved
6224        here.
6225
62262006-05-09 00:39  gb
6227
6228        * level-1/x86-threads-utils.lisp: Support for BOGUS-THING-P on
6229        x8664.
6230
62312006-05-09 00:39  gb
6232
6233        * level-1/ppc-threads-utils.lisp: Move foreign-thread callback
6234        stuff up to l1-lisp-threads.lisp.
6235
62362006-05-08 22:58  gb
6237
6238        * lisp-kernel/ppc-spentry.s: misc_ref/misc_set jump tables on PPC64
6239        handle array and vector headers.
6240
62412006-05-08 22:57  gb
6242
6243        * library/lispequ.lisp: Synch errors $xbadvec, $xsetbadvec (neither
6244        of which should ever happen) with the kernel.
6245
62462006-05-08 22:56  gb
6247
6248        * level-1/l1-processes.lisp: %PROCESS-PRESET-INTERNAL doesn't need
6249        the TCR either.
6250
62512006-05-08 22:55  gb
6252
6253        * level-1/l1-error-system.lisp: $XFUNBND is no more.
6254
62552006-05-08 22:55  gb
6256
6257        * level-0/l0-error.lisp: Define the format strings for $xbadvec,
6258        $xsetbadvec.
6259
62602006-05-08 03:26  gb
6261
6262        * lisp-kernel/x86-spentry64.s: .SPstkconslist_star: ensure that
6263        flags are set to the result of decrementing %nargs at the end of
6264        the loop.
6265
62662006-05-08 03:25  gb
6267
6268        * level-1/x86-error-signal.lisp: uuo-error-udf: %err-disp-internal
6269        wants a list of condition args, not a single arg.
6270
62712006-05-08 03:24  gb
6272
6273        * level-1/l1-processes.lisp: %PROCESS-PRESET-INTERNAL doesn't need
6274        CS-AREA.
6275
62762006-05-08 03:23  gb
6277
6278        * level-0/X86/x86-symbol.lisp: %FUNCTION: signal error via
6279        uuo_error_udf, not as a type error.
6280
62812006-05-07 16:50  gb
6282
6283        * lib/describe.lisp: INSPECTOR objects haven't had FORWARDED-P
6284        slots in a long time (they probably haven't -needed- them in even
6285        longer; I think that this had to do with the old partial MOP.)
6286        Don't define the slot for FUNCTION-INSPECTOR, and don't call the
6287        accessor in STANDARD-OBJECT-SETF-LINE-N.
6288
62892006-05-07 04:39  gb
6290
6291        * x86-headers64/gtk2/: .cvsignore, C/.cvsignore, C/populate.sh: New
6292        file.
6293
62942006-05-07 04:34  gb
6295
6296        * lisp-kernel/: area.h, lisp_globals.h, memory.c, pmcl-kernel.c,
6297        thread_manager.c: Combine the AREA_LOCK and TCR_LOCK into a single
6298        lock (TCR_AREA_LOCK).  (This makes it a little harder to deadlock
6299        if code that wants both locks isn't careful to try to obtain them
6300        in some canonical order.)
6301
63022006-05-07 04:29  gb
6303
6304        * lib/x86-backtrace.lisp: Finally find those pesky registers.
6305
63062006-05-07 04:29  gb
6307
6308        * level-1/x86-threads-utils.lisp: Stub BOGUS-THING-P moves here.
6309
63102006-05-07 04:28  gb
6311
6312        * level-0/l0-cfm-support.lisp: FOREIGN-SYMBOL-ENTRY: return NIL if
6313        xFindSymbol/dlsym returns 0 on x8664.
6314
63152006-05-07 04:27  gb
6316
6317        * compiler/X86/: x86-lapmacros.lisp, X8664/x8664-vinsns.lisp: Use
6318        PSRLQ/PSLLQ for single-float boxing/unboxing.  (A few months ago,
6319        I'd mistakenly decided that it was faster to go through memory than
6320        to use these instructions.  It seems to actually be substantially
6321        slower, as one would expect.)
6322
63232006-05-07 04:25  gb
6324
6325        * compiler/X86/x86-asm.lisp: Add support for
6326        PSRLQ/PSRLDQ/PSLLQ/PSLLDQ (sse2 shifts.)
6327
63282006-05-07 04:21  gb
6329
6330        * library/hash-cons.lisp: Fix doc in comments.
6331
63322006-05-07 04:21  gb
6333
6334        * lib/ppc-backtrace.lisp: GET/SET-REGISTER-VALUE.
6335
63362006-05-07 04:20  gb
6337
6338        * lib/format.lisp: YES-OR-NO-P: bell goes to *QUERY-IO*.
6339
63402006-05-07 04:19  gb
6341
6342        * lib/backtrace-lds.lisp: Move GET/SET-REGISTER-VALUE to
6343        TARGET-backtrace.lisp.
6344
63452006-05-07 04:18  gb
6346
6347        * level-1/l1-lisp-threads.lisp: Move (implementation-dependent)
6348        BOGUS-THING-P to TARGET-thread-utils.lisp.
6349
63502006-05-07 04:17  gb
6351
6352        * level-1/ppc-threads-utils.lisp: Move (implementation-dependent)
6353        BOGUS-THING-P support here.
6354
63552006-05-07 04:16  gb
6356
6357        * level-1/l1-processes.lisp: Don't set "owner" field of tcr.cs_area
6358        to psn.
6359
63602006-05-06 15:27  gb
6361
6362        * compiler/nx1.lisp: Ash left by constant: prefer the fixnum case
6363        to the "natural" case.
6364
63652006-05-06 15:26  gb
6366
6367        * compiler/X86/x862.lisp: Pass the right number of args to
6368        NATURAL-SHIFT-LEFT and NATURAL-SHIFT-RIGHT.
6369
63702006-05-06 15:26  gb
6371
6372        * compiler/X86/X8664/x8664-vinsns.lisp: Indentation.
6373
63742006-05-06 02:09  gb
6375
6376        * lisp-kernel/thread_manager.c: Let's see: if thread X holds local
6377        A and tries to obtain lock B, and thread Y holds lock B and tries
6378        to obtain lock A, what is that a classic case of ?
6379       
6380        Try to avoid that classic deadlock case in shutdown_thread_tcr()
6381        when HAVE_TLS is in effect.  suspend_other_threads wants to hold
6382        two locks at the same time, and that's always a bit dangerous; it
6383        might be safer to merge TCR_LOCK and AREA_LOCK into a single lock
6384        that must be owned in order to manipulate either the tcr or area
6385        queues.
6386
63872006-05-06 02:04  gb
6388
6389        * level-1/linux-files.lisp: Make (%REALPATH "") behave like
6390        %REALPATH of the current directory namestring, as it does by
6391        default on some platforms (but not Linux.)
6392
63932006-05-05 20:08  gb
6394
6395        * compiler/X86/x862.lisp: x862-ff-call: really implement the
6396        simple-foreign-args stuff.  Box u64/s64, or don't ... but don't do
6397        the el-bizarro <- with a (temp) node target.
6398
63992006-05-05 20:06  gb
6400
6401        * lib/x86-backtrace.lisp: Get PC-FROM-XCF right (it needs to be
6402        relative to the tagged entrypoint, not to the start of the
6403        underlying function-vector.)
6404
64052006-05-05 13:24  gb
6406
6407        * lisp-kernel/x86-spentry64.s: Preserve NEXT-METHOD-CONTEXT when
6408        heap-consing an &REST arg.  (%allocptr and %next-method-context are
6409        the same register, so &rest clobbbers %next-method-context.)
6410       
6411        Could make separate entry points, so that this is only done when
6412        %next-method-context needs to be preserved ...
6413
64142006-05-05 13:21  gb
6415
6416        * level-0/X86/x86-def.lisp: Use RESERVED-FRAME-MARKER.
6417
64182006-05-05 02:23  gb
6419
6420        * freebsd-headers64/libc/C/populate.sh: New file.  Needs some work.
6421
64222006-05-05 02:23  gb
6423
6424        * freebsd-headers64/libc/: .cvsignore, C/.cvsignore: New file.
6425
64262006-05-05 01:37  gb
6427
6428        * level-1/version.lisp: Bump du jour.
6429
64302006-05-05 01:36  gb
6431
6432        * level-0/X86/x86-def.lisp: %FF-CALL: maintain the distinction
6433        between the first 6 words of the outgoing frame (from which GPRs
6434        will be loaded) and other words (which stay on the stack); after
6435        the first 8 FP args, floats have to be passed on the stack, even if
6436        there's still room in the first 6 words of the outgoing frame.
6437       
6438        Need to understand the struct-by-value rules better: can a struct
6439        be passed partly in registers and partly on the stack ? RTFM (or,
6440        in this case, TF ABI spec.)
6441
64422006-05-05 01:31  gb
6443
6444        * compiler/X86/x862.lisp: In X862-FF-CALL:  - the general integer
6445        case should store relative to "other-offset" (rather than   
6446        "gpr-offset") when more than 6 (not 8) GPR args have been passed. 
6447        - both the single and double-float cases were incrementing
6448        "other-offset"     twice when more than 8 FP args were involved.
6449        This had the effect of     storing floats into every other word and
6450        writing beyond the bounds of     the outgoing stack frame, possibly
6451        overwriting return addresses on the     foreign stack.
6452
64532006-05-04 23:12  gb
6454
6455        * level-1/l1-streams.lisp: James Bielman's fix to
6456        READ-TOPLEVEL-FORM (INPUT-STREAM) (EOF handling/peek-char.)
6457
64582006-05-04 18:30  gb
6459
6460        * compiler/X86/X8664/x8664-backend.lisp: When binding FP args,
6461        decrement FPR-ARG-OFFSET by 8, not -8.
6462       
6463        (This could cause values outside of the stack frame to be read, but
6464        I still haven't found what's writing beyond the frame bounds.)
6465
64662006-05-04 18:27  gb
6467
6468        * lib/x86-backtrace.lisp: If its argument is an exception callback
6469        frame, %CFP-LFUN tries to determine the relative PC associated with
6470        the frame's nominal function and return that as a second value
6471        (just as it does for a real frame.)
6472       
6473        I think that this should work a high percentage of the time, but
6474        callers should generally be prepared to deal with a NULL second
6475        return value from %CFP-LFUN.
6476
64772006-05-04 11:12  gb
6478
6479        * compiler/X86/X8664/x8664-backend.lisp: More callback issues:
6480        since we're using the same stack pointer to return values as we are
6481        to find arguments, don't try to "optimize" its initialization.
6482
64832006-05-03 18:52  gb
6484
6485        * compiler/X86/X8664/x8664-backend.lisp: Clean  up x8664 callbacks
6486        a little.  Don't coerce single float results to double; bind
6487        stack-ptr variable even if no args (might be a return value form
6488        that references it.) Failure to do the latter was creating a weird
6489        free variable reference that wasn't handled by the fasloader.
6490
64912006-05-03 18:50  gb
6492
6493        * level-0/nfasload.lisp: $fasl-vmksym-special wasn't implemented.
6494
64952006-05-03 18:49  gb
6496
6497        * lib/nfcomp.lisp: Indent a comment.
6498
64992006-05-03 18:16  gb
6500
6501        * compiler/X86/x862.lisp, level-0/X86/x86-def.lisp: In an %FF-CALL
6502        that might involve a variable-length arglist (at this level,
6503        always), set %rax to the number (0-8) of FP arguments passed in xmm
6504        registers.
6505
65062006-05-03 13:26  gb
6507
6508        * lisp-kernel/x86-exceptions.c: In find_foreign_rsp(), mask with
6509        ~15, not ~!5.  (This was causing segfaults on return from
6510        interrupts sometimes.)
6511
65122006-05-03 13:24  gb
6513
6514        * lib/backtrace.lisp: CLOSURE-CLOSED-OVER-VALUES, which is needed
6515        by SWANK/SLIME.
6516
65172006-05-03 13:23  gb
6518
6519        * lib/backtrace-lds.lisp: FRAME-SUPPLIED-ARGS, hopefully in a form
6520        that'll work on all platforms.  (Note that FRAME-SUPPLIED-ARGS
6521        seems to get many things wrong.)
6522
65232006-05-03 11:37  gb
6524
6525        * level-1/version.lisp: You mist have yesterday's version.
6526
65272006-05-03 11:37  gb
6528
6529        * level-0/X86/x86-def.lisp: Implement #'%FF-CALL.  Not too much
6530        LAP.
6531
65322006-05-03 11:36  gb
6533
6534        * level-0/l0-init.lisp: Put :X86-64 and :AMD64 on *FEATURES* if
6535        #+x8664-target.
6536
65372006-05-03 11:36  gb
6538
6539        * compiler/X86/X8664/x8664-vinsns.lisp: Bad typo in UNBOX-S64, and
6540        it can just check for a 2-digit bignum header if it has something
6541        of tag TAG-MISC.
6542
65432006-05-03 11:34  gb
6544
6545        * compiler/X86/x862.lisp: X862-COPY-REGISTER: handle :S64
6546        destinations.
6547
65482006-05-03 11:33  gb
6549
6550        * compiler/X86/x86-disassemble.lisp: Recognize
6551        uuo-error-eep-unresolved.
6552
65532006-05-02 18:07  gb
6554
6555        * level-1/version.lisp: Bump.
6556
65572006-05-02 18:07  gb
6558
6559        * lib/: backtrace-lds.lisp, describe.lisp: Comment out stuff that's
6560        (mostly ?) unused and currently PPC-specific, if it works at all
6561        ...
6562
65632006-05-02 10:27  gb
6564
6565        * level-1/l1-streams.lisp: Don't definea STREAM-CLEAR-INPUT method
6566        for STRING-INPUT-STREAMs; it's not clear what such a method should
6567        do (and fairly clear that it shouldn't do what the previous
6568        definition was doing.)
6569
65702006-05-02 10:26  gb
6571
6572        * lib/format.lisp: clear input from *query-io*, not from
6573        *terminal-io* in YES-OR-NO-P, Y-OR-N-P
6574
65752006-05-02 10:26  gb
6576
6577        * library/hash-cons.lisp: x8664 lap
6578
65792006-05-02 10:26  gb
6580
6581        * lisp-kernel/x86-gc.c: hons area stuff
6582
65832006-04-29 09:14  gb
6584
6585        * lisp-kernel/x86-exceptions.c: Write-protect handlers for stack
6586        overflow (on value/temp stacks).
6587
65882006-04-29 09:13  gb
6589
6590        * level-1/x86-trap-support.lisp: Handle stack overflow in cmain
6591        callback.
6592
65932006-04-29 09:10  gb
6594
6595        * lisp-kernel/freebsd8664/Makefile: x86-gc.o.
6596       
6597        No linker script.
6598       
6599        Use -lthr, which offers 1:1 threads.
6600
66012006-04-29 09:09  gb
6602
6603        * lisp-kernel/lisptypes.h: Remove the __sighandler typedef.
6604
66052006-04-29 09:01  gb
6606
6607        * lisp-kernel/x86-exceptions.h: xpMMXreg for FreeBSD.
6608
66092006-04-29 09:00  gb
6610
6611        * lisp-kernel/x86-exceptions.c: Don't use __sighandler_t.  (See if
6612        anything cares ...)
6613
66142006-04-29 08:59  gb
6615
6616        * lisp-kernel/x86-constants64.h: FreeBSD register constants.
6617
66182006-04-29 08:58  gb
6619
6620        * lisp-kernel/lisp-debug.c: FreeBSD regiser names.
6621
66222006-04-29 08:58  gb
6623
6624        * lisp-kernel/area.h: Update IMAGE_BASE_ADDRESS for FreeBSD.
6625
66262006-04-28 21:28  gb
6627
6628        * level-1/version.lisp: bump.
6629
66302006-04-28 21:27  gb
6631
6632        * lib/backtrace.lisp: changes to print-call-history (and "internal"
6633        version).
6634
66352006-04-28 21:24  gb
6636
6637        * lib/ppc-backtrace.lisp: Fix typo.
6638
66392006-04-28 21:23  gb
6640
6641        * level-1/l1-readloop-lds.lisp: Add :NFRAMES break loop command.
6642       
6643        Change the command/keyword parser a little, so that :FOO is just
6644        :FOO and not (:FOO).
6645       
6646        Change :B break loop command (and :F) to allow focusing on a range
6647        of frames, and change PRINT-CALL-HISTORY to more easily support
6648        that.
6649
66502006-04-28 19:37  gb
6651
6652        * level-0/PPC/ppc-numbers.lisp: Remove a quote from a LAP
6653        LOAD-CONSTANT form.
6654
66552006-04-28 19:34  gb
6656
6657        * lib/: backtrace.lisp, ppc-backtrace.lisp, x86-backtrace.lisp:
6658        Factor out a little more.  Time to see what's broken on PPC ...
6659
66602006-04-28 19:34  gb
6661
6662        * level-1/: l1-readloop-lds.lisp, l1-streams.lisp: Make parens
6663        around colon-commands optional.
6664
66652006-04-28 04:11  gb
6666
6667        * lisp-kernel/linuxx8664/.gdbinit: 'lregs' calls the kernel
6668        debugger's register display code.
6669
66702006-04-28 04:11  gb
6671
6672        * lisp-kernel/xlbt.c: Don't claim that the (legitimate) last frame
6673        on the stack is bogus.
6674
66752006-04-28 04:10  gb
6676
6677        * lisp-kernel/x86-exceptions.c: Create fake stack frames (sort of
6678        ...) when calling back for an exception.
6679
66802006-04-28 03:36  gb
6681
6682        * lisp-kernel/x86-constants64.h: A few symbolic register names.
6683       
6684        xcf struct.
6685
66862006-04-28 03:36  gb
6687
6688        * library/lispequ.lisp: FAKE-STACK-FRAME is #+ppc-target.
6689
66902006-04-28 03:36  gb
6691
6692        * lib/x86-backtrace.lisp: Implemented some stuff.
6693       
6694        Backtrace (sort of) works on x8664 now; need to find register
6695        values,  hide tagged return addresses, a few other things.
6696
66972006-04-28 03:34  gb
6698
6699        * lib/ppc-backtrace.lisp: Stuff moved here from elsewhere.
6700
67012006-04-28 03:34  gb
6702
6703        * lib/backtrace-lds.lisp: LAST-CATCH-SINCE moved elsewhere.
6704
67052006-04-28 03:33  gb
6706
6707        * level-1/x86-trap-support.lisp: Flags register accessor.
6708       
6709        New exception callback scheme.
6710
67112006-04-28 03:33  gb
6712
6713        * level-1/x86-threads-utils.lisp: The lowlevel system keeps
6714        changing.
6715
67162006-04-28 03:32  gb
6717
6718        * level-1/x86-error-signal.lisp: New exception callback stuff.
6719
67202006-04-28 03:32  gb
6721
6722        * level-1/l1-readloop-lds.lisp: No fake stack frames on x86.
6723
67242006-04-28 03:32  gb
6725
6726        * level-1/l1-lisp-threads.lisp: Move more stuff to arch-specific
6727        files.
6728
67292006-04-28 03:31  gb
6730
6731        * level-1/l1-events.lisp: No fake-stack-frames on x86, but we do
6732        have exception callback frames ...
6733
67342006-04-28 03:30  gb
6735
6736        * level-1/l1-error-system.lisp: Tweak :report method for
6737        wrong-number-of-args errors.
6738
67392006-04-28 03:30  gb
6740
6741        * level-0/X86/x86-def.lisp: Implement APPLY+.
6742
67432006-04-28 03:29  gb
6744
6745        * compiler/X86/X8664/x8664-arch.lisp: eXception Callback Frame.
6746
67472006-04-28 03:27  gb
6748
6749        * compiler/X86/x86-lapmacros.lisp: Add missing IN-PACKAGE.
6750       
6751        CHECK-NARGS: don't enforce upper bound if it's null.
6752
67532006-04-28 03:17  gb
6754
6755        * compiler/X86/x86-arch.lisp: x86 xFLAGS bits.
6756
67572006-04-28 03:16  gb
6758
6759        * compiler/nx0.lisp: Allow (FUNCTION (SETF name)) in
6760        IGNORE/IGNORABLE/DYNAMIC-EXTENT declarations.
6761
67622006-04-26 14:18  gb
6763
6764        * compiler/nx0.lisp: Allow (SETF NAME) in DEFINE-COMPILER-MACRO.
6765
67662006-04-26 14:17  gb
6767
6768        * lib/misc.lisp: Disassemble is supposed to signal an error (or "be
6769        prepared" to do so) if its argument isn't a function designator, so
6770        don't quietly call METHOD-FUNCTION for the user.
6771
67722006-04-26 13:56  gb
6773
6774        * lib/encapsulate.lisp: Use REPLACE-FUNCTION-CODE (not (SETF (UVREF
6775        ...))) in ENCAPSULATE, REMOVE-ENCAPSULATION.
6776
67772006-04-26 03:59  gb
6778
6779        * lisp-kernel/: x86-spentry64.s, x86-subprims64.s: zero out the
6780        exception bits whenever mxcsr is stored in tcr.foreign_mxcsr, so no
6781        exceptions will be pending when we start an ff-call (and the mxcsr
6782        is loaded from that location.)
6783       
6784        tcr.ffi_exception will then contain non-zero exception bits iff the
6785        most recent ff-call raised a (probably masked) FP exception.
6786       
6787        TODO: make this reentrant (PROCESS-INTERRUPT should preserve this.)
6788
67892006-04-26 03:55  gb
6790
6791        * lisp-kernel/x86-constants.s: define mxcsr exception bits.
6792
67932006-04-26 03:23  gb
6794
6795        * lisp-kernel/x86-constants64.s: Update comment on
6796        tcr.ffi_exception.
6797
67982006-04-26 03:22  gb
6799
6800        * lisp-kernel/x86-spentry64.s: Maintain tcr.ffi_exception on return
6801        from ffcall.  (Should maybe clear exception bits on entry to
6802        foreign state, so we're sure that any exception bits set in the
6803        tcr.ffi_exception slot were caused by the most recent ff-call.)
6804
68052006-04-26 03:20  gb
6806
6807        * level-0/X86/x86-float.lisp: Check MXCSR status bits from last
6808        ffcall, compare them to unmasked exception bits in current MXCSR,
6809        maybe raise FP exception.  (Note: compile this change and rebuild
6810        image before making corresponding kernel change.)
6811
68122006-04-26 02:31  gb
6813
6814        * lisp-kernel/x86-spentry64.s: .SPbuiltin-logxor was calling out to
6815        LOGAND-2, not to LOGXOR-2.  Sheesh.
6816
68172006-04-26 02:01  gb
6818
6819        * compiler/X86/X8664/x8664-vinsns.lisp: %ILOGBITP treats "large"
6820        bit numbers as tests of the sign bit.   (This is probably best
6821        viewed as being "formally undefined", but it's not too expensive to
6822        check for that.  The case where the bit number's negative is
6823        definitely undefined; I think that it also gets treated as a test
6824        of the sign bit.)
6825
68262006-04-26 01:58  gb
6827
6828        * lisp-kernel/x86-spentry64.s: Logbitp calls out if bit number
6829        negative.
6830
68312006-04-26 01:32  gb
6832
6833        * lisp-kernel/x86-spentry64.s: If both args fixnums, handle bits >=
6834        61.  (Should check here for negative bit .)
6835
68362006-04-26 01:31  gb
6837
6838        * lisp-kernel/x86-exceptions.c: If we get the "no FP regs in
6839        context" error - which typically indicates a fault during exception
6840        processing - pass the context in to the kernel debugger.
6841
68422006-04-26 01:30  gb
6843
6844        * level-0/X86/x86-pred.lisp: Change EQL doc string.
6845
68462006-04-26 00:56  gb
6847
6848        * level-0/X86/x86-pred.lisp: EQL on two bignums works much better
6849        if it compares all corresponding digits, rather than repeatedly
6850        comparing the 0th digits N times ...
6851
68522006-04-25 17:38  gb
6853
6854        * lisp-kernel/x86-spentry64.s: _SPmvslide: skip the loop if nargs
6855        is 0, not if disp is 0.  ash: always make a signed integer out of
6856        the result,  since arg is always signed.
6857
68582006-04-25 17:37  gb
6859
6860        * level-0/X86/x86-float.lisp: Negate floats by fliping the sign
6861        bit, so (for instance) (- 0.0d0) is -0.0d0.
6862
68632006-04-25 17:36  gb
6864
6865        * level-0/X86/x86-hash.lisp: Hash bignums 32 bits (not 64!) at a
6866        time.
6867
68682006-04-25 17:35  gb
6869
6870        * compiler/X86/x862.lisp: %%INEG: need to ensure that source
6871        operand is in target reg (2-address issue.)
6872
68732006-04-24 16:42  gb
6874
6875        * lisp-kernel/x86-spentry64.s: How hard can misc_set_s32 be ?
6876        Apparently, pretty hard.  It was doing a logical shift right when
6877        typechecking the value, so negative values were rejected.
6878
68792006-04-24 16:41  gb
6880
6881        * lisp-kernel/x86-exceptions.c: Call out to handle SIGFPE.  cmain
6882        callback now takes a 'signo' argument.
6883
68842006-04-24 16:40  gb
6885
6886        * level-1/x86-trap-support.lisp: Initial support for handling
6887        arithmetic errors.  Will need more work to get operation and
6888        operands right.
6889
68902006-04-24 16:39  gb
6891
6892        * lib/compile-ccl.lisp: REBUILD-CCL: :reload arg defaults to T.
6893
68942006-04-24 13:58  gb
6895
6896        * level-1/x86-error-signal.lisp: SETQ (not #'SET) in the
6897        uuo-error-reg-not-type case.
6898
68992006-04-24 13:57  gb
6900
6901        * level-0/X86/x86-float.lisp: Generally want to use FPZERO, not
6902        FP0, for 0.0[d,f]0.  (One case wanted to use fp1, but that's
6903        another story.)
6904
69052006-04-24 13:55  gb
6906
6907        * compiler/X86/X8664/x8664-vinsns.lisp: REQUIRE-REAL,
6908        REQUIRE-NUMBER: mask wont fit in 32 bits.  OTOH, doesn't need to be
6909        boxed, either.
6910
69112006-04-24 12:02  gb
6912
6913        * lisp-kernel/x86-spentry64.s: misc_set_s32: register botch.
6914        _SPtcallnfngen: several bugs, which were already fixed in similar
6915        variants.
6916
69172006-04-24 12:01  gb
6918
6919        * lisp-kernel/x86-gc.c: Use FORCE_DWS_MARK to force use of the
6920        Deutch/Waite/Schorr marker.
6921
69222006-04-24 12:00  gb
6923
6924        * lisp-kernel/pmcl-kernel.c: Only turn on GC debug bit if
6925        GC_INTEGRITY_CHECKING is defined (e.g., in Makefile.)
6926
69272006-04-24 11:59  gb
6928
6929        * level-1/linux-files.lisp: Remove debugging FORMAT call.
6930
69312006-04-24 11:58  gb
6932
6933        * level-0/X86/x86-numbers.lisp: %ROUND-NEAREST-SHORT-FLOAT->FIXNUM:
6934        argument is a SINGLE/SHORT-FLOAT, so don't access as a
6935        DOUBLE-FLOAT.
6936
69372006-04-24 11:58  gb
6938
6939        * level-0/X86/x86-float.lisp: %MAKE-FLOAT-FROM-FIXNUMS: mask the
6940        high and low words of the mantissa, to ensure that no hidden bits
6941        are set.  (Some such bits were set, causing many double-float
6942        constansts - like MOST-POSITVE-DOUBLE-FLOAT - to be bogus NaNs).
6943
69442006-04-24 02:21  gb
6945
6946        * lisp-kernel/image.c: Expect a MANAGED_STATIC section in the
6947        image.
6948       
6949        (Don't expect it to have any contents yet; that'll require several
6950        more changes.   This is all intended to support PURIFY on x8664,
6951        where we'll want to ensure that any constant referenced by a
6952        function in readonly/pure memory has a fixed, static address.)
6953
69542006-04-24 02:14  gb
6955
6956        * lisp-kernel/image.h: Bump IMAGE_ABI_VERSION.  New managed_static
6957        section makes NUM_IMAGE_SECTIONS 4.
6958
69592006-04-24 02:13  gb
6960
6961        * lisp-kernel/area.h: Typo in the definition of
6962        AREA_MANAGED_STATIC.
6963
69642006-04-24 02:12  gb
6965
6966        * lisp-kernel/: pmcl-kernel.c, kernel-globals.h: Global pointers to
6967        more areas.
6968
69692006-04-24 02:12  gb
6970
6971        * lisp-kernel/ppc-exceptions.c: EGC write-barrier labels are the
6972        addresses of instructions (not pointers thereto ...)
6973
69742006-04-24 02:11  gb
6975
6976        * lisp-kernel/ppc-gc.c: Add conditionalization to force DWS marker
6977        (mostly so that I could step through it to remember how it worked
6978        ...).
6979
69802006-04-24 02:10  gb
6981
6982        * lisp-kernel/ppc-spentry.s: write-barrier exported symbols: remove
6983        indirection.
6984
69852006-04-24 02:09  gb
6986
6987        * lisp-kernel/x86-gc.c: Remove a sanity check.
6988
69892006-04-24 02:09  gb
6990
6991        * xdump/xfasload.lisp: Create (empty) managed-static section
6992        (mostly for x8664 PURIFY, but might be useful on PPC someday.)
6993
69942006-04-24 02:08  gb
6995
6996        * xdump/heap-image.lisp: New image-abi-version, for managed-static
6997        section.
6998
69992006-04-24 02:07  gb
7000
7001        * level-1/linux-files.lisp: GET-DESCRIPTOR-FOR: try not to leak
7002        fds, take CLOSE-ON-ERROR more seriously.
7003
70042006-04-24 02:06  gb
7005
7006        * compiler/PPC/ppc2.lisp: (eq %FOREIGN-STACK-POINTER
7007        %CURRENT-FRAME-PTR) on PPC32/64.
7008
70092006-04-24 00:50  gb
7010
7011        * level-1/version.lisp: Bump.  Getting there ...
7012
70132006-04-24 00:50  gb
7014
7015        * level-0/l0-misc.lisp: Use %GET-NATURAL where possible.
7016       
7017        Note that TCRs aren't guaranteed to be in the low 32 bits on x8664,
7018        so pass them as a pointer to avoid word-size issues.
7019
70202006-04-24 00:48  gb
7021
7022        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Implement
7023        things that had been missing.
7024
70252006-04-24 00:48  gb
7026
7027        * compiler/X86/x86-disassemble.lisp: Recognize recently-defined
7028        UUOs.
7029
70302006-04-24 00:48  gb
7031
7032        * compiler/X86/x86-backend.lisp: Fix FIXUP-OPCODE-ORDINALS (again).
7033
70342006-04-24 00:47  gb
7035
7036        * compiler/X86/x86-asm.lisp: UUO-ERROR-ARRAY-BOUNDS.
7037
70382006-04-24 00:47  gb
7039
7040        * compiler/PPC/PPC64/ppc64-vinsns.lisp: A little word-size cleanup.
7041
70422006-04-24 00:47  gb
7043
7044        * compiler/nxenv.lisp: %FOREIGN-STACK-POINTER.
7045
70462006-04-24 00:46  gb
7047
7048        * compiler/nx1.lisp: WITH-C-FRAME, WITH-VARIABLE-C-FRAME: use (new)
7049        %FOREIGN-STACK-POINTER, not %CURRENT-FRAME-PTR (differ on x8664;
7050        need to boostrap on PPC).
7051       
7052        Parse %FOREIGN-STACK-POINTER.
7053
70542006-04-22 03:30  gb
7055
7056        * lisp-kernel/thread_manager.c: If we're using thread-local-storage
7057        (HAVE_TLS is defined), make shutdow_thread_tcr() dequeue the tcr,
7058        because (a) nothing else will and (b) the tcr will likely become
7059        unmapped soon, and we don't want things that walk the tcr list to
7060        segfault.
7061
70622006-04-22 03:27  gb
7063
7064        * lisp-kernel/x86-exceptions.c: Something's clearly wrong in
7065        find_foreign_rsp; call Bug() and exit() if the context has no
7066        fpregs.  (That's a symptom, not the proble, but it's slightly
7067        better to do this than to double fault, which is what seems to be
7068        happening.)
7069
70702006-04-21 10:12  gb
7071
7072        * lisp-kernel/x86-exceptions.c: implement pc_luser_xp; just has to
7073        worry about consing, write-barrier stuff.
7074
70752006-04-21 10:11  gb
7076
7077        * lisp-kernel/x86-constants.h: Define X86 flags register bits
7078        (condition codes.)
7079
70802006-04-21 10:11  gb
7081
7082        * lisp-kernel/x86-exceptions.h: change the signature of pc_luser_xp
7083        (again.)
7084       
7085        Define enumeration constants for matching the instructions that can
7086        occur during consing.
7087
70882006-04-21 10:09  gb
7089
7090        * lisp-kernel/x86-spentry64.s: Preserve %temp0 in
7091        store_node_conditional, in case pc_luser_xp() needs to complete the
7092        memoization.
7093
70942006-04-21 02:50  gb
7095
7096        * lisp-kernel/x86-spentry64.s: Use only the value of the first
7097        instance of :ALLOW-OTHER-KEYS to determine whether unknown keys are
7098        allowed.
7099
71002006-04-21 02:49  gb
7101
7102        * lisp-kernel/lisp-debug.c: Tweak things so that %rip and %flags
7103        line up with GPRs.
7104
71052006-04-21 02:48  gb
7106
7107        * lib/sequences.lisp: SIMPLE-1D-ARRAY-SUBSEQ: 64-bit vector case is
7108        #+64-bit-target, not #+ppc64-target.
7109
71102006-04-21 02:47  gb
7111
7112        * level-0/X86/x86-array.lisp: %SIMPLE-BIT-BOOLE: shift by the right
7113        amount.
7114
71152006-04-21 02:46  gb
7116
7117        * level-0/l0-array.lisp: %UVECTOR-REPLACE: 64-bit vectors aren't
7118        unique to PPC64 (but do depend on #+64-bit-target).
7119
71202006-04-21 02:46  gb
7121
7122        * compiler/X86/x862.lisp: The binding(s) of *INTERRUPT-LEVEL*
7123        confuse PROGV; remove them, for now.
7124
71252006-04-20 23:35  gb
7126
7127        * lisp-kernel/x86-spentry64.s: In the bignum case of
7128        .SPinteger-sign, sign-extend the bignum's sign digit instead of ...
7129        whatever the code was trying to do there.
7130       
7131        In the lexpr-has-two-values case of .SPspread-lexprz, load arg_y
7132        and arg_z from the correct offsets within the lexpr.
7133
71342006-04-20 04:48  gb
7135
7136        * lisp-kernel/x86-gc.c: Get the link-inverting marker written;
7137        force it to always be used, for now.
7138
71392006-04-19 17:11  gb
7140
7141        * lisp-kernel/pmcl-kernel.c: (Very) different
7142        MAXIMUM_MAPPABLE_MEMORY for Solaris.
7143
71442006-04-19 17:10  gb
7145
7146        * lisp-kernel/area.h: (Very) different IMAGE_BASE_ADDRESS for
7147        Solaris.
7148
71492006-04-19 00:35  gb
7150
7151        * lisp-kernel/x86-gc.c: Write a few paragraphs outlining how the
7152        reversing-pointer marker should work.  (Perhaps it's a strong
7153        argument for implementing "purify" soon.)
7154
71552006-04-19 00:34  gb
7156
7157        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
7158        function-boundary-marker.
7159
71602006-04-19 00:33  gb
7161
7162        * lisp-kernel/macros.h: Add node_aligned and indirect_node macros.
7163
71642006-04-18 19:35  gb
7165
7166        * lisp-kernel/x86-spentry64.s: Comparison was backwards in
7167        multiple-value case of THROW: don't want to do unbind_to if tcr's
7168        db-link matches target catch frame's.
7169
71702006-04-18 19:33  gb
7171
7172        * lisp-kernel/x86-uuo.s: Add UUO-ERROR-DEBUG-TRAP, remove
7173        UUO-ERROR-STACK-OVERFLOW.  Still need to get this completely in
7174        synch with x86-asm.
7175
71762006-04-18 19:33  gb
7177
7178        * level-1/l1-readloop-lds.lisp: Say more about the availability of
7179        :R in break messages.
7180       
7181        Say more about :C in :R.
7182
71832006-04-18 19:32  gb
7184
7185        * level-1/l1-readloop.lisp: Remove the #+x86-target debugging code
7186        in QUIT's PROCESS-INTERRUPT call, since the closure- trashing bug
7187        seems to have been fixed.
7188
71892006-04-18 19:31  gb
7190
7191        * level-1/x86-error-signal.lisp: Recognize (uuo-error-not-tag %rn
7192        x8664::subtag-catch-tag) as CANT-THROW-ERROR.  (Yes, this is a
7193        horrible kludge, but it only happens once.)
7194
71952006-04-18 19:19  gb
7196
7197        * level-1/l1-processes.lisp: Remove the #+x86-target debugging code
7198        in PROCESS-EXIT-APPLICATION, since the closure- trashing bug seems
7199        to have been fixed.
7200
72012006-04-18 19:18  gb
7202
7203        * level-0/X86/x86-pred.lisp: EQL on bignums wasn't using
7204        X8664::MISC-DATA-OFFSET, so it was comparing a few bytes beyond the
7205        ends of its arguments and ignoring the first few bytes (as well as
7206        doing misaligned memory references.)
7207
72082006-04-18 19:16  gb
7209
7210        * level-0/X86/x86-def.lisp: Insert the PPC version of APPLY+ here.
7211        This'll require some thought, mostly because of the reserved-frame
7212        issue(s).
7213
72142006-04-18 06:21  gb
7215
7216        * lisp-kernel/ppc-constants32.s: Comment mishaps.  These wacky
7217        adventures are about to end, I'm afraid.
7218
72192006-04-18 06:04  gb
7220
7221        * level-1/version.lisp: Daily bump.
7222
72232006-04-18 05:59  gb
7224
7225        * level-1/l1-sockets.lisp: Comment indentation.
7226
72272006-04-18 05:56  gb
7228
7229        * level-0/PPC/ppc-def.lisp: Move APPLY+ here.
7230
72312006-04-18 05:55  gb
7232
7233        * lib/setf-runtime.lisp: Move APPLY+ (which is defined in LAP) to
7234        ppc-def (that means that there will need to be an APPLY+ for
7235        x8664).
7236
72372006-04-18 05:38  gb
7238
7239        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Try to get the
7240        compiler and x8664-vinsn-templates to agree on vinsn-names and
7241        implement some vinsns that had been missing.  (About 15 or so
7242        undefined vinsns remain.)
7243
72442006-04-18 05:37  gb
7245
7246        * compiler/X86/x86-backend.lisp: The mechanism that tries to fixup
7247        opcode ordinals in vinsn templates (e.g., in case new instructions
7248        are defined in the assembler) wasn't checking to see if vinsn
7249        templates named in the hash table were defined.  (It was apparently
7250        getting away with this because CONSP was broken.)  So, don't try to
7251        fixup opcode ordinals in NIL, and optionally report templates
7252        that're referenced but not defined.
7253
72542006-04-18 04:38  gb
7255
7256        * compiler/X86/x862.lisp: CONSP was using the EXTRACT-FULLTAG vinsn
7257        (which only sets the low 8 bits of its destination), then comparing
7258        all 64-bits of the destination to a zero-extended 32-bit constant.
7259        (E.g., CONSP had little chance of being right all other things
7260        being equal, but may have been right more than one in 2^56 times if
7261        some random preceding instruction had zeroed the upper 56 bits.)
7262       
7263        (It's also shorter to do an 8-bit compare.)
7264
72652006-04-18 03:11  gb
7266
7267        * level-0/X86/x86-hash.lisp: box-fixnum arg order in %DFLOAT-HASH.
7268
72692006-04-18 02:51  gb
7270
7271        * compiler/X86/X8664/x8664-vinsns.lisp: Now that all assemblers are
7272        happy (well, as happy as they're going to be ...), back to finding
7273        bugs.  MULTIPLY-FIXNUMS has to unbox one arg (the source).
7274
72752006-04-18 01:26  gb
7276
7277        * lisp-kernel/thread_manager.c: Some Solaris changes.
7278
72792006-04-18 00:48  gb
7280
7281        * lisp-kernel/solarisx64/Makefile: The version of gm4 that Sun
7282        installs in /usr/sfw/bin is both newer and buggier than the version
7283        available on the "Solaris Companion" disk, which gets installed in
7284        /opt/sfw/bin.
7285       
7286        Ordinarily, I'd wonder why a "companion" disk offers to install
7287        software that's bundled as part of the installation (especially old
7288        versions of that software.)  Now I know.
7289
72902006-04-18 00:45  gb
7291
7292        * lisp-kernel/x86-spentry64.s: # __line__ wasn't a comment.
7293
72942006-04-18 00:45  gb
7295
7296        * lisp-kernel/m4macros.m4: Fix changecom.
7297
72982006-04-18 00:11  gb
7299
7300        * lisp-kernel/x86-spentry64.s: x8664 linux as doesn't like typos,
7301        but is otherwise fine with single-line /* */.
7302
73032006-04-18 00:09  gb
7304
7305        * lisp-kernel/: errors.s, imports.s, lisp.s, m4macros.m4,
7306        ppc-asmutils.s, ppc-constants.s, ppc-constants32.s,
7307        ppc-constants64.s, ppc-macros.s, ppc-spentry.s, ppc-spjump.s,
7308        ppc-subprims.s, ppc-uuo.s, x86-asmutils64.s, x86-constants.s,
7309        x86-constants64.s, x86-macros.s, x86-spentry64.s, x86-spjump64.s,
7310        x86-subprims64.s, x86-uuo.s, darwinppc/Makefile,
7311        darwinppc64/Makefile: Whoops.  Darwin as doesn't like #.  I dont
7312        like Darwin as, but we're back to single-line /* */, which is often
7313        pretty ugly and not well-supported by Emacs.
7314
73152006-04-17 23:23  gb
7316
7317        * lisp-kernel/: errors.s, imports.s, lisp.s, m4macros.m4,
7318        ppc-asmutils.s, ppc-constants.s, ppc-constants32.s,
7319        ppc-constants64.s, ppc-uuo.s, x86-asmutils64.s, x86-constants.s,
7320        x86-constants64.s, x86-macros.s, x86-spjump64.s, x86-subprims64.s,
7321        x86-uuo.s: Use #/newline for comment delimiters, which is supported
7322        by Emacs and by all current GAS versions (but see ARM conventions.)
7323         No more jerking around with this, knock wood.
7324
73252006-04-17 23:23  gb
7326
7327        * lisp-kernel/x86-spentry64.s: _SPspread_lexprz wasn't handling the
7328        case where caller provided args before the lexpr, which is much
7329        harder than the simple case.
7330       
7331        Use #/newline for comment delimiters, which is supported by Emacs
7332        and by all current GAS versions (but see ARM conventions.)  No more
7333        jerking around with this, knock wood.
7334
73352006-04-17 23:20  gb
7336
7337        * level-0/X86/x86-numbers.lisp: %FIXNUM-GCD was horrible, espcially
7338        when numbers differed greatly in magnitude.  Current (binary)
7339        algorithm is usually OK.
7340
73412006-04-17 23:17  gb
7342
7343        * compiler/X86/x86-lap.lisp: Condition name should be
7344        UNDEFINED-X86-LAP-LABEL, since it's (a) referenced and (b) that's
7345        not the problem.  Name wasn't spelled correctly in code that
7346        signals the condition, anyway.
7347
73482006-04-17 16:34  gb
7349
7350        * lisp-kernel/x86-exceptions.c: pc_luser_xp always takes a tcr
7351        argument, takes a new boolean to distinguish current tcr from
7352        others.  (The current tcr is only lusered on an interrupt; others
7353        are only lusered on GC entry.)
7354
73552006-04-17 16:33  gb
7356
7357        * lisp-kernel/x86-exceptions.h: X86 prototype for pc_luser_xp moved
7358        here.  (No deep reason not to share the new x86 signature on all
7359        architectures.)
7360
73612006-04-17 16:32  gb
7362
7363        * lisp-kernel/ppc-exceptions.h: PPC prototype for pc_luser_xp moved
7364        here.  (No deep reason not to share the new x86 signature on all
7365        architectures.)
7366
73672006-04-17 16:31  gb
7368
7369        * lisp-kernel/lisp-exceptions.h: prototype for pc_luser_xp is
7370        platform-dependent.
7371
73722006-04-17 06:49  gb
7373
7374        * level-1/l1-readloop.lisp: In the closure created in QUIT, only do
7375        CCL::DBG if (a) we're on X86 and (b) the inner closure is bad
7376        already.
7377
73782006-04-17 06:17  gb
7379
7380        * lisp-kernel/lisptypes.h: Don't know if there's such a thing as
7381        truly portable type name.
7382
73832006-04-17 06:16  gb
7384
7385        * lisp-kernel/: errors.s, lisp.s, m4macros.m4, x86-constants.s,
7386        x86-constants64.h, x86-constants64.s, x86-exceptions.c,
7387        x86-exceptions.h, x86-gc.c, x86-macros.s, x86-spentry64.s,
7388        x86-spjump64.s, x86-uuo.s: Well, // style comments seem to only
7389        work if they're at the start of a line in Linux GAS.  Try /* */
7390        comments, but limit them to a single line.  (May ultimately be
7391        better to use m4 dnl - carefully - and avoid end-of-line comments.)
7392
73932006-04-17 05:28  gb
7394
7395        * lisp-kernel/: x86-macros.s, x86-spentry64.s, x86-spjump64.s,
7396        x86-subprims64.s, x86-uuo.s: // comments.
7397
73982006-04-17 05:28  gb
7399
7400        * lisp-kernel/x86-gc.c: timeradd, timersub.  Other Solaris
7401        conditionalization.
7402
74032006-04-17 05:27  gb
7404
7405        * lisp-kernel/x86-exceptions.h: Solaris-related changes (xp
7406        accessors, etc.)
7407
74082006-04-17 05:26  gb
7409
7410        * lisp-kernel/x86-exceptions.c: Solaris-related changes (mostly in
7411        the sigstack trampoline stuff.)
7412
74132006-04-17 05:25  gb
7414
7415        * lisp-kernel/x86-constants64.h: // comments, Solaris-friendly
7416        integer types.
7417
74182006-04-17 05:24  gb
7419
7420        * lisp-kernel/: x86-asmutils64.s, x86-constants.s,
7421        x86-constants64.s: // comments.
7422
74232006-04-17 05:23  gb
7424
7425        * lisp-kernel/pmcl-kernel.c: Some Solaris conditionalization.
7426        Solaris mmap() is ... unusual.
7427
74282006-04-17 05:21  gb
7429
7430        * lisp-kernel/m4macros.m4: Use C++-style single-line comments,
7431        since Solaris version of GAS doen't handle multi-line comments (/*
7432        ... */).  It -seems- that other assemblers do handle them
7433        correctly; we'll see.
7434       
7435        Some Solaris conditionalization (ELFstabs, etc.)
7436
74372006-04-17 05:20  gb
7438
7439        * lisp-kernel/lisptypes.h: Conditionalize for Solaris (type names).
7440         We'll see what this breaks.
7441
74422006-04-17 05:19  gb
7443
7444        * lisp-kernel/lisp.h: PLATFORM_OS is PLATFORM_OS_SOLARIS when
7445        SOLARIS is defined.
7446
74472006-04-17 05:18  gb
7448
7449        * lisp-kernel/lisp-debug.c: Solaris conditionalization; print
7450        registers in predictable order.
7451
74522006-04-17 05:17  gb
7453
7454        * lisp-kernel/: errors.s, imports.s, lisp.s: Use C++-style
7455        single-line comments, since Solaris version of GAS doen't handle
7456        multi-line comments (/* ... */).  It -seems- that other assemblers
7457        do handle them correctly; we'll see.
7458
74592006-04-17 05:15  gb
7460
7461        * lisp-kernel/area.h: IMAGE_BASE_ADDRESS for SolarisX64.  Wrong.
7462
74632006-04-17 05:15  gb
7464
7465        * lisp-kernel/Threads.h: Conditionalize for Solaris.
7466       
7467        TODO: drop Jaguar support, use POSIX (vice Mach) semaphores on all
7468        platforms ?
7469
74702006-04-17 05:01  gb
7471
7472        * lisp-kernel/solarisx64/Makefile: new file
7473
74742006-04-17 04:56  gb
7475
7476        * lisp-kernel/linuxx8664/Makefile: Make it a little easier to
7477        change the name/usage of the linker script.
7478       
7479        Stop using the linker script (since spjump is the only thing in the
7480        kernel that has to be at a fixed address and we can copy it there.)
7481       
7482        Don't disable the EGC.
7483
74842006-04-17 04:54  gb
7485
7486        * lisp-kernel/x86-spjump64.s: Define spjump_start as the origin of
7487        the spjump table, exported for C (so that spjump can be mapped into
7488        low memory.)
7489
74902006-04-17 04:54  gb
7491
7492        * lisp-kernel/x86-spentry64.s: Use reserved_frame_marker.
7493       
7494        If the tlb's too small when trying to bind a special, push the
7495        binding index of the symbol we're binding (for the benefit of the
7496        handler.)
7497
74982006-04-17 04:52  gb
7499
7500        * lisp-kernel/x86-gc.c: Check for cases where a function has more
7501        code words than it has elements (can't happen, unless the
7502        function's code-words word is garbage, which seems to happen when
7503        closures get consed up in non-zeroed memory.)
7504       
7505        Make sure that we mark and forward Itemp2 (= %rcx = %temp2 =
7506        %nargs.q), which sometimes contains something tagged and
7507        non-immediate.
7508
75092006-04-17 04:48  gb
7510
7511        * lisp-kernel/x86-exceptions.c: new_heap_segment() (slowly) checks
7512        to ensure that everythings's zeroed.
7513       
7514        x8664 implementation of extend_tcr_tlb().
7515       
7516        on a gc trap, use tcr->save_allocptr (not the random value in %rbx)
7517        in call to update_bytes_allocated().
7518       
7519        normalize_tcr() - alway set tcr->save_allocptr/tcr->save_allocbase
7520        to VOID_ALLOCPTR (I -think- that this explains the crash-on-quit
7521        bug, and possibly some other instabiliy.)
7522       
7523        handle_exception: keep trying to guess how to distinguish memory
7524        faults from other sources of SIGSEGV.
7525       
7526        On debug traps, advance the PC past the UUO before entering the
7527        debugger.
7528       
7529        Handle XUUO_TLB_TOO_SMALL.
7530
75312006-04-17 04:42  gb
7532
7533        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
7534        reserved_frame_marker.
7535
75362006-04-17 04:42  gb
7537
7538        * lisp-kernel/thread_manager.c: Remove implementation of
7539        extend_tcr_tlb().
7540
75412006-04-17 04:41  gb
7542
7543        * lisp-kernel/ppc-exceptions.h: Prototype for PPC version of
7544        extend_tcr_tlb().
7545
75462006-04-17 04:41  gb
7547
7548        * lisp-kernel/ppc-exceptions.c: PPC version of extend_tcr_tlb().
7549
75502006-04-17 04:40  gb
7551
7552        * lisp-kernel/pmcl-kernel.c: Remap the spjump table on x8664, so
7553        that we don't need to use a linker script.
7554
75552006-04-17 04:40  gb
7556
7557        * lisp-kernel/Threads.h: extend-tcr-tlb: signature defined by
7558        target xxx-exceptions.h now.
7559
75602006-04-17 04:39  gb
7561
7562        * lib/misc.lisp: Some comment formatting/editing.
7563
75642006-04-17 04:38  gb
7565
7566        * level-1/version.lisp: Bump.
7567
75682006-04-17 04:38  gb
7569
7570        * level-1/l1-readloop.lisp: Some debugging code in the code which
7571        creates the final closure.  It seems that when it's bad, it's bad
7572        on creation (here.)
7573
75742006-04-17 04:37  gb
7575
7576        * level-1/l1-processes.lisp: Some debugging code in
7577        PROCESS-EXIT-APPLICATION, to try to catch whatever's causing the
7578        final closure to be trashed.
7579       
7580        I don't think that other threads were getting their allocptr's
7581        nullified correctly by the GC/normalize_tcr(); with the current
7582        debugging code in place, it seems like the closure is consed on top
7583        of something other than free, thread-private heap memory (when it's
7584        bad, it fails the first check here.  I'm not sure that the latest
7585        round of GC/normalize-tcr() changes have fixed the problem, but I
7586        haven't seen it in a while now, either.)
7587
75882006-04-17 04:32  gb
7589
7590        * level-0/X86/x86-def.lisp: %FUNCTION-CODE-BYTE (for partial
7591        disassembly, etc.).
7592
75932006-04-17 04:31  gb
7594
7595        * compiler/X86/X8664/x8664-vinsns.lisp: Use RESERVED-FRAME-MARKER
7596        in RESERVE-OUTGOING-FRAME; don't use ENSURE-RESERVED-FRAME at all
7597        (anymore.)
7598       
7599        Subprims are down in low memory again; make INIT-CLOSURE skip
7600        setting the high byte of .SPcall-closure's address if it's zero.
7601
76022006-04-17 04:28  gb
7603
7604        * compiler/X86/X8664/x8664-arch.lisp: Define RESERVED-FRAME-MARKER,
7605        which may help backtrace.
7606
76072006-04-17 04:26  gb
7608
7609        * lib/: backtrace.lisp, ppc-backtrace.lisp: Split up RAW-FRAME-REF
7610        (interface/implementation.)
7611
76122006-04-15 09:20  gb
7613
7614        * level-1/x86-callback-support.lisp: Ensure that callback
7615        trampolines are allocated in executable memory.
7616
76172006-04-15 09:12  gb
7618
7619        * lib/dumplisp.lisp: Refresh external entry points before reviving
7620        callbacks.  Reset callback storage before reviving callbacks.
7621
76222006-04-15 09:10  gb
7623
7624        * level-1/x86-error-signal.lisp: Don't prefix the unknown trap
7625        error message with a %.  (Where did that come from ?)
7626
76272006-04-15 09:08  gb
7628
7629        * level-1/ppc-callback-support.lisp: Don't (knock wood) need to do
7630        anything in RESET-CALLBACK-STORAGE for PPC, since malloc()ed memory
7631        is executable.
7632
76332006-04-14 09:02  gb
7634
7635        * lib/time.lisp: Jeez.  Save buffer, why dontcha.
7636
76372006-04-14 08:21  gb
7638
7639        * lib/time.lisp: ENCODE-UNIVERSAL-TIME: treat year 0-99 as
7640        shorthand for the nearest matching year.
7641
76422006-04-14 08:20  gb
7643
7644        * lib/format.lisp: FORMAT-PRINT-NUMBER was printing commas even
7645        when : was missing.
7646
76472006-04-13 23:09  gb
7648
7649        * lib/ppc-backtrace.lisp: Eschew missing parens.
7650
76512006-04-13 23:08  gb
7652
7653        * lib/describe.lisp: Change NTH-VALUE-IN-FRAME call.
7654
76552006-04-13 23:08  gb
7656
7657        * lib/backtrace.lisp: DBG-FORM checks the second return value from
7658        ARGLIST-FROM-MAP.
7659
76602006-04-13 23:02  gb
7661
7662        * lib/arglist.lisp: Don't pass a "conser" function around (the idea
7663        is leftover from 68K MCL).  ARGLIST-FROM-MAP tries to be consistent
7664        about returning a second value; returns values NIL, T for functions
7665        that take no args and don't have a symbol map.
7666
76672006-04-13 22:53  gb
7668
7669        * level-1/l1-lisp-threads.lisp: Try to make args to
7670        NTH-VALUE-IN-FRAME et al a little saner.
7671
76722006-04-13 22:37  gb
7673
7674        * lib/numbers.lisp: Conditionalize on word size, not PPC processor
7675        type.
7676
76772006-04-13 22:36  gb
7678
7679        * level-1/version.lisp: Bump.
7680
76812006-04-13 22:35  gb
7682
7683        * level-1/l1-aprims.lisp: Remove the DBG trap from #'APPLY.  Still
7684        trying to find the cause of the crash-on-quit bug.
7685
76862006-04-13 07:30  gb
7687
7688        * lib/ppc-backtrace.lisp: Migrate some stuff here.
7689
76902006-04-13 07:29  gb
7691
7692        * level-1/l1-lisp-threads.lisp, lib/backtrace.lisp: Migrate some
7693        stuff to target-backtrace.
7694
76952006-04-13 06:45  gb
7696
7697        * lisp-kernel/x86-gc.c: mark_root: need to handle TRAs earlier.
7698
76992006-04-13 06:44  gb
7700
7701        * lisp-kernel/pmcl-kernel.c: Set GC debug bits manually here on
7702        x8664.
7703
77042006-04-13 06:44  gb
7705
7706        * level-1/x86-error-signal.lisp: XP-ARGUMENT-LIST: only the low 13
7707        bytes of %nargs_q contain arg count.
7708
77092006-04-13 06:43  gb
7710
7711        * level-1/l1-error-system.lisp: No EVAL-PROGRAM-ERROR. Please.
7712
77132006-04-13 06:43  gb
7714
7715        * level-1/l1-aprims.lisp: Trying to find what's (sometimes)
7716        trashing a closure during QUIT; embed a #+x86-target breakpoint in
7717        APPLY.
7718
77192006-04-13 06:42  gb
7720
7721        * level-0/X86/x86-numbers.lisp: Bad typo in %FIXNUM-GCD.
7722
77232006-04-13 06:41  gb
7724
7725        * compiler/X86/x862.lisp: Lap expression changes; recycle constant
7726        operands.
7727
77282006-04-13 06:41  gb
7729
7730        * compiler/X86/x86-lap.lisp: Freelist a lot of things; use
7731        "vector-lists" instead of adjustable arrays, simplify handling of
7732        constant expressions.  Still conses hysterically; need to find out
7733        where and tone it down a bit, if possible.
7734
77352006-04-13 06:39  gb
7736
7737        * compiler/X86/x86-disassemble.lisp: Maybe no lap immediate
7738        operands; maybe no lap constant-expressions.
7739
77402006-04-13 06:39  gb
7741
7742        * compiler/X86/x86-asm.lisp: Don't need
7743        *lap-constant-0-expression*.
7744
77452006-04-13 00:46  gb
7746
7747        * lisp-kernel/linuxx8664/Makefile: Kernel depends on Makefile,
7748        linker script.
7749
77502006-04-13 00:45  gb
7751
7752        * lisp-kernel/linuxx8664/elf_x86_64.x: Use linker script from ld
7753        2.16.1 (Thanks to James Bielman).
7754
77552006-04-12 18:53  gb
7756
7757        * lisp-kernel/linuxx8664/elf_x86_64.x: Try to avoid use of
7758        PROVIDE_HIDDEN, since some versions of GNU ld don't like it.  (Most
7759        of this seems to have to do with C++ static constructors, which
7760        aren't really relevant here.)
7761
77622006-04-12 18:28  gb
7763
7764        * lisp-kernel/x86-spentry64.s: Use movd (not movq) when moving
7765        between %Rforeign_sp and GPRs.
7766
77672006-04-12 18:22  gb
7768
7769        * lisp-kernel/linuxx8664/Makefile: egc flag
7770
77712006-04-12 18:08  gb
7772
7773        * lisp-kernel/x86-gc.c: Add current/prev (temporarily) to help find
7774        where we're losing here.
7775
77762006-04-12 18:07  gb
7777
7778        * lisp-kernel/x86-exceptions.c: pc_luser_xp: notice if we're in the
7779        write barrier code, crap out if so.
7780
77812006-04-12 18:06  gb
7782
7783        * lisp-kernel/pmcl-kernel.c: Disable EGC if DISABLE_EGC is defined
7784        (presumably in a Makefile).
7785
77862006-04-12 14:50  gb
7787
7788        * level-1/version.lisp: Bump.
7789
77902006-04-12 14:46  gb
7791
7792        * lib/: compile-ccl.lisp, ppc-backtrace.lisp, systems.lisp,
7793        x86-backtrace.lisp: new target backtrace stuff.
7794
77952006-04-12 14:45  gb
7796
7797        * lib/backtrace.lisp: Start splitting things up, ideally into a
7798        mostly abstract API and gory platform- dependent implementation
7799        details.
7800
78012006-04-11 21:40  gb
7802
7803        * lisp-kernel/pmcl-kernel.c: Only way to stress-test EGC is to turn
7804        the damned thing on.  (A little painful with integrity checking
7805        enabled, as it still is by default.)
7806       
7807        TODO:
7808       
7809        - sleep (me) - non-recursive (link-inverting) marker - pc-lusering
7810        (pc_luser_xp()) - backtrace - ANSI CL tests - purify - 2d-aref - FP
7811        exception handling - check UUO usage in kernel, disassembler,
7812        exception handlers - stack overflow recovery
7813
78142006-04-11 21:24  gb
7815
7816        * lisp-kernel/x86-gc.c: Skip over function code in
7817        check_refmap_consistency.
7818
78192006-04-11 21:23  gb
7820
7821        * lisp-kernel/x86-spentry64.s: Write barrier memoization sets bits
7822        backwards.
7823
78242006-04-11 19:11  gb
7825
7826        * compiler/X86/x862.lisp: Change LABELS for new closure format.
7827
78282006-04-11 19:11  gb
7829
7830        * lisp-kernel/x86-spentry64.s: 3 words of code + inner function in
7831        a closure, no lfname slot in closure.
7832
78332006-04-11 16:29  gb
7834
7835        * lisp-kernel/linuxx8664/.gdbinit: ada  prints active dynamic (GC)
7836        area.
7837
78382006-04-11 16:29  gb
7839
7840        * lisp-kernel/x86-subprims64.s: Maintain the MXCSR on transitions
7841        between lisp/foreign code.
7842
78432006-04-11 16:29  gb
7844
7845        * lisp-kernel/x86-spentry64.s: Add write barrier stuff (may have
7846        bit-order problems.)
7847       
7848        Maintain the MXCSR on transitions between lisp/foreign code.
7849
78502006-04-11 16:28  gb
7851
7852        * lisp-kernel/x86-macros.s: Access globals in expressions.
7853
78542006-04-11 16:27  gb
7855
7856        * lisp-kernel/x86-gc.c: Start to implement EGC for X8664; this'll
7857        need some bootstrapping stuff (function boundary markers) for a few
7858        reasons, as will DWS marker.
7859
78602006-04-11 16:27  gb
7861
7862        * lisp-kernel/x86-exceptions.c: If we get an FP exception, report
7863        the siginfo error code.
7864
78652006-04-11 16:26  gb
7866
7867        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Define MXCSR
7868        fields in tcr.
7869
78702006-04-11 16:25  gb
7871
7872        * lisp-kernel/x86-constants.h: Define MXCSR bits.
7873
78742006-04-11 16:25  gb
7875
7876        * lisp-kernel/thread_manager.c: Setup the MXCSR somewhat sanely
7877        when starting a lisp thread.  (It'll be saner when FP exceptions
7878        are handled.)
7879
78802006-04-11 16:24  gb
7881
7882        * level-1/x86-error-signal.lisp: Recognize what complaints about
7883        non-uvectors are trying to tell us.
7884
78852006-04-11 16:23  gb
7886
7887        * level-1/l1-io.lisp: PRINT-OBJECT method for TRAs, symbol/function
7888        vectors.
7889
78902006-04-11 16:23  gb
7891
7892        * level-1/l1-clos-boot.lisp: Spell TAGGED-RETURN-ADDRESS with more
7893        Ses.  Define classes for function/symbol vectors.
7894
78952006-04-11 16:22  gb
7896
7897        * level-0/X86/x86-def.lisp: %RETURN-ADDRESS-OFFSET.
7898
78992006-04-11 16:21  gb
7900
7901        * compiler/X86/X8664/x8664-vinsns.lisp: Closure initialization
7902        needs to add a function boundary marker (but we can stop padding
7903        each closure with a null function name slot.)
7904
79052006-04-11 16:20  gb
7906
7907        * compiler/X86/X8664/x8664-arch.lisp: Define
7908        FUNCTION-BOUNDARY-MARKER, which should never exist in the wild.
7909
79102006-04-11 16:19  gb
7911
7912        * compiler/X86/x862.lisp: Emit a function boundary marker between
7913        code and constants. (For GC reasons.) Change closure initialization
7914        to account for it.
7915
79162006-04-11 16:18  gb
7917
7918        * compiler/X86/x86-lap.lisp: Emit a function boundary marker
7919        between code and constants. (For GC reasons.)
7920
79212006-04-11 16:17  gb
7922
7923        * compiler/X86/x86-disassemble.lisp: Require more stuff.
7924
79252006-04-11 16:17  gb
7926
7927        * compiler/nxenv.lisp: Require X8664ENV on X8664.
7928       
7929        See if we can get by without 68K condition code ...
7930
79312006-04-11 06:53  gb
7932
7933        * lisp-kernel/x86-exceptions.c: We'll need to handle FP exceptions
7934        soon.
7935
79362006-04-11 06:53  gb
7937
7938        * lib/numbers.lisp: Infinity constants conditionalized on/off
7939        during MXCSR adventures.  On now.
7940
79412006-04-11 06:52  gb
7942
7943        * lib/describe.lisp: Comment indentation.
7944       
7945        No such thing as an interpreted function; hasn't been for years.
7946
79472006-04-11 06:51  gb
7948
7949        * level-1/x86-threads-utils.lisp: Fixup lfun bits of %FIXNUM-SET et
7950        al.
7951
79522006-04-11 06:51  gb
7953
7954        * level-1/version.lisp: Bumped yesterday.
7955
79562006-04-11 06:50  gb
7957
7958        * level-1/l1-error-signal.lisp: Comments.
7959
79602006-04-11 06:50  gb
7961
7962        * level-1/l1-clos-boot.lisp: CLASS-OF handles non-simple vectors,
7963        at least.
7964
79652006-04-11 06:50  gb
7966
7967        * level-0/X86/x86-float.lisp: MXCSR stuff.  Better, mostly because
7968        a fixnum constant is boxed in %SET-MXCSR.
7969
79702006-04-11 06:49  gb
7971
7972        * level-0/X86/x86-def.lisp: Get info about register usage.
7973
79742006-04-11 06:49  gb
7975
7976        * compiler/X86/X8664/x8664-vinsns.lisp: Natural arithmetic; start
7977        work on 2d aref.  Fix MISC-SET-U64 (or some flavor thereof), which
7978        though that it was dealing with a scaled index.
7979
79802006-04-11 06:48  gb
7981
7982        * compiler/X86/x862.lisp: Natural arithmetic; start work on 2d
7983        aref.
7984
79852006-04-11 06:48  gb
7986
7987        * compiler/X86/x86-lap.lisp: FRAGs are freelisted.  Really need to
7988        do something about FRAG-CODE-BUFFERs, and need to tone down
7989        expression overkill.
7990
79912006-04-11 06:46  gb
7992
7993        * compiler/X86/x86-backend.lisp: Vinsn template fixup mechanism,
7994        for when opcode ordinals change.
7995
79962006-04-11 06:46  gb
7997
7998        * compiler/X86/x86-asm.lisp: UUO-ERROR-STACK-OVERFLOW ->
7999        UUO-ERROR-ARRAY-RANK.
8000       
8001        Vinsn template fixup mechanism, for when opcode ordinals change.
8002
80032006-04-11 06:45  gb
8004
8005        * compiler/X86/x86-arch.lisp: Try to unscramble MXCSR bits/masks.
8006
80072006-04-11 06:45  gb
8008
8009        * compiler/nx0.lisp: NX-U31-CONSTANT-P.
8010
80112006-04-11 06:44  gb
8012
8013        * compiler/dll-node.lisp: WITH-DLL-NODE-FREELIST: syntax to allow
8014        specialized list header initialization.
8015
80162006-04-11 06:43  gb
8017
8018        * level-1/l1-error-system.lisp, compiler/arch.lisp: Type errors for
8019        2d float arrays.
8020
80212006-04-10 10:19  gb
8022
8023        * lisp-kernel/x86-spentry64.s: _SPcallback is now called with the
8024        foreign SP properly obeying C alignment conventions.  In order to
8025        get it aligned for lisp usage during the callback, an extra word
8026        needs to be pushed before the backpointer to the old foreign RSP.
8027
80282006-04-10 10:18  gb
8029
8030        * lisp-kernel/x86-exceptions.c: Ensure that the copied sigcontext
8031        is 16-byte aligned, so that the foreign stack pointer is aligned
8032        according to C conventions when we enter the signal handler on that
8033        stack.
8034
80352006-04-10 10:13  gb
8036
8037        * lib/numbers.lisp: Define FP infinities, since we're running with
8038        FP exceptions masked. (We don't handle FP exceptions on X8664 yet,
8039        but this was crashing due to ldmxcsr/stmxcsr confusion, not because
8040        an unmasked FP exception was raised and unhandled.)
8041
80422006-04-10 10:10  gb
8043
8044        * lib/level-2.lisp: Remove the WARN and the conditionalization
8045        around bit/bitfield accessors on X8664.
8046
80472006-04-10 10:09  gb
8048
8049        * level-0/X86/x86-float.lisp: Repeat after me: to load the mxcsr
8050        from memory, we say "ldmxcsr".  We want to do such a load in order
8051        to write new values into the mxcsr.  To store it in memory, we say
8052        "stmxcsr".  We want to do such a store (and a subsequent load from
8053        memory) in order to access the value of the mxcsr.  Simple, no ?
8054
80552006-04-10 10:07  gb
8056
8057        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp:
8058        %GET-BIT/%SET-BIT.
8059
80602006-04-10 08:29  gb
8061
8062        * compiler/X86/X8664/x8664-vinsns.lisp: Float
8063        addition/multiplication: either arg can overlap result (and often
8064        will).  Float subtraction/division: caller should ensure that
8065        result and second arg are disjoint.
8066
80672006-04-10 08:27  gb
8068
8069        * compiler/X86/x862.lisp: Float arithmetic is two-address; ensure
8070        that result doesn't overlap second argument for non-commutative
8071        operations.
8072
80732006-04-10 08:26  gb
8074
8075        * lisp-kernel/lisp-debug.c: Show FPRs on LinuxX8664.
8076
80772006-04-10 05:12  gb
8078
8079        * lisp-kernel/thread_manager.c: Don't free dead TCRs if we didn't
8080        malloc them.
8081
80822006-04-10 05:12  gb
8083
8084        * lib/compile-ccl.lisp: REBUILD-CCL paramaters for :LINUXX8664.
8085
80862006-04-10 05:11  gb
8087
8088        * level-1/l1-pathnames.lisp: No need to reference PPC package, and
8089        good reason not to.
8090
80912006-04-10 04:39  gb
8092
8093        * xdump/xfasload.lisp: signed 32-bit, 64-bit integers in fasl files
8094        are always big-endian.
8095
80962006-04-10 04:38  gb
8097
8098        * lisp-kernel/x86-gc.c: mark_root(): if we're marking a function
8099        reachable via a TRA, update the variable "dnode" so that the
8100        correct bits get set.
8101
81022006-04-10 04:37  gb
8103
8104        * level-0/X86/X8664/x8664-bignum.lisp: Remove some breakpoints.
8105
81062006-04-10 04:37  gb
8107
8108        * level-0/X86/x86-array.lisp: %SIMPLE-BIT-BOOLE.  Could stand to be
8109        a bit simpler.
8110
81112006-04-10 04:36  gb
8112
8113        * level-0/l0-hash.lisp: Whoops: %SET-NEEDS-REHASHING is called from
8114        the MAKE-LOAD-FORM method for hashtables.
8115
81162006-04-09 09:17  gb
8117
8118        * lisp-kernel/thread_manager.c: Inflate control stack size on
8119        x8664, until DWS marker works (and do so correctly this time).
8120
81212006-04-09 09:12  gb
8122
8123        * lisp-kernel/thread_manager.c: Inflate control stack size on
8124        x8664, until DWS marker works.
8125
81262006-04-09 09:09  gb
8127
8128        * level-0/l0-hash.lisp: Now that bitvectors work, remove
8129        #+x86-target DBG trap.
8130
81312006-04-09 08:57  gb
8132
8133        * level-0/l0-hash.lisp: Set/clear rehash bits via SBIT, not AREF.
8134        (Should be exactly the same code, but may not have been 15 years
8135        ago or whenever this was written.)
8136
81372006-04-09 08:56  gb
8138
8139        * lisp-kernel/x86-spentry64.s,
8140        compiler/X86/X8664/x8664-vinsns.lisp: Clear bits in a bit vector
8141        via btrX (Bit Test and Reset), not btcX (Bit Test and Complement.)
8142
81432006-04-09 03:52  gb
8144
8145        * lisp-kernel/x86-macros.s: Parens around negative displacement in
8146        condition_to_boolean.  Not clear why this is necessary, but it
8147        seems to be.
8148
81492006-04-09 03:24  gb
8150
8151        * lisp-kernel/x86-macros.s: Use shorter sequence in
8152        condition_to_boolean.
8153
81542006-04-09 02:32  gb
8155
8156        * compiler/X86/X8664/x8664-vinsns.lisp: Using cmovCC intstead of
8157        setCC for cr-bit->boolean is 1 instruction and 2 bytes shorter, all
8158        other things being equal.
8159
81602006-04-09 01:37  gb
8161
8162        * compiler/X86/x86-asm.lisp: reg/reg variants of bsfX, bsrX had
8163        operands backwards.
8164
81652006-04-09 01:37  gb
8166
8167        * compiler/optimizers.lisp: Comment formatting.
8168
81692006-04-09 01:29  gb
8170
8171        * level-0/X86/X8664/x8664-bignum.lisp: %BIGNUM-SIGN-DIGITS:
8172        bsr/xorl != clz when (zerop n).
8173
81742006-04-08 21:25  gb
8175
8176        * lisp-kernel/x86-exceptions.c: Forget about blocking SIGINT in
8177        current thread before entering kernel debugger.
8178
81792006-04-08 21:21  gb
8180
8181        * lib/compile-ccl.lisp: early def of XLOAD-LEVEL-0: require
8182        (TARGET-XLOAD-MODULES).
8183
81842006-04-08 21:21  gb
8185
8186        * lisp-kernel/x86-spentry64.s: misc_set_s16: forgot a lognot.
8187
81882006-04-08 21:20  gb
8189
8190        * level-0/nfasload.lisp: 64-bit vectors: target::, not ppc64::.
8191
81922006-04-08 20:46  gb
8193
8194        * lib/foreign-types.lisp: Add missing paren ...
8195
81962006-04-08 20:45  gb
8197
8198        * lib/foreign-types.lisp: Recognize a :struct-by-value case.
8199
82002006-04-08 20:44  gb
8201
8202        * compiler/X86/X8664/x8664-backend.lisp: X8664 ABI seems to pass
8203        structs by value, sort of.
8204
82052006-04-08 20:43  gb
8206
8207        * x86-headers64/libc/C/populate.sh: Add -D_GNU_SOURCE to CFLAGS.
8208
82092006-04-08 20:42  gb
8210
8211        * library/hash-cons.lisp: Port some of this to x8664; need to add
8212        code to maintain "used" bitmap.
8213
82142006-04-08 20:42  gb
8215
8216        * lib/numbers.lisp: Conditionalize out the FP infinity stuff in the
8217        short term.
8218
82192006-04-08 20:41  gb
8220
8221        * lib/edit-callers.lisp: %MAP-LFIMMS: lfun-vector changes.  Should
8222        someday fix this crap.
8223
82242006-04-08 20:40  gb
8225
8226        * lib/describe.lisp: Conditionalize, a little.
8227
82282006-04-08 20:40  gb
8229
8230        * lib/db-io.lisp: SAVE-DB-FUNCTION appears to be unused.
8231
82322006-04-08 20:39  gb
8233
8234        * level-1/l1-io.lisp: PRINT-A-NAN not #+ppc-target.
8235
82362006-04-08 20:39  gb
8237
8238        * level-1/l1-readloop-lds.lisp: Error reentry stuff here.
8239
82402006-04-08 20:39  gb
8241
8242        * level-1/l1-sockets.lisp: Workaround ffi translator lossage in
8243        _inet_ntoa (just as Darwin has for years; why not fix this ?)
8244
82452006-04-08 20:38  gb
8246
8247        * level-1/ppc-trap-support.lisp: Error-reentry stuff to
8248        l1-readloop-lds (nothing to do with PPC or traps ...)
8249
82502006-04-08 20:37  gb
8251
8252        * .cvsignore: Ignore *CL*/*cl*, not necessarily *CCL*/*ccl*.
8253
82542006-04-08 04:46  gb
8255
8256        * compiler/X86/x862.lisp: X862-MVCALL needs to always save and
8257        restore, even if there's only one values-producing form (that form
8258        might produce more values than will fit in argument registers, and
8259        we therefore have to reserve space for a stack frame.)
8260
82612006-04-08 04:45  gb
8262
8263        * compiler/X86/x86-asm.lisp: Need to actually define INSERT-IMM64.
8264
82652006-04-08 04:43  gb
8266
8267        * lib/macros.lisp: Scanning backwards for instructions depends on a
8268        reasonable architecture.
8269
82702006-04-08 04:43  gb
8271
8272        * lib/compile-ccl.lisp: TARGET-XLOAD-MODULES for x8664.
8273
82742006-04-08 04:42  gb
8275
8276        * xdump/xfasload.lisp: Hide ppc32 double-float-vector stuff in
8277        target arch.
8278
82792006-04-08 04:41  gb
8280
8281        * xdump/.cvsignore: ignore *.*fsl
8282
82832006-04-07 22:46  gb
8284
8285        * compiler/nx.lisp: XCOMPILE-LAMBDA is #+ppc-target for now.
8286
82872006-04-07 22:45  gb
8288
8289        * compiler/nx1.lisp: Provide an FTYPE declaration for
8290        %DEFINE-PPC-LAP-FUNCTION.
8291
82922006-04-07 22:25  gb
8293
8294        * level-1/version.lisp: Bump.
8295
82962006-04-07 22:19  gb
8297
8298        * compiler/PPC/ppc-asm.lisp, compiler/PPC/ppc-backend.lisp,
8299        compiler/PPC/ppc-disassemble.lisp, compiler/PPC/ppc-lap.lisp,
8300        lib/backtrace-lds.lisp: ARCH::OPCODE, ARCH::OPERAND moved to CCL
8301        package.
8302
83032006-04-07 22:18  gb
8304
8305        * compiler/risc-lap.lisp: OPCODE, OPERAND moved here and from
8306        arch:: to ccl::.
8307
83082006-04-07 22:17  gb
8309
8310        * compiler/arch.lisp: OPERAND, OPCODE belong elsewhere (in
8311        RISC-LAP, for instance).  That's a different package, too.
8312
83132006-04-07 20:46  gb
8314
8315        * library/lispequ.lisp: %CONS-FAKE-STACK-FRAME here.  Really.
8316
83172006-04-07 20:45  gb
8318
8319        * level-0/l0-pred.lisp: *IMMHEADER-1-TYPES* was wrong, too.  Should
8320        I maybe look at the others, or just fix them as I stumble on them ?
8321
83222006-04-07 20:44  gb
8323
8324        * compiler/X86/X8664/x8664-vinsns.lisp: jns->jne when checking for
8325        a DOUBLE-FLOAT.
8326
83272006-04-07 20:41  gb
8328
8329        * level-0/nfasload.lisp: Print file pos in FASL-DISPATCH debug
8330        message.
8331
83322006-04-07 20:40  gb
8333
8334        * lib/nfcomp.lisp: #+x8664: Check for fulltag-immheader-1, not
8335        fulltag-immheader-0 twice in fasl-scan-dispatch
8336       
8337        FASL-DUMP-SYMBOL needs a SYMPTR->SYMVECTOR.  (Note that FASLOAD has
8338        never handled uninterned symbols that need a binding index.)
8339
83402006-04-07 07:55  gb
8341
8342        * lib/describe.lisp: Formatting changes, mostly.
8343
83442006-04-07 07:54  gb
8345
8346        * compiler/X86/x862.lisp: multiple-value-calls need to reserve an
8347        outgoing stack frame when more than 3 args/ values are involved.
8348
83492006-04-07 07:53  gb
8350
8351        * lisp-kernel/x86-spentry64.s, lisp-kernel/x86-spjump64.s,
8352        compiler/X86/X8664/x8664-arch.lisp,
8353        compiler/X86/X8664/x8664-vinsns.lisp: _SPrecover-values-for-mvcall
8354        (reserves outgoing frame if necessary.)
8355
83562006-04-07 07:52  gb
8357
8358        * level-1/ppc-trap-support.lisp: %CONS-FAKE-STACK-FRAME moved to
8359        lispequ.
8360
83612006-04-07 06:28  gb
8362
8363        * compiler/X86/X8664/x8664-vinsns.lisp: pop argument regs in the
8364        right order.
8365
83662006-04-07 06:27  gb
8367
8368        * level-0/X86/x86-misc.lisp: VALUES accounts for reserved frame.
8369
83702006-04-07 03:59  gb
8371
8372        * compiler/X86/x862.lisp: Don't push the function on the "value"
8373        stack when doing a MULTIPLE-VALUE-CALL, since its presence there
8374        can interfere with multiple-value continuations.  (Can it be popped
8375        before recovering multiple values ?  I didn't think of that, but I
8376        suspect that that'd be simpler than what I did; check this.  Maybe
8377        there is -or once was- an issue with _SPrecovervalues bashing a
8378        register.)
8379       
8380        Pushing the function on the temp stack while collecting multiple
8381        values avoids the issue (but it may be far better to simply vpop it
8382        before the call to _SPrecovervalues.)
8383       
8384        Most of the issues related to X862-MVCALL calling itself
8385        recursively have to do with cleaning the function off of the stack
8386        in non tail-call cases.  Since the function's not there anymore,
8387        the rationale for splitting this into a base and recursive case
8388        isn't very strong.
8389       
8390        Changes in X862-MVCALL exposed bugs in X862-INVOKE-FN: we don't
8391        want to emit or otherwise reference the mvpass label if it's null.
8392
83932006-04-07 03:51  gb
8394
8395        * compiler/X86/X8664/x8664-vinsns.lisp: TEMP-PUSH-NODE,
8396        TEMP-POP-NODE.
8397
83982006-04-06 21:27  gb
8399
8400        * lib/db-io.lisp: CDB-HASH-MASK happens to be =
8401        PPC32::TARGET-MOST-POSITIVE-FIXNUM.
8402
84032006-04-06 21:26  gb
8404
8405        * level-1/x86-trap-support.lisp: Bugs, not worth describing in
8406        detail.
8407
84082006-04-06 21:25  gb
8409
8410        * level-1/x86-error-signal.lisp: Bugs, not worth describing in
8411        detail ...
8412
84132006-04-06 21:24  gb
8414
8415        * level-1/l1-lisp-threads.lisp: Simplify CFP-LFUN.
8416
84172006-04-06 21:23  gb
8418
8419        * compiler/X86/X8664/x8664-backend.lisp: Fenceposts with the last
8420        gpr/fpr args.
8421
84222006-04-06 21:22  gb
8423
8424        * compiler/X86/X8664/x8664-arch.lisp: tcr->linear_end ->
8425        tcr->save_rbp.
8426
84272006-04-06 21:21  gb
8428
8429        * lisp-kernel/x86-spentry64.s: Maintain tcr->save_rbp on
8430        ffcall/callback.
8431
84322006-04-06 21:20  gb
8433
8434        * lisp-kernel/x86-exceptions.c: Setup tcr->save_rbp when doing a
8435        callback.
8436       
8437        Pass rpc to %ERR-DISP, as it expects.
8438
84392006-04-06 21:19  gb
8440
8441        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
8442        tcr->linear_end -> tcr->save_rbp.
8443
84442006-04-06 07:03  gb
8445
8446        * lisp-kernel/x86-exceptions.c: Call out to handle errors.
8447
84482006-04-06 07:03  gb
8449
8450        * lisp-kernel/linuxx8664/.gdbinit: Ignore more signals.
8451
84522006-04-06 06:44  gb
8453
8454        * compiler/X86/X8664/x8664-vinsns.lisp: Use new UUOs for
8455        slot-boundp checks, eep.address.
8456
84572006-04-06 06:43  gb
8458
8459        * compiler/X86/x862.lisp: X862-FIXUP-FWD-REFS: don't assume that
8460        functions are uvectors or that their constants start at index 1.
8461       
8462        PROGV: don't keep interrupts off in the body.
8463
84642006-04-06 05:58  gb
8465
8466        * compiler/X86/x86-asm.lisp: RESOLVE-EEP uuo needs source and dest
8467        registers to be recoverable.
8468       
8469        Use (int ($ #x8x)) for SLOT-UNBOUND, since it needs slot-vector,
8470        index, and dest reg to be recoverable.
8471       
8472        Note that the use of this range of (int N) operands may lead to
8473        confusion on platforms that use int #x80 for syscalls.  That (a)
8474        doesn't apply to x8664, since SYSCALL is present and used on x8664
8475        and (b) would only be a problem if the dest reg was %rax, which it
8476        won't be.
8477
84782006-04-06 05:53  gb
8479
8480        * lib/macros.lisp: DEFSETF for INTERRUPT-LEVEL here.
8481
84822006-04-06 05:53  gb
8483
8484        * level-0/l0-init.lisp: Better (useful) X8664 *FEATURES*.
8485
84862006-04-06 05:52  gb
8487
8488        * level-0/l0-hash.lisp: Remove some #+x86-target DBG traps.   Add a
8489        few fixnum decls in and around DO-REHASH.
8490
84912006-04-06 05:51  gb
8492
8493        * level-0/X86/x86-def.lisp: %RETURN-ADDRESS-FUNCTION: if argument
8494        is a "real" tagged return address, return the associated function.
8495
84962006-04-06 05:50  gb
8497
8498        * level-1/: x86-error-signal.lisp, x86-trap-support.lisp: Flesh
8499        this out some.  The FAKE-STACK-FRAME stuff isn't quite the right
8500        idea on X8664; may need to revise it.
8501
85022006-04-06 05:49  gb
8503
8504        * level-1/ppc-trap-support.lisp: Remove HANDLE-GC-HOOKS.
8505
85062006-04-06 05:49  gb
8507
8508        * level-1/ppc-threads-utils.lisp: DEFSETF for INTERRUPT-LEVEL moved
8509        ... anywhere but a platform-specific file.
8510
85112006-04-06 05:48  gb
8512
8513        * level-1/l1-events.lisp: HANDLE-GC-HOOKS isn't really
8514        platform-specific, so move it here.
8515
85162006-04-06 05:47  gb
8517
8518        * level-1/: l1-clos-boot.lisp, l1-clos.lisp: Hashing code expects
8519        instance.hash to be a fixnum, so violating that expectation (as was
8520        done a few weeks ago for debugging) fouls things up royally.  This
8521        may have led to instability on PPC as well.
8522
85232006-04-06 05:44  gb
8524
8525        * lisp-kernel/x86-exceptions.c: Return false (for now) on unhandled
8526        UUO.  (Need to merge code from another machine, which will try to
8527        call out to lisp.)
8528
85292006-04-06 05:43  gb
8530
8531        * lisp-kernel/pmcl-kernel.c: register_sigint_handler on x8664.
8532
85332006-04-05 06:57  gb
8534
8535        * lisp-kernel/x86-spentry64.s: nthrow variants: set %Rforeign_sp,
8536        not tcr slot.
8537       
8538        _SPcallback aligns the foreign stack the way that lisp expects.
8539
85402006-04-05 06:56  gb
8541
8542        * lisp-kernel/x86-exceptions.c: Handle more stuff, including
8543        interrupt callbacks.
8544
85452006-04-05 06:55  gb
8546
8547        * library/x8664-linux-syscalls.lisp: GETUID was wrong.
8548
85492006-04-05 06:55  gb
8550
8551        * level-1/x86-trap-support.lisp: VERY early callback for interrupt
8552        handling.
8553
85542006-04-05 06:54  gb
8555
8556        * level-1/l1-callbacks.lisp: Comment format
8557
85582006-04-05 06:54  gb
8559
8560        * level-0/X86/x86-utils.lisp: Arg order in lap macros.
8561
85622006-04-05 06:54  gb
8563
8564        * level-0/l0-pred.lisp: Get *IMMHEADER-2-TYPES* (or whatever it's
8565        called) right.
8566
85672006-04-05 06:53  gb
8568
8569        * compiler/X86/X8664/x8664-backend.lisp: DEFCALLBACK guts for
8570        X8664.
8571
85722006-04-05 05:20  gb
8573
8574        * lisp-kernel/x86-exceptions.c: Do some callbacks.  Let's see if
8575        they work yet.
8576
85772006-04-05 05:19  gb
8578
8579        * lisp-kernel/x86-spentry64.s: Use interrupt-checking macros.  Fix
8580        callback typos.
8581
85822006-04-05 05:19  gb
8583
8584        * lisp-kernel/x86-macros.s: Check for interrupts, and do so when we
8585        know that they've just become enabled.
8586
85872006-04-05 05:17  gb
8588
8589        * lisp-kernel/x86-exceptions.c: Set high bit of tcr->interrupt
8590        pending when there's ... a pending interrupt.
8591
85922006-04-05 05:17  gb
8593
8594        * lisp-kernel/x86-exceptions.h: Define xuuo stuff.
8595
85962006-04-04 21:47  gb
8597
8598        * lisp-kernel/x86-spentry64.s: callback changes.
8599
86002006-04-04 21:47  gb
8601
8602        * lisp-kernel/lisp-debug.c: rip "=", not "-".
8603
86042006-04-04 21:46  gb
8605
8606        * lisp-kernel/linuxx8664/.gdbinit: Ignore SIGPWR, until we know
8607        better.
8608
86092006-04-04 18:51  gb
8610
8611        * lisp-kernel/pmcl-kernel.c: Wimp out, back to 128GB for
8612        LinuxPPC64.
8613
86142006-04-04 18:50  gb
8615
8616        * level-1/linux-files.lisp: Don't use %GET-NATURAL in Linux version
8617        of PIPE, since file descriptors are always C ints.
8618
86192006-04-04 18:03  gb
8620
8621        * compiler/PPC/PPC32/ppc32-backend.lisp,
8622        compiler/PPC/PPC64/ppc64-backend.lisp, lib/macros.lisp: callback
8623        implementation moved to the backend.
8624
86252006-04-04 18:02  gb
8626
8627        * lib/arglist.lisp: ARGLIST-FROM-MAP: get &rest name right when
8628        &key is also present.
8629
86302006-04-04 16:10  gb
8631
8632        * lisp-kernel/pmcl-kernel.c: linuxppc64 can't mmap 512GB; try
8633        256GB.
8634
86352006-04-04 15:52  gb
8636
8637        * level-1/version.lisp: Bump. New images soon.
8638
86392006-04-04 15:52  gb
8640
8641        * compiler/backend.lisp: Add slots for callback definition.
8642
86432006-04-04 15:52  gb
8644
8645        * compiler/nx0.lisp: Remove a #-bccl.
8646
86472006-04-04 15:26  gb
8648
8649        * lisp-kernel/x86_print.c: print_unsigned_hex: conditionalize on
8650        word size.
8651
86522006-04-04 15:26  gb
8653
8654        * lisp-kernel/x86-spentry64.s: First cut of _SPcallback.
8655
86562006-04-04 15:26  gb
8657
8658        * lisp-kernel/x86-macros.s: Catch frames save foreign sp from
8659        register, not from tcr slot.
8660
86612006-04-04 15:25  gb
8662
8663        * lisp-kernel/x86-exceptions.c: Uncomment the body of
8664        interrupt_handler.
8665
86662006-04-04 15:18  gb
8667
8668        * compiler/lambda-list.lisp: %LFUN-INFO & friends: do
8669        (FUNCTION-TO-FUNCTION-VECTOR).
8670
86712006-04-04 15:18  gb
8672
8673        * compiler/X86/x86-lapmacros.lisp: check-nargs: bad comparison on
8674        max when both min and max.
8675
86762006-04-04 15:18  gb
8677
8678        * lib/macros.lisp: spurious checkin; no real change
8679
86802006-04-03 23:01  gb
8681
8682        * lisp-kernel/x86-gc.c: Make purify() a nop, for now.
8683
86842006-04-03 22:43  gb
8685
8686        * scripts/openmcl64: Maybe (check for x8664 Linux is untested).
8687
86882006-04-03 22:42  gb
8689
8690        * lisp-kernel/bits.h: Constants are word-size (not CPU-variant)
8691        -specific.
8692
86932006-04-03 22:42  gb
8694
8695        * lisp-kernel/pmcl-kernel.c: 512GB MAXIMUM_MAPPABLE_MEMORY on
8696        x8664/Linux as well.
8697
86982006-04-03 22:41  gb
8699
8700        * lisp-kernel/ppc-gc.c: Remove X86 conditionalization.  Maybe merge
8701        x86-gc.c and ppc-gc.c back into a single file someday (or at least
8702        put truly shared code there),but for now this is simpler.
8703
87042006-04-03 22:38  gb
8705
8706        * lisp-kernel/x86-exceptions.c: A little more infrastructure, so
8707        that we can actually call the GC.
8708
87092006-04-03 22:37  gb
8710
8711        * lisp-kernel/x86-exceptions.h: Define UUO, trap opcodes.
8712
87132006-04-03 22:36  gb
8714
8715        * lisp-kernel/x86-gc.c: It's ... alive.
8716
87172006-04-03 22:36  gb
8718
8719        * lisp-kernel/x86-spentry64.s: Use new vector bounds traps. How
8720        about boundp checks ?
8721
87222006-04-03 22:35  gb
8723
8724        * lisp-kernel/x86-uuo.s: New uuo definitions.
8725
87262006-04-03 22:35  gb
8727
8728        * lib/macros.lisp: DO-GC-AREAS,which is one of those macro things,
8729        moved here. Uses archmacro AREA-SUCC (defined here) to avoid
8730        TARGET-ARCH-CASE lossage.
8731
87322006-04-03 22:34  gb
8733
8734        * level-1/l1-lisp-threads.lisp: DO-GC-AREAS,which is one of those
8735        macro things, moved to macros.lisp.
8736
87372006-04-03 22:33  gb
8738
8739        * level-0/X86/x86-misc.lisp: Zero out all of the write-lock's
8740        writer slot, not just the low half.
8741
87422006-04-03 22:32  gb
8743
8744        * level-0/PPC/ppc-utils.lisp: TRUE, FALSE : cmplr vs cmplri.
8745        Typical rookie PPC assembler mistake ...
8746
87472006-04-03 22:31  gb
8748
8749        * level-0/l0-misc.lisp: %FREEBYTES looked like a job for
8750        %GET-NATURAL.
8751
87522006-04-03 22:31  gb
8753
8754        * compiler/X86/X8664/x8664-vinsns.lisp: Use newfangled UUOs.
8755
87562006-04-03 22:30  gb
8757
8758        * compiler/X86/x86-asm.lisp: Add UUO-ERROR-UNBOUND,
8759        UUO-ERROR-SLOT-UNBOUND, UUO-ERROR-EEP-UNRESOLVED.
8760
87612006-04-03 22:29  gb
8762
8763        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
8764        X86/X8664/x8664-arch.lisp: AREA-SUCC archmacro.
8765
87662006-04-01 23:36  gb
8767
8768        * lisp-kernel/x86-exceptions.h: xpMMXreg, sigaltstack stuff.
8769
87702006-04-01 23:35  gb
8771
8772        * lisp-kernel/x86-exceptions.c: take signals on an alternate signal
8773        stack, run the handler on the foreign stack (this is all intended
8774        to keep signal handlers from splatting sigcontexts all over the
8775        tagged lisp stack.)
8776
87772006-04-01 23:33  gb
8778
8779        * lisp-kernel/x86-constants64.h: mmx register indices.
8780
87812006-04-01 23:33  gb
8782
8783        * lisp-kernel/x86-asmutils64.s: switch_to_foreign_stack().
8784
87852006-04-01 23:32  gb
8786
8787        * lisp-kernel/thread_manager.c: register_cstack_holding_area_lock()
8788        takes a natural stack size.
8789
87902006-04-01 23:32  gb
8791
8792        * lisp-kernel/pmcl-kernel.c: register_cstack_holding_area_lock()
8793        takes a natural stack size, sets up alternate signal stack if
8794        USE_SIGALTSTACK.
8795
87962006-04-01 23:31  gb
8797
8798        * lisp-kernel/lisp.h: USE_SIGALTSTACK if X8664.  (Might someday
8799        depend on platform.)
8800
88012006-03-31 23:15  gb
8802
8803        * lisp-kernel/linuxx8664/Makefile: gc.o -> x86-gc.o
8804
88052006-03-31 23:00  gb
8806
8807        * lisp-kernel/x86-gc.c: New file; currently, an exact copy of
8808        ppc-gc.c, but they'll diverge some soon.
8809
88102006-03-31 22:56  gb
8811
8812        * lisp-kernel/: linuxppc/Makefile, linuxppc64/Makefile,
8813        static-linuxppc/Makefile: gc.o -> ppc-gc.o
8814
88152006-03-31 22:52  gb
8816
8817        * lisp-kernel/: darwinppc/Makefile, darwinppc64/Makefile: gc.o ->
8818        ppc-gc.o
8819
88202006-03-31 22:51  gb
8821
8822        * lisp-kernel/area.h: Need prototype for heap_area_containing().
8823        heap_node_area_containing(), which doesn't exist ... not so much.
8824
88252006-03-31 22:50  gb
8826
8827        * lisp-kernel/memory.c: Some functions moved here from gc.c before
8828        it was renamed/split.
8829
88302006-03-31 22:48  gb
8831
8832        * lisp-kernel/gc.c: rename/split
8833
88342006-03-31 22:46  gb
8835
8836        * lisp-kernel/ppc-gc.c: renamed
8837
88382006-03-31 00:54  gb
8839
8840        * lisp-kernel/x86-spentry64.s: Progvsave, progvrestore seem to
8841        work.
8842       
8843        Not sure about the tail end of the multiple-value case of THROW,
8844        but at least it's there.
8845
88462006-03-31 00:53  gb
8847
8848        * library/x8664-linux-syscalls.lisp: still need work, but more
8849        stuff (including socket syscalls) are defined now.
8850
88512006-03-31 00:52  gb
8852
8853        * level-1/version.lisp: Bump.
8854
88552006-03-31 00:52  gb
8856
8857        * level-1/l1-sockets.lisp: Conditionalize lots for x8664.
8858
88592006-03-31 00:51  gb
8860
8861        * level-0/X86/x86-def.lisp: No debug trap in %CFP-LFUN.
8862
88632006-03-31 00:50  gb
8864
8865        * level-0/l0-init.lisp: Simplify *FEATURES* init a little.  Try to
8866        ensure that :linuxx8664-target is there if it should be.
8867
88682006-03-31 00:46  gb
8869
8870        * compiler/X86/X8664/x8664-arch.lisp: Define
8871        MAX-8-BIT-IVECTOR-SUBTAG, too.
8872
88732006-03-30 03:23  gb
8874
8875        * level-1/l1-aprims.lisp: ELEMENT-SUBTYPE-TYPE for x8664.
8876
88772006-03-30 03:22  gb
8878
8879        * level-1/l1-boot-2.lisp: Load some x8664 files,
8880
88812006-03-30 03:21  gb
8882
8883        * level-1/l1-boot-3.lisp: Comments and formatting.
8884
88852006-03-30 03:20  gb
8886
8887        * level-1/l1-clos-boot.lisp: Some x8664 changes.
8888
88892006-03-30 03:20  gb
8890
8891        * level-1/l1-clos.lisp: Use REPLACE-FUNCTION-CODE another time or
8892        two.
8893       
8894        Set class's INSTANCE.HASH slots to class name, to make classes
8895        easier to identify in kernel debugger.  (Might not want to keept
8896        this, but could set/clear a bit there.)
8897
88982006-03-30 03:18  gb
8899
8900        * level-1/: l1-files.lisp, l1-dcode.lisp: Comments and formatting
8901        changes only.
8902
89032006-03-30 03:17  gb
8904
8905        * level-1/l1-lisp-threads.lisp: Start to move some stuff into
8906        platform-dependent files.
8907
89082006-03-30 03:16  gb
8909
8910        * level-1/: l1-pathnames.lisp, l1-numbers.lisp: Conditionalize.
8911
89122006-03-30 03:16  gb
8913
8914        * level-1/l1-streams.lisp: 64-bit conditionalization, and x8664
8915        stuff.
8916
89172006-03-30 03:15  gb
8918
8919        * level-1/l1-typesys.lisp: 64-bit array type on all (both) 64-bit
8920        platforms.
8921
89222006-03-30 03:13  gb
8923
8924        * level-1/l1-utils.lisp: TRUE and FALSE now in LAP.
8925
89262006-03-30 03:13  gb
8927
8928        * level-1/level-1.lisp: Load "new" x8664 files.
8929
89302006-03-30 03:12  gb
8931
8932        * level-1/linux-files.lisp: Conditionalize some for x8664.
8933
89342006-03-30 03:12  gb
8935
8936        * level-1/ppc-threads-utils.lisp: Some stuff moved here from
8937        l1-lisp-threads.
8938
89392006-03-30 03:11  gb
8940
8941        * lib/compile-ccl.lisp: X8664-related changes.
8942
89432006-03-30 03:11  gb
8944
8945        * lib/foreign-types.lisp: Setup host-ftd based on compile-time
8946        target.  Yow, recursion.
8947
89482006-03-30 03:10  gb
8949
8950        * lib/macros.lisp: LET-GLOBALLY deals with symptr/symvector stuff.
8951
89522006-03-30 03:10  gb
8953
8954        * lib/misc.lisp: Fix Linux MACHINE-INSTANCE.
8955       
8956        Move DISASSEMBLE and interface here.
8957
89582006-03-30 03:09  gb
8959
8960        * lib/nfcomp.lisp: Conditionalize for x8664; dump native functions
8961        via fasl-clfun.
8962
89632006-03-30 03:08  gb
8964
8965        * lib/prepare-mcl-environment.lisp: Needed symptr/symvector stuff.
8966
89672006-03-30 03:08  gb
8968
8969        * lib/systems.lisp: Add new x86 level-1 stuff; remove some truly
8970        ancient MCLisms.
8971
89722006-03-30 03:06  gb
8973
8974        * library/x8664-linux-syscalls.lisp: Some fixes and additions, but
8975        still needs lots of work.
8976
89772006-03-30 03:06  gb
8978
8979        * lisp-kernel/x86_print.c: If instance.hash of an instance isn't a
8980        fixnum, treat it as a class name.  (Hard to otherwise recognize
8981        classes from the kernel.)
8982
89832006-03-30 03:04  gb
8984
8985        * lisp-kernel/x86-spjump64.s: rename poweropen_callback ->callback.
8986
89872006-03-30 03:04  gb
8988
8989        * lisp-kernel/x86-spentry64.s: Lots of bug fixes.
8990       
8991        Multiple-value THROW still needs work, and CALLBACK still needs to
8992        be written (both sides).
8993
89942006-03-30 03:02  gb
8995
8996        * lisp-kernel/x86-constants64.s: No FPSCR here, but an MXCSR.
8997
89982006-03-30 03:01  gb
8999
9000        * lisp-kernel/ppc-spentry.s: Error call in misc_set_invalid
9001        involves 4 args.
9002
90032006-03-30 03:00  gb
9004
9005        * lisp-kernel/pmcl-kernel.c: Larger GC defaults if 64-bit, not just
9006        PPC64.
9007       
9008        Insist on Linux kernel 2.6 if x8664 linux.
9009
90102006-03-30 02:59  gb
9011
9012        * lisp-kernel/plsym.c: Missing #\% in format string.
9013
90142006-03-30 02:56  gb
9015
9016        * lisp-kernel/linuxx8664/.gdbinit: More stuff.
9017
90182006-03-30 02:55  gb
9019
9020        * level-1/: x86-callback-support.lisp, x86-error-signal.lisp,
9021        x86-threads-utils.lisp, x86-trap-support.lisp: Nee files.
9022
90232006-03-30 02:54  gb
9024
9025        * level-0/X86/X8664/x8664-bignum.lisp: Remove debug traps from
9026        things that're believed to be working.
9027
90282006-03-30 02:54  gb
9029
9030        * level-0/X86/x86-utils.lisp: CLASS-OF changes/fixes.  Move
9031        #'TRUE/#'FALSE here.
9032
90332006-03-30 02:53  gb
9034
9035        * level-0/X86/x86-symbol.lisp: %SYMPTR->SYMBOL: check for nilsym,
9036        not NIL.
9037
90382006-03-30 02:52  gb
9039
9040        * level-0/X86/x86-numbers.lisp: %FIXNUM-TRUNCATE: return results in
9041        the right order.
9042       
9043        %IASL: shift the right register.
9044
90452006-03-30 02:51  gb
9046
9047        * level-0/X86/x86-misc.lisp: Fix %FUDGE-HEAP-POINTER; define
9048        INTERRUPT-LEVEL.
9049
90502006-03-30 02:51  gb
9051
9052        * level-0/X86/x86-float.lisp: %get-mxcsr stores the mxcsr in memory
9053        so that we can load it into a fixnum.
9054
90552006-03-30 02:50  gb
9056
9057        * level-0/X86/x86-def.lisp: %CFP-LFUN: try to recognize
9058        multiple-value returning calls, return NIL if tra offset is 0.
9059
90602006-03-30 02:49  gb
9061
9062        * level-0/X86/x86-clos.lisp: Remove debug traps; use registers
9063        sanely in the SETF case.
9064
90652006-03-30 02:48  gb
9066
9067        * level-0/PPC/ppc-utils.lisp: Implement TRUE and FALSE in LAP.
9068
90692006-03-30 02:48  gb
9070
9071        * level-0/PPC/ppc-clos.lisp: Change the name of a constant that'll
9072        get clobbered when this is cloned anyway.  (Is that clear ?)
9073
90742006-03-30 02:47  gb
9075
9076        * level-0/l0-pred.lisp: %TYPE-OF fixes for x8664.
9077       
9078        We haven't had interpreted functions for a few years.
9079
90802006-03-30 02:46  gb
9081
9082        * level-0/l0-float.lisp: %SET-DOUBLE-FLOAT-EXP: endianness, use
9083        symbolic constant for high word.
9084
90852006-03-30 02:45  gb
9086
9087        * level-0/l0-array.lisp: SUBTAG-BYTES for X8664.
9088
90892006-03-30 02:45  gb
9090
9091        * compiler/X86/X8664/x8664-vinsns.lisp: Lots of bug fixes.
9092
90932006-03-30 02:44  gb
9094
9095        * compiler/X86/X8664/x8664-arch.lisp: REQUIRE what we need.
9096       
9097        Get CATCH-FRAME definition right.
9098       
9099        .SPpoweropen-callback -> .SPcallback.
9100
91012006-03-30 02:43  gb
9102
9103        * compiler/X86/x862.lisp: Lots of changes and bugfixes.
9104
91052006-03-30 02:42  gb
9106
9107        * compiler/X86/x86-lap.lisp: Avid path in REQUIRE; create native
9108        functions.
9109
91102006-03-30 02:42  gb
9111
9112        * compiler/X86/x86-disassemble.lisp: Run natively: provide
9113        X8664-XDISASSEMBLE.
9114
91152006-03-30 02:41  gb
9116
9117        * compiler/X86/x86-asm.lisp: Assemble things (uuos) with a "pseudo"
9118        ModRM byte, which allows encoding two 4-bit x8664 registers in a
9119        single byte.
9120
91212006-03-30 02:40  gb
9122
9123        * compiler/X86/x86-arch.lisp: Need to explicitly (REQUIRE "ARCH").
9124
91252006-03-30 02:39  gb
9126
9127        * compiler/PPC/PPC64/ppc64-arch.lisp: Define high and low 32-bit
9128        parts of a DOUBLE-FLOAT.
9129
91302006-03-30 02:39  gb
9131
9132        * compiler/PPC/ppc-disassemble.lisp: DISASSEMBLE and
9133        FUNCTION-FOR-DISASSEMBLY moved elsewhere.
9134
91352006-03-25 20:47  gb
9136
9137        * lisp-kernel/lisp-debug.c: Fix x8664 lisp register display.
9138
91392006-03-25 20:42  gb
9140
9141        * lib/ccl-export-syms.lisp: Fix export of CCL::GETENV and
9142        CCL::SETENV.
9143
91442006-03-25 20:37  gb
9145
9146        * lisp-kernel/x86-spentry64.s: Dozens of bug fixes.
9147       
9148        Do uvref (not yet uvset) via jump table.
9149
91502006-03-25 20:36  gb
9151
9152        * lisp-kernel/x86-macros.s: Do arithmetic correctly in Cons macro.
9153       
9154        Split up Misc_Alloc.
9155
91562006-03-25 20:34  gb
9157
9158        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Tag juggling.
9159
91602006-03-25 20:34  gb
9161
9162        * lisp-kernel/ppc_print.c: Identify SLOT-VECTORs in kernel
9163        debugger.
9164
91652006-03-25 20:33  gb
9166
9167        * lisp-kernel/errors.s: Add some error numbers for uvref/uvset
9168        failures that should never happen.
9169
91702006-03-25 20:32  gb
9171
9172        * lisp-kernel/lisp-debug.c: Change x8664 lisp register display.
9173
91742006-03-25 20:32  gb
9175
9176        * lisp-kernel/gc.c: IMPURIFY: maybe grow the dynamic area, but
9177        don't shrink it.
9178
91792006-03-25 20:31  gb
9180
9181        * lisp-kernel/plsym.c: Symbol address may be longer than 32 bits.
9182
91832006-03-25 20:31  gb
9184
9185        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s: sgbuf has
9186        been lisp_thread for the past few years.
9187
91882006-03-25 20:30  gb
9189
9190        * lisp-kernel/ppc-spentry.s: Do uvref/uvset via jump tables.
9191        (Fewer branches, more redundancy.)
9192
91932006-03-25 20:29  gb
9194
9195        * lisp-kernel/x86_print.c: Identify SLOT-VECTORs.  Print TRAs.
9196
91972006-03-25 20:28  gb
9198
9199        * lisp-kernel/xlbt.c: Skip over lexpr nonsense.
9200
92012006-03-25 20:28  gb
9202
9203        * lisp-kernel/linuxx8664/.gdbinit: More GDB macros.
9204
92052006-03-25 20:27  gb
9206
9207        * library/lispequ.lisp: %GF-DISPATCH-TABLE-REF uses %SVREF.
9208
92092006-03-25 20:26  gb
9210
9211        * lib/misc.lisp: MACHINE-VERSION caches the result per-session;
9212        looks in /proc/cpuinfo for something machine-dependent on Linux,
9213        passes 64-bit stuff on DarwinPPC64.
9214
92152006-03-25 20:25  gb
9216
9217        * lib/macros.lisp: LFUN-BITS-KNOWN-FUNCTIONS uses arch macros to
9218        access function vector.
9219
92202006-03-25 20:23  gb
9221
9222        * level-1/version.lisp: Bump.
9223
92242006-03-25 20:23  gb
9225
9226        * level-1/l1-io.lisp: No more interpreted functions.
9227
92282006-03-25 20:23  gb
9229
9230        * level-1/l1-dcode.lisp: Mostly comment and formatting changes.
9231
92322006-03-25 20:22  gb
9233
9234        * level-1/l1-clos.lisp: Fix typos in x86 function cloning;
9235        comment/formatting changs.
9236
92372006-03-25 20:21  gb
9238
9239        * level-1/l1-clos-boot.lisp: Lots of formatting changes; try to use
9240        DEFGLOBAL, since special variable lookup is ~10 instructions or so.
9241
92422006-03-25 20:20  gb
9243
9244        * level-1/l1-boot-1.lisp: HOST-PLATFORM, PLATFORM-DESCRIPTION:
9245        generalize, a little.
9246
92472006-03-25 20:19  gb
9248
9249        * level-1/l1-aprims.lisp: LFUN-KEYVECT access function vector, if
9250        that's not the function.  NREVERSE checks for NIL, mostly so I
9251        wouldn't have to single-step through that case in GDB.
9252
92532006-03-25 20:18  gb
9254
9255        * level-0/X86/X8664/x8664-bignum.lisp: Shift in the correct
9256        direction, sign-extend (or don't) as apropriate, etc.  Still some
9257        debug traps on things that haven't been called yet.
9258
92592006-03-25 20:17  gb
9260
9261        * level-0/X86/x86-utils.lisp: CLASS-OF fixes.
9262
92632006-03-25 20:17  gb
9264
9265        * level-0/X86/x86-pred.lisp: If the recursive list case of EQUAL
9266        fails, fail; don't fall into the uvector case ...
9267
92682006-03-25 20:16  gb
9269
9270        * level-0/X86/x86-numbers.lisp: Fenceposts in fixnum
9271        integer-length.
9272
92732006-03-25 20:15  gb
9274
9275        * level-0/X86/x86-hash.lisp: Strip-tag-to-fixnum without shifts.
9276
92772006-03-25 20:15  gb
9278
9279        * level-0/X86/x86-def.lisp: Stuff here seems to work, so far ...
9280
92812006-03-25 20:14  gb
9282
9283        * level-0/X86/x86-clos.lisp: debug traps on slot-lookup LAP
9284        prototypes.
9285
92862006-03-25 20:12  gb
9287
9288        * level-0/l0-pred.lisp: rearrange %type-of for tag changes.
9289
92902006-03-25 20:12  gb
9291
9292        * level-0/l0-numbers.lisp: No need to specify an initial value 0
9293        when stack-consing a bignum in %BIGNUM-RANDOM.  Add a fixnum decl
9294        or two.
9295
92962006-03-25 20:11  gb
9297
9298        * level-0/l0-hash.lisp: Symbol aren't (necessarily) uvectors. X86
9299        breakpoints if we hash any symbols ...
9300
93012006-03-25 20:09  gb
9302
9303        * level-0/l0-bignum64.lisp: Um, most of this is supposed to be
9304        #+64-bit-target, not #+ppc64-target.
9305
93062006-03-25 20:09  gb
9307
9308        * compiler/X86/X8664/x8664-vinsns.lisp:
9309        SET-CLOSURE-FORWARD-REFERENCE: functions aren't uvectors.
9310       
9311        Lots of other changes/fixes.
9312
93132006-03-25 20:08  gb
9314
9315        * compiler/X86/X8664/x8664-arch.lisp: Tag reorganization.
9316       
9317        MISC-SYMBOL-OFFSET, MISC-FUNCTION-OFFSET.
9318       
9319        FUNCTION-TO-FUNCTION-VECTOR, FUNCTION-VECTOR-TO-FUNCTION arch
9320        macros have something to do here.
9321
93222006-03-25 20:06  gb
9323
9324        * compiler/X86/x862.lisp: Some operators can push results directly.
9325       
9326        Lots of bug fixes.
9327
93282006-03-25 20:05  gb
9329
9330        * compiler/X86/x86-asm.lisp: CMPB: accept signed/unsigned
9331        immediate.
9332
93332006-03-25 20:04  gb
9334
9335        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Arch
9336        macros for FUNCTION-TO-FUNCTION-VECTOR and
9337        FUNCTION-VECTOR-TO-FUNCTION.
9338       
9339        (NOPs.)
9340
93412006-03-25 20:03  gb
9342
9343        * compiler/optimizers.lisp: MACPTRP.
9344
93452006-03-25 20:03  gb
9346
9347        * compiler/nx.lisp: COMPILE: don't check for INTERPRETED-FUNCTION,
9348        unless/until we have them again (in some form.)
9349
93502006-03-20 10:05  gwking
9351
9352        * lib/ccl-export-syms.lisp: Exporting getenv and setenv from CCL
9353
93542006-03-19 20:30  gb
9355
9356        * lisp-kernel/x86-spentry64.s: Old-style destructuring, VALUES.
9357
93582006-03-19 20:29  gb
9359
9360        * lisp-kernel/x86-constants64.s: Define %nargs_b.
9361
93622006-03-19 20:29  gb
9363
9364        * lisp-kernel/x86-constants.s: Define registers/bitfields used in
9365        old-style destructuring subprims.
9366
93672006-03-19 20:28  gb
9368
9369        * library/lispequ.lisp: $XNOFINFUNCTION.
9370
93712006-03-19 20:27  gb
9372
9373        * lib/level-2.lisp: Conditionalize out bit, bitfield accessors
9374        until they work ...
9375
93762006-03-19 20:27  gb
9377
9378        * lib/backtrace-lds.lisp: Conditionalize
9379        GET-REGISTER-VALUE/SET-REGISTER-VALUE catch frame access.
9380
93812006-03-19 20:26  gb
9382
9383        * level-1/: l1-clos-boot.lisp, l1-clos.lisp, l1-dcode.lisp:
9384        Conditionalize, mostly for whether the implementation has separate
9385        code-vector and function objects or not. (ppc vs x86, for now.)
9386
93872006-03-19 20:25  gb
9388
9389        * level-0/X86/x86-numbers.lisp: %FIXNUM-GCD.  Slower then the one
9390        that counts bits, but doesn't need as many registers.
9391
93922006-03-19 20:24  gb
9393
9394        * level-0/X86/x86-def.lisp: Do the lexpr/methd-context apply stuff.
9395         %X86-CLONE-FUNCTION, REPLACE-FUNCTION-CODE.
9396       
9397        Wouldn't hurt to do some typechecking in some of the lap code here.
9398
93992006-03-19 20:22  gb
9400
9401        * level-0/X86/x86-clos.lisp: Yet.
9402
94032006-03-19 20:22  gb
9404
9405        * level-0/PPC/ppc-def.lisp: REPLACE-FUNCTION-CODE abstraction.
9406
94072006-03-19 20:22  gb
9408
9409        * level-0/PPC/ppc-clos.lisp: UNSET-FIN-TRAMPOLINE doesn't reference
9410        constants.  (This could neve  have worked.)
9411
94122006-03-19 20:21  gb
9413
9414        * level-0/l0-error.lisp: Replace error format string 9.
9415
94162006-03-19 20:20  gb
9417
9418        * compiler/X86/X8664/x8664-vinsns.lisp: &lexpr fixes, old-style
9419        destructuring.
9420
94212006-03-19 20:20  gb
9422
9423        * compiler/X86/X8664/x8664-arch.lisp: Add the xtra slot to
9424        lisp-frame.  yield syscall, gf-code-size.
9425
94262006-03-19 20:19  gb
9427
9428        * compiler/X86/x862.lisp: Fix some lexpr confusion, mv-call
9429        recursive problems.
9430
94312006-03-19 20:18  gb
9432
9433        * compiler/X86/x86-lapmacros.lisp: SAVE-FRAME-VARIABLE-ARG-COUNT,
9434        CALL-SUBPRIM.
9435
94362006-03-19 20:17  gb
9437
9438        * compiler/X86/x86-lap.lisp: Support :CODE-SIZE and :ORG
9439        directives.  Change :CONSTANTS to :FIXED-CONSTANTS.
9440
94412006-03-19 20:16  gb
9442
9443        * compiler/nx1.lisp: Can use MAKE-ARRAY rather than MAKE-SEQUENCE.
9444
94452006-03-17 23:38  gb
9446
9447        * xdump/xfasload.lisp: Special case references to NIL in package
9448        htabs.
9449       
9450        Leave deleted markers behind for symbols that we haven't seen
9451        references to; leave empty (0) words empty.
9452
94532006-03-17 23:36  gb
9454
9455        * lisp-kernel/linuxx8664/.gdbinit: Add a few lisp debugging things.
9456
94572006-03-17 23:36  gb
9458
9459        * lisp-kernel/xlbt.c: Recognize multiple-value returning frames and
9460        find the real tra underneath ret1valn.
9461
94622006-03-17 23:35  gb
9463
9464        * lisp-kernel/x86-spentry64.s: "gen" tcalls had the same bug as the
9465        known-stack-args cases did several days ago.
9466
94672006-03-17 23:34  gb
9468
9469        * lisp-kernel/x86-macros.s: New do_funcall().
9470
94712006-03-17 23:33  gb
9472
9473        * lisp-kernel/x86-exceptions.c: When we field an alloc trap, make
9474        sure that both the allocptr register and the save_allocptr slot in
9475        the TCR are updated and consistent with each other.
9476
94772006-03-17 23:32  gb
9478
9479        * lisp-kernel/x86-constants64.h: A lisp frame may have two return
9480        addresses (one for the multiple-value mechanism and the real one.)
9481
94822006-03-17 23:31  gb
9483
9484        * lisp-kernel/plsym.c: If there's such a thing as fulltag_symbol,
9485        try to use it.
9486
94872006-03-17 23:29  gb
9488
9489        * level-0/X86/x86-symbol.lisp: Symptr/symvector deconflation.
9490
94912006-03-17 23:28  gb
9492
9493        * level-0/X86/x86-pred.lisp: Add %LISP-LOWBYTE-REF; could be
9494        open-coded (and may once have been.)
9495
94962006-03-17 23:27  gb
9497
9498        * level-0/nfasload.lisp: Some SYMPTR->SYMVECTOR usage.  Define
9499        %FASL-READ-SIGNED-LONG;  use it in a few places.  Assume that
9500        scalar integers are stored big-endian; construct native-endian
9501        integers from them.
9502
95032006-03-17 23:26  gb
9504
9505        * level-0/l0-symbol.lisp: Lots of SYMPTR->SYMVECTOR usage.
9506
95072006-03-17 23:25  gb
9508
9509        * level-0/l0-pred.lisp: Do %TYPE-OF for x8664.
9510
95112006-03-17 23:24  gb
9512
9513        * level-0/l0-def.lisp: Use SYMPTR->SYMVECTOR where necessary, so
9514        that we can %SVREF around in symbols.
9515       
9516        A little light reorganization, to make it easier to add debugging
9517        breakpoints for things like FUNCTION-NAME.
9518
95192006-03-17 23:22  gb
9520
9521        * compiler/X86/X8664/x8664-vinsns.lisp: Kinder, gentler
9522        CHECK-MISC-BOUND.  (What was I thinking ?)
9523       
9524        More cleanup to FUNCALL and variants.
9525       
9526        MAKE-TSP-CONS: fix braindamage, use only one register.  (Need to
9527        write down pc-luser-xp constraints for TSP allocation, but I think
9528        that this meets the current artist's conception of them.)
9529       
9530        %SYMBOL->SYMPTR does what it does on other platforms (e.g., map NIL
9531        to a proxy symbol and/or insist on a real symbol.)
9532        %SYMPTR->SYMVECTOR maps something tagged as a symbol to the
9533        underlying uvector by playing with tag bits, and %SYMVECTOR->SYMPTR
9534        does the inverse.
9535       
9536        There were two definitions of %SCHARCODE in the file; the later one
9537        (that took effect) was completely wrong.
9538
95392006-03-17 23:05  gb
9540
9541        * compiler/X86/X8664/x8664-arch.lisp: Add HONS fields to AREA
9542        definition.
9543       
9544        SYMVECTOR->SYMPTR and its inverse don't do much, but it's not worth
9545        spending a function call to do a little.
9546
95472006-03-17 23:03  gb
9548
9549        * compiler/X86/x862.lisp: Don't sign-extend the $LFBITS-NONAME-BIT;
9550        doing so had to do with 29-bit fixnums on an old 68K
9551        implementation.
9552       
9553        Fix parenthesization in %i-, so that we branch in all cases that
9554        need to.
9555       
9556        Implement %SYMPTR->SYMVECTOR and %SYMVECTOR->SYMPTR, which change
9557        something tagged X8664::FULLTAG-SYMBOL into the underlying uvector
9558        and back again.
9559
95602006-03-17 22:59  gb
9561
9562        * compiler/X86/x86-lap.lisp: Change the sign of TRA displacements,
9563        to match what the compiler expects and what some other things do.
9564       
9565        When checking to see if an ASSUMED-SHORT[-CONDITIONAL]-BRANCH can
9566        use a 1-byte branch displacement, get the sign of that displacment
9567        right.  (Doing it the wrong way was encoding a forward branch to a
9568        label 128 bytes away in one byte, which made it a backward branch
9569        128 bytes away ...)
9570
95712006-03-17 22:55  gb
9572
9573        * library/lispequ.lisp: Use NTH-IMMEDIATE to access COMBINED-METHOD
9574        slots.
9575
95762006-03-17 22:54  gb
9577
9578        * lib/nfcomp.lisp: Comments clarify that scalar integers are always
9579        dumped big-endian.  (They have to be read/written a byte at a time
9580        anyway; there's no clear advantage in writing them in native
9581        endianness.)
9582
95832006-03-17 22:52  gb
9584
9585        * lib/macros.lisp: SYMPTR->SYMVECTOR and SYMVECTOR->SYMBOL are
9586        arch-specfic (NOP on PPC, inlined tag-bits stuff on x8664.)
9587
95882006-03-17 22:50  gb
9589
9590        * level-1/l1-dcode.lisp: Star to conditionalize, a little.
9591
95922006-03-17 22:48  gb
9593
9594        * level-1/l1-boot-2.lisp: Conditionalize.
9595
95962006-03-17 22:48  gb
9597
9598        * level-1/: l1-callbacks.lisp, l1-utils.lisp: Comment formatting.
9599
96002006-03-17 22:45  gb
9601
9602        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-arch.lisp,
9603        PPC64/ppc64-arch.lisp: %SYMPTR->SYMVECTOR and %SYMVECTOR->SYMPTR
9604        shold never be called on PPC, but implement them as idenity
9605        operations, just in case.
9606
96072006-03-17 22:44  gb
9608
9609        * compiler/: nx1.lisp, nxenv.lisp: Worth inlining
9610        %SYMPTR->SYMVECTOR on x8664 (should never happen on PPC, but treat
9611        it as identity function there.)
9612
96132006-03-16 02:03  gb
9614
9615        * level-1/l1-sockets.lisp: Spell LINUX correctly.
9616
96172006-03-16 02:00  gb
9618
9619        * lisp-kernel/x86-spentry64.s: We were inlining NTH-VALUE
9620        incorrectly, but were always inlining it.
9621       
9622        Use debug traps to catch some cases that're NYI.
9623
96242006-03-16 01:58  gb
9625
9626        * lisp-kernel/lisp-debug.c: X8664 register-printing changes.
9627
96282006-03-16 01:58  gb
9629
9630        * library/parse-ffi.lisp: Treat VEC64/VEC128 like large integers,
9631        for now.
9632
96332006-03-16 01:57  gb
9634
9635        * library/lispequ.lisp: gf accessors use NTH-IMMEDIATE.
9636
96372006-03-16 01:56  gb
9638
9639        * lib/numbers.lisp: Conditionaliz on target word size.
9640
96412006-03-16 01:56  gb
9642
9643        * lib/nfcomp.lisp: Need to be aware of cases where host/target
9644        endianness differ.
9645       
9646        Byte-swap 16/32-bit constant ivectors; note that other cases may
9647        also need byte-swapping.
9648
96492006-03-16 01:54  gb
9650
9651        * lib/macros.lisp: NTH-IMMEDIATE is arch-specific; so is
9652        SET-NTH-IMMEDIATE, which is its SETF inverse.
9653
96542006-03-16 01:53  gb
9655
9656        * lib/foreign-types.lisp: So far, Darwin's the only platform that
9657        uses signed chars.  (For a good laugh, note that the PPC has an
9658        unsigned "load byte" instruction, but it takes two instructions to
9659        treat char as signed.  This is, of course, much less significant
9660        than all of the other things that are wrong about Darwin ...)
9661
96622006-03-16 01:51  gb
9663
9664        * lib/compile-ccl.lisp: RISC-LAP is PPC-specific (and maybe
9665        specific to other RISC architectures).  X86-DISASSEMBLE should be
9666        built for x8664.
9667
96682006-03-16 01:49  gb
9669
9670        * lib/backtrace-lds.lisp: Some conditinalization.
9671
96722006-03-16 01:48  gb
9673
9674        * tools/.cvsignore, library/.cvsignore: Ignore fasl extensions yet
9675        to come.
9676
96772006-03-16 01:46  gb
9678
9679        * level-1/version.lisp: Bump.
9680
96812006-03-16 01:46  gb
9682
9683        * level-1/l1-sockets.lisp: Some conditionalization; need more, and
9684        need to handle wrong-endianness.
9685
96862006-03-16 01:44  gb
9687
9688        * level-1/l1-lisp-threads.lisp: %KERNEL-GLOBAL-OFFSET-FORM:
9689        probably should lose this.  It's a function, and therefore has some
9690        trouble accessing the right (macroexpand-time) backend.
9691
96922006-03-16 01:43  gb
9693
9694        * level-1/l1-files.lisp: Set *.FASL-PATHAME* via #.'ed reference to
9695        target backend.
9696
96972006-03-16 01:42  gb
9698
9699        * level-1/l1-clos-boot.lisp: Conditionalize a little.
9700
97012006-03-16 01:42  gb
9702
9703        * level-1/l1-aprims.lisp: Use #. to set OS package name fron
9704        backend/ftd.
9705
97062006-03-16 01:41  gb
9707
9708        * level-0/X86/x86-symbol.lisp: %SYMPTR->SYMBOL is often called with
9709        real (tagged) symbols; make it a nop in that case.
9710
97112006-03-16 01:40  gb
9712
9713        * level-0/X86/x86-def.lisp: %SET-NTH-IMMEDIATE.
9714
97152006-03-16 01:40  gb
9716
9717        * level-0/X86/x86-clos.lisp: Start some of this. Still need to
9718        decide whether to use lexprs; better decide soon.
9719
97202006-03-16 01:38  gb
9721
9722        * compiler/X86/X8664/x8664-vinsns.lisp: TRAP-UNLESS-CHARACTER.
9723        Float memory accessors/setters for the constant-offset case.
9724        NTH-VALUE was wrong; now simpler.  MAKE-TSP-VCELL.  Binding
9725        subprims.
9726       
9727        Yet another FUNCALL scheme.
9728
97292006-03-16 01:36  gb
9730
9731        * level-0/l0-symbol.lisp: MAKE-SYMBOL returns the symbol pointer.
9732        Maybe conditionalize this for X8664.
9733
97342006-03-16 01:35  gb
9735
9736        * level-0/l0-io.lisp: Hopefully, the "split" 64-bit lseek is at
9737        best LinuxPPC32-specific.
9738
97392006-03-16 01:34  gb
9740
9741        * compiler/X86/x862.lisp: Use %ra0 for the inner function when
9742        making a closure, to avoid conflicts with other temps.  No need to
9743        reference memory on self-calls (and good reasons not to ...)
9744        X862-UNBOXED-INTEGER-ARG-TO-REG handles 64-bit regs.
9745
97462006-03-16 01:31  gb
9747
9748        * compiler/X86/x86-lapmacros.lisp: EXTRACT-TYPECODE: use a GENSYMed
9749        label.
9750
97512006-03-16 01:30  gb
9752
9753        * compiler/X86/x86-lap.lisp: New stuff for "pre-allocated"
9754        constants.
9755
97562006-03-16 01:29  gb
9757
9758        * compiler/X86/x86-arch.lisp: Didn't have the relatively recent
9759        STACK-SIZE.
9760
97612006-03-16 01:29  gb
9762
9763        * compiler/X86/X8664/x8664-arch.lisp: Change the
9764        %GET-KERNEL-GLOBAL[-PTR] archmacros, so that they'll work with
9765        cross-compilation.  Fixnum offsets aren't supported; they weren't
9766        used, this isn't public, and it wasn't well-defined anyway.
9767       
9768        Add %NTH-IMMEDIATE.
9769
97702006-03-16 01:28  gb
9771
9772        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp:
9773        Change the %GET-KERNEL-GLOBAL[-PTR] archmacros, so that they'll
9774        work with cross-compilation.  Fixnum offsets aren't supported; they
9775        weren't used, this isn't public, and it wasn't well-defined anyway.
9776
97772006-03-14 14:08  gb
9778
9779        * binppc/.cvsignore, l1-pfsls/.cvsignore: remove
9780
97812006-03-14 14:02  gb
9782
9783        * level-1/: l1-boot-2.lisp, level-1.lisp: Always use physical bin,
9784        l1-fasls relative pathnames.
9785
97862006-03-14 14:02  gb
9787
9788        * level-1/l1-pathnames.lisp: Simpler translations.
9789
97902006-03-14 13:51  gb
9791
9792        * l1-dfsls/.cvsignore, bindarwin/.cvsignore: removed
9793
97942006-03-14 13:31  gb
9795
9796        * bin/.cvsignore, l1-fasls/.cvsignore: new file.
9797
97982006-03-14 13:24  gb
9799
9800        * level-1/: l1-boot-2.lisp, level-1.lisp: Step 1: don't hardwire
9801        the target fasl pathname in a big #+ nest, get it from the target
9802        backend.  (Hope that works with macrolet.)
9803
98042006-03-14 13:22  gb
9805
9806        * lisp-kernel/x86-spentry64.s: _SPstack_misc_alloc fixes.
9807        _SPsyscall: just return negative return values, don't negate them.
9808
98092006-03-14 13:20  gb
9810
9811        * library/x8664-linux-syscalls.lisp: Hide the incomplete
9812        definitions.  This needs work; should use real foreign types.
9813
98142006-03-14 13:19  gb
9815
9816        * compiler/X86/X8664/x8664-vinsns.lisp: %init-gvector: pop the last
9817        element first.
9818
98192006-03-14 13:19  gb
9820
9821        * compiler/X86/X8664/x8664-backend.lisp: :linuxx8664-target on
9822        features, too.
9823
98242006-03-14 13:18  gb
9825
9826        * compiler/X86/x862.lisp: x862-allocate-initialized-gvector: works
9827        better if the gvector is actually allocated ...
9828
98292006-03-14 03:11  gb
9830
9831        * compiler/X86/x862.lisp: Remove a comment that described the
9832        mid-1990s behavior of MacsBug.
9833
98342006-03-14 03:10  gb
9835
9836        * compiler/X86/x86-lap.lisp: In X86-LAP-EQUATE-FORM, check for and
9837        disallow bindings that match defined X86 register names.
9838
98392006-03-14 03:09  gb
9840
9841        * compiler/X86/x86-disassemble.lisp: Some UUOs shouldn't terminate
9842        a disassembly block.
9843
98442006-03-14 03:09  gb
9845
9846        * library/syscall.lisp: Whoops.
9847
98482006-03-14 03:01  gb
9849
9850        * lisp-kernel/x86-spentry64.s: Fixes in _SPcall_closure,
9851        _SPstkgvector.
9852
98532006-03-14 03:00  gb
9854
9855        * lisp-kernel/x86-exceptions.c: Handle uuo_debug_trap.
9856
98572006-03-14 03:00  gb
9858
9859        * lisp-kernel/x86-constants64.h: Iflags is REG_EFL on Linux.
9860
98612006-03-14 02:59  gb
9862
9863        * lisp-kernel/lisp-debug.c: Make (R)egisters command work on x8664.
9864
98652006-03-14 02:59  gb
9866
9867        * library/syscall.lisp: BACKEND-SYSCALL-DEFINITIONS uses whatever
9868        bits are in the backend's BACKEND-PLATFORM-SYSCALL-MASK.
9869
98702006-03-14 02:57  gb
9871
9872        * library/x8664-linux-syscalls.lisp: New file. Woefully incomplete,
9873        and may need word-size fixes.
9874
98752006-03-14 02:57  gb
9876
9877        * library/ppc-linux-syscalls.lisp: Set the mask per the new (new)
9878        scheme.
9879
98802006-03-14 02:56  gb
9881
9882        * level-0/X86/x86-utils.lisp: Fix a few bugs in heap-walking code.
9883
98842006-03-14 02:56  gb
9885
9886        * level-0/X86/x86-def.lisp: %NTH-IMMEDIATE needed to box;  both it
9887        and %FUNCTION-CODE-WORDS needed to avoid naming parameters FN.
9888
98892006-03-14 02:55  gb
9890
9891        * level-1/: l1-sockets.lisp, l1-streams.lisp, linux-files.lisp: Use
9892        the right set of syscall definitions for Linux.
9893
98942006-03-14 02:54  gb
9895
9896        * level-0/nfasload.lisp: Add a fixnum declaration.
9897
98982006-03-14 02:54  gb
9899
9900        * level-0/l0-io.lisp: Include the right set of syscall defs for
9901        Linux.
9902
99032006-03-14 02:53  gb
9904
9905        * level-0/l0-symbol.lisp: Need to use %symptr->symbol for x86;
9906        harmless on PPC.
9907
99082006-03-14 02:53  gb
9909
9910        * compiler/X86/X8664/x8664-vinsns.lisp: SETUP-VCELL-ALLOCATION
9911        needs to bias the size by fulltag-misc.
9912
99132006-03-14 02:52  gb
9914
9915        * compiler/X86/X8664/x8664-backend.lisp: At least for Linux/X86/64,
9916        need to look at os/cpu/word-size to deterine applicable syscall
9917        defs.
9918
99192006-03-14 02:51  gb
9920
9921        * compiler/PPC/: PPC32/ppc32-backend.lisp,
9922        PPC64/ppc64-backend.lisp: All PPC (32/64) backends can use syscall
9923        defs for OS/CPU, regardless of word size.
9924
99252006-03-14 02:50  gb
9926
9927        * compiler/backend.lisp: Add PLATFORM-SYSCALL-MASK to backend
9928        struct.
9929
99302006-03-14 02:09  gb
9931
9932        * library/: ppc-linux-syscalls.lisp, linux-syscalls.lisp: renamed
9933
99342006-03-13 02:33  gb
9935
9936        * level-1/version.lisp: Bump.
9937
99382006-03-13 02:24  gb
9939
9940        * xdump/xfasload.lisp: AREA constants now in CCL package.
9941
99422006-03-13 02:23  gb
9943
9944        * lisp-kernel/x86-spentry64.s: ret1valn: no LEAVE here.
9945        nthrowvalues: fix several bugs.
9946
99472006-03-13 02:22  gb
9948
9949        * lisp-kernel/x86-macros.s: TSP_Alloc_Var: zero the dnode at the
9950        new tsp, as well.
9951
99522006-03-13 02:21  gb
9953
9954        * library/lispequ.lisp: Define AREA constants here (in CCL
9955        package.)
9956
99572006-03-13 02:20  gb
9958
9959        * lib/macros.lisp: Move DO-CONSING-AREAS here.  AREA-CODE is an
9960        arch macro.
9961
99622006-03-13 02:20  gb
9963
9964        * level-1/l1-lisp-threads.lisp: Move DO-CONSING-AREAS to
9965        macros.lisp.
9966
99672006-03-13 02:19  gb
9968
9969        * level-0/X86/x86-utils.lisp: Walk static, dynamic areas.
9970
99712006-03-13 02:19  gb
9972
9973        * level-0/PPC/ppc-utils.lisp: Comments.
9974
99752006-03-13 02:18  gb
9976
9977        * level-0/nfasload.lisp: %MAP-AREAS call might have to deal with
9978        symbol/symbol-vector distinction.
9979
99802006-03-13 02:18  gb
9981
9982        * level-0/l0-utils.lisp: AREA constants are in CCL package, not
9983        PPC.  %MAP-LFUNS might have to deal with function/function-vector
9984        distinction.
9985
99862006-03-13 02:17  gb
9987
9988        * level-0/l0-misc.lisp: AREA constants are in CCL package, not PPC.
9989
99902006-03-13 02:17  gb
9991
9992        * level-0/l0-hash.lisp: %GROW-HASH-TABLE is always called inside
9993        WITHOUT-INTERRUPTS, so no need to do it again.
9994
99952006-03-13 02:16  gb
9996
9997        * compiler/X86/x862.lisp: Push at most one stack frame on function
9998        entry ...
9999
100002006-03-13 02:14  gb
10001
10002        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
10003        X86/X8664/x8664-arch.lisp: AREA-CODE archmacro.
10004
100052006-03-13 02:13  gb
10006
10007        * compiler/: PPC/ppc-arch.lisp, X86/x86-arch.lisp: AREA constants
10008        moved to CCL package.
10009
100102006-03-11 23:54  gb
10011
10012        * lisp-kernel/linuxx8664/.gdbinit: Don't change handling of SIGUSR1
10013        or SIGUSR2; I don't think that we use them under Linux.
10014
100152006-03-11 23:52  gb
10016
10017        * lisp-kernel/x86-spentry64.s: builtin_eql was extracting lisptags
10018        and comparing fulltags, and thus returning false when it shouldn't
10019        have.
10020       
10021        nthrow1value was making too small of a TSP frame around the call to
10022        the cleanup code, clobbering TSP links in some cases.  It was also
10023        failing to pop catch frames.
10024       
10025        stkgvector was unimplented.
10026       
10027        _car order-of-arguments problems in (at least) spreadargz.
10028
100292006-03-11 23:47  gb
10030
10031        * lisp-kernel/x86-subprims64.s: Push a 0 and make the initial lisp
10032        %rbp point to it, to mark the end of the line.
10033
100342006-03-11 23:47  gb
10035
10036        * lisp-kernel/xlbt.c: Sketchy kernel-debugger backtrace.
10037
100382006-03-11 23:46  gb
10039
10040        * lisp-kernel/x86-constants64.h: A lisp_frame struct, for kernel
10041        backtrace.
10042
100432006-03-11 23:46  gb
10044
10045        * lisp-kernel/pmcl-kernel.c: Try (temporily) disabling Lisp's
10046        SIGINT handler.   There seem to be problems using a keyboard
10047        interrupt to awaken GDB on the version of x96-64 Linux I'm using.
10048        This didn't fix those problems completely, but we won't need to
10049        handle SIGINT in the lisp until more code works.
10050
100512006-03-11 23:43  gb
10052
10053        * lisp-kernel/macros.h: I may have parenthesized nodeheader_tag_p
10054        and immheader_tag_p; several versions of  GCC generated code that
10055        looked wrong, but since it's C it's hard to tell.   Splitting the
10056        macros up (into "mask definition" and "mask testing" seems to
10057        generate the right code (a bit test if optimization's cranked up.)
10058
100592006-03-11 23:41  gb
10060
10061        * level-0/X86/x86-misc.lisp: Fix a few typos (fixnum vs unboxed
10062        constants, etc.)
10063       
10064        %ATOMIC-DECF-PTR-IF-POSITIVE should return what we would have
10065        (might have) stored in the word accessed by the pointer (in
10066        particular, it should return a negative value if there are no other
10067        threads waiting on a recursive lock.)
10068
100692006-03-11 23:38  gb
10070
10071        * level-0/PPC/ppc-misc.lisp: Fix file name in comment.
10072
100732006-03-11 23:38  gb
10074
10075        * compiler/X86/X8664/x8664-vinsns.lisp: ENSURE-RESERVED-FRAME: test
10076        was backwards.
10077
100782006-03-11 23:37  gb
10079
10080        * compiler/X86/X8664/x8664-arch.lisp: Don't use FN as arg name in
10081        LFUN-VECTOR, since x8664::fn is a constant (symbolic register
10082        name.)
10083       
10084        Add missing close paren.
10085
100862006-03-11 23:36  gb
10087
10088        * compiler/X86/x862.lisp: Ensure stack fencepost in simple
10089        &optional arg case.
10090       
10091        Do the variable-arg-count case if complex &optional, no &rest/&key,
10092        and some (possibly unsupplied) optionals may or may not have been
10093        pushed by the caller.
10094
100952006-03-11 04:11  gb
10096
10097        * lisp-kernel/: image.c, lisp_globals.h: Fix conditionalization: we
10098        don't define PPC32, but it might be clearer if we did.
10099
101002006-03-11 03:28  gb
10101
10102        * level-1/version.lisp: Bump.
10103
101042006-03-11 03:20  gb
10105
10106        * library/: darwin-syscalls.lisp, linux-syscalls.lisp,
10107        syscall.lisp: New mechanism, mostly to make cross-compilation
10108        easier.
10109
101102006-03-11 03:20  gb
10111
10112        * level-0/X86/x86-def.lisp: Extra paren; %NTH-IMMEDIATE and
10113        function/lfun-vector stuff, CLOSURE-FUNCTION here until that can be
10114        abstracted away sanely.
10115
101162006-03-11 03:18  gb
10117
10118        * level-0/X86/x86-misc.lisp: %STORE-IMMEDIATE-CONDITIONAL needs to
10119        discard the frame that the caller reserved.
10120
101212006-03-11 03:17  gb
10122
10123        * level-0/X86/x86-clos.lisp: Comment out the PPC LAP (e.g.,
10124        everything in the file, still).
10125
101262006-03-11 03:15  gb
10127
10128        * level-0/PPC/ppc-def.lisp: CLOSURE-FUNCTION here.  (Abstract away
10129        NTH-IMMEDIATE ?)
10130
101312006-03-11 03:14  gb
10132
10133        * level-0/l0-misc.lisp: Indentation.
10134
101352006-03-11 03:13  gb
10136
10137        * level-0/l0-def.lisp: Move CLOSURE-FUNCTION to arch-specific dir.
10138        Use LFUN-VECTOR, which should hopefully compile away on PPC but
10139        needs to be there on X8664.
10140
101412006-03-11 03:11  gb
10142
10143        * compiler/X86/X8664/x8664-vinsns.lisp: Now that subprim addresses
10144        are higher, there's another significant byte to deal with in the
10145        subprim jump in %INIT-CLOSURE.
10146       
10147        Use a temporary - and a smaller instruction sequence - in
10148        MISC-ELEMENT-COUNT-FIXNUM, so that src and dest can overlap.  (More
10149        instructions, but fewer bytes.)
10150
101512006-03-11 03:08  gb
10152
10153        * compiler/PPC/PPC32/ppc32-arch.lisp,
10154        compiler/PPC/PPC64/ppc64-arch.lisp,
10155        compiler/X86/X8664/x8664-arch.lisp, lib/macros.lisp: LFUN-VECTOR
10156        and LFUN-VECTOR-LFUN are arch-specific macros.
10157
101582006-03-11 03:07  gb
10159
10160        * lisp-kernel/x86-spentry64.s: Reformat a comment.
10161
101622006-03-10 22:06  gb
10163
10164        * xdump/xx8664-fasload.lisp: Target-specific static-space (NIL
10165        representation, mostly) init functions.
10166       
10167        Move image-base-address up a few terabytes.
10168       
10169        Undefined function and macro trampolines are vectors with an
10170        executable fixnum in the 0th word.
10171
101722006-03-10 22:05  gb
10173
10174        * xdump/xppcfasload.lisp: Target-specific static-space (NIL
10175        representation, mostly) init functions.
10176
101772006-03-10 22:04  gb
10178
10179        * xdump/xfasload.lisp: Lots of changes, to deal with
10180        symbol/function tagging issues, x86 clfuns, etc.
10181
101822006-03-10 22:03  gb
10183
10184        * xdump/heap-image.lisp: Endianness, word-size conditionalization
10185        stuff.
10186
101872006-03-10 22:02  gb
10188
10189        * lisp-kernel/linuxx8664/Makefile: C files depend on lisptypes.h.
10190
101912006-03-10 22:01  gb
10192
10193        * lisp-kernel/linuxx8664/elf_x86_64.x: Don't try to link into low
10194        memory (no real reason to.) Do try to put spjump at a
10195        fixed/known/page-aligned address.
10196
101972006-03-10 21:59  gb
10198
10199        * lisp-kernel/x86_print.c: Recognize some x8664 tags.
10200
102012006-03-10 21:59  gb
10202
10203        * lisp-kernel/x86-subprims64.s: Use Rforeign_sp; get valence right
10204        on exit.
10205
102062006-03-10 21:58  gb
10207
10208        * lisp-kernel/x86-spjump64.s: Rename ffcall/syscall.
10209
102102006-03-10 21:58  gb
10211
10212        * lisp-kernel/x86-spentry64.s: Lots of fixes/changes (including
10213        ffcall/syscall).
10214
102152006-03-10 21:56  gb
10216
10217        * lisp-kernel/x86-macros.s: TSP_Alloc_Size is an immediate operand
10218        in TSP_Alloc_Fixed().
10219       
10220        Fix allocptr/allocbase comparison when consing.
10221       
10222        Misc_Alloc_Fixed: m4/gas $ conflation.
10223
102242006-03-10 21:54  gb
10225
10226        * lisp-kernel/x86-exceptions.h: Extra parens around xpGPR
10227        expansion.
10228
102292006-03-10 21:54  gb
10230
10231        * lisp-kernel/x86-exceptions.c: Actually handle something
10232        (uuo_alloc()), since we can't do much without it.
10233
102342006-03-10 21:53  gb
10235
10236        * lisp-kernel/x86-constants64.s: Call the foreign sp register
10237        Rforeign_sp, to avoid m4 lossage.
10238       
10239        nrs starts at #x2020, because NIL is between there and #x2000.
10240
102412006-03-10 21:52  gb
10242
10243        * lisp-kernel/x86-constants64.h: Iallocptr for trap handler.
10244       
10245        tcr was missing foreign_sp definition.
10246
102472006-03-10 21:51  gb
10248
10249        * lisp-kernel/thread_manager.c: get_tcr() change for HAVE_TLS case.
10250
102512006-03-10 21:51  gb
10252
10253        * lisp-kernel/ppc-exceptions.c: Put a sane value in the FPSCR
10254        before calling back to lisp on an exception.
10255
102562006-03-10 21:50  gb
10257
10258        * lisp-kernel/pmcl-kernel.c: Use address of bad_funcall, not
10259        "value".
10260       
10261        Disable EGC on x8664.
10262
102632006-03-10 21:49  gb
10264
10265        * lisp-kernel/lisptypes.h: formatting change only.
10266
102672006-03-10 21:49  gb
10268
10269        * lisp-kernel/lisp_globals.h: Layout of lisp-globals/nrs on x8664
10270        not identical to ppc64 (NIL representation differs.)
10271
102722006-03-10 21:48  gb
10273
10274        * lisp-kernel/lisp-debug.c: Lisp register stuff for x8664.
10275
102762006-03-10 21:48  gb
10277
10278        * lisp-kernel/image.c: Fix some conditionalization.
10279
102802006-03-10 21:47  gb
10281
10282        * lisp-kernel/area.h: Larger IMAGE-BASE-ADDRESS for X8664 Linux.
10283
102842006-03-10 21:46  gb
10285
10286        * library/: linux-syscalls.lisp, syscall.lisp: Try to make things a
10287        little more portable, but really need to keep things in the
10288        target-ftd.  Soon.
10289
102902006-03-10 21:45  gb
10291
10292        * level-0/l0-numbers.lisp: Don't reference
10293        TARGET::LEAST-SIGNIFICANT-BIT in ASH; express limits in terms of
10294        TARGET::NBITS-IN-WORD.
10295
102962006-03-10 21:45  gb
10297
10298        * level-0/l0-misc.lisp: Add some fixnum decls to %GET-CSTRING, so
10299        that single-stepping through it in GDB is faster.
10300
103012006-03-10 21:44  gb
10302
10303        * level-0/l0-io.lisp: %YIELD here, so all level-0 syscalls are in
10304        one file.
10305
103062006-03-10 21:43  gb
10307
10308        * level-0/l0-cfm-support.lisp: We generally want foreign symbol
10309        addresses to be boxed integers on X8664, and can't assume that
10310        they're fixnum-aligned.
10311
103122006-03-10 21:42  gb
10313
10314        * level-0/: l0-array.lisp, l0-init.lisp: Comment indentation.
10315
103162006-03-10 21:41  gb
10317
10318        * lisp-kernel/linuxx8664/.gdbinit: Well, it's a start ...
10319
103202006-03-10 21:41  gb
10321
10322        * level-0/X86/x86-utils.lisp: %KERNEL-IMPORT boxes what may not
10323        have been a fixnum.
10324
103252006-03-10 21:40  gb
10326
10327        * level-0/X86/x86-misc.lisp: Fix typo.
10328       
10329        STORE-NODE-CONDITIONAL pops stack arg, discards stack frame
10330        reserved by caller before jumping into kernel.
10331
103322006-03-10 21:39  gb
10333
10334        * level-0/X86/x86-float.lisp: Missing SET-MXCSR-CONTROL was hidden
10335        in duplicate SET-MSCSR-STATUS.  May want to always set/get the
10336        control and rounding modes.
10337
103382006-03-10 21:37  gb
10339
10340        * level-0/X86/x86-def.lisp: Comment out the missing lexpr/apply
10341        stuff, so that the rest of the file compiles.
10342
103432006-03-10 21:36  gb
10344
10345        * level-0/X86/x86-array.lisp: %INIT-MISC wants/needs to be in LAP
10346        because of write-barrier issues.
10347
103482006-03-10 21:35  gb
10349
10350        * lib/x8664env.lisp: It's OK (in fact necessary) to use FP0 as a
10351        temporary.  0.0 is in FPZERO.
10352
103532006-03-10 21:34  gb
10354
10355        * lib/nfcomp.lisp: Spit out a fasl op while writing CLFUNs.
10356
103572006-03-10 21:33  gb
10358
10359        * level-0/PPC/ppc-float.lisp: Don't CLEAR-FPU-EXCEPTIONS, at least
10360        without knowing why.
10361
103622006-03-10 21:32  gb
10363
10364        * compiler/X86/X8664/x8664-vinsns.lisp: SETcc sets the byte to 1 or
10365        0, so we need to negate.
10366       
10367        Other bug fixes and additions.
10368
103692006-03-10 21:31  gb
10370
10371        * compiler/X86/X8664/x8664-arch.lisp: Fix a typo in
10372        X8664-MISC-BYTE-SIZE.
10373       
10374        Move subprims base up to #x410000, to make it easier on the linker.
10375
103762006-03-10 21:29  gb
10377
10378        * compiler/X86/x862.lisp: Lots-o-fixes; FFI stuff.  When generating
10379        code involving a :REG8 operand, be careful to pass the 8-bit reg
10380        entry to LAP.
10381
103822006-03-10 21:27  gb
10383
10384        * compiler/X86/x86-lapmacros.lisp: X86 CMOV instructions reference
10385        the source operand (possibly generating a memory fault) even if the
10386        destination operand isn't written to.  Who knew ?
10387
103882006-03-10 21:24  gb
10389
10390        * compiler/X86/x86-disassemble.lisp: Recognize newer UUOs.
10391
103922006-03-10 21:24  gb
10393
10394        * compiler/X86/x86-lap.lisp: Use the #x80 bit in an instruction's
10395        REX prefix to indicate when the prefix needs to be emitted (even if
10396        the #x7 bits are clear).
10397
103982006-03-10 21:23  gb
10399
10400        * compiler/X86/x86-asm.lisp: A few UUOs; try to ensure that we'll
10401        generate (at least) a #x40 REX prefix if a new-style byte register
10402        is used as an operand.  (e.g., we generally don't want to refer to
10403        the traditional things like %dh, and do want to refer to the newer
10404        things like %sil.)
10405
104062006-03-10 21:20  gb
10407
10408        * compiler/X86/x86-arch.lisp: rename *X86-NILREG-RELATIVE-SYMBOLS*
10409        -> *X86-NIL-RELATIVE-SYMBOLS*.
10410
104112006-03-10 21:18  gb
10412
10413        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
10414        PPC64/ppc64-vinsns.lisp: %SINGLE-TO-DOUBLE, %DOUBLE-TO-SINGLE, to
10415        avoid consing in some simple cases.
10416
104172006-03-10 21:17  gb
10418
10419        * compiler/PPC/ppc-arch.lisp: Rename *PPC-NILREG-RELATIVE-SYMBOLS*
10420        -> *PPC-NIL-RELATIVE-SYMBOLS* (NIL hasn't been in a register in a
10421        few years.)
10422
104232006-03-10 21:15  gb
10424
10425        * compiler/optimizers.lisp: On 64-bit targets, SINGLE-FLOATs are
10426        EQL iff EQ.
10427       
10428        Try to recognize a few ways of coercing SINGLE-FLOATs to
10429        DOUBLE-FLOATs and vice versa, so that we have some chance of
10430        avoiding consing in some cases.
10431
104322006-03-10 21:13  gb
10433
10434        * compiler/nxenv.lisp: Add %SINGLE-TO-DOUBLE, %DOUBLE-TO-SINGLE.
10435        Replace unused EMBEDDED-CALL with SYSCALL.
10436
104372006-03-10 21:12  gb
10438
10439        * compiler/nx1.lisp: Just use SYSCALL operator to mark x8664
10440        syscalls.
10441
104422006-03-10 21:12  gb
10443
10444        * .cvsignore: Change patterns.
10445
104462006-03-07 06:49  gb
10447
10448        * lisp-kernel/x86-spentry64.s: Assume that fpzero (not fp0)
10449        contains 0.0.
10450       
10451        Get a few more things working, or at least written.
10452
104532006-03-07 06:48  gb
10454
10455        * lisp-kernel/: x86-macros.s, x86-subprims64.s: Assume that fpzero
10456        (not fp0) contains 0.0.
10457
104582006-03-07 06:48  gb
10459
10460        * lisp-kernel/x86-constants64.s: Define fpzero = xmm15.
10461       
10462        Pad the (misnamed) fpscr field in the TCR.
10463
104642006-03-06 06:37  gb
10465
10466        * lib/nfcomp.lisp: Initial, crude support for cross-dumping
10467        "concatenated" lisp functions.
10468
104692006-03-06 06:36  gb
10470
10471        * level-0/l0-numbers.lisp: Fix comment indentation in a function
10472        that the x8664 backend was choking on.
10473
104742006-03-06 06:36  gb
10475
10476        * compiler/X86/X8664/x8664-vinsns.lisp: use fpzero when a zero is
10477        needed,  not fp0.
10478
104792006-03-06 06:35  gb
10480
10481        * compiler/X86/X8664/x8664-arch.lisp: xmm15 is fpzero (contains
10482        0.0[de]0).  (xmm0 is used for ff-call.)
10483
104842006-03-06 06:35  gb
10485
10486        * compiler/X86/x862.lisp: X862-COMPILE: don't reserve quad for null
10487        function name, even if debug info is present.
10488
104892006-03-06 06:34  gb
10490
10491        * compiler/X86/x86-lap.lisp: RELAX-FRAG-LIST: account for (possibly
10492        non-zero) length of :ALIGN frags.  CROSS-CREATE-X86-FUNCTION: don't
10493        emit function name if it's nil, even if debug-info is present.
10494
104952006-03-06 06:30  gb
10496
10497        * compiler/X86/x86-asm.lisp: Add a declaration to suppress compiler
10498        warning on forward reference.
10499
105002006-03-06 03:27  gb
10501
10502        * xdump/xfasload.lisp: Fix parens.
10503
105042006-03-06 02:59  gb
10505
10506        * xdump/xfasload.lisp: Remove many uses of TARGET-ARCH-CASE (thus
10507        removing many uses of ppc/ppc32/ppc64 package symbols.)  Some uses
10508        remain.
10509
105102006-03-06 02:57  gb
10511
10512        * lib/macros.lisp: Define TARGET-ARCH-CASE in terms of CASE, not
10513        ECASE.
10514
105152006-03-05 19:12  gb
10516
10517        * compiler/PPC/PPC64/ppc64-arch.lisp: typecode, lisptag are in ccl
10518        package.
10519
105202006-03-05 19:01  gb
10521
10522        * level-1/version.lisp: Bump; some of this is hard to bootstrap.
10523
105242006-03-05 19:00  gb
10525
10526        * lib/macros.lisp: Move some %kernel-global nonsense here.
10527
105282006-03-05 19:00  gb
10529
10530        * level-1/l1-lisp-threads.lisp: Define macros in ... macros.lisp,
10531        of all places.
10532
105332006-03-05 18:59  gb
10534
10535        * level-0/X86/x86-array.lisp: write some code in lisp
10536        (temporarily), clean up some typos so that the file compiles.
10537
105382006-03-05 18:58  gb
10539
10540        * compiler/: arch.lisp, PPC/PPC32/ppc32-arch.lisp,
10541        PPC/PPC64/ppc64-arch.lisp, X86/X8664/x8664-arch.lisp: More
10542        parameters (mostly for xloader) in target-arch struct.
10543
105442006-03-05 18:52  gb
10545
10546        * xdump/xfasload.lisp: Get target parameters from
10547        (backend-target-arch *target-backend*)).
10548
105492006-03-05 06:17  gb
10550
10551        * xdump/xx8664-fasload.lisp: Closer ...
10552
105532006-03-05 06:17  gb
10554
10555        * xdump/hashenv.lisp: Arch macros for hashing macros.
10556
105572006-03-05 06:16  gb
10558
10559        * level-1/l1-lisp-threads.lisp: Arch macros for kernel globals.
10560
105612006-03-05 06:16  gb
10562
10563        * level-1/l1-readloop-lds.lisp: Check *interrupt-level* value, not
10564        (interrupt-level).
10565
105662006-03-05 06:15  gb
10567
10568        * level-1/l1-clos-boot.lisp: Make *class-table* a global.
10569
105702006-03-05 06:15  gb
10571
10572        * level-0/X86/X8664/x8664-bignum.lisp: use temp2.b (= cl) for
10573        variable shifts.
10574
105752006-03-05 06:14  gb
10576
10577        * level-0/nfasload.lisp: No code-vectors on x8664.
10578
105792006-03-05 06:14  gb
10580
10581        * level-0/l0-numbers.lisp: Conditionalization: 64-bit-target
10582        implies no (need for) destructive single-float ops.
10583
105842006-03-05 06:13  gb
10585
10586        * level-0/l0-misc.lisp: Remove some unused stuff.
10587
105882006-03-05 06:13  gb
10589
10590        * level-0/l0-array.lisp: array-element-type for x8664.
10591
105922006-03-05 06:12  gb
10593
10594        * compiler/X86/X8664/x8664-vinsns.lisp: More stuff.
10595
105962006-03-05 06:12  gb
10597
10598        * compiler/X86/x862.lisp: (Mostly) try to fix fixnum subtraction.
10599
106002006-03-05 06:11  gb
10601
10602        * compiler/X86/x86-lapmacros.lisp: TRAP-UNLESS-FIXNUM,
10603        PUSH-ARGREGS, some syntax fixes.
10604
106052006-03-05 06:10  gb
10606
10607        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
10608        X86/X8664/x8664-arch.lisp: More arch macros.
10609
106102006-03-05 06:10  gb
10611
10612        * compiler/backend.lisp: DECLARE-ARCH-SPECIFIC-MACRO returns macro
10613        name.
10614
106152006-03-05 06:09  gb
10616
10617        * level-0/X86/x86-utils.lisp: Warn for things that don't work yet;
10618        other things compile.
10619
106202006-03-05 06:08  gb
10621
10622        * level-0/X86/: x86-misc.lisp, x86-float.lisp: Compiles.
10623
106242006-03-05 06:08  gb
10625
10626        * level-0/X86/x86-pred.lisp: Fix typos/new syntax.
10627
106282006-03-04 19:13  gb
10629
10630        * lib/nfcomp.lisp: Some conditionalization.
10631
106322006-03-04 19:12  gb
10633
10634        * compiler/X86/X8664/x8664-vinsns.lisp: More stuff.  Need to review
10635        float arithmetic.
10636
106372006-03-04 19:11  gb
10638
10639        * level-0/l0-float.lisp: Comment indentation.
10640
106412006-03-04 19:11  gb
10642
10643        * level-0/X86/x86-utils.lisp: Fix a few typos; needs more work.
10644
106452006-03-04 18:30  gb
10646
10647        * lib/foreign-types.lisp: Can use TARGET-WORD-SIZE-CASE instead of
10648        TARGET-ARCH-CASE.
10649
106502006-03-04 18:29  gb
10651
10652        * lib/macros.lisp: New arch-specific macros. (Still need to do
10653        something about DEFCALLBACK and related functions.)
10654
106552006-03-04 18:29  gb
10656
10657        * lib/number-macros.lisp: New arch-specific macros.
10658
106592006-03-04 18:28  gb
10660
10661        * compiler/X86/x862.lisp: Keep unboxed float constants in the
10662        function (as aligned words following "real" instructions and
10663        preceding boxed constants.)
10664
106652006-03-04 18:26  gb
10666
10667        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
10668        X86/X8664/x8664-arch.lisp: Remove some remaining uses of
10669        TARGET-ARCH-CASE by using arch-specific macro implementations.
10670
106712006-03-04 18:25  gb
10672
10673        * compiler/backend.lisp: Mechanism for arch-specific macros.
10674
106752006-03-04 18:24  gb
10676
10677        * compiler/arch.lisp: New constructor, so that we can keep track of
10678        defined target-archs.  Hash table in each arch structure, for
10679        arch-dependent macros.
10680
106812006-03-03 19:38  gb
10682
10683        * lib/number-macros.lisp: Will need a lot more work.
10684
106852006-03-03 19:38  gb
10686
10687        * lib/systems.lisp: xx8664xfasload.
10688
106892006-03-03 19:38  gb
10690
10691        * lib/compile-ccl.lisp: *x8664-xload-modules*.
10692
106932006-03-03 19:37  gb
10694
10695        * level-0/X86/X8664/.cvsignore: ignore lx64fsl files.
10696
106972006-03-03 19:37  gb
10698
10699        * level-0/X86/x86-def.lisp: extra close paren.
10700
107012006-03-03 19:36  gb
10702
10703        * level-0/X86/x86-float.lisp: package prefix on MXCSR-CONTROL-BYTE.
10704
107052006-03-03 19:36  gb
10706
10707        * level-0/X86/x86-numbers.lisp: Don't call local variable "shift".
10708
107092006-03-03 19:11  gb
10710
10711        * level-0/: .cvsignore, X86/.cvsignore: Ignore lx64fsl files.
10712
107132006-03-03 19:11  gb
10714
10715        * compiler/X86/X8664/x8664-vinsns.lisp: A few more things.
10716
107172006-03-03 19:11  gb
10718
10719        * compiler/X86/x862.lisp: Conserve imm regs more in inc-ptr
10720
107212006-03-03 19:10  gb
10722
10723        * compiler/X86/x86-lapmacros.lisp: Remove (duplicate, bad)
10724        definitions of int-to-double.
10725
107262006-03-03 19:09  gb
10727
10728        * compiler/X86/: x86-asm.lisp, x86-disassemble.lisp: A few more
10729        UUOs.
10730
107312006-03-03 19:09  gb
10732
10733        * compiler/nx1.lisp: Use (old, unused) ff-call operator to mark
10734        x8664 ff-calls.
10735
107362006-03-03 02:09  gb
10737
10738        * compiler/X86/X8664/x8664-vinsns.lisp: fix typo.
10739
107402006-03-03 02:09  gb
10741
10742        * compiler/X86/X8664/x8664-arch.lisp: rcontext is %fs, and (with
10743        that change) tcr-bias is 0.
10744
107452006-03-03 02:08  gb
10746
10747        * xdump/xppcfasload.lisp: move xcompile-level-0, etc, away from
10748        here.
10749
107502006-03-03 02:07  gb
10751
10752        * xdump/xfasload.lisp: move xcompile-level-0, etc, here.
10753
107542006-03-03 02:06  gb
10755
10756        * xdump/xx8664-fasload.lisp: New file; still needs work.
10757
107582006-03-03 01:15  gb
10759
10760        * lisp-kernel/thread_manager.c: Um,function name is
10761        'amd64_set_gsbase'.
10762
107632006-03-03 01:05  gb
10764
10765        * lisp-kernel/: freebsd8664/Makefile, linuxx8664/Makefile: Assert
10766        that we have thread-local storage by passing -DHAVE_TLS.
10767
107682006-03-03 01:04  gb
10769
10770        * lisp-kernel/thread_manager.c: new_tcr sets up extra segment
10771        register if x8664 and HAVE_TLS.
10772
107732006-03-03 01:03  gb
10774
10775        * lisp-kernel/x86-constants64.h: tcr.single_float_convert is a
10776        struct; tag in most significant word.
10777
107782006-03-03 01:03  gb
10779
10780        * lisp-kernel/x86-constants64.s: tcr bias is 0.  rcontext = %gs, at
10781        least for Linux/FreeBSD.
10782
107832006-03-02 23:16  gb
10784
10785        * compiler/arch.lisp: add big-endian field to target-arch.
10786
107872006-03-02 23:16  gb
10788
10789        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Big
10790        endian.
10791
107922006-03-02 23:14  gb
10793
10794        * compiler/X86/: X8664/x8664-vinsns.lisp, x862.lisp: &lexpr stuff,
10795        mostly.
10796
107972006-03-02 23:14  gb
10798
10799        * compiler/X86/X8664/x8664-arch.lisp: We're not big-endian.
10800
108012006-03-02 23:13  gb
10802
10803        * lib/macros.lisp: Comment formatting.
10804
108052006-03-02 23:12  gb
10806
10807        * level-0/: l0-cfm-support.lisp, l0-hash.lisp, l0-init.lisp,
10808        l0-io.lisp, l0-misc.lisp, l0-numbers.lisp, l0-pred.lisp,
10809        l0-symbol.lisp, l0-utils.lisp, nfasload.lisp: Conditionalization
10810        changes.
10811
108122006-03-02 23:11  gb
10813
10814        * lisp-kernel/thread_manager.c: Change thread creation/activation,
10815        so that new_tcr() call happens on the new thread.
10816
108172006-03-02 22:51  gb
10818
10819        * lisp-kernel/Threads.h: Fix new_tcr() prototype.  Why did this
10820        compile in FreeBSD/x86-64 ?
10821
108222006-03-02 22:28  gb
10823
10824        * lisp-kernel/freebsd8664/Makefile: Depend on the linker script.
10825        Use some make variables to make changing/ ignoring that script
10826        easier.
10827
108282006-03-02 22:27  gb
10829
10830        * lisp-kernel/thread_manager.c: Conditionalize some for FreeBSD.
10831
108322006-03-02 22:27  gb
10833
10834        * lisp-kernel/pmcl-kernel.c: FreeBSD can also map (at least) 512GB.
10835       
10836        Not sure how to get real name of executable in FreeBSd, so use
10837        argv[0] for now.
10838       
10839        CPUID instruction returns cache block size in ebx, not eax.
10840
108412006-03-02 22:25  gb
10842
10843        * lisp-kernel/freebsd8664/elf_x86_64.x: Output file wasn't
10844        executable if subprims were mapped to low memory; map them to a
10845        fixed address (0x410000).  Will need to change subprims base in
10846        arch definition, and things (bad_funcall) that may depend on it.
10847
108482006-03-02 19:19  gb
10849
10850        * lisp-kernel/x86-spentry64.s: Try to avoid use of %temp0 (which
10851        may contain next_method_context); use %temp1 instead.
10852
108532006-03-02 19:18  gb
10854
10855        * lisp-kernel/x86-constants64.s: next_method_context is temp0, not
10856        temp1 (according to lisp).
10857
108582006-03-01 12:42  gb
10859
10860        * level-0/nfasload.lisp: One lousy missing #\)!  All this fuss over
10861        one lousy missing #\) !
10862
108632006-03-01 12:39  gb
10864
10865        * xdump/faslenv.lisp: Define $fasl-clfun.
10866
108672006-03-01 12:38  gb
10868
10869        * level-1/ppc-threads-utils.lisp: Rename %FIXNUM-SET-U32 ->
10870        %FIXNUM-SET-NATURAL.
10871
108722006-03-01 12:37  gb
10873
10874        * level-0/X86/x86-def.lisp: Translate most of this, except for the
10875        lexpr stuff.
10876
108772006-03-01 12:37  gb
10878
10879        * level-0/PPC/ppc-def.lisp: Delete a few things that seem to be
10880        totally unused.  Rename %FIXNUM-SET-U32 -> %FIXNUM-SET-NATURAL.
10881
108822006-03-01 12:36  gb
10883
10884        * level-0/nfasload.lisp: $fasl-clfun.
10885
108862006-03-01 12:33  gb
10887
10888        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: %ilogbitp,
10889        inline multiplication.
10890
108912006-03-01 12:32  gb
10892
10893        * compiler/X86/x86-lap.lisp: %define-x86-lap-function: "function
10894        creator" isn't a parameter, so signature matches what the compiler
10895        expects.
10896
108972006-03-01 12:31  gb
10898
10899        * compiler/X86/x86-asm.lisp: Insert register operand correctly in
10900        immeditate bt/btc/btr/bts.  Some imul variants (at least the
10901        64/32/16-bit versions.)
10902
109032006-03-01 12:19  gb
10904
10905        * compiler/nx1.lisp: Don't require SPARC-LAP in nx-x86-lap-function
10906        ...
10907
109082006-02-28 19:46  gb
10909
10910        * compiler/X86/x862.lisp: Always build/ensure that a frame exists
10911        before calling a subprim.  Handle &key, other/harder &optional
10912        cases.
10913       
10914        Todo: &lexpr, %ilogbitp, ??
10915
109162006-02-28 19:44  gb
10917
10918        * compiler/X86/X8664/x8664-vinsns.lisp: &optional defaulting and
10919        supplied-p handling; keywords subprims.
10920
109212006-02-28 19:43  gb
10922
10923        * level-1/l1-reader.lisp: Signal IMPOSSIBLE-NUMBER conditions if
10924        parsing an potential number yields an ARITHMETIC-ERROR.
10925
109262006-02-28 19:43  gb
10927
10928        * level-1/l1-error-system.lisp: Define IMPOSSIBLE-NUMBER as a
10929        subtype of READER-ERROR.
10930
109312006-02-28 19:42  gb
10932
10933        * lib/numbers.lisp: If we'd get overflow or underflow when creating
10934        a float and the corresponding exception is enabled, generate the
10935        appropriate condition rather than CERRORing unconditionally.
10936
109372006-02-28 19:40  gb
10938
10939        * lib/macros.lisp: Use target-word-size-case in %ilogbitp.
10940
109412006-02-28 19:37  gb
10942
10943        * lisp-kernel/x86-spentry64.s: stkconslist, stkconslist_star,
10944        mkstackv, fix in heap_cons_rest_arg, simple_keywords, keyword_args,
10945        keyword_bind, fix in stack_cons_rest_arg, spreadargz, tfuncallgen,
10946        tfuncallslide,tfuncallvsp,tcallsymgen, tcallsymslide, tcallsymvsp,
10947        tcallnfngen, tcallnfnslide, tcallnfnvsp.
10948       
10949        todo: ffcall, syscall, callback, lexprs.
10950
109512006-02-28 19:33  gb
10952
10953        * lisp-kernel/x86-macros.s: compare_reg_to_nil, discard_temp_frame.
10954
109552006-02-28 19:32  gb
10956
10957        * lisp-kernel/x86-constants64.s: function_header_offset,
10958        function_data_offset
10959
109602006-02-28 19:32  gb
10961
10962        * lisp-kernel/x86-constants64.h: TCR flags are a natural.
10963
109642006-02-28 19:31  gb
10965
10966        * lisp-kernel/x86-constants64.h: TCR flags are unsigned.
10967
109682006-02-28 19:31  gb
10969
10970        * lisp-kernel/x86-constants.h: TCR flags.
10971
109722006-02-28 19:31  gb
10973
10974        * lisp-kernel/ppc-spentry.s: Fix comment (have never used temp0 for
10975        closure data).
10976
109772006-02-27 14:14  gb
10978
10979        * compiler/PPC/ppc2.lisp: Hadn't saved the buffer; ppc2-%aset2
10980        changes were incomplete.
10981
109822006-02-26 23:30  gb
10983
10984        * lisp-kernel/pmcl-kernel.c: Suppress compiler warning.
10985
109862006-02-26 22:51  gb
10987
10988        * release-notes.txt: Update.
10989
109902006-02-26 22:51  gb
10991
10992        * level-1/: l1-application.lisp, l1-boot-lds.lisp,
10993        l1-lisp-threads.lisp: Exercise more control over the stack sizes of
10994        listener threads (especially the initial listener.)
10995       
10996        (The --thread-stack-size argument affects the size of the initial
10997        listener's stacks only.)
10998
109992006-02-26 22:49  gb
11000
11001        * lisp-kernel/pmcl-kernel.c: Fix the usage message.
11002
110032006-02-26 21:58  gb
11004
11005        * lisp-kernel/pmcl-kernel.c: Split --stack-size and
11006        --thread-stack-size args, to avoid rlimit problems (and because
11007        they're really separate issues.)
11008
110092006-02-26 21:23  gb
11010
11011        * lib/macros.lisp: Remove (most) support for tracing callbacks.
11012        (Having the functionality isn't a bad idea, but the way that it was
11013        implemented made the code hard to read and maintain.  Maybe redo
11014        this.)
11015
110162006-02-26 21:21  gb
11017
11018        * lisp-kernel/pmcl-kernel.c: Can't reserve 512GB on LinuxPPC64; try
11019        256GB instead.
11020
110212006-02-26 20:59  gb
11022
11023        * level-1/version.lisp: Bump.
11024
110252006-02-26 20:37  gb
11026
11027        * lisp-kernel/: darwinppc/Makefile, darwinppc64/Makefile: Restore
11028        COPT setting, clobbered on last (accidental) checkin.
11029
110302006-02-26 20:35  gb
11031
11032        * lisp-kernel/lisp_globals.h: stack-size global
11033
110342006-02-26 20:35  gb
11035
11036        * lisp-kernel/ppc-asmutils.s: atomic_and
11037
110382006-02-26 20:35  gb
11039
11040        * lisp-kernel/pmcl-kernel.c: more mappable memory on 64-bit
11041        platforms.  Set stack-size global from command line arg
11042
110432006-02-26 20:35  gb
11044
11045        * lisp-kernel/gc.c: check_range() takes a headers_allowed arg (not
11046        allowed on vsp).  Some debugging fprintfs.
11047
110482006-02-26 20:35  gb
11049
11050        * lisp-kernel/: ppc-constants32.h, ppc-constants64.h: tcr flags are
11051        natural
11052
110532006-02-26 20:35  gb
11054
11055        * lisp-kernel/ppc-exceptions.c: fixes in pc_luser_xp. Defer
11056        exceptions if we don't have the lock on Darwin
11057
110582006-02-26 20:35  gb
11059
11060        * lisp-kernel/thread_manager.c: simpler suspend ack, other changes,
11061        heavy, unreadable conditionalization
11062
110632006-02-26 20:35  gb
11064
11065        * lisp-kernel/: plbt.c, plsym.c: bug fixes
11066
110672006-02-26 20:35  gb
11068
11069        * lisp-kernel/ppc-spentry.s: change defs of C write-barrier exports
11070
110712006-02-26 20:35  gb
11072
11073        * lisp-kernel/: darwinppc64/Makefile, darwinppc/Makefile,
11074        Threads.h, bits.h: Prototype atomic_and(), atomic_ior() here.  Use
11075        them to set/clear TCR flag bits.
11076
110772006-02-26 20:34  gb
11078
11079        * lib/encapsulate.lisp: Print trace level in trace output.
11080
110812006-02-26 20:34  gb
11082
11083        * lib/compile-ccl.lisp: Add :reload-arguments arg to REBUILD-CCL.
11084
110852006-02-26 20:33  gb
11086
11087        * level-1/l1-lisp-threads.lisp: Adjust default stack sizes based on
11088        --stack-size argument.
11089
110902006-02-26 20:32  gb
11091
11092        * level-0/l0-misc.lisp: ROOM: don't report hons-space size if it's
11093        0.
11094
110952006-02-26 20:32  gb
11096
11097        * level-0/l0-array.lisp: Use #+64-bit-target instead of
11098        #+ppc64-target in a few places.
11099
111002006-02-26 20:31  gb
11101
11102        * examples/hons-example.lisp: Still needs work, but not quite so
11103        brain-dead.
11104
111052006-02-26 20:30  gb
11106
11107        * compiler/X86/X8664/x8664-vinsns.lisp: A few bug fixes.
11108
111092006-02-26 20:30  gb
11110
11111        * compiler/X86/x862.lisp: Fix typos in unwind-protect; use the same
11112        general scheme for PROGV.
11113
111142006-02-26 20:29  gb
11115
11116        * compiler/PPC/ppc2.lisp: In PPC2-%ASET2, typename is quoted in
11117        acode.
11118
111192006-02-26 20:28  gb
11120
11121        * compiler/PPC/ppc-arch.lisp: Replace BAD-CURRENT-VS global with
11122        STACK-SIZE.
11123
111242006-02-16 15:49  gb
11125
11126        * lisp-kernel/thread_manager.c: Wait for acknowledgement after
11127        suspend_tcr.  Probably needs some testing, but this may be the
11128        right approach.
11129
111302006-02-16 15:48  gb
11131
11132        * lisp-kernel/ppc-exceptions.c: catch_exception_raise maintains
11133        TCR_FLAG_BIT_PENDING_EXCEPTION.  (There's also some half-finished
11134        Mach-based code here for doing interrupts via suspend/resume, but
11135        it's probably a bad idea.)
11136
111372006-02-16 15:45  gb
11138
11139        * lisp-kernel/ppc-constants.h: Define a few more tcr flags.
11140
111412006-02-14 23:56  gb
11142
11143        * compiler/PPC/ppc-asm.lisp: Define LWSYNC.  Less sure how to tell
11144        if it's available.
11145
<