source: trunk/ccl/ChangeLog @ 6247

Last change on this file since 6247 was 6247, checked in by gb, 14 years ago
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 720.6 KB
Line 
12007-04-09 00:10  gb
2
3        * release-notes.txt: Update for 070408.
4       
5        (Yes, it's 070409 here already ...)
6
72007-04-08 15:12  gb
8
9        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump image version.
10
112007-04-08 15:10  gb
12
13        * xdump/faslenv.lisp: Bump min fasl version.
14
152007-04-08 14:11  gb
16
17        * lisp-kernel/ppc-spjump.s: Org to the next page boundary at end of
18        jump table, to work around (still more) Apple ld64 nonsense.
19
202007-04-08 13:14  gb
21
22        * lib/nfcomp.lisp: Bump current fasl version.
23
242007-04-08 13:13  gb
25
26        * lib/ccl-export-syms.lisp: Export CCL:FREE.
27
282007-04-08 13:12  gb
29
30        * xdump/faslenv.lisp: Bump max fasl version.
31
322007-04-08 13:11  gb
33
34        * lisp-kernel/darwinppc64/Makefile: Pass -arch ppc64 to C, so that
35        people who try to build this kernel on an x86 mac will take longer
36        to realize that that's usually a bad idea.
37
382007-04-08 12:09  gb
39
40        * examples/: cocoa-application.lisp, cocoa-backtrace.lisp,
41        cocoa-defaults.lisp, cocoa-editor.lisp, cocoa-inspector.lisp,
42        cocoa-listener.lisp, cocoa-prefs.lisp, cocoa-typeout.lisp,
43        cocoa-window.lisp, cocoa.lisp:
44        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
45       
46        Some changes in font, nsstring stuff to avoid using deprecated
47        featurs.
48
492007-04-08 12:07  gb
50
51        * examples/: webkit.lisp, addressbook.lisp:
52        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
53       
54        Use OBJC:LOAD-FRAMEWORK.
55
562007-04-08 12:06  gb
57
58        * examples/tiny.lisp:
59        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
60
612007-04-08 12:05  gb
62
63        * examples/rubix/: blocks.lisp, lights.lisp, opengl.lisp,
64        rubix.lisp:
65        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
66       
67        Handle CGFLOAT issues in mouse event handlers.
68
692007-04-08 12:04  gb
70
71        * examples/bridge.lisp: Define CGFLOAT, ObjC-2 foreign types here.
72       
73        Define "foreign struct classes" for several common structure types
74        (rectangle, point, size); generate inlined accessors for their
75        slots, PRINT-OBJECT methods, initialization functions, WITH-xxx
76        macros.
77       
78        #/ reader macro: reads a string containing "constituent" characters
79        (including #\:), preserving case.  Does a little bit of
80        sanity-checking on it, then interns it in NEXTSTEP-FUNCTIONS
81        package.
82       
83        Try to deal with cases where foreign type info may be parsed or
84        unparsed.
85       
86        Introduce OBJC-DISPATCH-FUNCTIONs, which are funcallable instances.
87         SHARED-INITIALIZE :AFTER method on OBJC-DISPATCH-FUNCTION looks at
88        message info, tries to determine ambiguity, calls signature
89        function (possibly after trying to resolve ambiguity.)
90       
91        %CALL-NEXT-OBJC-METHOD does some of the same stuff at runtime,
92        calling a signature function that knows how to dispatch to SUPER
93        method. (Likewise, %CALL-NEXT-OBJC-CLASS-METHOD for class methods.)
94       
95        POSTPROCESS-OBJC-MESSAGE-INFO (re-) initializes the associated
96        OBJC-DISPATCH-FUNCTION.
97       
98        Handle PROTOCOLs differently in ambiguous SEND.
99
1002007-04-08 12:04  gb
101
102        * examples/objc-runtime.lisp: Compile message send functions per
103        signature.  Handle vararg message sends, partly at runtime.  INIT
104        messages just have their signature info precomputed.  Defining a
105        named OBJC-CLASS makes the class name a static variable whose value
106        is the class (and likewise for the metaclass.)
107        %DECLARE-OBJC-MESSAGE notes method redefinition, cerrors.
108        OBJC:DEFMETHOD and support for it.
109
1102007-04-08 12:03  gb
111
112        * examples/objc-support.lisp: Use new syntax.  OBJC:LOAD-FRAMEWORK.
113         Avoid some deprecated C-string stuff (but wimp out and assume
114        ASCII.) Keep track of objc-class-count, provide
115        MAYBE-MAP-OBJC-CLASSES to map new classes iff class count changes.
116        Handle OBJC-PROTOCOLs a bit differently.  Move CGFLOAT definitions,
117        etc. elsewhere.
118
1192007-04-08 12:02  gb
120
121        * examples/objc-clos.lisp: RECOGNIZE-OBJC-OBJECT: maybe try mapping
122        classes if first try fails.  ALLOCATE-INSTANCE of objc-object:
123        don't canonicalize instance if no lisp slots (so MAKE-INSTANCE is
124        about as lightweight as MAKE-OBJC-INSTANCE.)
125
1262007-04-08 12:01  gb
127
128        * examples/name-translation.lisp:
129        COMPUTE-OBJC-TO-LISP-FUNCTION-NAME was once going to do something
130        non-trivial, now just interns in NEXSTEP-FUNCTIONS.
131
1322007-04-08 12:00  gb
133
134        * examples/objc-package.lisp: New file; export more stuff.  Import
135        some of it back into CCL.  Provide a NEXTSTEP-FUNCTIONS package for
136        pseudo-GFs.
137
1382007-04-08 11:59  gb
139
140        * lib/foreign-types.lisp: Foreign-type-ordinals, some of which are
141        canonical.  Straighten out the auxiliary-foreign-types mess a bit.
142        Intern integer types up to 64 bits.
143
1442007-04-08 11:59  gb
145
146        * lib/macros.lisp: DEFGLOBAL = DEFSTATIC.  DEFLOADVAR makes its
147        argument static.  WITH-MACPTRS is saner.  WITH-ENCODED-CSTR writes
148        NUL octet(s) to the end of the encoded string.  MAKE-GCABLE-RECORD,
149        COPY-RECORD.
150
1512007-04-08 11:58  gb
152
153        * lib/db-io.lisp: Slight changes (preserve typedef name) in
154        function/objc method arglists.  UNESCAPE-FOREIGN-NAME: handle
155        missing brackets.
156
1572007-04-08 11:57  gb
158
159        * lisp-kernel/x86-exceptions.c: Handle signals on the altstack if
160        not Darwin.  In Darwin, evactuate off of the lisp stack while
161        interrupts are still disabled.
162
1632007-04-08 11:56  gb
164
165        * lisp-kernel/x86-exceptions.h: USE_SIGALTSTACK, but not on Darwin
166        (where Apple hasn't yet invented the notion that it needs to be
167        thread-specific.)
168
1692007-04-08 11:55  gb
170
171        * lisp-kernel/thread_manager.c: Clear pending interrupt flag when
172        destroying TCR.
173
1742007-04-08 11:54  gb
175
176        * lisp-kernel/ppc-exceptions.c: Lose (commented-out) code which
177        worked around an old Darwin bug.
178
1792007-04-08 11:53  gb
180
181        * lisp-kernel/lisp.h: Don't define USE_SIGALTSTACK here.
182
1832007-04-08 11:52  gb
184
185        * lisp-kernel/image.c: Don't nuke null pointers.
186
1872007-04-08 11:52  gb
188
189        * lisp-kernel/darwinx8664/.gdbinit: Add gtra.
190
1912007-04-08 11:51  gb
192
193        * lisp-kernel/x86-spentry64.s: zeroed stack-block zeroes all bits
194        of macptr.domain, macptr.type.
195
1962007-04-08 11:50  gb
197
198        * xdump/xfasload.lisp: Deal with pkg.intern-hook.
199
2002007-04-08 11:49  gb
201
202        * library/lispequ.lisp: add pkg.intern-hook to package.
203
2042007-04-08 11:48  gb
205
206        * lib/describe.lisp: Start trying to conditionalize some of the
207        stack-frame inspector stuff.
208
2092007-04-08 11:48  gb
210
211        * lib/ffi-darwinppc64.lisp: Structures are basically passed as
212        64-bit word components, with FP fields passed in registers.  This
213        requires some special handling ("hybrid" parameters) in the
214        compiler and %FF-CALL.
215
2162007-04-08 11:47  gb
217
218        * lib/level-2.lisp: %GET-BITFIELD and SETF thereof: deal with
219        endianness.
220
2212007-04-08 11:46  gb
222
223        * lib/nfcomp.lisp: FASL-SCAN: null-pointers as constants are OK.
224
2252007-04-08 11:45  gb
226
227        * lib/source-files.lisp: From Takehiko Abe: handle EQL specializers
228        in %SOURCE-FILES-LIKE-EM.
229
2302007-04-08 11:44  gb
231
232        * lib/streams.lisp: DRIBBLE via PROCESS-DRIBBLE.
233
2342007-04-08 11:43  gb
235
236        * lib/xref.lisp: From Takehiko Abe: handle EQL specializers in
237        MAKE-XREF-ENTRY.
238
2392007-04-08 11:43  gb
240
241        * lib/ccl-export-syms.lisp: Export DEFSTATIC, PAREF, +NULL-PTR+.
242
2432007-04-08 11:42  gb
244
245        * level-1/version.lisp: Bump; new snapshots tomorrow.
246
2472007-04-08 11:41  gb
248
249        * level-1/x86-callback-support.lisp: DEFGLOBAL->DEFSTATIC
250
2512007-04-08 11:40  gb
252
253        * level-1/linux-files.lisp: Very long timeout for
254        WAIT-ON-SEMAPHORE, don't use PROCESS-WAIT, manipulate the whostate
255        if we have to wait at all.
256       
257        Same idea for TIMED-WAIT-ON-SEMAPHORE.
258       
259        Make PIPE code slightly easier to read.
260
2612007-04-08 11:39  gb
262
263        * level-1/l1-utils.lisp: DEFGLOBAL->DEFSTATIC.
264
2652007-04-08 11:38  gb
266
267        * level-1/l1-unicode.lisp: Add NUL-ENCODING field to
268        CHARACTER-ENCODING, use it to determine number/sequence of octets
269        used to encode NUL.
270
2712007-04-08 11:38  gb
272
273        * level-1/l1-streams.lisp: DEFGLOBAL->DEFSTATIC.
274       
275        READ-TOPLEVEL-FORM on ECHO-STREAM has do I/O on the echo stream (so
276        DRIBBLE works); on TWO-WAY-STREAM, should read from the input side
277        so that echoing looks more natural.
278
2792007-04-08 11:37  gb
280
281        * level-1/l1-symhash.lisp: Extra slot  (for intern hook) in PACKAGE
282        object.
283
2842007-04-08 11:36  gb
285
286        * level-1/l1-readloop-lds.lisp: Some changes, then reverted those
287        changes manually and most of the effects were cosmetic.
288        TOPLEVEL-PRINT takes an output stream arg.
289
2902007-04-08 11:35  gb
291
292        * level-1/l1-processes.lisp: Per-process DRIBBLE-ing.
293
2942007-04-08 11:34  gb
295
296        * level-1/l1-lisp-threads.lisp: %TCR-INTERRUPT: don't signal if
297        interrupt is obviously pending.
298
2992007-04-08 11:33  gb
300
301        * level-1/l1-io.lisp: Change pointer printing.
302
3032007-04-08 11:33  gb
304
305        * level-1/l1-init.lisp: +NULL-PTR+.
306
3072007-04-08 11:31  gb
308
309        * level-1/: l1-dcode.lisp, l1-events.lisp: DEFSTATIC is now the
310        preferred name for DEFGLOBAL.
311
3122007-04-08 11:30  gb
313
314        * level-1/l1-clos-boot.lisp: DEFSTATIC is now the preferred name
315        for DEFGLOBAL.
316       
317        Mechanism for associating a (built-in) class with a foreign type
318        ordinal.
319
3202007-04-08 11:29  gb
321
322        * level-1/l1-callbacks.lisp: DEFSTATIC is now the preferred name
323        for DEFGLOBAL.
324       
325        %CALLBACK-FUNCTION accepts a symbol (as well as a pointer that's
326        likely the global value of some symbol.)
327
3282007-04-08 11:28  gb
329
330        * level-1/l1-boot-2.lisp: DEFSTATIC is now the preferred name for
331        DEFGLOBAL.
332       
333        Standard CL streams now bound per-thread.
334       
335        Install standard foreign types here, not every time that
336        FOREIGN-TYPES is loaded.
337       
338        Canonicalize foreign type ordinals as soon as we can.  (This is
339        part of a scheme to give foreign types "ordinals' that can be used
340        to assert pointer types; we need some of those ordinal numbers to
341        be pre-assigned, since we can't reference foreign types early in
342        the cold load.)
343
3442007-04-08 11:27  gb
345
346        * level-1/l1-aprims.lisp: DEFSTATIC is now the preferred name for
347        DEFGLOBAL.  GCABLE-PTR-P.
348
3492007-04-07 21:25  gb
350
351        * level-0/nfasload.lisp: %INSERT-SYMBOL might call pkg.intern-hook.
352         Handle maintenance of auto-export packages differently.
353        $fasl-timm just needs an :int, not a :long.
354
3552007-04-07 21:24  gb
356
357        * level-0/l0-symbol.lisp: SET-TYPE-PREDICATE returns the
358        "functional", not random symbol guts.
359
3602007-04-07 21:23  gb
361
362        * level-0/l0-misc.lisp: Use %PTR-STORE-FIXNUM-CONDITIONAL in
363        %GET-SPIN-LOCK.  Locking code: spin lock must be released before
364        interrupts are re-enabled.
365
3662007-04-07 21:22  gb
367
368        * level-0/l0-io.lisp: FREE tries to handle gcable pointers.
369
3702007-04-07 21:20  gb
371
372        * level-0/: PPC/ppc-misc.lisp, X86/x86-misc.lisp:
373        %PTR-STORE-FIXNUM-CONDITIONAL.
374
3752007-04-07 21:19  gb
376
377        * level-0/PPC/ppc-def.lisp: Handle "hybrid" integer/float arguments
378        in DarwinPPC64 #'%FF-CALL.
379
3802007-04-07 21:19  gb
381
382        * compiler/optimizers.lisp: When trying to infer result type of
383        MAKE-ARRAY call, unquote quoted type specifier.
384       
385        Strength-reduce FLOAT when second argument is of known type.
386
3872007-04-07 21:18  gb
388
389        * compiler/nxenv.lisp: Operators of %SINGLE-FLOAT, %DOUBLE-FLOAT.
390
3912007-04-07 21:17  gb
392
393        * compiler/nx1.lisp: Allow extra "hybrid" ff-call argspecs (for
394        DarwinPPC64.) Cut-and-paste bug re: nx1-%fixnum-to-single/double.
395        Parse %short-float, %double-float when no "result" arg; can at
396        least try to constant-fold late and/or do some cases if we have
397        more type info.
398
3992007-04-07 21:16  gb
400
401        * compiler/nx0.lisp: Lose some whitespace in the "static var can't
402        be bound" error message.
403
4042007-04-07 21:15  gb
405
406        * compiler/X86/x862.lisp: Same inline/lambda-bind/dynamic-extent
407        bug as on PPC.  %SINGLE-FLOAT, %DOUBLE-FLOAT here, too.
408
4092007-04-07 21:14  gb
410
411        * compiler/X86/X8664/x8664-backend.lisp: In EXPAND-FF-CALL, adjust
412        remaning GPR/FPR counts even if arg is "simple" and passes straight
413        through to %FF-CALL.
414
4152007-04-07 21:13  gb
416
417        * compiler/PPC/ppc2.lisp: Fix a long-standing bug involving
418        LAMBDA-BIND operator, dynamic-extent &REST, and stack memoization.
419        Handle DarwinPPC64 ABI conventions, where SINGLE-FLOATs may be
420        passed in the same doubleword as GPRs.  %DOUBLE-FLOAT,
421        %SINGLE-FLOAT stuff: do inlining late, catch some other cases.
422
4232007-04-07 21:12  gb
424
425        * compiler/PPC/PPC64/ppc64-vinsns.lisp: RELOAD-SINGLE-C-ARG-HIGH,
426        for Darwin structure-passing ABI.
427
4282007-04-07 21:10  gb
429
430        * OpenMCL.app/Contents/Resources/English.lproj/:
431        MainMenu.nib/info.nib, MainMenu.nib/keyedobjects.nib,
432        MainMenu.nib/objects.nib, OpenmclInspector.nib/info.nib,
433        OpenmclInspector.nib/keyedobjects.nib,
434        OpenmclInspector.nib/objects.nib, backtrace.nib/info.nib,
435        backtrace.nib/keyedobjects.nib, backtrace.nib/objects.nib,
436        lispeditor.nib/info.nib, lispeditor.nib/keyedobjects.nib,
437        lispeditor.nib/objects.nib: Convert .nib to use utf-8
438        representation, not binary.
439
4402007-04-06 22:10  gb
441
442        * lisp-kernel/pmcl-kernel.c: Patch from Andi Kleen: set vmemoryuse
443        (RLIMIT_AS) current resource limit to max limit, since some distros
444        limit it.
445
4462007-04-03 03:11  gb
447
448        * level-1/l1-streams.lisp: Takehiko Abe's fix to
449        %IOBLOCK-WRITE-U16-ENCODED-CHAR.
450
4512007-04-02 22:10  gb
452
453        * level-1/l1-unicode.lisp: Takehiko Abe's fixes (missing "stream"
454        arg in utf-16 encode, missing #x in little-endian bom-marker
455        definition.)
456
4572007-03-14 23:10  gb
458
459        * lisp-kernel/x86-exceptions.c: Remove a debugging fprintf.
460
4612007-03-14 05:11  gb
462
463        * lib/ffi-darwinppc32.lisp: Fix typo (extra quote) in
464        generate-callback-bindings.
465
4662007-03-13 06:10  gb
467
468        * lisp-kernel/darwinx8664/Makefile: (re-)enable -O2.
469
4702007-03-13 03:58  gb
471
472        * lib/backtrace.lisp: Fix fenceposts in CLOSURE-CLOSED-OVER-VALUES.
473
4742007-03-12 05:11  gb
475
476        * lisp-kernel/x86-exceptions.c: Simplify interrupt_handler() a
477        little.
478
4792007-03-12 05:10  gb
480
481        * lib/foreign-types.lisp: Fix "extra arguments" error message in
482        %EXTERNAL-CALL-EXPANDER.
483
4842007-03-12 05:09  gb
485
486        * level-1/l1-clos-boot.lisp: class-wrapper-random-state: use
487        encapsulation, and a lock.
488
4892007-03-12 05:08  gb
490
491        * level-1/: l1-aprims.lisp, l1-numbers.lisp: *RANDOM-STATE* is
492        thread-local.
493
4942007-03-12 02:25  gb
495
496        * lisp-kernel/x86-exceptions.c: in catch_exception_raise(), try to
497        deal with variations in Mach behavior: "exception" may be
498        EXC_BAD_ACCESS when an illegal instruction causes a "general
499        protection fault".
500
5012007-03-09 15:56  gb
502
503        * level-1/l1-files.lisp: Bill's fix to (MAKE-PATHNAME :DIRECTORY
504        NIL ...)
505
5062007-03-09 00:01  gb
507
508        * lib/dumplisp.lisp: Use CLEAR-OPEN-FILE-STREAMS.
509
5102007-03-09 00:00  gb
511
512        * lib/ccl-export-syms.lisp: Accessors of open-file-streams; no more
513        *OPEN-FILE-STREAMS*.
514
5152007-03-09 00:00  gb
516
517        * level-1/: l1-streams.lisp, l1-sysio.lisp: Encapsulation for
518        open-file-streams.
519
5202007-03-08 23:59  gb
521
522        * level-1/l1-readloop.lisp: OPEN-FILE-STREAMS is a function,
523        returns a copy of a list of open file streams in PREPARE-TO-QUIT.
524
5252007-03-08 23:58  gb
526
527        * level-1/l1-init.lisp: Lose *OPEN-FILE-STREAMS* and the lock
528        associated with it.
529
5302007-03-08 23:57  gb
531
532        * level-1/l1-aprims.lisp: Bind *GENSYM-COUNTER* per-thread.
533
5342007-03-08 23:47  gb
535
536        * level-0/l0-hash.lisp: When REMHASH deletes the last entry in a
537        hash-table, it fills the hash-table vector with "free" markers.
538        (There may already be lots of "deleted" markers in the table.)
539
5402007-03-08 22:26  gb
541
542        * level-1/linux-files.lisp: *spin-lock-tries* with a trailing *.
543
5442007-03-08 22:24  gb
545
546        * lib/numbers.lisp: printing random-state: don't shift seeds.
547
5482007-03-08 22:24  gb
549
550        * level-1/l1-numbers.lisp: MAKE-RANDOM-STATE: don't shift.
551
5522007-03-08 22:24  gb
553
554        * level-0/X86/x86-numbers.lisp: Do %next-random-seed more portably.
555
5562007-03-08 22:23  gb
557
558        * level-0/PPC/PPC64/ppc64-bignum.lisp: Typo in comment.
559
5602007-03-08 22:23  gb
561
562        * level-0/PPC/ppc-numbers.lisp: Just a 32-bit version of
563        %next-random-pair.
564
5652007-03-08 22:22  gb
566
567        * level-0/l0-numbers.lisp: And, while we're at it: do the
568        next-random-seed permutation in %next-random-pair, which accepts
569        and returns a pair of 16-bit integers.  That's in lap on ppc32 and
570        in lisp on 64-bit platforms.
571
5722007-03-08 22:20  gb
573
574        * level-0/l0-numbers.lisp: Don't shift random seeds.
575
5762007-03-08 03:30  gb
577
578        * level-1/x86-error-signal.lisp: Check for trap opcode >= #x70
579        rather than >= #x80, because of the new way that
580        uuo-error-slot-unbound is encoded.
581
5822007-03-08 03:28  gb
583
584        * compiler/X86/x86-disassemble.lisp: Recognize
585        uuo-error-slot-unbound.
586
5872007-03-08 03:28  gb
588
589        * compiler/X86/x86-asm.lisp: Use (int #x7_) for
590        uuo-error-slot-unbound, since some (int #x8_) traps confuse Mach.
591
5922007-03-07 08:29  gb
593
594        * compiler/PPC/ppc2.lisp: Don't shadow the definition of PPC-DIV2.
595
5962007-03-07 07:45  gb
597
598        * level-1/linux-files.lisp: For #+linux-target, try to use
599        #_sysconf in CPU-COUNT, and fall back to parsing /proc/cpuinfo only
600        if that fails.  (CPU-COUNT is called early in the cold load, before
601        we can make the file-stream necessary to do the parsing.)
602
6032007-03-07 07:33  gb
604
605        * lisp-kernel/: linuxppc/Makefile, linuxppc64/Makefile,
606        linuxx8664/Makefile: Handle new GNU ld "hash-style" linker options.
607
6082007-03-07 07:25  gb
609
610        * lisp-kernel/x86-exceptions.h: Darwin signal return: logior in the
611        el-bizarro syscall mask, pass the magic number 0x1e as a second
612        arg, just in case.
613
6142007-03-07 07:24  gb
615
616        * level-1/l1-sysio.lisp: OPEN, CLOSE lock *OPEN-FILE-STREAMS-LOCK*
617        before accessing *OPEN-FILE-STREAMS*.
618
6192007-03-07 07:23  gb
620
621        * level-1/l1-readloop.lisp: Add comment about
622        *OPEN-FILE-STREAMS-LOCK*.
623
6242007-03-07 07:23  gb
625
626        * level-1/l1-init.lisp: Add *OPEN-FILE-STREAMS-LOCK*.
627
6282007-03-07 07:21  gb
629
630        * lib/nfcomp.lisp: Bind *FCOMP-PREVIOUS-POSITION* in
631        FCOMP-READ-LOOP (e.g., don't just hammer on the static binding.)
632
6332007-03-07 07:05  gb
634
635        * xdump/heap-image.lisp: Bump current image version.
636
6372007-03-07 07:02  gb
638
639        * lisp-kernel/x86-asmutils64.s: Some (currently unused) CPUID
640        "calls" want an argument in ecx.  Set that arg to 0 for now.
641
6422007-03-07 07:01  gb
643
644        * lisp-kernel/thread_manager.c: Use spinlocks to guard updates to
645        "real" locks; those updates can be simplified.
646       
647        lock_recursive_lock: no (ignored) timeout arg.
648
6492007-03-07 06:59  gb
650
651        * lisp-kernel/image.h: Bump current, max abi versions; continue to
652        support the old one.
653
6542007-03-07 06:59  gb
655
656        * lisp-kernel/Threads.h: #include #<sched.h>, for sched_yield()
657        prototype.  Change declaration of LOCK macro: no null timespec
658        required.  RECURSIVE_LOCKs have spinlock fields.
659
6602007-03-07 06:56  gb
661
662        * level-1/version.lisp: bump, indicate work-in-progress development
663        version.
664
6652007-03-07 06:56  gb
666
667        * level-1/linux-files.lisp: Determing *spin-lock-tries* at launch
668        time, based on cpu-count.  YIELD moved here, does #_sched_yield
669        rather than something lower-level.
670
6712007-03-07 06:53  gb
672
673        * level-0/l0-misc.lisp: Locks use spinlocks, try *spin-lock-tries*
674        to obtain them before yielding.
675
6762007-03-07 06:52  gb
677
678        * level-0/l0-io.lisp: Move YIELD elsewhere.
679
6802007-03-07 06:51  gb
681
682        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
683        X86/X8664/x8664-arch.lisp: Add spinlock field to lockptr storage
684        layout.
685
6862007-03-02 05:10  gb
687
688        * level-1/l1-application.lisp: Toplevel function: initial-listener
689        class is 'TTY-LISTENER.
690
6912007-03-02 05:09  gb
692
693        * level-1/l1-lisp-threads.lisp: Print n's value, not n in error
694        message.
695
6962007-03-02 05:09  gb
697
698        * level-1/l1-processes.lisp: New process class: TTY-LISTENER.
699       
700        EXIT-INTERACTIVE-PROCESS: for most processes, just PROCESS-KILL.
701        For TTY-LISTENER, call QUIT.
702
7032007-03-02 05:08  gb
704
705        * level-1/l1-readloop-lds.lisp: Don't call QUIT on EOF, call
706        EXIT-INTERACTIVE-PROCESS instead.
707       
708        Look at *QUIT-ON-EOF* when deciding what to do in response to EOF.
709
7102007-03-02 05:06  gb
711
712        * lib/ccl-export-syms.lisp: Export *quit-on-eof*.
713
7142007-03-02 05:06  gb
715
716        * lib/macros.lisp: WITH-MACPTRS: move initialization/modification
717        of null pointers into body.
718
7192007-03-02 05:05  gb
720
721        * lisp-kernel/x86-exceptions.c: Try to handle two more cases of
722        consus-interruptus.
723
7242007-03-02 05:05  gb
725
726        * compiler/nx0.lisp: (the <type> <constant>) transforms to
727        <constant> if constant is of type <type>.)
728       
729        Do we need an ignore-errors here ? Or does <type> need to be
730        defined ?
731
7322007-03-02 05:03  gb
733
734        * compiler/X86/x862.lisp: Do the / * thing.
735
7362007-03-02 05:02  gb
737
738        * compiler/X86/X8664/x8664-vinsns.lisp: things that do calls need
739        :call attribute.
740
7412007-03-01 04:04  gb
742
743        * lisp-kernel/x86-spentry64.s: binding primitives: set value after
744        new binding frame
745
7462007-02-28 07:04  gb
747
748        * level-0/X86/x86-numbers.lisp: In %fixnum-truncate, use -8(sp)
749        rather than %rbp; trust callback_for_interrupt() to preserve it.
750
7512007-02-28 07:03  gb
752
753        * lisp-kernel/x86-exceptions.c: Try to preserve -8(sp) across
754        callback_for_interrupt().
755
7562007-02-28 05:18  gb
757
758        * lisp-kernel/x86-gc.c: check_node: ignore tiny things (shift
759        counts) that may wind up on the vstack.
760       
761        Since those tiny things might be tagged as headers, walk the vstack
762        with new "headerless" functions that ignore headers.
763
7642007-02-28 05:16  gb
765
766        * lisp-kernel/x86-exceptions.c: In pc_luser_xp: if allocating and
767        before the alloc trap and interrupting, back out of the
768        modification to save_allocptr (and allocptr register) and set
769        *interrupt_displacement.
770
7712007-02-23 10:13  gb
772
773        * lib/foreign-types.lisp: Changes to GUESS-ALIGNMENT.  Again, this
774        only makes sense for cases where we have to guess; a bitfield
775        that's 8 bits wide still has an alignment of 1.
776       
777        Factor in the alignment of the containing int when bitfields are
778        involved.
779       
780        When parsing a record type, set the "bits" slot of each field.
781        (Not too many things look at that slot, but we want the effect of
782        loading a record from the database to match the effect of parsing a
783        definition as exactly as possible, and to be able to use EQUALP to
784        compare the results.)
785
7862007-02-23 10:06  gb
787
788        * lib/db-io.lisp: Some extra fields in
789        objc-message-info/objc-method-info structures.
790       
791        When calculating overall alignment of a structure, treat bitfields
792        as if they were :unsigned-int (since there's a "containing"
793        unsigned int that affects alignment.  N.B: this should be imposed
794        for anything that has an alignment of 1, not just a size of 1.)
795       
796        When loading integer types, try to use the precomputed types rather
797        than consing a new one.  This (a) reduces consing a little (b) is
798        more likely to get the alignment correct.  For (b), we really need
799        to distinguish between bitfields and addressable integers.
800
8012007-02-23 09:30  gb
802
803        * compiler/X86/x862.lisp: Nonsense in x862-set-bit.
804
8052007-02-22 02:33  gb
806
807        * level-0/l0-misc.lisp: Tweak ROOM output a little.
808
8092007-02-22 02:28  gb
810
811        * lisp-kernel/x86-gc.c: Fix up the verbose GC herald a bit (get
812        heap size right ...).
813
8142007-02-22 02:27  gb
815
816        * lisp-kernel/linuxx8664/Makefile: Tell GNU ld to use the
817        traditional (sysv) style of hash maps, if it understands that
818        option.
819
8202007-02-21 06:01  gb
821
822        * lisp-kernel/: ppc-gc.c, x86-gc.c: Handle the case where nothing
823        has been consed since last GC.  (There are some fenceposts there.)
824       
825        verbose GC herald tries to indicate how much is allocated in the
826        area being GCed.
827
8282007-02-21 05:58  gb
829
830        * lisp-kernel/: ppc-exceptions.c, x86-exceptions.c: If full GC is
831        deferred, ensure that a full GC happens after WITHOUT-GCING exits.
832
8332007-02-21 05:57  gb
834
835        * compiler/X86/x86-disassemble.lisp: Continue disassembly after
836        uuo-gc-trap.
837
8382007-02-19 04:50  gb
839
840        * lib/foreign-types.lisp: Use keywords more consistently.
841       
842        (Note: there seems to be a bug which is keeping the cdb data
843        structures from getting defined correctly at load time; the
844        workaround is to compile foreign-types.lisp - which defines them -
845        in the same session as and before db-io - which uses them - is
846        compiled.)
847
8482007-02-19 04:48  gb
849
850        * level-0/X86/x86-clos.lisp: UNSET-FIN-TRAMPOLINE: don't tail-call
851        error.
852
8532007-02-19 04:42  gb
854
855        * level-0/PPC/ppc-clos.lisp: UNSET-FIN-TRAMPOLINE: don't tail-call
856        the error function.
857
8582007-02-19 04:40  gb
859
860        * level-1/l1-clos-boot.lisp: MAYBE-UPDATE-OBSOLETE-INSTANCE: handle
861        funcallable objects that aren't STANDARD-GENERIC-FUNCTIONs.
862
8632007-02-19 04:40  gb
864
865        * level-1/l1-clos.lisp: Move GENERIC-FUNCTION-NAME to
866        FUNCALLABLE-STANDARD-OBJECT.
867       
868        %ALLOCATE-GF-INSTANCE: don't create a dispatch table if not
869        creating a GF.
870
8712007-02-19 04:36  gb
872
873        * lib/describe.lisp: STANDARD-OBJECT-LINE-N: handle
874        funcallable-stanard-objects better.
875
8762007-02-19 04:34  gb
877
878        * lib/ccl-export-syms.lisp: Export FUNCALLABLE-STANDARD-OBJECT from
879        CCL, OPENMCL-MOP.
880
8812007-02-19 02:09  gb
882
883        * level-1/l1-clos-boot.lisp: FUNCALLABLE-STANDARD-OBJECT is a
884        FUNCALLABLE-STANDARD-CLASS.
885
8862007-02-19 02:07  gb
887
888        * examples/bridge.lisp: MAKE-OPTIMIZED-SEND: missing "msg" arg in
889        error message.
890
8912007-02-15 02:46  gb
892
893        * examples/objc-support.lisp: Call REGISTER-OBJC-INIT-MESSAGES
894        after MAP-OBJC-CLASSES in LOAD-OBJC-EXTENSION-FRAMEWORK.
895
8962007-02-15 02:45  gb
897
898        * examples/bridge.lisp: UPDATE-OBJC-METHOD-INFO: don't process init
899        methods yet.
900
9012007-02-14 02:39  gb
902
903        * release-notes.txt: Fix a typo.
904
9052007-02-14 02:35  gb
906
907        * release-notes.txt: Update for 070214 snapshots.
908
9092007-02-13 23:36  gb
910
911        * level-1/version.lisp: Bump.
912
9132007-02-13 23:36  gb
914
915        * lisp-kernel/image.h, xdump/heap-image.lisp: Update
916        image-abi-version.
917
9182007-02-13 23:29  gb
919
920        * xdump/faslenv.lisp: Finish bumping fasl version.
921
9222007-02-13 23:15  gb
923
924        * lib/nfcomp.lisp: Bump current fasl version.
925
9262007-02-13 23:02  gb
927
928        * x86-headers64/gl/C/populate.sh: rm -rf ./usr
929
9302007-02-13 22:45  gb
931
932        * xdump/faslenv.lisp: Start bumping fasl-version.
933
9342007-02-13 22:41  gb
935
936        * freebsd-headers64/: gmp/C/populate.sh, gnome2/C/populate.sh,
937        gtk2/C/populate.sh, libc/C/populate.sh: rm -rf  ./usr
938
9392007-02-13 21:16  gb
940
941        * freebsd-headers64/gl/C/populate.sh: Avoid processing some files
942        that contain incompatible definitions of some math library stuff
943        ("log" either has to do with logarithms or logging ...).
944
9452007-02-13 18:42  gb
946
947        * lib/misc.lisp: Change the way that TIME is reported by default:
948        mention the number of available CPU cores, don't assume that
949        there's that much of a relationship between CPU time and wall-clock
950        time.
951
9522007-02-13 18:41  gb
953
954        * level-1/linux-files.lisp: Don't do whatever el-bizarro Mach thing
955        once seemed to be necessary in %%RUSAGE.  Require syscall stuff
956        when :execute, too.
957
9582007-02-13 18:35  gb
959
960        * lib/ffi-linuxppc64.lisp: It's %%get-unsigned-longlong, and the
961        offset arg is required.
962
9632007-02-13 18:12  gb
964
965        * level-0/X86/x86-misc.lisp: Add rdtsc (returns 60 bit non-negative
966        fixnum) and rdtsc64 (returns 64-bit non-negative integer.)
967
9682007-02-13 18:10  gb
969
970        * lib/time.lisp: Simpler GET-INTERNAL-RUN-TIME (tries harder not to
971        cons.)
972
9732007-02-13 18:10  gb
974
975        * examples/rubix/rubix.lisp: A little bit of cgfloat stuff; there
976        are more/other float-size issues deeper down in the code.
977
9782007-02-13 18:09  gb
979
980        * examples/objc-support.lisp: Fixup the x86-64 error-return
981        callback trampiline code (was missing a byte of machine code.)
982
9832007-02-13 18:08  gb
984
985        * examples/objc-runtime.lisp: Set the mxcsr/fpctrl fields of
986        jmp-buf to safe/sane values.
987
9882007-02-13 18:07  gb
989
990        * examples/cocoa-window.lisp: Don't change-class
991        *cocoa-event-process* until we start to run the event loop.
992       
993        Don't do _deallocHardCore: explicitly.
994
9952007-02-13 17:35  gb
996
997        * compiler/PPC/ppc2.lisp: poweropen-foreign-args: on ppc64, a
998        DOUBLE-FLOAT aliases just one gpr.
999
10002007-02-13 17:34  gb
1001
1002        * darwin-headers64/libc/C/populate.sh: Select the SDK directory.
1003
10042007-02-13 17:34  gb
1005
1006        * library/pty.lisp: return-value pointers in OPEN-PTY-PAIR are just
1007        32-bit ints, not "long".
1008
10092007-02-13 17:33  gb
1010
1011        * lib/ffi-darwinppc64.lisp: Callback arguments: update offset/delta
1012        for each scalar, not each arg.
1013       
1014        Fix some backquoting/indentation.
1015
10162007-02-13 17:31  gb
1017
1018        * lib/ffi-darwinppc32.lisp: Fix typo (^get-signed-long).
1019
10202007-02-12 16:23  gb
1021
1022        * darwin-x86-headers64/libc/C/populate.sh: Select an SDK.
1023
10242007-02-11 20:22  gb
1025
1026        * examples/bridge.lisp: method-typestring needs to be
1027        conditionalized.  How has this been working ?
1028
10292007-02-11 20:22  gb
1030
1031        * examples/cocoa-editor.lisp: remove some debugging code.
1032
10332007-02-11 20:21  gb
1034
1035        * examples/objc-runtime.lisp: %mlist-containing is
1036        #-apple-objc-2.0.
1037
10382007-02-11 20:21  gb
1039
1040        * examples/objc-support.lisp: Lose a quote mark, fix another typo.
1041
10422007-02-11 05:35  gb
1043
1044        * level-1/version.lisp: Bump.
1045
10462007-02-11 05:28  gb
1047
1048        * darwin-headers/: addressbook/C/populate.sh, carbon/C/populate.sh,
1049        cocoa/C/populate.sh, gl/C/populate.sh, libc/C/populate.sh,
1050        quicktime/C/populate.sh, webkit/C/populate.sh: Make the SDK prefix
1051        an optional argument; default to the Tiger SDK.
1052
10532007-02-11 05:26  gb
1054
1055        * lib/ffi-darwinppc32.lisp: Ignore errors; it's an error to ignore
1056        an errror.
1057
10582007-02-11 05:26  gb
1059
1060        * level-1/ppc-trap-support.lisp: Conditionalize for gratuitous
1061        Leopard renaming.  Suffer.
1062
10632007-02-11 05:25  gb
1064
1065        * level-1/l1-boot-lds.lisp: MAKE-MCL-LISTENER-PROCESS will preset
1066        an existing process (so that the listener process appears to be
1067        "persistent".)
1068
10692007-02-11 05:24  gb
1070
1071        * level-1/l1-application.lisp: LISP-DEVELOPMENT-SYSTEM tries to
1072        make the initial-listener object persistent acrosss
1073        SAVE-APPLICATION.
1074
10752007-02-11 00:01  gb
1076
1077        * examples/objc-support.lisp: Deftype for CF-FLOAT.
1078       
1079        Handle callback-error-returns on x86-64.
1080
10812007-02-11 00:00  gb
1082
1083        * examples/objc-runtime.lisp: Pointer comparisons in splay trees
1084        use %ptr<, to hide word-size differences.
1085       
1086        __NSConstantStringClassReference isn't what it used to be, so look
1087        up NSConstantStringClass the hard way.
1088       
1089        Handle ns-exception/lisp-error stuff on x86-64.
1090       
1091        Do arg/result coercions differently.  Does any code depend on
1092        COERCE-TO-ADDRESS behavior ?  (It can cause extra consing of
1093        MACPTRs).
1094       
1095        Use the new FFI interface for message-sends, callbacks to try to
1096        hide platform-specific ABI issues.
1097       
1098        The _deallocate-hook mechanism - which never really worked -
1099        probably can't work on Objc-2.0.
1100
11012007-02-10 23:54  gb
1102
1103        * examples/bridge.lisp: Make structure return-type explicit in
1104        objc-message-send calls in send/stret and variants.
1105
11062007-02-10 22:34  gb
1107
1108        * examples/cocoa-window.lisp: Some indentation changes and slight
1109        reorganization of the code; shouldn't be any functional/semantic
1110        changes.
1111
11122007-02-10 22:30  gb
1113
1114        * examples/: cocoa-editor.lisp, cocoa-prefs.lisp,
1115        cocoa-typeout.lisp: Need to ensure that floats are CG-FLOATs when
1116        appropriate; other changes for 64-bit platforms, Objc-2.0.
1117
11182007-02-10 22:28  gb
1119
1120        * examples/: webkit.lisp, tiny.lisp: Need to ensure that floats are
1121        CG-FLOATs when appropriate.
1122
11232007-02-10 22:28  gb
1124
1125        * hemlock/bin/openmcl/.cvsignore: Ignore fasls for all platforms.
1126
11272007-02-10 22:28  gb
1128
1129        * level-0/X86/x86-misc.lisp: VALUES uses :ARGLIST pseudo-op.
1130
11312007-02-10 22:27  gb
1132
1133        * lib/: ffi-linuxppc64.lisp, ffi-darwinppc32.lisp,
1134        ffi-darwinppc64.lisp, ffi-linuxppc32.lisp: EXPAND-FF-CALL:
1135        ignore-errors when trying to parse the last arglist form as a
1136        foreign type.
1137
11382007-02-10 22:26  gb
1139
1140        * lib/foreign-types.lisp: Pretty much commited to the new FF-CALL
1141        expansion ...
1142
11432007-02-10 22:26  gb
1144
1145        * lisp-kernel/x86-spentry64.s: Preserve %rax when doing ff-call;
1146        use %rdx and %r11 to hold target address.
1147
11482007-02-10 22:23  gb
1149
1150        * library/pty.lisp: Unicode stuff when accessing control char
1151        array; conditionalize for #+darwin-target, not just
1152        #+darwinppc-target.
1153
11542007-02-10 22:22  gb
1155
1156        * level-1/l1-callbacks.lisp: Fix a comment (defcallback isn't
1157        ppc-specific; the comment dated from the days of 68K MCL.)
1158
11592007-02-10 22:21  gb
1160
1161        * compiler/X86/X8664/x8664-backend.lisp: Fix some typos; do struct
1162        return 32 bits at a time, to avoid consing little bignums.
1163
11642007-02-10 22:15  gb
1165
1166        * compiler/X86/x86-lap.lisp: Support :arglist directive.
1167
11682007-02-10 22:15  gb
1169
1170        * compiler/X86/x862.lisp: alloc-c-frame vinsn takes "extra" word
1171        count, not total byte count.
1172       
1173        Fix handling of $undo-x86-c-frame in x862-nlexit.  (Need to check
1174        the PPC case, as well.)
1175
11762007-02-10 22:11  gb
1177
1178        * compiler/X86/X8664/x8664-vinsns.lisp: There doesn't need to be a
1179        "zero-extend-s8" vinsn, but there does need to be a
1180        "zero-extend-u8".
1181
11822007-02-10 05:38  gb
1183
1184        * level-0/PPC/ppc-misc.lisp: Use new :ARGLIST directive in
1185        #'VALUES.
1186
11872007-02-10 05:38  gb
1188
1189        * compiler/PPC/ppc-lap.lisp: Support an :ARGLIST directive, so that
1190        ARGLIST can say -something- about lap functions that don't take a
1191        fixed number of arguments.
1192
11932007-02-07 02:54  gb
1194
1195        * compiler/X86/X8664/x8664-backend.lisp: They spell "valu" with an
1196        "e".
1197
11982007-02-02 02:32  gb
1199
1200        * examples/: bridge.lisp, objc-clos.lisp, objc-runtime.lisp,
1201        objc-support.lisp: Start to integrate with FFI changes.  No more
1202        %SEND, process and precompile "init" messages when interfaces are
1203        accessed.  (Note: should try to handle varargs init messages, even
1204        if we have to call %FF-CALL at runtime.)
1205
12062007-02-02 02:31  gb
1207
1208        * examples/: addressbook.lisp, webkit.lisp: Change the
1209        initialization code a bit.
1210
12112007-02-02 02:27  gb
1212
1213        * lib/foreign-types.lisp: Try to fix another case involving
1214        "auxiliary types".
1215       
1216        I think that the concept of auxiliary types might make sense in a
1217        context like:
1218       
1219        (def-foreign-type nil   (:struct :foo     (:a :int)     (:b
1220        (:struct :bar (:x :int) (:y :int)))))
1221       
1222        In that case, :struct :bar is local to the definition.  In the
1223        similar case:
1224       
1225        (def-foreign-type nil   (:struct :foo     (:a :int)     (:b
1226        (:struct :bar))))
1227       
1228        :BAR is presumably defined (globally) elsewhere.
1229
12302007-02-02 02:17  gb
1231
1232        * darwin-headers/addressbook/C/populate.sh: Specify the SDK to use.
1233         (Setting "SDK=" will hopefully work with older version of xcode.)
1234
12352007-02-02 02:15  gb
1236
1237        * darwin-headers/addressbook/C/.cvsignore: Ignore ./Developer.
1238
12392007-01-31 23:26  gb
1240
1241        * compiler/PPC/ppc2.lisp: Don't treat :registers arg as a real
1242        argument in ppc2-poweropen-foreign-args.
1243
12442007-01-31 22:47  gb
1245
1246        * lib/ffi-darwinppc64.lisp: Needed ,@ to return assign structure
1247        components from registers.
1248
12492007-01-31 22:45  gb
1250
1251        * lib/db-io.lisp: UNESCAPE-FOREIGN-NAME: strings with no angle
1252        brackets are returned verbatim, not downcased.
1253
12542007-01-31 22:44  gb
1255
1256        * level-0/PPC/ppc-def.lisp: Runtime version of 64-bit %ff-call
1257        accepts :registers.
1258
12592007-01-31 16:36  gb
1260
1261        * darwin-headers64/chud/: .cvsignore, C/.cvsignore, C/populate.sh:
1262        New (and, so far, useless) files.
1263
12642007-01-31 16:35  gb
1265
1266        * library/chud-metering.lisp: Add a comment; CHUD.Framework still
1267        seems to be 32-bit only.
1268
12692007-01-31 16:34  gb
1270
1271        * darwin-headers64/libc/C/.cvsignore: Ignore ./Developer.
1272
12732007-01-31 16:34  gb
1274
1275        * darwin-headers64/libc/C/populate.sh: Use SDK; add dlfcn.h.
1276
12772007-01-31 16:33  gb
1278
1279        * lib/db-io.lisp: Tweak the warning given if CDB-OPEN fails:
1280        missing cdb file: dog bytes man; missing parent directory is more
1281        newsworthy.
1282
12832007-01-31 15:38  gb
1284
1285        * library/chud-metering.lisp: Tweak a little, so that it might work
1286        on darwinppc64 (and on darwinx8664 when purify does something
1287        there.)
1288
12892007-01-31 15:06  gb
1290
1291        * darwin-headers/libc/C/populate.sh: Add dlfcn.h.
1292
12932007-01-31 02:49  gb
1294
1295        * level-0/PPC/PPC32/ppc32-bignum.lisp: BIGNUM-NEGATE-TO-PTR.
1296
12972007-01-30 22:53  gb
1298
1299        * freebsd-headers64/: gtk2/C/.cvsignore, gtk2/C/populate.sh,
1300        gl/C/.cvsignore, gl/C/populate.sh, gnome2/.cvsignore,
1301        gnome2/C/.cvsignore, gnome2/C/populate.sh, gtk2/.cvsignore,
1302        gl/.cvsignore: new files.
1303
13042007-01-30 22:21  gb
1305
1306        * freebsd-headers64/gmp/: C/.cvsignore, C/populate.sh, .cvsignore:
1307        new files.
1308
13092007-01-30 21:58  gb
1310
1311        * level-0/l0-bignum64.lisp: BIGNUM-NEGATE-TO-POINTER.
1312
13132007-01-30 21:58  gb
1314
1315        * x86-headers64/gmp/: .cvsignore, C/.cvsignore, C/populate.sh: new
1316        file
1317
13182007-01-30 21:49  gb
1319
1320        * level-1/l1-sockets.lisp: Learn to conditionalize! It's easy and
1321        fun!
1322
13232007-01-30 21:40  gb
1324
1325        * library/openmcl-gtk-support.lisp: Conditionalize out the
1326        event-polling task.
1327
13282007-01-30 21:36  gb
1329
1330        * headers64/: gl/.cvsignore, gl/C/.cvsignore, gl/C/populate.sh,
1331        gnome2/.cvsignore, gnome2/C/.cvsignore, gnome2/C/populate.sh,
1332        gtk2/.cvsignore, gtk2/C/.cvsignore, gtk2/C/populate.sh: new file
1333
13342007-01-30 21:35  gb
1335
1336        * headers/gl/C/populate.sh: process glu.h
1337
13382007-01-30 17:47  gb
1339
1340        * library/parse-ffi.lisp: Always encode explicit structure-typed
1341        function return values.
1342       
1343        Note when we see one, for now.
1344
13452007-01-30 17:45  gb
1346
1347        * lib/foreign-types.lisp: %EXTERNAL-CALL-EXPANDER allows/requires a
1348        leading argument to be paired with a structure-typed return-type.
1349
13502007-01-30 17:43  gb
1351
1352        * lib/ffi-linuxppc32.lisp: linuxppc32 always returns structures via
1353        the first-arg hack.
1354
13552007-01-30 17:42  gb
1356
1357        * lib/db-io.lisp: Bump *interface-abi-version*, but continue to
1358        support the old version.
1359       
1360        Don't check the :struct-by-value flag when encoding function
1361        args/results.  (That decision's made above our pay grade now.)
1362       
1363        When reading a :struct/:union definition, try to update an existing
1364        defintion rather than consing up a new one (this matters if the
1365        record is anonymous.)
1366
13672007-01-30 17:39  gb
1368
1369        * level-1/l1-sockets.lisp: Try to ensure that the :FORMAT argument
1370        gets passed to MAKE-TCP-STREAM-SOCKET and MAKE-FILE-STREAM-SOCKET
1371        correctly.
1372       
1373        Fix c_socket for #+linuxppc.
1374
13752007-01-30 08:20  gb
1376
1377        * level-1/version.lisp: Bump.
1378
13792007-01-30 08:20  gb
1380
1381        * lib/compile-ccl.lisp: Use make -j to build kernel.
1382
13832007-01-30 07:02  gb
1384
1385        * lisp-kernel/x86-spentry64.s: .SPcallback returns rax/rdx,
1386        xmm0/xmm1.
1387
13882007-01-30 07:01  gb
1389
1390        * lib/macros.lisp: Use new callback interface unconditionally.  (A
1391        day's work turned into 2 weeks, somehow.)
1392
13932007-01-30 07:00  gb
1394
1395        * compiler/X86/X8664/x8664-backend.lisp, lib/ffi-darwinx8664.lisp,
1396        lib/ffi-freebsdx8664.lisp, lib/ffi-linuxx8664.lisp: New callback
1397        stuff for x8664 (all platfroms appear to use the same ABI.)
1398
13992007-01-30 03:26  gb
1400
1401        * level-0/X86/x86-misc.lisp: Don't use boxed "disp" for
1402        displacement in %ATOMIC-INCF-NODE.
1403
14042007-01-29 07:27  gb
1405
1406        * lib/macros.lisp: Enable new callback stuff on #+ppc-target.
1407
14082007-01-29 07:27  gb
1409
1410        * lib/ffi-darwinppc64.lisp: new callback stuff.
1411
14122007-01-29 07:27  gb
1413
1414        * lib/ffi-darwinppc32.lisp: typos-r-us.
1415
14162007-01-29 04:37  gb
1417
1418        * lib/ffi-darwinppc32.lisp: Flesh out darwinppc32 callback stuff.
1419
14202007-01-29 04:37  gb
1421
1422        * lib/ffi-linuxppc64.lisp: Fix some typos/bugs; more likely remain.
1423
14242007-01-29 04:36  gb
1425
1426        * lib/foreign-types.lisp: REQUIRE-FOREIGN-TYPE-BITS.
1427
14282007-01-29 04:36  gb
1429
1430        * lib/macros.lisp: Use new callback scheme for darwinppc32, too.
1431
14322007-01-29 04:36  gb
1433
1434        * compiler/PPC/PPC32/ppc32-backend.lisp: No more (old) callback
1435        stuff here.
1436
14372007-01-29 02:33  gb
1438
1439        * lib/ffi-darwinppc32.lisp: Flesh out the new callback stuff.
1440
14412007-01-28 21:47  gb
1442
1443        * lib/: ffi-linuxppc32.lisp, ffi-linuxppc64.lisp: Flesh things out
1444        a bit more, change the API, get things working ... still a moving
1445        target.
1446
14472007-01-28 21:46  gb
1448
1449        * lib/macros.lisp: For linuxppc, use the new callback mechanism.
1450        (Other platforms still need more bootstrapping.)
1451
14522007-01-28 21:44  gb
1453
1454        * compiler/PPC/PPC32/ppc32-backend.lisp: Lose the old eabi-callback
1455        stuff; linuxppc 32/64-bit callbacks now use the new scheme.
1456
14572007-01-28 03:21  gb
1458
1459        * lib/ffi-linuxppc32.lisp: Remove some typos.  Need to pass
1460        dynamic-extent, other decls separately.
1461
14622007-01-28 03:20  gb
1463
1464        * compiler/PPC/PPC32/ppc32-backend.lisp: Fix some of this stuff;
1465        use the new (ftd-based) scheme.
1466
14672007-01-28 01:43  gb
1468
1469        * compiler/PPC/PPC64/ppc64-backend.lisp: Fix some typos.  (This
1470        code's getting replaced, but fix 'em anyway.)
1471
14722007-01-28 01:42  gb
1473
1474        * lib/db-io.lisp: If a .cdb file can't be opened, show the
1475        translated pathname and mention the fact that this might indicate a
1476        problem with "ccl:"'s logical translations.
1477
14782007-01-25 04:37  gb
1479
1480        * lib/foreign-types.lisp: Never fully understood the concept
1481        "auxiliary" foreign types, but try to canonicalize intermediate
1482        struct/union/enum references, so that (EQ (PARSE-FOREIGN-TYPE
1483        '(:STRUCT :FOO))     (PARSE-FOREIGN-TYPE '(:STRUCT :FOO))) is more
1484        likely to return T (e.g., something registered in the FTD.
1485       
1486        It seems clear that this is the right thing when the structure
1487        reference is in global scope; I'm not sure what it'd mean for that
1488        not to be the case.
1489
14902007-01-25 04:32  gb
1491
1492        * lib/ffi-linuxppc32.lisp: More plausible callback-bindings
1493        callback.
1494
14952007-01-24 23:41  gb
1496
1497        * lib/ffi-linuxppc32.lisp: First cut at callback-bindings thing;
1498        may not even compile.
1499
15002007-01-24 02:39  gb
1501
1502        * compiler/: PPC/PPC32/ppc32-backend.lisp,
1503        PPC/PPC64/ppc64-backend.lisp, X86/X8664/x8664-backend.lisp: Stubs
1504        for new FTD functions.
1505
15062007-01-24 02:28  gb
1507
1508        * lib/foreign-types.lisp: A few more fields (for callbacks) in ftd
1509        defstruct.
1510
15112007-01-23 15:28  gb
1512
1513        * compiler/PPC/: PPC32/ppc32-backend.lisp,
1514        PPC64/ppc64-backend.lisp: Get FPRs from where subprim saved them.
1515        Return FPRs in the same place.  (Will need to re-work all of this
1516        for platform-dependent structure stuff.)
1517
15182007-01-23 15:26  gb
1519
1520        * lisp-kernel/ppc-spentry.s: poweropen-callback, callbackX; save fp
1521        args here.  Return all (arg) GPRs and FPRs (needs cooperation from
1522        the lisp side.)
1523
15242007-01-23 15:21  gb
1525
1526        * lisp-kernel/: ppc-constants32.s, ppc-constants64.s: Add room in
1527        c_reg_save for saved fp args (f1-f13).
1528
15292007-01-23 15:14  gb
1530
1531        * lib/foreign-types.lisp: FF-CALL implemented in terms of the new
1532        ftd hook.
1533
15342007-01-23 07:19  gb
1535
1536        * level-1/l1-clos-boot.lisp: ppc32, ppc64 also had trouble with
1537        (CLASS-OF non-simple-string).
1538
15392007-01-23 07:02  gb
1540
1541        * level-1/l1-clos-boot.lisp: x8664 class-of: typo in non-simple
1542        array case, needed new string definition.
1543
15442007-01-23 07:01  gb
1545
1546        * lib/: ffi-darwinx8664.lisp, ffi-freebsdx8664.lisp,
1547        ffi-linuxx8664.lisp: Define ffi stuff in terms of common things in
1548        compiler/X86/X8664/x8664-backend.
1549
15502007-01-23 06:59  gb
1551
1552        * compiler/X86/X8664/x8664-backend.lisp: Define (common) x8664 ffi
1553        stuff here.
1554
15552007-01-21 08:32  gb
1556
1557        * compiler/X86/x862.lisp: Name vinsn ff-call-return-registers (not
1558        "-returning-").
1559       
1560        Typecheck the :registers arg.
1561
15622007-01-21 08:32  gb
1563
1564        * compiler/X86/X8664/x8664-vinsns.lisp: ff-call-return-registers.
1565
15662007-01-21 08:31  gb
1567
1568        * compiler/X86/X8664/x8664-arch.lisp: WITH-FFCALL-RESULTS: zero the
1569        stack-block.
1570
15712007-01-21 08:31  gb
1572
1573        * lisp-kernel/x86-spentry64.s: Don't use save3 in
1574        .SPffcall_return_registers (save3 = r11); use save2 (= r13)
1575        instead.
1576
15772007-01-21 06:46  gb
1578
1579        * compiler/PPC/PPC64/ppc64-arch.lisp: WITH-FFCALL-RESULTS needs
1580        space for 13 float registers, not 31.
1581
15822007-01-21 06:45  gb
1583
1584        * compiler/X86/X8664/x8664-arch.lisp: WITH-FFCALL-RESULTS for
1585        x86-64.
1586
15872007-01-21 06:38  gb
1588
1589        * compiler/X86/x862.lisp: ff-call: handle n-word struct-by-value,
1590        register return without typos.
1591
15922007-01-21 06:15  gb
1593
1594        * compiler/X86/x862.lisp: ff-call: handle n-word struct-by-value,
1595        register return.
1596
15972007-01-21 06:14  gb
1598
1599        * compiler/nx1.lisp: Don't assume that passing a structure by value
1600        in N words is Darwin-specific.  (LinuxPPC32 is probably the only
1601        platform that doesn't support the convention.)
1602
16032007-01-21 06:12  gb
1604
1605        * compiler/X86/X8664/x8664-arch.lisp: .SPffcall-return-registers
1606        replaces .SPunused-4.
1607
16082007-01-21 06:10  gb
1609
1610        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s:
1611        .SPffcall_return_registers (just returns %rax/rdx, %xmm0/%xmm1).
1612        (replaces .SPunused_4).
1613
16142007-01-21 00:05  gb
1615
1616        * lib/: ffi-linuxppc32.lisp, ffi-linuxppc64.lisp: Use
1617        argument/result coercion functions in os::expand-ff-call.
1618
16192007-01-20 23:53  gb
1620
1621        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp: Coerce arg,
1622        results when expanding an ff-call.
1623
16242007-01-20 23:52  gb
1625
1626        * lib/foreign-types.lisp: Default (no-op) functions for coercing
1627        foreign args, results.
1628
16292007-01-20 22:31  gb
1630
1631        * lib/ffi-linuxppc64.lisp: 4 down.  Whether 2 or 3 to go depends on
1632        your perspective (and on how close x86-64 Linux and x86-64 FreeBSD
1633        are to each other.  I'd guess that they're pretty close, and that
1634        x86-64 Darwin is random.)
1635
16362007-01-20 21:55  gb
1637
1638        * lib/ffi-linuxppc32.lisp: Pretty simple.  3 down, 4 to go.
1639
16402007-01-20 19:34  gb
1641
1642        * compiler/X86/X8664/x8664-backend.lisp: Package prefixes.  D'oh!
1643
16442007-01-20 19:25  gb
1645
1646        * compiler/X86/X8664/x8664-backend.lisp: Add references to the
1647        right os::ff-call-expander.
1648
16492007-01-20 19:24  gb
1650
1651        * compiler/PPC/PPC64/ppc64-arch.lisp: Remove some wip code.
1652
16532007-01-20 19:24  gb
1654
1655        * compiler/PPC/: PPC32/ppc32-backend.lisp,
1656        PPC64/ppc64-backend.lisp: Use os::expand-ff-call, for each value of
1657        OS.
1658
16592007-01-20 19:23  gb
1660
1661        * level-1/l1-sockets.lisp: Saw an opportunity to use PAREF;
1662        probably several more.
1663
16642007-01-20 19:22  gb
1665
1666        * lib/ffi-darwinppc64.lisp: Two down, 5 to go.
1667
16682007-01-20 19:21  gb
1669
1670        * lib/ffi-darwinppc32.lisp: Looks mostly right; might need to be
1671        extended to handle coercions at the Cocoa level, and probably needs
1672        some cooperation from %EXTERNAL-CALL-EXPANDER (e.g., what's
1673        installed by #_).
1674
16752007-01-20 19:18  gb
1676
1677        * lib/db-io.lisp: Encode, decode union types in arglists.
1678
16792007-01-20 19:17  gb
1680
1681        * lib/foreign-types.lisp: ftd's :ff-call-expand-function is
1682        os::expand-ff-call.
1683       
1684        Canonicalize the :void type a bit better.
1685
16862007-01-20 19:16  gb
1687
1688        * library/parse-ffi.lisp: Remove the debugging FORMAT call.
1689
16902007-01-18 23:15  gb
1691
1692        * level-1/l1-boot-2.lisp: Load with the new ffi-backend fasls.
1693
16942007-01-18 23:15  gb
1695
1696        * lib/compile-ccl.lisp: Deal with the new ffi-backend sources.
1697
16982007-01-18 23:15  gb
1699
1700        * lib/systems.lisp: Add the new ffi-backend sources.
1701
17022007-01-18 23:14  gb
1703
1704        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp,
1705        ffi-darwinx8664.lisp, ffi-freebsdx8664.lisp, ffi-linuxppc32.lisp,
1706        ffi-linuxppc64.lisp, ffi-linuxx8664.lisp: New (so far, empty)
1707        files.
1708
17092007-01-18 04:35  gb
1710
1711        * level-1/version.lisp: Bump.
1712
17132007-01-18 04:17  gb
1714
1715        * examples/bridge.lisp: Some word-size conditionalization.  Will
1716        need more work to handle struct return/asssignment correctly on all
1717        platforms.
1718
17192007-01-18 04:15  gb
1720
1721        * examples/: cocoa-editor.lisp, cocoa-backtrace.lisp: Use CGFloat,
1722        type casts, etc.  Likwise for :<NSI>nteger, :<NSUI>nteger.
1723
17242007-01-18 04:13  gb
1725
1726        * examples/: cocoa-prefs.lisp, cocoa-listener.lisp: Use CGFloat,
1727        type casts, etc.
1728
17292007-01-18 04:12  gb
1730
1731        * examples/cocoa-window.lisp: Use CGFloat, type casts, etc.  Avoid
1732        deprecated NSFont stuff.
1733
17342007-01-18 04:11  gb
1735
1736        * examples/objc-clos.lisp: Handle ivars, class
1737        creation/initialization differently for ObjC 2.0.
1738
17392007-01-18 04:10  gb
1740
1741        * examples/objc-runtime.lisp: More ObjC 2.0, ppc64 changes.
1742
17432007-01-18 04:09  gb
1744
1745        * examples/objc-support.lisp: Note which protocols are actually
1746        used when walking classes.  (There doesn't seem to be a good way of
1747        finding a Protocol object pre-objc-2.0, and we may need to test
1748        protocol compliance to disambiguate message sends in some cases.)
1749
17502007-01-18 04:07  gb
1751
1752        * examples/opengl-ffi.lisp: Conditionalize for darwin (not
1753        necessarily darwinppc).
1754
17552007-01-18 04:06  gb
1756
1757        * examples/addressbook.lisp: Conditionalize for darwin (not
1758        necessarily darwinppc).  May want to conditionalize for bundle
1759        executable name, as well.
1760
17612007-01-18 04:05  gb
1762
1763        * compiler/PPC/PPC64/ppc64-arch.lisp: WITH-FFCALL-RESULTS.  Start
1764        to sketch out structure return code (structures are often
1765        "returned" by returning field values in registers pn DarwinPPC64.)
1766
17672007-01-18 04:04  gb
1768
1769        * compiler/PPC/PPC64/ppc64-backend.lisp: New ftd stuff; new
1770        attributes for structure args/results.
1771
17722007-01-18 04:03  gb
1773
1774        * compiler/PPC/PPC64/ppc64-vinsns.lisp: ffcall-returning registers.
1775         (Will need this for other platforms, too.)
1776
17772007-01-18 04:01  gb
1778
1779        * lib/macros.lisp: Arch-specific macro interface for
1780        WITH-FFCALL-RESULTS.
1781
17822007-01-18 04:00  gb
1783
1784        * lib/db-io.lisp: Handle the case of an encoded structure type as a
1785        return value.
1786
17872007-01-18 04:00  gb
1788
1789        * lisp-kernel/: ppc-spentry.s, ppc-spjump.s:
1790        .SPpoweropen_ffcall_return_registers.
1791
17922007-01-18 03:59  gb
1793
1794        * library/parse-ffi.lisp: At least optionally, make structure
1795        return explicit (expecting it to be handled by higher-level code.)
1796
17972007-01-18 03:58  gb
1798
1799        * lib/foreign-types.lisp: ff-call-expand-function in ftd.  Don't
1800        try to type-expand :registers <exp> form in EXTERNAL-CALL.
1801
18022007-01-18 03:55  gb
1803
1804        * level-0/PPC/ppc-misc.lisp: Get the contents of the register that
1805        may hold OS thread context.
1806
18072007-01-18 03:54  gb
1808
1809        * compiler/PPC/PPC32/ppc32-backend.lisp: ff-call-expander function
1810        in ftd.
1811
18122007-01-18 03:53  gb
1813
1814        * compiler/PPC/PPC32/ppc32-arch.lisp: WITH-FFCALL-RESULTS arch
1815        macro.
1816
18172007-01-18 03:52  gb
1818
1819        * compiler/PPC/ppc2.lisp: Poweropen ff-calls might need to return
1820        all possible result regs.  (Maybe poweropen syscall, too.)
1821
18222007-01-18 03:51  gb
1823
1824        * compiler/PPC/ppc-arch.lisp: Replace unused subprim with
1825        .SPpoweropen-ff-call-return-registers.
1826
18272007-01-18 03:50  gb
1828
1829        * compiler/nx1.lisp: Support :registers <exp> in %ff-call; when
1830        supported, backend will return all (potential) result registers in
1831        buffer at <exp>.
1832
18332007-01-16 02:01  gb
1834
1835        * level-1/l1-streams.lisp: Make sure that STREAM-READ-IVECTOR and
1836        STREAM-WRITE-IVECTOR are defined on binary stream classes.  (These
1837        functions make less sense for character streams/strings than they
1838        used to.)
1839
18402007-01-16 01:39  gb
1841
1842        * level-1/l1-sockets.lisp: Ensure that the :FORMAT argument
1843        defaults to :BIVALENT
1844
18452007-01-16 01:37  gb
1846
1847        * level-0/l0-init.lisp: Put :OPENMCL-UNICODE-STRINGS on *FEATURES*.
1848
18492007-01-11 23:58  gb
1850
1851        * compiler/PPC/ppc2.lisp: Transform (/ (* constant1 exp) constant2)
1852        into (* (/ constant1 constant2) exp).  Not very general, but makes
1853        some foreign address arithmetic better.
1854
18552007-01-11 23:56  gb
1856
1857        * lib/macros.lisp: Simple PAREF: (paref pointer
1858        foreign-pointer-or-array-type index) does simple arithmetic for
1859        you.
1860
18612007-01-11 23:54  gb
1862
1863        * lib/foreign-types.lisp: %FOREIGN-ARRAY-ACCESS-FORM.
1864
18652007-01-10 15:50  gb
1866
1867        * compiler/PPC/ppc2.lisp: ppc2-vref1: lose extra arg to
1868        double->heap vinsn.
1869
18702007-01-09 11:33  gb
1871
1872        * lisp-kernel/x86-spentry64.s: When running an unwind-protect
1873        cleanup and multiple values are being thrown, be sure to set
1874        tcr.xframe from the target catch frame.  This is necessary on
1875        general principles (GC safety), and especially necessary if the
1876        cleanup form does a non-local exit.
1877
18782007-01-08 22:12  gb
1879
1880        * examples/: objc-clos.lisp, objc-runtime.lisp, objc-support.lisp:
1881        Revive some of the old GNUstep support; add partial ObjC 2.0
1882        support (for 64-bit targets only, so far.)
1883
18842007-01-08 22:11  gb
1885
1886        * examples/cocoa.lisp: Conditionalize for darwin-target, not
1887        darwinppc-target.
1888
18892007-01-08 22:10  gb
1890
1891        * examples/cocoa-listener.lisp: Disable background layout in the
1892        listener; the whole two-thread scheme probably isn't viable, but
1893        doing this seems to suppress a timing-related symptom.
1894
18952007-01-08 22:09  gb
1896
1897        * examples/cocoa-editor.lisp: Document-begin-editing,
1898        document-end-editing: both seem to have been conditionalized
1899        backwards.
1900
19012007-01-05 16:22  gb
1902
1903        * level-0/l0-numbers.lisp: Fix another typo ...
1904
19052007-01-05 16:16  gb
1906
1907        * level-0/l0-numbers.lisp: Fix typo (ppc32::, not ppc2::).
1908
19092007-01-05 15:27  gb
1910
1911        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Missing MISC-SET-C-S32 for
1912        PPC32.
1913
19142007-01-05 06:20  gb
1915
1916        * level-0/l0-cfm-support.lisp: OPEN-SHARED-LIBRARY: freebsd version
1917        of #_dlopen doesn't return a link map, but calling #_dlinfo on the
1918        result (with the right arg) does obtain a link map.
1919       
1920        Revive shared libraries on FreeBSD, but don't do the strange
1921        Linux-specific re-opening there.  (It seems like it's possible to
1922        #_dlopen something that already has a loaded link map - like the
1923        FreeBSD dynamic linker - or something.)
1924
19252007-01-04 05:46  gb
1926
1927        * level-1/l1-pathnames.lisp: %component-match-p: handle :WILD,
1928        :WILD-INFERIORS.
1929
19302007-01-04 05:45  gb
1931
1932        * lisp-kernel/pmcl-kernel.c: Try to check for old libc versions
1933        (which may use %gs instead of %fs for tls).
1934
19352007-01-04 05:44  gb
1936
1937        * lib/numbers.lisp: Explicitly require NUMBER-CASE-MACRO.
1938
19392007-01-04 05:44  gb
1940
1941        * level-0/l0-numbers.lisp:
1942        fixnum-sfloat-compare,fixnum-dfloat-compare: if the fixnum can be
1943        accurately represented in float, do so.
1944
19452007-01-03 03:35  gb
1946
1947        * lib/sequences.lisp: Fix a few type errors, check for explicit
1948        vector-type length earlier.
1949
19502007-01-03 03:31  gb
1951
1952        * level-1/l1-files.lisp: %STD-NAME-COMPONENT, %STD-TYPE-COMPONENT:
1953        preserved :WILD, don't map it to "*".
1954
19552007-01-03 03:30  gb
1956
1957        * lib/pathnames.lisp: More whack-a-mole with pathnames
1958        (specifically, preserving :WILD as name/type value and dealing with
1959        the consequences of doing so.)
1960
19612007-01-03 03:27  gb
1962
1963        * lib/numbers.lisp: Small (mostly cosmetic) change to RATIONAL.
1964
19652007-01-02 09:57  gb
1966
1967        * lib/macros.lisp: Keep fixing CTYPECASE.
1968
19692007-01-02 09:57  gb
1970
1971        * level-1/l1-streams.lisp: DOH! STREAM-READ-LINE method on
1972        BASIC-CHARACTER-INPUT-STREAM returns both values.
1973       
1974        "Composite" (two-way, concatenated, etc) streams need a close
1975        protocol.
1976
19772007-01-02 07:00  gb
1978
1979        * level-0/l0-pred.lisp: EQUAL on physical pathnames ignores the
1980        (new) version slot, as does practically everything else.
1981
19822007-01-02 06:59  gb
1983
1984        * level-0/l0-numbers.lisp: Don't assume that fixnums can be
1985        accurately coerced to floats when comparing fixnums and floats; do
1986        the logical equvalent of calling RATIONAL on the float instead.
1987
19882007-01-01 23:41  gb
1989
1990        * level-1/l1-files.lisp: ENOUGH-NAMESTRING: don't incorporate
1991        version into returned namestring for physical pathnames.
1992
19932006-12-31 10:15  gb
1994
1995        * release-notes.txt: Update.
1996
19972006-12-31 09:13  gb
1998
1999        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump image/abi
2000        version.
2001
20022006-12-31 08:57  gb
2003
2004        * xdump/faslenv.lisp: Bump fasl-min-vers.
2005
20062006-12-31 08:49  gb
2007
2008        * lib/nfcomp.lisp: Bump current fasl version.
2009
20102006-12-31 08:33  gb
2011
2012        * lisp-kernel/: linuxppc/elf32ppclinux.x, linuxppc64/elf64ppc.x:
2013        Tweak the executable start address.
2014
20152006-12-31 02:44  gb
2016
2017        * lisp-kernel/x86-spjump64.s: On Darwin, use a .space directive to
2018        ensure that there's nothing interesting in the first few pages of
2019        the address space (and ensure that those pages are mapped.)
2020
20212006-12-31 02:43  gb
2022
2023        * lisp-kernel/darwinx8664/Makefile: Sadly, we can't use -sectalign
2024        on x86-64 (ld64 does some floating-point arithmetic, fails to
2025        account for roundoff error, and claims that 0x1000 isn't a power of
2026        2.) If you can't say anything good about a linker, it's best not to
2027        say anything at all.
2028       
2029        We can force the first segment to be mapped at 0x1000, and can
2030        waste a few pages to ensure that all low-memory pages that the lisp
2031        wants are mapped.
2032
20332006-12-31 02:33  gb
2034
2035        * level-1/l1-pathnames.lisp: %SPLIT-COMPONENT: be a little more
2036        defensive.
2037
20382006-12-31 02:32  gb
2039
2040        * compiler/nx0.lisp: NX-FORM-TYPE: handle quoted constants.
2041
20422006-12-31 02:29  gb
2043
2044        * xdump/faslenv.lisp: Bump $fasl-vers.
2045
20462006-12-31 02:28  gb
2047
2048        * level-1/version.lisp: Bump; remove "Beta" designation.
2049
20502006-12-29 20:13  gb
2051
2052        * compiler/X86/X8664/x8664-arch.lisp, lisp-kernel/area.h,
2053        lisp-kernel/lisp_globals.h, lisp-kernel/x86-constants64.h,
2054        lisp-kernel/x86-constants64.s, xdump/xx8664-fasload.lisp: Move NIL
2055        up a page on x86-64 as well.
2056
20572006-12-29 16:09  gb
2058
2059        * lisp-kernel/ppc-spjump.s: Be a little clearer about where we're
2060        .orged.
2061
20622006-12-29 15:32  gb
2063
2064        * compiler/PPC/PPC32/ppc32-arch.lisp, lisp-kernel/area.h,
2065        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
2066        lisp-kernel/darwinppc/Makefile, xdump/xppcfasload.lisp: Static area
2067        (including NIL) now one page higher on ppc32, as well.
2068
20692006-12-29 02:38  gb
2070
2071        * level-0/PPC/ppc-float.lisp: SQRT in LAP (todo: inline it.)
2072
20732006-12-29 01:38  gb
2074
2075        * compiler/PPC/PPC64/ppc64-arch.lisp: Move ppc64::nil-value (and
2076        ppc64::reservation-discharge) up a page.
2077
20782006-12-29 01:37  gb
2079
2080        * xdump/xppcfasload.lisp: xload-static-space-address for ppc64 is
2081        #x2000; still #x1000 for ppc32.  (need to set this for x86-64)
2082
20832006-12-29 01:36  gb
2084
2085        * xdump/xfasload.lisp: *xload-static-space-address* depends on the
2086        backend.  ppc64 wants it one page higher than it has been, to avoid
2087        letting unmapped pages get claimed by the dynamic linker on Darwin.
2088
20892006-12-29 01:35  gb
2090
2091        * lisp-kernel/darwinppc64/Makefile: Change seg1addr/sectalign, so
2092        that the image starts at #x1000 and aligned section data for the
2093        text section starts on the next page.
2094
20952006-12-29 01:33  gb
2096
2097        * lisp-kernel/ppc-spjump.s: Org the spjump table 3 pages from where
2098        the aligned text section data starts.
2099
21002006-12-29 01:32  gb
2101
2102        * lisp-kernel/: ppc-constants64.h, ppc-constants64.s: nil_value,
2103        etc a page higher.
2104
21052006-12-29 01:32  gb
2106
2107        * lisp-kernel/pmcl-kernel.c: Don't remap ppc64 spjump table if it's
2108        already where it should be.
2109
21102006-12-29 01:32  gb
2111
2112        * lisp-kernel/lisp_globals.h: Access lisp_globals/nrs_symbols a
2113        page higher.
2114
21152006-12-29 01:30  gb
2116
2117        * lisp-kernel/area.h: Move STATIC_BASE_ADDRESS up a page for ppc64.
2118
21192006-12-22 01:40  gb
2120
2121        * lisp-kernel/ppc-exceptions.c: Ensure that sqrt() is prototyped.
2122
21232006-12-22 01:39  gb
2124
2125        * lisp-kernel/pmcl-kernel.c: Insist on at least Panther for
2126        PPC32/Darwin.
2127       
2128        Use dlopen() on 64-bit Darwin variants.  Might want to do a runtime
2129        test and use dlfcn functions if at least Tiger.
2130       
2131        (The old dyld functions are deprecated under Leopard, and there's
2132        reason to believe that they don't work correctly on at least ppc64/
2133        Leopard; attempting to use NSCreateObjectFileImageFromFile to open
2134        a 64-bit .dylib seems to lead to memory corruption rather than
2135        returning NSObjectFileImageInappropriateFile.
2136       
2137        The old functions work better than the dlfcn functions on pre-Tiger
2138        systems.)
2139
21402006-12-19 01:24  gb
2141
2142        * library/parse-ffi.lisp: Just to be on the safe side (new pathname
2143        bugs, or old ?), append -BAK to (NAMESTRING (TRUENAME path)), not
2144        just (NAMESTRING path) when renaming.  (MERGE-PATHNAMES call is
2145        producing a pathane with a non-null VERSION component, as it
2146        arguably should have been all along.
2147
21482006-12-18 13:22  gb
2149
2150        * lib/sequences.lisp: COERCE/MAKE-SEQUENCE try to simplify vector
2151        types into concrete vector types.
2152
21532006-12-18 13:04  gb
2154
2155        * level-1/l1-pathnames.lisp: Try (halfheartedly) to maintain
2156        PATHNAME-VERSION of physical pathnames.  (Totally meaningless, but
2157        failing to do this leads to many test failures.)
2158
21592006-12-18 13:03  gb
2160
2161        * level-1/l1-numbers.lisp: Don't call out to do sqrt.
2162
21632006-12-18 12:57  gb
2164
2165        * level-1/l1-files.lisp: Try (halfheartedly) to maintain
2166        PATHNAME-VERSION of physical pathnames.  (Totally meaningless, but
2167        failing to do this leads to many test failures.)
2168
21692006-12-18 12:54  gb
2170
2171        * level-0/X86/x86-float.lisp: Do single/double-float sqrt inline.
2172
21732006-12-16 05:28  gb
2174
2175        * level-0/PPC/ppc-float.lisp: Recognize that fsqrt/fsqrts
2176        instructions have a minor opcode in frb and only have one source
2177        operand.
2178
21792006-12-16 05:27  gb
2180
2181        * level-1/ppc-error-signal.lisp: If we get an FP exception during a
2182        SQRT, note that there's only one operand and that it's in frb.
2183
21842006-12-16 05:25  gb
2185
2186        * lisp-kernel/ppc-exceptions.c: Handle (some) unimplemented
2187        instructions, notably fsqrt/fqrts, which are optional and not
2188        implemented on some PPC machines.
2189
21902006-12-16 05:24  gb
2191
2192        * lisp-kernel/ppc-asmutils.s: Add get_fpscr().
2193
21942006-12-14 19:47  gb
2195
2196        * lisp-kernel/ppc-exceptions.c: Need to handle SIGQUIT on ppc, too.
2197
21982006-12-14 16:43  gb
2199
2200        * compiler/X86/X8664/x8664-vinsns.lisp: Constraints on some
2201        double-float arithmetic vinsns should say :double-float, not
2202        :single-float.  (I suspect cut-and-paste, frankly.)
2203
22042006-12-14 16:25  gb
2205
2206        * level-1/l1-lisp-threads.lisp: *initial-lisp-thread*, not
2207        initial-thread.
2208
22092006-12-14 16:24  gb
2210
2211        * level-1/x86-trap-support.lisp: Use frame pointer when signaling
2212        error.
2213
22142006-12-14 16:14  gb
2215
2216        * library/lispequ.lisp: Add a %PHYSICAL-PATHAME-VERSION slot to
2217        physical pathnames. (Yes, this is kind of silly.)
2218
22192006-12-14 16:01  gb
2220
2221        * level-1/x86-trap-support.lisp: Recognize the kernel's attempt to
2222        signal errors for (e.g.) failed memory allocation.
2223
22242006-12-14 16:00  gb
2225
2226        * lisp-kernel/x86-exceptions.c: If a memory allocation request
2227        fails, signal a lisp error (what a concept.)
2228
22292006-12-14 15:51  gb
2230
2231        * lisp-kernel/x86-exceptions.h: Define DARWIN_USE_PSEUDO_SIGRETURN.
2232       
2233        Might be worth revisiting this.
2234
22352006-12-14 15:50  gb
2236
2237        * lisp-kernel/x86-exceptions.c: Go back to using the
2238        pseudo_sigreturn mechanism on Darwin, since doing a real sigreturn
2239        from a fake context may not be reliable.
2240       
2241        When handling an interrupt with a partially created temp stack
2242        frame, do the right thing.  (That basically means reset the frame
2243        before calling out and recreating it if we return from the
2244        callout.)
2245       
2246        Handle SIGQUIT on the altstack, to provide a way of forcibly
2247        terminating threads that's a bit more GC-safe than doing it via
2248        #_pthread_cancel.
2249       
2250        Note the tcr of the gc thread on gc entry; if an exception happens
2251        in that thread, print a message and sleep for 60 seconds.
2252       
2253        Note that there's still a race condition here: if thread A gets an
2254        exception and thread B gets the mach_exception_lock (to GC) before
2255        the exception thread can handle the message, we deadlock (thread A
2256        would be suspended in the kernel and can't respond to a suspend
2257        signal.)  We can tell that this has happened and make a good guess
2258        as to why it happened, but dealing with it will require some
2259        thought.  (If we've already issued a suspend signal and eventually
2260        raise the suspended thread's resume semaphore, it'll suspend and
2261        resume once the mach exception thread makes it runnable.  Who
2262        cleans up its exception context in that case ?  Does it matter ?)
2263
22642006-12-14 15:19  gb
2265
2266        * lisp-kernel/thread_manager.c: Ensure that newly-created threads
2267        have all signals unmasked.
2268       
2269        If a tcr is dead, ensure that its stack areas are empty.
2270       
2271        Try to run shutdown_thread_tcr as a pthread cleanup action,
2272        hopefully before Mach clobbers the thread's signal mask.
2273
22742006-12-14 15:16  gb
2275
2276        * lisp-kernel/pmcl-kernel.c: lazarus() runs with a lock on the
2277        TCR_AREA_LOCK.
2278
22792006-12-14 15:15  gb
2280
2281        * lisp-kernel/memprotect.h: Don't declare do_memo_reset(), which
2282        hasn't existed in years.
2283
22842006-12-14 15:14  gb
2285
2286        * level-1/version.lisp: Bump.
2287
22882006-12-14 15:14  gb
2289
2290        * level-1/l1-readloop.lisp: PREPARE-TO-QUIT: wait for the
2291        termination semaphore.
2292
22932006-12-14 15:13  gb
2294
2295        * level-1/l1-processes.lisp: PROCESS objects are created with a
2296        termination semaphore.
2297
22982006-12-14 15:12  gb
2299
2300        * level-1/l1-lisp-threads.lisp: THREAD-ENABLE: second arg is
2301        TERMINATION-SEMAPHORE.
2302       
2303        KILL-LISP-THREAD: don't use #_pthread_cancel, which may force the
2304        target thread to transition from running lisp code to running
2305        foreign code without advertising that fact. Send a SIGQUIT instead,
2306        and trust the SIGQUIT handler to manage that transition.  Don't try
2307        to kill the initial thread.
2308
23092006-12-09 09:52  gb
2310
2311        * level-1/l1-streams.lisp: STRING-OUTPUT-STREAMs need to override
2312        their CLEAR-OUTPUT methods.
2313       
2314        MAKE-STRING-INPUT-STREAM: handle displaced strings better (remember
2315        their displaced-index-offsets.)
2316
23172006-12-09 09:49  gb
2318
2319        * lisp-kernel/thread_manager.c: Disable underflow traps in new
2320        threads on x86-64.  (The PPC never got around to enabling them.)
2321
23222006-12-09 09:47  gb
2323
2324        * lib/macros.lisp: WITH-OUTPUT-TO-STRING: if string provided,
2325        evaluate the ELEMENT-TYPE expression (for side-effects) and ignore
2326        the result of its evaluation.
2327       
2328        Some fixes in CTYPECASE handling, which hopefully didn't break
2329        anything else.
2330
23312006-12-09 09:36  gb
2332
2333        * compiler/X86/x862.lisp: In aset2/aset3, ensure that the (final,
2334        1d) index register is set - even if the index is a constant - if we
2335        think that the store needs EGC memoization.
2336       
2337        (Note that the test case that exposed this involved storing
2338        SINGLE-FLOATs, which don't need EGC write-barrier handling on
2339        64-bit platforms.)
2340       
2341        In aref2, don't worry about reserving unscaled index registers when
2342        targeting the 1d index; the unscaled index registers aren't live
2343        after, could be NULL if the index is a constant, and any overlap
2344        between one of them and the 1d index should be handled in the
2345        vinsn(s).
2346
23472006-12-09 09:30  gb
2348
2349        * level-1/l1-typesys.lisp: Ensure that the (relatively new)
2350        built-in-classes SIMPLE-FIXNUM-VECTOR and FIXNUM-VECTOR have
2351        class-translations.
2352
23532006-12-09 09:27  gb
2354
2355        * level-1/l1-aprims.lisp: In list case of ELT: who says that value
2356        returned by NTHCDR is a LIST ? (It's not necessarily a list, so
2357        don't segfault taking its CAR without checking.)
2358
23592006-12-06 18:48  gb
2360
2361        * level-0/X86/x86-float.lisp: x86-64 version of
2362        SFLOAT-SIGNIFICAND-ZEROS: count zero bits in the shifted float, not
2363        in %imm1 (which is undefined here ...)
2364
23652006-12-06 17:05  gb
2366
2367        * compiler/nx0.lisp: DEFINE-COMPILER-MACRO: if a SETF name, use the
2368        right symbol for the named block.
2369       
2370        COMPILER-MACRO-FUNCTION, (SETF COMPILER-MACRO-FUNCTION): deal with
2371        (SETF NAME).
2372
23732006-12-05 22:44  gb
2374
2375        * release-notes.txt: Update for 061205.
2376
23772006-12-05 20:31  gb
2378
2379        * lisp-kernel/darwinppc64/Makefile: Change LDFLAGS, to keep ld64
2380        from putting a linkedit segment in the wrong place and making
2381        32-bit memory unmappable.
2382
23832006-12-05 20:30  gb
2384
2385        * level-1/version.lisp: Bump.
2386
23872006-12-05 20:29  gb
2388
2389        * lisp-kernel/pmcl-kernel.c: Use _exit(), just in case.
2390
23912006-12-05 18:53  gb
2392
2393        * level-1/l1-reader.lisp: *ALTERNATE-LINE-TERMINATOR* set to
2394        #\Return on #+darwin-target, not just #+darwinppc-target. Change
2395        doc string for *ALTERNATE-LINE-TERMINATOR*.
2396
23972006-12-04 15:13  gb
2398
2399        * level-1/version.lisp: Append a patchlevel to the version string,
2400        at least until new tarballs can be built.
2401
24022006-12-04 15:12  gb
2403
2404        * level-1/l1-streams.lisp: If stream element type upgrades to
2405        FIXNUM, upgrade it further (to largest supported SIGNED-BYTE
2406        element-type.)
2407
24082006-12-04 13:02  gb
2409
2410        * level-0/l0-bignum32.lisp: BIGNUM-BIGNUM-GCD (whatever it's
2411        called): don't bother to shift by 0 bits.  Do shift the initial U
2412        if non-zero trailing 0 BITS (was testing for non-zero trailing
2413        DIGITS.)
2414
24152006-12-04 12:52  gb
2416
2417        * level-1/l1-streams.lisp: Choke earlier on unsupported stream
2418        element-types; do some upgrading to support some more element types
2419        (BIT -> (UNSIGNED-BYTE 8)).
2420       
2421        Maybe support arbitrarily large integer types someday soon.  Maybe
2422        not.
2423
24242006-12-04 12:48  gb
2425
2426        * level-1/l1-clos-boot.lisp: Make built-in classes for istruct
2427        types (compiler stuff, mostly).
2428
24292006-12-04 12:46  gb
2430
2431        * level-0/X86/X8664/x8664-bignum.lisp: Ensure that %ASHL handles
2432        shift count of 32 (and returns 0 in that case.)
2433
24342006-12-04 12:46  gb
2435
2436        * level-0/l0-bignum64.lisp: In BIGNUM-SHIFT-RIGHT-LOOP-1, use
2437        %ASHL, not %ILSL.  (Don't want nonsense in the high 32 bits, just
2438        in case.)
2439
24402006-12-04 12:43  gb
2441
2442        * level-0/l0-numbers.lisp: Bugs in GCD-2.  Long-standing bugs in
2443        GCD-2 ...
2444
24452006-12-04 09:26  gb
2446
2447        * level-1/l1-streams.lisp: STREAM-CLEAR-INPUT: don't inherit method
2448        for STRING-INPUT-STREAMs.
2449
24502006-12-04 09:24  gb
2451
2452        * level-0/l0-bignum64.lisp: BIGNUM-SHIFT-RIGHT-1: handle shift by 0
2453        bits.  BIGNUM-BIGNUM-GCD (whatever it's called): don't bother to
2454        shift by 0 bits.
2455
24562006-12-04 09:21  gb
2457
2458        * level-1/ppc-trap-support.lisp: Reset error-reentry count before
2459        doing %SLOT-UNBOUND-TRAP.
2460
24612006-12-04 09:21  gb
2462
2463        * level-1/l1-streams.lisp: Default STREAM-POSITION method for
2464        STREAMs, returns NIL.  STREAM-POSITION method for
2465        STRING-INPUT-STREAMs.
2466
24672006-12-04 09:19  gb
2468
2469        * level-1/l1-pathnames.lisp: Derive ccl-directory from pathname
2470        containing heap image.
2471
24722006-12-03 07:41  gb
2473
2474        * level-1/l1-streams.lisp: FORCE-OUTPUT, FINISH-OUTPUT on
2475        STRING-OUTPUT-STREAMs are no-ops.
2476       
2477        Need an ioblock-based character-read-vector function for
2478        string-input-streams.
2479
24802006-12-03 07:37  gb
2481
2482        * lib/describe.lisp: Minimal DESCRIBE support for
2483        CCL::BASIC-STREAM.
2484
24852006-12-03 07:36  gb
2486
2487        * lib/macros.lisp: If :element-type is supplied in
2488        WITH-OUTPUT-TO-STRING, don't quote it.
2489
24902006-12-03 05:11  gb
2491
2492        * level-1/x86-trap-support.lisp: Define RIP-REGISTER-OFFSET, which
2493        isn't necessarily 16.
2494
24952006-12-03 05:10  gb
2496
2497        * level-1/x86-error-signal.lisp: Use RIP-REGISTER-OFFSET, which
2498        isn't necessarily 16.
2499       
2500        Use WITH-ERROR-REENTRY-DETECTION n %xerr-disp; dtrt for
2501        %slot-unbound-trap.
2502
25032006-12-03 05:09  gb
2504
2505        * level-1/l1-streams.lisp: Tweak stream hierarchy a little, to
2506        avoid some NO-NEXT-METHODs.
2507
25082006-12-03 02:42  gb
2509
2510        * compiler/nx1.lisp: Handle VALUES type specifiers in THE forms a
2511        bit better.
2512
25132006-12-03 02:41  gb
2514
2515        * compiler/nx0.lisp: Handle VALUES type specifiers in THE forms a
2516        bit.
2517
25182006-12-03 02:28  gb
2519
2520        * lisp-kernel/x86-spentry64.s: Do vector bounds checking by
2521        clearing the low byte of the header, shifting it right, and
2522        comparing the index to that.  (It's not reliable to shift the index
2523        left.)
2524
25252006-12-03 02:26  gb
2526
2527        * level-1/l1-unicode.lisp: Memory/vector encode functions: don't
2528        write BOM, leave that up to higher-level code.
2529       
2530        Start to write some higher-level code.
2531
25322006-12-03 02:23  gb
2533
2534        * level-1/l1-sysio.lisp: Fix some indentation.
2535
25362006-12-03 02:21  gb
2537
2538        * compiler/X86/X8664/x8664-vinsns.lisp: CHECK-MISC-BOUNDS: shift
2539        the header word right (after clearing its low byte) and compare the
2540        index to that.  (Shifting the index left - d'oh - obviously fails
2541        for indices of large magnitude.)
2542
25432006-11-29 21:07  gb
2544
2545        * lib/db-io.lisp: Indentation change.
2546       
2547        Add CDB-ENUMERATE-KEYS.
2548
25492006-11-29 18:37  gb
2550
2551        * lib/level-2.lisp: %DESTRUCTURE-LAMBDA-LIST: other callers of
2552        VERIFY-LAMBDA-LIST (hopefully) check to see if the alleged list is
2553        LISTP first.  (I hope ...).  Do so.
2554
25552006-11-28 18:42  gb
2556
2557        * lisp-kernel/x86-spentry64.s: Wrong register typo in .SPaset2.
2558
25592006-11-28 16:14  gb
2560
2561        * examples/cocoa-window.lisp: DEFAULT-FONT: retain the font.
2562
25632006-11-28 16:12  gb
2564
2565        * examples/objc-runtime.lisp: Wrap a (primitive)
2566        WITH-AUTORELEASE-POOL around the code which detaches the dummy
2567        NSThread.
2568
25692006-11-28 16:09  gb
2570
2571        * examples/cocoa-listener.lisp: Don't claim that a callback
2572        parameter is ignored; use IGNORABLE instead.
2573
25742006-11-21 01:28  gb
2575
2576        * level-1/l1-sockets.lisp: Typo in PATH-FROM-UNIX-ADDRESS
2577        conditionalization.
2578
25792006-11-21 00:55  gb
2580
2581        * level-1/l1-sockets.lisp: INIT-UNIX-SOCKADDR: don't use
2582        %COPY-IVECTOR-TO-PTR to copy string to foreign memory.
2583       
2584        Basic file-socket streams.
2585
25862006-11-10 05:08  gb
2587
2588        * release-notes.txt: Update.
2589
25902006-11-10 04:28  gb
2591
2592        * lisp-kernel/image.h: Bump min image version.
2593
25942006-11-10 04:19  gb
2595
2596        * xdump/heap-image.lisp: bump current image version.
2597
25982006-11-10 04:19  gb
2599
2600        * lisp-kernel/image.h: bump current, max image version.
2601
26022006-11-10 04:10  gb
2603
2604        * xdump/faslenv.lisp: Bump min fasl version.
2605
26062006-11-10 03:56  gb
2607
2608        * lib/nfcomp.lisp: bump current fasl version.
2609
26102006-11-10 03:47  gb
2611
2612        * lisp-kernel/x86-exceptions.c: save_application: use #__exit, not
2613        #_exit
2614
26152006-11-10 03:46  gb
2616
2617        * compiler/X86/x862.lisp: TYPE typo.
2618
26192006-11-10 03:32  gb
2620
2621        * xdump/faslenv.lisp: Bump max fasl version.
2622
26232006-11-10 03:25  gb
2624
2625        * level-1/version.lisp: Bump.  New snapshots today!
2626
26272006-11-09 16:26  gb
2628
2629        * level-1/l1-readloop.lisp: QUIT uses #__quit.
2630       
2631        PREPARE-TO-QUIT kill stragglers without waiting as long.
2632
26332006-11-09 15:50  gb
2634
2635        * lisp-kernel/pmcl-kernel.c: Use #_ _exit for fatal termination.
2636       
2637        Try to run lisp code after #_exit via lazarus(); this is for some
2638        cases of SAVE-APPLICATION (e.g., in the Cocoa GUI).
2639       
2640        The environment in which The Undead code runs is a little funky,
2641        especially on PPC.  There might be GC implications (cstack will
2642        contain call history as of the point when #_exit called atexit
2643        handlers, vstack & tstack are emptied in lazarus()).  We should
2644        barely run any code in this environment, but we will GC a time or
2645        two ...
2646
26472006-11-09 15:45  gb
2648
2649        * lisp-kernel/ppc-exceptions.c: Use _exit afer save-application.
2650
26512006-11-09 15:43  gb
2652
2653        * examples/: cocoa-window.lisp, cocoa.lisp: Change the quit
2654        protocol.
2655
26562006-11-09 15:42  gb
2657
2658        * examples/cocoa-listener.lisp: :set-document-edited for listener
2659        "documents" is a no-op.
2660
26612006-11-09 15:39  gb
2662
2663        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
2664        PPC64/ppc64-vinsns.lisp: 3d-array accessor stuff for PPC as well.
2665
26662006-11-09 12:50  gb
2667
2668        * compiler/X86/x862.lisp: Always check that array-ctype's
2669        dimensions are a list before taking their length.
2670
26712006-11-09 12:13  gb
2672
2673        * compiler/X86/X8664/x8664-vinsns.lisp: 3d-unscaled-index does the
2674        right thing ...
2675
26762006-11-09 10:08  gb
2677
2678        * compiler/: nx1.lisp, X86/x862.lisp, X86/X8664/x8664-vinsns.lisp:
2679        Three-arg aref/(setf aref) for x8664.
2680
26812006-11-09 05:37  gb
2682
2683        * compiler/nx0.lisp: Map array-type keywords to 3d-array type
2684        errors.
2685
26862006-11-09 05:37  gb
2687
2688        * compiler/nxenv.lisp: Operators for 3d array access.
2689
26902006-11-09 05:36  gb
2691
2692        * compiler/arch.lisp, level-1/l1-error-system.lisp,
2693        lisp-kernel/errors.s, lisp-kernel/lisp-errors.h: Type-errors for 3d
2694        array types.
2695
26962006-11-08 12:50  gb
2697
2698        * level-1/x86-trap-support.lisp: In darwin Fake Structures For
2699        Leopard nonsense: define the stack context struct separately, make
2700        the ucontext stack field an instance of it.  (Not -sure- if that
2701        was necessary, but :poweropen-target was accidentally on *FEATURES*
2702        and foreign struct layout was using read-time condtionalization to
2703        decide whether or not to use brain-dead structure-alignment rules
2704        leftover from AIX/PowerOpen.
2705
27062006-11-08 12:46  gb
2707
2708        * lisp-kernel/x86-spentry64.s: Fix comment ("/*", not "/%" ...).
2709
27102006-11-08 12:40  gb
2711
2712        * compiler/optimizers.lisp: Try to infer/insert the array type when
2713        compiler-macroexpanding MAKE-ARRAY calls.
2714
27152006-11-08 12:39  gb
2716
2717        * compiler/PPC/PPC32/ppc32-backend.lisp: DarwinPPC32 FTD follows
2718        :poweropen-alignment rules.
2719
27202006-11-08 12:38  gb
2721
2722        * lib/foreign-types.lisp: parse-foreign-record-fields: conformance
2723        to poweropen structure layout rules should be an attribute of the
2724        FTD, not done via read-time conditionalization.
2725
27262006-11-08 05:15  gb
2727
2728        * level-1/version.lisp: Bump.
2729
27302006-11-08 05:15  gb
2731
2732        * level-1/l1-streams.lisp: Some bivalent/binary fixes.
2733       
2734        TODO: get rid of "bivalent" streams, but allow switching some
2735        streams (sockets) between "character mode" and "binary mode".
2736
27372006-11-08 02:39  gb
2738
2739        * compiler/PPC/ppc2.lisp: Typo in misc-ref-u64 vinsn emit.
2740
27412006-11-07 21:10  gb
2742
2743        * compiler/optimizers.lisp: Transform three-argument AREF->%AREF3,
2744        ASET->%ASET3.
2745
27462006-11-07 20:40  gb
2747
2748        * compiler/X86/x862.lisp: Implement %aset2 in the x8664 backend.
2749
27502006-11-07 20:39  gb
2751
2752        * level-0/X86/x86-array.lisp: %aref3, %aset3.
2753
27542006-11-07 20:38  gb
2755
2756        * level-0/l0-array.lisp: Use %aref2,%aref3.
2757
27582006-11-07 20:37  gb
2759
2760        * compiler/X86/X8664/x8664-vinsns.lisp: More (often redundant)
2761        vector-store vinsns.
2762
27632006-11-07 20:37  gb
2764
2765        * compiler/X86/X8664/x8664-arch.lisp: .SParef3, .SPaset3.
2766
27672006-11-07 10:28  gb
2768
2769        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s: .SParef3,
2770        .SPaset3.
2771
27722006-11-07 10:27  gb
2773
2774        * level-0/PPC/ppc-array.lisp: %ref3, %aset3.
2775
27762006-11-07 10:26  gb
2777
2778        * lisp-kernel/ppc-spentry.s, lisp-kernel/ppc-spjump.s,
2779        compiler/PPC/ppc-arch.lisp: .SPref3, .SPaset3.
2780
27812006-11-07 10:26  gb
2782
2783        * lisp-kernel/ppc-macros.s: Define mullr, which expands into one of
2784        mullw/mulld.
2785
27862006-11-07 04:12  gb
2787
2788        * compiler/PPC/ppc2.lisp: :signed-64-bit-vector is signed ...
2789
27902006-11-06 22:07  gb
2791
2792        * compiler/nx0.lisp: nx-error-for-simple-2d-array-type: forgot the
2793        :fixnum-vector case.
2794
27952006-11-06 22:04  gb
2796
2797        * compiler/PPC/ppc2.lisp: Handle vector assignment differently;
2798        handle (setf (aref ...)) of simple 2d-arrays inline if the type is
2799        known/declared.
2800
28012006-11-06 22:02  gb
2802
2803        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
2804        Add vinsns for misc-set-s* and variants. (Identical to the unsigned
2805        versions, but it helps not to have to remember which are
2806        implemented and which aren't.)
2807
28082006-11-06 22:01  gb
2809
2810        * compiler/nxenv.lisp: general-aset2, simple-typed-aset2.
2811
28122006-11-06 22:00  gb
2813
2814        * compiler/nx1.lisp: New %ASET2 handling.
2815
28162006-11-06 21:59  gb
2817
2818        * compiler/nx0.lisp: ACODE-FORM-TYPE: use var-inittype if var is
2819        never assigned to.
2820
28212006-11-05 22:09  gb
2822
2823        * level-1/x86-trap-support.lisp: Try to work around
2824        incompatibilites in Tiger/Leopard headers.
2825
28262006-11-05 22:08  gb
2827
2828        * level-1/l1-sockets.lisp: LOOKUP-PORT: use the macro HTONS, since
2829        the foreign function may not exist.
2830
28312006-11-05 20:41  gb
2832
2833        * compiler/X86/x862.lisp: 2d array error lookup -> nx.
2834
28352006-11-05 07:55  gb
2836
2837        * level-0/X86/x86-misc.lisp: %VALID-REMAINING-TIMESPEC-TIME-P for
2838        x86-64, as well.
2839
28402006-11-05 07:52  gb
2841
2842        * level-0/X86/x86-array.lisp: %AREF2, %ASET2 in x8664 lap.
2843
28442006-11-05 07:50  gb
2845
2846        * lisp-kernel/x86-spentry64.s: pre-add displacement in .SParef2,
2847        .SPaset2.
2848
28492006-11-05 07:48  gb
2850
2851        * lisp-kernel/ppc-spentry.s: .SParef2, .SPaset2: since we aren't
2852        testing simple-array-ness, add the (possibly 0) displacement from
2853        the header before handling the simple aref of the data vector.
2854
28552006-11-05 07:47  gb
2856
2857        * lib/foreign-types.lisp: PRINT-OBJECT method for EEPS: handle
2858        pointers on PPC(64), print 64-bit addresses on 64-bit platforms.
2859
28602006-11-05 07:46  gb
2861
2862        * level-1/version.lisp: Bump; new binaries soon.
2863
28642006-11-05 07:46  gb
2865
2866        * level-1/l1-lisp-threads.lisp: %NANOSLEEP calls
2867        %VALID-REMAINING-TIMESPEC-TIME-P, which is better than sleeping for
2868        4G seconds after an EINTR on Leopard.
2869
28702006-11-05 07:44  gb
2871
2872        * level-0/PPC/PPC64/ppc64-bignum.lisp: MACPTR->FIXNUM returns NIL
2873        if any non-fixnum bits would be set in the result.  (Should
2874        probably make this true on all platforms; for PPC64, it's important
2875        for foreign function addresses that're ... suboptimally aligned.)
2876
28772006-11-05 07:42  gb
2878
2879        * level-0/PPC/ppc-misc.lisp: Try to detect the case where
2880        %NANOSLEEP's second (by reference) argument contains garbage after
2881        an EINTR.  (The L word, again.)
2882
28832006-11-05 07:41  gb
2884
2885        * level-0/PPC/ppc-array.lisp: %AREF2, %ASET2: in LAP, just call
2886        into the kernel.
2887
28882006-11-05 07:40  gb
2889
2890        * level-0/l0-cfm-support.lisp: Some platforms (the L-word) generate
2891        ppc64 functions whose addresses are not 0 mod 8, so (a) make
2892        MACPTR->FIXNUM return NIL if an address isn't representable as a
2893        fixnum and (b) make FOREIGN-SYMBOL-ENTRY return an address if it
2894        can't return a fixnum on PPC (really just affects PPC64.)
2895
28962006-11-05 07:37  gb
2897
2898        * level-0/l0-array.lisp: %aref2, %aset2: call into kernel.
2899
29002006-11-05 07:36  gb
2901
2902        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
2903        2d aref support/changes.
2904
29052006-11-05 07:36  gb
2906
2907        * compiler/PPC/ppc2.lisp: Get the PPC2 backend caught up with the
2908        x8664 wrt 2d aref.  Stll a ways to go.
2909
29102006-11-05 07:35  gb
2911
2912        * compiler/nx0.lisp: NX-ERROR-FOR-SIMPLE-2D-ARRAY-TYPE.
2913
29142006-11-04 00:05  gb
2915
2916        * level-1/version.lisp: Bump.
2917
29182006-11-03 23:10  gb
2919
2920        * level-1/ppc-error-signal.lisp: fix parens.
2921
29222006-11-03 23:09  gb
2923
2924        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: arch
2925        gvector types contains :struct, not :structure.
2926
29272006-11-03 23:08  gb
2928
2929        * compiler/PPC/ppc2.lisp: aref2: new operator name(s), always call
2930        subprim.
2931       
2932        ppc2-fixed-call-builtin: (tail-)call subprims even if they aren't
2933        in the builtin functions table.
2934
29352006-11-03 15:19  gb
2936
2937        * compiler/PPC/ppc-arch.lisp: New .SParef2, .SPaset2 subprims.
2938
29392006-11-03 15:18  gb
2940
2941        * compiler/PPC/ppc-asm.lisp: Comments/indentation.
2942
29432006-11-03 15:17  gb
2944
2945        * level-1/ppc-error-signal.lisp: Change decoding/handlng of
2946        type-error UUOs.
2947
29482006-11-03 15:16  gb
2949
2950        * lisp-kernel/: ppc-spentry.s, ppc-spjump.s: .SParef2, .SPaset2.
2951
29522006-11-03 15:16  gb
2953
2954        * lisp-kernel/: ppc-constants32.s, ppc-constants64.s: Define arrayH
2955        (array-header) layout.
2956
29572006-11-03 13:46  gb
2958
2959        * level-1/l1-clos-boot.lisp: CANONICALIZE-SPECIALIZERS optionally
2960        returns its argument if all members are SPECIALIZERS.
2961       
2962        Use CANONICALIZE-SPECIALIZERS to canonicalize FIND-METHOD
2963        arguments, for the benefit of people who haven't read the MOP spec
2964        or who don't realize that the MOP defines some things differently
2965        from CLHS.
2966
29672006-11-03 13:38  gb
2968
2969        * compiler/X86/x862.lisp: Consistently use :struct (not :structure)
2970        to refer to primitive structure type.
2971       
2972        Fix array-ctype-dimensions check in %aref1, add it to %aset1.
2973
29742006-11-03 13:37  gb
2975
2976        * compiler/X86/X8664/x8664-arch.lisp: Ensure that :STRUCT (not
2977        :STRUCTURE) is on target-gvector-types.
2978
29792006-11-03 12:53  gb
2980
2981        * lisp-kernel/x86-uuo.s: uuo_error_array_bounds, such as it is.
2982
29832006-11-03 12:52  gb
2984
2985        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s: SParef2, .SPaset2.
2986         More to come ...
2987
29882006-11-03 12:52  gb
2989
2990        * lisp-kernel/x86-constants64.s: Define array-header layout.
2991
29922006-11-03 12:51  gb
2993
2994        * lisp-kernel/: errors.s, lisp-errors.h: New type-error uuo
2995        encodings, new type-error constants.
2996
29972006-11-03 12:50  gb
2998
2999        * level-1/x86-error-signal.lisp: New range/encoding of type-error
3000        traps.
3001
30022006-11-03 12:49  gb
3003
3004        * level-1/l1-utils.lisp: (temporary) mechanism to avoid
3005        constant-redefinition CERRORs.
3006
30072006-11-03 12:48  gb
3008
3009        * level-1/l1-error-system.lisp: New %type-error-typespecs%.
3010
30112006-11-03 12:47  gb
3012
3013        * level-0/l0-pred.lisp: array--header -> array-header.
3014
30152006-11-03 12:47  gb
3016
3017        * compiler/X86/X8664/x8664-vinsns.lisp: Fix misc-set-c-u64 braino;
3018        add/change some 2d array stuff.
3019
30202006-11-03 12:43  gb
3021
3022        * compiler/X86/X8664/x8664-arch.lisp: Define .SParef2/.SPaset2
3023        subprims; seem to be much (>5x) faster than the lisp/lap versions
3024        (though we can generally be faster still when we know the
3025        element-type and/or know whether the array is simple or explicitly
3026        displaced.)
3027
30282006-11-03 12:41  gb
3029
3030        * compiler/X86/x862.lisp: Change handling of 2d-aref; lots of
3031        related changes.
3032       
3033        Split the code which handles bounds/type-checking in vref out from
3034        the code which actually does the reference, so that the latter can
3035        be used in multidimensional cases.
3036       
3037        Need to do this on PPC as well; need to do more (%aset2, 3d cases,
3038        general case.)
3039
30402006-11-03 12:38  gb
3041
3042        * compiler/nx1.lisp: Change handling of 2d-aref.
3043
30442006-11-03 12:37  gb
3045
3046        * compiler/nxenv.lisp: aref2 -> simple-typed-aref2, add
3047        general-aref2.  More changes to come (and this may affect
3048        compilation on PPC until some PPC compiler changes are
3049        made/checked-in.)
3050
30512006-11-03 12:35  gb
3052
3053        * compiler/arch.lisp: type-errors (as encoded in UUOs) are now in
3054        the range 128-255, rather than 64-127; more are defined.
3055
30562006-11-02 09:43  gb
3057
3058        * level-1/l1-error-system.lisp: Move along, nothing to see here.
3059
30602006-11-02 09:37  gb
3061
3062        * compiler/arch.lisp: New error constants; work in progress ...
3063
30642006-11-01 11:40  gb
3065
3066        * lisp-kernel/errors.s: Some new constants; more to check in later.
3067
30682006-10-31 03:39  gb
3069
3070        * level-0/l0-io.lisp: You must be reading the OLD rule book
3071        (Leopard and #$EINTR).
3072
30732006-10-31 03:21  gb
3074
3075        * lisp-kernel/ppc-exceptions.c: handle_protection_violation: pass
3076        the tcr.  Initialize "addr" before testing it ...
3077
30782006-10-31 03:21  gb
3079
3080        * lisp-kernel/lisp-exceptions.h: handle_protection_violation: pass
3081        the tcr.
3082
30832006-10-30 20:40  gb
3084
3085        * lib/defstruct.lisp: DEFSTRUCT-REF-TRANSFORM for typed vector
3086        expands into something more useful.
3087
30882006-10-30 20:39  gb
3089
3090        * lisp-kernel/ppc-spentry.s: Fix ppc32
3091        misc_ref_double_float_vector.
3092
30932006-10-30 00:24  gb
3094
3095        * level-0/l0-bignum64.lisp: Enable the destructive version of
3096        %BIGNUM-BIGNUM-GCD; conditionalize it for 64-bit targets and
3097        provide/fix supporting functions.  Seems to work on ppc64; needs
3098        testing on x8664.
3099
31002006-10-27 17:49  gb
3101
3102        * darwin-x86-headers64/libc/C/: .cvsignore, populate.sh: New file.
3103
31042006-10-25 20:36  gb
3105
3106        * level-1/l1-streams.lisp: %BIVALENT-IOBLOCK-READ-U8-BYTE (and
3107        variants): always clear the untyi-char.
3108       
3109        %ENCODED-IOBLOCK-PEEK-CHAR: the read-char-when-locked function
3110        needs an argument.
3111       
3112        SETUP-IOBLOCK-OUTPUT: there are no special output functions for
3113        bivalent streams.
3114       
3115        %IOBLOCK-BINARY-READ-VECTOR: clear any untyi char.
3116
31172006-10-24 12:35  gb
3118
3119        * level-1/version.lisp: Bump.
3120
31212006-10-24 01:29  gb
3122
3123        * lisp-kernel/x86-spentry64.s: Fix :ALLOW-OTHER-KEYS check in
3124        _SPdestbind1 (still used in inlining, sometimes.)
3125
31262006-10-24 01:05  gb
3127
3128        * release-notes.txt: Change the date, add/change some content.
3129
31302006-10-24 01:05  gb
3131
3132        * lib/macros.lisp: Reference the (bound) STREAM-VAR argument - not
3133        STREAM - in the expansion of WITH-OUTPUT-TO-STRING.
3134
31352006-10-24 00:56  gb
3136
3137        * lib/ccl-export-syms.lisp: Reference the (bound) STREAM-VAR
3138        argument - not STREAM - in the expansion of WITH-OUTPUT-TO-STRING.
3139
31402006-10-24 00:55  gb
3141
3142        * level-1/l1-streams.lisp: When recycling
3143        string-output-stream-ioblocks, set the IOBLOCK-CHARPOS to 0.
3144        (Failure to do this can screw up the pretty-printer, among other
3145        things.)
3146
31472006-10-24 00:52  gb
3148
3149        * level-1/l1-sockets.lisp: DEFAULT-CHARACTER-ENCODING for :SOCKET,
3150        *DEFAULT-SOCKET-CHARACTER-ENCODING*.
3151
31522006-10-23 17:03  gb
3153
3154        * release-notes.txt: Updated; almost ready to go (still a
3155        WITH-OUTPUT-TO-STRING/PPRINT (?) bug).
3156
31572006-10-23 16:43  gb
3158
3159        * level-1/l1-sysio.lisp: NORMALIZE-EXTERNAL-FORMAT: use
3160        *DEFAULT-EXTERNAL-FORMAT* value for :DEFAULT.
3161
31622006-10-23 16:42  gb
3163
3164        * level-1/l1-streams.lisp: Use NORMALIZE-EXTERNAL-FORMAT in (SETF
3165        STREAM-EXTERNAL-FORMAT) methods.
3166
31672006-10-23 16:41  gb
3168
3169        * lib/ccl-export-syms.lisp: Export some unicode/external-format
3170        stuff.
3171
31722006-10-23 08:27  gb
3173
3174        * level-1/version.lisp: Bump; binaries today, honest.
3175
31762006-10-23 08:27  gb
3177
3178        * level-1/l1-streams.lisp: freelist string-output-stream-ioblocks.
3179
31802006-10-23 08:26  gb
3181
3182        * lib/macros.lisp: Some/most/all of the WITH-IOBLOCK-OUTPUT-LOCKED
3183        macros were checking for the presence of an input lock ...
3184
31852006-10-23 05:40  gb
3186
3187        * level-1/l1-streams.lisp: Optimize write-string on string streams
3188        a little.
3189
31902006-10-23 05:26  gb
3191
3192        * lib/macros.lisp: WITH-OUTPUT-TO-STRING: don't expand into code
3193        which evaluates the string form twice; don't do whatever was being
3194        done to default the element type of the string stream.
3195
31962006-10-23 05:24  gb
3197
3198        * compiler/optimizers.lisp: MAKE-STRING-OUTPUT-STREAM: skip some
3199        keyword/subtype checking if element-type not provided.  (Could also
3200        skip it if it's explicit and obviously OK.)
3201
32022006-10-23 05:22  gb
3203
3204        * level-0/X86/x86-misc.lisp: %HEAP-BYTES-ALLOCATED: don't add
3205        "current" allocation if nothing's reserved.
3206
32072006-10-23 05:19  gb
3208
3209        * lisp-kernel/x86-exceptions.c: In handle_alloc_trap(), fix call to
3210        update_bytes_allocated (sign of "disp").
3211
32122006-10-22 08:02  gb
3213
3214        * compiler/PPC/ppc2.lisp: MULTIPLE-VALUE-PROG1: treat the first
3215        form like a PROGN if there are no other forms.
3216
32172006-10-22 08:01  gb
3218
3219        * level-1/l1-streams.lisp: Don't disable interrupts when calling
3220        ioblock functions.
3221       
3222        New string-stream implementation.  Better ...
3223
32242006-10-22 07:59  gb
3225
3226        * lib/macros.lisp: If WITH-OUTPUT-TO-STRING gets the string, do so
3227        before the stream closes.
3228
32292006-10-22 07:59  gb
3230
3231        * lib/pprint.lisp: Don't assume that string output stream strings
3232        have a fill-pointer; use STREAM-POSITION instead.
3233
32342006-10-22 07:57  gb
3235
3236        * lib/streams.lisp: Don't disable interrupts when calling ioblock
3237        functions, after all.
3238       
3239        Go through (new) ioblock-unread-char-function.
3240
32412006-10-22 07:55  gb
3242
3243        * lisp-kernel/darwinppc/.gdbinit: Stop trying to print strings via
3244        x/s
3245
32462006-10-21 18:46  gb
3247
3248        * level-1/l1-streams.lisp: Typo.
3249
32502006-10-21 18:41  gb
3251
3252        * lisp-kernel/x86-exceptions.c: Initialize (zero, usually) more
3253        fields in pseudo sigcontexts.
3254
32552006-10-21 18:40  gb
3256
3257        * level-1/l1-streams.lisp: Mostly locking changes (don't lock
3258        twice, etc.)
3259
32602006-10-21 18:35  gb
3261
3262        * level-0/l0-array.lisp, level-0/l0-init.lisp,
3263        level-0/l0-pred.lisp, level-0/l0-utils.lisp,
3264        level-0/PPC/ppc-array.lisp, level-0/PPC/ppc-symbol.lisp,
3265        level-0/X86/x86-symbol.lisp, level-1/l1-aprims.lisp,
3266        lib/sequences.lisp: Remove vestival #+target-8-bit-chars stuff.
3267
32682006-10-21 16:45  gb
3269
3270        * level-1/l1-unicode.lisp: New! Improved! Now with more iso-8859
3271        encodings!
3272
32732006-10-19 13:48  gb
3274
3275        * level-0/PPC/ppc-misc.lisp: Reference the source argument - not
3276        arg_z - in %safe-get-ptr.
3277
32782006-10-19 13:22  gb
3279
3280        * level-0/l0-aprims.lisp: %CSTR-POINTER: make #\Nul termination
3281        optional, use #\Sub char-code as replaement char.
3282
32832006-10-19 13:21  gb
3284
3285        * examples/objc-runtime.lisp: Missing close paren.
3286
32872006-10-19 13:19  gb
3288
3289        * examples/: cocoa-editor.lisp, cocoa-listener.lisp: Careful BLTing
3290        strings to/from foreign memory.
3291
32922006-10-19 13:18  gb
3293
3294        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Typos in UNBOX-S8.
3295
32962006-10-18 08:04  gb
3297
3298        * level-1/version.lisp: Bump.  Binaries later today ?
3299
33002006-10-18 07:38  gb
3301
3302        * level-1/l1-clos-boot.lisp: The post-bootstrapping version of
3303        (SETF FIND-CLASS) only introduces (or removes) a type name if the
3304        class becomes (or ceases to be) a properly named class.
3305       
3306        The pre-bootstrapping version handles simpler cases of that; use
3307        ALIAS-CLASS to register some early class names as type names.
3308
33092006-10-18 07:36  gb
3310
3311        * level-1/l1-clos.lisp: (SETF CLASS-NAME) can affect the type
3312        system, since only symbols which name properly-named classes are
3313        type specifiers.  Changing the name of a class can either introduce
3314        or remove a properly-named class.
3315       
3316        Classes that have the kernel-p attribute shouldn't have their names
3317        changed casually.
3318
33192006-10-18 07:33  gb
3320
3321        * level-1/l1-sockets.lisp: Accept an :EXTERNAL-FORMAT argument to
3322        MAKE-SOCKET, pass it down to whatever function actually creates a
3323        stream socket.
3324
33252006-10-18 02:12  gb
3326
3327        * compiler/X86/x862.lisp: Allow closed-over addresses in
3328        conditional-form, NOT.
3329
33302006-10-18 01:43  gb
3331
3332        * lisp-kernel/x86-exceptions.c: handle_fault() checks for
3333        safe_ref_addres.
3334
33352006-10-18 01:43  gb
3336
3337        * level-0/X86/x86-misc.lisp: %safe-get-ptr for x8664.
3338
33392006-10-18 01:41  gb
3340
3341        * compiler/X86/X8664/x8664-vinsns.lisp: Compare stack
3342        addresses/vcells to nil.
3343
33442006-10-18 01:41  gb
3345
3346        * compiler/X86/x862.lisp: Stuff for comparing memory (stack)
3347        addresses to NIL.
3348       
3349        Mark arg_z and rcx/nargs as being in use when restoring interrupt
3350        level inline.
3351
33522006-10-18 01:39  gb
3353
3354        * compiler/X86/x86-disassemble.lisp: We've had UUO-ERROR-UNBOUND
3355        for a few months now.  The disassembler is always the last to know.
3356
33572006-10-17 19:15  gb
3358
3359        * compiler/PPC/PPC32/ppc32-arch.lisp,
3360        compiler/PPC/PPC64/ppc64-arch.lisp,
3361        compiler/X86/X8664/x8664-arch.lisp, examples/objc-runtime.lisp,
3362        level-0/l0-misc.lisp, level-0/PPC/ppc-misc.lisp,
3363        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
3364        lisp-kernel/ppc-constants64.h, lisp-kernel/ppc-constants64.s,
3365        lisp-kernel/ppc-exceptions.c, lisp-kernel/x86-constants64.h,
3366        lisp-kernel/x86-constants64.s: add safe-ref-address to tcr.
3367       
3368        Handle memory faults to safe-ref-addres on PPC (so far).
3369       
3370        Try using SAFE-GET-PTR in objc runtime (untested).
3371
33722006-10-17 17:34  gb
3373
3374        * compiler/PPC/ppc2.lisp: ppc backend %aref1/%aset1: notice array
3375        type in acode.
3376
33772006-10-17 14:02  gb
3378
3379        * level-1/l1-unicode.lisp: BOM-ENCODING.
3380
33812006-10-17 14:02  gb
3382
3383        * level-1/l1-sysio.lisp: FILE-STRING-LENGTH actually does
3384        something.
3385       
3386        Clear the pending-bom flag when seeking.
3387
33882006-10-17 14:01  gb
3389
3390        * level-1/l1-streams.lisp: (SETF STREAM-EXTERNAL-FORMAT) for
3391        ioblock-based character streams.
3392
33932006-10-17 13:45  gb
3394
3395        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: bind/unbind
3396        *interrupt-level* inline.
3397
33982006-10-17 13:44  gb
3399
3400        * compiler/X86/x86-disassemble.lisp: Act like ud2a takes a one-byte
3401        immmediate operand (xuuo).
3402
34032006-10-17 13:39  gb
3404
3405        * level-1/l1-streams.lisp, lib/streams.lisp: Disable interrupts
3406        when necessary.
3407
34082006-10-17 13:39  gb
3409
3410        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
3411        PPC64/ppc64-vinsns.lisp: bind/unbind *interrupt-level* inline.
3412
34132006-10-15 17:51  gb
3414
3415        * level-1/l1-streams.lisp: Handle 32-bit character encodings.
3416       
3417        Start to extend STREAM-EXTERNAL-FORMAT, start to make it SETFable.
3418
34192006-10-15 17:51  gb
3420
3421        * level-1/l1-unicode.lisp: utf-32/ucs-4 and variants.
3422
34232006-10-15 17:50  gb
3424
3425        * level-1/l1-sysio.lisp: EXTERNAL-FORMATs are immutable, interned.
3426
34272006-10-14 07:41  gb
3428
3429        * compiler/PPC/ppc2.lisp: Fix use of ^,<- vinsn macros inside
3430        ENSURING-NODE-TARGET.
3431       
3432        Inline the fixnum case of two-arg numeric comparisons.
3433
34342006-10-14 07:39  gb
3435
3436        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3437        INLINE-SUB2 support.
3438
34392006-10-14 06:30  gb
3440
3441        * lib/defstruct.lisp: Don't (DECLARE (OPTIMIZE (SAFETY 3))) in
3442        generated DEFSTRUCT accessors.
3443
34442006-10-14 06:27  gb
3445
3446        * compiler/X86/x862.lisp: Fix many cases of ENSURING-NODE-TARGET.
3447       
3448        Do the fixnum case of two-argument subtraction inline.
3449       
3450        Inline the fixnum case of two-argument numeric comparisons.
3451       
3452        STRUCT-REF avoids typechecking when reckless.
3453
34542006-10-14 06:21  gb
3455
3456        * compiler/backend.lisp: It makes no sense to use the vinsn macros
3457        <- and ^ inside ENSURING-NODE-TARGET, so make it check for that.
3458
34592006-10-14 06:20  gb
3460
3461        * compiler/X86/X8664/x8664-vinsns.lisp: Do vector bounds-checking a
3462        little differently.
3463       
3464        Add xchg-registers.
3465
34662006-10-13 04:54  gb
3467
3468        * compiler/nx1.lisp: Use new NUMCMP operator.
3469
34702006-10-13 04:53  gb
3471
3472        * compiler/nx0.lisp: Change inline expansion: use optimize settings
3473        in effect at call time, not those in effect at definition time.
3474
34752006-10-13 04:50  gb
3476
3477        * level-0/l0-numbers.lisp: Change >=-2, <=-2, /=-2 to avoid
3478        inlining issues.
3479
34802006-10-13 04:30  gb
3481
3482        * compiler/nxenv.lisp: Replace unused num= with numcmp.
3483
34842006-10-12 19:46  gb
3485
3486        * lisp-kernel/pmcl-kernel.c: Terminate argument processing when
3487        "--" is seen.
3488
34892006-10-12 19:45  gb
3490
3491        * level-1/: l1-streams.lisp, l1-sysio.lisp, l1-unicode.lisp: Handle
3492        newline translation differenly (at the character I/O level, not the
3493        buffer level).
3494       
3495        All character encoding/decoding functions operate on octets, not
3496        necessarily code units.  (The stream encode/decode functions are an
3497        exception; serialization and byte ordering are handled by the
3498        stream.)
3499
35002006-10-09 16:34  gb
3501
3502        * level-1/l1-streams.lisp: Write  #\Sub's char-code if we can't
3503        encode a character in (implicit) iso-8859-1.
3504
35052006-10-09 16:33  gb
3506
3507        * level-0/l0-misc.lisp: %COPY-STRING-TO-U8: use #\Sub (ascii 26) as
3508        a replacement character.
3509
35102006-10-09 16:31  gb
3511
3512        * level-1/l1-unicode.lisp: :stream-encode/decode functions always
3513        write/read something, even if it's a replacement character of some
3514        sort.
3515
35162006-10-09 15:19  gb
3517
3518        * level-1/l1-streams.lisp: More stuff about line termination.  When
3519        will this end ?
3520
35212006-10-09 15:19  gb
3522
3523        * lib/chars.lisp: Use a hashtable to map characters to their names.
3524         (Maybe a sparse vector ?).
3525
35262006-10-09 15:18  gb
3527
3528        * level-1/l1-reader.lisp: Use a hashtable to map characters to
3529        their names.  (Maybe a sparse vector ?).
3530       
3531        Define #\Sub and #\Replacement_Character.
3532
35332006-10-08 21:17  gb
3534
3535        * level-1/l1-readloop-lds.lisp: SELECT-BACKTRACE: it's been all
3536        NEW-BACKTRACE for a while now.
3537
35382006-10-08 21:16  gb
3539
3540        * lisp-kernel/lisptypes.h: Need to #include <sys/signal.h> to keep
3541        Panther happy.
3542
35432006-10-08 20:30  gb
3544
3545        * lisp-kernel/x86_print.c: Print hex with leading #x, not #0x ...
3546
35472006-10-08 20:30  gb
3548
3549        * lib/dumplisp.lisp: Do some sanity checks on SAVE-APPLICATION
3550        pathname, before it's too late ...
3551
35522006-10-08 20:29  gb
3553
3554        * level-1/l1-unicode.lisp: ASCII, some other changes.
3555
35562006-10-08 20:29  gb
3557
3558        * level-1/l1-sysio.lisp: Rearrange a few things; pass
3559        :line-termination option to MAKE-FD-STREAM.
3560
35612006-10-08 20:28  gb
3562
3563        * level-1/l1-streams.lisp: Yet another line-termination translation
3564        scheme; hopefully, the last for a while. (More tedium before it's
3565        actually installed.)
3566
35672006-10-08 20:27  gb
3568
3569        * level-1/l1-reader.lisp: Add character names for #\Line_Separator,
3570        #\Paragraph_separator.
3571
35722006-10-07 20:35  gb
3573
3574        * level-1/l1-init.lisp: *TERMINAL-CHARACTER-ENCODING-NAME*.
3575
35762006-10-07 20:34  gb
3577
3578        * level-1/l1-error-signal.lisp: In %ERROR, go straight to the
3579        kernel debugger if interactive streams aren't initialized yet.
3580        (We'd probably get there sooner or later in that case; try to get
3581        there sooner.)
3582
35832006-10-07 20:33  gb
3584
3585        * level-1/l1-boot-2.lisp: Don't initialize interactive streams via
3586        DEF-LOAD-POINTERS.  Wrap that up in a function, and set a flag when
3587        the function's called (from APPLICATION's TOPLEVEL-FUNCTION
3588        method.)
3589
35902006-10-07 20:32  gb
3591
3592        * level-1/l1-application.lisp: Handle the (new)
3593        -K/--terminal-encoding command-line argument.
3594
35952006-10-07 11:14  gb
3596
3597        * level-1/l1-streams.lisp: INPUT-STREAM-P, OUTPUT-STREAM-P are true
3598        of instances if INPUT-STREAM/ OUTPUT-STREAM, respectively (not just
3599        instances of FUNDAMENTAL-INPUT/OUTPUT-STREAM).
3600
36012006-10-07 11:13  gb
3602
3603        * lisp-kernel/lisp-debug.c: Do abort() if kernel debugger is
3604        entered when --batch is in effect.
3605
36062006-10-07 11:12  gb
3607
3608        * level-1/l1-readloop.lisp: QUIT: flush *STDOUT* in
3609        PROCESS-EXIT-APPLICATION.
3610
36112006-10-07 11:11  gb
3612
3613        * level-1/l1-processes.lisp: PROCESS-EXIT-APPLICATION: flush
3614        *stdout* here.
3615
36162006-10-06 04:49  gb
3617
3618        * level-1/l1-streams.lisp: CODE-UNIT, not CODE-ELEMENT.  Add a
3619        TRANSLATE slot to IO-BUFFER.
3620
36212006-10-06 04:40  gb
3622
3623        * level-1/l1-sockets.lisp: basic (vs fundamental) socket streams.
3624
36252006-10-06 04:39  gb
3626
3627        * level-1/l1-sysio.lisp: Real, live EXTERNAL-FORMAT structures.
3628
36292006-10-06 04:38  gb
3630
3631        * level-1/version.lisp: Bump.
3632
36332006-10-06 04:38  gb
3634
3635        * level-0/l0-misc.lisp: %COPY-STRING-TO-U8: use #\? as a
3636        replacement character.
3637
36382006-10-05 14:46  gb
3639
3640        * lisp-kernel/lisptypes.h: More register name aliases.  FMH.
3641
36422006-10-05 14:46  gb
3643
3644        * lisp-kernel/x86-asmutils64.s: get_mxcsr, set_mxcsr.
3645
36462006-10-05 14:46  gb
3647
3648        * lisp-kernel/x86-exceptions.c: Save the mxcsr, load it with a
3649        C-like value (all exceptions masked) before doing a callback.  (Not
3650        doing this meant that tcr.foreign_mxcsr was often set to a "lispy"
3651        value, where most exceptions were unmasked, and this caused FP
3652        exceptions when calling out to foreign code with the "lispy"
3653        tcr.foreign_mxcsr in effect.)
3654       
3655        Mach exception stuff arranges to return via sigreturn.  Didn't fix
3656        the spurious SIGTRAPs, but might be the right idea (and might save
3657        a context switch or two.)
3658       
3659        Mach exception stuff initializes rflags to exception rflags when
3660        arranging to resume thread at handler.  Leaving them uninitialized
3661        was causing spurious SIGTRAPs, since the trace bit(s) may have been
3662        set.
3663
36642006-10-05 06:09  gb
3665
3666        * lib/macros.lisp: WITH-ENCODED-CSTR(s).  (Hey, it's a start.)
3667
36682006-10-05 06:09  gb
3669
3670        * lib/chars.lisp: CHAR-NAME: try to use at least 4 hex digits for
3671        #\U+xxxx syntax.
3672
36732006-10-05 06:08  gb
3674
3675        * level-1/l1-unicode.lisp: UCS-2, some other changes.
3676
36772006-10-05 06:07  gb
3678
3679        * level-1/l1-sysio.lisp: Try to get
3680        line-termination/external-format stuff working.
3681
36822006-10-05 05:35  gb
3683
3684        * level-1/l1-streams.lisp: Assume that character data is always
3685        encoded as one or more 8-bit octets.
3686
36872006-10-05 04:59  gb
3688
3689        * level-1/l1-boot-2.lisp: Set class-prototypes for basic-streams
3690        just before we make the first one.
3691
36922006-10-02 08:13  gb
3693
3694        * lisp-kernel/x86-exceptions.h: Darwin uses _sigtramp glue to call
3695        handlers, so we need to make handlers do a sigreturn after
3696        switching off the signal stack, etc.
3697
36982006-10-02 08:11  gb
3699
3700        * lisp-kernel/x86-exceptions.c: Don't use SIGRETURN to return from
3701        signal_handler() on Darwin (since we depend on pseudo_sigreturn
3702        handling for cleanup of tcr pending exception and since we can't
3703        easily restore the signal mask.)
3704       
3705        (Up until this point, SIGRETURN has been a nop on Darwin.)
3706
37072006-10-02 04:59  gb
3708
3709        * lisp-kernel/lisptypes.h: Compile on ppc,ppc64 osx 10.4 and
3710        earlier.
3711
37122006-10-02 04:47  gb
3713
3714        * lisp-kernel/: lisptypes.h, ppc-exceptions.c, ppc-exceptions.h:
3715        Compile on post OSX 10.4 systems, for ppc/ppc64.  (Broken on
3716        systems <= 10.4).
3717
37182006-10-02 02:46  gb
3719
3720        * lisp-kernel/: lisptypes.h, x86-exceptions.c, x86-exceptions.h:
3721        Try to make x86-64 version compile under 10.4 again; see if this
3722        breaks post-10.4 compilation.
3723
37242006-10-02 02:33  gb
3725
3726        * lisp-kernel/: lisptypes.h, pmcl-kernel.c, x86-exceptions.c,
3727        x86-exceptions.h: Change things so that they compile for x86-64 on
3728        systems later than 10.4.  Almost certainly break 10.4 compilation
3729        in the process.  (Thanks, Apple!  Any time I can cause you to waste
3730        hours on crap like this, just let me know!)
3731
37322006-09-27 20:33  gb
3733
3734        * lib/misc.lisp: DOCUMENTATION works on character-encodings.
3735
37362006-09-27 20:33  gb
3737
3738        * level-1/l1-unicode.lisp: Character-encodings have doc strings.
3739
37402006-09-27 05:46  gb
3741
3742        * level-1/l1-sysio.lisp: More FILE-STREAM changes.  Give
3743        BASIC-STREAM classes a class prototype.
3744
37452006-09-27 05:45  gb
3746
3747        * level-1/l1-streams.lisp: Some changes to FD-STREAM
3748        initialization, to make it easier to use MAKE-FD-STREAM to open
3749        (seekable) FILE-STREAMs.
3750
37512006-09-27 05:41  gb
3752
3753        * lisp-kernel/: x86-exceptions.c, x86-exceptions.h: Decode and
3754        handle UUO_ERROR_DEBUG_TRAP_WITH_STRING.
3755
37562006-09-27 05:39  gb
3757
3758        * lisp-kernel/x86-spentry64.s: Still get very occasional SIGFPE on
3759        return from (e.g.) #_asin on x86-64 Darwin.  (#_asin often does a
3760        division-by-zero, but that should be masked when in foreign code.)
3761        Don't reload the lisp mxcsr until other registers have been popped,
3762        to make debugging easier in case it's the act of reloading the
3763        mxcsr that causes the spurious trap.)
3764
37652006-09-27 05:36  gb
3766
3767        * level-0/X86/x86-misc.lisp: DEBUG-TRAP-WITH-STRING.
3768
37692006-09-27 05:35  gb
3770
3771        * level-0/nfasload.lisp: Not sure when it happened, but %FASLOAD
3772        was parenthesized in such a way as to not return the error value on
3773        error.
3774
37752006-09-27 05:34  gb
3776
3777        * level-0/l0-misc.lisp: On x8664, use a new UUO for BUG.  (Not
3778        passing context into the kernel makes it too difficult to debug/get
3779        backtrace, etc.)
3780
37812006-09-27 05:33  gb
3782
3783        * compiler/X86/: x86-asm.lisp, x86-disassemble.lisp:
3784        UUO-ERROR-DEBUG-TRAP-WITH-STRING.
3785
37862006-09-27 05:05  gb
3787
3788        * level-1/l1-clos-boot.lisp: CLASS-PROTOTYPE method for CLASS class
3789        (mostly for BUILT-IN-CLASSes).
3790
37912006-09-26 20:49  gb
3792
3793        * level-1/l1-sysio.lisp: SELECT-STREAM-CLASS: should probably take
3794        a BASIC-P argument.
3795
37962006-09-26 20:47  gb
3797
3798        * level-1/l1-streams.lisp: More changes.  Imagine that.
3799
38002006-09-26 20:46  gb
3801
3802        * compiler/: X86/X8664/x8664-vinsns.lisp, X86/x862.lisp,
3803        optimizers.lisp: (Redundant) FIXNUM decls in LDB compiler macro.
3804
38052006-09-26 20:43  gb
3806
3807        * level-1/l1-unicode.lisp: Memory/vector encode/decode functions
3808        take/return strings, not chars.
3809       
3810        Some bom stuff.
3811
38122006-09-24 20:14  gb
3813
3814        * lib/chars.lisp: Check for assumptions about character size.
3815        Remove some %i-isms (fixnum arithmetic), make assertions about type
3816        of char-code.
3817
38182006-09-24 20:12  gb
3819
3820        * level-1/l1-aprims.lisp: Remove unused (probably ancient)
3821        CHKBOUNDS function.  Simpler STRING-START-END.
3822
38232006-09-24 20:11  gb
3824
3825        * level-1/l1-streams.lisp: Some stuff to infer line-termination.
3826        Probably belongs elsewhere; some encodings may not make it at all
3827        possible.
3828
38292006-09-24 20:07  gb
3830
3831        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3832        Load-character-constant: accept :u32const on PPC32, PPC64, too.
3833
38342006-09-24 20:00  gb
3835
3836        * level-1/l1-streams.lisp: A little more u16 stuff.  Remove
3837        line-termination slot from ioblock and corresponding arg from
3838        functions which initialize it.
3839
38402006-09-24 19:59  gb
3841
3842        * level-1/l1-sysio.lisp: Input-filter, output-filter in
3843        file-ioblock.
3844
38452006-09-24 19:58  gb
3846
3847        * level-1/l1-unicode.lisp: Buffer translation functions don't
3848        belong here; start thinking about BOM.
3849
38502006-09-24 19:57  gb
3851
3852        * compiler/X86/X8664/x8664-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
3853        it's been a :u32const for the last few weeks ...
3854
38552006-09-24 04:29  gb
3856
3857        * lib/chars.lisp: CHAR-NAME looks in the *CHARACTER-NAMES* array if
3858        the code is within its bounds.
3859
38602006-09-24 04:27  gb
3861
3862        * level-1/l1-reader.lisp: Lots more character names.  Maintain
3863        mappings in a vector and a hash table, rather than in an alist.
3864
38652006-09-24 04:26  gb
3866
3867        * level-0/nfasload.lisp, xdump/xfasload.lisp, lib/nfcomp.lisp: Doh!
3868        character constant fasl encoding ($fasl-char).
3869
38702006-09-23 05:31  gb
3871
3872        * level-1/l1-unicode.lisp: Some other iso8859-n encodings.  (Not
3873        sure which are the most important.)
3874
38752006-09-23 05:29  gb
3876
3877        * level-1/l1-sysio.lisp: Start to separate
3878        line-termination/external-format stuff.
3879
38802006-09-23 05:28  gb
3881
3882        * level-1/l1-streams.lisp: Lots-o-changes.
3883
38842006-09-23 05:28  gb
3885
3886        * level-1/l1-boot-2.lisp: Make initial interactive streams use
3887        UTF-8 (mostly for debugging utf-8 ...)
3888
38892006-09-21 04:07  gb
3890
3891        * lisp-kernel/x86-spentry64.s: don't clobber callback index when
3892        doing the DARWIN_GS_HACK stuff in _SPcallback (syscall sometimes
3893        clobbered r11, sometimes didn't.)
3894
38952006-09-21 04:05  gb
3896
3897        * lisp-kernel/pmcl-kernel.c: Require mach/port.h.
3898
38992006-09-21 04:05  gb
3900
3901        * lisp-kernel/x86-exceptions.c: Save and restore errno in
3902        callback_for_interrupt.
3903
39042006-09-21 04:04  gb
3905
3906        * lisp-kernel/lisptypes.h: Guess again about preprocessor stuff for
3907        x86-64 ucontext/mcontext on Darwin.
3908
39092006-09-21 04:02  gb
3910
3911        * level-1/l1-lisp-threads.lisp: Use underscore prefix on all Darwin
3912        flavors.
3913       
3914        Add a type decl in %nanosleep.
3915
39162006-09-21 04:01  gb
3917
3918        * compiler/X86/X8664/x8664-vinsns.lisp: sign-extend/zero-extend
3919        vinsns.
3920
39212006-09-21 04:01  gb
3922
3923        * compiler/X86/x862.lisp: sign/zero-extend ffcall, syscall return
3924        values.  (Probably only matters in a few cases, like the Darwin
3925        x86-64 version of #_nanosleep, which returns a non-sign-extended
3926        "int" value if the sleep is interruted.)
3927
39282006-09-20 06:34  gb
3929
3930        * level-1/version.lisp: Bump.
3931
39322006-09-20 04:24  gb
3933
3934        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3935        slight improvements in signed-byte boxing, typechecking.
3936
39372006-09-20 04:22  gb
3938
3939        * lib/streams.lisp: WRITE-BYTE for BASIC-STREAMs.
3940
39412006-09-20 04:21  gb
3942
3943        * lib/macros.lisp: %SWAP-U16, %SWAP-U32.
3944
39452006-09-20 04:21  gb
3946
3947        * lib/level-2.lisp: %EVAL-REDEFs for new require-xx functions.
3948
39492006-09-20 04:20  gb
3950
3951        * level-1/l1-unicode.lisp: UTF-16, in native and byte-swapped
3952        versions.  Need a "logical" UTF-16, which deals with byte-order
3953        marks and a means of installing a concrete encoding.  Needs
3954        testing.
3955
39562006-09-20 04:15  gb
3957
3958        * level-1/l1-streams.lisp: Numerous changes.
3959
39602006-09-20 04:15  gb
3961
3962        * level-1/l1-sockets.lisp: %bswap16: fix type declaration.
3963
39642006-09-20 04:14  gb
3965
3966        * compiler/X86/X8664/x8664-vinsns.lisp: vinsns for signed/unsigned
3967        byte 8,16,32,64.  Tighten up some signed-byte boxing.
3968
39692006-09-20 04:12  gb
3970
3971        * compiler/X86/x862.lisp: New require ops for signed/unsigned byte
3972        8,16,32,64
3973
39742006-09-19 01:38  gb
3975
3976        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3977        vinsns for REQUIRE-[US][8,16,32,64]
3978
39792006-09-19 01:37  gb
3980
3981        * compiler/PPC/PPC32/ppc32-arch.lisp: Need
3982        THREE-DIGIT-BIGNUM-HEADER to recognize some cases of (UNSIGNED-BYTE
3983        64).
3984
39852006-09-19 01:36  gb
3986
3987        * compiler/PPC/ppc-backend.lisp: clean up an error message.
3988
39892006-09-19 01:36  gb
3990
3991        * compiler/PPC/ppc2.lisp: handle require-[us][8,16,32,64]
3992        operators.
3993
39942006-09-19 01:34  gb
3995
3996        * compiler/optimizers.lisp: REQUIRE-TYPE: transform into
3997        require-[us][8,16,32,64] when possible.
3998
39992006-09-19 01:34  gb
4000
4001        * compiler/nx1.lisp: inline require-[us][8,16,32,64].
4002
40032006-09-19 01:33  gb
4004
4005        * compiler/nxenv.lisp: New operators for require-[us][8,16,32,64].
4006
40072006-09-19 01:15  gb
4008
4009        * compiler/X86/X8664/x8664-vinsns.lisp: x8664 vinsns for
4010        typechecking signed/unsigned bytes of sizes 8,16,32,64.
4011
40122006-09-19 00:36  gb
4013
4014        * level-1/l1-streams.lisp: More changes; hard to bootstrap.
4015
40162006-09-18 21:42  gb
4017
4018        * lib/macros.lisp: Macros for locking the input/output locks of an
4019        ioblock, assuming that it exists.
4020
40212006-09-17 00:45  gb
4022
4023        * level-1/l1-streams.lisp: more changes
4024
40252006-09-13 06:52  gb
4026
4027        * level-1/l1-io.lisp: Direct BASIC-STREAM stuff for WRITE-CHAR,
4028        WRITE-STRING, TERPRI.
4029
40302006-09-13 06:08  gb
4031
4032        * lib/streams.lisp: READ-LINE changes for BASIC-STREAMs.
4033
40342006-09-13 06:07  gb
4035
4036        * level-1/l1-unicode.lisp: GET-CHARACTER-ENCODING errors if the
4037        named encoding isn't defined.
4038       
4039        Terse PRINT-OBJECT method for CHARACTER-ENCODING.
4040
40412006-09-13 06:06  gb
4042
4043        * level-1/l1-streams.lisp: More functions in the ioblock, some
4044        support for 8-bit encodings (like utf-8).  Not finished, but
4045        getting hard to bootstrap; need to check in and build on all
4046        platforms before it gets even harder.
4047
40482006-09-12 05:34  gb
4049
4050        * level-0/l0-misc.lisp: Use %CSTR-POINTER (not
4051        %copy-ivector-to-pointer) in BUG.
4052
40532006-09-12 05:31  gb
4054
4055        * lisp-kernel/x86-exceptions.c: Enter the debugger if
4056        altstack_signal_handler is entered in foreign code.  (Maybe want to
4057        signal a lisp error in some cases, but this is currently fatal and
4058        we might as well die earlier than with a stack overflow.)
4059
40602006-09-12 05:29  gb
4061
4062        * lisp-kernel/thread_manager.c: os_get_stack_bounds(): get stack
4063        direction right on FreeBSD.  (Much better than randomly scribbling
4064        on memory in the GC, as the FreeBSD port has been doing for months
4065        now ...)
4066
40672006-09-11 21:31  gb
4068
4069        * compiler/X86/x862.lisp: x862-explicit-non-fixnum-type-p looks for
4070        intersection.
4071
40722006-09-11 21:21  gb
4073
4074        * compiler/X86/x862.lisp: Partly inline 2-arg logior, logand.
4075
40762006-09-11 20:10  gb
4077
4078        * level-1/l1-unicode.lisp: Character encodings contain a
4079        LITERAL-CHAR-CODE-LIMIT field.
4080
40812006-09-11 20:09  gb
4082
4083        * level-1/l1-streams.lisp: extend IOBLOCK a bit.  Start to provide
4084        functionality for encoded streams.
4085
40862006-09-11 20:08  gb
4087
4088        * compiler/PPC/ppc2.lisp: Partialy inline 2-arg logior/logand.
4089
40902006-09-09 04:39  gb
4091
4092        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
4093        REQUIRE-CHAR-CODE: compare against boxed char-code-limit.
4094
40952006-09-09 04:21  gb
4096
4097        * level-1/l1-reader.lisp: NAME-CHAR: insist on something more
4098        reasonable for ^c syntax; don't do MOD for octal.
4099
41002006-09-09 04:21  gb
4101
4102        * compiler/X86/X8664/x8664-vinsns.lisp: require-char-code checks
4103        agains boxed Unicode limit
4104
41052006-09-09 03:56  gb
4106
4107        * lisp-kernel/x86-gc.c: purify_range(), impurify_range(): handle
4108        x8664 functions, hash tables.  (PPC versions should handle hash
4109        table key movement.)
4110
41112006-09-08 22:47  gb
4112
4113        * lib/chars.lisp: CHAR-NAME: use U+xxxx for chars with codes >=
4114        #x100.
4115
41162006-09-08 22:38  gb
4117
4118        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
4119        FIXNUM->CHAR: return NIL for surrogate pairs.
4120
41212006-09-08 22:33  gb
4122
4123        * compiler/PPC/ppc2.lisp: Don't be overly unsafe in %CHAR-CODE.
4124
41252006-09-08 22:31  gb
4126
4127        * lib/ppc-backtrace.lisp: Fix CFP-LFUN (fake stack frame case,
4128        sanity-check fn/lr).
4129
41302006-09-08 18:55  gb
4131
4132        * compiler/X86/x862.lisp: Don't be so reckless in %CODE-CHAR (don't
4133        necessarily want arbitrary expressions to be compiled unsafely; do
4134        want to avoid a little type-checking sometimes.)
4135
41362006-09-08 18:52  gb
4137
4138        * compiler/X86/X8664/x8664-vinsns.lisp: FIXNUM->CHAR returns NIL
4139        for values in the surrogate-pairs range.  (There are other things
4140        that it could plausibly return NIL for.)
4141
41422006-09-08 18:51  gb
4143
4144        * lisp-kernel/x86-gc.c: Start to get purify working on x86-64; for
4145        now, just purify strings.
4146
41472006-09-08 18:48  gb
4148
4149        * lib/macros.lisp: %CODE-CHAR asserts that code is (UNSIGNED-BYTE
4150        8), which is still useful (and exactly what it used to do.)
4151
41522006-09-08 18:47  gb
4153
4154        * lib/: compile-ccl.lisp, systems.lisp: Add l1-unicode.
4155
41562006-09-08 18:44  gb
4157
4158        * level-1/level-1.lisp: Load l1-unicode.
4159
41602006-09-08 18:44  gb
4161
4162        * level-1/l1-unicode.lisp: New file.
4163
41642006-09-07 03:50  gb
4165
4166        * lisp-kernel/area.h: Larger PURESPACE_RESERVE for x8664.
4167
41682006-09-07 03:44  gb
4169
4170        * xdump/: heap-image.lisp, xfasload.lisp, xppcfasload.lisp,
4171        xx8664-fasload.lisp: Bump abi version.  Make purespace-reserve an
4172        attribute of the backend (may need more pure space on x86-64.)
4173
41742006-09-07 03:43  gb
4175
4176        * lisp-kernel/image.h: Bump abi version.
4177
41782006-09-07 03:43  gb
4179
4180        * level-1/version.lisp: Bump.
4181
41822006-09-07 02:58  gb
4183
4184        * lisp-kernel/x86-exceptions.c: FreeBSD (at least with libthr)
4185        seems to mask synchronous signals.  Unmask them in signal handlers.
4186
41872006-09-07 02:57  gb
4188
4189        * lisp-kernel/thread_manager.c: suspend_resume_handler() : ignore
4190        signal mask.
4191
41922006-09-07 02:56  gb
4193
4194        * lisp-kernel/: lisptypes.h, ppc-constants32.h, ppc-constants32.s,
4195        ppc-constants64.h, ppc-constants64.s, ppc-gc.c, x86-constants64.h,
4196        x86-constants64.s: Lose the CHAR_SIZE_32 bootstrapping conditional
4197        (char are 32 bits wide on all platforms now.)
4198
41992006-09-07 00:40  gb
4200
4201        * lisp-kernel/x86-exceptions.c: SIGBUS might be
4202        SIGNUM_FOR_PROCESS_INTERRUPT.
4203
42042006-09-07 00:12  gb
4205
4206        * lisp-kernel/x86-spentry64.s: _SPbuiltin_aref1: use
4207        box_fixnum_no_flags.
4208
42092006-09-07 00:12  gb
4210
4211        * lisp-kernel/x86-macros.s: Define box_fixnum_no_flags (uses lea
4212        vice imul).
4213
42142006-09-06 21:18  gb
4215
4216        * compiler/X86/X8664/x8664-arch.lisp: Need
4217        MIN/MAX-8-BIT-IVECTOR-SUBTAG.
4218
42192006-09-06 18:37  gb
4220
4221        * lisp-kernel/x86-spentry64.s: misc_ref/misc_set: handle 32-bit
4222        strings.
4223
42242006-09-06 18:36  gb
4225
4226        * lisp-kernel/x86-macros.s: Zero-extend early when extracting
4227        typecodes.
4228
42292006-09-06 18:36  gb
4230
4231        * level-1/l1-streams.lisp: GET-OUTPUT-STREAM-STRING: use
4232        ENSURE-SIMPLE-STRING rather than horrible COERCE nonsense.
4233
42342006-09-06 18:35  gb
4235
4236        * level-1/l1-aprims.lisp: x8664 *immheader-1-array-element-types*
4237        contains entry for 32-bit BASE-CHAR.
4238
42392006-09-06 18:35  gb
4240
4241        * compiler/X86/X8664/x8664-vinsns.lisp: zero-extend early when
4242        extracting typecodes.
4243
42442006-09-06 18:34  gb
4245
4246        * compiler/X86/X8664/: x8664-arch.lisp, x8664-backend.lisp:
4247        32-bit-chars.
4248
42492006-09-06 18:33  gb
4250
4251        * compiler/X86/: x86-backend.lisp, x862.lisp: Defer handling of the
4252        :rcontext pseudo-register name until the target backend is in
4253        place.
4254
42552006-09-06 16:39  gb
4256
4257        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: 32-bit chars
4258        stuff for x8664.
4259
42602006-09-06 16:39  gb
4261
4262        * level-1/l1-reader.lisp: kids: bourbon and editing COPY-READTABLE
4263        don't mix!
4264
42652006-09-06 16:38  gb
4266
4267        * lib/compile-ccl.lisp: :verbose argument to rebuild-ccl.
4268
42692006-09-06 16:38  gb
4270
4271        * level-1/linux-files.lisp: process input/output: don't assume
4272        8-bit strings.
4273
42742006-09-06 14:42  gb
4275
4276        * compiler/PPC/PPC64/ppc64-backend.lisp: PPC64 callbacks are always
4277        #+poweropen-target; don't conditionalize the fp-arg-ptr argument
4278        (since that creates confustion when cross-compiling from a
4279        non-poweropen host.)
4280
42812006-09-06 00:08  gb
4282
4283        * compiler/PPC/PPC64/: ppc64-arch.lisp, ppc64-backend.lisp: remove
4284        8-bit char stuff.
4285
42862006-09-06 00:08  gb
4287
4288        * compiler/X86/X8664/x8664-arch.lisp: Forgot to set char-code-limit
4289        here.
4290
42912006-09-05 22:49  gb
4292
4293        * lib/macros.lisp: In DO-GC-AREAS, don't use comma before call to
4294        AREA-SUCC.  (Cross-compilation/ word-size issue.)
4295
42962006-09-05 22:42  gb
4297
4298        * level-0/l0-utils.lisp: If ENSURE-SIMPLE-STRING has to make a copy
4299        of a non-simple string, understand char width issues.
4300
43012006-09-05 22:41  gb
4302
4303        * level-0/nfasload.lisp: Some fixnum decls in %FIND-PKG.
4304
43052006-09-05 22:40  gb
4306
4307        * level-1/l1-aprims.lisp: ppc64 ARRAY-ELEMENT-SUBTYPES includes new
4308        string type.
4309
43102006-09-05 22:39  gb
4311
4312        * level-0/PPC/ppc-array.lisp: cr3, nor c33, in ppc64 %init-misc.
4313
43142006-09-05 22:38  gb
4315
4316        * compiler/nx0.lisp: NX-FORM-TYPEP uses NX-TARGET-TYPE.
4317
43182006-09-05 09:13  gb
4319
4320        * compiler/PPC/PPC32/ppc32-backend.lisp: darwinppc32 backend uses
4321        32-bit chars, too.
4322
43232006-09-05 09:01  gb
4324
4325        * compiler/PPC/PPC32/: ppc32-arch.lisp, ppc32-backend.lisp: ppc32
4326        defaults to 32-bit chars.
4327
43282006-09-05 05:18  gb
4329
4330        * xdump/xfasload.lisp: Deal with 32-bit lisp strings.
4331
43322006-09-05 05:18  gb
4333
4334        * lisp-kernel/linuxppc/.gdbinit: Start to depend on calling
4335        print_lisp_object, since x/s doesn't deal with 32-bit lisp strings.
4336
43372006-09-05 05:17  gb
4338
4339        * lisp-kernel/ppc-gc.c: conditionalize purify_displaced_object()
4340        for char size.
4341
43422006-09-05 05:16  gb
4343
4344        * lisp-kernel/plsym.c: find_symbol(): don't assume 8-bir lisp
4345        strings.
4346
43472006-09-05 05:15  gb
4348
4349        * lisp-kernel/lisptypes.h: Try using "u8_t" and "u32_t" for
4350        lisp_char_code; this may be more portable.
4351
43522006-09-05 05:14  gb
4353
4354        * lib/sequences.lisp: SIMPLE-1D-ARRAY-SUBSEQ: handle new strings.
4355
43562006-09-05 05:13  gb
4357
4358        * level-1/linux-files.lisp: CALL-WITH-STRING-VECTOR: don't assume
4359        8-bit char/strings.
4360
43612006-09-05 05:13  gb
4362
4363        * level-1/l1-streams.lisp: Use heap-ivectors of element-type
4364        (UNSIGNED-BYTE 8) for character streams.  (Should really depend on
4365        the coding system in use.)
4366
43672006-09-05 05:09  gb
4368
4369        * level-1/l1-aprims.lisp: Various archaic string functions: don't
4370        assume 8-bit strings.
4371
43722006-09-05 05:08  gb
4373
4374        * level-0/l0-array.lisp: Handle 32-bit strings in %UVECTOR-REPLACE.
4375
43762006-09-05 05:07  gb
4377
4378        * compiler/PPC/PPC64/ppc64-arch.lisp: No "x" in simple-base-string,
4379        when #-target-8-bit-chars.
4380
43812006-09-05 05:06  gb
4382
4383        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
4384        REQUIRE-CHAR-CODE: comparison of OBJECT with TAG is not a CMPI.
4385
43862006-09-05 05:05  gb
4387
4388        * compiler/PPC/ppc2.lisp: PPC2-VREF: handle the 32-bit
4389        :SIMPLE-STRING case with constant index.
4390
43912006-09-04 17:44  gb
4392
4393        * lisp-kernel/lisptypes.h: Linux doesn't define uint8_t.  Try
4394        "unsigned char", and cross fingers.
4395
43962006-09-04 17:38  gb
4397
4398        * lisp-kernel/: lisptypes.h, ppc_print.c, x86_print.c: Define
4399        lisp_char_code type, use it when printing lisp string in the kernel
4400        debugger.
4401
44022006-09-04 17:28  gb
4403
4404        * level-1/version.lisp: Bump.
4405
44062006-09-04 17:18  gb
4407
4408        * level-0/PPC/ppc-array.lisp: Sigh.  Test for 8-bit-char case was
4409        conditionalized backwards in PPC64 %INIT-MISC.
4410
44112006-09-04 17:05  gb
4412
4413        * level-1/l1-init.lisp: Initial value of CHAR-CODE-LIMIT derived
4414        from the target arch (for bootstrapping.)
4415
44162006-09-04 17:04  gb
4417
4418        * level-1/l1-reader.lisp: Use (UNSIGNED-BYTE 8) for array element
4419        type of rdtab.ttab.
4420       
4421        Don't treat (code-char #xca) as whitespace; do treat (code-char
4422        #xa0) as whitespace.  (The former happens to be how the latter was
4423        encoded in MacRoman.)
4424       
4425        Handle U+<hex> syntax in NAME-CHAR.
4426
44272006-09-04 16:16  gb
4428
4429        * compiler/PPC/PPC64/ppc64-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
4430        and the char code with #xff to get the low byte.
4431
44322006-09-04 16:15  gb
4433
4434        * compiler/PPC/PPC32/ppc32-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
4435        and the char code with #xff or 255., not with #x255.  (Cause lots
4436        of wackiness, mostly in readtable initialization.)
4437
44382006-09-04 16:12  gb
4439
4440        * compiler/PPC/ppc2.lisp: Use u32->char (which is defined) vice
4441        u8->char (which is no more) in %CHAR-CODE.
4442
44432006-09-04 06:04  gb
4444
4445        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
4446        Gak.  Get guard/predicate syntax right in LOAD-CHARACTER-CONSTANT.
4447
44482006-09-04 06:03  gb
4449
4450        * level-0/PPC/ppc-array.lisp: New constants in ppc32 typecode range
4451        assertion.
4452
44532006-09-04 03:44  gb
4454
4455        * level-0/PPC/ppc-array.lisp: ppc32/ppc64 %init-misc tweaks.
4456
44572006-09-04 03:43  gb
4458
4459        * compiler/PPC/ppc-lapmacros.lisp: Typo in the (unused) 64-bit/no
4460        crf case of UNBOX-BASE-CHAR.
4461
44622006-09-04 02:30  gb
4463
4464        * level-1/l1-error-system.lisp: Object-not- (mod #x110000) type
4465        error.
4466
44672006-09-04 02:29  gb
4468
4469        * level-0/PPC/ppc-symbol.lisp: conditionalize %pname-hash for char
4470        size.
4471
44722006-09-04 02:26  gb
4473
4474        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s,
4475        ppc-constants64.h, ppc-constants64.s: Conditionalize for
4476        CHAR_SIZE_32.
4477
44782006-09-04 02:24  gb
4479
4480        * compiler/PPC/PPC32/ppc32-arch.lisp,
4481        compiler/PPC/PPC32/ppc32-vinsns.lisp,
4482        compiler/PPC/PPC64/ppc64-arch.lisp,
4483        compiler/PPC/PPC64/ppc64-vinsns.lisp, level-0/l0-array.lisp,
4484        level-0/l0-pred.lisp: Conditionalize for #-target-8-bit-chars.
4485
44862006-09-04 02:23  gb
4487
4488        * compiler/PPC/ppc2.lisp: Deal - sometimes conditionally - with
4489        32-bit characters.
4490
44912006-09-04 02:22  gb
4492
4493        * compiler/arch.lisp: ERROR-OBJECT-NOT-MOD-CHAR-CODE-LIMIT.
4494
44952006-09-03 16:03  gb
4496
4497        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
4498        conditionalize new string types.
4499
45002006-09-03 16:03  gb
4501
4502        * level-0/X86/x86-symbol.lisp: %pname-hash: conditionalize for
4503        string element size.
4504
45052006-09-03 16:02  gb
4506
4507        * compiler/X86/X8664/x8664-arch.lisp, level-0/l0-array.lisp,
4508        level-0/l0-pred.lisp: Sketch out new string types (read-time
4509        conditionalized.)
4510
45112006-09-03 15:02  gb
4512
4513        * level-0/l0-init.lisp: Put :target-8-bit-chars on *features*, for
4514        bootstrapping.
4515
45162006-09-03 14:20  gb
4517
4518        * level-1/l1-streams.lisp: More missing BASIC-STREAM methods.
4519
45202006-09-03 13:22  gb
4521
4522        * compiler/: X86/X8664/x8664-backend.lisp,
4523        PPC/PPC32/ppc32-backend.lisp, PPC/PPC64/ppc64-backend.lisp:
4524        :target-8-bit-chars on target features.
4525
45262006-09-03 13:21  gb
4527
4528        * level-0/l0-int.lisp: Some comments/indentation.
4529
45302006-09-03 13:01  gb
4531
4532        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Make
4533        CHAR-CODE-LIMIT an attribute of the target arch, for bootstrapping.
4534
45352006-09-02 11:24  gb
4536
4537        * level-1/x86-error-signal.lisp, lib/db-io.lisp: Fix typo.
4538
45392006-09-02 11:15  gb
4540
4541        * lisp-kernel/x86_print.c: hex/decimal integer printers: 3 is also
4542        a hex digit.
4543
45442006-09-02 11:11  gb
4545
4546        * lisp-kernel/x86-exceptions.c: Install a "bogus signal handler" on
4547        Darwin, to deal with apparent race conditions/Mach kernel lossage.
4548       
4549        Don't do the whole msg_server here; just do the exc_server thing.
4550       
4551        Fix a couple of Mach exception-handling bugs; at least one more may
4552        remain.
4553
45542006-09-02 11:07  gb
4555
4556        * lisp-kernel/x86-asmutils64.s: Use a hlt instruction to trap in
4557        pseudo_sigreturn.
4558       
4559        Still get spurious SIGTRAPs.
4560
45612006-09-02 11:06  gb
4562
4563        * lisp-kernel/thread_manager.c: Define some things in terms of
4564        USE_MACH_SEMAPHORES or USE_POSIX_SEMAPHORES.
4565       
4566        sem_wait_forever() does repeated timed waits, since I thought that
4567        Darwin was having trouble interrpting things that waited
4568        indefinitely.  (That might just be a GDB bug.  Who can tell ?)
4569
45702006-09-02 11:03  gb
4571
4572        * lisp-kernel/Threads.h: Define some things in terms of
4573        USE_MACH_SEMAPHORES or USE_POSIX_SEMAPHORES.  Note that as of Q3
4574        2006, Darwin still doesn't implement enough POSIX semaphore
4575        functionality to make it possible to avoid the use of Mach
4576        semaphores.
4577
45782006-09-02 11:01  gb
4579
4580        * lib/db-io.lisp:
4581        Try to avoid things like %COPY-IVECTOR-TO-IVECTOR when strings are
4582        involved.
4583
45842006-09-02 11:01  gb
4585
4586        * level-1/x86-threads-utils.lisp: Things that're %HEAP-IVECTOR-P
4587        aren't bogus objects.
4588
45892006-09-02 11:00  gb
4590
4591        * level-1/l1-streams.lisp: Try to avoid things like
4592        %COPY-IVECTOR-TO-IVECTOR when strings are involved.
4593
45942006-09-02 10:59  gb
4595
4596        * level-1/l1-events.lisp: AUTO-FLUSH-INTERACTIVE-STREAMS: use
4597        FORCE-OUTPUT.
4598
45992006-09-02 10:57  gb
4600
4601        * level-0/l0-misc.lisp: %COPY-U8-TO-STRING, %COPY-STRING-TO-U8:
4602        new, to avoid %COPY-IVECTOR-TO-IVECTOR when strings are involved.
4603       
4604        %STR-FROM-PTR: take dest string as optional arg, don't assume 8-bit
4605        chars.
4606       
4607        %GET-CSTRING: change type decl, use %GET-UNSIGNED-BYTE.
4608
46092006-09-02 10:55  gb
4610
4611        * level-0/l0-aprims.lisp: %CSTR-POINTER and %CSTR-SEGMENT-POINTER:
4612        don't assume 8-bit chars.
4613
46142006-08-28 17:35  gb
4615
4616        * lisp-kernel/ppc-spentry.s: Fix tag check in 32-bit
4617        misc_set_single_float_vector.
4618
46192006-08-28 17:01  gb
4620
4621        * xdump/faslenv.lisp: Bump max fasl version.
4622
46232006-08-28 16:48  gb
4624
4625        * lib/nfcomp.lisp: Use new string ops.  Bump current fasl version.
4626
46272006-08-28 16:33  gb
4628
4629        * xdump/faslenv.lisp: Bump (max) fasl version.
4630
46312006-08-28 16:30  gb
4632
4633        * xdump/xfasload.lisp: xloader was missing a few new ops.
4634
46352006-08-28 05:34  gb
4636
4637        * xdump/xfasload.lisp: New string stuff here, too.
4638
46392006-08-28 05:28  gb
4640
4641        * level-0/nfasload.lisp: New string stuff.
4642
46432006-08-28 04:57  gb
4644
4645        * level-1/l1-streams.lisp: More missing BASIC-STREAM methods
4646        (STREAM-LINE-COLUMN, STREAM-LISTEN, STREAM-EOFP.)
4647
46482006-08-28 04:57  gb
4649
4650        * level-1/l1-reader.lisp: Use READ-CHAR instead of
4651        STREAM-READ-CHAR, since it may be faster in some cases.
4652
46532006-08-28 04:56  gb
4654
4655        * level-1/l1-events.lisp: Unscramble auto-flush-streams stuff
4656        (don't assume ioblock-based stream.)
4657
46582006-08-28 04:55  gb
4659
4660        * level-1/l1-boot-2.lisp: Initial FD-STREAMs are BASIC-STREAMs.
4661
46622006-08-28 04:55  gb
4663
4664        * level-0/PPC/ppc-symbol.lisp: Change some REQUIRE forms; cosmetic.
4665         (Maybe not even cosmetic.)
4666
46672006-08-28 04:54  gb
4668
4669        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
4670        PPC64/ppc64-vinsns.lisp: %unbox-u8, u8-vref stuff.
4671
46722006-08-28 04:53  gb
4673
4674        * xdump/faslenv.lisp: New fasl ops for new string encodings.
4675
46762006-08-28 04:52  gb
4677
4678        * lib/macros.lisp: %CHAR-CODE: for how long has limit not been 2^16
4679        ?  For how long will limit be 2^8 ?
4680
46812006-08-28 04:51  gb
4682
4683        * level-0/nfasload.lisp: More fasl ops.
4684
46852006-08-28 04:51  gb
4686
4687        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: %UNBOX-U8,
4688        u8-vref stuff.
4689
46902006-08-28 04:50  gb
4691
4692        * compiler/arch.lisp: Add CHAR-CODE-LIMIT slot to TARGET-ARCH; may
4693        not be the best way to do this.
4694
46952006-08-26 13:58  gb
4696
4697        * release-notes.txt: Updated.
4698
46992006-08-26 13:50  gb
4700
4701        * release-notes.txt: Updated.
4702
47032006-08-26 13:50  gb
4704
4705        * darwin-x86-headers64/libc/.cvsignore: Added.
4706
47072006-08-26 03:17  gb
4708
4709        * level-1/version.lisp: Bump.  New snapshots soon, I hope.
4710
47112006-08-26 03:12  gb
4712
4713        * lisp-kernel/darwinx8664/Makefile: Pass -g in ASFLAGS; same
4714        problems as always, but avoids problems with Darwin x86-64 ld64
4715        segfaulting for unknown reasons.
4716
47172006-08-26 03:11  gb
4718
4719        * lisp-kernel/x86-exceptions.h: Need to do an explicit sigreturn on
4720        Darwin (because of the sigaltstack hacks; Darwin uses sigtramp glue
4721        that we can't just return to after switching off of the alt stack.)
4722
47232006-08-26 03:08  gb
4724
4725        * lib/numbers.lisp: Check fpu overflow bit (not underflow) when
4726        deciding whether or not to signal overflow.
4727
47282006-08-26 03:08  gb
4729
4730        * level-1/x86-trap-support.lisp: Need an indirection to access
4731        mcontext from ucontext on Darwin; invent xp-gp-regs to get at
4732        mcontext64.ss.
4733
47342006-08-26 03:06  gb
4735
4736        * level-1/x86-error-signal.lisp: Add a declaration, to make this
4737        easier to step through.
4738
47392006-08-26 03:05  gb
4740
4741        * level-0/l0-float.lisp: SINGLE-FLOAT-HALF-PI: use f0 not e0, just
4742        in case.
4743
47442006-08-25 20:35  gb
4745
4746        * level-1/l1-boot-lds.lisp, level-1/l1-events.lisp,
4747        lib/ccl-export-syms.lisp: Hyphenate ADD-AUTO-FLUSH-STREAM and
4748        REMOVE-AUTO-FLUSH-STREAM.
4749       
4750        Export them, too.
4751
47522006-08-25 20:22  gb
4753
4754        * lib/streams.lisp: READ-LINE on BASIC-INPUT-STREAM w/o
4755        STREAM-READ-LINE.
4756
47572006-08-25 20:22  gb
4758
4759        * lib/macros.lisp: HANDLER-CASE: the :NO-ERROR clause can appear at
4760        most once but doesn't have to be the last clause.
4761
47622006-08-25 20:21  gb
4763
4764        * level-1/l1-streams.lisp: BASIC-OUTPUT-STREAM isn't an
4765        INPUT-STREAM.
4766       
4767        Some STREAM-READ-LINE support for BASIC-CHARACTER-INPUT-STREAM.
4768
47692006-08-25 20:19  gb
4770
4771        * level-1/l1-readloop.lisp: PREPARE-TO-QUIT: other threads should
4772        be dead by the time that streams on *OPEN-FILE-STREAMS* are closed,
4773        so unlock those streams with extreme prejudice before closing them.
4774
47752006-08-25 20:18  gb
4776
4777        * level-1/l1-pathnames.lisp: FULL-PATHNAME: remove some weird old
4778        code that assumed that interfered with handling of relative logical
4779        pathnames.
4780
47812006-08-25 20:17  gb
4782
4783        * level-1/l1-events.lisp: Rename EVENT-POLL to
4784        AUTO-FLUSH-INTERACTIVE-STREAMS.
4785       
4786        Make AUTO-FLUSH-INTERACTIVE-STREAMS do conditional locking on each
4787        stream (doing nothing if it's not :SHARING :LOCK; unconditional
4788        locking on the *AUTO-FLUSH-STREAMS-LOCK*.
4789       
4790        ADD-AUTOFLUSH-STREAM ensures that the stream is :SHARING :LOCK.
4791       
4792        REMOVE-AUTOFLUSH-STREAM.
4793
47942006-08-25 20:13  gb
4795
4796        * level-1/l1-boot-lds.lisp: MAKE-MCL-LISTENER-STREAM uses
4797        ADD-AUTOFLUSH-STREAM, REMOVE-AUTOFLUSH-STREAM.
4798
47992006-08-23 22:59  gb
4800
4801        * lisp-kernel/x86-exceptions.c: Darwin needs to decode the mxcsr on
4802        SIGFPE.
4803       
4804        DARWIN_GS_HACK changes in altstack handlers for interrupt/suspend.
4805
48062006-08-23 22:58  gb
4807
4808        * lisp-kernel/x86-spentry64.s: x86-64 Darwin's math library is
4809        pretty casual about causing spurious exceptions, so ignore them.
4810
48112006-08-23 22:57  gb
4812
4813        * lisp-kernel/darwinx8664/.gdbinit: New file; like the linuxx8664
4814        version, with different signals to be ignored by gdb.
4815
48162006-08-23 22:56  gb
4817
4818        * lisp-kernel/x86-asmutils64.s: Using ud2b to force an exception in
4819        pseudo_sigreturn() seems to cause/be related to spurious SIGTRAPs.
4820        Use int $0 instead.
4821
48222006-08-23 22:55  gb
4823
4824        * level-1/x86-trap-support.lisp: First attempt at Darwinx8664
4825        support; may need more work.
4826
48272006-08-22 02:08  gb
4828
4829        * lisp-kernel/x86_print.c: Try not to use sprintf() (at least not
4830        for printing integers), since it seems to need access to pthread
4831        data (and calling print_lisp_object() from GDB might fail if %gs is
4832        pointing at the lisp TCR.)
4833
48342006-08-22 02:06  gb
4835
4836        * lisp-kernel/x86-spentry64.s: Unbox %arg_z (boxed entrypoint)
4837        earlier in _SPffcall, before entering foreign context.  (Need to
4838        check PPC version(s) as well.)
4839       
4840        Use DARWIN_GS_HACK to swap %gs memory around when transitioning
4841        between foreign code and lisp.
4842
48432006-08-22 02:04  gb
4844
4845        * lisp-kernel/x86-macros.s: Fix a typo.
4846
48472006-08-22 02:04  gb
4848
4849        * lisp-kernel/x86-exceptions.h: Define a few more things ...
4850
48512006-08-22 02:03  gb
4852
4853        * lisp-kernel/x86-exceptions.c: Lots of changes, especially to Mach
4854        exception handling code.
4855       
4856        Do the DARWIN_GS_HACK things to overload %gs.
4857
48582006-08-22 02:02  gb
4859
4860        * lisp-kernel/x86-asmutils64.s: atomic_and(), pseudo_sigreturn()
4861        for DarwinX8664.
4862
48632006-08-22 02:01  gb
4864
4865        * lisp-kernel/thread_manager.c: Some PPC64 conditionalizations
4866        should really have tested WORD_SIZE.
4867       
4868        DARWIN_GS_HACK stuff around suspend/resume signal handlers.  (May
4869        not be necessary.)
4870       
4871        Ensure that tcr.linear gets set on x86, even if not HAVE_TLS.
4872
48732006-08-22 01:59  gb
4874
4875        * lisp-kernel/pmcl-kernel.c: Don't really flush cache lines on
4876        x8664.
4877       
4878        Some PPC64 conditionalizations should really have tested WORD_SIZE.
4879
48802006-08-22 01:58  gb
4881
4882        * lisp-kernel/m4macros.m4: Define SYSCALL_SETS_CARRY_ON_ERROR for
4883        FreeBSDX664, DarwinX8664.
4884
48852006-08-22 01:57  gb
4886
4887        * lisp-kernel/darwinx8664/Makefile: Much smaller pagezero, much
4888        lower seg1addr.
4889       
4890        Something in the (m4-generated) symbolic info in some .s files is
4891        screwy and causes ld64 to segfault; it's currently necesssary to
4892        use "strip -S" on the assembler-generated .o files.
4893
48942006-08-22 01:55  gb
4895
4896        * scripts/openmcl64: Untested changes for Darwinx8664.
4897
48982006-08-22 01:54  gb
4899
4900        * xdump/xx8664-fasload.lisp: Fix typo in darwinx8664
4901        xload-backend-info (compiler target is :darwinx8664, not
4902        :linuxx8664).
4903
49042006-08-22 01:53  gb
4905
4906        * lib/nfcomp.lisp: Dump concatenated functions from xfunctions when
4907        cross-compiling to x86 from x86.
4908
49092006-08-22 01:52  gb
4910
4911        * lib/misc.lisp: MACHINE-VERSION:  conditionalize on :DARWIN-TARGET
4912        (not :DARWINPPC-TARGET).
4913
49142006-08-22 01:50  gb
4915
4916        * lib/foreign-types.lisp: :DARWIN-TARGET (not :DARWINPPC-TARGET).
4917
49182006-08-22 01:50  gb
4919
4920        * lib/compile-ccl.lisp: :DARWINX8664 stuff.
4921
49222006-08-22 01:49  gb
4923
4924        * level-1/version.lisp: Bump.
4925
49262006-08-22 01:49  gb
4927
4928        * level-1/l1-sysio.lisp: FILE-STREAM-EXTERNAL-FORMAT stuff for
4929        BASIC-STREAMs.
4930
49312006-08-22 01:48  gb
4932
4933        * level-1/: l1-sockets.lisp, linux-files.lisp: Conditionalize on
4934        DARWIN-TARGET, not DARWINPPC-TARGET.
4935
49362006-08-22 01:47  gb
4937
4938        * level-0/l0-init.lisp: DarwinX8664 *features*.
4939
49402006-08-22 01:47  gb
4941
4942        * level-0/l0-cfm-support.lisp: Some DARWINPPC-TARGET conditionals
4943        really want to be DARWIN-TARGET.
4944
49452006-08-22 01:46  gb
4946
4947        * compiler/X86/X8664/x8664-arch.lisp: YIELD-SYSCALL for
4948        DarwinX8664.
4949
49502006-08-22 01:45  gb
4951
4952        * compiler/X86/x862.lisp: Use CROSS-CREATE-X86-FUNCTION if not
4953        compiling natively.
4954       
4955        Fix X862-FIXUP-FWD-REFS if not native function on x86.
4956
49572006-08-22 01:44  gb
4958
4959        * compiler/X86/x86-lap.lisp: Ensure that CROSS-CREATE-X86-FUNCTION
4960        is defined, even on x86.  Use it if not compiling natively on x86.
4961
49622006-08-20 23:59  gb
4963
4964        * lisp-kernel/darwinx8664/Makefile: Define DARWIN_GS_HACK.
4965
49662006-08-20 23:58  gb
4967
4968        * lisp-kernel/x86-exceptions.c: Still needs lots of work.
4969
49702006-08-20 23:58  gb
4971
4972        * lisp-kernel/x86-exceptions.h: Include Mach stuff on Darwin;
4973        prototypes for DARWIN_GS_HACK %gs segment switching.
4974
49752006-08-20 23:57  gb
4976
4977        * lisp-kernel/x86-subprims64.s: Manipulate the %gs register when a
4978        lisp thread starts, exits and DARWIN_GS_HACK is defined.
4979       
4980        This isn't so bad, but doing it around every ff-call might be.
4981
49822006-08-20 23:56  gb
4983
4984        * lisp-kernel/x86-macros.s: DARWIN_GS_HACK macros.
4985
49862006-08-20 23:53  gb
4987
4988        * lisp-kernel/thread_manager.c: Note the need for DARWIN_GS_HACK.
4989
49902006-08-20 23:51  gb
4991
4992        * lisp-kernel/x86-asmutils64.s: DARWIN_GS_HACK hacks.
4993
49942006-08-20 23:51  gb
4995
4996        * lisp-kernel/m4macros.m4: Hope that the need for DARWIN_GS_HACK is
4997        also temporary.
4998
49992006-08-20 23:50  gb
5000
5001        * lisp-kernel/lisptypes.h: Hope that the workaround for missing
5002        mcontext64 in x8664 Darwin is temporary.
5003
50042006-08-20 20:35  gb
5005
5006        * library/darwinx664-syscalls.lisp: typo
5007
50082006-08-20 20:35  gb
5009
5010        * library/darwinx8664-syscalls.lisp: spell name right
5011
50122006-08-20 17:10  gb
5013
5014        * xdump/xx8664-fasload.lisp: :darwinx8664 stuff.
5015
50162006-08-20 17:10  gb
5017
5018        * lib/db-io.lisp: :struct-by-value: don't read-time conditionalize
5019        (do other things still use read-time conditionals ?)
5020
50212006-08-20 17:09  gb
5022
5023        * compiler/X86/X8664/x8664-backend.lisp: Darwinx8664: overload %gs,
5024        setup syscall mask.
5025
50262006-08-20 17:08  gb
5027
5028        * compiler/nx1.lisp: Handle syscall, ff-call for :darwinx8664 as
5029        well.
5030
50312006-08-20 17:06  gb
5032
5033        * library/darwinx664-syscalls.lisp: New file; or's in the bit for
5034        Unix syscalls on Darwinx8664.  (Screw: should (carefully) review
5035        word-size issues.)
5036
50372006-08-20 17:03  gb
5038
5039        * library/darwinppc-syscalls.lisp: Mask for PPC.
5040
50412006-08-20 17:02  gb
5042
5043        * level-0/l0-io.lisp, level-1/l1-sockets.lisp,
5044        level-1/linux-files.lisp: Syscall conditionalization.
5045
50462006-08-20 17:01  gb
5047
5048        * level-1/l1-streams.lisp: Syscall conditionalization.
5049       
5050        SELECTION-INPUT-STREAM created with :sharing :lock.
5051
50522006-08-20 17:00  gb
5053
5054        * examples/objc-runtime.lisp: Fencepost in
5055        POINTER-IN-CFSTRING-SECTION-P.
5056
50572006-08-20 16:16  gb
5058
5059        * library/: darwinppc-syscalls.lisp, darwin-syscalls.lisp: rename
5060
50612006-08-18 09:50  gb
5062
5063        * lisp-kernel/thread_manager.c: Enable FP underflow detection on
5064        x8664.  Should do this on PPC as well, and should probably offer
5065        some backward-compatible behavior for reader.
5066
50672006-08-18 09:47  gb
5068
5069        * compiler/X86/X8664/x8664-backend.lisp: Dress up the Darwin x86-64
5070        backend a little.
5071       
5072        Explicily define lisp-context-register slot in each backend (%gs
5073        for those imolementations that follow the standard ABI, %fs for
5074        Darwin.)
5075
50762006-08-18 09:44  gb
5077
5078        * compiler/X86/X8664/x8664-vinsns.lisp: Use :rcontext when
5079        necessary.
5080
50812006-08-18 09:43  gb
5082
5083        * compiler/X86/: x86-backend.lisp, x86-lap.lisp: Recognize
5084        :rcontext as a reference to the backend's LISP-CONTEXT-REGISTER
5085        slot.
5086
50872006-08-18 09:42  gb
5088
5089        * compiler/backend.lisp: Backend now has a lisp-context-register
5090        slot.
5091
50922006-08-18 09:42  gb
5093
5094        * compiler/X86/X8664/x8664-arch.lisp: No more (constant) rcontext.
5095
50962006-08-18 09:40  gb
5097
5098        * level-0/X86/: x86-def.lisp, x86-float.lisp, x86-io.lisp,
5099        x86-misc.lisp, x86-symbol.lisp, x86-utils.lisp: Refer to rcontext
5100        segment register as :rcontext, since x86-64 Darwin doesn't laugh
5101        and play like the other children.
5102
51032006-08-18 09:29  gb
5104
5105        * lisp-kernel/x86-exceptions.c: Copy some of the Mach exception
5106        code from the PPC version and tweak it a little; needs more work.
5107
51082006-08-18 09:27  gb
5109
5110        * lisp-kernel/x86-exceptions.h: Provide some interim Darwin
5111        conditionalization.
5112
51132006-08-18 09:25  gb
5114
5115        * lisp-kernel/m4macros.m4: Spell FREEBSD correctly.
5116       
5117        Generate an equate for HAVE_TLS.
5118
51192006-08-18 09:23  gb
5120
5121        * lisp-kernel/x86-gc.c: Changes in purify_xp().
5122
51232006-08-18 09:19  gb
5124
5125        * lisp-kernel/x86-spentry64.s: Darwin x86-64 assembler doesn't like
5126        absolute jumps, prefers slower ones.
5127       
5128        Move lock prefixes to their own lines, to satisfy you-know-who.
5129       
5130        If we don't have thread-local-storage (TLS), it's hard to avoid the
5131        get_tcr() call on each calback.
5132
51332006-08-18 09:13  gb
5134
5135        * lisp-kernel/: freebsdx8664/Makefile, linuxx8664/Makefile: Tell m4
5136        that we HAVE_TLS.
5137
51382006-08-17 10:41  phil
5139
5140        * examples/FFI/:
5141        Allocating-foreign-data-on-the-lisp-heap/ptrtest-compile.sh,
5142        Allocating-foreign-data-on-the-lisp-heap/ptrtest.c,
5143        Allocating-foreign-data-on-the-lisp-heap/ptrtest.lisp,
5144        Using-basic-calls-and-types/Readme.rtf,
5145        Using-basic-calls-and-types/typetest-compile.sh,
5146        Using-basic-calls-and-types/typetest.c,
5147        Using-basic-calls-and-types/typetest.lisp: Initial version
5148
51492006-08-17 10:40  phil
5150
5151        * examples/FFI/Allocating-foreign-data-on-the-lisp-heap/Readme.rtf:
5152        [no log message]
5153
51542006-08-08 13:07  gb
5155
5156        * lisp-kernel/darwinx8664/Makefile: New file.
5157
51582006-08-08 13:07  gb
5159
5160        * lisp-kernel/x86-exceptions.h: xp accessors for Darwinx8664.
5161
51622006-08-08 13:06  gb
5163
5164        * lisp-kernel/x86-constants64.h: REG_* constants for Darwin.
5165
51662006-08-08 13:05  gb
5167
5168        * lisp-kernel/x86-asmutils64.s: Darwin assembler doesn't like lock
5169        instructions on the same line as the locked instruction.  (Maybe
5170        there's a better way to do this, than just pretending that lock is
5171        a standalone instruction, but that lock instruction does seem to be
5172        treated as a prefix.)
5173
51742006-08-08 13:03  gb
5175
5176        * lisp-kernel/pmcl-kernel.c: Treat X8664 like PPC64 (e.g., use
5177        dlfcn) on Darwin.
5178
51792006-08-08 13:02  gb
5180
5181        * lisp-kernel/lisptypes.h: xcode 2.4 headers: <i386/ucontext.h>
5182        doesn't define mcontext64, but lots of other things reference it.
5183        #define it here for now, but that'll likely break when the headers
5184        are fixed.
5185
51862006-08-08 12:58  gb
5187
5188        * lisp-kernel/lisp-debug.c: Define Iregnames for darwinx8664.
5189
51902006-08-08 12:58  gb
5191
5192        * lisp-kernel/area.h: Define an IMAGE_BASE_ADDRESS for
5193        x8664/Darwin.
5194
51952006-07-29 08:41  gb
5196
5197        * level-1/l1-streams.lisp: STREAM-WRITE-BYTE, STREAM-WRITE-IVECTOR.
5198         :BASIC defaults to T in OPEN; BASIC-FILE-STREAM probably still
5199        needs READ/WRITE- SEQUENCE support.
5200
52012006-07-29 07:39  gb
5202
5203        * level-1/l1-aprims.lisp: ALLOCATE-RESOURCE, FREE-RESOURCE: use
5204        lock.  TODO: evaluate whether resources are worthwhile;  used for
5205        string-output-stream allocation and DELETE-DUPLICATES.
5206
52072006-07-29 06:27  gb
5208
5209        * library/lispequ.lisp: Resources aren't thread-private, need
5210        locks.
5211
52122006-07-29 06:26  gb
5213
5214        * level-1/l1-sysio.lisp: MAKE-FILE-STREAM: support for
5215        BASIC-STREAMs.
5216
52172006-07-29 06:26  gb
5218
5219        * level-1/l1-streams.lisp: OPEN handles BASIC-STREAMs; not yet the
5220        default.
5221
52222006-07-29 06:25  gb
5223
5224        * level-1/l1-reader.lisp: *PARSE-STRING-RESOURCE* probably hasn't
5225        been used in 10 or 12 years.
5226
52272006-07-29 03:40  gb
5228
5229        * level-1/l1-sysio.lisp: Most BASIC-FILE-STREAM stuff.
5230
52312006-07-29 03:40  gb
5232
5233        * library/lispequ.lisp: BASIC-FILE-STREAM.EXTERNAL-FORMAT, at least
5234        for now.
5235
52362006-07-29 03:39  gb
5237
5238        * level-1/l1-streams.lisp: BASIC-IO-STREAM; ALLOCATE-BASIC-STREAM
5239        makes one more slot in BASIC-FILE-STREAM.
5240
52412006-07-28 04:17  gb
5242
5243        * level-1/version.lisp: Bump.
5244
52452006-07-28 04:15  gb
5246
5247        * level-1/l1-streams.lisp: A couple of more (soon-to-be-used) slots
5248        in IOBLOCK.
5249
52502006-07-28 01:17  gb
5251
5252        * level-1/l1-streams.lisp: Lots of changes; lots more to go.
5253
52542006-07-28 01:16  gb
5255
5256        * level-1/l1-sockets.lisp: Pass :CHARACTER-P T to MAKE-FD-STREAM.
5257
52582006-07-28 00:58  gb
5259
5260        * examples/cocoa-listener.lisp: Want :SHARING :LOCK on listener
5261        output.
5262       
5263        (SLIME probably faces the same issue; should probably do something
5264        in the auto-flush case.  Of course, it's hard to know just what to
5265        do in that case. or at least what to do safely in that case.)
5266
52672006-07-28 00:49  gb
5268
5269        * level-1/l1-sysio.lisp: Define SELECT-STREAM-CLASS on
5270        FUNDAMENTAL-FILE-STREAM.
5271
52722006-07-28 00:49  gb
5273
5274        * lib/streams.lisp: READ-BYTE for BASIC-STREAMs.
5275
52762006-07-28 00:48  gb
5277
5278        * library/lispequ.lisp: Need an explicit
5279        BASIC-STREAM-FLAG.OPEN-CHARACTER bit, due to bivalence.
5280
52812006-07-28 00:47  gb
5282
5283        * lib/macros.lisp: BASIC-STREAM-IOBLOCK.
5284
52852006-07-25 03:48  gb
5286
5287        * compiler/optimizers.lisp: Compiler-macro for BASIC-STREAM-P.
5288
52892006-07-24 04:55  gb
5290
5291        * lib/streams.lisp: READ-CHAR bypasses STREAM-READ-CHAR for
5292        BASIC-STREAMs.
5293
52942006-07-24 04:55  gb
5295
5296        * level-1/l1-streams.lisp: Some BASIC-STREAM stuff starts to
5297        appear.
5298
52992006-07-24 04:51  gb
5300
5301        * library/lispequ.lisp: Add a plist to basic-/basic-file-stream.
5302
53032006-07-24 02:43  gb
5304
5305        * level-1/l1-sysio.lisp: FILE-STREAM is now abstract (and some
5306        sublasses may get that way); FUNDAMENTAL-FILE-STREAM is an
5307        implementation of it (and BASIC-FILE-STREAM soon will be.)
5308
53092006-07-23 03:05  gb
5310
5311        * level-1/l1-clos-boot.lisp: *class-table* entry for BASIC-STREAM.
5312
53132006-07-23 03:03  gb
5314
5315        * level-1/l1-streams.lisp: STREAM-IOBLOCK now takes 2 required args
5316        and is inlined.
5317       
5318        Some bug fixes; STREAM class no longer has slots.
5319       
5320        IOBLOCK-READ-CHAR-FUNCTION used by READ-CHAR.  %ioblock-read-byte
5321        variants; fix read-byte botch (should vector according to
5322        element-type.)
5323
53242006-07-23 02:54  gb
5325
5326        * level-1/: linux-files.lisp, l1-sysio.lisp, l1-sockets.lisp:
5327        STREAM-IOBLOCK now takes 2 required args.
5328
53292006-07-23 02:54  gb
5330
5331        * level-1/version.lisp: Bump.
5332
53332006-07-23 02:53  gb
5334
5335        * library/lispequ.lisp: Start to define what a BASIC-STREAM looks
5336        like.
5337
53382006-07-23 02:53  gb
5339
5340        * lib/macros.lisp: Move stream-ioblock access/locking macros here.
5341       
5342        Likewise WITH-EAGAIN.
5343
53442006-07-23 01:12  gb
5345
5346        * level-1/: l1-sysio.lisp, l1-streams.lisp, l1-boot-2.lisp,
5347        l1-sockets.lisp: Fix a few botches.
5348       
5349        :private arg to stream creation primitives replaced with :sharing,
5350        which can have values:
5351       
5352         :private (the default; stream can only be accessed by the creating
5353        thread)
5354         :lock  (the old, often slow, default); most accesses to stream
5355        involve locking
5356         :nil or :external (stream code doesn't enforce exclusion).
5357
53582006-07-22 23:57  gb
5359
5360        * level-1/l1-streams.lisp: Bootstrapping stuff.
5361       
5362        Move along, nothing to see here.
5363
53642006-07-20 03:43  gb
5365
5366        * level-1/: l1-boot-2.lisp, l1-sockets.lisp, l1-streams.lisp,
5367        l1-sysio.lisp: First (rough) cut at making streams "private"
5368        (effectively always locked by the "owning" thread) to reduce some
5369        locking overhead.  More to come, some of which will be a little
5370        tricky to bootstrap.
5371
53722006-07-20 01:09  gb
5373
5374        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s,
5375        ppc-constants64.h, ppc-constants64.s, x86-constants64.h,
5376        x86-constants64.s: subtag_lisp_thread -> subtag_basic_stream.
5377
53782006-07-20 01:09  gb
5379
5380        * library/lispequ.lisp: new (istruct-based) LISP-THREAD accessors.
5381
53822006-07-20 01:08  gb
5383
5384        * level-1/version.lisp: Bump.
5385
53862006-07-20 01:07  gb
5387
5388        * level-1/l1-streams.lisp: Introduce "owner" slot in basic ioblock.
5389         A little tricky to bootstrap.
5390
53912006-07-20 01:05  gb
5392
5393        * level-0/l0-misc.lisp, level-1/l1-processes.lisp,
5394        level-1/l1-clos-boot.lisp, level-1/l1-lisp-threads.lisp: Use new
5395        (istruct-based) lisp-thread accessors.
5396
53972006-07-20 01:02  gb
5398
5399        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
5400        X86/X8664/x8664-arch.lisp: Get rid of the lisp-thread subtag
5401        (lisp-thread's are ISTRUCTs now); re-use it for (to-be-introduced)
5402        BASIC-STREAM.
5403
54042006-07-15 15:02  gb
5405
5406        * level-1/l1-error-system.lisp: Insert some fresh lines in the
5407        IMPOSSIBLE-NUMBER condition :REPORT method.
5408
54092006-07-15 15:00  gb
5410
5411        * compiler/X86/x862.lisp: x862-%aref1,x862-%aset1: don't try to do
5412        simple vector operations unless we're sure that the vector is a
5413        (SIMPLE-ARRAY * (*)) and we know the element-type (these were
5414        leaping into the simple-typed-vector case when the element-type was
5415        known but the vector wasn't known to be SIMPLE.
5416
54172006-07-14 05:57  gb
5418
5419        * compiler/nx0.lisp: NX-FORM-TYPEP: unqoute constants.
5420
54212006-07-13 16:01  gb
5422
5423        * level-1/l1-typesys.lisp: SPECIALIZED-ARRAY-ELEMENT-TYPES needs to
5424        know about FIXNUM arrays.
5425
54262006-07-11 14:23  gb
5427
5428        * compiler/X86/x862.lisp: Destination and 1st source arg overlap
5429        (2-address instructions) in natural logical, arithmetic operations.
5430
54312006-07-05 02:38  gb
5432
5433        * release-notes.txt: Update.
5434
54352006-07-05 02:22  gb
5436
5437        * level-0/l0-init.lisp: Reluctantly put :MCL back on *features*;
5438        its removal needs to be better publicized.
5439
54402006-07-04 22:24  gb
5441
5442        * level-1/linux-files.lisp: Use NATIVE-TRANSLATED-NAMESTRING on the
5443        PROGRAM arg to RUN-PROGRAM.
5444
54452006-07-04 22:23  gb
5446
5447        * level-1/version.lisp: Bump.
5448
54492006-06-29 02:11  gb
5450
5451        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump
5452        image-abi-version.
5453
54542006-06-28 05:24  gb
5455
5456        * level-0/l0-cfm-support.lisp: *rtld-default* wants to be a null
5457        pointer on DarwinPPC32 (at the very least, that platform's
5458        xFindSymbol gets confused by anything but a null pointer/global
5459        lookup.)
5460
54612006-06-28 05:09  gb
5462
5463        * level-1/version.lisp: Bump.  Call the FreeBSD/AMD64 version
5464        "Alpha", which may be a bit generous (pretty regular deadlock,
5465        random thread creation errors, other bugs.)
5466
54672006-06-28 05:07  gb
5468
5469        * lisp-kernel/freebsdx8664/.gdbinit: new; awfully similar to linux
5470        x86-64 version.
5471
54722006-06-28 04:04  gb
5473
5474        * lisp-kernel/x86-exceptions.c: FreeBSD doesn't do a good job of
5475        identifying the cause of XMM FP exceptions.  Try to do that by
5476        looking at MXCSR bits.
5477
54782006-06-28 04:03  gb
5479
5480        * lisp-kernel/x86-spentry64.s: FreeBSD syscalls set carry flag to
5481        indicate error return.
5482
54832006-06-28 04:03  gb
5484
5485        * level-1/: l1-sockets.lisp, linux-files.lisp,
5486        x86-trap-support.lisp: Some FreeBSD changes/fixes.
5487
54882006-06-28 04:02  gb
5489
5490        * level-0/l0-cfm-support.lisp: Remove a #+freebsd-target
5491        breakpoint.
5492
54932006-06-27 18:08  gb
5494
5495        * level-0/l0-cfm-support.lisp: fix (?) nested #+/#-.  Maybe.
5496
54972006-06-27 17:30  gb
5498
5499        * lisp-kernel/x86-exceptions.h: Fix Linux def of IS_MAYBE_INT_TRAP.
5500
55012006-06-27 17:27  gb
5502
5503        * lisp-kernel/pmcl-kernel.c: (possibly) make get_r_debug more
5504        portable; possibly break it completely ...
5505
55062006-06-27 08:55  gb
5507
5508        * lisp-kernel/x86-exceptions.c: map the altstack
5509        read/write/execute.
5510
55112006-06-27 08:54  gb
5512
5513        * lisp-kernel/thread_manager.c: Fix os_get_stack_bounds() for
5514        FreeBSD.
5515
55162006-06-27 08:54  gb
5517
5518        * lisp-kernel/Threads.h: FreeBSD needs prototypes from
5519        <pthread_np.h>
5520
55212006-06-27 08:53  gb
5522
5523        * lib/compile-ccl.lisp: New (renamed) kernel-build-direcory for
5524        :freebsdx8664.
5525
55262006-06-27 08:53  gb
5527
5528        * level-1/x86-trap-support.lisp: freebsd x8664 GPR indices.  (Needs
5529        testing.)
5530       
5531        Don't conditionalize as much code. Indices/offsets are
5532        platform-specific, but accessors defiend in terms of them needn't
5533        be.
5534
55352006-06-27 08:51  gb
5536
5537        * level-1/x86-callback-support.lisp: Remove 1st line (bogus
5538        comment.)
5539
55402006-06-27 08:50  gb
5541
5542        * level-0/l0-init.lisp: More freebsd x8664 features.
5543
55442006-06-27 08:50  gb
5545
5546        * scripts/openmcl64: Update for FreeBSD/amd64.
5547
55482006-06-27 08:47  gb
5549
5550        * compiler/X86/X8664/x8664-backend.lisp: FreeBSD backend has
5551        :freebsdx8664-target as a target-specific-feature.
5552
55532006-06-27 05:05  gb
5554
5555        * lisp-kernel/: freebsdx8664/Makefile, freebsd8664/Makefile,
5556        freebsd8664/elf_x86_64.x: directory rename
5557
55582006-06-27 04:59  gb
5559
5560        * xdump/xx8664-fasload.lisp: FreeBSD xload-backend.
5561
55622006-06-27 04:47  gb
5563
5564        * lisp-kernel/x86-exceptions.h: Some macros for FreeBSD changes.
5565
55662006-06-27 04:46  gb
5567
5568        * lisp-kernel/x86-exceptions.c: FreeBSD changes (at least enough to
5569        recognize UUOs, which generate SIGBUS vice SIGSEGV.)
5570
55712006-06-27 04:45  gb
5572
5573        * lisp-kernel/x86-asmutils64.s: Define freebsd_sigreturn.
5574       
5575        TODO (maybe): copy the sigtramp code when evacuating the altstack.
5576
55772006-06-27 04:44  gb
5578
5579        * lisp-kernel/thread_manager.c: FreeBSD sigreturn from
5580        suspend_resume_handler.
5581
55822006-06-27 04:44  gb
5583
5584        * lisp-kernel/pmcl-kernel.c: Some FreeBSD conditionalization;
5585        get_r_debug() for ELF platforms.  (Needs testing under Linux.)
5586
55872006-06-27 04:43  gb
5588
5589        * lisp-kernel/imports.s: Don't import metering-control; do import
5590        get_r_debug().
5591
55922006-06-27 04:42  gb
5593
5594        * library/x8664-freebsd-syscalls.lisp: New file.  Should check
5595        word-size stuff (here and in other versions.)
5596
55972006-06-27 04:42  gb
5598
5599        * lib/misc.lisp: Find MACHINE-VERSION string via #_sysctl on
5600        FreeBSD.
5601
56022006-06-27 04:39  gb
5603
5604        * lib/foreign-types.lisp: Signed char nonsense (should use target
5605        ftd, not reader macros here.)
5606
56072006-06-27 04:38  gb
5608
5609        * lib/compile-ccl.lisp: Some FreeBSD support.
5610
56112006-06-27 04:36  gb
5612
5613        * level-1/: l1-sockets.lisp, l1-streams.lisp, linux-files.lisp:
5614        Some FreeBSD changes/conditionalization. Maybe not enough.
5615
56162006-06-27 04:35  gb
5617
5618        * level-1/l1-boot-1.lisp: Recognize FREEBSD platform-os-name.
5619
56202006-06-27 04:34  gb
5621
5622        * level-0/X86/: .cvsignore, X8664/.cvsignore: Ignore *fsl.
5623
56242006-06-27 04:34  gb
5625
5626        * level-0/l0-io.lisp: FreeBSD syscalls.
5627
56282006-06-27 04:33  gb
5629
5630        * level-0/l0-init.lisp: Some FreeBSD features.
5631
56322006-06-27 04:33  gb
5633
5634        * level-0/l0-cfm-support.lisp: Lots of FreeBSD conditionalization,
5635        changes.
5636       
5637        MAY HAVE BROKEN LINUX PORTS; need to recompile on those platforms
5638        and test.
5639       
5640        Now depends on an imported lisp-kernel function on ELF platforms
5641        (Linux/FreeBSD), and therefore depends on recent kernel changes.
5642
56432006-06-27 04:30  gb
5644
5645        * level-0/.cvsignore: Ignore *fsl.
5646
56472006-06-27 04:29  gb
5648
5649        * compiler/X86/X8664/x8664-backend.lisp: Fix platform-syscall-mask
5650        in freebsd backend.
5651
56522006-06-27 04:27  gb
5653
5654        * compiler/X86/X8664/x8664-arch.lisp: Don't import
5655        metering-control; do import get-r-debug (for Elf shared libraries.)
5656       
5657        A yield-syscall constant for FreeBSD. (This is all a bad idea ...)
5658
56592006-06-27 04:26  gb
5660
5661        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp:
5662        Don't import metering-control; do import get-r-debug (for Elf
5663        shared libraries.)
5664
56652006-06-27 04:26  gb
5666
5667        * compiler/nx1.lisp: Use the non-eabi syscall on freebsd as well.
5668
56692006-06-26 16:38  gb
5670
5671        * compiler/X86/X8664/x8664-vinsns.lisp:
5672        SET-BIGITS-AND-HEADER-FOR-FIXNUM-OVERFLOW: need to change the
5673        (wrong) sign of the top 3 (fixnumshift) bits only.  Where did the
5674        constant #xffff000000000000 come from ?
5675
56762006-06-26 16:35  gb
5677
5678        * compiler/X86/x862.lisp: Fix some indentation.
5679
56802006-06-25 20:32  gb
5681
5682        * compiler/X86/X8664/x8664-backend.lisp: FreeBSD x8664 backend;
5683        change initialiation of x8664 foreign-type stuff.
5684
56852006-06-25 20:31  gb
5686
5687        * compiler/backend.lisp: PLATFORM-OS-FREEBSD.
5688
56892006-06-23 19:52  gb
5690
5691        * darwin-headers/: gl/C/.cvsignore, libc/C/.cvsignore,
5692        quicktime/C/.cvsignore: Ignore Developer subdirectory.  c
5693
56942006-06-23 19:28  gb
5695
5696        * release-notes.txt: Update some.
5697
56982006-06-23 19:11  gb
5699
5700        * examples/gtk2-clock.lisp: New file.
5701
57022006-06-23 18:56  gb
5703
5704        * level-1/version.lisp: Bump.
5705
57062006-06-23 18:52  gb
5707
5708        * lib/ccl-export-syms.lisp: Export DEFLOADVAR.
5709
57102006-06-22 13:39  gb
5711
5712        * x86-headers64/gnome2/C/.cvsignore: new
5713
57142006-06-22 13:36  gb
5715
5716        * x86-headers64/: gl/C/.cvsignore, gnome2/C/populate.sh: new
5717
57182006-06-22 13:33  gb
5719
5720        * x86-headers64/: gl/.cvsignore, gl/C/populate.sh,
5721        gnome2/.cvsignore: new
5722
57232006-06-22 13:30  gb
5724
5725        * examples/opengl-ffi.lisp: #+linuxppc-target -> #+linux-target.
5726
57272006-06-22 13:28  gb
5728
5729        * level-1/version.lisp: Bump.
5730
57312006-06-21 15:15  gb
5732
5733        * lisp-kernel/: ppc-constants64.h, ppc-constants64.s,
5734        ppc-spentry.s: Define new string subtags; handle them in ppc64
5735        misc_ref/misc_set.
5736
57372006-06-21 15:14  gb
5738
5739        * level-0/PPC/ppc-array.lisp: Fix %INIT-MISC (both ppc2 and ppc64
5740        versions) to handle FIXNUM vectors, new UCS4 strings.
5741
57422006-06-21 15:14  gb
5743
5744        * level-0/l0-array.lisp: Fix %INIT-MISC (bot ppc2 and ppc64
5745        versions) to handle FIXNUM vectors, new UCS4 strings.
5746
57472006-06-21 15:12  gb
5748
5749        * darwin-headers/: carbon/C/populate.sh, cocoa/C/populate.sh,
5750        gl/C/populate.sh, libc/C/populate.sh, quicktime/C/populate.sh,
5751        webkit/C/populate.sh: Use 10.4u headers from XCode SDK.
5752
57532006-06-21 15:11  gb
5754
5755        * compiler/PPC/PPC64/ppc64-arch.lisp: Add SUBTAG-NEW-STRING.
5756
57572006-06-21 15:11  gb
5758
5759        * compiler/PPC/PPC32/ppc32-arch.lisp: MAX-32-BIT-IVECTOR-SUBTAG
5760        wasn't updated with the introduction of fixnum vectors, (unused)
5761        UCS4 "new"strings.
5762
57632006-06-16 03:50  gb
5764
5765        * examples/objc-support.lisp: Re-compute static NSString info after
5766        opening an extension framework.
5767
57682006-06-16 03:45  gb
5769
5770        * examples/webkit.lisp: Use new functions for augmenting
5771        interfaces, loading framework.
5772
57732006-06-16 03:43  gb
5774
5775        * examples/objc-runtime.lisp: Juggle things around so that add-on
5776        framework bundles get loaded on appication re-launch.
5777       
5778        REVIVE-OBJC-CLASSES tells MAP-OBJC-CLASSES not to hit the database,
5779        since (a) it may not be there, or may not be where we can find it
5780        yet and (b) it's probably more reasonable to do that than it would
5781        be to teach CLOS about classes that're "discovered" when the
5782        appication's launched on a newer OS release than it was saved on.
5783
57842006-06-16 03:39  gb
5785
5786        * examples/cocoa-application.lisp: Touch tha application bundle
5787        before saving an image into it.  That -may- convincve
5788        LaunchServices to do the right thing.
5789
57902006-06-16 03:38  gb
5791
5792        * examples/objc-support.lisp: Reload any addon/framework bundles
5793        that had been loaded before the image was saved when starting a
5794        bundled application.
5795       
5796        Juggle things around, so that that works (need to be able to use
5797        low-level bridge features early.)
5798
57992006-06-16 03:36  gb
5800
5801        * lib/db-io.lisp: Disable the #? reader macro.
5802
58032006-06-14 15:42  gb
5804
5805        * level-0/: PPC/ppc-def.lisp, X86/x86-def.lisp: Fix #+APPLY+
5806        lfun-bits.
5807
58082006-06-12 20:24  gb
5809
5810        * lib/ppc-backtrace.lisp: PPC version of
5811        %find-register-argument-value had the same sort of fencepost as the
5812        x86-64 version had a few days ago.
5813
58142006-06-10 23:52  gb
5815
5816        * lib/arglist.lisp: %ARGLIST-INTERNAL: if generic-function, return
5817        its GENERIC-FUNCTION-LAMBDA-LIST.
5818
58192006-06-10 23:51  gb
5820
5821        * level-1/l1-clos.lisp: Give reader/writer method args more
5822        descriptive names. (Barely more descriptive ...)
5823
58242006-06-10 19:25  gb
5825
5826        * level-1/l1-clos-boot.lisp: Arrgh.  In
5827        %MAYBE-STD-SETF-SLOT-VALUE-USING-CLASS, we know nothing about the
5828        type of the instance, so don't use INSTANCE.SLOTS (instead, let
5829        INSTANCE-SLOTS do a TYPECASE; it's inlined at this point.)
5830       
5831        This was keeping non-standard instances - like ObjC classes and
5832        metaclasses - from having some of their slots initialized
5833        correctly.
5834
58352006-06-10 19:22  gb
5836
5837        * examples/objc-clos.lisp: PRINT-OBJECT methods for objc-class,
5838        objc-metaclass: don't die if the class is unnamed (makes it easier
5839        to print classes for debugging during initialization.)
5840
58412006-06-10 13:05  gb
5842
5843        * level-1/ppc-trap-support.lisp: Fix LinuxPPC64 versions of
5844        XP-FPSCR-INFO and XP-DOUBLE-FLOAT.
5845
58462006-06-08 05:01  gb
5847
5848        * release-notes.txt: Update a bit.
5849
58502006-06-08 03:56  gb
5851
5852        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump
5853        image-abi-version.
5854
58552006-06-08 03:46  gb
5856
5857        * xdump/faslenv.lisp: Bump (min) fasl version.
5858
58592006-06-08 03:35  gb
5860
5861        * lib/nfcomp.lisp: Bump (current) fasl-version.
5862
58632006-06-08 03:28  gb
5864
5865        * lisp-kernel/linuxx8664/Makefile: -O2.
5866
58672006-06-08 03:26  gb
5868
5869        * xdump/faslenv.lisp: Bump (max) fasl version.
5870
58712006-06-08 03:18  gb
5872
5873        * level-1/version.lisp: Bump; give x86-64 port the benefit of the
5874        doubt and claim that it's a beta.
5875
58762006-06-08 03:18  gb
5877
5878        * lisp-kernel/darwinppc64/Makefile: Enable -O2.
5879
58802006-06-08 03:17  gb
5881
5882        * lisp-kernel/darwinppc/Makefile: Some commented-out debugging
5883        options; enable -O2.
5884
58852006-06-08 02:55  gb
5886
5887        * lisp-kernel/x86-exceptions.c: thread_signal_setup() moved here.
5888        Handle suspend (and maybe someday resume, again) signals on the
5889        altstack, since we don't really want a signal context in the middle
5890        of the tagged lisp stack ...
5891
58922006-06-08 02:52  gb
5893
5894        * lisp-kernel/thread_manager.c: thread_signal_setup() moved to
5895        PLATFORM-exceptions.c; some constants/prototypes moved to
5896        Threads.h.
5897
58982006-06-08 02:51  gb
5899
5900        * lisp-kernel/ppc-exceptions.c: suspend_resume_handler() installed
5901        via install_signal_handler(); thread_signal_setup() moved here, to
5902        do that installation.
5903
59042006-06-08 02:50  gb
5905
5906        * lisp-kernel/pmcl-kernel.c: Don't enable_fp_exceptions() twice.
5907       
5908        Don't call (or define) prepare_for_the_worst(), which is kind of
5909        too bad ...
5910
59112006-06-08 02:49  gb
5912
5913        * lisp-kernel/Threads.h: suspend/resume constants, prototypes.
5914
59152006-06-08 01:11  gb
5916
5917        * level-1/l1-files.lisp: Back out of ill-advised changed to %LOAD;
5918        let OPTIMIZE proclamations persist beyond the LOAD.
5919
59202006-06-07 21:45  gb
5921
5922        * lisp-kernel/x86-subprims64.s: No nore %tsp/%Rnext_tsp.
5923
59242006-06-07 21:38  gb
5925
5926        * lisp-kernel/x86-spentry64.s: Don't maintain current/next tsp in
5927        MMX regs.  Do maintain them in TCR.
5928
59292006-06-07 21:37  gb
5930
5931        * lisp-kernel/x86-macros.s: Don't maintain %tsp when stack-consing;
5932        update (decrement) tcr.next_tsp atomically, use %stack_temp as a
5933        temporary (old tsp), finish frame by storing into tcr.save_tsp.
5934
59352006-06-07 21:34  gb
5936
5937        * lisp-kernel/x86-exceptions.c: tsp is in the TCR now.
5938
59392006-06-07 21:33  gb
5940
5941        * lisp-kernel/x86-constants64.s: No more %tsp, %Rnext_tsp.  Define
5942        %stack_temp.
5943
59442006-06-07 21:32  gb
5945
5946        * lisp-kernel/x86-constants64.h: No more Itsp, Inext_tsp.
5947
59482006-06-07 21:30  gb
5949
5950        * level-0/X86/x86-def.lisp: %CURRENT-TSP: the tsp is in the TCR
5951        now.
5952
59532006-06-07 21:30  gb
5954
5955        * compiler/X86/X8664/x8664-vinsns.lisp: Don't try to maintain %tsp
5956        (since it no longer exists ...).  Use %stack-temp in some cases.
5957
59582006-06-07 21:29  gb
5959
5960        * compiler/X86/X8664/x8664-arch.lisp: No more %tsp or %next-tsp.
5961        %stack-temp is a symbolic name for an MMX register that can be used
5962        for (e.g.) linking frames on the temp/foreign stacks (or for any
5963        other purpose ...)
5964
59652006-06-07 15:29  gb
5966
5967        * compiler/X86/X8664/x8664-vinsns.lisp: No more %Rforeign_sp.  Keep
5968        tcr.next_tsp in sync with %next_tsp Check to ensure that
5969        %tsp,tcr.save_tsp,and tcr.next_tsp all have the same value when
5970        allocating on the temp stack.  (This will soon change, so that %tsp
5971        and %next_tsp will not be canonical and the tcr fields are, then
5972        will change so that %tsp and %next_tsp will cease to exist.)
5973
59742006-06-07 15:25  gb
5975
5976        * lisp-kernel/x86-subprims64.s: No more %Rforeign_sp.
5977
59782006-06-07 15:25  gb
5979
5980        * lisp-kernel/: x86-macros.s, x86-spentry64.s: Keep tcr.next_tsp in
5981        sync with %Rnext_tsp.  No more %Rforeign_sp, but we can use %mm5 as
5982        a temporary.
5983
59842006-06-07 15:23  gb
5985
5986        * lisp-kernel/x86-exceptions.c: Find the foreign RSP from the TCR;
5987        don't need FP regs for this.  (They're sometimes invalid and
5988        sometimes missing, which is the point of recent changes.)
5989
59902006-06-07 15:21  gb
5991
5992        * lisp-kernel/x86-constants64.s: No foreign_sp.  Rename %next_tsp
5993        to %Rnext_tsp to avoid potential m4 lossage.
5994
59952006-06-07 15:20  gb
5996
5997        * lisp-kernel/x86-constants64.h: No Iforeign_sp.
5998
59992006-06-07 15:20  gb
6000
6001        * lisp-kernel/thread_manager.c: Initialize tcr->next_tsp on X86.
6002
60032006-06-07 15:19  gb
6004
6005        * level-1/version.lisp: Bump.
6006
60072006-06-07 15:19  gb
6008
6009        * level-0/X86/x86-def.lisp: Get foreign-sp from the TCR.
6010
60112006-06-07 15:18  gb
6012
6013        * compiler/X86/X8664/x8664-arch.lisp: More bootstrapping: no more
6014        foreign-sp register (though some code still uses %mm5 as a
6015        temporary, the "canonical" foreign SP is maintained in the TCR.)
6016
60172006-06-07 04:52  gb
6018
6019        * lisp-kernel/x86-macros.s: When making a catch/unwind-protect
6020        frame, get the foreign SP out of the TCR.
6021
60222006-06-07 04:52  gb
6023
6024        * compiler/X86/X8664/x8664-vinsns.lisp,
6025        lisp-kernel/x86-spentry64.s: More bootstrapping: continue to
6026        maintain the foreign sp in both the TCR and the MMX register, but
6027        consider the TCR version to be canonical.
6028
60292006-06-07 02:46  gb
6030
6031        * compiler/X86/X8664/x8664-vinsns.lisp: More bootstrapping: if the
6032        %tsp MMX register doesn't match the value in the tcr, trap.
6033        Likewise for %foreign-sp.
6034
60352006-06-07 01:29  gb
6036
6037        * compiler/X86/X8664/x8664-vinsns.lisp, lisp-kernel/x86-macros.s,
6038        lisp-kernel/x86-spentry64.s: Try to keep tcr.save_tsp in synch with
6039        %tsp, and likewise for %Rforeign_sp/tcr.foreign_sp.
6040       
6041        (The idea is to keep the temp/foreign stack pointers in the tcr and
6042        only use the MMX registers as temporaries, since it seems that
6043        handlers for asynchronous signals can't count on the MMX register
6044        values in the signal context being correct.  This seems to either
6045        be a Linux kernel bug or ill-considered if it's intentional
6046        behavior, but it seems better to work around it this way.)
6047       
6048        This is just an early step in bootstrapping that change; it's being
6049        checked into CVS so that it doesn't get lost (and so that I can
6050        recover to this point if/when I hose things on a later step.)
6051
60522006-06-07 01:24  gb
6053
6054        * compiler/X86/X8664/x8664-arch.lisp: Add a next-tsp slot to the
6055        tcr.
6056
60572006-06-07 01:22  gb
6058
6059        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Add a
6060        next_tsp slot to the tcr.
6061
60622006-06-06 04:25  gb
6063
6064        * lib/ppc-metering.lisp: no hope
6065
60662006-06-06 04:22  gb
6067
6068        * lib/x86-backtrace.lisp: %find-register-argument-value: Current
6069        frame (cfp argument) could be an exception callback frame (xcf-p
6070        may be true of it), in which case the saved register value is in
6071        the xcf.xp context.  (Basically, this means look at the first frame
6072        if it's an xcf, otherwise skip it and start with the child.)
6073
60742006-06-06 01:48  gb
6075
6076        * compiler/X86/x86-lapmacros.lisp,
6077        compiler/X86/X8664/x8664-vinsns.lisp, lisp-kernel/x86-macros.s:
6078        Using imul to box fixnums is smaller and seems to be faster than
6079        using lea with a scale factor.
6080
60812006-06-05 23:56  gb
6082
6083        * lisp-kernel/thread_manager.c: I don't think that
6084        suspend_resume_handler wants to have suspend signals unmasked, does
6085        it ?
6086
60872006-06-05 12:43  gb
6088
6089        * library/chud-metering.lisp: area-readonly is in ccl:: now.
6090
60912006-06-03 03:11  gb
6092
6093        * lisp-kernel/x86-spentry64.s: In _SPnthrowvalues: don't skip the
6094        last catch frame, do skip others (test was backwards.  As it
6095        probably had been in the single-value case at one point.)
6096
60972006-06-02 03:48  gb
6098
6099        * lib/encapsulate.lisp: Don't print trace indent/outdent stuff to
6100        *terminal-io*; do print it to *trace-output*.
6101
61022006-06-01 20:20  gb
6103
6104        * level-0/l0-array.lisp: There's a T in subtag.
6105
61062006-06-01 20:17  gb
6107
6108        * compiler/X86/x862.lisp: X862-MVCALL wasn't handling things like:
6109       
6110        (multiple-value-bind (...)   (multiple-value-call #'foo ...))
6111       
6112        correctly.
6113
61142006-06-01 20:16  gb
6115
6116        * compiler/nx0.lisp: Defvars for global optimization quantities
6117        moved to level-0.
6118
61192006-06-01 20:15  gb
6120
6121        * level-1/l1-files.lisp: Bind the variables which hold global
6122        compiler optimization quantities, since people persist in doing
6123        things like:
6124       
6125        (declaim (optimize
6126        <something-that-they-probably-think-has-local-effects>))
6127       
6128        without bothering to use EVAL-WHEN or otherwise thinking very
6129        clearly.
6130       
6131        Note that this means that anyone who wanted such a declamation to
6132        have persistent global effects is now SOL.  Blame whoever wrote
6133        (for instance) clx/glx.lisp.
6134
61352006-06-01 20:11  gb
6136
6137        * level-0/l0-init.lisp: Move *nx-speed*, etc here, so that they can
6138        be referenced early in the cold load.
6139
61402006-06-01 13:13  gb
6141
6142        * lib/x86-backtrace.lisp: In %FIND-REGISTER-ARGUMENT-VALUE, pass a
6143        pointer to ENCODED-GPR-LISP if we have to get the register value
6144        from an exception frame.
6145
61462006-05-30 19:27  gwking
6147
6148        * tools/asdf.lisp: Updated asdf to the current CVS head (revision
6149        1.98)
6150
61512006-05-30 17:12  gb
6152
6153        * level-1/version.lisp: bump again.
6154
61552006-05-30 16:31  gb
6156
6157        * lisp-kernel/x86-spentry64.s: When unwinding the stack, try to
6158        ensure that tcr.xframe is updated from the catch frame (a) in all
6159        execution paths and (b) before RSP is updated.
6160
61612006-05-30 16:30  gb
6162
6163        * level-0/l0-array.lisp, lib/sequences.lisp: Handle (simple) fixnum
6164        vectors.
6165
61662006-05-30 16:29  gb
6167
6168        * level-1/l1-typesys.lisp: Add a DEFTYPE for fixnum vectors.
6169
61702006-05-30 16:29  gb
6171
6172        * release-notes.txt: Update some more ...
6173
61742006-05-30 16:23  gb
6175
6176        * lib/ccl-export-syms.lisp: There are two 'e's in UNPROCESSED.
6177        Apparently.
6178
61792006-05-30 16:15  gb
6180
6181        * release-notes.txt: updated
6182
61832006-05-30 01:58  gb
6184
6185        * level-1/version.lisp: Bump.
6186
61872006-05-30 01:48  gb
6188
6189        * lisp-kernel/x86-exceptions.c: altstack_interrupt_handler: having
6190        made copies of the signal context and siginfo on the foreign stack,
6191        don't pass the originals to interrupt_handler().
6192       
6193        (altstack_interrupt_handler() looks suspiciously like
6194        altstack_signal_handler(), which probably had the same bug a few
6195        months ago ...)
6196       
6197        Since the alternate signal stack (as we use it) isn't reentrant,
6198        the next signal (perhaps a suspend signal) overwrote the context.
6199        Which is one reason to have made a copy in the first place ...
6200
62012006-05-30 01:43  gb
6202
6203        * level-1/l1-lisp-threads.lisp: In THREAD-ENABLE, use the new
6204        %TIMED-WAIT-ON-SEMAPHORE-PTR; regardless of whether or not a
6205        timeout is a good idea here, make sure that the timeout isn't
6206        fooled by #$EINTR.
6207
62082006-05-30 01:39  gb
6209
6210        * level-1/linux-files.lisp: Rename the old
6211        %TIMED-WAIT-ON-SEMAPHORE-PTR to %PROCESS-WAIT-ON-SEMAPHORE-PTR,
6212        since it basically waits indefinitely.
6213       
6214        Split out the functionality in TIMED-WAIT-ON-SEMAPHORE into a new
6215        %TIMED-WAIT-ON-SEMAPHORE-PTR function, so that it's possible to do
6216        a "timed wait" that handles interruptions, etc. when the caller
6217        just has a "raw" (native) semaphore.
6218       
6219        Change callers, endure warnings.  New binaries soon.
6220
62212006-05-30 01:36  gb
6222
6223        * level-0/l0-misc.lisp: When waiting for a lock, use the new
6224        %PROCESS-WAIT-ON-SEMAPHORE-PTR.
6225
62262006-05-29 22:34  gb
6227
6228        * lisp-kernel/x86-exceptions.c: The
6229        clear_tcr_save_allocptr_tag_instruction opcode array was one byte
6230        too small ...
6231
62322006-05-29 14:03  gb
6233
6234        * level-1/linux-files.lisp: In %OS-GETCWD: don't trust
6235        syscall-based getcwd (it doesn't work as it once did/is documented
6236        to on linuxx8664); use the library function on all platforms.
6237
62382006-05-29 14:02  gb
6239
6240        * lisp-kernel/x86-exceptions.c: Clear interrupt_pending flag before
6241        processing interrupt.
6242
62432006-05-28 17:01  gb
6244
6245        * lisp-kernel/ppc-exceptions.c: If we handle a
6246        SIGNAL_FOR_PROCESS_INTERRUPT trap, clear tcr->interrupt_pending.
6247       
6248        Back out of the hack that tried to work around a Darwin bug (FP
6249        exception flags were cleared in the MSR after a thread had been
6250        interrupted via pthread_kill()), since the fix seems not to be
6251        GC-safe.
6252       
6253        Add some debugging code to print when the exception lock is
6254        acquired/released.
6255
62562006-05-28 01:10  gb
6257
6258        * level-1/solaris-files.lisp: long gone
6259
62602006-05-23 20:25  gb
6261
6262        * compiler/: PPC/ppc2.lisp, X86/x862.lisp: D'oh!
6263
62642006-05-22 22:59  gb
6265
6266        * darwin-headers/addressbook/: C/populate.sh, .cvsignore,
6267        C/.cvsignore: New file.
6268
62692006-05-22 22:57  gb
6270
6271        * level-1/l1-processes.lisp: PROCESS-SUSPEND: don't allow current
6272        thread to suspend itself.
6273
62742006-05-22 22:57  gb
6275
6276        * compiler/PPC/PPC64/ppc64-vinsns.lisp: Use the SP red zone to load
6277        SINGLE-FLOAT constants.
6278       
6279        SINGLE-FLOAT foreign args are stored in the low 32 bits of each
6280        64-bit arg word, regardless of whether they're also passed in
6281        f1-f13 as well.
6282
62832006-05-22 22:55  gb
6284
6285        * compiler/PPC/PPC64/ppc64-backend.lisp: Callback fixes:
6286        SINGLE-FLOATs passed in memory are passed in the low 32 bits of the
6287        64-bit word.
6288
62892006-05-22 22:54  gb
6290
6291        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Use the red zone (on SP)
6292        for LOAD-SINGLE-FLOAT-CONSTANT, LOAD-DOUBLE-FLOAT-CONSTANT.
6293
62942006-05-22 22:53  gb
6295
6296        * compiler/PPC/PPC32/ppc32-backend.lisp: "poweropen ABI" (Darwin)
6297        callback fixes: SINGLE-FLOATs passed in memory are passed as ...
6298        SINGLE-FLOATs, so don't use %GET-SINGLE-FLOAT-FROM-DOUBLE-PTR to
6299        access them.
6300
63012006-05-22 03:53  gb
6302
6303        * level-1/version.lisp: Bump.
6304
63052006-05-22 03:32  gb
6306
6307        * compiler/X86/X8664/x8664-vinsns.lisp: fixnum->float vinsns.
6308
63092006-05-22 03:31  gb
6310
6311        * compiler/X86/x862.lisp: Numeric contagion on binops,
6312        fixnum->float.
6313
63142006-05-22 03:29  gb
6315
6316        * compiler/PPC/ppc2.lisp: Do stupid self-tail-call tricks on PPC as
6317        well.
6318
63192006-05-22 03:28  gb
6320
6321        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Load tcr.cs-limit a little
6322        earlier when creating a stack frame inline.  Doesn't seem to affect
6323        latency much.
6324
63252006-05-22 03:27  gb
6326
6327        * compiler/X86/x862.lisp: Comment formatting on the first line of
6328        the file.
6329
63302006-05-22 03:26  gb
6331
6332        * compiler/nx0.lisp: Check argument counts on self-calls.  (AFAIK,
6333        this hasn't been done for at least 20 years in MCL/OpenMCL ...)
6334
63352006-05-21 07:34  gb
6336
6337        * compiler/X86/x862.lisp: Long-standing X862-COPY-REGISTER bug.
6338
63392006-05-21 07:32  gb
6340
6341        * compiler/PPC/ppc2.lisp: Implement (late) div2; use (simple)
6342        numeric-contagion stuff for arithmetic ops.
6343
63442006-05-21 07:31  gb
6345
6346        * compiler/nx1.lisp: Use div2 for /-2.
6347
63482006-05-21 07:31  gb
6349
6350        * compiler/nx0.lisp: Binop numeric contagion.
6351
63522006-05-21 06:49  gb
6353
6354        * compiler/nx0.lisp: ACODE-REAL-CONSTANT-P.
6355
63562006-05-21 06:49  gb
6357
6358        * compiler/PPC/ppc2.lisp: Weird case in ppc2-copy-register wasn't
6359        weird, just wrong.
6360
63612006-05-21 06:17  gb
6362
6363        * level-0/l0-pred.lisp: PPC64: %typep recognizes
6364        SIMPLE-FIXNUM-VECTORs.
6365
63662006-05-21 06:16  gb
6367
6368        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6369        Fixnum vector stuff.  FIXNUM->FPR uses SP red zone.
6370
63712006-05-21 06:16  gb
6372
6373        * compiler/PPC/PPC32/ppc32-arch.lisp,
6374        compiler/PPC/PPC64/ppc64-arch.lisp, lisp-kernel/ppc-constants64.h,
6375        lisp-kernel/ppc-constants64.s, lisp-kernel/ppc-spentry.s: Fixnum
6376        vector stuff.
6377
63782006-05-21 06:15  gb
6379
6380        * compiler/PPC/ppc2.lisp: %fixnum-to-single, %fixnum-to-double.
6381       
6382        Fixnum vector vref/vset.
6383
63842006-05-21 06:15  gb
6385
6386        * compiler/: nx1.lisp, nxenv.lisp: %fixnum-to-single,
6387        %fixnum-to-double.
6388
63892006-05-21 06:14  gb
6390
6391        * compiler/nx0.lisp: More operator result types.
6392
63932006-05-21 04:35  gb
6394
6395        * level-0/l0-array.lisp, level-0/l0-pred.lisp,
6396        level-1/l1-aprims.lisp, level-1/l1-clos-boot.lisp: Integrate
6397        specialized FIXNUM array-element-type into type system, CLOS.
6398        (Knock wood.)
6399
64002006-05-21 04:34  gb
6401
6402        * lisp-kernel/x86-spentry64.s: Support for (out-of-line)
6403        fixnum-vector access (.SPmisc_ref, .SPmisc_set).
6404
64052006-05-21 04:33  gb
6406
6407        * compiler/X86/X8664/x8664-arch.lisp,
6408        lisp-kernel/x86-constants64.h, lisp-kernel/x86-constants64.s: New
6409        subtag for :fixnum-vector.
6410
64112006-05-21 04:32  gb
6412
6413        * compiler/X86/x862.lisp: 64-bit vset wasn't handling non-constant
6414        indices correctly.
6415       
6416        64-bit vset, vref: handle :FIXNUM-VECTOR.
6417
64182006-05-21 00:22  gb
6419
6420        * level-0/l0-aprims.lisp: Spell istruct-typep correctly.
6421
64222006-05-20 18:13  gb
6423
6424        * compiler/X86/x862.lisp: Do some self-tail calls (fixed args, no
6425        stack args) without restoring/re-saving NVRs.
6426
64272006-05-19 15:07  gb
6428
6429        * level-1/linux-files.lisp: RUN-PROGRAM: waiting for the child's
6430        completion semaphore (when :WAIT is true) happens inside an
6431        UNWIND-PROTECT cleanup and therefore needs to explicitly allow
6432        interrupts.
6433
64342006-05-19 15:06  gb
6435
6436        * level-0/l0-aprims.lisp: Add SEMAPHOREP, make it a type-predicate
6437        for SEMAPHORE.
6438
64392006-05-19 12:23  gwking
6440
6441        * lib/misc.lisp: Added help and redisplay to select-item-from-list.
6442        Also changed it so that it displays all items before trying to get
6443        an answer.
6444
64452006-05-19 12:00  gwking
6446
6447        * .cvsignore: The *fsl wasn't cutting it for me..., take two
6448
64492006-05-19 11:57  gwking
6450
6451        * .cvsignore: The *fsl wasn't cutting it for me...
6452
64532006-05-19 11:50  gb
6454
6455        * level-1/version.lisp: Bump.
6456
64572006-05-19 11:49  gb
6458
6459        * level-1/l1-streams.lisp: Change the EVAL-WHEN that requires
6460        syscall definitions so that it can be moused on.
6461
64622006-05-19 11:48  gb
6463
6464        * compiler/X86/X8664/: x8664-arch.lisp, x8664-vinsns.lisp:
6465        .SPeabi-syscall -> .SPsyscall.
6466
64672006-05-19 11:45  gb
6468
6469        * compiler/X86/x862.lisp: Inline ADD2, unless we know that at least
6470        one arg couldn't be a fixnum.  (Should do the same for SUB2.) This
6471        does indeed burn cache lines, but going out of line isn't cheap
6472        either.  (100 million iterations of (+ x (+ y z)) - where X Y and Z
6473        are in fact fixnums and no overflow is involved - seems to be about
6474        2X faster when inlined this way.  Not sure if that'll be the case
6475        on PPC.)
6476
64772006-05-19 11:40  gb
6478
6479        * compiler/nx0.lisp: Use NX-TARGET-TYPE in some of the acode-type
6480        stuff.
6481
64822006-05-18 14:47  gb
6483
6484        * lisp-kernel/ppc-spentry.s: When unwinding the stack (hopefully,
6485        in all places that do so ...), update tcr.xframe from
6486        catch_frame.xframe on all execution paths (in particular, do so
6487        before SP is restored from the catch_frame, since a tcr.xframe
6488        "beyond" SP is clearly bogus.)
6489
64902006-05-18 02:34  gb
6491
6492        * level-1/version.lisp: Bump.
6493
64942006-05-17 23:12  gb
6495
6496        * compiler/PPC/ppc2.lisp: "late" acode-type stuff (add2/sub2/mul2)
6497        for PPC, too.
6498
64992006-05-17 22:53  gb
6500
6501        * level-0/X86/x86-float.lisp: %FP-ERROR-FROM-STATUS: don't cons an
6502        &REST arg.  Should do a quicker test (logandc2 and a shift) to see
6503        if any unmasked exceptions were raised before even calling this ...
6504
65052006-05-17 22:51  gb
6506
6507        * compiler/X86/X8664/x8664-vinsns.lisp: If we have to spill
6508        SINGLE-FLOAT registers, spill them (boxed) on the vstack.
6509
65102006-05-17 22:50  gb
6511
6512        * compiler/X86/x862.lisp: Work harder to find acode types in some
6513        cases.
6514
65152006-05-17 22:50  gb
6516
6517        * compiler/X86/x86-disassemble.lisp: Handle (new-style) byte
6518        registers in OP-REG.
6519       
6520        Don't want to use RET very often if at all, but disassembler should
6521        treat as as a :JUMP.
6522
65232006-05-17 22:48  gb
6524
6525        * compiler/nxenv.lisp: MUL2, DIV2.
6526
65272006-05-17 22:48  gb
6528
6529        * compiler/: nx0.lisp, nx1.lisp: A little of that there
6530        type-inferencing (or, more accurately, paying a little more
6531        attention here and there.)
6532
65332006-05-12 20:40  gwking
6534
6535        * examples/addressbook.lisp: added examples/addressbook.lisp
6536
65372006-05-11 18:42  gb
6538
6539        * level-1/l1-application.lisp: Stop processing command-line
6540        arguments when "--" is encountered; anything after that "--" is
6541        retained in CCL:*UNPROCESSED-COMMAND-LINE-ARGUMENTS*.
6542
65432006-05-11 18:42  gb
6544
6545        * lib/ccl-export-syms.lisp: Export command-line stuff
6546
65472006-05-11 18:40  gb
6548
6549        * level-1/l1-processes.lisp: Lennart Staflin's fix to PRINT-OBJECT
6550        method for LOCKs.
6551
65522006-05-11 18:39  gb
6553
6554        * level-1/l1-files.lisp: In %DIFECTORY-LIST-NAMESTRING: all strings
6555        are base-strings (and always have been in OpenMCL.)
6556
65572006-05-11 18:37  gb
6558
6559        * level-1/l1-sockets.lisp: CCL:BASE-CHARACTER -> CL:BASE-CHAR.
6560
65612006-05-11 08:11  gwking
6562
6563        * lib/db-io.lisp: Added a check that the directory exists to
6564        fid-open-output in order to make it clearer what is wrong when one
6565        is unable to rebuild interface files because they are trying to do
6566        so in a place without FFI files to read!
6567
65682006-05-11 05:14  gb
6569
6570        * level-1/version.lisp, lisp-kernel/image.h, xdump/heap-image.lisp:
6571        Bump lisp-implementation-version, image-abi-version.
6572
65732006-05-11 05:04  gb
6574
6575        * xdump/faslenv.lisp: Bump (min) fasl version.
6576
65772006-05-11 04:52  gb
6578
6579        * lib/nfcomp.lisp: Bump (current) FASL version.
6580
65812006-05-11 04:52  gb
6582
6583        * level-1/l1-files.lisp: FASL-FILE-P looks for inital #xFF00
6584        (big-endian) instead of just #xff, to avoid UTF-16 BOM confusion.
6585
65862006-05-11 04:35  gb
6587
6588        * xdump/faslenv.lisp: Bump (max) fasl version.
6589
65902006-05-11 04:32  gb
6591
6592        * compiler/X86/X8664/x8664-backend.lisp: Little-endianness is a
6593        target-specific feature.
6594
65952006-05-11 03:35  gb
6596
6597        * compiler/PPC/PPC32/ppc32-arch.lisp,
6598        compiler/PPC/PPC32/ppc32-vinsns.lisp, level-0/l0-array.lisp,
6599        level-0/l0-pred.lisp, level-0/PPC/ppc-array.lisp,
6600        level-1/l1-aprims.lisp, level-1/l1-clos-boot.lisp,
6601        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
6602        lisp-kernel/ppc-spentry.s, xdump/xppcfasload.lisp: Juggle PPC32
6603        typecodes around: get rid of the (unused) old 16-bit string; add an
6604        (as yet unused) UCS-4 string type.
6605       
6606        These changes generally involve cross-compilation (or some very
6607        tricky bootstrapping that I didn't attempt)  FASL versions and
6608        kernel ABI versions will need to change, and new binaries will be
6609        made available soon.
6610
66112006-05-10 20:20  gb
6612
6613        * compiler/PPC/ppc-lapmacros.lisp,
6614        compiler/PPC/PPC32/ppc32-arch.lisp,
6615        compiler/PPC/PPC32/ppc32-vinsns.lisp,
6616        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s:
6617        Change CHARCODE-SHIFT constant on PPC32, so that the (currently
6618        8-bit) character code is stored in the #x0000xx00 byte of a
6619        CHARACTER, rather than in the #x00xx0000 byte,  This is hard to
6620        bootstrap natively (which is why I was trying to make ppc64->ppc32
6621        cross-compilation work.)
6622       
6623        Change related macros/visnsns as well.
6624
66252006-05-10 19:00  gb
6626
6627        * xdump/xppcfasload.lisp: Reintroduce a TARGET-ARCH-CASE, but I
6628        think that this is just hard to do right the way that it's being
6629        done.
6630
66312006-05-10 18:59  gb
6632
6633        * level-1/ppc-threads-utils.lisp: BOGUS-THING-P is hard to do right
6634        when cross-compiling (because word-size differences aren't handled
6635        correctly by macros.)  Until the macros are fixed, don't even try
6636        ...
6637
66382006-05-10 18:58  gb
6639
6640        * level-1/l1-clos-boot.lisp: In NEW-CLASS-WRAPPER-HASH-INDEX, user
6641        target::target-most-positive-fixnum (not the host's
6642        MOST-POSITIVE-FIXNUM).
6643
66442006-05-10 18:57  gb
6645
6646        * compiler/: nx0.lisp, nx1.lisp: Use NX-TARGET-TYPE in at least a
6647        few places.
6648
66492006-05-10 18:56  gb
6650
6651        * compiler/nx.lisp: XCOMPILE-LAMBDA binds *TARGET-BACKEND*.
6652
66532006-05-10 18:55  gb
6654
6655        * compiler/nx-basic.lisp: NX-TARGET-TYPE: there may be other
6656        differences between host and target types, but try to turn
6657        references to FIXNUM to the appropriate target-specific type.
6658
66592006-05-09 21:01  gb
6660
6661        * compiler/PPC/PPC32/ppc32-vinsns.lisp: UNBOX-BASE-CHAR just checks
6662        that the lowbyte is SUBTAG-CHARACTER; it used to rotate things
6663        around to check the high bits of the char code, but all chars have
6664        been base-chars for several years now ...
6665       
6666        UNBOX-CHARACTER was unused.
6667       
6668        (This is the first step of what may be several bootstrapping steps
6669        to change PPC32::CHARCODE-SHIFT from 16 to 8, so that we have 24
6670        easily-accessed char-code bits on PPC32.)
6671
66722006-05-09 11:48  gb
6673
6674        * lisp-kernel/xlbt.c: No psn in cs_area.
6675
66762006-05-09 02:42  gb
6677
6678        * lisp-kernel/: gc.h, ppc-gc.c: Back out of the extra Boolean arg
6679        to mark_simple_area_range().
6680
66812006-05-09 02:33  gb
6682
6683        * compiler/PPC/: PPC32/ppc32-backend.lisp,
6684        PPC64/ppc64-backend.lisp: Endianness is also target-specific.
6685
66862006-05-09 02:25  gb
6687
6688        * lisp-kernel/thread_manager.c: Thread stack areas are "owned by"
6689        the containing TCR, to make low-level debugging a bit easier.
6690
66912006-05-09 02:25  gb
6692
6693        * lisp-kernel/ppc-gc.c: Mostly some added consistency/sanity checks
6694        and debugging printfs.
6695
66962006-05-09 02:24  gb
6697
6698        * lisp-kernel/ppc-exceptions.h: Note that pc_luser_xp() needs an
6699        extra (signed_natural *) arg, for allocptr displacement.
6700
67012006-05-09 02:23  gb
6702
6703        * lisp-kernel/ppc-exceptions.c: Lots of #ifdef DEBUG fprintfs.
6704       
6705        Change the way that pc_luser_xp() and normalize_tcr() handle alloc
6706        regs/ saved TCR fields.  The general idea is that the after they
6707        run, all threads have tcr->save_allocptr/tcr_save_allocbase set to
6708        VOID_ALLOCPTR; if the thread was interrupted in lisp code, the
6709        allocbase register will be set to VOID_ALLOCPTR and allocptr will
6710        be set to either VOID_ALLOCPTR or to VOID_ALLOCPTR-disp.
6711       
6712        On an interrupt, the caller needs to pass in a signed_natural * to
6713        pick up the allocptr displacement (if consing was interrupted at
6714        the alloc trap); the interrupt handler uses this value to fix up
6715        alloptr when it returns if consing was interrupted.
6716       
6717        This is all pretty clearly right, but something still goes wrong
6718        under some combination of high thread stress, frequent allocation,
6719        and blocking ff-calls.
6720
67212006-05-09 02:17  gb
6722
6723        * lisp-kernel/plbt.c: No psn currently available.
6724
67252006-05-09 02:16  gb
6726
6727        * lisp-kernel/lisp-debug.c: Bug() passes xp to lisp_Debugger(),
6728        where it may come in handy ...
6729
67302006-05-09 02:16  gb
6731
6732        * lisp-kernel/gc.h: mark_simple_area_range() takes an added Boolean
6733        arg.
6734
67352006-05-09 02:13  gb
6736
6737        * lisp-kernel/area.h: area struct's owner is a (TCR *).
6738
67392006-05-09 02:12  gb
6740
6741        * level-1/l1-error-system.lisp: $xfunbnd was used after all.
6742        Restore it.
6743
67442006-05-09 02:12  gb
6745
6746        * level-0/l0-error.lisp, library/lispequ.lisp,
6747        lisp-kernel/errors.s: $xfunbnd was used after all.  Restore it, and
6748        recycle $XNOCDR.
6749
67502006-05-09 02:11  gb
6751
6752        * compiler/PPC/PPC64/ppc64-backend.lisp: :64-bit-target is ...
6753        target-specific.
6754
67552006-05-09 02:11  gb
6756
6757        * compiler/PPC/PPC32/ppc32-backend.lisp: :32-bit-target is ...
6758        target-specific.
6759
67602006-05-09 00:40  gb
6761
6762        * level-1/l1-lisp-threads.lisp: Foreign thread callback stuff moved
6763        here.
6764
67652006-05-09 00:39  gb
6766
6767        * level-1/x86-threads-utils.lisp: Support for BOGUS-THING-P on
6768        x8664.
6769
67702006-05-09 00:39  gb
6771
6772        * level-1/ppc-threads-utils.lisp: Move foreign-thread callback
6773        stuff up to l1-lisp-threads.lisp.
6774
67752006-05-08 22:58  gb
6776
6777        * lisp-kernel/ppc-spentry.s: misc_ref/misc_set jump tables on PPC64
6778        handle array and vector headers.
6779
67802006-05-08 22:57  gb
6781
6782        * library/lispequ.lisp: Synch errors $xbadvec, $xsetbadvec (neither
6783        of which should ever happen) with the kernel.
6784
67852006-05-08 22:56  gb
6786
6787        * level-1/l1-processes.lisp: %PROCESS-PRESET-INTERNAL doesn't need
6788        the TCR either.
6789
67902006-05-08 22:55  gb
6791
6792        * level-1/l1-error-system.lisp: $XFUNBND is no more.
6793
67942006-05-08 22:55  gb
6795
6796        * level-0/l0-error.lisp: Define the format strings for $xbadvec,
6797        $xsetbadvec.
6798
67992006-05-08 03:26  gb
6800
6801        * lisp-kernel/x86-spentry64.s: .SPstkconslist_star: ensure that
6802        flags are set to the result of decrementing %nargs at the end of
6803        the loop.
6804
68052006-05-08 03:25  gb
6806
6807        * level-1/x86-error-signal.lisp: uuo-error-udf: %err-disp-internal
6808        wants a list of condition args, not a single arg.
6809
68102006-05-08 03:24  gb
6811
6812        * level-1/l1-processes.lisp: %PROCESS-PRESET-INTERNAL doesn't need
6813        CS-AREA.
6814
68152006-05-08 03:23  gb
6816
6817        * level-0/X86/x86-symbol.lisp: %FUNCTION: signal error via
6818        uuo_error_udf, not as a type error.
6819
68202006-05-07 16:50  gb
6821
6822        * lib/describe.lisp: INSPECTOR objects haven't had FORWARDED-P
6823        slots in a long time (they probably haven't -needed- them in even
6824        longer; I think that this had to do with the old partial MOP.)
6825        Don't define the slot for FUNCTION-INSPECTOR, and don't call the
6826        accessor in STANDARD-OBJECT-SETF-LINE-N.
6827
68282006-05-07 04:39  gb
6829
6830        * x86-headers64/gtk2/: .cvsignore, C/.cvsignore, C/populate.sh: New
6831        file.
6832
68332006-05-07 04:34  gb
6834
6835        * lisp-kernel/: area.h, lisp_globals.h, memory.c, pmcl-kernel.c,
6836        thread_manager.c: Combine the AREA_LOCK and TCR_LOCK into a single
6837        lock (TCR_AREA_LOCK).  (This makes it a little harder to deadlock
6838        if code that wants both locks isn't careful to try to obtain them
6839        in some canonical order.)
6840
68412006-05-07 04:29  gb
6842
6843        * lib/x86-backtrace.lisp: Finally find those pesky registers.
6844
68452006-05-07 04:29  gb
6846
6847        * level-1/x86-threads-utils.lisp: Stub BOGUS-THING-P moves here.
6848
68492006-05-07 04:28  gb
6850
6851        * level-0/l0-cfm-support.lisp: FOREIGN-SYMBOL-ENTRY: return NIL if
6852        xFindSymbol/dlsym returns 0 on x8664.
6853
68542006-05-07 04:27  gb
6855
6856        * compiler/X86/: x86-lapmacros.lisp, X8664/x8664-vinsns.lisp: Use
6857        PSRLQ/PSLLQ for single-float boxing/unboxing.  (A few months ago,
6858        I'd mistakenly decided that it was faster to go through memory than
6859        to use these instructions.  It seems to actually be substantially
6860        slower, as one would expect.)
6861
68622006-05-07 04:25  gb
6863
6864        * compiler/X86/x86-asm.lisp: Add support for
6865        PSRLQ/PSRLDQ/PSLLQ/PSLLDQ (sse2 shifts.)
6866
68672006-05-07 04:21  gb
6868
6869        * library/hash-cons.lisp: Fix doc in comments.
6870
68712006-05-07 04:21  gb
6872
6873        * lib/ppc-backtrace.lisp: GET/SET-REGISTER-VALUE.
6874
68752006-05-07 04:20  gb
6876
6877        * lib/format.lisp: YES-OR-NO-P: bell goes to *QUERY-IO*.
6878
68792006-05-07 04:19  gb
6880
6881        * lib/backtrace-lds.lisp: Move GET/SET-REGISTER-VALUE to
6882        TARGET-backtrace.lisp.
6883
68842006-05-07 04:18  gb
6885
6886        * level-1/l1-lisp-threads.lisp: Move (implementation-dependent)
6887        BOGUS-THING-P to TARGET-thread-utils.lisp.
6888
68892006-05-07 04:17  gb
6890
6891        * level-1/ppc-threads-utils.lisp: Move (implementation-dependent)
6892        BOGUS-THING-P support here.
6893
68942006-05-07 04:16  gb
6895
6896        * level-1/l1-processes.lisp: Don't set "owner" field of tcr.cs_area
6897        to psn.
6898
68992006-05-06 15:27  gb
6900
6901        * compiler/nx1.lisp: Ash left by constant: prefer the fixnum case
6902        to the "natural" case.
6903
69042006-05-06 15:26  gb
6905
6906        * compiler/X86/x862.lisp: Pass the right number of args to
6907        NATURAL-SHIFT-LEFT and NATURAL-SHIFT-RIGHT.
6908
69092006-05-06 15:26  gb
6910
6911        * compiler/X86/X8664/x8664-vinsns.lisp: Indentation.
6912
69132006-05-06 02:09  gb
6914
6915        * lisp-kernel/thread_manager.c: Let's see: if thread X holds local
6916        A and tries to obtain lock B, and thread Y holds lock B and tries
6917        to obtain lock A, what is that a classic case of ?
6918       
6919        Try to avoid that classic deadlock case in shutdown_thread_tcr()
6920        when HAVE_TLS is in effect.  suspend_other_threads wants to hold
6921        two locks at the same time, and that's always a bit dangerous; it
6922        might be safer to merge TCR_LOCK and AREA_LOCK into a single lock
6923        that must be owned in order to manipulate either the tcr or area
6924        queues.
6925
69262006-05-06 02:04  gb
6927
6928        * level-1/linux-files.lisp: Make (%REALPATH "") behave like
6929        %REALPATH of the current directory namestring, as it does by
6930        default on some platforms (but not Linux.)
6931
69322006-05-05 20:08  gb
6933
6934        * compiler/X86/x862.lisp: x862-ff-call: really implement the
6935        simple-foreign-args stuff.  Box u64/s64, or don't ... but don't do
6936        the el-bizarro <- with a (temp) node target.
6937
69382006-05-05 20:06  gb
6939
6940        * lib/x86-backtrace.lisp: Get PC-FROM-XCF right (it needs to be
6941        relative to the tagged entrypoint, not to the start of the
6942        underlying function-vector.)
6943
69442006-05-05 13:24  gb
6945
6946        * lisp-kernel/x86-spentry64.s: Preserve NEXT-METHOD-CONTEXT when
6947        heap-consing an &REST arg.  (%allocptr and %next-method-context are
6948        the same register, so &rest clobbbers %next-method-context.)
6949       
6950        Could make separate entry points, so that this is only done when
6951        %next-method-context needs to be preserved ...
6952
69532006-05-05 13:21  gb
6954
6955        * level-0/X86/x86-def.lisp: Use RESERVED-FRAME-MARKER.
6956
69572006-05-05 02:23  gb
6958
6959        * freebsd-headers64/libc/C/populate.sh: New file.  Needs some work.
6960
69612006-05-05 02:23  gb
6962
6963        * freebsd-headers64/libc/: .cvsignore, C/.cvsignore: New file.
6964
69652006-05-05 01:37  gb
6966
6967        * level-1/version.lisp: Bump du jour.
6968
69692006-05-05 01:36  gb
6970
6971        * level-0/X86/x86-def.lisp: %FF-CALL: maintain the distinction
6972        between the first 6 words of the outgoing frame (from which GPRs
6973        will be loaded) and other words (which stay on the stack); after
6974        the first 8 FP args, floats have to be passed on the stack, even if
6975        there's still room in the first 6 words of the outgoing frame.
6976       
6977        Need to understand the struct-by-value rules better: can a struct
6978        be passed partly in registers and partly on the stack ? RTFM (or,
6979        in this case, TF ABI spec.)
6980
69812006-05-05 01:31  gb
6982
6983        * compiler/X86/x862.lisp: In X862-FF-CALL:  - the general integer
6984        case should store relative to "other-offset" (rather than   
6985        "gpr-offset") when more than 6 (not 8) GPR args have been passed. 
6986        - both the single and double-float cases were incrementing
6987        "other-offset"     twice when more than 8 FP args were involved.
6988        This had the effect of     storing floats into every other word and
6989        writing beyond the bounds of     the outgoing stack frame, possibly
6990        overwriting return addresses on the     foreign stack.
6991
69922006-05-04 23:12  gb
6993
6994        * level-1/l1-streams.lisp: James Bielman's fix to
6995        READ-TOPLEVEL-FORM (INPUT-STREAM) (EOF handling/peek-char.)
6996
69972006-05-04 18:30  gb
6998
6999        * compiler/X86/X8664/x8664-backend.lisp: When binding FP args,
7000        decrement FPR-ARG-OFFSET by 8, not -8.
7001       
7002        (This could cause values outside of the stack frame to be read, but
7003        I still haven't found what's writing beyond the frame bounds.)
7004
70052006-05-04 18:27  gb
7006
7007        * lib/x86-backtrace.lisp: If its argument is an exception callback
7008        frame, %CFP-LFUN tries to determine the relative PC associated with
7009        the frame's nominal function and return that as a second value
7010        (just as it does for a real frame.)
7011       
7012        I think that this should work a high percentage of the time, but
7013        callers should generally be prepared to deal with a NULL second
7014        return value from %CFP-LFUN.
7015
70162006-05-04 11:12  gb
7017
7018        * compiler/X86/X8664/x8664-backend.lisp: More callback issues:
7019        since we're using the same stack pointer to return values as we are
7020        to find arguments, don't try to "optimize" its initialization.
7021
70222006-05-03 18:52  gb
7023
7024        * compiler/X86/X8664/x8664-backend.lisp: Clean  up x8664 callbacks
7025        a little.  Don't coerce single float results to double; bind
7026        stack-ptr variable even if no args (might be a return value form
7027        that references it.) Failure to do the latter was creating a weird
7028        free variable reference that wasn't handled by the fasloader.
7029
70302006-05-03 18:50  gb
7031
7032        * level-0/nfasload.lisp: $fasl-vmksym-special wasn't implemented.
7033
70342006-05-03 18:49  gb
7035
7036        * lib/nfcomp.lisp: Indent a comment.
7037
70382006-05-03 18:16  gb
7039
7040        * compiler/X86/x862.lisp, level-0/X86/x86-def.lisp: In an %FF-CALL
7041        that might involve a variable-length arglist (at this level,
7042        always), set %rax to the number (0-8) of FP arguments passed in xmm
7043        registers.
7044
70452006-05-03 13:26  gb
7046
7047        * lisp-kernel/x86-exceptions.c: In find_foreign_rsp(), mask with
7048        ~15, not ~!5.  (This was causing segfaults on return from
7049        interrupts sometimes.)
7050
70512006-05-03 13:24  gb
7052
7053        * lib/backtrace.lisp: CLOSURE-CLOSED-OVER-VALUES, which is needed
7054        by SWANK/SLIME.
7055
70562006-05-03 13:23  gb
7057
7058        * lib/backtrace-lds.lisp: FRAME-SUPPLIED-ARGS, hopefully in a form
7059        that'll work on all platforms.  (Note that FRAME-SUPPLIED-ARGS
7060        seems to get many things wrong.)
7061
70622006-05-03 11:37  gb
7063
7064        * level-1/version.lisp: You mist have yesterday's version.
7065
70662006-05-03 11:37  gb
7067
7068        * level-0/X86/x86-def.lisp: Implement #'%FF-CALL.  Not too much
7069        LAP.
7070
70712006-05-03 11:36  gb
7072
7073        * level-0/l0-init.lisp: Put :X86-64 and :AMD64 on *FEATURES* if
7074        #+x8664-target.
7075
70762006-05-03 11:36  gb
7077
7078        * compiler/X86/X8664/x8664-vinsns.lisp: Bad typo in UNBOX-S64, and
7079        it can just check for a 2-digit bignum header if it has something
7080        of tag TAG-MISC.
7081
70822006-05-03 11:34  gb
7083
7084        * compiler/X86/x862.lisp: X862-COPY-REGISTER: handle :S64
7085        destinations.
7086
70872006-05-03 11:33  gb
7088
7089        * compiler/X86/x86-disassemble.lisp: Recognize
7090        uuo-error-eep-unresolved.
7091
70922006-05-02 18:07  gb
7093
7094        * level-1/version.lisp: Bump.
7095
70962006-05-02 18:07  gb
7097
7098        * lib/: backtrace-lds.lisp, describe.lisp: Comment out stuff that's
7099        (mostly ?) unused and currently PPC-specific, if it works at all
7100        ...
7101
71022006-05-02 10:27  gb
7103
7104        * level-1/l1-streams.lisp: Don't definea STREAM-CLEAR-INPUT method
7105        for STRING-INPUT-STREAMs; it's not clear what such a method should
7106        do (and fairly clear that it shouldn't do what the previous
7107        definition was doing.)
7108
71092006-05-02 10:26  gb
7110
7111        * lib/format.lisp: clear input from *query-io*, not from
7112        *terminal-io* in YES-OR-NO-P, Y-OR-N-P
7113
71142006-05-02 10:26  gb
7115
7116        * library/hash-cons.lisp: x8664 lap
7117
71182006-05-02 10:26  gb
7119
7120        * lisp-kernel/x86-gc.c: hons area stuff
7121
71222006-04-29 09:14  gb
7123
7124        * lisp-kernel/x86-exceptions.c: Write-protect handlers for stack
7125        overflow (on value/temp stacks).
7126
71272006-04-29 09:13  gb
7128
7129        * level-1/x86-trap-support.lisp: Handle stack overflow in cmain
7130        callback.
7131
71322006-04-29 09:10  gb
7133
7134        * lisp-kernel/freebsd8664/Makefile: x86-gc.o.
7135       
7136        No linker script.
7137       
7138        Use -lthr, which offers 1:1 threads.
7139
71402006-04-29 09:09  gb
7141
7142        * lisp-kernel/lisptypes.h: Remove the __sighandler typedef.
7143
71442006-04-29 09:01  gb
7145
7146        * lisp-kernel/x86-exceptions.h: xpMMXreg for FreeBSD.
7147
71482006-04-29 09:00  gb
7149
7150        * lisp-kernel/x86-exceptions.c: Don't use __sighandler_t.  (See if
7151        anything cares ...)
7152
71532006-04-29 08:59  gb
7154
7155        * lisp-kernel/x86-constants64.h: FreeBSD register constants.
7156
71572006-04-29 08:58  gb
7158
7159        * lisp-kernel/lisp-debug.c: FreeBSD regiser names.
7160
71612006-04-29 08:58  gb
7162
7163        * lisp-kernel/area.h: Update IMAGE_BASE_ADDRESS for FreeBSD.
7164
71652006-04-28 21:28  gb
7166
7167        * level-1/version.lisp: bump.
7168
71692006-04-28 21:27  gb
7170
7171        * lib/backtrace.lisp: changes to print-call-history (and "internal"
7172        version).
7173
71742006-04-28 21:24  gb
7175
7176        * lib/ppc-backtrace.lisp: Fix typo.
7177
71782006-04-28 21:23  gb
7179
7180        * level-1/l1-readloop-lds.lisp: Add :NFRAMES break loop command.
7181       
7182        Change the command/keyword parser a little, so that :FOO is just
7183        :FOO and not (:FOO).
7184       
7185        Change :B break loop command (and :F) to allow focusing on a range
7186        of frames, and change PRINT-CALL-HISTORY to more easily support
7187        that.
7188
71892006-04-28 19:37  gb
7190
7191        * level-0/PPC/ppc-numbers.lisp: Remove a quote from a LAP
7192        LOAD-CONSTANT form.
7193
71942006-04-28 19:34  gb
7195
7196        * lib/: backtrace.lisp, ppc-backtrace.lisp, x86-backtrace.lisp:
7197        Factor out a little more.  Time to see what's broken on PPC ...
7198
71992006-04-28 19:34  gb
7200
7201        * level-1/: l1-readloop-lds.lisp, l1-streams.lisp: Make parens
7202        around colon-commands optional.
7203
72042006-04-28 04:11  gb
7205
7206        * lisp-kernel/linuxx8664/.gdbinit: 'lregs' calls the kernel
7207        debugger's register display code.
7208
72092006-04-28 04:11  gb
7210
7211        * lisp-kernel/xlbt.c: Don't claim that the (legitimate) last frame
7212        on the stack is bogus.
7213
72142006-04-28 04:10  gb
7215
7216        * lisp-kernel/x86-exceptions.c: Create fake stack frames (sort of
7217        ...) when calling back for an exception.
7218
72192006-04-28 03:36  gb
7220
7221        * lisp-kernel/x86-constants64.h: A few symbolic register names.
7222       
7223        xcf struct.
7224
72252006-04-28 03:36  gb
7226
7227        * library/lispequ.lisp: FAKE-STACK-FRAME is #+ppc-target.
7228
72292006-04-28 03:36  gb
7230
7231        * lib/x86-backtrace.lisp: Implemented some stuff.
7232       
7233        Backtrace (sort of) works on x8664 now; need to find register
7234        values,  hide tagged return addresses, a few other things.
7235
72362006-04-28 03:34  gb
7237
7238        * lib/ppc-backtrace.lisp: Stuff moved here from elsewhere.
7239
72402006-04-28 03:34  gb
7241
7242        * lib/backtrace-lds.lisp: LAST-CATCH-SINCE moved elsewhere.
7243
72442006-04-28 03:33  gb
7245
7246        * level-1/x86-trap-support.lisp: Flags register accessor.
7247       
7248        New exception callback scheme.
7249
72502006-04-28 03:33  gb
7251
7252        * level-1/x86-threads-utils.lisp: The lowlevel system keeps
7253        changing.
7254
72552006-04-28 03:32  gb
7256
7257        * level-1/x86-error-signal.lisp: New exception callback stuff.
7258
72592006-04-28 03:32  gb
7260
7261        * level-1/l1-readloop-lds.lisp: No fake stack frames on x86.
7262
72632006-04-28 03:32  gb
7264
7265        * level-1/l1-lisp-threads.lisp: Move more stuff to arch-specific
7266        files.
7267
72682006-04-28 03:31  gb
7269
7270        * level-1/l1-events.lisp: No fake-stack-frames on x86, but we do
7271        have exception callback frames ...
7272
72732006-04-28 03:30  gb
7274
7275        * level-1/l1-error-system.lisp: Tweak :report method for
7276        wrong-number-of-args errors.
7277
72782006-04-28 03:30  gb
7279
7280        * level-0/X86/x86-def.lisp: Implement APPLY+.
7281
72822006-04-28 03:29  gb
7283
7284        * compiler/X86/X8664/x8664-arch.lisp: eXception Callback Frame.
7285
72862006-04-28 03:27  gb
7287
7288        * compiler/X86/x86-lapmacros.lisp: Add missing IN-PACKAGE.
7289       
7290        CHECK-NARGS: don't enforce upper bound if it's null.
7291
72922006-04-28 03:17  gb
7293
7294        * compiler/X86/x86-arch.lisp: x86 xFLAGS bits.
7295
72962006-04-28 03:16  gb
7297
7298        * compiler/nx0.lisp: Allow (FUNCTION (SETF name)) in
7299        IGNORE/IGNORABLE/DYNAMIC-EXTENT declarations.
7300
73012006-04-26 14:18  gb
7302
7303        * compiler/nx0.lisp: Allow (SETF NAME) in DEFINE-COMPILER-MACRO.
7304
73052006-04-26 14:17  gb
7306
7307        * lib/misc.lisp: Disassemble is supposed to signal an error (or "be
7308        prepared" to do so) if its argument isn't a function designator, so
7309        don't quietly call METHOD-FUNCTION for the user.
7310
73112006-04-26 13:56  gb
7312
7313        * lib/encapsulate.lisp: Use REPLACE-FUNCTION-CODE (not (SETF (UVREF
7314        ...))) in ENCAPSULATE, REMOVE-ENCAPSULATION.
7315
73162006-04-26 03:59  gb
7317
7318        * lisp-kernel/: x86-spentry64.s, x86-subprims64.s: zero out the
7319        exception bits whenever mxcsr is stored in tcr.foreign_mxcsr, so no
7320        exceptions will be pending when we start an ff-call (and the mxcsr
7321        is loaded from that location.)
7322       
7323        tcr.ffi_exception will then contain non-zero exception bits iff the
7324        most recent ff-call raised a (probably masked) FP exception.
7325       
7326        TODO: make this reentrant (PROCESS-INTERRUPT should preserve this.)
7327
73282006-04-26 03:55  gb
7329
7330        * lisp-kernel/x86-constants.s: define mxcsr exception bits.
7331
73322006-04-26 03:23  gb
7333
7334        * lisp-kernel/x86-constants64.s: Update comment on
7335        tcr.ffi_exception.
7336
73372006-04-26 03:22  gb
7338
7339        * lisp-kernel/x86-spentry64.s: Maintain tcr.ffi_exception on return
7340        from ffcall.  (Should maybe clear exception bits on entry to
7341        foreign state, so we're sure that any exception bits set in the
7342        tcr.ffi_exception slot were caused by the most recent ff-call.)
7343
73442006-04-26 03:20  gb
7345
7346        * level-0/X86/x86-float.lisp: Check MXCSR status bits from last
7347        ffcall, compare them to unmasked exception bits in current MXCSR,
7348        maybe raise FP exception.  (Note: compile this change and rebuild
7349        image before making corresponding kernel change.)
7350
73512006-04-26 02:31  gb
7352
7353        * lisp-kernel/x86-spentry64.s: .SPbuiltin-logxor was calling out to
7354        LOGAND-2, not to LOGXOR-2.  Sheesh.
7355
73562006-04-26 02:01  gb
7357
7358        * compiler/X86/X8664/x8664-vinsns.lisp: %ILOGBITP treats "large"
7359        bit numbers as tests of the sign bit.   (This is probably best
7360        viewed as being "formally undefined", but it's not too expensive to
7361        check for that.  The case where the bit number's negative is
7362        definitely undefined; I think that it also gets treated as a test
7363        of the sign bit.)
7364
73652006-04-26 01:58  gb
7366
7367        * lisp-kernel/x86-spentry64.s: Logbitp calls out if bit number
7368        negative.
7369
73702006-04-26 01:32  gb
7371
7372        * lisp-kernel/x86-spentry64.s: If both args fixnums, handle bits >=
7373        61.  (Should check here for negative bit .)
7374
73752006-04-26 01:31  gb
7376
7377        * lisp-kernel/x86-exceptions.c: If we get the "no FP regs in
7378        context" error - which typically indicates a fault during exception
7379        processing - pass the context in to the kernel debugger.
7380
73812006-04-26 01:30  gb
7382
7383        * level-0/X86/x86-pred.lisp: Change EQL doc string.
7384
73852006-04-26 00:56  gb
7386
7387        * level-0/X86/x86-pred.lisp: EQL on two bignums works much better
7388        if it compares all corresponding digits, rather than repeatedly
7389        comparing the 0th digits N times ...
7390
73912006-04-25 17:38  gb
7392
7393        * lisp-kernel/x86-spentry64.s: _SPmvslide: skip the loop if nargs
7394        is 0, not if disp is 0.  ash: always make a signed integer out of
7395        the result,  since arg is always signed.
7396
73972006-04-25 17:37  gb
7398
7399        * level-0/X86/x86-float.lisp: Negate floats by fliping the sign
7400        bit, so (for instance) (- 0.0d0) is -0.0d0.
7401
74022006-04-25 17:36  gb
7403
7404        * level-0/X86/x86-hash.lisp: Hash bignums 32 bits (not 64!) at a
7405        time.
7406
74072006-04-25 17:35  gb
7408
7409        * compiler/X86/x862.lisp: %%INEG: need to ensure that source
7410        operand is in target reg (2-address issue.)
7411
74122006-04-24 16:42  gb
7413
7414        * lisp-kernel/x86-spentry64.s: How hard can misc_set_s32 be ?
7415        Apparently, pretty hard.  It was doing a logical shift right when
7416        typechecking the value, so negative values were rejected.
7417
74182006-04-24 16:41  gb
7419
7420        * lisp-kernel/x86-exceptions.c: Call out to handle SIGFPE.  cmain
7421        callback now takes a 'signo' argument.
7422
74232006-04-24 16:40  gb
7424
7425        * level-1/x86-trap-support.lisp: Initial support for handling
7426        arithmetic errors.  Will need more work to get operation and
7427        operands right.
7428
74292006-04-24 16:39  gb
7430
7431        * lib/compile-ccl.lisp: REBUILD-CCL: :reload arg defaults to T.
7432
74332006-04-24 13:58  gb
7434
7435        * level-1/x86-error-signal.lisp: SETQ (not #'SET) in the
7436        uuo-error-reg-not-type case.
7437
74382006-04-24 13:57  gb
7439
7440        * level-0/X86/x86-float.lisp: Generally want to use FPZERO, not
7441        FP0, for 0.0[d,f]0.  (One case wanted to use fp1, but that's
7442        another story.)
7443
74442006-04-24 13:55  gb
7445
7446        * compiler/X86/X8664/x8664-vinsns.lisp: REQUIRE-REAL,
7447        REQUIRE-NUMBER: mask wont fit in 32 bits.  OTOH, doesn't need to be
7448        boxed, either.
7449
74502006-04-24 12:02  gb
7451
7452        * lisp-kernel/x86-spentry64.s: misc_set_s32: register botch.
7453        _SPtcallnfngen: several bugs, which were already fixed in similar
7454        variants.
7455
74562006-04-24 12:01  gb
7457
7458        * lisp-kernel/x86-gc.c: Use FORCE_DWS_MARK to force use of the
7459        Deutch/Waite/Schorr marker.
7460
74612006-04-24 12:00  gb
7462
7463        * lisp-kernel/pmcl-kernel.c: Only turn on GC debug bit if
7464        GC_INTEGRITY_CHECKING is defined (e.g., in Makefile.)
7465
74662006-04-24 11:59  gb
7467
7468        * level-1/linux-files.lisp: Remove debugging FORMAT call.
7469
74702006-04-24 11:58  gb
7471
7472        * level-0/X86/x86-numbers.lisp: %ROUND-NEAREST-SHORT-FLOAT->FIXNUM:
7473        argument is a SINGLE/SHORT-FLOAT, so don't access as a
7474        DOUBLE-FLOAT.
7475
74762006-04-24 11:58  gb
7477
7478        * level-0/X86/x86-float.lisp: %MAKE-FLOAT-FROM-FIXNUMS: mask the
7479        high and low words of the mantissa, to ensure that no hidden bits
7480        are set.  (Some such bits were set, causing many double-float
7481        constansts - like MOST-POSITVE-DOUBLE-FLOAT - to be bogus NaNs).
7482
74832006-04-24 02:21  gb
7484
7485        * lisp-kernel/image.c: Expect a MANAGED_STATIC section in the
7486        image.
7487       
7488        (Don't expect it to have any contents yet; that'll require several
7489        more changes.   This is all intended to support PURIFY on x8664,
7490        where we'll want to ensure that any constant referenced by a
7491        function in readonly/pure memory has a fixed, static address.)
7492
74932006-04-24 02:14  gb
7494
7495        * lisp-kernel/image.h: Bump IMAGE_ABI_VERSION.  New managed_static
7496        section makes NUM_IMAGE_SECTIONS 4.
7497
74982006-04-24 02:13  gb
7499
7500        * lisp-kernel/area.h: Typo in the definition of
7501        AREA_MANAGED_STATIC.
7502
75032006-04-24 02:12  gb
7504
7505        * lisp-kernel/: pmcl-kernel.c, kernel-globals.h: Global pointers to
7506        more areas.
7507
75082006-04-24 02:12  gb
7509
7510        * lisp-kernel/ppc-exceptions.c: EGC write-barrier labels are the
7511        addresses of instructions (not pointers thereto ...)
7512
75132006-04-24 02:11  gb
7514
7515        * lisp-kernel/ppc-gc.c: Add conditionalization to force DWS marker
7516        (mostly so that I could step through it to remember how it worked
7517        ...).
7518
75192006-04-24 02:10  gb
7520
7521        * lisp-kernel/ppc-spentry.s: write-barrier exported symbols: remove
7522        indirection.
7523
75242006-04-24 02:09  gb
7525
7526        * lisp-kernel/x86-gc.c: Remove a sanity check.
7527
75282006-04-24 02:09  gb
7529
7530        * xdump/xfasload.lisp: Create (empty) managed-static section
7531        (mostly for x8664 PURIFY, but might be useful on PPC someday.)
7532
75332006-04-24 02:08  gb
7534
7535        * xdump/heap-image.lisp: New image-abi-version, for managed-static
7536        section.
7537
75382006-04-24 02:07  gb
7539
7540        * level-1/linux-files.lisp: GET-DESCRIPTOR-FOR: try not to leak
7541        fds, take CLOSE-ON-ERROR more seriously.
7542
75432006-04-24 02:06  gb
7544
7545        * compiler/PPC/ppc2.lisp: (eq %FOREIGN-STACK-POINTER
7546        %CURRENT-FRAME-PTR) on PPC32/64.
7547
75482006-04-24 00:50  gb
7549
7550        * level-1/version.lisp: Bump.  Getting there ...
7551
75522006-04-24 00:50  gb
7553
7554        * level-0/l0-misc.lisp: Use %GET-NATURAL where possible.
7555       
7556        Note that TCRs aren't guaranteed to be in the low 32 bits on x8664,
7557        so pass them as a pointer to avoid word-size issues.
7558
75592006-04-24 00:48  gb
7560
7561        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Implement
7562        things that had been missing.
7563
75642006-04-24 00:48  gb
7565
7566        * compiler/X86/x86-disassemble.lisp: Recognize recently-defined
7567        UUOs.
7568
75692006-04-24 00:48  gb
7570
7571        * compiler/X86/x86-backend.lisp: Fix FIXUP-OPCODE-ORDINALS (again).
7572
75732006-04-24 00:47  gb
7574
7575        * compiler/X86/x86-asm.lisp: UUO-ERROR-ARRAY-BOUNDS.
7576
75772006-04-24 00:47  gb
7578
7579        * compiler/PPC/PPC64/ppc64-vinsns.lisp: A little word-size cleanup.
7580
75812006-04-24 00:47  gb
7582
7583        * compiler/nxenv.lisp: %FOREIGN-STACK-POINTER.
7584
75852006-04-24 00:46  gb
7586
7587        * compiler/nx1.lisp: WITH-C-FRAME, WITH-VARIABLE-C-FRAME: use (new)
7588        %FOREIGN-STACK-POINTER, not %CURRENT-FRAME-PTR (differ on x8664;
7589        need to boostrap on PPC).
7590       
7591        Parse %FOREIGN-STACK-POINTER.
7592
75932006-04-22 03:30  gb
7594
7595        * lisp-kernel/thread_manager.c: If we're using thread-local-storage
7596        (HAVE_TLS is defined), make shutdow_thread_tcr() dequeue the tcr,
7597        because (a) nothing else will and (b) the tcr will likely become
7598        unmapped soon, and we don't want things that walk the tcr list to
7599        segfault.
7600
76012006-04-22 03:27  gb
7602
7603        * lisp-kernel/x86-exceptions.c: Something's clearly wrong in
7604        find_foreign_rsp; call Bug() and exit() if the context has no
7605        fpregs.  (That's a symptom, not the proble, but it's slightly
7606        better to do this than to double fault, which is what seems to be
7607        happening.)
7608
76092006-04-21 10:12  gb
7610
7611        * lisp-kernel/x86-exceptions.c: implement pc_luser_xp; just has to
7612        worry about consing, write-barrier stuff.
7613
76142006-04-21 10:11  gb
7615
7616        * lisp-kernel/x86-constants.h: Define X86 flags register bits
7617        (condition codes.)
7618
76192006-04-21 10:11  gb
7620
7621        * lisp-kernel/x86-exceptions.h: change the signature of pc_luser_xp
7622        (again.)
7623       
7624        Define enumeration constants for matching the instructions that can
7625        occur during consing.
7626
76272006-04-21 10:09  gb
7628
7629        * lisp-kernel/x86-spentry64.s: Preserve %temp0 in
7630        store_node_conditional, in case pc_luser_xp() needs to complete the
7631        memoization.
7632
76332006-04-21 02:50  gb
7634
7635        * lisp-kernel/x86-spentry64.s: Use only the value of the first
7636        instance of :ALLOW-OTHER-KEYS to determine whether unknown keys are
7637        allowed.
7638
76392006-04-21 02:49  gb
7640
7641        * lisp-kernel/lisp-debug.c: Tweak things so that %rip and %flags
7642        line up with GPRs.
7643
76442006-04-21 02:48  gb
7645
7646        * lib/sequences.lisp: SIMPLE-1D-ARRAY-SUBSEQ: 64-bit vector case is
7647        #+64-bit-target, not #+ppc64-target.
7648
76492006-04-21 02:47  gb
7650
7651        * level-0/X86/x86-array.lisp: %SIMPLE-BIT-BOOLE: shift by the right
7652        amount.
7653
76542006-04-21 02:46  gb
7655
7656        * level-0/l0-array.lisp: %UVECTOR-REPLACE: 64-bit vectors aren't
7657        unique to PPC64 (but do depend on #+64-bit-target).
7658
76592006-04-21 02:46  gb
7660
7661        * compiler/X86/x862.lisp: The binding(s) of *INTERRUPT-LEVEL*
7662        confuse PROGV; remove them, for now.
7663
76642006-04-20 23:35  gb
7665
7666        * lisp-kernel/x86-spentry64.s: In the bignum case of
7667        .SPinteger-sign, sign-extend the bignum's sign digit instead of ...
7668        whatever the code was trying to do there.
7669       
7670        In the lexpr-has-two-values case of .SPspread-lexprz, load arg_y
7671        and arg_z from the correct offsets within the lexpr.
7672
76732006-04-20 04:48  gb
7674
7675        * lisp-kernel/x86-gc.c: Get the link-inverting marker written;
7676        force it to always be used, for now.
7677
76782006-04-19 17:11  gb
7679
7680        * lisp-kernel/pmcl-kernel.c: (Very) different
7681        MAXIMUM_MAPPABLE_MEMORY for Solaris.
7682
76832006-04-19 17:10  gb
7684
7685        * lisp-kernel/area.h: (Very) different IMAGE_BASE_ADDRESS for
7686        Solaris.
7687
76882006-04-19 00:35  gb
7689
7690        * lisp-kernel/x86-gc.c: Write a few paragraphs outlining how the
7691        reversing-pointer marker should work.  (Perhaps it's a strong
7692        argument for implementing "purify" soon.)
7693
76942006-04-19 00:34  gb
7695
7696        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
7697        function-boundary-marker.
7698
76992006-04-19 00:33  gb
7700
7701        * lisp-kernel/macros.h: Add node_aligned and indirect_node macros.
7702
77032006-04-18 19:35  gb
7704
7705        * lisp-kernel/x86-spentry64.s: Comparison was backwards in
7706        multiple-value case of THROW: don't want to do unbind_to if tcr's
7707        db-link matches target catch frame's.
7708
77092006-04-18 19:33  gb
7710
7711        * lisp-kernel/x86-uuo.s: Add UUO-ERROR-DEBUG-TRAP, remove
7712        UUO-ERROR-STACK-OVERFLOW.  Still need to get this completely in
7713        synch with x86-asm.
7714
77152006-04-18 19:33  gb
7716
7717        * level-1/l1-readloop-lds.lisp: Say more about the availability of
7718        :R in break messages.
7719       
7720        Say more about :C in :R.
7721
77222006-04-18 19:32  gb
7723
7724        * level-1/l1-readloop.lisp: Remove the #+x86-target debugging code
7725        in QUIT's PROCESS-INTERRUPT call, since the closure- trashing bug
7726        seems to have been fixed.
7727
77282006-04-18 19:31  gb
7729
7730        * level-1/x86-error-signal.lisp: Recognize (uuo-error-not-tag %rn
7731        x8664::subtag-catch-tag) as CANT-THROW-ERROR.  (Yes, this is a
7732        horrible kludge, but it only happens once.)
7733
77342006-04-18 19:19  gb
7735
7736        * level-1/l1-processes.lisp: Remove the #+x86-target debugging code
7737        in PROCESS-EXIT-APPLICATION, since the closure- trashing bug seems
7738        to have been fixed.
7739
77402006-04-18 19:18  gb
7741
7742        * level-0/X86/x86-pred.lisp: EQL on bignums wasn't using
7743        X8664::MISC-DATA-OFFSET, so it was comparing a few bytes beyond the
7744        ends of its arguments and ignoring the first few bytes (as well as
7745        doing misaligned memory references.)
7746
77472006-04-18 19:16  gb
7748
7749        * level-0/X86/x86-def.lisp: Insert the PPC version of APPLY+ here.
7750        This'll require some thought, mostly because of the reserved-frame
7751        issue(s).
7752
77532006-04-18 06:21  gb
7754
7755        * lisp-kernel/ppc-constants32.s: Comment mishaps.  These wacky
7756        adventures are about to end, I'm afraid.
7757
77582006-04-18 06:04  gb
7759
7760        * level-1/version.lisp: Daily bump.
7761
77622006-04-18 05:59  gb
7763
7764        * level-1/l1-sockets.lisp: Comment indentation.
7765
77662006-04-18 05:56  gb
7767
7768        * level-0/PPC/ppc-def.lisp: Move APPLY+ here.
7769
77702006-04-18 05:55  gb
7771
7772        * lib/setf-runtime.lisp: Move APPLY+ (which is defined in LAP) to
7773        ppc-def (that means that there will need to be an APPLY+ for
7774        x8664).
7775
77762006-04-18 05:38  gb
7777
7778        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Try to get the
7779        compiler and x8664-vinsn-templates to agree on vinsn-names and
7780        implement some vinsns that had been missing.  (About 15 or so
7781        undefined vinsns remain.)
7782
77832006-04-18 05:37  gb
7784
7785        * compiler/X86/x86-backend.lisp: The mechanism that tries to fixup
7786        opcode ordinals in vinsn templates (e.g., in case new instructions
7787        are defined in the assembler) wasn't checking to see if vinsn
7788        templates named in the hash table were defined.  (It was apparently
7789        getting away with this because CONSP was broken.)  So, don't try to
7790        fixup opcode ordinals in NIL, and optionally report templates
7791        that're referenced but not defined.
7792
77932006-04-18 04:38  gb
7794
7795        * compiler/X86/x862.lisp: CONSP was using the EXTRACT-FULLTAG vinsn
7796        (which only sets the low 8 bits of its destination), then comparing
7797        all 64-bits of the destination to a zero-extended 32-bit constant.
7798        (E.g., CONSP had little chance of being right all other things
7799        being equal, but may have been right more than one in 2^56 times if
7800        some random preceding instruction had zeroed the upper 56 bits.)
7801       
7802        (It's also shorter to do an 8-bit compare.)
7803
78042006-04-18 03:11  gb
7805
7806        * level-0/X86/x86-hash.lisp: box-fixnum arg order in %DFLOAT-HASH.
7807
78082006-04-18 02:51  gb
7809
7810        * compiler/X86/X8664/x8664-vinsns.lisp: Now that all assemblers are
7811        happy (well, as happy as they're going to be ...), back to finding
7812        bugs.  MULTIPLY-FIXNUMS has to unbox one arg (the source).
7813
78142006-04-18 01:26  gb
7815
7816        * lisp-kernel/thread_manager.c: Some Solaris changes.
7817
78182006-04-18 00:48  gb
7819
7820        * lisp-kernel/solarisx64/Makefile: The version of gm4 that Sun
7821        installs in /usr/sfw/bin is both newer and buggier than the version
7822        available on the "Solaris Companion" disk, which gets installed in
7823        /opt/sfw/bin.
7824       
7825        Ordinarily, I'd wonder why a "companion" disk offers to install
7826        software that's bundled as part of the installation (especially old
7827        versions of that software.)  Now I know.
7828
78292006-04-18 00:45  gb
7830
7831        * lisp-kernel/x86-spentry64.s: # __line__ wasn't a comment.
7832
78332006-04-18 00:45  gb
7834
7835        * lisp-kernel/m4macros.m4: Fix changecom.
7836
78372006-04-18 00:11  gb
7838
7839        * lisp-kernel/x86-spentry64.s: x8664 linux as doesn't like typos,
7840        but is otherwise fine with single-line /* */.
7841
78422006-04-18 00:09  gb
7843
7844        * lisp-kernel/: errors.s, imports.s, lisp.s, m4macros.m4,
7845        ppc-asmutils.s, ppc-constants.s, ppc-constants32.s,
7846        ppc-constants64.s, ppc-macros.s, ppc-spentry.s, ppc-spjump.s,
7847        ppc-subprims.s, ppc-uuo.s, x86-asmutils64.s, x86-constants.s,
7848        x86-constants64.s, x86-macros.s, x86-spentry64.s, x86-spjump64.s,
7849        x86-subprims64.s, x86-uuo.s, darwinppc/Makefile,
7850        darwinppc64/Makefile: Whoops.  Darwin as doesn't like #.  I dont
7851        like Darwin as, but we're back to single-line /* */, which is often
7852        pretty ugly and not well-supported by Emacs.
7853
78542006-04-17 23:23  gb
7855
7856        * lisp-kernel/: errors.s, imports.s, lisp.s, m4macros.m4,
7857        ppc-asmutils.s, ppc-constants.s, ppc-constants32.s,
7858        ppc-constants64.s, ppc-uuo.s, x86-asmutils64.s, x86-constants.s,
7859        x86-constants64.s, x86-macros.s, x86-spjump64.s, x86-subprims64.s,
7860        x86-uuo.s: Use #/newline for comment delimiters, which is supported
7861        by Emacs and by all current GAS versions (but see ARM conventions.)
7862         No more jerking around with this, knock wood.
7863
78642006-04-17 23:23  gb
7865
7866        * lisp-kernel/x86-spentry64.s: _SPspread_lexprz wasn't handling the
7867        case where caller provided args before the lexpr, which is much
7868        harder than the simple case.
7869       
7870        Use #/newline for comment delimiters, which is supported by Emacs
7871        and by all current GAS versions (but see ARM conventions.)  No more
7872        jerking around with this, knock wood.
7873
78742006-04-17 23:20  gb
7875
7876        * level-0/X86/x86-numbers.lisp: %FIXNUM-GCD was horrible, espcially
7877        when numbers differed greatly in magnitude.  Current (binary)
7878        algorithm is usually OK.
7879
78802006-04-17 23:17  gb
7881
7882        * compiler/X86/x86-lap.lisp: Condition name should be
7883        UNDEFINED-X86-LAP-LABEL, since it's (a) referenced and (b) that's
7884        not the problem.  Name wasn't spelled correctly in code that
7885        signals the condition, anyway.
7886
78872006-04-17 16:34  gb
7888
7889        * lisp-kernel/x86-exceptions.c: pc_luser_xp always takes a tcr
7890        argument, takes a new boolean to distinguish current tcr from
7891        others.  (The current tcr is only lusered on an interrupt; others
7892        are only lusered on GC entry.)
7893
78942006-04-17 16:33  gb
7895
7896        * lisp-kernel/x86-exceptions.h: X86 prototype for pc_luser_xp moved
7897        here.  (No deep reason not to share the new x86 signature on all
7898        architectures.)
7899
79002006-04-17 16:32  gb
7901
7902        * lisp-kernel/ppc-exceptions.h: PPC prototype for pc_luser_xp moved
7903        here.  (No deep reason not to share the new x86 signature on all
7904        architectures.)
7905
79062006-04-17 16:31  gb
7907
7908        * lisp-kernel/lisp-exceptions.h: prototype for pc_luser_xp is
7909        platform-dependent.
7910
79112006-04-17 06:49  gb
7912
7913        * level-1/l1-readloop.lisp: In the closure created in QUIT, only do
7914        CCL::DBG if (a) we're on X86 and (b) the inner closure is bad
7915        already.
7916
79172006-04-17 06:17  gb
7918
7919        * lisp-kernel/lisptypes.h: Don't know if there's such a thing as
7920        truly portable type name.
7921
79222006-04-17 06:16  gb
7923
7924        * lisp-kernel/: errors.s, lisp.s, m4macros.m4, x86-constants.s,
7925        x86-constants64.h, x86-constants64.s, x86-exceptions.c,
7926        x86-exceptions.h, x86-gc.c, x86-macros.s, x86-spentry64.s,
7927        x86-spjump64.s, x86-uuo.s: Well, // style comments seem to only
7928        work if they're at the start of a line in Linux GAS.  Try /* */
7929        comments, but limit them to a single line.  (May ultimately be
7930        better to use m4 dnl - carefully - and avoid end-of-line comments.)
7931
79322006-04-17 05:28  gb
7933
7934        * lisp-kernel/: x86-macros.s, x86-spentry64.s, x86-spjump64.s,
7935        x86-subprims64.s, x86-uuo.s: // comments.
7936
79372006-04-17 05:28  gb
7938
7939        * lisp-kernel/x86-gc.c: timeradd, timersub.  Other Solaris
7940        conditionalization.
7941
79422006-04-17 05:27  gb
7943
7944        * lisp-kernel/x86-exceptions.h: Solaris-related changes (xp
7945        accessors, etc.)
7946
79472006-04-17 05:26  gb
7948
7949        * lisp-kernel/x86-exceptions.c: Solaris-related changes (mostly in
7950        the sigstack trampoline stuff.)
7951
79522006-04-17 05:25  gb
7953
7954        * lisp-kernel/x86-constants64.h: // comments, Solaris-friendly
7955        integer types.
7956
79572006-04-17 05:24  gb
7958
7959        * lisp-kernel/: x86-asmutils64.s, x86-constants.s,
7960        x86-constants64.s: // comments.
7961
79622006-04-17 05:23  gb
7963
7964        * lisp-kernel/pmcl-kernel.c: Some Solaris conditionalization.
7965        Solaris mmap() is ... unusual.
7966
79672006-04-17 05:21  gb
7968
7969        * lisp-kernel/m4macros.m4: Use C++-style single-line comments,
7970        since Solaris version of GAS doen't handle multi-line comments (/*
7971        ... */).  It -seems- that other assemblers do handle them
7972        correctly; we'll see.
7973       
7974        Some Solaris conditionalization (ELFstabs, etc.)
7975
79762006-04-17 05:20  gb
7977
7978        * lisp-kernel/lisptypes.h: Conditionalize for Solaris (type names).
7979         We'll see what this breaks.
7980
79812006-04-17 05:19  gb
7982
7983        * lisp-kernel/lisp.h: PLATFORM_OS is PLATFORM_OS_SOLARIS when
7984        SOLARIS is defined.
7985
79862006-04-17 05:18  gb
7987
7988        * lisp-kernel/lisp-debug.c: Solaris conditionalization; print
7989        registers in predictable order.
7990
79912006-04-17 05:17  gb
7992
7993        * lisp-kernel/: errors.s, imports.s, lisp.s: Use C++-style
7994        single-line comments, since Solaris version of GAS doen't handle
7995        multi-line comments (/* ... */).  It -seems- that other assemblers
7996        do handle them correctly; we'll see.
7997
79982006-04-17 05:15  gb
7999
8000        * lisp-kernel/area.h: IMAGE_BASE_ADDRESS for SolarisX64.  Wrong.
8001
80022006-04-17 05:15  gb
8003
8004        * lisp-kernel/Threads.h: Conditionalize for Solaris.
8005       
8006        TODO: drop Jaguar support, use POSIX (vice Mach) semaphores on all
8007        platforms ?
8008
80092006-04-17 05:01  gb
8010
8011        * lisp-kernel/solarisx64/Makefile: new file
8012
80132006-04-17 04:56  gb
8014
8015        * lisp-kernel/linuxx8664/Makefile: Make it a little easier to
8016        change the name/usage of the linker script.
8017       
8018        Stop using the linker script (since spjump is the only thing in the
8019        kernel that has to be at a fixed address and we can copy it there.)
8020       
8021        Don't disable the EGC.
8022
80232006-04-17 04:54  gb
8024
8025        * lisp-kernel/x86-spjump64.s: Define spjump_start as the origin of
8026        the spjump table, exported for C (so that spjump can be mapped into
8027        low memory.)
8028
80292006-04-17 04:54  gb
8030
8031        * lisp-kernel/x86-spentry64.s: Use reserved_frame_marker.
8032       
8033        If the tlb's too small when trying to bind a special, push the
8034        binding index of the symbol we're binding (for the benefit of the
8035        handler.)
8036
80372006-04-17 04:52  gb
8038
8039        * lisp-kernel/x86-gc.c: Check for cases where a function has more
8040        code words than it has elements (can't happen, unless the
8041        function's code-words word is garbage, which seems to happen when
8042        closures get consed up in non-zeroed memory.)
8043       
8044        Make sure that we mark and forward Itemp2 (= %rcx = %temp2 =
8045        %nargs.q), which sometimes contains something tagged and
8046        non-immediate.
8047
80482006-04-17 04:48  gb
8049
8050        * lisp-kernel/x86-exceptions.c: new_heap_segment() (slowly) checks
8051        to ensure that everythings's zeroed.
8052       
8053        x8664 implementation of extend_tcr_tlb().
8054       
8055        on a gc trap, use tcr->save_allocptr (not the random value in %rbx)
8056        in call to update_bytes_allocated().
8057       
8058        normalize_tcr() - alway set tcr->save_allocptr/tcr->save_allocbase
8059        to VOID_ALLOCPTR (I -think- that this explains the crash-on-quit
8060        bug, and possibly some other instabiliy.)
8061       
8062        handle_exception: keep trying to guess how to distinguish memory
8063        faults from other sources of SIGSEGV.
8064       
8065        On debug traps, advance the PC past the UUO before entering the
8066        debugger.
8067       
8068        Handle XUUO_TLB_TOO_SMALL.
8069
80702006-04-17 04:42  gb
8071
8072        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
8073        reserved_frame_marker.
8074
80752006-04-17 04:42  gb
8076
8077        * lisp-kernel/thread_manager.c: Remove implementation of
8078        extend_tcr_tlb().
8079
80802006-04-17 04:41  gb
8081
8082        * lisp-kernel/ppc-exceptions.h: Prototype for PPC version of
8083        extend_tcr_tlb().
8084
80852006-04-17 04:41  gb
8086
8087        * lisp-kernel/ppc-exceptions.c: PPC version of extend_tcr_tlb().
8088
80892006-04-17 04:40  gb
8090
8091        * lisp-kernel/pmcl-kernel.c: Remap the spjump table on x8664, so
8092        that we don't need to use a linker script.
8093
80942006-04-17 04:40  gb
8095
8096        * lisp-kernel/Threads.h: extend-tcr-tlb: signature defined by
8097        target xxx-exceptions.h now.
8098
80992006-04-17 04:39  gb
8100
8101        * lib/misc.lisp: Some comment formatting/editing.
8102
81032006-04-17 04:38  gb
8104
8105        * level-1/version.lisp: Bump.
8106
81072006-04-17 04:38  gb
8108
8109        * level-1/l1-readloop.lisp: Some debugging code in the code which
8110        creates the final closure.  It seems that when it's bad, it's bad
8111        on creation (here.)
8112
81132006-04-17 04:37  gb
8114
8115        * level-1/l1-processes.lisp: Some debugging code in
8116        PROCESS-EXIT-APPLICATION, to try to catch whatever's causing the
8117        final closure to be trashed.
8118       
8119        I don't think that other threads were getting their allocptr's
8120        nullified correctly by the GC/normalize_tcr(); with the current
8121        debugging code in place, it seems like the closure is consed on top
8122        of something other than free, thread-private heap memory (when it's
8123        bad, it fails the first check here.  I'm not sure that the latest
8124        round of GC/normalize-tcr() changes have fixed the problem, but I
8125        haven't seen it in a while now, either.)
8126
81272006-04-17 04:32  gb
8128
8129        * level-0/X86/x86-def.lisp: %FUNCTION-CODE-BYTE (for partial
8130        disassembly, etc.).
8131
81322006-04-17 04:31  gb
8133
8134        * compiler/X86/X8664/x8664-vinsns.lisp: Use RESERVED-FRAME-MARKER
8135        in RESERVE-OUTGOING-FRAME; don't use ENSURE-RESERVED-FRAME at all
8136        (anymore.)
8137       
8138        Subprims are down in low memory again; make INIT-CLOSURE skip
8139        setting the high byte of .SPcall-closure's address if it's zero.
8140
81412006-04-17 04:28  gb
8142
8143        * compiler/X86/X8664/x8664-arch.lisp: Define RESERVED-FRAME-MARKER,
8144        which may help backtrace.
8145
81462006-04-17 04:26  gb
8147
8148        * lib/: backtrace.lisp, ppc-backtrace.lisp: Split up RAW-FRAME-REF
8149        (interface/implementation.)
8150
81512006-04-15 09:20  gb
8152
8153        * level-1/x86-callback-support.lisp: Ensure that callback
8154        trampolines are allocated in executable memory.
8155
81562006-04-15 09:12  gb
8157
8158        * lib/dumplisp.lisp: Refresh external entry points before reviving
8159        callbacks.  Reset callback storage before reviving callbacks.
8160
81612006-04-15 09:10  gb
8162
8163        * level-1/x86-error-signal.lisp: Don't prefix the unknown trap
8164        error message with a %.  (Where did that come from ?)
8165
81662006-04-15 09:08  gb
8167
8168        * level-1/ppc-callback-support.lisp: Don't (knock wood) need to do
8169        anything in RESET-CALLBACK-STORAGE for PPC, since malloc()ed memory
8170        is executable.
8171
81722006-04-14 09:02  gb
8173
8174        * lib/time.lisp: Jeez.  Save buffer, why dontcha.
8175
81762006-04-14 08:21  gb
8177
8178        * lib/time.lisp: ENCODE-UNIVERSAL-TIME: treat year 0-99 as
8179        shorthand for the nearest matching year.
8180
81812006-04-14 08:20  gb
8182
8183        * lib/format.lisp: FORMAT-PRINT-NUMBER was printing commas even
8184        when : was missing.
8185
81862006-04-13 23:09  gb
8187
8188        * lib/ppc-backtrace.lisp: Eschew missing parens.
8189
81902006-04-13 23:08  gb
8191
8192        * lib/describe.lisp: Change NTH-VALUE-IN-FRAME call.
8193
81942006-04-13 23:08  gb
8195
8196        * lib/backtrace.lisp: DBG-FORM checks the second return value from
8197        ARGLIST-FROM-MAP.
8198
81992006-04-13 23:02  gb
8200
8201        * lib/arglist.lisp: Don't pass a "conser" function around (the idea
8202        is leftover from 68K MCL).  ARGLIST-FROM-MAP tries to be consistent
8203        about returning a second value; returns values NIL, T for functions
8204        that take no args and don't have a symbol map.
8205
82062006-04-13 22:53  gb
8207
8208        * level-1/l1-lisp-threads.lisp: Try to make args to
8209        NTH-VALUE-IN-FRAME et al a little saner.
8210
82112006-04-13 22:37  gb
8212
8213        * lib/numbers.lisp: Conditionalize on word size, not PPC processor
8214        type.
8215
82162006-04-13 22:36  gb
8217
8218        * level-1/version.lisp: Bump.
8219
82202006-04-13 22:35  gb
8221
8222        * level-1/l1-aprims.lisp: Remove the DBG trap from #'APPLY.  Still
8223        trying to find the cause of the crash-on-quit bug.
8224
82252006-04-13 07:30  gb
8226
8227        * lib/ppc-backtrace.lisp: Migrate some stuff here.
8228
82292006-04-13 07:29  gb
8230
8231        * level-1/l1-lisp-threads.lisp, lib/backtrace.lisp: Migrate some
8232        stuff to target-backtrace.
8233
82342006-04-13 06:45  gb
8235
8236        * lisp-kernel/x86-gc.c: mark_root: need to handle TRAs earlier.
8237
82382006-04-13 06:44  gb
8239
8240        * lisp-kernel/pmcl-kernel.c: Set GC debug bits manually here on
8241        x8664.
8242
82432006-04-13 06:44  gb
8244
8245        * level-1/x86-error-signal.lisp: XP-ARGUMENT-LIST: only the low 13
8246        bytes of %nargs_q contain arg count.
8247
82482006-04-13 06:43  gb
8249
8250        * level-1/l1-error-system.lisp: No EVAL-PROGRAM-ERROR. Please.
8251
82522006-04-13 06:43  gb
8253
8254        * level-1/l1-aprims.lisp: Trying to find what's (sometimes)
8255        trashing a closure during QUIT; embed a #+x86-target breakpoint in
8256        APPLY.
8257
82582006-04-13 06:42  gb
8259
8260        * level-0/X86/x86-numbers.lisp: Bad typo in %FIXNUM-GCD.
8261
82622006-04-13 06:41  gb
8263
8264        * compiler/X86/x862.lisp: Lap expression changes; recycle constant
8265        operands.
8266
82672006-04-13 06:41  gb
8268
8269        * compiler/X86/x86-lap.lisp: Freelist a lot of things; use
8270        "vector-lists" instead of adjustable arrays, simplify handling of
8271        constant expressions.  Still conses hysterically; need to find out
8272        where and tone it down a bit, if possible.
8273
82742006-04-13 06:39  gb
8275
8276        * compiler/X86/x86-disassemble.lisp: Maybe no lap immediate
8277        operands; maybe no lap constant-expressions.
8278
82792006-04-13 06:39  gb
8280
8281        * compiler/X86/x86-asm.lisp: Don't need
8282        *lap-constant-0-expression*.
8283
82842006-04-13 00:46  gb
8285
8286        * lisp-kernel/linuxx8664/Makefile: Kernel depends on Makefile,
8287        linker script.
8288
82892006-04-13 00:45  gb
8290
8291        * lisp-kernel/linuxx8664/elf_x86_64.x: Use linker script from ld
8292        2.16.1 (Thanks to James Bielman).
8293
82942006-04-12 18:53  gb
8295
8296        * lisp-kernel/linuxx8664/elf_x86_64.x: Try to avoid use of
8297        PROVIDE_HIDDEN, since some versions of GNU ld don't like it.  (Most
8298        of this seems to have to do with C++ static constructors, which
8299        aren't really relevant here.)
8300
83012006-04-12 18:28  gb
8302
8303        * lisp-kernel/x86-spentry64.s: Use movd (not movq) when moving
8304        between %Rforeign_sp and GPRs.
8305
83062006-04-12 18:22  gb
8307
8308        * lisp-kernel/linuxx8664/Makefile: egc flag
8309
83102006-04-12 18:08  gb
8311
8312        * lisp-kernel/x86-gc.c: Add current/prev (temporarily) to help find
8313        where we're losing here.
8314
83152006-04-12 18:07  gb
8316
8317        * lisp-kernel/x86-exceptions.c: pc_luser_xp: notice if we're in the
8318        write barrier code, crap out if so.
8319
83202006-04-12 18:06  gb
8321
8322        * lisp-kernel/pmcl-kernel.c: Disable EGC if DISABLE_EGC is defined
8323        (presumably in a Makefile).
8324
83252006-04-12 14:50  gb
8326
8327        * level-1/version.lisp: Bump.
8328
83292006-04-12 14:46  gb
8330
8331        * lib/: compile-ccl.lisp, ppc-backtrace.lisp, systems.lisp,
8332        x86-backtrace.lisp: new target backtrace stuff.
8333
83342006-04-12 14:45  gb
8335
8336        * lib/backtrace.lisp: Start splitting things up, ideally into a
8337        mostly abstract API and gory platform- dependent implementation
8338        details.
8339
83402006-04-11 21:40  gb
8341
8342        * lisp-kernel/pmcl-kernel.c: Only way to stress-test EGC is to turn
8343        the damned thing on.  (A little painful with integrity checking
8344        enabled, as it still is by default.)
8345       
8346        TODO:
8347       
8348        - sleep (me) - non-recursive (link-inverting) marker - pc-lusering
8349        (pc_luser_xp()) - backtrace - ANSI CL tests - purify - 2d-aref - FP
8350        exception handling - check UUO usage in kernel, disassembler,
8351        exception handlers - stack overflow recovery
8352
83532006-04-11 21:24  gb
8354
8355        * lisp-kernel/x86-gc.c: Skip over function code in
8356        check_refmap_consistency.
8357
83582006-04-11 21:23  gb
8359
8360        * lisp-kernel/x86-spentry64.s: Write barrier memoization sets bits
8361        backwards.
8362
83632006-04-11 19:11  gb
8364
8365        * compiler/X86/x862.lisp: Change LABELS for new closure format.
8366
83672006-04-11 19:11  gb
8368
8369        * lisp-kernel/x86-spentry64.s: 3 words of code + inner function in
8370        a closure, no lfname slot in closure.
8371
83722006-04-11 16:29  gb
8373
8374        * lisp-kernel/linuxx8664/.gdbinit: ada  prints active dynamic (GC)
8375        area.
8376
83772006-04-11 16:29  gb
8378
8379        * lisp-kernel/x86-subprims64.s: Maintain the MXCSR on transitions
8380        between lisp/foreign code.
8381
83822006-04-11 16:29  gb
8383
8384        * lisp-kernel/x86-spentry64.s: Add write barrier stuff (may have
8385        bit-order problems.)
8386       
8387        Maintain the MXCSR on transitions between lisp/foreign code.
8388
83892006-04-11 16:28  gb
8390
8391        * lisp-kernel/x86-macros.s: Access globals in expressions.
8392
83932006-04-11 16:27  gb
8394
8395        * lisp-kernel/x86-gc.c: Start to implement EGC for X8664; this'll
8396        need some bootstrapping stuff (function boundary markers) for a few
8397        reasons, as will DWS marker.
8398
83992006-04-11 16:27  gb
8400
8401        * lisp-kernel/x86-exceptions.c: If we get an FP exception, report
8402        the siginfo error code.
8403
84042006-04-11 16:26  gb
8405
8406        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Define MXCSR
8407        fields in tcr.
8408
84092006-04-11 16:25  gb
8410
8411        * lisp-kernel/x86-constants.h: Define MXCSR bits.
8412
84132006-04-11 16:25  gb
8414
8415        * lisp-kernel/thread_manager.c: Setup the MXCSR somewhat sanely
8416        when starting a lisp thread.  (It'll be saner when FP exceptions
8417        are handled.)
8418
84192006-04-11 16:24  gb
8420
8421        * level-1/x86-error-signal.lisp: Recognize what complaints about
8422        non-uvectors are trying to tell us.
8423
84242006-04-11 16:23  gb
8425
8426        * level-1/l1-io.lisp: PRINT-OBJECT method for TRAs, symbol/function
8427        vectors.
8428
84292006-04-11 16:23  gb
8430
8431        * level-1/l1-clos-boot.lisp: Spell TAGGED-RETURN-ADDRESS with more
8432        Ses.  Define classes for function/symbol vectors.
8433
84342006-04-11 16:22  gb
8435
8436        * level-0/X86/x86-def.lisp: %RETURN-ADDRESS-OFFSET.
8437
84382006-04-11 16:21  gb
8439
8440        * compiler/X86/X8664/x8664-vinsns.lisp: Closure initialization
8441        needs to add a function boundary marker (but we can stop padding
8442        each closure with a null function name slot.)
8443
84442006-04-11 16:20  gb
8445
8446        * compiler/X86/X8664/x8664-arch.lisp: Define
8447        FUNCTION-BOUNDARY-MARKER, which should never exist in the wild.
8448
84492006-04-11 16:19  gb
8450
8451        * compiler/X86/x862.lisp: Emit a function boundary marker between
8452        code and constants. (For GC reasons.) Change closure initialization
8453        to account for it.
8454
84552006-04-11 16:18  gb
8456
8457        * compiler/X86/x86-lap.lisp: Emit a function boundary marker
8458        between code and constants. (For GC reasons.)
8459
84602006-04-11 16:17  gb
8461
8462        * compiler/X86/x86-disassemble.lisp: Require more stuff.
8463
84642006-04-11 16:17  gb
8465
8466        * compiler/nxenv.lisp: Require X8664ENV on X8664.
8467       
8468        See if we can get by without 68K condition code ...
8469
84702006-04-11 06:53  gb
8471
8472        * lisp-kernel/x86-exceptions.c: We'll need to handle FP exceptions
8473        soon.
8474
84752006-04-11 06:53  gb
8476
8477        * lib/numbers.lisp: Infinity constants conditionalized on/off
8478        during MXCSR adventures.  On now.
8479
84802006-04-11 06:52  gb
8481
8482        * lib/describe.lisp: Comment indentation.
8483       
8484        No such thing as an interpreted function; hasn't been for years.
8485
84862006-04-11 06:51  gb
8487
8488        * level-1/x86-threads-utils.lisp: Fixup lfun bits of %FIXNUM-SET et
8489        al.
8490
84912006-04-11 06:51  gb
8492
8493        * level-1/version.lisp: Bumped yesterday.
8494
84952006-04-11 06:50  gb
8496
8497        * level-1/l1-error-signal.lisp: Comments.
8498
84992006-04-11 06:50  gb
8500
8501        * level-1/l1-clos-boot.lisp: CLASS-OF handles non-simple vectors,
8502        at least.
8503
85042006-04-11 06:50  gb
8505
8506        * level-0/X86/x86-float.lisp: MXCSR stuff.  Better, mostly because
8507        a fixnum constant is boxed in %SET-MXCSR.
8508
85092006-04-11 06:49  gb
8510
8511        * level-0/X86/x86-def.lisp: Get info about register usage.
8512
85132006-04-11 06:49  gb
8514
8515        * compiler/X86/X8664/x8664-vinsns.lisp: Natural arithmetic; start
8516        work on 2d aref.  Fix MISC-SET-U64 (or some flavor thereof), which
8517        though that it was dealing with a scaled index.
8518
85192006-04-11 06:48  gb
8520
8521        * compiler/X86/x862.lisp: Natural arithmetic; start work on 2d
8522        aref.
8523
85242006-04-11 06:48  gb
8525
8526        * compiler/X86/x86-lap.lisp: FRAGs are freelisted.  Really need to
8527        do something about FRAG-CODE-BUFFERs, and need to tone down
8528        expression overkill.
8529
85302006-04-11 06:46  gb
8531
8532        * compiler/X86/x86-backend.lisp: Vinsn template fixup mechanism,
8533        for when opcode ordinals change.
8534
85352006-04-11 06:46  gb
8536
8537        * compiler/X86/x86-asm.lisp: UUO-ERROR-STACK-OVERFLOW ->
8538        UUO-ERROR-ARRAY-RANK.
8539       
8540        Vinsn template fixup mechanism, for when opcode ordinals change.
8541
85422006-04-11 06:45  gb
8543
8544        * compiler/X86/x86-arch.lisp: Try to unscramble MXCSR bits/masks.
8545
85462006-04-11 06:45  gb
8547
8548        * compiler/nx0.lisp: NX-U31-CONSTANT-P.
8549
85502006-04-11 06:44  gb
8551
8552        * compiler/dll-node.lisp: WITH-DLL-NODE-FREELIST: syntax to allow
8553        specialized list header initialization.
8554
85552006-04-11 06:43  gb
8556
8557        * level-1/l1-error-system.lisp, compiler/arch.lisp: Type errors for
8558        2d float arrays.
8559
85602006-04-10 10:19  gb
8561
8562        * lisp-kernel/x86-spentry64.s: _SPcallback is now called with the
8563        foreign SP properly obeying C alignment conventions.  In order to
8564        get it aligned for lisp usage during the callback, an extra word
8565        needs to be pushed before the backpointer to the old foreign RSP.
8566
85672006-04-10 10:18  gb
8568
8569        * lisp-kernel/x86-exceptions.c: Ensure that the copied sigcontext
8570        is 16-byte aligned, so that the foreign stack pointer is aligned
8571        according to C conventions when we enter the signal handler on that
8572        stack.
8573
85742006-04-10 10:13  gb
8575
8576        * lib/numbers.lisp: Define FP infinities, since we're running with
8577        FP exceptions masked. (We don't handle FP exceptions on X8664 yet,
8578        but this was crashing due to ldmxcsr/stmxcsr confusion, not because
8579        an unmasked FP exception was raised and unhandled.)
8580
85812006-04-10 10:10  gb
8582
8583        * lib/level-2.lisp: Remove the WARN and the conditionalization
8584        around bit/bitfield accessors on X8664.
8585
85862006-04-10 10:09  gb
8587
8588        * level-0/X86/x86-float.lisp: Repeat after me: to load the mxcsr
8589        from memory, we say "ldmxcsr".  We want to do such a load in order
8590        to write new values into the mxcsr.  To store it in memory, we say
8591        "stmxcsr".  We want to do such a store (and a subsequent load from
8592        memory) in order to access the value of the mxcsr.  Simple, no ?
8593
85942006-04-10 10:07  gb
8595
8596        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp:
8597        %GET-BIT/%SET-BIT.
8598
85992006-04-10 08:29  gb
8600
8601        * compiler/X86/X8664/x8664-vinsns.lisp: Float
8602        addition/multiplication: either arg can overlap result (and often
8603        will).  Float subtraction/division: caller should ensure that
8604        result and second arg are disjoint.
8605
86062006-04-10 08:27  gb
8607
8608        * compiler/X86/x862.lisp: Float arithmetic is two-address; ensure
8609        that result doesn't overlap second argument for non-commutative
8610        operations.
8611
86122006-04-10 08:26  gb
8613
8614        * lisp-kernel/lisp-debug.c: Show FPRs on LinuxX8664.
8615
86162006-04-10 05:12  gb
8617
8618        * lisp-kernel/thread_manager.c: Don't free dead TCRs if we didn't
8619        malloc them.
8620
86212006-04-10 05:12  gb
8622
8623        * lib/compile-ccl.lisp: REBUILD-CCL paramaters for :LINUXX8664.
8624
86252006-04-10 05:11  gb
8626
8627        * level-1/l1-pathnames.lisp: No need to reference PPC package, and
8628        good reason not to.
8629
86302006-04-10 04:39  gb
8631
8632        * xdump/xfasload.lisp: signed 32-bit, 64-bit integers in fasl files
8633        are always big-endian.
8634
86352006-04-10 04:38  gb
8636
8637        * lisp-kernel/x86-gc.c: mark_root(): if we're marking a function
8638        reachable via a TRA, update the variable "dnode" so that the
8639        correct bits get set.
8640
86412006-04-10 04:37  gb
8642
8643        * level-0/X86/X8664/x8664-bignum.lisp: Remove some breakpoints.
8644
86452006-04-10 04:37  gb
8646
8647        * level-0/X86/x86-array.lisp: %SIMPLE-BIT-BOOLE.  Could stand to be
8648        a bit simpler.
8649
86502006-04-10 04:36  gb
8651
8652        * level-0/l0-hash.lisp: Whoops: %SET-NEEDS-REHASHING is called from
8653        the MAKE-LOAD-FORM method for hashtables.
8654
86552006-04-09 09:17  gb
8656
8657        * lisp-kernel/thread_manager.c: Inflate control stack size on
8658        x8664, until DWS marker works (and do so correctly this time).
8659
86602006-04-09 09:12  gb
8661
8662        * lisp-kernel/thread_manager.c: Inflate control stack size on
8663        x8664, until DWS marker works.
8664
86652006-04-09 09:09  gb
8666
8667        * level-0/l0-hash.lisp: Now that bitvectors work, remove
8668        #+x86-target DBG trap.
8669
86702006-04-09 08:57  gb
8671
8672        * level-0/l0-hash.lisp: Set/clear rehash bits via SBIT, not AREF.
8673        (Should be exactly the same code, but may not have been 15 years
8674        ago or whenever this was written.)
8675
86762006-04-09 08:56  gb
8677
8678        * lisp-kernel/x86-spentry64.s,
8679        compiler/X86/X8664/x8664-vinsns.lisp: Clear bits in a bit vector
8680        via btrX (Bit Test and Reset), not btcX (Bit Test and Complement.)
8681
86822006-04-09 03:52  gb
8683
8684        * lisp-kernel/x86-macros.s: Parens around negative displacement in
8685        condition_to_boolean.  Not clear why this is necessary, but it
8686        seems to be.
8687
86882006-04-09 03:24  gb
8689
8690        * lisp-kernel/x86-macros.s: Use shorter sequence in
8691        condition_to_boolean.
8692
86932006-04-09 02:32  gb
8694
8695        * compiler/X86/X8664/x8664-vinsns.lisp: Using cmovCC intstead of
8696        setCC for cr-bit->boolean is 1 instruction and 2 bytes shorter, all
8697        other things being equal.
8698
86992006-04-09 01:37  gb
8700
8701        * compiler/X86/x86-asm.lisp: reg/reg variants of bsfX, bsrX had
8702        operands backwards.
8703
87042006-04-09 01:37  gb
8705
8706        * compiler/optimizers.lisp: Comment formatting.
8707
87082006-04-09 01:29  gb
8709
8710        * level-0/X86/X8664/x8664-bignum.lisp: %BIGNUM-SIGN-DIGITS:
8711        bsr/xorl != clz when (zerop n).
8712
87132006-04-08 21:25  gb
8714
8715        * lisp-kernel/x86-exceptions.c: Forget about blocking SIGINT in
8716        current thread before entering kernel debugger.
8717
87182006-04-08 21:21  gb
8719
8720        * lib/compile-ccl.lisp: early def of XLOAD-LEVEL-0: require
8721        (TARGET-XLOAD-MODULES).
8722
87232006-04-08 21:21  gb
8724
8725        * lisp-kernel/x86-spentry64.s: misc_set_s16: forgot a lognot.
8726
87272006-04-08 21:20  gb
8728
8729        * level-0/nfasload.lisp: 64-bit vectors: target::, not ppc64::.
8730
87312006-04-08 20:46  gb
8732
8733        * lib/foreign-types.lisp: Add missing paren ...
8734
87352006-04-08 20:45  gb
8736
8737        * lib/foreign-types.lisp: Recognize a :struct-by-value case.
8738
87392006-04-08 20:44  gb
8740
8741        * compiler/X86/X8664/x8664-backend.lisp: X8664 ABI seems to pass
8742        structs by value, sort of.
8743
87442006-04-08 20:43  gb
8745
8746        * x86-headers64/libc/C/populate.sh: Add -D_GNU_SOURCE to CFLAGS.
8747
87482006-04-08 20:42  gb
8749
8750        * library/hash-cons.lisp: Port some of this to x8664; need to add
8751        code to maintain "used" bitmap.
8752
87532006-04-08 20:42  gb
8754
8755        * lib/numbers.lisp: Conditionalize out the FP infinity stuff in the
8756        short term.
8757
87582006-04-08 20:41  gb
8759
8760        * lib/edit-callers.lisp: %MAP-LFIMMS: lfun-vector changes.  Should
8761        someday fix this crap.
8762
87632006-04-08 20:40  gb
8764
8765        * lib/describe.lisp: Conditionalize, a little.
8766
87672006-04-08 20:40  gb
8768
8769        * lib/db-io.lisp: SAVE-DB-FUNCTION appears to be unused.
8770
87712006-04-08 20:39  gb
8772
8773        * level-1/l1-io.lisp: PRINT-A-NAN not #+ppc-target.
8774
87752006-04-08 20:39  gb
8776
8777        * level-1/l1-readloop-lds.lisp: Error reentry stuff here.
8778
87792006-04-08 20:39  gb
8780
8781        * level-1/l1-sockets.lisp: Workaround ffi translator lossage in
8782        _inet_ntoa (just as Darwin has for years; why not fix this ?)
8783
87842006-04-08 20:38  gb
8785
8786        * level-1/ppc-trap-support.lisp: Error-reentry stuff to
8787        l1-readloop-lds (nothing to do with PPC or traps ...)
8788
87892006-04-08 20:37  gb
8790
8791        * .cvsignore: Ignore *CL*/*cl*, not necessarily *CCL*/*ccl*.
8792
87932006-04-08 04:46  gb
8794
8795        * compiler/X86/x862.lisp: X862-MVCALL needs to always save and
8796        restore, even if there's only one values-producing form (that form
8797        might produce more values than will fit in argument registers, and
8798        we therefore have to reserve space for a stack frame.)
8799
88002006-04-08 04:45  gb
8801
8802        * compiler/X86/x86-asm.lisp: Need to actually define INSERT-IMM64.
8803
88042006-04-08 04:43  gb
8805
8806        * lib/macros.lisp: Scanning backwards for instructions depends on a
8807        reasonable architecture.
8808
88092006-04-08 04:43  gb
8810
8811        * lib/compile-ccl.lisp: TARGET-XLOAD-MODULES for x8664.
8812
88132006-04-08 04:42  gb
8814
8815        * xdump/xfasload.lisp: Hide ppc32 double-float-vector stuff in
8816        target arch.
8817
88182006-04-08 04:41  gb
8819
8820        * xdump/.cvsignore: ignore *.*fsl
8821
88222006-04-07 22:46  gb
8823
8824        * compiler/nx.lisp: XCOMPILE-LAMBDA is #+ppc-target for now.
8825
88262006-04-07 22:45  gb
8827
8828        * compiler/nx1.lisp: Provide an FTYPE declaration for
8829        %DEFINE-PPC-LAP-FUNCTION.
8830
88312006-04-07 22:25  gb
8832
8833        * level-1/version.lisp: Bump.
8834
88352006-04-07 22:19  gb
8836
8837        * compiler/PPC/ppc-asm.lisp, compiler/PPC/ppc-backend.lisp,
8838        compiler/PPC/ppc-disassemble.lisp, compiler/PPC/ppc-lap.lisp,
8839        lib/backtrace-lds.lisp: ARCH::OPCODE, ARCH::OPERAND moved to CCL
8840        package.
8841
88422006-04-07 22:18  gb
8843
8844        * compiler/risc-lap.lisp: OPCODE, OPERAND moved here and from
8845        arch:: to ccl::.
8846
88472006-04-07 22:17  gb
8848
8849        * compiler/arch.lisp: OPERAND, OPCODE belong elsewhere (in
8850        RISC-LAP, for instance).  That's a different package, too.
8851
88522006-04-07 20:46  gb
8853
8854        * library/lispequ.lisp: %CONS-FAKE-STACK-FRAME here.  Really.
8855
88562006-04-07 20:45  gb
8857
8858        * level-0/l0-pred.lisp: *IMMHEADER-1-TYPES* was wrong, too.  Should
8859        I maybe look at the others, or just fix them as I stumble on them ?
8860
88612006-04-07 20:44  gb
8862
8863        * compiler/X86/X8664/x8664-vinsns.lisp: jns->jne when checking for
8864        a DOUBLE-FLOAT.
8865
88662006-04-07 20:41  gb
8867
8868        * level-0/nfasload.lisp: Print file pos in FASL-DISPATCH debug
8869        message.
8870
88712006-04-07 20:40  gb
8872
8873        * lib/nfcomp.lisp: #+x8664: Check for fulltag-immheader-1, not
8874        fulltag-immheader-0 twice in fasl-scan-dispatch
8875       
8876        FASL-DUMP-SYMBOL needs a SYMPTR->SYMVECTOR.  (Note that FASLOAD has
8877        never handled uninterned symbols that need a binding index.)
8878
88792006-04-07 07:55  gb
8880
8881        * lib/describe.lisp: Formatting changes, mostly.
8882
88832006-04-07 07:54  gb
8884
8885        * compiler/X86/x862.lisp: multiple-value-calls need to reserve an
8886        outgoing stack frame when more than 3 args/ values are involved.
8887
88882006-04-07 07:53  gb
8889
8890        * lisp-kernel/x86-spentry64.s, lisp-kernel/x86-spjump64.s,
8891        compiler/X86/X8664/x8664-arch.lisp,
8892        compiler/X86/X8664/x8664-vinsns.lisp: _SPrecover-values-for-mvcall
8893        (reserves outgoing frame if necessary.)
8894
88952006-04-07 07:52  gb
8896
8897        * level-1/ppc-trap-support.lisp: %CONS-FAKE-STACK-FRAME moved to
8898        lispequ.
8899
89002006-04-07 06:28  gb
8901
8902        * compiler/X86/X8664/x8664-vinsns.lisp: pop argument regs in the
8903        right order.
8904
89052006-04-07 06:27  gb
8906
8907        * level-0/X86/x86-misc.lisp: VALUES accounts for reserved frame.
8908
89092006-04-07 03:59  gb
8910
8911        * compiler/X86/x862.lisp: Don't push the function on the "value"
8912        stack when doing a MULTIPLE-VALUE-CALL, since its presence there
8913        can interfere with multiple-value continuations.  (Can it be popped
8914        before recovering multiple values ?  I didn't think of that, but I
8915        suspect that that'd be simpler than what I did; check this.  Maybe
8916        there is -or once was- an issue with _SPrecovervalues bashing a
8917        register.)
8918       
8919        Pushing the function on the temp stack while collecting multiple
8920        values avoids the issue (but it may be far better to simply vpop it
8921        before the call to _SPrecovervalues.)
8922       
8923        Most of the issues related to X862-MVCALL calling itself
8924        recursively have to do with cleaning the function off of the stack
8925        in non tail-call cases.  Since the function's not there anymore,
8926        the rationale for splitting this into a base and recursive case
8927        isn't very strong.
8928       
8929        Changes in X862-MVCALL exposed bugs in X862-INVOKE-FN: we don't
8930        want to emit or otherwise reference the mvpass label if it's null.
8931
89322006-04-07 03:51  gb
8933
8934        * compiler/X86/X8664/x8664-vinsns.lisp: TEMP-PUSH-NODE,
8935        TEMP-POP-NODE.
8936
89372006-04-06 21:27  gb
8938
8939        * lib/db-io.lisp: CDB-HASH-MASK happens to be =
8940        PPC32::TARGET-MOST-POSITIVE-FIXNUM.
8941
89422006-04-06 21:26  gb
8943
8944        * level-1/x86-trap-support.lisp: Bugs, not worth describing in
8945        detail.
8946
89472006-04-06 21:25  gb
8948
8949        * level-1/x86-error-signal.lisp: Bugs, not worth describing in
8950        detail ...
8951
89522006-04-06 21:24  gb
8953
8954        * level-1/l1-lisp-threads.lisp: Simplify CFP-LFUN.
8955
89562006-04-06 21:23  gb
8957
8958        * compiler/X86/X8664/x8664-backend.lisp: Fenceposts with the last
8959        gpr/fpr args.
8960
89612006-04-06 21:22  gb
8962
8963        * compiler/X86/X8664/x8664-arch.lisp: tcr->linear_end ->
8964        tcr->save_rbp.
8965
89662006-04-06 21:21  gb
8967
8968        * lisp-kernel/x86-spentry64.s: Maintain tcr->save_rbp on
8969        ffcall/callback.
8970
89712006-04-06 21:20  gb
8972
8973        * lisp-kernel/x86-exceptions.c: Setup tcr->save_rbp when doing a
8974        callback.
8975       
8976        Pass rpc to %ERR-DISP, as it expects.
8977
89782006-04-06 21:19  gb
8979
8980        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
8981        tcr->linear_end -> tcr->save_rbp.
8982
89832006-04-06 07:03  gb
8984
8985        * lisp-kernel/x86-exceptions.c: Call out to handle errors.
8986
89872006-04-06 07:03  gb
8988
8989        * lisp-kernel/linuxx8664/.gdbinit: Ignore more signals.
8990
89912006-04-06 06:44  gb
8992
8993        * compiler/X86/X8664/x8664-vinsns.lisp: Use new UUOs for
8994        slot-boundp checks, eep.address.
8995
89962006-04-06 06:43  gb
8997
8998        * compiler/X86/x862.lisp: X862-FIXUP-FWD-REFS: don't assume that
8999        functions are uvectors or that their constants start at index 1.
9000       
9001        PROGV: don't keep interrupts off in the body.
9002
90032006-04-06 05:58  gb
9004
9005        * compiler/X86/x86-asm.lisp: RESOLVE-EEP uuo needs source and dest
9006        registers to be recoverable.
9007       
9008        Use (int ($ #x8x)) for SLOT-UNBOUND, since it needs slot-vector,
9009        index, and dest reg to be recoverable.
9010       
9011        Note that the use of this range of (int N) operands may lead to
9012        confusion on platforms that use int #x80 for syscalls.  That (a)
9013        doesn't apply to x8664, since SYSCALL is present and used on x8664
9014        and (b) would only be a problem if the dest reg was %rax, which it
9015        won't be.
9016
90172006-04-06 05:53  gb
9018
9019        * lib/macros.lisp: DEFSETF for INTERRUPT-LEVEL here.
9020
90212006-04-06 05:53  gb
9022
9023        * level-0/l0-init.lisp: Better (useful) X8664 *FEATURES*.
9024
90252006-04-06 05:52  gb
9026
9027        * level-0/l0-hash.lisp: Remove some #+x86-target DBG traps.   Add a
9028        few fixnum decls in and around DO-REHASH.
9029
90302006-04-06 05:51  gb
9031
9032        * level-0/X86/x86-def.lisp: %RETURN-ADDRESS-FUNCTION: if argument
9033        is a "real" tagged return address, return the associated function.
9034
90352006-04-06 05:50  gb
9036
9037        * level-1/: x86-error-signal.lisp, x86-trap-support.lisp: Flesh
9038        this out some.  The FAKE-STACK-FRAME stuff isn't quite the right
9039        idea on X8664; may need to revise it.
9040
90412006-04-06 05:49  gb
9042
9043        * level-1/ppc-trap-support.lisp: Remove HANDLE-GC-HOOKS.
9044
90452006-04-06 05:49  gb
9046
9047        * level-1/ppc-threads-utils.lisp: DEFSETF for INTERRUPT-LEVEL moved
9048        ... anywhere but a platform-specific file.
9049
90502006-04-06 05:48  gb
9051
9052        * level-1/l1-events.lisp: HANDLE-GC-HOOKS isn't really
9053        platform-specific, so move it here.
9054
90552006-04-06 05:47  gb
9056
9057        * level-1/: l1-clos-boot.lisp, l1-clos.lisp: Hashing code expects
9058        instance.hash to be a fixnum, so violating that expectation (as was
9059        done a few weeks ago for debugging) fouls things up royally.  This
9060        may have led to instability on PPC as well.
9061
90622006-04-06 05:44  gb
9063
9064        * lisp-kernel/x86-exceptions.c: Return false (for now) on unhandled
9065        UUO.  (Need to merge code from another machine, which will try to
9066        call out to lisp.)
9067
90682006-04-06 05:43  gb
9069
9070        * lisp-kernel/pmcl-kernel.c: register_sigint_handler on x8664.
9071
90722006-04-05 06:57  gb
9073
9074        * lisp-kernel/x86-spentry64.s: nthrow variants: set %Rforeign_sp,
9075        not tcr slot.
9076       
9077        _SPcallback aligns the foreign stack the way that lisp expects.
9078
90792006-04-05 06:56  gb
9080
9081        * lisp-kernel/x86-exceptions.c: Handle more stuff, including
9082        interrupt callbacks.
9083
90842006-04-05 06:55  gb
9085
9086        * library/x8664-linux-syscalls.lisp: GETUID was wrong.
9087
90882006-04-05 06:55  gb
9089
9090        * level-1/x86-trap-support.lisp: VERY early callback for interrupt
9091        handling.
9092
90932006-04-05 06:54  gb
9094
9095        * level-1/l1-callbacks.lisp: Comment format
9096
90972006-04-05 06:54  gb
9098
9099        * level-0/X86/x86-utils.lisp: Arg order in lap macros.
9100
91012006-04-05 06:54  gb
9102
9103        * level-0/l0-pred.lisp: Get *IMMHEADER-2-TYPES* (or whatever it's
9104        called) right.
9105
91062006-04-05 06:53  gb
9107
9108        * compiler/X86/X8664/x8664-backend.lisp: DEFCALLBACK guts for
9109        X8664.
9110
91112006-04-05 05:20  gb
9112
9113        * lisp-kernel/x86-exceptions.c: Do some callbacks.  Let's see if
9114        they work yet.
9115
91162006-04-05 05:19  gb
9117
9118        * lisp-kernel/x86-spentry64.s: Use interrupt-checking macros.  Fix
9119        callback typos.
9120
91212006-04-05 05:19  gb
9122
9123        * lisp-kernel/x86-macros.s: Check for interrupts, and do so when we
9124        know that they've just become enabled.
9125
91262006-04-05 05:17  gb
9127
9128        * lisp-kernel/x86-exceptions.c: Set high bit of tcr->interrupt
9129        pending when there's ... a pending interrupt.
9130
91312006-04-05 05:17  gb
9132
9133        * lisp-kernel/x86-exceptions.h: Define xuuo stuff.
9134
91352006-04-04 21:47  gb
9136
9137        * lisp-kernel/x86-spentry64.s: callback changes.
9138
91392006-04-04 21:47  gb
9140
9141        * lisp-kernel/lisp-debug.c: rip "=", not "-".
9142
91432006-04-04 21:46  gb
9144
9145        * lisp-kernel/linuxx8664/.gdbinit: Ignore SIGPWR, until we know
9146        better.
9147
91482006-04-04 18:51  gb
9149
9150        * lisp-kernel/pmcl-kernel.c: Wimp out, back to 128GB for
9151        LinuxPPC64.
9152
91532006-04-04 18:50  gb
9154
9155        * level-1/linux-files.lisp: Don't use %GET-NATURAL in Linux version
9156        of PIPE, since file descriptors are always C ints.
9157
91582006-04-04 18:03  gb
9159
9160        * compiler/PPC/PPC32/ppc32-backend.lisp,
9161        compiler/PPC/PPC64/ppc64-backend.lisp, lib/macros.lisp: callback
9162        implementation moved to the backend.
9163
91642006-04-04 18:02  gb
9165
9166        * lib/arglist.lisp: ARGLIST-FROM-MAP: get &rest name right when
9167        &key is also present.
9168
91692006-04-04 16:10  gb
9170
9171        * lisp-kernel/pmcl-kernel.c: linuxppc64 can't mmap 512GB; try
9172        256GB.
9173
91742006-04-04 15:52  gb
9175
9176        * level-1/version.lisp: Bump. New images soon.
9177
91782006-04-04 15:52  gb
9179
9180        * compiler/backend.lisp: Add slots for callback definition.
9181
91822006-04-04 15:52  gb
9183
9184        * compiler/nx0.lisp: Remove a #-bccl.
9185
91862006-04-04 15:26  gb
9187
9188        * lisp-kernel/x86_print.c: print_unsigned_hex: conditionalize on
9189        word size.
9190
91912006-04-04 15:26  gb
9192
9193        * lisp-kernel/x86-spentry64.s: First cut of _SPcallback.
9194
91952006-04-04 15:26  gb
9196
9197        * lisp-kernel/x86-macros.s: Catch frames save foreign sp from
9198        register, not from tcr slot.
9199
92002006-04-04 15:25  gb
9201
9202        * lisp-kernel/x86-exceptions.c: Uncomment the body of
9203        interrupt_handler.
9204
92052006-04-04 15:18  gb
9206
9207        * compiler/lambda-list.lisp: %LFUN-INFO & friends: do
9208        (FUNCTION-TO-FUNCTION-VECTOR).
9209
92102006-04-04 15:18  gb
9211
9212        * compiler/X86/x86-lapmacros.lisp: check-nargs: bad comparison on
9213        max when both min and max.
9214
92152006-04-04 15:18  gb
9216
9217        * lib/macros.lisp: spurious checkin; no real change
9218
92192006-04-03 23:01  gb
9220
9221        * lisp-kernel/x86-gc.c: Make purify() a nop, for now.
9222
92232006-04-03 22:43  gb
9224
9225        * scripts/openmcl64: Maybe (check for x8664 Linux is untested).
9226
92272006-04-03 22:42  gb
9228
9229        * lisp-kernel/bits.h: Constants are word-size (not CPU-variant)
9230        -specific.
9231
92322006-04-03 22:42  gb
9233
9234        * lisp-kernel/pmcl-kernel.c: 512GB MAXIMUM_MAPPABLE_MEMORY on
9235        x8664/Linux as well.
9236
92372006-04-03 22:41  gb
9238
9239        * lisp-kernel/ppc-gc.c: Remove X86 conditionalization.  Maybe merge
9240        x86-gc.c and ppc-gc.c back into a single file someday (or at least
9241        put truly shared code there),but for now this is simpler.
9242
92432006-04-03 22:38  gb
9244
9245        * lisp-kernel/x86-exceptions.c: A little more infrastructure, so
9246        that we can actually call the GC.
9247
92482006-04-03 22:37  gb
9249
9250        * lisp-kernel/x86-exceptions.h: Define UUO, trap opcodes.
9251
92522006-04-03 22:36  gb
9253
9254        * lisp-kernel/x86-gc.c: It's ... alive.
9255
92562006-04-03 22:36  gb
9257
9258        * lisp-kernel/x86-spentry64.s: Use new vector bounds traps. How
9259        about boundp checks ?
9260
92612006-04-03 22:35  gb
9262
9263        * lisp-kernel/x86-uuo.s: New uuo definitions.
9264
92652006-04-03 22:35  gb
9266
9267        * lib/macros.lisp: DO-GC-AREAS,which is one of those macro things,
9268        moved here. Uses archmacro AREA-SUCC (defined here) to avoid
9269        TARGET-ARCH-CASE lossage.
9270
92712006-04-03 22:34  gb
9272
9273        * level-1/l1-lisp-threads.lisp: DO-GC-AREAS,which is one of those
9274        macro things, moved to macros.lisp.
9275
92762006-04-03 22:33  gb
9277
9278        * level-0/X86/x86-misc.lisp: Zero out all of the write-lock's
9279        writer slot, not just the low half.
9280
92812006-04-03 22:32  gb
9282
9283        * level-0/PPC/ppc-utils.lisp: TRUE, FALSE : cmplr vs cmplri.
9284        Typical rookie PPC assembler mistake ...
9285
92862006-04-03 22:31  gb
9287
9288        * level-0/l0-misc.lisp: %FREEBYTES looked like a job for
9289        %GET-NATURAL.
9290
92912006-04-03 22:31  gb
9292
9293        * compiler/X86/X8664/x8664-vinsns.lisp: Use newfangled UUOs.
9294
92952006-04-03 22:30  gb
9296
9297        * compiler/X86/x86-asm.lisp: Add UUO-ERROR-UNBOUND,
9298        UUO-ERROR-SLOT-UNBOUND, UUO-ERROR-EEP-UNRESOLVED.
9299
93002006-04-03 22:29  gb
9301
9302        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
9303        X86/X8664/x8664-arch.lisp: AREA-SUCC archmacro.
9304
93052006-04-01 23:36  gb
9306
9307        * lisp-kernel/x86-exceptions.h: xpMMXreg, sigaltstack stuff.
9308
93092006-04-01 23:35  gb
9310
9311        * lisp-kernel/x86-exceptions.c: take signals on an alternate signal
9312        stack, run the handler on the foreign stack (this is all intended
9313        to keep signal handlers from splatting sigcontexts all over the
9314        tagged lisp stack.)
9315
93162006-04-01 23:33  gb
9317
9318        * lisp-kernel/x86-constants64.h: mmx register indices.
9319
93202006-04-01 23:33  gb
9321
9322        * lisp-kernel/x86-asmutils64.s: switch_to_foreign_stack().
9323
93242006-04-01 23:32  gb
9325
9326        * lisp-kernel/thread_manager.c: register_cstack_holding_area_lock()
9327        takes a natural stack size.
9328
93292006-04-01 23:32  gb
9330
9331        * lisp-kernel/pmcl-kernel.c: register_cstack_holding_area_lock()
9332        takes a natural stack size, sets up alternate signal stack if
9333        USE_SIGALTSTACK.
9334
93352006-04-01 23:31  gb
9336
9337        * lisp-kernel/lisp.h: USE_SIGALTSTACK if X8664.  (Might someday
9338        depend on platform.)
9339
93402006-03-31 23:15  gb
9341
9342        * lisp-kernel/linuxx8664/Makefile: gc.o -> x86-gc.o
9343
93442006-03-31 23:00  gb
9345
9346        * lisp-kernel/x86-gc.c: New file; currently, an exact copy of
9347        ppc-gc.c, but they'll diverge some soon.
9348
93492006-03-31 22:56  gb
9350
9351        * lisp-kernel/: linuxppc/Makefile, linuxppc64/Makefile,
9352        static-linuxppc/Makefile: gc.o -> ppc-gc.o
9353
93542006-03-31 22:52  gb
9355
9356        * lisp-kernel/: darwinppc/Makefile, darwinppc64/Makefile: gc.o ->
9357        ppc-gc.o
9358
93592006-03-31 22:51  gb
9360
9361        * lisp-kernel/area.h: Need prototype for heap_area_containing().
9362        heap_node_area_containing(), which doesn't exist ... not so much.
9363
93642006-03-31 22:50  gb
9365
9366        * lisp-kernel/memory.c: Some functions moved here from gc.c before
9367        it was renamed/split.
9368
93692006-03-31 22:48  gb
9370
9371        * lisp-kernel/gc.c: rename/split
9372
93732006-03-31 22:46  gb
9374
9375        * lisp-kernel/ppc-gc.c: renamed
9376
93772006-03-31 00:54  gb
9378
9379        * lisp-kernel/x86-spentry64.s: Progvsave, progvrestore seem to
9380        work.
9381       
9382        Not sure about the tail end of the multiple-value case of THROW,
9383        but at least it's there.
9384
93852006-03-31 00:53  gb
9386
9387        * library/x8664-linux-syscalls.lisp: still need work, but more
9388        stuff (including socket syscalls) are defined now.
9389
93902006-03-31 00:52  gb
9391
9392        * level-1/version.lisp: Bump.
9393
93942006-03-31 00:52  gb
9395
9396        * level-1/l1-sockets.lisp: Conditionalize lots for x8664.
9397
93982006-03-31 00:51  gb
9399
9400        * level-0/X86/x86-def.lisp: No debug trap in %CFP-LFUN.
9401
94022006-03-31 00:50  gb
9403
9404        * level-0/l0-init.lisp: Simplify *FEATURES* init a little.  Try to
9405        ensure that :linuxx8664-target is there if it should be.
9406
94072006-03-31 00:46  gb
9408
9409        * compiler/X86/X8664/x8664-arch.lisp: Define
9410        MAX-8-BIT-IVECTOR-SUBTAG, too.
9411
94122006-03-30 03:23  gb
9413
9414        * level-1/l1-aprims.lisp: ELEMENT-SUBTYPE-TYPE for x8664.
9415
94162006-03-30 03:22  gb
9417
9418        * level-1/l1-boot-2.lisp: Load some x8664 files,
9419
94202006-03-30 03:21  gb
9421
9422        * level-1/l1-boot-3.lisp: Comments and formatting.
9423
94242006-03-30 03:20  gb
9425
9426        * level-1/l1-clos-boot.lisp: Some x8664 changes.
9427
94282006-03-30 03:20  gb
9429
9430        * level-1/l1-clos.lisp: Use REPLACE-FUNCTION-CODE another time or
9431        two.
9432       
9433        Set class's INSTANCE.HASH slots to class name, to make classes
9434        easier to identify in kernel debugger.  (Might not want to keept
9435        this, but could set/clear a bit there.)
9436
94372006-03-30 03:18  gb
9438
9439        * level-1/: l1-files.lisp, l1-dcode.lisp: Comments and formatting
9440        changes only.
9441
94422006-03-30 03:17  gb
9443
9444        * level-1/l1-lisp-threads.lisp: Start to move some stuff into
9445        platform-dependent files.
9446
94472006-03-30 03:16  gb
9448
9449        * level-1/: l1-pathnames.lisp, l1-numbers.lisp: Conditionalize.
9450
94512006-03-30 03:16  gb
9452
9453        * level-1/l1-streams.lisp: 64-bit conditionalization, and x8664
9454        stuff.
9455
94562006-03-30 03:15  gb
9457
9458        * level-1/l1-typesys.lisp: 64-bit array type on all (both) 64-bit
9459        platforms.
9460
94612006-03-30 03:13  gb
9462
9463        * level-1/l1-utils.lisp: TRUE and FALSE now in LAP.
9464
94652006-03-30 03:13  gb
9466
9467        * level-1/level-1.lisp: Load "new" x8664 files.
9468
94692006-03-30 03:12  gb
9470
9471        * level-1/linux-files.lisp: Conditionalize some for x8664.
9472
94732006-03-30 03:12  gb
9474
9475        * level-1/ppc-threads-utils.lisp: Some stuff moved here from
9476        l1-lisp-threads.
9477
94782006-03-30 03:11  gb
9479
9480        * lib/compile-ccl.lisp: X8664-related changes.
9481
94822006-03-30 03:11  gb
9483
9484        * lib/foreign-types.lisp: Setup host-ftd based on compile-time
9485        target.  Yow, recursion.
9486
94872006-03-30 03:10  gb
9488
9489        * lib/macros.lisp: LET-GLOBALLY deals with symptr/symvector stuff.
9490
94912006-03-30 03:10  gb
9492
9493        * lib/misc.lisp: Fix Linux MACHINE-INSTANCE.
9494       
9495        Move DISASSEMBLE and interface here.
9496
94972006-03-30 03:09  gb
9498
9499        * lib/nfcomp.lisp: Conditionalize for x8664; dump native functions
9500        via fasl-clfun.
9501
95022006-03-30 03:08  gb
9503
9504        * lib/prepare-mcl-environment.lisp: Needed symptr/symvector stuff.
9505
95062006-03-30 03:08  gb
9507
9508        * lib/systems.lisp: Add new x86 level-1 stuff; remove some truly
9509        ancient MCLisms.
9510
95112006-03-30 03:06  gb
9512
9513        * library/x8664-linux-syscalls.lisp: Some fixes and additions, but
9514        still needs lots of work.
9515
95162006-03-30 03:06  gb
9517
9518        * lisp-kernel/x86_print.c: If instance.hash of an instance isn't a
9519        fixnum, treat it as a class name.  (Hard to otherwise recognize
9520        classes from the kernel.)
9521
95222006-03-30 03:04  gb
9523
9524        * lisp-kernel/x86-spjump64.s: rename poweropen_callback ->callback.
9525
95262006-03-30 03:04  gb
9527
9528        * lisp-kernel/x86-spentry64.s: Lots of bug fixes.
9529       
9530        Multiple-value THROW still needs work, and CALLBACK still needs to
9531        be written (both sides).
9532
95332006-03-30 03:02  gb
9534
9535        * lisp-kernel/x86-constants64.s: No FPSCR here, but an MXCSR.
9536
95372006-03-30 03:01  gb
9538
9539        * lisp-kernel/ppc-spentry.s: Error call in misc_set_invalid
9540        involves 4 args.
9541
95422006-03-30 03:00  gb
9543
9544        * lisp-kernel/pmcl-kernel.c: Larger GC defaults if 64-bit, not just
9545        PPC64.
9546       
9547        Insist on Linux kernel 2.6 if x8664 linux.
9548
95492006-03-30 02:59  gb
9550
9551        * lisp-kernel/plsym.c: Missing #\% in format string.
9552
95532006-03-30 02:56  gb
9554
9555        * lisp-kernel/linuxx8664/.gdbinit: More stuff.
9556
95572006-03-30 02:55  gb
9558
9559        * level-1/: x86-callback-support.lisp, x86-error-signal.lisp,
9560        x86-threads-utils.lisp, x86-trap-support.lisp: Nee files.
9561
95622006-03-30 02:54  gb
9563
9564        * level-0/X86/X8664/x8664-bignum.lisp: Remove debug traps from
9565        things that're believed to be working.
9566
95672006-03-30 02:54  gb
9568
9569        * level-0/X86/x86-utils.lisp: CLASS-OF changes/fixes.  Move
9570        #'TRUE/#'FALSE here.
9571
95722006-03-30 02:53  gb
9573
9574        * level-0/X86/x86-symbol.lisp: %SYMPTR->SYMBOL: check for nilsym,
9575        not NIL.
9576
95772006-03-30 02:52  gb
9578
9579        * level-0/X86/x86-numbers.lisp: %FIXNUM-TRUNCATE: return results in
9580        the right order.
9581       
9582        %IASL: shift the right register.
9583
95842006-03-30 02:51  gb
9585
9586        * level-0/X86/x86-misc.lisp: Fix %FUDGE-HEAP-POINTER; define
9587        INTERRUPT-LEVEL.
9588
95892006-03-30 02:51  gb
9590
9591        * level-0/X86/x86-float.lisp: %get-mxcsr stores the mxcsr in memory
9592        so that we can load it into a fixnum.
9593
95942006-03-30 02:50  gb
9595
9596        * level-0/X86/x86-def.lisp: %CFP-LFUN: try to recognize
9597        multiple-value returning calls, return NIL if tra offset is 0.
9598
95992006-03-30 02:49  gb
9600
9601        * level-0/X86/x86-clos.lisp: Remove debug traps; use registers
9602        sanely in the SETF case.
9603
96042006-03-30 02:48  gb
9605
9606        * level-0/PPC/ppc-utils.lisp: Implement TRUE and FALSE in LAP.
9607
96082006-03-30 02:48  gb
9609
9610        * level-0/PPC/ppc-clos.lisp: Change the name of a constant that'll
9611        get clobbered when this is cloned anyway.  (Is that clear ?)
9612
96132006-03-30 02:47  gb
9614
9615        * level-0/l0-pred.lisp: %TYPE-OF fixes for x8664.
9616       
9617        We haven't had interpreted functions for a few years.
9618
96192006-03-30 02:46  gb
9620
9621        * level-0/l0-float.lisp: %SET-DOUBLE-FLOAT-EXP: endianness, use
9622        symbolic constant for high word.
9623
96242006-03-30 02:45  gb
9625
9626        * level-0/l0-array.lisp: SUBTAG-BYTES for X8664.
9627
96282006-03-30 02:45  gb
9629
9630        * compiler/X86/X8664/x8664-vinsns.lisp: Lots of bug fixes.
9631
96322006-03-30 02:44  gb
9633
9634        * compiler/X86/X8664/x8664-arch.lisp: REQUIRE what we need.
9635       
9636        Get CATCH-FRAME definition right.
9637       
9638        .SPpoweropen-callback -> .SPcallback.
9639
96402006-03-30 02:43  gb
9641
9642        * compiler/X86/x862.lisp: Lots of changes and bugfixes.
9643
96442006-03-30 02:42  gb
9645
9646        * compiler/X86/x86-lap.lisp: Avid path in REQUIRE; create native
9647        functions.
9648
96492006-03-30 02:42  gb
9650
9651        * compiler/X86/x86-disassemble.lisp: Run natively: provide
9652        X8664-XDISASSEMBLE.
9653
96542006-03-30 02:41  gb
9655
9656        * compiler/X86/x86-asm.lisp: Assemble things (uuos) with a "pseudo"
9657        ModRM byte, which allows encoding two 4-bit x8664 registers in a
9658        single byte.
9659
96602006-03-30 02:40  gb
9661
9662        * compiler/X86/x86-arch.lisp: Need to explicitly (REQUIRE "ARCH").
9663
96642006-03-30 02:39  gb
9665
9666        * compiler/PPC/PPC64/ppc64-arch.lisp: Define high and low 32-bit
9667        parts of a DOUBLE-FLOAT.
9668
96692006-03-30 02:39  gb
9670
9671        * compiler/PPC/ppc-disassemble.lisp: DISASSEMBLE and
9672        FUNCTION-FOR-DISASSEMBLY moved elsewhere.
9673
96742006-03-25 20:47  gb
9675
9676        * lisp-kernel/lisp-debug.c: Fix x8664 lisp register display.
9677
96782006-03-25 20:42  gb
9679
9680        * lib/ccl-export-syms.lisp: Fix export of CCL::GETENV and
9681        CCL::SETENV.
9682
96832006-03-25 20:37  gb
9684
9685        * lisp-kernel/x86-spentry64.s: Dozens of bug fixes.
9686       
9687        Do uvref (not yet uvset) via jump table.
9688
96892006-03-25 20:36  gb
9690
9691        * lisp-kernel/x86-macros.s: Do arithmetic correctly in Cons macro.
9692       
9693        Split up Misc_Alloc.
9694
96952006-03-25 20:34  gb
9696
9697        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Tag juggling.
9698
96992006-03-25 20:34  gb
9700
9701        * lisp-kernel/ppc_print.c: Identify SLOT-VECTORs in kernel
9702        debugger.
9703
97042006-03-25 20:33  gb
9705
9706        * lisp-kernel/errors.s: Add some error numbers for uvref/uvset
9707        failures that should never happen.
9708
97092006-03-25 20:32  gb
9710
9711        * lisp-kernel/lisp-debug.c: Change x8664 lisp register display.
9712
97132006-03-25 20:32  gb
9714
9715        * lisp-kernel/gc.c: IMPURIFY: maybe grow the dynamic area, but
9716        don't shrink it.
9717
97182006-03-25 20:31  gb
9719
9720        * lisp-kernel/plsym.c: Symbol address may be longer than 32 bits.
9721
97222006-03-25 20:31  gb
9723
9724        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s: sgbuf has
9725        been lisp_thread for the past few years.
9726
97272006-03-25 20:30  gb
9728
9729        * lisp-kernel/ppc-spentry.s: Do uvref/uvset via jump tables.
9730        (Fewer branches, more redundancy.)
9731
97322006-03-25 20:29  gb
9733
9734        * lisp-kernel/x86_print.c: Identify SLOT-VECTORs.  Print TRAs.
9735
97362006-03-25 20:28  gb
9737
9738        * lisp-kernel/xlbt.c: Skip over lexpr nonsense.
9739
97402006-03-25 20:28  gb
9741
9742        * lisp-kernel/linuxx8664/.gdbinit: More GDB macros.
9743
97442006-03-25 20:27  gb
9745
9746        * library/lispequ.lisp: %GF-DISPATCH-TABLE-REF uses %SVREF.
9747
97482006-03-25 20:26  gb
9749
9750        * lib/misc.lisp: MACHINE-VERSION caches the result per-session;
9751        looks in /proc/cpuinfo for something machine-dependent on Linux,
9752        passes 64-bit stuff on DarwinPPC64.
9753
97542006-03-25 20:25  gb
9755
9756        * lib/macros.lisp: LFUN-BITS-KNOWN-FUNCTIONS uses arch macros to
9757        access function vector.
9758
97592006-03-25 20:23  gb
9760
9761        * level-1/version.lisp: Bump.
9762
97632006-03-25 20:23  gb
9764
9765        * level-1/l1-io.lisp: No more interpreted functions.
9766
97672006-03-25 20:23  gb
9768
9769        * level-1/l1-dcode.lisp: Mostly comment and formatting changes.
9770
97712006-03-25 20:22  gb
9772
9773        * level-1/l1-clos.lisp: Fix typos in x86 function cloning;
9774        comment/formatting changs.
9775
97762006-03-25 20:21  gb
9777
9778        * level-1/l1-clos-boot.lisp: Lots of formatting changes; try to use
9779        DEFGLOBAL, since special variable lookup is ~10 instructions or so.
9780
97812006-03-25 20:20  gb
9782
9783        * level-1/l1-boot-1.lisp: HOST-PLATFORM, PLATFORM-DESCRIPTION:
9784        generalize, a little.
9785
97862006-03-25 20:19  gb
9787
9788        * level-1/l1-aprims.lisp: LFUN-KEYVECT access function vector, if
9789        that's not the function.  NREVERSE checks for NIL, mostly so I
9790        wouldn't have to single-step through that case in GDB.
9791
97922006-03-25 20:18  gb
9793
9794        * level-0/X86/X8664/x8664-bignum.lisp: Shift in the correct
9795        direction, sign-extend (or don't) as apropriate, etc.  Still some
9796        debug traps on things that haven't been called yet.
9797
97982006-03-25 20:17  gb
9799
9800        * level-0/X86/x86-utils.lisp: CLASS-OF fixes.
9801
98022006-03-25 20:17  gb
9803
9804        * level-0/X86/x86-pred.lisp: If the recursive list case of EQUAL
9805        fails, fail; don't fall into the uvector case ...
9806
98072006-03-25 20:16  gb
9808
9809        * level-0/X86/x86-numbers.lisp: Fenceposts in fixnum
9810        integer-length.
9811
98122006-03-25 20:15  gb
9813
9814        * level-0/X86/x86-hash.lisp: Strip-tag-to-fixnum without shifts.
9815
98162006-03-25 20:15  gb
9817
9818        * level-0/X86/x86-def.lisp: Stuff here seems to work, so far ...
9819
98202006-03-25 20:14  gb
9821
9822        * level-0/X86/x86-clos.lisp: debug traps on slot-lookup LAP
9823        prototypes.
9824
98252006-03-25 20:12  gb
9826
9827        * level-0/l0-pred.lisp: rearrange %type-of for tag changes.
9828
98292006-03-25 20:12  gb
9830
9831        * level-0/l0-numbers.lisp: No need to specify an initial value 0
9832        when stack-consing a bignum in %BIGNUM-RANDOM.  Add a fixnum decl
9833        or two.
9834
98352006-03-25 20:11  gb
9836
9837        * level-0/l0-hash.lisp: Symbol aren't (necessarily) uvectors. X86
9838        breakpoints if we hash any symbols ...
9839
98402006-03-25 20:09  gb
9841
9842        * level-0/l0-bignum64.lisp: Um, most of this is supposed to be
9843        #+64-bit-target, not #+ppc64-target.
9844
98452006-03-25 20:09  gb
9846
9847        * compiler/X86/X8664/x8664-vinsns.lisp:
9848        SET-CLOSURE-FORWARD-REFERENCE: functions aren't uvectors.
9849       
9850        Lots of other changes/fixes.
9851
98522006-03-25 20:08  gb
9853
9854        * compiler/X86/X8664/x8664-arch.lisp: Tag reorganization.
9855       
9856        MISC-SYMBOL-OFFSET, MISC-FUNCTION-OFFSET.
9857       
9858        FUNCTION-TO-FUNCTION-VECTOR, FUNCTION-VECTOR-TO-FUNCTION arch
9859        macros have something to do here.
9860
98612006-03-25 20:06  gb
9862
9863        * compiler/X86/x862.lisp: Some operators can push results directly.
9864       
9865        Lots of bug fixes.
9866
98672006-03-25 20:05  gb
9868
9869        * compiler/X86/x86-asm.lisp: CMPB: accept signed/unsigned
9870        immediate.
9871
98722006-03-25 20:04  gb
9873
9874        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Arch
9875        macros for FUNCTION-TO-FUNCTION-VECTOR and
9876        FUNCTION-VECTOR-TO-FUNCTION.
9877       
9878        (NOPs.)
9879
98802006-03-25 20:03  gb
9881
9882        * compiler/optimizers.lisp: MACPTRP.
9883
98842006-03-25 20:03  gb
9885
9886        * compiler/nx.lisp: COMPILE: don't check for INTERPRETED-FUNCTION,
9887        unless/until we have them again (in some form.)
9888
98892006-03-20 10:05  gwking
9890
9891        * lib/ccl-export-syms.lisp: Exporting getenv and setenv from CCL
9892
98932006-03-19 20:30  gb
9894
9895        * lisp-kernel/x86-spentry64.s: Old-style destructuring, VALUES.
9896
98972006-03-19 20:29  gb
9898
9899        * lisp-kernel/x86-constants64.s: Define %nargs_b.
9900
99012006-03-19 20:29  gb
9902
9903        * lisp-kernel/x86-constants.s: Define registers/bitfields used in
9904        old-style destructuring subprims.
9905
99062006-03-19 20:28  gb
9907
9908        * library/lispequ.lisp: $XNOFINFUNCTION.
9909
99102006-03-19 20:27  gb
9911
9912        * lib/level-2.lisp: Conditionalize out bit, bitfield accessors
9913        until they work ...
9914
99152006-03-19 20:27  gb
9916
9917        * lib/backtrace-lds.lisp: Conditionalize
9918        GET-REGISTER-VALUE/SET-REGISTER-VALUE catch frame access.
9919
99202006-03-19 20:26  gb
9921
9922        * level-1/: l1-clos-boot.lisp, l1-clos.lisp, l1-dcode.lisp:
9923        Conditionalize, mostly for whether the implementation has separate
9924        code-vector and function objects or not. (ppc vs x86, for now.)
9925
99262006-03-19 20:25  gb
9927
9928        * level-0/X86/x86-numbers.lisp: %FIXNUM-GCD.  Slower then the one
9929        that counts bits, but doesn't need as many registers.
9930
99312006-03-19 20:24  gb
9932
9933        * level-0/X86/x86-def.lisp: Do the lexpr/methd-context apply stuff.
9934         %X86-CLONE-FUNCTION, REPLACE-FUNCTION-CODE.
9935       
9936        Wouldn't hurt to do some typechecking in some of the lap code here.
9937
99382006-03-19 20:22  gb
9939
9940        * level-0/X86/x86-clos.lisp: Yet.
9941
99422006-03-19 20:22  gb
9943
9944        * level-0/PPC/ppc-def.lisp: REPLACE-FUNCTION-CODE abstraction.
9945
99462006-03-19 20:22  gb
9947
9948        * level-0/PPC/ppc-clos.lisp: UNSET-FIN-TRAMPOLINE doesn't reference
9949        constants.  (This could neve  have worked.)
9950
99512006-03-19 20:21  gb
9952
9953        * level-0/l0-error.lisp: Replace error format string 9.
9954
99552006-03-19 20:20  gb
9956
9957        * compiler/X86/X8664/x8664-vinsns.lisp: &lexpr fixes, old-style
9958        destructuring.
9959
99602006-03-19 20:20  gb
9961
9962        * compiler/X86/X8664/x8664-arch.lisp: Add the xtra slot to
9963        lisp-frame.  yield syscall, gf-code-size.
9964
99652006-03-19 20:19  gb
9966
9967        * compiler/X86/x862.lisp: Fix some lexpr confusion, mv-call
9968        recursive problems.
9969
99702006-03-19 20:18  gb
9971
9972        * compiler/X86/x86-lapmacros.lisp: SAVE-FRAME-VARIABLE-ARG-COUNT,
9973        CALL-SUBPRIM.
9974
99752006-03-19 20:17  gb
9976
9977        * compiler/X86/x86-lap.lisp: Support :CODE-SIZE and :ORG
9978        directives.  Change :CONSTANTS to :FIXED-CONSTANTS.
9979
99802006-03-19 20:16  gb
9981
9982        * compiler/nx1.lisp: Can use MAKE-ARRAY rather than MAKE-SEQUENCE.
9983
99842006-03-17 23:38  gb
9985
9986        * xdump/xfasload.lisp: Special case references to NIL in package
9987        htabs.
9988       
9989        Leave deleted markers behind for symbols that we haven't seen
9990        references to; leave empty (0) words empty.
9991
99922006-03-17 23:36  gb
9993
9994        * lisp-kernel/linuxx8664/.gdbinit: Add a few lisp debugging things.
9995
99962006-03-17 23:36  gb
9997
9998        * lisp-kernel/xlbt.c: Recognize multiple-value returning frames and
9999        find the real tra underneath ret1valn.
10000
100012006-03-17 23:35  gb
10002
10003        * lisp-kernel/x86-spentry64.s: "gen" tcalls had the same bug as the
10004        known-stack-args cases did several days ago.
10005
100062006-03-17 23:34  gb
10007
10008        * lisp-kernel/x86-macros.s: New do_funcall().
10009
100102006-03-17 23:33  gb
10011
10012        * lisp-kernel/x86-exceptions.c: When we field an alloc trap, make
10013        sure that both the allocptr register and the save_allocptr slot in
10014        the TCR are updated and consistent with each other.
10015
100162006-03-17 23:32  gb
10017
10018        * lisp-kernel/x86-constants64.h: A lisp frame may have two return
10019        addresses (one for the multiple-value mechanism and the real one.)
10020
100212006-03-17 23:31  gb
10022
10023        * lisp-kernel/plsym.c: If there's such a thing as fulltag_symbol,
10024        try to use it.
10025
100262006-03-17 23:29  gb
10027
10028        * level-0/X86/x86-symbol.lisp: Symptr/symvector deconflation.
10029
100302006-03-17 23:28  gb
10031
10032        * level-0/X86/x86-pred.lisp: Add %LISP-LOWBYTE-REF; could be
10033        open-coded (and may once have been.)
10034
100352006-03-17 23:27  gb
10036
10037        * level-0/nfasload.lisp: Some SYMPTR->SYMVECTOR usage.  Define
10038        %FASL-READ-SIGNED-LONG;  use it in a few places.  Assume that
10039        scalar integers are stored big-endian; construct native-endian
10040        integers from them.
10041
100422006-03-17 23:26  gb
10043
10044        * level-0/l0-symbol.lisp: Lots of SYMPTR->SYMVECTOR usage.
10045
100462006-03-17 23:25  gb
10047
10048        * level-0/l0-pred.lisp: Do %TYPE-OF for x8664.
10049
100502006-03-17 23:24  gb
10051
10052        * level-0/l0-def.lisp: Use SYMPTR->SYMVECTOR where necessary, so
10053        that we can %SVREF around in symbols.
10054       
10055        A little light reorganization, to make it easier to add debugging
10056        breakpoints for things like FUNCTION-NAME.
10057
100582006-03-17 23:22  gb
10059
10060        * compiler/X86/X8664/x8664-vinsns.lisp: Kinder, gentler
10061        CHECK-MISC-BOUND.  (What was I thinking ?)
10062       
10063        More cleanup to FUNCALL and variants.
10064       
10065        MAKE-TSP-CONS: fix braindamage, use only one register.  (Need to
10066        write down pc-luser-xp constraints for TSP allocation, but I think
10067        that this meets the current artist's conception of them.)
10068       
10069        %SYMBOL->SYMPTR does what it does on other platforms (e.g., map NIL
10070        to a proxy symbol and/or insist on a real symbol.)
10071        %SYMPTR->SYMVECTOR maps something tagged as a symbol to the
10072        underlying uvector by playing with tag bits, and %SYMVECTOR->SYMPTR
10073        does the inverse.
10074       
10075        There were two definitions of %SCHARCODE in the file; the later one
10076        (that took effect) was completely wrong.
10077
100782006-03-17 23:05  gb
10079
10080        * compiler/X86/X8664/x8664-arch.lisp: Add HONS fields to AREA
10081        definition.
10082       
10083        SYMVECTOR->SYMPTR and its inverse don't do much, but it's not worth
10084        spending a function call to do a little.
10085
100862006-03-17 23:03  gb
10087
10088        * compiler/X86/x862.lisp: Don't sign-extend the $LFBITS-NONAME-BIT;
10089        doing so had to do with 29-bit fixnums on an old 68K
10090        implementation.
10091       
10092        Fix parenthesization in %i-, so that we branch in all cases that
10093        need to.
10094       
10095        Implement %SYMPTR->SYMVECTOR and %SYMVECTOR->SYMPTR, which change
10096        something tagged X8664::FULLTAG-SYMBOL into the underlying uvector
10097        and back again.
10098
100992006-03-17 22:59  gb
10100
10101        * compiler/X86/x86-lap.lisp: Change the sign of TRA displacements,
10102        to match what the compiler expects and what some other things do.
10103       
10104        When checking to see if an ASSUMED-SHORT[-CONDITIONAL]-BRANCH can
10105        use a 1-byte branch displacement, get the sign of that displacment
10106        right.  (Doing it the wrong way was encoding a forward branch to a
10107        label 128 bytes away in one byte, which made it a backward branch
10108        128 bytes away ...)
10109
101102006-03-17 22:55  gb
10111
10112        * library/lispequ.lisp: Use NTH-IMMEDIATE to access COMBINED-METHOD
10113        slots.
10114
101152006-03-17 22:54  gb
10116
10117        * lib/nfcomp.lisp: Comments clarify that scalar integers are always
10118        dumped big-endian.  (They have to be read/written a byte at a time
10119        anyway; there's no clear advantage in writing them in native
10120        endianness.)
10121
101222006-03-17 22:52  gb
10123
10124        * lib/macros.lisp: SYMPTR->SYMVECTOR and SYMVECTOR->SYMBOL are
10125        arch-specfic (NOP on PPC, inlined tag-bits stuff on x8664.)
10126
101272006-03-17 22:50  gb
10128
10129        * level-1/l1-dcode.lisp: Star to conditionalize, a little.
10130
101312006-03-17 22:48  gb
10132
10133        * level-1/l1-boot-2.lisp: Conditionalize.
10134
101352006-03-17 22:48  gb
10136
10137        * level-1/: l1-callbacks.lisp, l1-utils.lisp: Comment formatting.
10138
101392006-03-17 22:45  gb
10140
10141        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-arch.lisp,
10142        PPC64/ppc64-arch.lisp: %SYMPTR->SYMVECTOR and %SYMVECTOR->SYMPTR
10143        shold never be called on PPC, but implement them as idenity
10144        operations, just in case.
10145
101462006-03-17 22:44  gb
10147
10148        * compiler/: nx1.lisp, nxenv.lisp: Worth inlining
10149        %SYMPTR->SYMVECTOR on x8664 (should never happen on PPC, but treat
10150        it as identity function there.)
10151
101522006-03-16 02:03  gb
10153
10154        * level-1/l1-sockets.lisp: Spell LINUX correctly.
10155
101562006-03-16 02:00  gb
10157
10158        * lisp-kernel/x86-spentry64.s: We were inlining NTH-VALUE
10159        incorrectly, but were always inlining it.
10160       
10161        Use debug traps to catch some cases that're NYI.
10162
101632006-03-16 01:58  gb
10164
10165        * lisp-kernel/lisp-debug.c: X8664 register-printing changes.
10166
101672006-03-16 01:58  gb
10168
10169        * library/parse-ffi.lisp: Treat VEC64/VEC128 like large integers,
10170        for now.
10171
101722006-03-16 01:57  gb
10173
10174        * library/lispequ.lisp: gf accessors use NTH-IMMEDIATE.
10175
101762006-03-16 01:56  gb
10177
10178        * lib/numbers.lisp: Conditionaliz on target word size.
10179
101802006-03-16 01:56  gb
10181
10182        * lib/nfcomp.lisp: Need to be aware of cases where host/target
10183        endianness differ.
10184       
10185        Byte-swap 16/32-bit constant ivectors; note that other cases may
10186        also need byte-swapping.
10187
101882006-03-16 01:54  gb
10189
10190        * lib/macros.lisp: NTH-IMMEDIATE is arch-specific; so is
10191        SET-NTH-IMMEDIATE, which is its SETF inverse.
10192
101932006-03-16 01:53  gb
10194
10195        * lib/foreign-types.lisp: So far, Darwin's the only platform that
10196        uses signed chars.  (For a good laugh, note that the PPC has an
10197        unsigned "load byte" instruction, but it takes two instructions to
10198        treat char as signed.  This is, of course, much less significant
10199        than all of the other things that are wrong about Darwin ...)
10200
102012006-03-16 01:51  gb
10202
10203        * lib/compile-ccl.lisp: RISC-LAP is PPC-specific (and maybe
10204        specific to other RISC architectures).  X86-DISASSEMBLE should be
10205        built for x8664.
10206
102072006-03-16 01:49  gb
10208
10209        * lib/backtrace-lds.lisp: Some conditinalization.
10210
102112006-03-16 01:48  gb
10212
10213        * tools/.cvsignore, library/.cvsignore: Ignore fasl extensions yet
10214        to come.
10215
102162006-03-16 01:46  gb
10217
10218        * level-1/version.lisp: Bump.
10219
102202006-03-16 01:46  gb
10221
10222        * level-1/l1-sockets.lisp: Some conditionalization; need more, and
10223        need to handle wrong-endianness.
10224
102252006-03-16 01:44  gb
10226
10227        * level-1/l1-lisp-threads.lisp: %KERNEL-GLOBAL-OFFSET-FORM:
10228        probably should lose this.  It's a function, and therefore has some
10229        trouble accessing the right (macroexpand-time) backend.
10230
102312006-03-16 01:43  gb
10232
10233        * level-1/l1-files.lisp: Set *.FASL-PATHAME* via #.'ed reference to
10234        target backend.
10235
102362006-03-16 01:42  gb
10237
10238        * level-1/l1-clos-boot.lisp: Conditionalize a little.
10239
102402006-03-16 01:42  gb
10241
10242        * level-1/l1-aprims.lisp: Use #. to set OS package name fron
10243        backend/ftd.
10244
102452006-03-16 01:41  gb
10246
10247        * level-0/X86/x86-symbol.lisp: %SYMPTR->SYMBOL is often called with
10248        real (tagged) symbols; make it a nop in that case.
10249
102502006-03-16 01:40  gb
10251
10252        * level-0/X86/x86-def.lisp: %SET-NTH-IMMEDIATE.
10253
102542006-03-16 01:40  gb
10255
10256        * level-0/X86/x86-clos.lisp: Start some of this. Still need to
10257        decide whether to use lexprs; better decide soon.
10258
102592006-03-16 01:38  gb
10260
10261        * compiler/X86/X8664/x8664-vinsns.lisp: TRAP-UNLESS-CHARACTER.
10262        Float memory accessors/setters for the constant-offset case.
10263        NTH-VALUE was wrong; now simpler.  MAKE-TSP-VCELL.  Binding
10264        subprims.
10265       
10266        Yet another FUNCALL scheme.
10267
102682006-03-16 01:36  gb
10269
10270        * level-0/l0-symbol.lisp: MAKE-SYMBOL returns the symbol pointer.
10271        Maybe conditionalize this for X8664.
10272
102732006-03-16 01:35  gb
10274
10275        * level-0/l0-io.lisp: Hopefully, the "split" 64-bit lseek is at
10276        best LinuxPPC32-specific.
10277
102782006-03-16 01:34  gb
10279
10280        * compiler/X86/x862.lisp: Use %ra0 for the inner function when
10281        making a closure, to avoid conflicts with other temps.  No need to
10282        reference memory on self-calls (and good reasons not to ...)
10283        X862-UNBOXED-INTEGER-ARG-TO-REG handles 64-bit regs.
10284
102852006-03-16 01:31  gb
10286
10287        * compiler/X86/x86-lapmacros.lisp: EXTRACT-TYPECODE: use a GENSYMed
10288        label.
10289
102902006-03-16 01:30  gb
10291
10292        * compiler/X86/x86-lap.lisp: New stuff for "pre-allocated"
10293        constants.
10294
102952006-03-16 01:29  gb
10296
10297        * compiler/X86/x86-arch.lisp: Didn't have the relatively recent
10298        STACK-SIZE.
10299
103002006-03-16 01:29  gb
10301
10302        * compiler/X86/X8664/x8664-arch.lisp: Change the
10303        %GET-KERNEL-GLOBAL[-PTR] archmacros, so that they'll work with
10304        cross-compilation.  Fixnum offsets aren't supported; they weren't
10305        used, this isn't public, and it wasn't well-defined anyway.
10306       
10307        Add %NTH-IMMEDIATE.
10308
103092006-03-16 01:28  gb
10310
10311        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp:
10312        Change the %GET-KERNEL-GLOBAL[-PTR] archmacros, so that they'll
10313        work with cross-compilation.  Fixnum offsets aren't supported; they
10314        weren't used, this isn't public, and it wasn't well-defined anyway.
10315
103162006-03-14 14:08  gb
10317
10318        * binppc/.cvsignore, l1-pfsls/.cvsignore: remove
10319
103202006-03-14 14:02  gb
10321
10322        * level-1/: l1-boot-2.lisp, level-1.lisp: Always use physical bin,
10323        l1-fasls relative pathnames.
10324
103252006-03-14 14:02  gb
10326
10327        * level-1/l1-pathnames.lisp: Simpler translations.
10328
103292006-03-14 13:51  gb
10330
10331        * l1-dfsls/.cvsignore, bindarwin/.cvsignore: removed
10332
103332006-03-14 13:31  gb
10334
10335        * bin/.cvsignore, l1-fasls/.cvsignore: new file.
10336
103372006-03-14 13:24  gb
10338
10339        * level-1/: l1-boot-2.lisp, level-1.lisp: Step 1: don't hardwire
10340        the target fasl pathname in a big #+ nest, get it from the target
10341        backend.  (Hope that works with macrolet.)
10342
103432006-03-14 13:22  gb
10344
10345        * lisp-kernel/x86-spentry64.s: _SPstack_misc_alloc fixes.
10346        _SPsyscall: just return negative return values, don't negate them.
10347
103482006-03-14 13:20  gb
10349
10350        * library/x8664-linux-syscalls.lisp: Hide the incomplete
10351        definitions.  This needs work; should use real foreign types.
10352
103532006-03-14 13:19  gb
10354
10355        * compiler/X86/X8664/x8664-vinsns.lisp: %init-gvector: pop the last
10356        element first.
10357
103582006-03-14 13:19  gb
10359
10360        * compiler/X86/X8664/x8664-backend.lisp: :linuxx8664-target on
10361        features, too.
10362
103632006-03-14 13:18  gb
10364
10365        * compiler/X86/x862.lisp: x862-allocate-initialized-gvector: works
10366        better if the gvector is actually allocated ...
10367
103682006-03-14 03:11  gb
10369
10370        * compiler/X86/x862.lisp: Remove a comment that described the
10371        mid-1990s behavior of MacsBug.
10372
103732006-03-14 03:10  gb
10374
10375        * compiler/X86/x86-lap.lisp: In X86-LAP-EQUATE-FORM, check for and
10376        disallow bindings that match defined X86 register names.
10377
103782006-03-14 03:09  gb
10379
10380        * compiler/X86/x86-disassemble.lisp: Some UUOs shouldn't terminate
10381        a disassembly block.
10382
103832006-03-14 03:09  gb
10384
10385        * library/syscall.lisp: Whoops.
10386
103872006-03-14 03:01  gb
10388
10389        * lisp-kernel/x86-spentry64.s: Fixes in _SPcall_closure,
10390        _SPstkgvector.
10391
103922006-03-14 03:00  gb
10393
10394        * lisp-kernel/x86-exceptions.c: Handle uuo_debug_trap.
10395
103962006-03-14 03:00  gb
10397
10398        * lisp-kernel/x86-constants64.h: Iflags is REG_EFL on Linux.
10399
104002006-03-14 02:59  gb
10401
10402        * lisp-kernel/lisp-debug.c: Make (R)egisters command work on x8664.
10403
104042006-03-14 02:59  gb
10405
10406        * library/syscall.lisp: BACKEND-SYSCALL-DEFINITIONS uses whatever
10407        bits are in the backend's BACKEND-PLATFORM-SYSCALL-MASK.
10408
104092006-03-14 02:57  gb
10410
10411        * library/x8664-linux-syscalls.lisp: New file. Woefully incomplete,
10412        and may need word-size fixes.
10413
104142006-03-14 02:57  gb
10415
10416        * library/ppc-linux-syscalls.lisp: Set the mask per the new (new)
10417        scheme.
10418
104192006-03-14 02:56  gb
10420
10421        * level-0/X86/x86-utils.lisp: Fix a few bugs in heap-walking code.
10422
104232006-03-14 02:56  gb
10424
10425        * level-0/X86/x86-def.lisp: %NTH-IMMEDIATE needed to box;  both it
10426        and %FUNCTION-CODE-WORDS needed to avoid naming parameters FN.
10427
104282006-03-14 02:55  gb
10429
10430        * level-1/: l1-sockets.lisp, l1-streams.lisp, linux-files.lisp: Use
10431        the right set of syscall definitions for Linux.
10432
104332006-03-14 02:54  gb
10434
10435        * level-0/nfasload.lisp: Add a fixnum declaration.
10436
104372006-03-14 02:54  gb
10438
10439        * level-0/l0-io.lisp: Include the right set of syscall defs for
10440        Linux.
10441
104422006-03-14 02:53  gb
10443
10444        * level-0/l0-symbol.lisp: Need to use %symptr->symbol for x86;
10445        harmless on PPC.
10446
104472006-03-14 02:53  gb
10448
10449        * compiler/X86/X8664/x8664-vinsns.lisp: SETUP-VCELL-ALLOCATION
10450        needs to bias the size by fulltag-misc.
10451
104522006-03-14 02:52  gb
10453
10454        * compiler/X86/X8664/x8664-backend.lisp: At least for Linux/X86/64,
10455        need to look at os/cpu/word-size to deterine applicable syscall
10456        defs.
10457
104582006-03-14 02:51  gb
10459
10460        * compiler/PPC/: PPC32/ppc32-backend.lisp,
10461        PPC64/ppc64-backend.lisp: All PPC (32/64) backends can use syscall
10462        defs for OS/CPU, regardless of word size.
10463
104642006-03-14 02:50  gb
10465
10466        * compiler/backend.lisp: Add PLATFORM-SYSCALL-MASK to backend
10467        struct.
10468
104692006-03-14 02:09  gb
10470
10471        * library/: ppc-linux-syscalls.lisp, linux-syscalls.lisp: renamed
10472
104732006-03-13 02:33  gb
10474
10475        * level-1/version.lisp: Bump.
10476
104772006-03-13 02:24  gb
10478
10479        * xdump/xfasload.lisp: AREA constants now in CCL package.
10480
104812006-03-13 02:23  gb
10482
10483        * lisp-kernel/x86-spentry64.s: ret1valn: no LEAVE here.
10484        nthrowvalues: fix several bugs.
10485
104862006-03-13 02:22  gb
10487
10488        * lisp-kernel/x86-macros.s: TSP_Alloc_Var: zero the dnode at the
10489        new tsp, as well.
10490
104912006-03-13 02:21  gb
10492
10493        * library/lispequ.lisp: Define AREA constants here (in CCL
10494        package.)
10495
104962006-03-13 02:20  gb
10497
10498        * lib/macros.lisp: Move DO-CONSING-AREAS here.  AREA-CODE is an
10499        arch macro.
10500
105012006-03-13 02:20  gb
10502
10503        * level-1/l1-lisp-threads.lisp: Move DO-CONSING-AREAS to
10504        macros.lisp.
10505
105062006-03-13 02:19  gb
10507
10508        * level-0/X86/x86-utils.lisp: Walk static, dynamic areas.
10509
105102006-03-13 02:19  gb
10511
10512        * level-0/PPC/ppc-utils.lisp: Comments.
10513
105142006-03-13 02:18  gb
10515
10516        * level-0/nfasload.lisp: %MAP-AREAS call might have to deal with
10517        symbol/symbol-vector distinction.
10518
105192006-03-13 02:18  gb
10520
10521        * level-0/l0-utils.lisp: AREA constants are in CCL package, not
10522        PPC.  %MAP-LFUNS might have to deal with function/function-vector
10523        distinction.
10524
105252006-03-13 02:17  gb
10526
10527        * level-0/l0-misc.lisp: AREA constants are in CCL package, not PPC.
10528
105292006-03-13 02:17  gb
10530
10531        * level-0/l0-hash.lisp: %GROW-HASH-TABLE is always called inside
10532        WITHOUT-INTERRUPTS, so no need to do it again.
10533
105342006-03-13 02:16  gb
10535
10536        * compiler/X86/x862.lisp: Push at most one stack frame on function
10537        entry ...
10538
105392006-03-13 02:14  gb
10540
10541        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
10542        X86/X8664/x8664-arch.lisp: AREA-CODE archmacro.
10543
105442006-03-13 02:13  gb
10545
10546        * compiler/: PPC/ppc-arch.lisp, X86/x86-arch.lisp: AREA constants
10547        moved to CCL package.
10548
105492006-03-11 23:54  gb
10550
10551        * lisp-kernel/linuxx8664/.gdbinit: Don't change handling of SIGUSR1
10552        or SIGUSR2; I don't think that we use them under Linux.
10553
105542006-03-11 23:52  gb
10555
10556        * lisp-kernel/x86-spentry64.s: builtin_eql was extracting lisptags
10557        and comparing fulltags, and thus returning false when it shouldn't
10558        have.
10559       
10560        nthrow1value was making too small of a TSP frame around the call to
10561        the cleanup code, clobbering TSP links in some cases.  It was also
10562        failing to pop catch frames.
10563       
10564        stkgvector was unimplented.
10565       
10566        _car order-of-arguments problems in (at least) spreadargz.
10567
105682006-03-11 23:47  gb
10569
10570        * lisp-kernel/x86-subprims64.s: Push a 0 and make the initial lisp
10571        %rbp point to it, to mark the end of the line.
10572
105732006-03-11 23:47  gb
10574
10575        * lisp-kernel/xlbt.c: Sketchy kernel-debugger backtrace.
10576
105772006-03-11 23:46  gb
10578
10579        * lisp-kernel/x86-constants64.h: A lisp_frame struct, for kernel
10580        backtrace.
10581
105822006-03-11 23:46  gb
10583
10584        * lisp-kernel/pmcl-kernel.c: Try (temporily) disabling Lisp's
10585        SIGINT handler.   There seem to be problems using a keyboard
10586        interrupt to awaken GDB on the version of x96-64 Linux I'm using.
10587        This didn't fix those problems completely, but we won't need to
10588        handle SIGINT in the lisp until more code works.
10589
105902006-03-11 23:43  gb
10591
10592        * lisp-kernel/macros.h: I may have parenthesized nodeheader_tag_p
10593        and immheader_tag_p; several versions of  GCC generated code that
10594        looked wrong, but since it's C it's hard to tell.   Splitting the
10595        macros up (into "mask definition" and "mask testing" seems to
10596        generate the right code (a bit test if optimization's cranked up.)
10597
105982006-03-11 23:41  gb
10599
10600        * level-0/X86/x86-misc.lisp: Fix a few typos (fixnum vs unboxed
10601        constants, etc.)
10602       
10603        %ATOMIC-DECF-PTR-IF-POSITIVE should return what we would have
10604        (might have) stored in the word accessed by the pointer (in
10605        particular, it should return a negative value if there are no other
10606        threads waiting on a recursive lock.)
10607
106082006-03-11 23:38  gb
10609
10610        * level-0/PPC/ppc-misc.lisp: Fix file name in comment.
10611
106122006-03-11 23:38  gb
10613
10614        * compiler/X86/X8664/x8664-vinsns.lisp: ENSURE-RESERVED-FRAME: test
10615        was backwards.
10616
106172006-03-11 23:37  gb
10618
10619        * compiler/X86/X8664/x8664-arch.lisp: Don't use FN as arg name in
10620        LFUN-VECTOR, since x8664::fn is a constant (symbolic register
10621        name.)
10622       
10623        Add missing close paren.
10624
106252006-03-11 23:36  gb
10626
10627        * compiler/X86/x862.lisp: Ensure stack fencepost in simple
10628        &optional arg case.
10629       
10630        Do the variable-arg-count case if complex &optional, no &rest/&key,
10631        and some (possibly unsupplied) optionals may or may not have been
10632        pushed by the caller.
10633
106342006-03-11 04:11  gb
10635
10636        * lisp-kernel/: image.c, lisp_globals.h: Fix conditionalization: we
10637        don't define PPC32, but it might be clearer if we did.
10638
106392006-03-11 03:28  gb
10640
10641        * level-1/version.lisp: Bump.
10642
106432006-03-11 03:20  gb
10644
10645        * library/: darwin-syscalls.lisp, linux-syscalls.lisp,
10646        syscall.lisp: New mechanism, mostly to make cross-compilation
10647        easier.
10648
106492006-03-11 03:20  gb
10650
10651        * level-0/X86/x86-def.lisp: Extra paren; %NTH-IMMEDIATE and
10652        function/lfun-vector stuff, CLOSURE-FUNCTION here until that can be
10653        abstracted away sanely.
10654
106552006-03-11 03:18  gb
10656
10657        * level-0/X86/x86-misc.lisp: %STORE-IMMEDIATE-CONDITIONAL needs to
10658        discard the frame that the caller reserved.
10659
106602006-03-11 03:17  gb
10661
10662        * level-0/X86/x86-clos.lisp: Comment out the PPC LAP (e.g.,
10663        everything in the file, still).
10664
106652006-03-11 03:15  gb
10666
10667        * level-0/PPC/ppc-def.lisp: CLOSURE-FUNCTION here.  (Abstract away
10668        NTH-IMMEDIATE ?)
10669
106702006-03-11 03:14  gb
10671
10672        * level-0/l0-misc.lisp: Indentation.
10673
106742006-03-11 03:13  gb
10675
10676        * level-0/l0-def.lisp: Move CLOSURE-FUNCTION to arch-specific dir.
10677        Use LFUN-VECTOR, which should hopefully compile away on PPC but
10678        needs to be there on X8664.
10679
106802006-03-11 03:11  gb
10681
10682        * compiler/X86/X8664/x8664-vinsns.lisp: Now that subprim addresses
10683        are higher, there's another significant byte to deal with in the
10684        subprim jump in %INIT-CLOSURE.
10685       
10686        Use a temporary - and a smaller instruction sequence - in
10687        MISC-ELEMENT-COUNT-FIXNUM, so that src and dest can overlap.  (More
10688        instructions, but fewer bytes.)
10689
106902006-03-11 03:08  gb
10691
10692        * compiler/PPC/PPC32/ppc32-arch.lisp,
10693        compiler/PPC/PPC64/ppc64-arch.lisp,
10694        compiler/X86/X8664/x8664-arch.lisp, lib/macros.lisp: LFUN-VECTOR
10695        and LFUN-VECTOR-LFUN are arch-specific macros.
10696
106972006-03-11 03:07  gb
10698
10699        * lisp-kernel/x86-spentry64.s: Reformat a comment.
10700
107012006-03-10 22:06  gb
10702
10703        * xdump/xx8664-fasload.lisp: Target-specific static-space (NIL
10704        representation, mostly) init functions.
10705       
10706        Move image-base-address up a few terabytes.
10707       
10708        Undefined function and macro trampolines are vectors with an
10709        executable fixnum in the 0th word.
10710
107112006-03-10 22:05  gb
10712
10713        * xdump/xppcfasload.lisp: Target-specific static-space (NIL
10714        representation, mostly) init functions.
10715
107162006-03-10 22:04  gb
10717
10718        * xdump/xfasload.lisp: Lots of changes, to deal with
10719        symbol/function tagging issues, x86 clfuns, etc.
10720
107212006-03-10 22:03  gb
10722
10723        * xdump/heap-image.lisp: Endianness, word-size conditionalization
10724        stuff.
10725
107262006-03-10 22:02  gb
10727
10728        * lisp-kernel/linuxx8664/Makefile: C files depend on lisptypes.h.
10729
107302006-03-10 22:01  gb
10731
10732        * lisp-kernel/linuxx8664/elf_x86_64.x: Don't try to link into low
10733        memory (no real reason to.) Do try to put spjump at a
10734        fixed/known/page-aligned address.
10735
107362006-03-10 21:59  gb
10737
10738        * lisp-kernel/x86_print.c: Recognize some x8664 tags.
10739
107402006-03-10 21:59  gb
10741
10742        * lisp-kernel/x86-subprims64.s: Use Rforeign_sp; get valence right
10743        on exit.
10744
107452006-03-10 21:58  gb
10746
10747        * lisp-kernel/x86-spjump64.s: Rename ffcall/syscall.
10748
107492006-03-10 21:58  gb
10750
10751        * lisp-kernel/x86-spentry64.s: Lots of fixes/changes (including
10752        ffcall/syscall).
10753
107542006-03-10 21:56  gb
10755
10756        * lisp-kernel/x86-macros.s: TSP_Alloc_Size is an immediate operand
10757        in TSP_Alloc_Fixed().
10758       
10759        Fix allocptr/allocbase comparison when consing.
10760       
10761        Misc_Alloc_Fixed: m4/gas $ conflation.
10762
107632006-03-10 21:54  gb
10764
10765        * lisp-kernel/x86-exceptions.h: Extra parens around xpGPR
10766        expansion.
10767
107682006-03-10 21:54  gb
10769
10770        * lisp-kernel/x86-exceptions.c: Actually handle something
10771        (uuo_alloc()), since we can't do much without it.
10772
107732006-03-10 21:53  gb
10774
10775        * lisp-kernel/x86-constants64.s: Call the foreign sp register
10776        Rforeign_sp, to avoid m4 lossage.
10777       
10778        nrs starts at #x2020, because NIL is between there and #x2000.
10779
107802006-03-10 21:52  gb
10781
10782        * lisp-kernel/x86-constants64.h: Iallocptr for trap handler.
10783       
10784        tcr was missing foreign_sp definition.
10785
107862006-03-10 21:51  gb
10787
10788        * lisp-kernel/thread_manager.c: get_tcr() change for HAVE_TLS case.
10789
107902006-03-10 21:51  gb
10791
10792        * lisp-kernel/ppc-exceptions.c: Put a sane value in the FPSCR
10793        before calling back to lisp on an exception.
10794
107952006-03-10 21:50  gb
10796
10797        * lisp-kernel/pmcl-kernel.c: Use address of bad_funcall, not
10798        "value".
10799       
10800        Disable EGC on x8664.
10801
108022006-03-10 21:49  gb
10803
10804        * lisp-kernel/lisptypes.h: formatting change only.
10805
108062006-03-10 21:49  gb
10807
10808        * lisp-kernel/lisp_globals.h: Layout of lisp-globals/nrs on x8664
10809        not identical to ppc64 (NIL representation differs.)
10810
108112006-03-10 21:48  gb
10812
10813        * lisp-kernel/lisp-debug.c: Lisp register stuff for x8664.
10814
108152006-03-10 21:48  gb
10816
10817        * lisp-kernel/image.c: Fix some conditionalization.
10818
108192006-03-10 21:47  gb
10820
10821        * lisp-kernel/area.h: Larger IMAGE-BASE-ADDRESS for X8664 Linux.
10822
108232006-03-10 21:46  gb
10824
10825        * library/: linux-syscalls.lisp, syscall.lisp: Try to make things a
10826        little more portable, but really need to keep things in the
10827        target-ftd.  Soon.
10828
108292006-03-10 21:45  gb
10830
10831        * level-0/l0-numbers.lisp: Don't reference
10832        TARGET::LEAST-SIGNIFICANT-BIT in ASH; express limits in terms of
10833        TARGET::NBITS-IN-WORD.
10834
108352006-03-10 21:45  gb
10836
10837        * level-0/l0-misc.lisp: Add some fixnum decls to %GET-CSTRING, so
10838        that single-stepping through it in GDB is faster.
10839
108402006-03-10 21:44  gb
10841
10842        * level-0/l0-io.lisp: %YIELD here, so all level-0 syscalls are in
10843        one file.
10844
108452006-03-10 21:43  gb
10846
10847        * level-0/l0-cfm-support.lisp: We generally want foreign symbol
10848        addresses to be boxed integers on X8664, and can't assume that
10849        they're fixnum-aligned.
10850
108512006-03-10 21:42  gb
10852
10853        * level-0/: l0-array.lisp, l0-init.lisp: Comment indentation.
10854
108552006-03-10 21:41  gb
10856
10857        * lisp-kernel/linuxx8664/.gdbinit: Well, it's a start ...
10858
108592006-03-10 21:41  gb
10860
10861        * level-0/X86/x86-utils.lisp: %KERNEL-IMPORT boxes what may not
10862        have been a fixnum.
10863
108642006-03-10 21:40  gb
10865
10866        * level-0/X86/x86-misc.lisp: Fix typo.
10867       
10868        STORE-NODE-CONDITIONAL pops stack arg, discards stack frame
10869        reserved by caller before jumping into kernel.
10870
108712006-03-10 21:39  gb
10872
10873        * level-0/X86/x86-float.lisp: Missing SET-MXCSR-CONTROL was hidden
10874        in duplicate SET-MSCSR-STATUS.  May want to always set/get the
10875        control and rounding modes.
10876
108772006-03-10 21:37  gb
10878
10879        * level-0/X86/x86-def.lisp: Comment out the missing lexpr/apply
10880        stuff, so that the rest of the file compiles.
10881
108822006-03-10 21:36  gb
10883
10884        * level-0/X86/x86-array.lisp: %INIT-MISC wants/needs to be in LAP
10885        because of write-barrier issues.
10886
108872006-03-10 21:35  gb
10888
10889        * lib/x8664env.lisp: It's OK (in fact necessary) to use FP0 as a
10890        temporary.  0.0 is in FPZERO.
10891
108922006-03-10 21:34  gb
10893
10894        * lib/nfcomp.lisp: Spit out a fasl op while writing CLFUNs.
10895
108962006-03-10 21:33  gb
10897
10898        * level-0/PPC/ppc-float.lisp: Don't CLEAR-FPU-EXCEPTIONS, at least
10899        without knowing why.
10900
109012006-03-10 21:32  gb
10902
10903        * compiler/X86/X8664/x8664-vinsns.lisp: SETcc sets the byte to 1 or
10904        0, so we need to negate.
10905       
10906        Other bug fixes and additions.
10907
109082006-03-10 21:31  gb
10909
10910        * compiler/X86/X8664/x8664-arch.lisp: Fix a typo in
10911        X8664-MISC-BYTE-SIZE.
10912       
10913        Move subprims base up to #x410000, to make it easier on the linker.
10914
109152006-03-10 21:29  gb
10916
10917        * compiler/X86/x862.lisp: Lots-o-fixes; FFI stuff.  When generating
10918        code involving a :REG8 operand, be careful to pass the 8-bit reg
10919        entry to LAP.
10920
109212006-03-10 21:27  gb
10922
10923        * compiler/X86/x86-lapmacros.lisp: X86 CMOV instructions reference
10924        the source operand (possibly generating a memory fault) even if the
10925        destination operand isn't written to.  Who knew ?
10926
109272006-03-10 21:24  gb
10928
10929        * compiler/X86/x86-disassemble.lisp: Recognize newer UUOs.
10930
109312006-03-10 21:24  gb
10932
10933        * compiler/X86/x86-lap.lisp: Use the #x80 bit in an instruction's
10934        REX prefix to indicate when the prefix needs to be emitted (even if
10935        the #x7 bits are clear).
10936
109372006-03-10 21:23  gb
10938
10939        * compiler/X86/x86-asm.lisp: A few UUOs; try to ensure that we'll
10940        generate (at least) a #x40 REX prefix if a new-style byte register
10941        is used as an operand.  (e.g., we generally don't want to refer to
10942        the traditional things like %dh, and do want to refer to the newer
10943        things like %sil.)
10944
109452006-03-10 21:20  gb
10946
10947        * compiler/X86/x86-arch.lisp: rename *X86-NILREG-RELATIVE-SYMBOLS*
10948        -> *X86-NIL-RELATIVE-SYMBOLS*.
10949
109502006-03-10 21:18  gb
10951
10952        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
10953        PPC64/ppc64-vinsns.lisp: %SINGLE-TO-DOUBLE, %DOUBLE-TO-SINGLE, to
10954        avoid consing in some simple cases.
10955
109562006-03-10 21:17  gb
10957
10958        * compiler/PPC/ppc-arch.lisp: Rename *PPC-NILREG-RELATIVE-SYMBOLS*
10959        -> *PPC-NIL-RELATIVE-SYMBOLS* (NIL hasn't been in a register in a
10960        few years.)
10961
109622006-03-10 21:15  gb
10963
10964        * compiler/optimizers.lisp: On 64-bit targets, SINGLE-FLOATs are
10965        EQL iff EQ.
10966       
10967        Try to recognize a few ways of coercing SINGLE-FLOATs to
10968        DOUBLE-FLOATs and vice versa, so that we have some chance of
10969        avoiding consing in some cases.
10970
109712006-03-10 21:13  gb
10972
10973        * compiler/nxenv.lisp: Add %SINGLE-TO-DOUBLE, %DOUBLE-TO-SINGLE.
10974        Replace unused EMBEDDED-CALL with SYSCALL.
10975
109762006-03-10 21:12  gb
10977
10978        * compiler/nx1.lisp: Just use SYSCALL operator to mark x8664
10979        syscalls.
10980
109812006-03-10 21:12  gb
10982
10983        * .cvsignore: Change patterns.
10984
109852006-03-07 06:49  gb
10986
10987        * lisp-kernel/x86-spentry64.s: Assume that fpzero (not fp0)
10988        contains 0.0.
10989       
10990        Get a few more things working, or at least written.
10991
109922006-03-07 06:48  gb
10993
10994        * lisp-kernel/: x86-macros.s, x86-subprims64.s: Assume that fpzero
10995        (not fp0) contains 0.0.
10996
109972006-03-07 06:48  gb
10998
10999        * lisp-kernel/x86-constants64.s: Define fpzero = xmm15.
11000       
11001        Pad the (misnamed) fpscr field in the TCR.
11002
110032006-03-06 06:37  gb
11004
11005        * lib/nfcomp.lisp: Initial, crude support for cross-dumping
11006        "concatenated" lisp functions.
11007
110082006-03-06 06:36  gb
11009
11010        * level-0/l0-numbers.lisp: Fix comment indentation in a function
11011        that the x8664 backend was choking on.
11012
110132006-03-06 06:36  gb
11014
11015        * compiler/X86/X8664/x8664-vinsns.lisp: use fpzero when a zero is
11016        needed,  not fp0.
11017
110182006-03-06 06:35  gb
11019
11020        * compiler/X86/X8664/x8664-arch.lisp: xmm15 is fpzero (contains
11021        0.0[de]0).  (xmm0 is used for ff-call.)
11022
110232006-03-06 06:35  gb
11024
11025        * compiler/X86/x862.lisp: X862-COMPILE: don't reserve quad for null
11026        function name, even if debug info is present.
11027
110282006-03-06 06:34  gb
11029
11030        * compiler/X86/x86-lap.lisp: RELAX-FRAG-LIST: account for (possibly
11031        non-zero) length of :ALIGN frags.  CROSS-CREATE-X86-FUNCTION: don't
11032        emit function name if it's nil, even if debug-info is present.
11033
110342006-03-06 06:30  gb
11035
11036        * compiler/X86/x86-asm.lisp: Add a declaration to suppress compiler
11037        warning on forward reference.
11038
110392006-03-06 03:27  gb
11040
11041        * xdump/xfasload.lisp: Fix parens.
11042
110432006-03-06 02:59  gb
11044
11045        * xdump/xfasload.lisp: Remove many uses of TARGET-ARCH-CASE (thus
11046        removing many uses of ppc/ppc32/ppc64 package symbols.)  Some uses
11047        remain.
11048
110492006-03-06 02:57  gb
11050
11051        * lib/macros.lisp: Define TARGET-ARCH-CASE in terms of CASE, not
11052        ECASE.
11053
110542006-03-05 19:12  gb
11055
11056        * compiler/PPC/PPC64/ppc64-arch.lisp: typecode, lisptag are in ccl
11057        package.
11058
110592006-03-05 19:01  gb
11060
11061        * level-1/version.lisp: Bump; some of this is hard to bootstrap.
11062
110632006-03-05 19:00  gb
11064
11065        * lib/macros.lisp: Move some %kernel-global nonsense here.
11066
110672006-03-05 19:00  gb
11068
11069        * level-1/l1-lisp-threads.lisp: Define macros in ... macros.lisp,
11070        of all places.
11071
110722006-03-05 18:59  gb
11073
11074        * level-0/X86/x86-array.lisp: write some code in lisp
11075        (temporarily), clean up some typos so that the file compiles.
11076
110772006-03-05 18:58  gb
11078
11079        * compiler/: arch.lisp, PPC/PPC32/ppc32-arch.lisp,
11080        PPC/PPC64/ppc64-arch.lisp, X86/X8664/x8664-arch.lisp: More
11081        parameters (mostly for xloader) in target-arch struct.
11082
110832006-03-05 18:52  gb
11084
11085        * xdump/xfasload.lisp: Get target parameters from
11086        (backend-target-arch *target-backend*)).
11087
110882006-03-05 06:17  gb
11089
11090        * xdump/xx8664-fasload.lisp: Closer ...
11091
110922006-03-05 06:17  gb
11093
11094        * xdump/hashenv.lisp: Arch macros for hashing macros.
11095
110962006-03-05 06:16  gb
11097
11098        * level-1/l1-lisp-threads.lisp: Arch macros for kernel globals.
11099
111002006-03-05 06:16  gb
11101
11102        * level-1/l1-readloop-lds.lisp: Check *interrupt-level* value, not
11103        (interrupt-level).
11104
111052006-03-05 06:15  gb
11106
11107        * level-1/l1-clos-boot.lisp: Make *class-table* a global.
11108
111092006-03-05 06:15  gb
11110
11111        * level-0/X86/X8664/x8664-bignum.lisp: use temp2.b (= cl) for
11112        variable shifts.
11113
111142006-03-05 06:14  gb
11115
11116        * level-0/nfasload.lisp: No code-vectors on x8664.
11117
111182006-03-05 06:14  gb
11119