source: trunk/ccl/ChangeLog @ 6240

Last change on this file since 6240 was 6240, checked in by gb, 13 years ago
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 720.2 KB
Line 
12007-04-08 13:14  gb
2
3        * lib/nfcomp.lisp: Bump current fasl version.
4
52007-04-08 13:13  gb
6
7        * lib/ccl-export-syms.lisp: Export CCL:FREE.
8
92007-04-08 13:12  gb
10
11        * xdump/faslenv.lisp: Bump max fasl version.
12
132007-04-08 13:11  gb
14
15        * lisp-kernel/darwinppc64/Makefile: Pass -arch ppc64 to C, so that
16        people who try to build this kernel on an x86 mac will take longer
17        to realize that that's usually a bad idea.
18
192007-04-08 12:09  gb
20
21        * examples/: cocoa-application.lisp, cocoa-backtrace.lisp,
22        cocoa-defaults.lisp, cocoa-editor.lisp, cocoa-inspector.lisp,
23        cocoa-listener.lisp, cocoa-prefs.lisp, cocoa-typeout.lisp,
24        cocoa-window.lisp, cocoa.lisp:
25        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
26       
27        Some changes in font, nsstring stuff to avoid using deprecated
28        featurs.
29
302007-04-08 12:07  gb
31
32        * examples/: webkit.lisp, addressbook.lisp:
33        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
34       
35        Use OBJC:LOAD-FRAMEWORK.
36
372007-04-08 12:06  gb
38
39        * examples/tiny.lisp:
40        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
41
422007-04-08 12:05  gb
43
44        * examples/rubix/: blocks.lisp, lights.lisp, opengl.lisp,
45        rubix.lisp:
46        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
47       
48        Handle CGFLOAT issues in mouse event handlers.
49
502007-04-08 12:04  gb
51
52        * examples/bridge.lisp: Define CGFLOAT, ObjC-2 foreign types here.
53       
54        Define "foreign struct classes" for several common structure types
55        (rectangle, point, size); generate inlined accessors for their
56        slots, PRINT-OBJECT methods, initialization functions, WITH-xxx
57        macros.
58       
59        #/ reader macro: reads a string containing "constituent" characters
60        (including #\:), preserving case.  Does a little bit of
61        sanity-checking on it, then interns it in NEXTSTEP-FUNCTIONS
62        package.
63       
64        Try to deal with cases where foreign type info may be parsed or
65        unparsed.
66       
67        Introduce OBJC-DISPATCH-FUNCTIONs, which are funcallable instances.
68         SHARED-INITIALIZE :AFTER method on OBJC-DISPATCH-FUNCTION looks at
69        message info, tries to determine ambiguity, calls signature
70        function (possibly after trying to resolve ambiguity.)
71       
72        %CALL-NEXT-OBJC-METHOD does some of the same stuff at runtime,
73        calling a signature function that knows how to dispatch to SUPER
74        method. (Likewise, %CALL-NEXT-OBJC-CLASS-METHOD for class methods.)
75       
76        POSTPROCESS-OBJC-MESSAGE-INFO (re-) initializes the associated
77        OBJC-DISPATCH-FUNCTION.
78       
79        Handle PROTOCOLs differently in ambiguous SEND.
80
812007-04-08 12:04  gb
82
83        * examples/objc-runtime.lisp: Compile message send functions per
84        signature.  Handle vararg message sends, partly at runtime.  INIT
85        messages just have their signature info precomputed.  Defining a
86        named OBJC-CLASS makes the class name a static variable whose value
87        is the class (and likewise for the metaclass.)
88        %DECLARE-OBJC-MESSAGE notes method redefinition, cerrors.
89        OBJC:DEFMETHOD and support for it.
90
912007-04-08 12:03  gb
92
93        * examples/objc-support.lisp: Use new syntax.  OBJC:LOAD-FRAMEWORK.
94         Avoid some deprecated C-string stuff (but wimp out and assume
95        ASCII.) Keep track of objc-class-count, provide
96        MAYBE-MAP-OBJC-CLASSES to map new classes iff class count changes.
97        Handle OBJC-PROTOCOLs a bit differently.  Move CGFLOAT definitions,
98        etc. elsewhere.
99
1002007-04-08 12:02  gb
101
102        * examples/objc-clos.lisp: RECOGNIZE-OBJC-OBJECT: maybe try mapping
103        classes if first try fails.  ALLOCATE-INSTANCE of objc-object:
104        don't canonicalize instance if no lisp slots (so MAKE-INSTANCE is
105        about as lightweight as MAKE-OBJC-INSTANCE.)
106
1072007-04-08 12:01  gb
108
109        * examples/name-translation.lisp:
110        COMPUTE-OBJC-TO-LISP-FUNCTION-NAME was once going to do something
111        non-trivial, now just interns in NEXSTEP-FUNCTIONS.
112
1132007-04-08 12:00  gb
114
115        * examples/objc-package.lisp: New file; export more stuff.  Import
116        some of it back into CCL.  Provide a NEXTSTEP-FUNCTIONS package for
117        pseudo-GFs.
118
1192007-04-08 11:59  gb
120
121        * lib/foreign-types.lisp: Foreign-type-ordinals, some of which are
122        canonical.  Straighten out the auxiliary-foreign-types mess a bit.
123        Intern integer types up to 64 bits.
124
1252007-04-08 11:59  gb
126
127        * lib/macros.lisp: DEFGLOBAL = DEFSTATIC.  DEFLOADVAR makes its
128        argument static.  WITH-MACPTRS is saner.  WITH-ENCODED-CSTR writes
129        NUL octet(s) to the end of the encoded string.  MAKE-GCABLE-RECORD,
130        COPY-RECORD.
131
1322007-04-08 11:58  gb
133
134        * lib/db-io.lisp: Slight changes (preserve typedef name) in
135        function/objc method arglists.  UNESCAPE-FOREIGN-NAME: handle
136        missing brackets.
137
1382007-04-08 11:57  gb
139
140        * lisp-kernel/x86-exceptions.c: Handle signals on the altstack if
141        not Darwin.  In Darwin, evactuate off of the lisp stack while
142        interrupts are still disabled.
143
1442007-04-08 11:56  gb
145
146        * lisp-kernel/x86-exceptions.h: USE_SIGALTSTACK, but not on Darwin
147        (where Apple hasn't yet invented the notion that it needs to be
148        thread-specific.)
149
1502007-04-08 11:55  gb
151
152        * lisp-kernel/thread_manager.c: Clear pending interrupt flag when
153        destroying TCR.
154
1552007-04-08 11:54  gb
156
157        * lisp-kernel/ppc-exceptions.c: Lose (commented-out) code which
158        worked around an old Darwin bug.
159
1602007-04-08 11:53  gb
161
162        * lisp-kernel/lisp.h: Don't define USE_SIGALTSTACK here.
163
1642007-04-08 11:52  gb
165
166        * lisp-kernel/image.c: Don't nuke null pointers.
167
1682007-04-08 11:52  gb
169
170        * lisp-kernel/darwinx8664/.gdbinit: Add gtra.
171
1722007-04-08 11:51  gb
173
174        * lisp-kernel/x86-spentry64.s: zeroed stack-block zeroes all bits
175        of macptr.domain, macptr.type.
176
1772007-04-08 11:50  gb
178
179        * xdump/xfasload.lisp: Deal with pkg.intern-hook.
180
1812007-04-08 11:49  gb
182
183        * library/lispequ.lisp: add pkg.intern-hook to package.
184
1852007-04-08 11:48  gb
186
187        * lib/describe.lisp: Start trying to conditionalize some of the
188        stack-frame inspector stuff.
189
1902007-04-08 11:48  gb
191
192        * lib/ffi-darwinppc64.lisp: Structures are basically passed as
193        64-bit word components, with FP fields passed in registers.  This
194        requires some special handling ("hybrid" parameters) in the
195        compiler and %FF-CALL.
196
1972007-04-08 11:47  gb
198
199        * lib/level-2.lisp: %GET-BITFIELD and SETF thereof: deal with
200        endianness.
201
2022007-04-08 11:46  gb
203
204        * lib/nfcomp.lisp: FASL-SCAN: null-pointers as constants are OK.
205
2062007-04-08 11:45  gb
207
208        * lib/source-files.lisp: From Takehiko Abe: handle EQL specializers
209        in %SOURCE-FILES-LIKE-EM.
210
2112007-04-08 11:44  gb
212
213        * lib/streams.lisp: DRIBBLE via PROCESS-DRIBBLE.
214
2152007-04-08 11:43  gb
216
217        * lib/xref.lisp: From Takehiko Abe: handle EQL specializers in
218        MAKE-XREF-ENTRY.
219
2202007-04-08 11:43  gb
221
222        * lib/ccl-export-syms.lisp: Export DEFSTATIC, PAREF, +NULL-PTR+.
223
2242007-04-08 11:42  gb
225
226        * level-1/version.lisp: Bump; new snapshots tomorrow.
227
2282007-04-08 11:41  gb
229
230        * level-1/x86-callback-support.lisp: DEFGLOBAL->DEFSTATIC
231
2322007-04-08 11:40  gb
233
234        * level-1/linux-files.lisp: Very long timeout for
235        WAIT-ON-SEMAPHORE, don't use PROCESS-WAIT, manipulate the whostate
236        if we have to wait at all.
237       
238        Same idea for TIMED-WAIT-ON-SEMAPHORE.
239       
240        Make PIPE code slightly easier to read.
241
2422007-04-08 11:39  gb
243
244        * level-1/l1-utils.lisp: DEFGLOBAL->DEFSTATIC.
245
2462007-04-08 11:38  gb
247
248        * level-1/l1-unicode.lisp: Add NUL-ENCODING field to
249        CHARACTER-ENCODING, use it to determine number/sequence of octets
250        used to encode NUL.
251
2522007-04-08 11:38  gb
253
254        * level-1/l1-streams.lisp: DEFGLOBAL->DEFSTATIC.
255       
256        READ-TOPLEVEL-FORM on ECHO-STREAM has do I/O on the echo stream (so
257        DRIBBLE works); on TWO-WAY-STREAM, should read from the input side
258        so that echoing looks more natural.
259
2602007-04-08 11:37  gb
261
262        * level-1/l1-symhash.lisp: Extra slot  (for intern hook) in PACKAGE
263        object.
264
2652007-04-08 11:36  gb
266
267        * level-1/l1-readloop-lds.lisp: Some changes, then reverted those
268        changes manually and most of the effects were cosmetic.
269        TOPLEVEL-PRINT takes an output stream arg.
270
2712007-04-08 11:35  gb
272
273        * level-1/l1-processes.lisp: Per-process DRIBBLE-ing.
274
2752007-04-08 11:34  gb
276
277        * level-1/l1-lisp-threads.lisp: %TCR-INTERRUPT: don't signal if
278        interrupt is obviously pending.
279
2802007-04-08 11:33  gb
281
282        * level-1/l1-io.lisp: Change pointer printing.
283
2842007-04-08 11:33  gb
285
286        * level-1/l1-init.lisp: +NULL-PTR+.
287
2882007-04-08 11:31  gb
289
290        * level-1/: l1-dcode.lisp, l1-events.lisp: DEFSTATIC is now the
291        preferred name for DEFGLOBAL.
292
2932007-04-08 11:30  gb
294
295        * level-1/l1-clos-boot.lisp: DEFSTATIC is now the preferred name
296        for DEFGLOBAL.
297       
298        Mechanism for associating a (built-in) class with a foreign type
299        ordinal.
300
3012007-04-08 11:29  gb
302
303        * level-1/l1-callbacks.lisp: DEFSTATIC is now the preferred name
304        for DEFGLOBAL.
305       
306        %CALLBACK-FUNCTION accepts a symbol (as well as a pointer that's
307        likely the global value of some symbol.)
308
3092007-04-08 11:28  gb
310
311        * level-1/l1-boot-2.lisp: DEFSTATIC is now the preferred name for
312        DEFGLOBAL.
313       
314        Standard CL streams now bound per-thread.
315       
316        Install standard foreign types here, not every time that
317        FOREIGN-TYPES is loaded.
318       
319        Canonicalize foreign type ordinals as soon as we can.  (This is
320        part of a scheme to give foreign types "ordinals' that can be used
321        to assert pointer types; we need some of those ordinal numbers to
322        be pre-assigned, since we can't reference foreign types early in
323        the cold load.)
324
3252007-04-08 11:27  gb
326
327        * level-1/l1-aprims.lisp: DEFSTATIC is now the preferred name for
328        DEFGLOBAL.  GCABLE-PTR-P.
329
3302007-04-07 21:25  gb
331
332        * level-0/nfasload.lisp: %INSERT-SYMBOL might call pkg.intern-hook.
333         Handle maintenance of auto-export packages differently.
334        $fasl-timm just needs an :int, not a :long.
335
3362007-04-07 21:24  gb
337
338        * level-0/l0-symbol.lisp: SET-TYPE-PREDICATE returns the
339        "functional", not random symbol guts.
340
3412007-04-07 21:23  gb
342
343        * level-0/l0-misc.lisp: Use %PTR-STORE-FIXNUM-CONDITIONAL in
344        %GET-SPIN-LOCK.  Locking code: spin lock must be released before
345        interrupts are re-enabled.
346
3472007-04-07 21:22  gb
348
349        * level-0/l0-io.lisp: FREE tries to handle gcable pointers.
350
3512007-04-07 21:20  gb
352
353        * level-0/: PPC/ppc-misc.lisp, X86/x86-misc.lisp:
354        %PTR-STORE-FIXNUM-CONDITIONAL.
355
3562007-04-07 21:19  gb
357
358        * level-0/PPC/ppc-def.lisp: Handle "hybrid" integer/float arguments
359        in DarwinPPC64 #'%FF-CALL.
360
3612007-04-07 21:19  gb
362
363        * compiler/optimizers.lisp: When trying to infer result type of
364        MAKE-ARRAY call, unquote quoted type specifier.
365       
366        Strength-reduce FLOAT when second argument is of known type.
367
3682007-04-07 21:18  gb
369
370        * compiler/nxenv.lisp: Operators of %SINGLE-FLOAT, %DOUBLE-FLOAT.
371
3722007-04-07 21:17  gb
373
374        * compiler/nx1.lisp: Allow extra "hybrid" ff-call argspecs (for
375        DarwinPPC64.) Cut-and-paste bug re: nx1-%fixnum-to-single/double.
376        Parse %short-float, %double-float when no "result" arg; can at
377        least try to constant-fold late and/or do some cases if we have
378        more type info.
379
3802007-04-07 21:16  gb
381
382        * compiler/nx0.lisp: Lose some whitespace in the "static var can't
383        be bound" error message.
384
3852007-04-07 21:15  gb
386
387        * compiler/X86/x862.lisp: Same inline/lambda-bind/dynamic-extent
388        bug as on PPC.  %SINGLE-FLOAT, %DOUBLE-FLOAT here, too.
389
3902007-04-07 21:14  gb
391
392        * compiler/X86/X8664/x8664-backend.lisp: In EXPAND-FF-CALL, adjust
393        remaning GPR/FPR counts even if arg is "simple" and passes straight
394        through to %FF-CALL.
395
3962007-04-07 21:13  gb
397
398        * compiler/PPC/ppc2.lisp: Fix a long-standing bug involving
399        LAMBDA-BIND operator, dynamic-extent &REST, and stack memoization.
400        Handle DarwinPPC64 ABI conventions, where SINGLE-FLOATs may be
401        passed in the same doubleword as GPRs.  %DOUBLE-FLOAT,
402        %SINGLE-FLOAT stuff: do inlining late, catch some other cases.
403
4042007-04-07 21:12  gb
405
406        * compiler/PPC/PPC64/ppc64-vinsns.lisp: RELOAD-SINGLE-C-ARG-HIGH,
407        for Darwin structure-passing ABI.
408
4092007-04-07 21:10  gb
410
411        * OpenMCL.app/Contents/Resources/English.lproj/:
412        MainMenu.nib/info.nib, MainMenu.nib/keyedobjects.nib,
413        MainMenu.nib/objects.nib, OpenmclInspector.nib/info.nib,
414        OpenmclInspector.nib/keyedobjects.nib,
415        OpenmclInspector.nib/objects.nib, backtrace.nib/info.nib,
416        backtrace.nib/keyedobjects.nib, backtrace.nib/objects.nib,
417        lispeditor.nib/info.nib, lispeditor.nib/keyedobjects.nib,
418        lispeditor.nib/objects.nib: Convert .nib to use utf-8
419        representation, not binary.
420
4212007-04-06 22:10  gb
422
423        * lisp-kernel/pmcl-kernel.c: Patch from Andi Kleen: set vmemoryuse
424        (RLIMIT_AS) current resource limit to max limit, since some distros
425        limit it.
426
4272007-04-03 03:11  gb
428
429        * level-1/l1-streams.lisp: Takehiko Abe's fix to
430        %IOBLOCK-WRITE-U16-ENCODED-CHAR.
431
4322007-04-02 22:10  gb
433
434        * level-1/l1-unicode.lisp: Takehiko Abe's fixes (missing "stream"
435        arg in utf-16 encode, missing #x in little-endian bom-marker
436        definition.)
437
4382007-03-14 23:10  gb
439
440        * lisp-kernel/x86-exceptions.c: Remove a debugging fprintf.
441
4422007-03-14 05:11  gb
443
444        * lib/ffi-darwinppc32.lisp: Fix typo (extra quote) in
445        generate-callback-bindings.
446
4472007-03-13 06:10  gb
448
449        * lisp-kernel/darwinx8664/Makefile: (re-)enable -O2.
450
4512007-03-13 03:58  gb
452
453        * lib/backtrace.lisp: Fix fenceposts in CLOSURE-CLOSED-OVER-VALUES.
454
4552007-03-12 05:11  gb
456
457        * lisp-kernel/x86-exceptions.c: Simplify interrupt_handler() a
458        little.
459
4602007-03-12 05:10  gb
461
462        * lib/foreign-types.lisp: Fix "extra arguments" error message in
463        %EXTERNAL-CALL-EXPANDER.
464
4652007-03-12 05:09  gb
466
467        * level-1/l1-clos-boot.lisp: class-wrapper-random-state: use
468        encapsulation, and a lock.
469
4702007-03-12 05:08  gb
471
472        * level-1/: l1-aprims.lisp, l1-numbers.lisp: *RANDOM-STATE* is
473        thread-local.
474
4752007-03-12 02:25  gb
476
477        * lisp-kernel/x86-exceptions.c: in catch_exception_raise(), try to
478        deal with variations in Mach behavior: "exception" may be
479        EXC_BAD_ACCESS when an illegal instruction causes a "general
480        protection fault".
481
4822007-03-09 15:56  gb
483
484        * level-1/l1-files.lisp: Bill's fix to (MAKE-PATHNAME :DIRECTORY
485        NIL ...)
486
4872007-03-09 00:01  gb
488
489        * lib/dumplisp.lisp: Use CLEAR-OPEN-FILE-STREAMS.
490
4912007-03-09 00:00  gb
492
493        * lib/ccl-export-syms.lisp: Accessors of open-file-streams; no more
494        *OPEN-FILE-STREAMS*.
495
4962007-03-09 00:00  gb
497
498        * level-1/: l1-streams.lisp, l1-sysio.lisp: Encapsulation for
499        open-file-streams.
500
5012007-03-08 23:59  gb
502
503        * level-1/l1-readloop.lisp: OPEN-FILE-STREAMS is a function,
504        returns a copy of a list of open file streams in PREPARE-TO-QUIT.
505
5062007-03-08 23:58  gb
507
508        * level-1/l1-init.lisp: Lose *OPEN-FILE-STREAMS* and the lock
509        associated with it.
510
5112007-03-08 23:57  gb
512
513        * level-1/l1-aprims.lisp: Bind *GENSYM-COUNTER* per-thread.
514
5152007-03-08 23:47  gb
516
517        * level-0/l0-hash.lisp: When REMHASH deletes the last entry in a
518        hash-table, it fills the hash-table vector with "free" markers.
519        (There may already be lots of "deleted" markers in the table.)
520
5212007-03-08 22:26  gb
522
523        * level-1/linux-files.lisp: *spin-lock-tries* with a trailing *.
524
5252007-03-08 22:24  gb
526
527        * lib/numbers.lisp: printing random-state: don't shift seeds.
528
5292007-03-08 22:24  gb
530
531        * level-1/l1-numbers.lisp: MAKE-RANDOM-STATE: don't shift.
532
5332007-03-08 22:24  gb
534
535        * level-0/X86/x86-numbers.lisp: Do %next-random-seed more portably.
536
5372007-03-08 22:23  gb
538
539        * level-0/PPC/PPC64/ppc64-bignum.lisp: Typo in comment.
540
5412007-03-08 22:23  gb
542
543        * level-0/PPC/ppc-numbers.lisp: Just a 32-bit version of
544        %next-random-pair.
545
5462007-03-08 22:22  gb
547
548        * level-0/l0-numbers.lisp: And, while we're at it: do the
549        next-random-seed permutation in %next-random-pair, which accepts
550        and returns a pair of 16-bit integers.  That's in lap on ppc32 and
551        in lisp on 64-bit platforms.
552
5532007-03-08 22:20  gb
554
555        * level-0/l0-numbers.lisp: Don't shift random seeds.
556
5572007-03-08 03:30  gb
558
559        * level-1/x86-error-signal.lisp: Check for trap opcode >= #x70
560        rather than >= #x80, because of the new way that
561        uuo-error-slot-unbound is encoded.
562
5632007-03-08 03:28  gb
564
565        * compiler/X86/x86-disassemble.lisp: Recognize
566        uuo-error-slot-unbound.
567
5682007-03-08 03:28  gb
569
570        * compiler/X86/x86-asm.lisp: Use (int #x7_) for
571        uuo-error-slot-unbound, since some (int #x8_) traps confuse Mach.
572
5732007-03-07 08:29  gb
574
575        * compiler/PPC/ppc2.lisp: Don't shadow the definition of PPC-DIV2.
576
5772007-03-07 07:45  gb
578
579        * level-1/linux-files.lisp: For #+linux-target, try to use
580        #_sysconf in CPU-COUNT, and fall back to parsing /proc/cpuinfo only
581        if that fails.  (CPU-COUNT is called early in the cold load, before
582        we can make the file-stream necessary to do the parsing.)
583
5842007-03-07 07:33  gb
585
586        * lisp-kernel/: linuxppc/Makefile, linuxppc64/Makefile,
587        linuxx8664/Makefile: Handle new GNU ld "hash-style" linker options.
588
5892007-03-07 07:25  gb
590
591        * lisp-kernel/x86-exceptions.h: Darwin signal return: logior in the
592        el-bizarro syscall mask, pass the magic number 0x1e as a second
593        arg, just in case.
594
5952007-03-07 07:24  gb
596
597        * level-1/l1-sysio.lisp: OPEN, CLOSE lock *OPEN-FILE-STREAMS-LOCK*
598        before accessing *OPEN-FILE-STREAMS*.
599
6002007-03-07 07:23  gb
601
602        * level-1/l1-readloop.lisp: Add comment about
603        *OPEN-FILE-STREAMS-LOCK*.
604
6052007-03-07 07:23  gb
606
607        * level-1/l1-init.lisp: Add *OPEN-FILE-STREAMS-LOCK*.
608
6092007-03-07 07:21  gb
610
611        * lib/nfcomp.lisp: Bind *FCOMP-PREVIOUS-POSITION* in
612        FCOMP-READ-LOOP (e.g., don't just hammer on the static binding.)
613
6142007-03-07 07:05  gb
615
616        * xdump/heap-image.lisp: Bump current image version.
617
6182007-03-07 07:02  gb
619
620        * lisp-kernel/x86-asmutils64.s: Some (currently unused) CPUID
621        "calls" want an argument in ecx.  Set that arg to 0 for now.
622
6232007-03-07 07:01  gb
624
625        * lisp-kernel/thread_manager.c: Use spinlocks to guard updates to
626        "real" locks; those updates can be simplified.
627       
628        lock_recursive_lock: no (ignored) timeout arg.
629
6302007-03-07 06:59  gb
631
632        * lisp-kernel/image.h: Bump current, max abi versions; continue to
633        support the old one.
634
6352007-03-07 06:59  gb
636
637        * lisp-kernel/Threads.h: #include #<sched.h>, for sched_yield()
638        prototype.  Change declaration of LOCK macro: no null timespec
639        required.  RECURSIVE_LOCKs have spinlock fields.
640
6412007-03-07 06:56  gb
642
643        * level-1/version.lisp: bump, indicate work-in-progress development
644        version.
645
6462007-03-07 06:56  gb
647
648        * level-1/linux-files.lisp: Determing *spin-lock-tries* at launch
649        time, based on cpu-count.  YIELD moved here, does #_sched_yield
650        rather than something lower-level.
651
6522007-03-07 06:53  gb
653
654        * level-0/l0-misc.lisp: Locks use spinlocks, try *spin-lock-tries*
655        to obtain them before yielding.
656
6572007-03-07 06:52  gb
658
659        * level-0/l0-io.lisp: Move YIELD elsewhere.
660
6612007-03-07 06:51  gb
662
663        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
664        X86/X8664/x8664-arch.lisp: Add spinlock field to lockptr storage
665        layout.
666
6672007-03-02 05:10  gb
668
669        * level-1/l1-application.lisp: Toplevel function: initial-listener
670        class is 'TTY-LISTENER.
671
6722007-03-02 05:09  gb
673
674        * level-1/l1-lisp-threads.lisp: Print n's value, not n in error
675        message.
676
6772007-03-02 05:09  gb
678
679        * level-1/l1-processes.lisp: New process class: TTY-LISTENER.
680       
681        EXIT-INTERACTIVE-PROCESS: for most processes, just PROCESS-KILL.
682        For TTY-LISTENER, call QUIT.
683
6842007-03-02 05:08  gb
685
686        * level-1/l1-readloop-lds.lisp: Don't call QUIT on EOF, call
687        EXIT-INTERACTIVE-PROCESS instead.
688       
689        Look at *QUIT-ON-EOF* when deciding what to do in response to EOF.
690
6912007-03-02 05:06  gb
692
693        * lib/ccl-export-syms.lisp: Export *quit-on-eof*.
694
6952007-03-02 05:06  gb
696
697        * lib/macros.lisp: WITH-MACPTRS: move initialization/modification
698        of null pointers into body.
699
7002007-03-02 05:05  gb
701
702        * lisp-kernel/x86-exceptions.c: Try to handle two more cases of
703        consus-interruptus.
704
7052007-03-02 05:05  gb
706
707        * compiler/nx0.lisp: (the <type> <constant>) transforms to
708        <constant> if constant is of type <type>.)
709       
710        Do we need an ignore-errors here ? Or does <type> need to be
711        defined ?
712
7132007-03-02 05:03  gb
714
715        * compiler/X86/x862.lisp: Do the / * thing.
716
7172007-03-02 05:02  gb
718
719        * compiler/X86/X8664/x8664-vinsns.lisp: things that do calls need
720        :call attribute.
721
7222007-03-01 04:04  gb
723
724        * lisp-kernel/x86-spentry64.s: binding primitives: set value after
725        new binding frame
726
7272007-02-28 07:04  gb
728
729        * level-0/X86/x86-numbers.lisp: In %fixnum-truncate, use -8(sp)
730        rather than %rbp; trust callback_for_interrupt() to preserve it.
731
7322007-02-28 07:03  gb
733
734        * lisp-kernel/x86-exceptions.c: Try to preserve -8(sp) across
735        callback_for_interrupt().
736
7372007-02-28 05:18  gb
738
739        * lisp-kernel/x86-gc.c: check_node: ignore tiny things (shift
740        counts) that may wind up on the vstack.
741       
742        Since those tiny things might be tagged as headers, walk the vstack
743        with new "headerless" functions that ignore headers.
744
7452007-02-28 05:16  gb
746
747        * lisp-kernel/x86-exceptions.c: In pc_luser_xp: if allocating and
748        before the alloc trap and interrupting, back out of the
749        modification to save_allocptr (and allocptr register) and set
750        *interrupt_displacement.
751
7522007-02-23 10:13  gb
753
754        * lib/foreign-types.lisp: Changes to GUESS-ALIGNMENT.  Again, this
755        only makes sense for cases where we have to guess; a bitfield
756        that's 8 bits wide still has an alignment of 1.
757       
758        Factor in the alignment of the containing int when bitfields are
759        involved.
760       
761        When parsing a record type, set the "bits" slot of each field.
762        (Not too many things look at that slot, but we want the effect of
763        loading a record from the database to match the effect of parsing a
764        definition as exactly as possible, and to be able to use EQUALP to
765        compare the results.)
766
7672007-02-23 10:06  gb
768
769        * lib/db-io.lisp: Some extra fields in
770        objc-message-info/objc-method-info structures.
771       
772        When calculating overall alignment of a structure, treat bitfields
773        as if they were :unsigned-int (since there's a "containing"
774        unsigned int that affects alignment.  N.B: this should be imposed
775        for anything that has an alignment of 1, not just a size of 1.)
776       
777        When loading integer types, try to use the precomputed types rather
778        than consing a new one.  This (a) reduces consing a little (b) is
779        more likely to get the alignment correct.  For (b), we really need
780        to distinguish between bitfields and addressable integers.
781
7822007-02-23 09:30  gb
783
784        * compiler/X86/x862.lisp: Nonsense in x862-set-bit.
785
7862007-02-22 02:33  gb
787
788        * level-0/l0-misc.lisp: Tweak ROOM output a little.
789
7902007-02-22 02:28  gb
791
792        * lisp-kernel/x86-gc.c: Fix up the verbose GC herald a bit (get
793        heap size right ...).
794
7952007-02-22 02:27  gb
796
797        * lisp-kernel/linuxx8664/Makefile: Tell GNU ld to use the
798        traditional (sysv) style of hash maps, if it understands that
799        option.
800
8012007-02-21 06:01  gb
802
803        * lisp-kernel/: ppc-gc.c, x86-gc.c: Handle the case where nothing
804        has been consed since last GC.  (There are some fenceposts there.)
805       
806        verbose GC herald tries to indicate how much is allocated in the
807        area being GCed.
808
8092007-02-21 05:58  gb
810
811        * lisp-kernel/: ppc-exceptions.c, x86-exceptions.c: If full GC is
812        deferred, ensure that a full GC happens after WITHOUT-GCING exits.
813
8142007-02-21 05:57  gb
815
816        * compiler/X86/x86-disassemble.lisp: Continue disassembly after
817        uuo-gc-trap.
818
8192007-02-19 04:50  gb
820
821        * lib/foreign-types.lisp: Use keywords more consistently.
822       
823        (Note: there seems to be a bug which is keeping the cdb data
824        structures from getting defined correctly at load time; the
825        workaround is to compile foreign-types.lisp - which defines them -
826        in the same session as and before db-io - which uses them - is
827        compiled.)
828
8292007-02-19 04:48  gb
830
831        * level-0/X86/x86-clos.lisp: UNSET-FIN-TRAMPOLINE: don't tail-call
832        error.
833
8342007-02-19 04:42  gb
835
836        * level-0/PPC/ppc-clos.lisp: UNSET-FIN-TRAMPOLINE: don't tail-call
837        the error function.
838
8392007-02-19 04:40  gb
840
841        * level-1/l1-clos-boot.lisp: MAYBE-UPDATE-OBSOLETE-INSTANCE: handle
842        funcallable objects that aren't STANDARD-GENERIC-FUNCTIONs.
843
8442007-02-19 04:40  gb
845
846        * level-1/l1-clos.lisp: Move GENERIC-FUNCTION-NAME to
847        FUNCALLABLE-STANDARD-OBJECT.
848       
849        %ALLOCATE-GF-INSTANCE: don't create a dispatch table if not
850        creating a GF.
851
8522007-02-19 04:36  gb
853
854        * lib/describe.lisp: STANDARD-OBJECT-LINE-N: handle
855        funcallable-stanard-objects better.
856
8572007-02-19 04:34  gb
858
859        * lib/ccl-export-syms.lisp: Export FUNCALLABLE-STANDARD-OBJECT from
860        CCL, OPENMCL-MOP.
861
8622007-02-19 02:09  gb
863
864        * level-1/l1-clos-boot.lisp: FUNCALLABLE-STANDARD-OBJECT is a
865        FUNCALLABLE-STANDARD-CLASS.
866
8672007-02-19 02:07  gb
868
869        * examples/bridge.lisp: MAKE-OPTIMIZED-SEND: missing "msg" arg in
870        error message.
871
8722007-02-15 02:46  gb
873
874        * examples/objc-support.lisp: Call REGISTER-OBJC-INIT-MESSAGES
875        after MAP-OBJC-CLASSES in LOAD-OBJC-EXTENSION-FRAMEWORK.
876
8772007-02-15 02:45  gb
878
879        * examples/bridge.lisp: UPDATE-OBJC-METHOD-INFO: don't process init
880        methods yet.
881
8822007-02-14 02:39  gb
883
884        * release-notes.txt: Fix a typo.
885
8862007-02-14 02:35  gb
887
888        * release-notes.txt: Update for 070214 snapshots.
889
8902007-02-13 23:36  gb
891
892        * level-1/version.lisp: Bump.
893
8942007-02-13 23:36  gb
895
896        * lisp-kernel/image.h, xdump/heap-image.lisp: Update
897        image-abi-version.
898
8992007-02-13 23:29  gb
900
901        * xdump/faslenv.lisp: Finish bumping fasl version.
902
9032007-02-13 23:15  gb
904
905        * lib/nfcomp.lisp: Bump current fasl version.
906
9072007-02-13 23:02  gb
908
909        * x86-headers64/gl/C/populate.sh: rm -rf ./usr
910
9112007-02-13 22:45  gb
912
913        * xdump/faslenv.lisp: Start bumping fasl-version.
914
9152007-02-13 22:41  gb
916
917        * freebsd-headers64/: gmp/C/populate.sh, gnome2/C/populate.sh,
918        gtk2/C/populate.sh, libc/C/populate.sh: rm -rf  ./usr
919
9202007-02-13 21:16  gb
921
922        * freebsd-headers64/gl/C/populate.sh: Avoid processing some files
923        that contain incompatible definitions of some math library stuff
924        ("log" either has to do with logarithms or logging ...).
925
9262007-02-13 18:42  gb
927
928        * lib/misc.lisp: Change the way that TIME is reported by default:
929        mention the number of available CPU cores, don't assume that
930        there's that much of a relationship between CPU time and wall-clock
931        time.
932
9332007-02-13 18:41  gb
934
935        * level-1/linux-files.lisp: Don't do whatever el-bizarro Mach thing
936        once seemed to be necessary in %%RUSAGE.  Require syscall stuff
937        when :execute, too.
938
9392007-02-13 18:35  gb
940
941        * lib/ffi-linuxppc64.lisp: It's %%get-unsigned-longlong, and the
942        offset arg is required.
943
9442007-02-13 18:12  gb
945
946        * level-0/X86/x86-misc.lisp: Add rdtsc (returns 60 bit non-negative
947        fixnum) and rdtsc64 (returns 64-bit non-negative integer.)
948
9492007-02-13 18:10  gb
950
951        * lib/time.lisp: Simpler GET-INTERNAL-RUN-TIME (tries harder not to
952        cons.)
953
9542007-02-13 18:10  gb
955
956        * examples/rubix/rubix.lisp: A little bit of cgfloat stuff; there
957        are more/other float-size issues deeper down in the code.
958
9592007-02-13 18:09  gb
960
961        * examples/objc-support.lisp: Fixup the x86-64 error-return
962        callback trampiline code (was missing a byte of machine code.)
963
9642007-02-13 18:08  gb
965
966        * examples/objc-runtime.lisp: Set the mxcsr/fpctrl fields of
967        jmp-buf to safe/sane values.
968
9692007-02-13 18:07  gb
970
971        * examples/cocoa-window.lisp: Don't change-class
972        *cocoa-event-process* until we start to run the event loop.
973       
974        Don't do _deallocHardCore: explicitly.
975
9762007-02-13 17:35  gb
977
978        * compiler/PPC/ppc2.lisp: poweropen-foreign-args: on ppc64, a
979        DOUBLE-FLOAT aliases just one gpr.
980
9812007-02-13 17:34  gb
982
983        * darwin-headers64/libc/C/populate.sh: Select the SDK directory.
984
9852007-02-13 17:34  gb
986
987        * library/pty.lisp: return-value pointers in OPEN-PTY-PAIR are just
988        32-bit ints, not "long".
989
9902007-02-13 17:33  gb
991
992        * lib/ffi-darwinppc64.lisp: Callback arguments: update offset/delta
993        for each scalar, not each arg.
994       
995        Fix some backquoting/indentation.
996
9972007-02-13 17:31  gb
998
999        * lib/ffi-darwinppc32.lisp: Fix typo (^get-signed-long).
1000
10012007-02-12 16:23  gb
1002
1003        * darwin-x86-headers64/libc/C/populate.sh: Select an SDK.
1004
10052007-02-11 20:22  gb
1006
1007        * examples/bridge.lisp: method-typestring needs to be
1008        conditionalized.  How has this been working ?
1009
10102007-02-11 20:22  gb
1011
1012        * examples/cocoa-editor.lisp: remove some debugging code.
1013
10142007-02-11 20:21  gb
1015
1016        * examples/objc-runtime.lisp: %mlist-containing is
1017        #-apple-objc-2.0.
1018
10192007-02-11 20:21  gb
1020
1021        * examples/objc-support.lisp: Lose a quote mark, fix another typo.
1022
10232007-02-11 05:35  gb
1024
1025        * level-1/version.lisp: Bump.
1026
10272007-02-11 05:28  gb
1028
1029        * darwin-headers/: addressbook/C/populate.sh, carbon/C/populate.sh,
1030        cocoa/C/populate.sh, gl/C/populate.sh, libc/C/populate.sh,
1031        quicktime/C/populate.sh, webkit/C/populate.sh: Make the SDK prefix
1032        an optional argument; default to the Tiger SDK.
1033
10342007-02-11 05:26  gb
1035
1036        * lib/ffi-darwinppc32.lisp: Ignore errors; it's an error to ignore
1037        an errror.
1038
10392007-02-11 05:26  gb
1040
1041        * level-1/ppc-trap-support.lisp: Conditionalize for gratuitous
1042        Leopard renaming.  Suffer.
1043
10442007-02-11 05:25  gb
1045
1046        * level-1/l1-boot-lds.lisp: MAKE-MCL-LISTENER-PROCESS will preset
1047        an existing process (so that the listener process appears to be
1048        "persistent".)
1049
10502007-02-11 05:24  gb
1051
1052        * level-1/l1-application.lisp: LISP-DEVELOPMENT-SYSTEM tries to
1053        make the initial-listener object persistent acrosss
1054        SAVE-APPLICATION.
1055
10562007-02-11 00:01  gb
1057
1058        * examples/objc-support.lisp: Deftype for CF-FLOAT.
1059       
1060        Handle callback-error-returns on x86-64.
1061
10622007-02-11 00:00  gb
1063
1064        * examples/objc-runtime.lisp: Pointer comparisons in splay trees
1065        use %ptr<, to hide word-size differences.
1066       
1067        __NSConstantStringClassReference isn't what it used to be, so look
1068        up NSConstantStringClass the hard way.
1069       
1070        Handle ns-exception/lisp-error stuff on x86-64.
1071       
1072        Do arg/result coercions differently.  Does any code depend on
1073        COERCE-TO-ADDRESS behavior ?  (It can cause extra consing of
1074        MACPTRs).
1075       
1076        Use the new FFI interface for message-sends, callbacks to try to
1077        hide platform-specific ABI issues.
1078       
1079        The _deallocate-hook mechanism - which never really worked -
1080        probably can't work on Objc-2.0.
1081
10822007-02-10 23:54  gb
1083
1084        * examples/bridge.lisp: Make structure return-type explicit in
1085        objc-message-send calls in send/stret and variants.
1086
10872007-02-10 22:34  gb
1088
1089        * examples/cocoa-window.lisp: Some indentation changes and slight
1090        reorganization of the code; shouldn't be any functional/semantic
1091        changes.
1092
10932007-02-10 22:30  gb
1094
1095        * examples/: cocoa-editor.lisp, cocoa-prefs.lisp,
1096        cocoa-typeout.lisp: Need to ensure that floats are CG-FLOATs when
1097        appropriate; other changes for 64-bit platforms, Objc-2.0.
1098
10992007-02-10 22:28  gb
1100
1101        * examples/: webkit.lisp, tiny.lisp: Need to ensure that floats are
1102        CG-FLOATs when appropriate.
1103
11042007-02-10 22:28  gb
1105
1106        * hemlock/bin/openmcl/.cvsignore: Ignore fasls for all platforms.
1107
11082007-02-10 22:28  gb
1109
1110        * level-0/X86/x86-misc.lisp: VALUES uses :ARGLIST pseudo-op.
1111
11122007-02-10 22:27  gb
1113
1114        * lib/: ffi-linuxppc64.lisp, ffi-darwinppc32.lisp,
1115        ffi-darwinppc64.lisp, ffi-linuxppc32.lisp: EXPAND-FF-CALL:
1116        ignore-errors when trying to parse the last arglist form as a
1117        foreign type.
1118
11192007-02-10 22:26  gb
1120
1121        * lib/foreign-types.lisp: Pretty much commited to the new FF-CALL
1122        expansion ...
1123
11242007-02-10 22:26  gb
1125
1126        * lisp-kernel/x86-spentry64.s: Preserve %rax when doing ff-call;
1127        use %rdx and %r11 to hold target address.
1128
11292007-02-10 22:23  gb
1130
1131        * library/pty.lisp: Unicode stuff when accessing control char
1132        array; conditionalize for #+darwin-target, not just
1133        #+darwinppc-target.
1134
11352007-02-10 22:22  gb
1136
1137        * level-1/l1-callbacks.lisp: Fix a comment (defcallback isn't
1138        ppc-specific; the comment dated from the days of 68K MCL.)
1139
11402007-02-10 22:21  gb
1141
1142        * compiler/X86/X8664/x8664-backend.lisp: Fix some typos; do struct
1143        return 32 bits at a time, to avoid consing little bignums.
1144
11452007-02-10 22:15  gb
1146
1147        * compiler/X86/x86-lap.lisp: Support :arglist directive.
1148
11492007-02-10 22:15  gb
1150
1151        * compiler/X86/x862.lisp: alloc-c-frame vinsn takes "extra" word
1152        count, not total byte count.
1153       
1154        Fix handling of $undo-x86-c-frame in x862-nlexit.  (Need to check
1155        the PPC case, as well.)
1156
11572007-02-10 22:11  gb
1158
1159        * compiler/X86/X8664/x8664-vinsns.lisp: There doesn't need to be a
1160        "zero-extend-s8" vinsn, but there does need to be a
1161        "zero-extend-u8".
1162
11632007-02-10 05:38  gb
1164
1165        * level-0/PPC/ppc-misc.lisp: Use new :ARGLIST directive in
1166        #'VALUES.
1167
11682007-02-10 05:38  gb
1169
1170        * compiler/PPC/ppc-lap.lisp: Support an :ARGLIST directive, so that
1171        ARGLIST can say -something- about lap functions that don't take a
1172        fixed number of arguments.
1173
11742007-02-07 02:54  gb
1175
1176        * compiler/X86/X8664/x8664-backend.lisp: They spell "valu" with an
1177        "e".
1178
11792007-02-02 02:32  gb
1180
1181        * examples/: bridge.lisp, objc-clos.lisp, objc-runtime.lisp,
1182        objc-support.lisp: Start to integrate with FFI changes.  No more
1183        %SEND, process and precompile "init" messages when interfaces are
1184        accessed.  (Note: should try to handle varargs init messages, even
1185        if we have to call %FF-CALL at runtime.)
1186
11872007-02-02 02:31  gb
1188
1189        * examples/: addressbook.lisp, webkit.lisp: Change the
1190        initialization code a bit.
1191
11922007-02-02 02:27  gb
1193
1194        * lib/foreign-types.lisp: Try to fix another case involving
1195        "auxiliary types".
1196       
1197        I think that the concept of auxiliary types might make sense in a
1198        context like:
1199       
1200        (def-foreign-type nil   (:struct :foo     (:a :int)     (:b
1201        (:struct :bar (:x :int) (:y :int)))))
1202       
1203        In that case, :struct :bar is local to the definition.  In the
1204        similar case:
1205       
1206        (def-foreign-type nil   (:struct :foo     (:a :int)     (:b
1207        (:struct :bar))))
1208       
1209        :BAR is presumably defined (globally) elsewhere.
1210
12112007-02-02 02:17  gb
1212
1213        * darwin-headers/addressbook/C/populate.sh: Specify the SDK to use.
1214         (Setting "SDK=" will hopefully work with older version of xcode.)
1215
12162007-02-02 02:15  gb
1217
1218        * darwin-headers/addressbook/C/.cvsignore: Ignore ./Developer.
1219
12202007-01-31 23:26  gb
1221
1222        * compiler/PPC/ppc2.lisp: Don't treat :registers arg as a real
1223        argument in ppc2-poweropen-foreign-args.
1224
12252007-01-31 22:47  gb
1226
1227        * lib/ffi-darwinppc64.lisp: Needed ,@ to return assign structure
1228        components from registers.
1229
12302007-01-31 22:45  gb
1231
1232        * lib/db-io.lisp: UNESCAPE-FOREIGN-NAME: strings with no angle
1233        brackets are returned verbatim, not downcased.
1234
12352007-01-31 22:44  gb
1236
1237        * level-0/PPC/ppc-def.lisp: Runtime version of 64-bit %ff-call
1238        accepts :registers.
1239
12402007-01-31 16:36  gb
1241
1242        * darwin-headers64/chud/: .cvsignore, C/.cvsignore, C/populate.sh:
1243        New (and, so far, useless) files.
1244
12452007-01-31 16:35  gb
1246
1247        * library/chud-metering.lisp: Add a comment; CHUD.Framework still
1248        seems to be 32-bit only.
1249
12502007-01-31 16:34  gb
1251
1252        * darwin-headers64/libc/C/.cvsignore: Ignore ./Developer.
1253
12542007-01-31 16:34  gb
1255
1256        * darwin-headers64/libc/C/populate.sh: Use SDK; add dlfcn.h.
1257
12582007-01-31 16:33  gb
1259
1260        * lib/db-io.lisp: Tweak the warning given if CDB-OPEN fails:
1261        missing cdb file: dog bytes man; missing parent directory is more
1262        newsworthy.
1263
12642007-01-31 15:38  gb
1265
1266        * library/chud-metering.lisp: Tweak a little, so that it might work
1267        on darwinppc64 (and on darwinx8664 when purify does something
1268        there.)
1269
12702007-01-31 15:06  gb
1271
1272        * darwin-headers/libc/C/populate.sh: Add dlfcn.h.
1273
12742007-01-31 02:49  gb
1275
1276        * level-0/PPC/PPC32/ppc32-bignum.lisp: BIGNUM-NEGATE-TO-PTR.
1277
12782007-01-30 22:53  gb
1279
1280        * freebsd-headers64/: gtk2/C/.cvsignore, gtk2/C/populate.sh,
1281        gl/C/.cvsignore, gl/C/populate.sh, gnome2/.cvsignore,
1282        gnome2/C/.cvsignore, gnome2/C/populate.sh, gtk2/.cvsignore,
1283        gl/.cvsignore: new files.
1284
12852007-01-30 22:21  gb
1286
1287        * freebsd-headers64/gmp/: C/.cvsignore, C/populate.sh, .cvsignore:
1288        new files.
1289
12902007-01-30 21:58  gb
1291
1292        * level-0/l0-bignum64.lisp: BIGNUM-NEGATE-TO-POINTER.
1293
12942007-01-30 21:58  gb
1295
1296        * x86-headers64/gmp/: .cvsignore, C/.cvsignore, C/populate.sh: new
1297        file
1298
12992007-01-30 21:49  gb
1300
1301        * level-1/l1-sockets.lisp: Learn to conditionalize! It's easy and
1302        fun!
1303
13042007-01-30 21:40  gb
1305
1306        * library/openmcl-gtk-support.lisp: Conditionalize out the
1307        event-polling task.
1308
13092007-01-30 21:36  gb
1310
1311        * headers64/: gl/.cvsignore, gl/C/.cvsignore, gl/C/populate.sh,
1312        gnome2/.cvsignore, gnome2/C/.cvsignore, gnome2/C/populate.sh,
1313        gtk2/.cvsignore, gtk2/C/.cvsignore, gtk2/C/populate.sh: new file
1314
13152007-01-30 21:35  gb
1316
1317        * headers/gl/C/populate.sh: process glu.h
1318
13192007-01-30 17:47  gb
1320
1321        * library/parse-ffi.lisp: Always encode explicit structure-typed
1322        function return values.
1323       
1324        Note when we see one, for now.
1325
13262007-01-30 17:45  gb
1327
1328        * lib/foreign-types.lisp: %EXTERNAL-CALL-EXPANDER allows/requires a
1329        leading argument to be paired with a structure-typed return-type.
1330
13312007-01-30 17:43  gb
1332
1333        * lib/ffi-linuxppc32.lisp: linuxppc32 always returns structures via
1334        the first-arg hack.
1335
13362007-01-30 17:42  gb
1337
1338        * lib/db-io.lisp: Bump *interface-abi-version*, but continue to
1339        support the old version.
1340       
1341        Don't check the :struct-by-value flag when encoding function
1342        args/results.  (That decision's made above our pay grade now.)
1343       
1344        When reading a :struct/:union definition, try to update an existing
1345        defintion rather than consing up a new one (this matters if the
1346        record is anonymous.)
1347
13482007-01-30 17:39  gb
1349
1350        * level-1/l1-sockets.lisp: Try to ensure that the :FORMAT argument
1351        gets passed to MAKE-TCP-STREAM-SOCKET and MAKE-FILE-STREAM-SOCKET
1352        correctly.
1353       
1354        Fix c_socket for #+linuxppc.
1355
13562007-01-30 08:20  gb
1357
1358        * level-1/version.lisp: Bump.
1359
13602007-01-30 08:20  gb
1361
1362        * lib/compile-ccl.lisp: Use make -j to build kernel.
1363
13642007-01-30 07:02  gb
1365
1366        * lisp-kernel/x86-spentry64.s: .SPcallback returns rax/rdx,
1367        xmm0/xmm1.
1368
13692007-01-30 07:01  gb
1370
1371        * lib/macros.lisp: Use new callback interface unconditionally.  (A
1372        day's work turned into 2 weeks, somehow.)
1373
13742007-01-30 07:00  gb
1375
1376        * compiler/X86/X8664/x8664-backend.lisp, lib/ffi-darwinx8664.lisp,
1377        lib/ffi-freebsdx8664.lisp, lib/ffi-linuxx8664.lisp: New callback
1378        stuff for x8664 (all platfroms appear to use the same ABI.)
1379
13802007-01-30 03:26  gb
1381
1382        * level-0/X86/x86-misc.lisp: Don't use boxed "disp" for
1383        displacement in %ATOMIC-INCF-NODE.
1384
13852007-01-29 07:27  gb
1386
1387        * lib/macros.lisp: Enable new callback stuff on #+ppc-target.
1388
13892007-01-29 07:27  gb
1390
1391        * lib/ffi-darwinppc64.lisp: new callback stuff.
1392
13932007-01-29 07:27  gb
1394
1395        * lib/ffi-darwinppc32.lisp: typos-r-us.
1396
13972007-01-29 04:37  gb
1398
1399        * lib/ffi-darwinppc32.lisp: Flesh out darwinppc32 callback stuff.
1400
14012007-01-29 04:37  gb
1402
1403        * lib/ffi-linuxppc64.lisp: Fix some typos/bugs; more likely remain.
1404
14052007-01-29 04:36  gb
1406
1407        * lib/foreign-types.lisp: REQUIRE-FOREIGN-TYPE-BITS.
1408
14092007-01-29 04:36  gb
1410
1411        * lib/macros.lisp: Use new callback scheme for darwinppc32, too.
1412
14132007-01-29 04:36  gb
1414
1415        * compiler/PPC/PPC32/ppc32-backend.lisp: No more (old) callback
1416        stuff here.
1417
14182007-01-29 02:33  gb
1419
1420        * lib/ffi-darwinppc32.lisp: Flesh out the new callback stuff.
1421
14222007-01-28 21:47  gb
1423
1424        * lib/: ffi-linuxppc32.lisp, ffi-linuxppc64.lisp: Flesh things out
1425        a bit more, change the API, get things working ... still a moving
1426        target.
1427
14282007-01-28 21:46  gb
1429
1430        * lib/macros.lisp: For linuxppc, use the new callback mechanism.
1431        (Other platforms still need more bootstrapping.)
1432
14332007-01-28 21:44  gb
1434
1435        * compiler/PPC/PPC32/ppc32-backend.lisp: Lose the old eabi-callback
1436        stuff; linuxppc 32/64-bit callbacks now use the new scheme.
1437
14382007-01-28 03:21  gb
1439
1440        * lib/ffi-linuxppc32.lisp: Remove some typos.  Need to pass
1441        dynamic-extent, other decls separately.
1442
14432007-01-28 03:20  gb
1444
1445        * compiler/PPC/PPC32/ppc32-backend.lisp: Fix some of this stuff;
1446        use the new (ftd-based) scheme.
1447
14482007-01-28 01:43  gb
1449
1450        * compiler/PPC/PPC64/ppc64-backend.lisp: Fix some typos.  (This
1451        code's getting replaced, but fix 'em anyway.)
1452
14532007-01-28 01:42  gb
1454
1455        * lib/db-io.lisp: If a .cdb file can't be opened, show the
1456        translated pathname and mention the fact that this might indicate a
1457        problem with "ccl:"'s logical translations.
1458
14592007-01-25 04:37  gb
1460
1461        * lib/foreign-types.lisp: Never fully understood the concept
1462        "auxiliary" foreign types, but try to canonicalize intermediate
1463        struct/union/enum references, so that (EQ (PARSE-FOREIGN-TYPE
1464        '(:STRUCT :FOO))     (PARSE-FOREIGN-TYPE '(:STRUCT :FOO))) is more
1465        likely to return T (e.g., something registered in the FTD.
1466       
1467        It seems clear that this is the right thing when the structure
1468        reference is in global scope; I'm not sure what it'd mean for that
1469        not to be the case.
1470
14712007-01-25 04:32  gb
1472
1473        * lib/ffi-linuxppc32.lisp: More plausible callback-bindings
1474        callback.
1475
14762007-01-24 23:41  gb
1477
1478        * lib/ffi-linuxppc32.lisp: First cut at callback-bindings thing;
1479        may not even compile.
1480
14812007-01-24 02:39  gb
1482
1483        * compiler/: PPC/PPC32/ppc32-backend.lisp,
1484        PPC/PPC64/ppc64-backend.lisp, X86/X8664/x8664-backend.lisp: Stubs
1485        for new FTD functions.
1486
14872007-01-24 02:28  gb
1488
1489        * lib/foreign-types.lisp: A few more fields (for callbacks) in ftd
1490        defstruct.
1491
14922007-01-23 15:28  gb
1493
1494        * compiler/PPC/: PPC32/ppc32-backend.lisp,
1495        PPC64/ppc64-backend.lisp: Get FPRs from where subprim saved them.
1496        Return FPRs in the same place.  (Will need to re-work all of this
1497        for platform-dependent structure stuff.)
1498
14992007-01-23 15:26  gb
1500
1501        * lisp-kernel/ppc-spentry.s: poweropen-callback, callbackX; save fp
1502        args here.  Return all (arg) GPRs and FPRs (needs cooperation from
1503        the lisp side.)
1504
15052007-01-23 15:21  gb
1506
1507        * lisp-kernel/: ppc-constants32.s, ppc-constants64.s: Add room in
1508        c_reg_save for saved fp args (f1-f13).
1509
15102007-01-23 15:14  gb
1511
1512        * lib/foreign-types.lisp: FF-CALL implemented in terms of the new
1513        ftd hook.
1514
15152007-01-23 07:19  gb
1516
1517        * level-1/l1-clos-boot.lisp: ppc32, ppc64 also had trouble with
1518        (CLASS-OF non-simple-string).
1519
15202007-01-23 07:02  gb
1521
1522        * level-1/l1-clos-boot.lisp: x8664 class-of: typo in non-simple
1523        array case, needed new string definition.
1524
15252007-01-23 07:01  gb
1526
1527        * lib/: ffi-darwinx8664.lisp, ffi-freebsdx8664.lisp,
1528        ffi-linuxx8664.lisp: Define ffi stuff in terms of common things in
1529        compiler/X86/X8664/x8664-backend.
1530
15312007-01-23 06:59  gb
1532
1533        * compiler/X86/X8664/x8664-backend.lisp: Define (common) x8664 ffi
1534        stuff here.
1535
15362007-01-21 08:32  gb
1537
1538        * compiler/X86/x862.lisp: Name vinsn ff-call-return-registers (not
1539        "-returning-").
1540       
1541        Typecheck the :registers arg.
1542
15432007-01-21 08:32  gb
1544
1545        * compiler/X86/X8664/x8664-vinsns.lisp: ff-call-return-registers.
1546
15472007-01-21 08:31  gb
1548
1549        * compiler/X86/X8664/x8664-arch.lisp: WITH-FFCALL-RESULTS: zero the
1550        stack-block.
1551
15522007-01-21 08:31  gb
1553
1554        * lisp-kernel/x86-spentry64.s: Don't use save3 in
1555        .SPffcall_return_registers (save3 = r11); use save2 (= r13)
1556        instead.
1557
15582007-01-21 06:46  gb
1559
1560        * compiler/PPC/PPC64/ppc64-arch.lisp: WITH-FFCALL-RESULTS needs
1561        space for 13 float registers, not 31.
1562
15632007-01-21 06:45  gb
1564
1565        * compiler/X86/X8664/x8664-arch.lisp: WITH-FFCALL-RESULTS for
1566        x86-64.
1567
15682007-01-21 06:38  gb
1569
1570        * compiler/X86/x862.lisp: ff-call: handle n-word struct-by-value,
1571        register return without typos.
1572
15732007-01-21 06:15  gb
1574
1575        * compiler/X86/x862.lisp: ff-call: handle n-word struct-by-value,
1576        register return.
1577
15782007-01-21 06:14  gb
1579
1580        * compiler/nx1.lisp: Don't assume that passing a structure by value
1581        in N words is Darwin-specific.  (LinuxPPC32 is probably the only
1582        platform that doesn't support the convention.)
1583
15842007-01-21 06:12  gb
1585
1586        * compiler/X86/X8664/x8664-arch.lisp: .SPffcall-return-registers
1587        replaces .SPunused-4.
1588
15892007-01-21 06:10  gb
1590
1591        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s:
1592        .SPffcall_return_registers (just returns %rax/rdx, %xmm0/%xmm1).
1593        (replaces .SPunused_4).
1594
15952007-01-21 00:05  gb
1596
1597        * lib/: ffi-linuxppc32.lisp, ffi-linuxppc64.lisp: Use
1598        argument/result coercion functions in os::expand-ff-call.
1599
16002007-01-20 23:53  gb
1601
1602        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp: Coerce arg,
1603        results when expanding an ff-call.
1604
16052007-01-20 23:52  gb
1606
1607        * lib/foreign-types.lisp: Default (no-op) functions for coercing
1608        foreign args, results.
1609
16102007-01-20 22:31  gb
1611
1612        * lib/ffi-linuxppc64.lisp: 4 down.  Whether 2 or 3 to go depends on
1613        your perspective (and on how close x86-64 Linux and x86-64 FreeBSD
1614        are to each other.  I'd guess that they're pretty close, and that
1615        x86-64 Darwin is random.)
1616
16172007-01-20 21:55  gb
1618
1619        * lib/ffi-linuxppc32.lisp: Pretty simple.  3 down, 4 to go.
1620
16212007-01-20 19:34  gb
1622
1623        * compiler/X86/X8664/x8664-backend.lisp: Package prefixes.  D'oh!
1624
16252007-01-20 19:25  gb
1626
1627        * compiler/X86/X8664/x8664-backend.lisp: Add references to the
1628        right os::ff-call-expander.
1629
16302007-01-20 19:24  gb
1631
1632        * compiler/PPC/PPC64/ppc64-arch.lisp: Remove some wip code.
1633
16342007-01-20 19:24  gb
1635
1636        * compiler/PPC/: PPC32/ppc32-backend.lisp,
1637        PPC64/ppc64-backend.lisp: Use os::expand-ff-call, for each value of
1638        OS.
1639
16402007-01-20 19:23  gb
1641
1642        * level-1/l1-sockets.lisp: Saw an opportunity to use PAREF;
1643        probably several more.
1644
16452007-01-20 19:22  gb
1646
1647        * lib/ffi-darwinppc64.lisp: Two down, 5 to go.
1648
16492007-01-20 19:21  gb
1650
1651        * lib/ffi-darwinppc32.lisp: Looks mostly right; might need to be
1652        extended to handle coercions at the Cocoa level, and probably needs
1653        some cooperation from %EXTERNAL-CALL-EXPANDER (e.g., what's
1654        installed by #_).
1655
16562007-01-20 19:18  gb
1657
1658        * lib/db-io.lisp: Encode, decode union types in arglists.
1659
16602007-01-20 19:17  gb
1661
1662        * lib/foreign-types.lisp: ftd's :ff-call-expand-function is
1663        os::expand-ff-call.
1664       
1665        Canonicalize the :void type a bit better.
1666
16672007-01-20 19:16  gb
1668
1669        * library/parse-ffi.lisp: Remove the debugging FORMAT call.
1670
16712007-01-18 23:15  gb
1672
1673        * level-1/l1-boot-2.lisp: Load with the new ffi-backend fasls.
1674
16752007-01-18 23:15  gb
1676
1677        * lib/compile-ccl.lisp: Deal with the new ffi-backend sources.
1678
16792007-01-18 23:15  gb
1680
1681        * lib/systems.lisp: Add the new ffi-backend sources.
1682
16832007-01-18 23:14  gb
1684
1685        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp,
1686        ffi-darwinx8664.lisp, ffi-freebsdx8664.lisp, ffi-linuxppc32.lisp,
1687        ffi-linuxppc64.lisp, ffi-linuxx8664.lisp: New (so far, empty)
1688        files.
1689
16902007-01-18 04:35  gb
1691
1692        * level-1/version.lisp: Bump.
1693
16942007-01-18 04:17  gb
1695
1696        * examples/bridge.lisp: Some word-size conditionalization.  Will
1697        need more work to handle struct return/asssignment correctly on all
1698        platforms.
1699
17002007-01-18 04:15  gb
1701
1702        * examples/: cocoa-editor.lisp, cocoa-backtrace.lisp: Use CGFloat,
1703        type casts, etc.  Likwise for :<NSI>nteger, :<NSUI>nteger.
1704
17052007-01-18 04:13  gb
1706
1707        * examples/: cocoa-prefs.lisp, cocoa-listener.lisp: Use CGFloat,
1708        type casts, etc.
1709
17102007-01-18 04:12  gb
1711
1712        * examples/cocoa-window.lisp: Use CGFloat, type casts, etc.  Avoid
1713        deprecated NSFont stuff.
1714
17152007-01-18 04:11  gb
1716
1717        * examples/objc-clos.lisp: Handle ivars, class
1718        creation/initialization differently for ObjC 2.0.
1719
17202007-01-18 04:10  gb
1721
1722        * examples/objc-runtime.lisp: More ObjC 2.0, ppc64 changes.
1723
17242007-01-18 04:09  gb
1725
1726        * examples/objc-support.lisp: Note which protocols are actually
1727        used when walking classes.  (There doesn't seem to be a good way of
1728        finding a Protocol object pre-objc-2.0, and we may need to test
1729        protocol compliance to disambiguate message sends in some cases.)
1730
17312007-01-18 04:07  gb
1732
1733        * examples/opengl-ffi.lisp: Conditionalize for darwin (not
1734        necessarily darwinppc).
1735
17362007-01-18 04:06  gb
1737
1738        * examples/addressbook.lisp: Conditionalize for darwin (not
1739        necessarily darwinppc).  May want to conditionalize for bundle
1740        executable name, as well.
1741
17422007-01-18 04:05  gb
1743
1744        * compiler/PPC/PPC64/ppc64-arch.lisp: WITH-FFCALL-RESULTS.  Start
1745        to sketch out structure return code (structures are often
1746        "returned" by returning field values in registers pn DarwinPPC64.)
1747
17482007-01-18 04:04  gb
1749
1750        * compiler/PPC/PPC64/ppc64-backend.lisp: New ftd stuff; new
1751        attributes for structure args/results.
1752
17532007-01-18 04:03  gb
1754
1755        * compiler/PPC/PPC64/ppc64-vinsns.lisp: ffcall-returning registers.
1756         (Will need this for other platforms, too.)
1757
17582007-01-18 04:01  gb
1759
1760        * lib/macros.lisp: Arch-specific macro interface for
1761        WITH-FFCALL-RESULTS.
1762
17632007-01-18 04:00  gb
1764
1765        * lib/db-io.lisp: Handle the case of an encoded structure type as a
1766        return value.
1767
17682007-01-18 04:00  gb
1769
1770        * lisp-kernel/: ppc-spentry.s, ppc-spjump.s:
1771        .SPpoweropen_ffcall_return_registers.
1772
17732007-01-18 03:59  gb
1774
1775        * library/parse-ffi.lisp: At least optionally, make structure
1776        return explicit (expecting it to be handled by higher-level code.)
1777
17782007-01-18 03:58  gb
1779
1780        * lib/foreign-types.lisp: ff-call-expand-function in ftd.  Don't
1781        try to type-expand :registers <exp> form in EXTERNAL-CALL.
1782
17832007-01-18 03:55  gb
1784
1785        * level-0/PPC/ppc-misc.lisp: Get the contents of the register that
1786        may hold OS thread context.
1787
17882007-01-18 03:54  gb
1789
1790        * compiler/PPC/PPC32/ppc32-backend.lisp: ff-call-expander function
1791        in ftd.
1792
17932007-01-18 03:53  gb
1794
1795        * compiler/PPC/PPC32/ppc32-arch.lisp: WITH-FFCALL-RESULTS arch
1796        macro.
1797
17982007-01-18 03:52  gb
1799
1800        * compiler/PPC/ppc2.lisp: Poweropen ff-calls might need to return
1801        all possible result regs.  (Maybe poweropen syscall, too.)
1802
18032007-01-18 03:51  gb
1804
1805        * compiler/PPC/ppc-arch.lisp: Replace unused subprim with
1806        .SPpoweropen-ff-call-return-registers.
1807
18082007-01-18 03:50  gb
1809
1810        * compiler/nx1.lisp: Support :registers <exp> in %ff-call; when
1811        supported, backend will return all (potential) result registers in
1812        buffer at <exp>.
1813
18142007-01-16 02:01  gb
1815
1816        * level-1/l1-streams.lisp: Make sure that STREAM-READ-IVECTOR and
1817        STREAM-WRITE-IVECTOR are defined on binary stream classes.  (These
1818        functions make less sense for character streams/strings than they
1819        used to.)
1820
18212007-01-16 01:39  gb
1822
1823        * level-1/l1-sockets.lisp: Ensure that the :FORMAT argument
1824        defaults to :BIVALENT
1825
18262007-01-16 01:37  gb
1827
1828        * level-0/l0-init.lisp: Put :OPENMCL-UNICODE-STRINGS on *FEATURES*.
1829
18302007-01-11 23:58  gb
1831
1832        * compiler/PPC/ppc2.lisp: Transform (/ (* constant1 exp) constant2)
1833        into (* (/ constant1 constant2) exp).  Not very general, but makes
1834        some foreign address arithmetic better.
1835
18362007-01-11 23:56  gb
1837
1838        * lib/macros.lisp: Simple PAREF: (paref pointer
1839        foreign-pointer-or-array-type index) does simple arithmetic for
1840        you.
1841
18422007-01-11 23:54  gb
1843
1844        * lib/foreign-types.lisp: %FOREIGN-ARRAY-ACCESS-FORM.
1845
18462007-01-10 15:50  gb
1847
1848        * compiler/PPC/ppc2.lisp: ppc2-vref1: lose extra arg to
1849        double->heap vinsn.
1850
18512007-01-09 11:33  gb
1852
1853        * lisp-kernel/x86-spentry64.s: When running an unwind-protect
1854        cleanup and multiple values are being thrown, be sure to set
1855        tcr.xframe from the target catch frame.  This is necessary on
1856        general principles (GC safety), and especially necessary if the
1857        cleanup form does a non-local exit.
1858
18592007-01-08 22:12  gb
1860
1861        * examples/: objc-clos.lisp, objc-runtime.lisp, objc-support.lisp:
1862        Revive some of the old GNUstep support; add partial ObjC 2.0
1863        support (for 64-bit targets only, so far.)
1864
18652007-01-08 22:11  gb
1866
1867        * examples/cocoa.lisp: Conditionalize for darwin-target, not
1868        darwinppc-target.
1869
18702007-01-08 22:10  gb
1871
1872        * examples/cocoa-listener.lisp: Disable background layout in the
1873        listener; the whole two-thread scheme probably isn't viable, but
1874        doing this seems to suppress a timing-related symptom.
1875
18762007-01-08 22:09  gb
1877
1878        * examples/cocoa-editor.lisp: Document-begin-editing,
1879        document-end-editing: both seem to have been conditionalized
1880        backwards.
1881
18822007-01-05 16:22  gb
1883
1884        * level-0/l0-numbers.lisp: Fix another typo ...
1885
18862007-01-05 16:16  gb
1887
1888        * level-0/l0-numbers.lisp: Fix typo (ppc32::, not ppc2::).
1889
18902007-01-05 15:27  gb
1891
1892        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Missing MISC-SET-C-S32 for
1893        PPC32.
1894
18952007-01-05 06:20  gb
1896
1897        * level-0/l0-cfm-support.lisp: OPEN-SHARED-LIBRARY: freebsd version
1898        of #_dlopen doesn't return a link map, but calling #_dlinfo on the
1899        result (with the right arg) does obtain a link map.
1900       
1901        Revive shared libraries on FreeBSD, but don't do the strange
1902        Linux-specific re-opening there.  (It seems like it's possible to
1903        #_dlopen something that already has a loaded link map - like the
1904        FreeBSD dynamic linker - or something.)
1905
19062007-01-04 05:46  gb
1907
1908        * level-1/l1-pathnames.lisp: %component-match-p: handle :WILD,
1909        :WILD-INFERIORS.
1910
19112007-01-04 05:45  gb
1912
1913        * lisp-kernel/pmcl-kernel.c: Try to check for old libc versions
1914        (which may use %gs instead of %fs for tls).
1915
19162007-01-04 05:44  gb
1917
1918        * lib/numbers.lisp: Explicitly require NUMBER-CASE-MACRO.
1919
19202007-01-04 05:44  gb
1921
1922        * level-0/l0-numbers.lisp:
1923        fixnum-sfloat-compare,fixnum-dfloat-compare: if the fixnum can be
1924        accurately represented in float, do so.
1925
19262007-01-03 03:35  gb
1927
1928        * lib/sequences.lisp: Fix a few type errors, check for explicit
1929        vector-type length earlier.
1930
19312007-01-03 03:31  gb
1932
1933        * level-1/l1-files.lisp: %STD-NAME-COMPONENT, %STD-TYPE-COMPONENT:
1934        preserved :WILD, don't map it to "*".
1935
19362007-01-03 03:30  gb
1937
1938        * lib/pathnames.lisp: More whack-a-mole with pathnames
1939        (specifically, preserving :WILD as name/type value and dealing with
1940        the consequences of doing so.)
1941
19422007-01-03 03:27  gb
1943
1944        * lib/numbers.lisp: Small (mostly cosmetic) change to RATIONAL.
1945
19462007-01-02 09:57  gb
1947
1948        * lib/macros.lisp: Keep fixing CTYPECASE.
1949
19502007-01-02 09:57  gb
1951
1952        * level-1/l1-streams.lisp: DOH! STREAM-READ-LINE method on
1953        BASIC-CHARACTER-INPUT-STREAM returns both values.
1954       
1955        "Composite" (two-way, concatenated, etc) streams need a close
1956        protocol.
1957
19582007-01-02 07:00  gb
1959
1960        * level-0/l0-pred.lisp: EQUAL on physical pathnames ignores the
1961        (new) version slot, as does practically everything else.
1962
19632007-01-02 06:59  gb
1964
1965        * level-0/l0-numbers.lisp: Don't assume that fixnums can be
1966        accurately coerced to floats when comparing fixnums and floats; do
1967        the logical equvalent of calling RATIONAL on the float instead.
1968
19692007-01-01 23:41  gb
1970
1971        * level-1/l1-files.lisp: ENOUGH-NAMESTRING: don't incorporate
1972        version into returned namestring for physical pathnames.
1973
19742006-12-31 10:15  gb
1975
1976        * release-notes.txt: Update.
1977
19782006-12-31 09:13  gb
1979
1980        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump image/abi
1981        version.
1982
19832006-12-31 08:57  gb
1984
1985        * xdump/faslenv.lisp: Bump fasl-min-vers.
1986
19872006-12-31 08:49  gb
1988
1989        * lib/nfcomp.lisp: Bump current fasl version.
1990
19912006-12-31 08:33  gb
1992
1993        * lisp-kernel/: linuxppc/elf32ppclinux.x, linuxppc64/elf64ppc.x:
1994        Tweak the executable start address.
1995
19962006-12-31 02:44  gb
1997
1998        * lisp-kernel/x86-spjump64.s: On Darwin, use a .space directive to
1999        ensure that there's nothing interesting in the first few pages of
2000        the address space (and ensure that those pages are mapped.)
2001
20022006-12-31 02:43  gb
2003
2004        * lisp-kernel/darwinx8664/Makefile: Sadly, we can't use -sectalign
2005        on x86-64 (ld64 does some floating-point arithmetic, fails to
2006        account for roundoff error, and claims that 0x1000 isn't a power of
2007        2.) If you can't say anything good about a linker, it's best not to
2008        say anything at all.
2009       
2010        We can force the first segment to be mapped at 0x1000, and can
2011        waste a few pages to ensure that all low-memory pages that the lisp
2012        wants are mapped.
2013
20142006-12-31 02:33  gb
2015
2016        * level-1/l1-pathnames.lisp: %SPLIT-COMPONENT: be a little more
2017        defensive.
2018
20192006-12-31 02:32  gb
2020
2021        * compiler/nx0.lisp: NX-FORM-TYPE: handle quoted constants.
2022
20232006-12-31 02:29  gb
2024
2025        * xdump/faslenv.lisp: Bump $fasl-vers.
2026
20272006-12-31 02:28  gb
2028
2029        * level-1/version.lisp: Bump; remove "Beta" designation.
2030
20312006-12-29 20:13  gb
2032
2033        * compiler/X86/X8664/x8664-arch.lisp, lisp-kernel/area.h,
2034        lisp-kernel/lisp_globals.h, lisp-kernel/x86-constants64.h,
2035        lisp-kernel/x86-constants64.s, xdump/xx8664-fasload.lisp: Move NIL
2036        up a page on x86-64 as well.
2037
20382006-12-29 16:09  gb
2039
2040        * lisp-kernel/ppc-spjump.s: Be a little clearer about where we're
2041        .orged.
2042
20432006-12-29 15:32  gb
2044
2045        * compiler/PPC/PPC32/ppc32-arch.lisp, lisp-kernel/area.h,
2046        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
2047        lisp-kernel/darwinppc/Makefile, xdump/xppcfasload.lisp: Static area
2048        (including NIL) now one page higher on ppc32, as well.
2049
20502006-12-29 02:38  gb
2051
2052        * level-0/PPC/ppc-float.lisp: SQRT in LAP (todo: inline it.)
2053
20542006-12-29 01:38  gb
2055
2056        * compiler/PPC/PPC64/ppc64-arch.lisp: Move ppc64::nil-value (and
2057        ppc64::reservation-discharge) up a page.
2058
20592006-12-29 01:37  gb
2060
2061        * xdump/xppcfasload.lisp: xload-static-space-address for ppc64 is
2062        #x2000; still #x1000 for ppc32.  (need to set this for x86-64)
2063
20642006-12-29 01:36  gb
2065
2066        * xdump/xfasload.lisp: *xload-static-space-address* depends on the
2067        backend.  ppc64 wants it one page higher than it has been, to avoid
2068        letting unmapped pages get claimed by the dynamic linker on Darwin.
2069
20702006-12-29 01:35  gb
2071
2072        * lisp-kernel/darwinppc64/Makefile: Change seg1addr/sectalign, so
2073        that the image starts at #x1000 and aligned section data for the
2074        text section starts on the next page.
2075
20762006-12-29 01:33  gb
2077
2078        * lisp-kernel/ppc-spjump.s: Org the spjump table 3 pages from where
2079        the aligned text section data starts.
2080
20812006-12-29 01:32  gb
2082
2083        * lisp-kernel/: ppc-constants64.h, ppc-constants64.s: nil_value,
2084        etc a page higher.
2085
20862006-12-29 01:32  gb
2087
2088        * lisp-kernel/pmcl-kernel.c: Don't remap ppc64 spjump table if it's
2089        already where it should be.
2090
20912006-12-29 01:32  gb
2092
2093        * lisp-kernel/lisp_globals.h: Access lisp_globals/nrs_symbols a
2094        page higher.
2095
20962006-12-29 01:30  gb
2097
2098        * lisp-kernel/area.h: Move STATIC_BASE_ADDRESS up a page for ppc64.
2099
21002006-12-22 01:40  gb
2101
2102        * lisp-kernel/ppc-exceptions.c: Ensure that sqrt() is prototyped.
2103
21042006-12-22 01:39  gb
2105
2106        * lisp-kernel/pmcl-kernel.c: Insist on at least Panther for
2107        PPC32/Darwin.
2108       
2109        Use dlopen() on 64-bit Darwin variants.  Might want to do a runtime
2110        test and use dlfcn functions if at least Tiger.
2111       
2112        (The old dyld functions are deprecated under Leopard, and there's
2113        reason to believe that they don't work correctly on at least ppc64/
2114        Leopard; attempting to use NSCreateObjectFileImageFromFile to open
2115        a 64-bit .dylib seems to lead to memory corruption rather than
2116        returning NSObjectFileImageInappropriateFile.
2117       
2118        The old functions work better than the dlfcn functions on pre-Tiger
2119        systems.)
2120
21212006-12-19 01:24  gb
2122
2123        * library/parse-ffi.lisp: Just to be on the safe side (new pathname
2124        bugs, or old ?), append -BAK to (NAMESTRING (TRUENAME path)), not
2125        just (NAMESTRING path) when renaming.  (MERGE-PATHNAMES call is
2126        producing a pathane with a non-null VERSION component, as it
2127        arguably should have been all along.
2128
21292006-12-18 13:22  gb
2130
2131        * lib/sequences.lisp: COERCE/MAKE-SEQUENCE try to simplify vector
2132        types into concrete vector types.
2133
21342006-12-18 13:04  gb
2135
2136        * level-1/l1-pathnames.lisp: Try (halfheartedly) to maintain
2137        PATHNAME-VERSION of physical pathnames.  (Totally meaningless, but
2138        failing to do this leads to many test failures.)
2139
21402006-12-18 13:03  gb
2141
2142        * level-1/l1-numbers.lisp: Don't call out to do sqrt.
2143
21442006-12-18 12:57  gb
2145
2146        * level-1/l1-files.lisp: Try (halfheartedly) to maintain
2147        PATHNAME-VERSION of physical pathnames.  (Totally meaningless, but
2148        failing to do this leads to many test failures.)
2149
21502006-12-18 12:54  gb
2151
2152        * level-0/X86/x86-float.lisp: Do single/double-float sqrt inline.
2153
21542006-12-16 05:28  gb
2155
2156        * level-0/PPC/ppc-float.lisp: Recognize that fsqrt/fsqrts
2157        instructions have a minor opcode in frb and only have one source
2158        operand.
2159
21602006-12-16 05:27  gb
2161
2162        * level-1/ppc-error-signal.lisp: If we get an FP exception during a
2163        SQRT, note that there's only one operand and that it's in frb.
2164
21652006-12-16 05:25  gb
2166
2167        * lisp-kernel/ppc-exceptions.c: Handle (some) unimplemented
2168        instructions, notably fsqrt/fqrts, which are optional and not
2169        implemented on some PPC machines.
2170
21712006-12-16 05:24  gb
2172
2173        * lisp-kernel/ppc-asmutils.s: Add get_fpscr().
2174
21752006-12-14 19:47  gb
2176
2177        * lisp-kernel/ppc-exceptions.c: Need to handle SIGQUIT on ppc, too.
2178
21792006-12-14 16:43  gb
2180
2181        * compiler/X86/X8664/x8664-vinsns.lisp: Constraints on some
2182        double-float arithmetic vinsns should say :double-float, not
2183        :single-float.  (I suspect cut-and-paste, frankly.)
2184
21852006-12-14 16:25  gb
2186
2187        * level-1/l1-lisp-threads.lisp: *initial-lisp-thread*, not
2188        initial-thread.
2189
21902006-12-14 16:24  gb
2191
2192        * level-1/x86-trap-support.lisp: Use frame pointer when signaling
2193        error.
2194
21952006-12-14 16:14  gb
2196
2197        * library/lispequ.lisp: Add a %PHYSICAL-PATHAME-VERSION slot to
2198        physical pathnames. (Yes, this is kind of silly.)
2199
22002006-12-14 16:01  gb
2201
2202        * level-1/x86-trap-support.lisp: Recognize the kernel's attempt to
2203        signal errors for (e.g.) failed memory allocation.
2204
22052006-12-14 16:00  gb
2206
2207        * lisp-kernel/x86-exceptions.c: If a memory allocation request
2208        fails, signal a lisp error (what a concept.)
2209
22102006-12-14 15:51  gb
2211
2212        * lisp-kernel/x86-exceptions.h: Define DARWIN_USE_PSEUDO_SIGRETURN.
2213       
2214        Might be worth revisiting this.
2215
22162006-12-14 15:50  gb
2217
2218        * lisp-kernel/x86-exceptions.c: Go back to using the
2219        pseudo_sigreturn mechanism on Darwin, since doing a real sigreturn
2220        from a fake context may not be reliable.
2221       
2222        When handling an interrupt with a partially created temp stack
2223        frame, do the right thing.  (That basically means reset the frame
2224        before calling out and recreating it if we return from the
2225        callout.)
2226       
2227        Handle SIGQUIT on the altstack, to provide a way of forcibly
2228        terminating threads that's a bit more GC-safe than doing it via
2229        #_pthread_cancel.
2230       
2231        Note the tcr of the gc thread on gc entry; if an exception happens
2232        in that thread, print a message and sleep for 60 seconds.
2233       
2234        Note that there's still a race condition here: if thread A gets an
2235        exception and thread B gets the mach_exception_lock (to GC) before
2236        the exception thread can handle the message, we deadlock (thread A
2237        would be suspended in the kernel and can't respond to a suspend
2238        signal.)  We can tell that this has happened and make a good guess
2239        as to why it happened, but dealing with it will require some
2240        thought.  (If we've already issued a suspend signal and eventually
2241        raise the suspended thread's resume semaphore, it'll suspend and
2242        resume once the mach exception thread makes it runnable.  Who
2243        cleans up its exception context in that case ?  Does it matter ?)
2244
22452006-12-14 15:19  gb
2246
2247        * lisp-kernel/thread_manager.c: Ensure that newly-created threads
2248        have all signals unmasked.
2249       
2250        If a tcr is dead, ensure that its stack areas are empty.
2251       
2252        Try to run shutdown_thread_tcr as a pthread cleanup action,
2253        hopefully before Mach clobbers the thread's signal mask.
2254
22552006-12-14 15:16  gb
2256
2257        * lisp-kernel/pmcl-kernel.c: lazarus() runs with a lock on the
2258        TCR_AREA_LOCK.
2259
22602006-12-14 15:15  gb
2261
2262        * lisp-kernel/memprotect.h: Don't declare do_memo_reset(), which
2263        hasn't existed in years.
2264
22652006-12-14 15:14  gb
2266
2267        * level-1/version.lisp: Bump.
2268
22692006-12-14 15:14  gb
2270
2271        * level-1/l1-readloop.lisp: PREPARE-TO-QUIT: wait for the
2272        termination semaphore.
2273
22742006-12-14 15:13  gb
2275
2276        * level-1/l1-processes.lisp: PROCESS objects are created with a
2277        termination semaphore.
2278
22792006-12-14 15:12  gb
2280
2281        * level-1/l1-lisp-threads.lisp: THREAD-ENABLE: second arg is
2282        TERMINATION-SEMAPHORE.
2283       
2284        KILL-LISP-THREAD: don't use #_pthread_cancel, which may force the
2285        target thread to transition from running lisp code to running
2286        foreign code without advertising that fact. Send a SIGQUIT instead,
2287        and trust the SIGQUIT handler to manage that transition.  Don't try
2288        to kill the initial thread.
2289
22902006-12-09 09:52  gb
2291
2292        * level-1/l1-streams.lisp: STRING-OUTPUT-STREAMs need to override
2293        their CLEAR-OUTPUT methods.
2294       
2295        MAKE-STRING-INPUT-STREAM: handle displaced strings better (remember
2296        their displaced-index-offsets.)
2297
22982006-12-09 09:49  gb
2299
2300        * lisp-kernel/thread_manager.c: Disable underflow traps in new
2301        threads on x86-64.  (The PPC never got around to enabling them.)
2302
23032006-12-09 09:47  gb
2304
2305        * lib/macros.lisp: WITH-OUTPUT-TO-STRING: if string provided,
2306        evaluate the ELEMENT-TYPE expression (for side-effects) and ignore
2307        the result of its evaluation.
2308       
2309        Some fixes in CTYPECASE handling, which hopefully didn't break
2310        anything else.
2311
23122006-12-09 09:36  gb
2313
2314        * compiler/X86/x862.lisp: In aset2/aset3, ensure that the (final,
2315        1d) index register is set - even if the index is a constant - if we
2316        think that the store needs EGC memoization.
2317       
2318        (Note that the test case that exposed this involved storing
2319        SINGLE-FLOATs, which don't need EGC write-barrier handling on
2320        64-bit platforms.)
2321       
2322        In aref2, don't worry about reserving unscaled index registers when
2323        targeting the 1d index; the unscaled index registers aren't live
2324        after, could be NULL if the index is a constant, and any overlap
2325        between one of them and the 1d index should be handled in the
2326        vinsn(s).
2327
23282006-12-09 09:30  gb
2329
2330        * level-1/l1-typesys.lisp: Ensure that the (relatively new)
2331        built-in-classes SIMPLE-FIXNUM-VECTOR and FIXNUM-VECTOR have
2332        class-translations.
2333
23342006-12-09 09:27  gb
2335
2336        * level-1/l1-aprims.lisp: In list case of ELT: who says that value
2337        returned by NTHCDR is a LIST ? (It's not necessarily a list, so
2338        don't segfault taking its CAR without checking.)
2339
23402006-12-06 18:48  gb
2341
2342        * level-0/X86/x86-float.lisp: x86-64 version of
2343        SFLOAT-SIGNIFICAND-ZEROS: count zero bits in the shifted float, not
2344        in %imm1 (which is undefined here ...)
2345
23462006-12-06 17:05  gb
2347
2348        * compiler/nx0.lisp: DEFINE-COMPILER-MACRO: if a SETF name, use the
2349        right symbol for the named block.
2350       
2351        COMPILER-MACRO-FUNCTION, (SETF COMPILER-MACRO-FUNCTION): deal with
2352        (SETF NAME).
2353
23542006-12-05 22:44  gb
2355
2356        * release-notes.txt: Update for 061205.
2357
23582006-12-05 20:31  gb
2359
2360        * lisp-kernel/darwinppc64/Makefile: Change LDFLAGS, to keep ld64
2361        from putting a linkedit segment in the wrong place and making
2362        32-bit memory unmappable.
2363
23642006-12-05 20:30  gb
2365
2366        * level-1/version.lisp: Bump.
2367
23682006-12-05 20:29  gb
2369
2370        * lisp-kernel/pmcl-kernel.c: Use _exit(), just in case.
2371
23722006-12-05 18:53  gb
2373
2374        * level-1/l1-reader.lisp: *ALTERNATE-LINE-TERMINATOR* set to
2375        #\Return on #+darwin-target, not just #+darwinppc-target. Change
2376        doc string for *ALTERNATE-LINE-TERMINATOR*.
2377
23782006-12-04 15:13  gb
2379
2380        * level-1/version.lisp: Append a patchlevel to the version string,
2381        at least until new tarballs can be built.
2382
23832006-12-04 15:12  gb
2384
2385        * level-1/l1-streams.lisp: If stream element type upgrades to
2386        FIXNUM, upgrade it further (to largest supported SIGNED-BYTE
2387        element-type.)
2388
23892006-12-04 13:02  gb
2390
2391        * level-0/l0-bignum32.lisp: BIGNUM-BIGNUM-GCD (whatever it's
2392        called): don't bother to shift by 0 bits.  Do shift the initial U
2393        if non-zero trailing 0 BITS (was testing for non-zero trailing
2394        DIGITS.)
2395
23962006-12-04 12:52  gb
2397
2398        * level-1/l1-streams.lisp: Choke earlier on unsupported stream
2399        element-types; do some upgrading to support some more element types
2400        (BIT -> (UNSIGNED-BYTE 8)).
2401       
2402        Maybe support arbitrarily large integer types someday soon.  Maybe
2403        not.
2404
24052006-12-04 12:48  gb
2406
2407        * level-1/l1-clos-boot.lisp: Make built-in classes for istruct
2408        types (compiler stuff, mostly).
2409
24102006-12-04 12:46  gb
2411
2412        * level-0/X86/X8664/x8664-bignum.lisp: Ensure that %ASHL handles
2413        shift count of 32 (and returns 0 in that case.)
2414
24152006-12-04 12:46  gb
2416
2417        * level-0/l0-bignum64.lisp: In BIGNUM-SHIFT-RIGHT-LOOP-1, use
2418        %ASHL, not %ILSL.  (Don't want nonsense in the high 32 bits, just
2419        in case.)
2420
24212006-12-04 12:43  gb
2422
2423        * level-0/l0-numbers.lisp: Bugs in GCD-2.  Long-standing bugs in
2424        GCD-2 ...
2425
24262006-12-04 09:26  gb
2427
2428        * level-1/l1-streams.lisp: STREAM-CLEAR-INPUT: don't inherit method
2429        for STRING-INPUT-STREAMs.
2430
24312006-12-04 09:24  gb
2432
2433        * level-0/l0-bignum64.lisp: BIGNUM-SHIFT-RIGHT-1: handle shift by 0
2434        bits.  BIGNUM-BIGNUM-GCD (whatever it's called): don't bother to
2435        shift by 0 bits.
2436
24372006-12-04 09:21  gb
2438
2439        * level-1/ppc-trap-support.lisp: Reset error-reentry count before
2440        doing %SLOT-UNBOUND-TRAP.
2441
24422006-12-04 09:21  gb
2443
2444        * level-1/l1-streams.lisp: Default STREAM-POSITION method for
2445        STREAMs, returns NIL.  STREAM-POSITION method for
2446        STRING-INPUT-STREAMs.
2447
24482006-12-04 09:19  gb
2449
2450        * level-1/l1-pathnames.lisp: Derive ccl-directory from pathname
2451        containing heap image.
2452
24532006-12-03 07:41  gb
2454
2455        * level-1/l1-streams.lisp: FORCE-OUTPUT, FINISH-OUTPUT on
2456        STRING-OUTPUT-STREAMs are no-ops.
2457       
2458        Need an ioblock-based character-read-vector function for
2459        string-input-streams.
2460
24612006-12-03 07:37  gb
2462
2463        * lib/describe.lisp: Minimal DESCRIBE support for
2464        CCL::BASIC-STREAM.
2465
24662006-12-03 07:36  gb
2467
2468        * lib/macros.lisp: If :element-type is supplied in
2469        WITH-OUTPUT-TO-STRING, don't quote it.
2470
24712006-12-03 05:11  gb
2472
2473        * level-1/x86-trap-support.lisp: Define RIP-REGISTER-OFFSET, which
2474        isn't necessarily 16.
2475
24762006-12-03 05:10  gb
2477
2478        * level-1/x86-error-signal.lisp: Use RIP-REGISTER-OFFSET, which
2479        isn't necessarily 16.
2480       
2481        Use WITH-ERROR-REENTRY-DETECTION n %xerr-disp; dtrt for
2482        %slot-unbound-trap.
2483
24842006-12-03 05:09  gb
2485
2486        * level-1/l1-streams.lisp: Tweak stream hierarchy a little, to
2487        avoid some NO-NEXT-METHODs.
2488
24892006-12-03 02:42  gb
2490
2491        * compiler/nx1.lisp: Handle VALUES type specifiers in THE forms a
2492        bit better.
2493
24942006-12-03 02:41  gb
2495
2496        * compiler/nx0.lisp: Handle VALUES type specifiers in THE forms a
2497        bit.
2498
24992006-12-03 02:28  gb
2500
2501        * lisp-kernel/x86-spentry64.s: Do vector bounds checking by
2502        clearing the low byte of the header, shifting it right, and
2503        comparing the index to that.  (It's not reliable to shift the index
2504        left.)
2505
25062006-12-03 02:26  gb
2507
2508        * level-1/l1-unicode.lisp: Memory/vector encode functions: don't
2509        write BOM, leave that up to higher-level code.
2510       
2511        Start to write some higher-level code.
2512
25132006-12-03 02:23  gb
2514
2515        * level-1/l1-sysio.lisp: Fix some indentation.
2516
25172006-12-03 02:21  gb
2518
2519        * compiler/X86/X8664/x8664-vinsns.lisp: CHECK-MISC-BOUNDS: shift
2520        the header word right (after clearing its low byte) and compare the
2521        index to that.  (Shifting the index left - d'oh - obviously fails
2522        for indices of large magnitude.)
2523
25242006-11-29 21:07  gb
2525
2526        * lib/db-io.lisp: Indentation change.
2527       
2528        Add CDB-ENUMERATE-KEYS.
2529
25302006-11-29 18:37  gb
2531
2532        * lib/level-2.lisp: %DESTRUCTURE-LAMBDA-LIST: other callers of
2533        VERIFY-LAMBDA-LIST (hopefully) check to see if the alleged list is
2534        LISTP first.  (I hope ...).  Do so.
2535
25362006-11-28 18:42  gb
2537
2538        * lisp-kernel/x86-spentry64.s: Wrong register typo in .SPaset2.
2539
25402006-11-28 16:14  gb
2541
2542        * examples/cocoa-window.lisp: DEFAULT-FONT: retain the font.
2543
25442006-11-28 16:12  gb
2545
2546        * examples/objc-runtime.lisp: Wrap a (primitive)
2547        WITH-AUTORELEASE-POOL around the code which detaches the dummy
2548        NSThread.
2549
25502006-11-28 16:09  gb
2551
2552        * examples/cocoa-listener.lisp: Don't claim that a callback
2553        parameter is ignored; use IGNORABLE instead.
2554
25552006-11-21 01:28  gb
2556
2557        * level-1/l1-sockets.lisp: Typo in PATH-FROM-UNIX-ADDRESS
2558        conditionalization.
2559
25602006-11-21 00:55  gb
2561
2562        * level-1/l1-sockets.lisp: INIT-UNIX-SOCKADDR: don't use
2563        %COPY-IVECTOR-TO-PTR to copy string to foreign memory.
2564       
2565        Basic file-socket streams.
2566
25672006-11-10 05:08  gb
2568
2569        * release-notes.txt: Update.
2570
25712006-11-10 04:28  gb
2572
2573        * lisp-kernel/image.h: Bump min image version.
2574
25752006-11-10 04:19  gb
2576
2577        * xdump/heap-image.lisp: bump current image version.
2578
25792006-11-10 04:19  gb
2580
2581        * lisp-kernel/image.h: bump current, max image version.
2582
25832006-11-10 04:10  gb
2584
2585        * xdump/faslenv.lisp: Bump min fasl version.
2586
25872006-11-10 03:56  gb
2588
2589        * lib/nfcomp.lisp: bump current fasl version.
2590
25912006-11-10 03:47  gb
2592
2593        * lisp-kernel/x86-exceptions.c: save_application: use #__exit, not
2594        #_exit
2595
25962006-11-10 03:46  gb
2597
2598        * compiler/X86/x862.lisp: TYPE typo.
2599
26002006-11-10 03:32  gb
2601
2602        * xdump/faslenv.lisp: Bump max fasl version.
2603
26042006-11-10 03:25  gb
2605
2606        * level-1/version.lisp: Bump.  New snapshots today!
2607
26082006-11-09 16:26  gb
2609
2610        * level-1/l1-readloop.lisp: QUIT uses #__quit.
2611       
2612        PREPARE-TO-QUIT kill stragglers without waiting as long.
2613
26142006-11-09 15:50  gb
2615
2616        * lisp-kernel/pmcl-kernel.c: Use #_ _exit for fatal termination.
2617       
2618        Try to run lisp code after #_exit via lazarus(); this is for some
2619        cases of SAVE-APPLICATION (e.g., in the Cocoa GUI).
2620       
2621        The environment in which The Undead code runs is a little funky,
2622        especially on PPC.  There might be GC implications (cstack will
2623        contain call history as of the point when #_exit called atexit
2624        handlers, vstack & tstack are emptied in lazarus()).  We should
2625        barely run any code in this environment, but we will GC a time or
2626        two ...
2627
26282006-11-09 15:45  gb
2629
2630        * lisp-kernel/ppc-exceptions.c: Use _exit afer save-application.
2631
26322006-11-09 15:43  gb
2633
2634        * examples/: cocoa-window.lisp, cocoa.lisp: Change the quit
2635        protocol.
2636
26372006-11-09 15:42  gb
2638
2639        * examples/cocoa-listener.lisp: :set-document-edited for listener
2640        "documents" is a no-op.
2641
26422006-11-09 15:39  gb
2643
2644        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
2645        PPC64/ppc64-vinsns.lisp: 3d-array accessor stuff for PPC as well.
2646
26472006-11-09 12:50  gb
2648
2649        * compiler/X86/x862.lisp: Always check that array-ctype's
2650        dimensions are a list before taking their length.
2651
26522006-11-09 12:13  gb
2653
2654        * compiler/X86/X8664/x8664-vinsns.lisp: 3d-unscaled-index does the
2655        right thing ...
2656
26572006-11-09 10:08  gb
2658
2659        * compiler/: nx1.lisp, X86/x862.lisp, X86/X8664/x8664-vinsns.lisp:
2660        Three-arg aref/(setf aref) for x8664.
2661
26622006-11-09 05:37  gb
2663
2664        * compiler/nx0.lisp: Map array-type keywords to 3d-array type
2665        errors.
2666
26672006-11-09 05:37  gb
2668
2669        * compiler/nxenv.lisp: Operators for 3d array access.
2670
26712006-11-09 05:36  gb
2672
2673        * compiler/arch.lisp, level-1/l1-error-system.lisp,
2674        lisp-kernel/errors.s, lisp-kernel/lisp-errors.h: Type-errors for 3d
2675        array types.
2676
26772006-11-08 12:50  gb
2678
2679        * level-1/x86-trap-support.lisp: In darwin Fake Structures For
2680        Leopard nonsense: define the stack context struct separately, make
2681        the ucontext stack field an instance of it.  (Not -sure- if that
2682        was necessary, but :poweropen-target was accidentally on *FEATURES*
2683        and foreign struct layout was using read-time condtionalization to
2684        decide whether or not to use brain-dead structure-alignment rules
2685        leftover from AIX/PowerOpen.
2686
26872006-11-08 12:46  gb
2688
2689        * lisp-kernel/x86-spentry64.s: Fix comment ("/*", not "/%" ...).
2690
26912006-11-08 12:40  gb
2692
2693        * compiler/optimizers.lisp: Try to infer/insert the array type when
2694        compiler-macroexpanding MAKE-ARRAY calls.
2695
26962006-11-08 12:39  gb
2697
2698        * compiler/PPC/PPC32/ppc32-backend.lisp: DarwinPPC32 FTD follows
2699        :poweropen-alignment rules.
2700
27012006-11-08 12:38  gb
2702
2703        * lib/foreign-types.lisp: parse-foreign-record-fields: conformance
2704        to poweropen structure layout rules should be an attribute of the
2705        FTD, not done via read-time conditionalization.
2706
27072006-11-08 05:15  gb
2708
2709        * level-1/version.lisp: Bump.
2710
27112006-11-08 05:15  gb
2712
2713        * level-1/l1-streams.lisp: Some bivalent/binary fixes.
2714       
2715        TODO: get rid of "bivalent" streams, but allow switching some
2716        streams (sockets) between "character mode" and "binary mode".
2717
27182006-11-08 02:39  gb
2719
2720        * compiler/PPC/ppc2.lisp: Typo in misc-ref-u64 vinsn emit.
2721
27222006-11-07 21:10  gb
2723
2724        * compiler/optimizers.lisp: Transform three-argument AREF->%AREF3,
2725        ASET->%ASET3.
2726
27272006-11-07 20:40  gb
2728
2729        * compiler/X86/x862.lisp: Implement %aset2 in the x8664 backend.
2730
27312006-11-07 20:39  gb
2732
2733        * level-0/X86/x86-array.lisp: %aref3, %aset3.
2734
27352006-11-07 20:38  gb
2736
2737        * level-0/l0-array.lisp: Use %aref2,%aref3.
2738
27392006-11-07 20:37  gb
2740
2741        * compiler/X86/X8664/x8664-vinsns.lisp: More (often redundant)
2742        vector-store vinsns.
2743
27442006-11-07 20:37  gb
2745
2746        * compiler/X86/X8664/x8664-arch.lisp: .SParef3, .SPaset3.
2747
27482006-11-07 10:28  gb
2749
2750        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s: .SParef3,
2751        .SPaset3.
2752
27532006-11-07 10:27  gb
2754
2755        * level-0/PPC/ppc-array.lisp: %ref3, %aset3.
2756
27572006-11-07 10:26  gb
2758
2759        * lisp-kernel/ppc-spentry.s, lisp-kernel/ppc-spjump.s,
2760        compiler/PPC/ppc-arch.lisp: .SPref3, .SPaset3.
2761
27622006-11-07 10:26  gb
2763
2764        * lisp-kernel/ppc-macros.s: Define mullr, which expands into one of
2765        mullw/mulld.
2766
27672006-11-07 04:12  gb
2768
2769        * compiler/PPC/ppc2.lisp: :signed-64-bit-vector is signed ...
2770
27712006-11-06 22:07  gb
2772
2773        * compiler/nx0.lisp: nx-error-for-simple-2d-array-type: forgot the
2774        :fixnum-vector case.
2775
27762006-11-06 22:04  gb
2777
2778        * compiler/PPC/ppc2.lisp: Handle vector assignment differently;
2779        handle (setf (aref ...)) of simple 2d-arrays inline if the type is
2780        known/declared.
2781
27822006-11-06 22:02  gb
2783
2784        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
2785        Add vinsns for misc-set-s* and variants. (Identical to the unsigned
2786        versions, but it helps not to have to remember which are
2787        implemented and which aren't.)
2788
27892006-11-06 22:01  gb
2790
2791        * compiler/nxenv.lisp: general-aset2, simple-typed-aset2.
2792
27932006-11-06 22:00  gb
2794
2795        * compiler/nx1.lisp: New %ASET2 handling.
2796
27972006-11-06 21:59  gb
2798
2799        * compiler/nx0.lisp: ACODE-FORM-TYPE: use var-inittype if var is
2800        never assigned to.
2801
28022006-11-05 22:09  gb
2803
2804        * level-1/x86-trap-support.lisp: Try to work around
2805        incompatibilites in Tiger/Leopard headers.
2806
28072006-11-05 22:08  gb
2808
2809        * level-1/l1-sockets.lisp: LOOKUP-PORT: use the macro HTONS, since
2810        the foreign function may not exist.
2811
28122006-11-05 20:41  gb
2813
2814        * compiler/X86/x862.lisp: 2d array error lookup -> nx.
2815
28162006-11-05 07:55  gb
2817
2818        * level-0/X86/x86-misc.lisp: %VALID-REMAINING-TIMESPEC-TIME-P for
2819        x86-64, as well.
2820
28212006-11-05 07:52  gb
2822
2823        * level-0/X86/x86-array.lisp: %AREF2, %ASET2 in x8664 lap.
2824
28252006-11-05 07:50  gb
2826
2827        * lisp-kernel/x86-spentry64.s: pre-add displacement in .SParef2,
2828        .SPaset2.
2829
28302006-11-05 07:48  gb
2831
2832        * lisp-kernel/ppc-spentry.s: .SParef2, .SPaset2: since we aren't
2833        testing simple-array-ness, add the (possibly 0) displacement from
2834        the header before handling the simple aref of the data vector.
2835
28362006-11-05 07:47  gb
2837
2838        * lib/foreign-types.lisp: PRINT-OBJECT method for EEPS: handle
2839        pointers on PPC(64), print 64-bit addresses on 64-bit platforms.
2840
28412006-11-05 07:46  gb
2842
2843        * level-1/version.lisp: Bump; new binaries soon.
2844
28452006-11-05 07:46  gb
2846
2847        * level-1/l1-lisp-threads.lisp: %NANOSLEEP calls
2848        %VALID-REMAINING-TIMESPEC-TIME-P, which is better than sleeping for
2849        4G seconds after an EINTR on Leopard.
2850
28512006-11-05 07:44  gb
2852
2853        * level-0/PPC/PPC64/ppc64-bignum.lisp: MACPTR->FIXNUM returns NIL
2854        if any non-fixnum bits would be set in the result.  (Should
2855        probably make this true on all platforms; for PPC64, it's important
2856        for foreign function addresses that're ... suboptimally aligned.)
2857
28582006-11-05 07:42  gb
2859
2860        * level-0/PPC/ppc-misc.lisp: Try to detect the case where
2861        %NANOSLEEP's second (by reference) argument contains garbage after
2862        an EINTR.  (The L word, again.)
2863
28642006-11-05 07:41  gb
2865
2866        * level-0/PPC/ppc-array.lisp: %AREF2, %ASET2: in LAP, just call
2867        into the kernel.
2868
28692006-11-05 07:40  gb
2870
2871        * level-0/l0-cfm-support.lisp: Some platforms (the L-word) generate
2872        ppc64 functions whose addresses are not 0 mod 8, so (a) make
2873        MACPTR->FIXNUM return NIL if an address isn't representable as a
2874        fixnum and (b) make FOREIGN-SYMBOL-ENTRY return an address if it
2875        can't return a fixnum on PPC (really just affects PPC64.)
2876
28772006-11-05 07:37  gb
2878
2879        * level-0/l0-array.lisp: %aref2, %aset2: call into kernel.
2880
28812006-11-05 07:36  gb
2882
2883        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
2884        2d aref support/changes.
2885
28862006-11-05 07:36  gb
2887
2888        * compiler/PPC/ppc2.lisp: Get the PPC2 backend caught up with the
2889        x8664 wrt 2d aref.  Stll a ways to go.
2890
28912006-11-05 07:35  gb
2892
2893        * compiler/nx0.lisp: NX-ERROR-FOR-SIMPLE-2D-ARRAY-TYPE.
2894
28952006-11-04 00:05  gb
2896
2897        * level-1/version.lisp: Bump.
2898
28992006-11-03 23:10  gb
2900
2901        * level-1/ppc-error-signal.lisp: fix parens.
2902
29032006-11-03 23:09  gb
2904
2905        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: arch
2906        gvector types contains :struct, not :structure.
2907
29082006-11-03 23:08  gb
2909
2910        * compiler/PPC/ppc2.lisp: aref2: new operator name(s), always call
2911        subprim.
2912       
2913        ppc2-fixed-call-builtin: (tail-)call subprims even if they aren't
2914        in the builtin functions table.
2915
29162006-11-03 15:19  gb
2917
2918        * compiler/PPC/ppc-arch.lisp: New .SParef2, .SPaset2 subprims.
2919
29202006-11-03 15:18  gb
2921
2922        * compiler/PPC/ppc-asm.lisp: Comments/indentation.
2923
29242006-11-03 15:17  gb
2925
2926        * level-1/ppc-error-signal.lisp: Change decoding/handlng of
2927        type-error UUOs.
2928
29292006-11-03 15:16  gb
2930
2931        * lisp-kernel/: ppc-spentry.s, ppc-spjump.s: .SParef2, .SPaset2.
2932
29332006-11-03 15:16  gb
2934
2935        * lisp-kernel/: ppc-constants32.s, ppc-constants64.s: Define arrayH
2936        (array-header) layout.
2937
29382006-11-03 13:46  gb
2939
2940        * level-1/l1-clos-boot.lisp: CANONICALIZE-SPECIALIZERS optionally
2941        returns its argument if all members are SPECIALIZERS.
2942       
2943        Use CANONICALIZE-SPECIALIZERS to canonicalize FIND-METHOD
2944        arguments, for the benefit of people who haven't read the MOP spec
2945        or who don't realize that the MOP defines some things differently
2946        from CLHS.
2947
29482006-11-03 13:38  gb
2949
2950        * compiler/X86/x862.lisp: Consistently use :struct (not :structure)
2951        to refer to primitive structure type.
2952       
2953        Fix array-ctype-dimensions check in %aref1, add it to %aset1.
2954
29552006-11-03 13:37  gb
2956
2957        * compiler/X86/X8664/x8664-arch.lisp: Ensure that :STRUCT (not
2958        :STRUCTURE) is on target-gvector-types.
2959
29602006-11-03 12:53  gb
2961
2962        * lisp-kernel/x86-uuo.s: uuo_error_array_bounds, such as it is.
2963
29642006-11-03 12:52  gb
2965
2966        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s: SParef2, .SPaset2.
2967         More to come ...
2968
29692006-11-03 12:52  gb
2970
2971        * lisp-kernel/x86-constants64.s: Define array-header layout.
2972
29732006-11-03 12:51  gb
2974
2975        * lisp-kernel/: errors.s, lisp-errors.h: New type-error uuo
2976        encodings, new type-error constants.
2977
29782006-11-03 12:50  gb
2979
2980        * level-1/x86-error-signal.lisp: New range/encoding of type-error
2981        traps.
2982
29832006-11-03 12:49  gb
2984
2985        * level-1/l1-utils.lisp: (temporary) mechanism to avoid
2986        constant-redefinition CERRORs.
2987
29882006-11-03 12:48  gb
2989
2990        * level-1/l1-error-system.lisp: New %type-error-typespecs%.
2991
29922006-11-03 12:47  gb
2993
2994        * level-0/l0-pred.lisp: array--header -> array-header.
2995
29962006-11-03 12:47  gb
2997
2998        * compiler/X86/X8664/x8664-vinsns.lisp: Fix misc-set-c-u64 braino;
2999        add/change some 2d array stuff.
3000
30012006-11-03 12:43  gb
3002
3003        * compiler/X86/X8664/x8664-arch.lisp: Define .SParef2/.SPaset2
3004        subprims; seem to be much (>5x) faster than the lisp/lap versions
3005        (though we can generally be faster still when we know the
3006        element-type and/or know whether the array is simple or explicitly
3007        displaced.)
3008
30092006-11-03 12:41  gb
3010
3011        * compiler/X86/x862.lisp: Change handling of 2d-aref; lots of
3012        related changes.
3013       
3014        Split the code which handles bounds/type-checking in vref out from
3015        the code which actually does the reference, so that the latter can
3016        be used in multidimensional cases.
3017       
3018        Need to do this on PPC as well; need to do more (%aset2, 3d cases,
3019        general case.)
3020
30212006-11-03 12:38  gb
3022
3023        * compiler/nx1.lisp: Change handling of 2d-aref.
3024
30252006-11-03 12:37  gb
3026
3027        * compiler/nxenv.lisp: aref2 -> simple-typed-aref2, add
3028        general-aref2.  More changes to come (and this may affect
3029        compilation on PPC until some PPC compiler changes are
3030        made/checked-in.)
3031
30322006-11-03 12:35  gb
3033
3034        * compiler/arch.lisp: type-errors (as encoded in UUOs) are now in
3035        the range 128-255, rather than 64-127; more are defined.
3036
30372006-11-02 09:43  gb
3038
3039        * level-1/l1-error-system.lisp: Move along, nothing to see here.
3040
30412006-11-02 09:37  gb
3042
3043        * compiler/arch.lisp: New error constants; work in progress ...
3044
30452006-11-01 11:40  gb
3046
3047        * lisp-kernel/errors.s: Some new constants; more to check in later.
3048
30492006-10-31 03:39  gb
3050
3051        * level-0/l0-io.lisp: You must be reading the OLD rule book
3052        (Leopard and #$EINTR).
3053
30542006-10-31 03:21  gb
3055
3056        * lisp-kernel/ppc-exceptions.c: handle_protection_violation: pass
3057        the tcr.  Initialize "addr" before testing it ...
3058
30592006-10-31 03:21  gb
3060
3061        * lisp-kernel/lisp-exceptions.h: handle_protection_violation: pass
3062        the tcr.
3063
30642006-10-30 20:40  gb
3065
3066        * lib/defstruct.lisp: DEFSTRUCT-REF-TRANSFORM for typed vector
3067        expands into something more useful.
3068
30692006-10-30 20:39  gb
3070
3071        * lisp-kernel/ppc-spentry.s: Fix ppc32
3072        misc_ref_double_float_vector.
3073
30742006-10-30 00:24  gb
3075
3076        * level-0/l0-bignum64.lisp: Enable the destructive version of
3077        %BIGNUM-BIGNUM-GCD; conditionalize it for 64-bit targets and
3078        provide/fix supporting functions.  Seems to work on ppc64; needs
3079        testing on x8664.
3080
30812006-10-27 17:49  gb
3082
3083        * darwin-x86-headers64/libc/C/: .cvsignore, populate.sh: New file.
3084
30852006-10-25 20:36  gb
3086
3087        * level-1/l1-streams.lisp: %BIVALENT-IOBLOCK-READ-U8-BYTE (and
3088        variants): always clear the untyi-char.
3089       
3090        %ENCODED-IOBLOCK-PEEK-CHAR: the read-char-when-locked function
3091        needs an argument.
3092       
3093        SETUP-IOBLOCK-OUTPUT: there are no special output functions for
3094        bivalent streams.
3095       
3096        %IOBLOCK-BINARY-READ-VECTOR: clear any untyi char.
3097
30982006-10-24 12:35  gb
3099
3100        * level-1/version.lisp: Bump.
3101
31022006-10-24 01:29  gb
3103
3104        * lisp-kernel/x86-spentry64.s: Fix :ALLOW-OTHER-KEYS check in
3105        _SPdestbind1 (still used in inlining, sometimes.)
3106
31072006-10-24 01:05  gb
3108
3109        * release-notes.txt: Change the date, add/change some content.
3110
31112006-10-24 01:05  gb
3112
3113        * lib/macros.lisp: Reference the (bound) STREAM-VAR argument - not
3114        STREAM - in the expansion of WITH-OUTPUT-TO-STRING.
3115
31162006-10-24 00:56  gb
3117
3118        * lib/ccl-export-syms.lisp: Reference the (bound) STREAM-VAR
3119        argument - not STREAM - in the expansion of WITH-OUTPUT-TO-STRING.
3120
31212006-10-24 00:55  gb
3122
3123        * level-1/l1-streams.lisp: When recycling
3124        string-output-stream-ioblocks, set the IOBLOCK-CHARPOS to 0.
3125        (Failure to do this can screw up the pretty-printer, among other
3126        things.)
3127
31282006-10-24 00:52  gb
3129
3130        * level-1/l1-sockets.lisp: DEFAULT-CHARACTER-ENCODING for :SOCKET,
3131        *DEFAULT-SOCKET-CHARACTER-ENCODING*.
3132
31332006-10-23 17:03  gb
3134
3135        * release-notes.txt: Updated; almost ready to go (still a
3136        WITH-OUTPUT-TO-STRING/PPRINT (?) bug).
3137
31382006-10-23 16:43  gb
3139
3140        * level-1/l1-sysio.lisp: NORMALIZE-EXTERNAL-FORMAT: use
3141        *DEFAULT-EXTERNAL-FORMAT* value for :DEFAULT.
3142
31432006-10-23 16:42  gb
3144
3145        * level-1/l1-streams.lisp: Use NORMALIZE-EXTERNAL-FORMAT in (SETF
3146        STREAM-EXTERNAL-FORMAT) methods.
3147
31482006-10-23 16:41  gb
3149
3150        * lib/ccl-export-syms.lisp: Export some unicode/external-format
3151        stuff.
3152
31532006-10-23 08:27  gb
3154
3155        * level-1/version.lisp: Bump; binaries today, honest.
3156
31572006-10-23 08:27  gb
3158
3159        * level-1/l1-streams.lisp: freelist string-output-stream-ioblocks.
3160
31612006-10-23 08:26  gb
3162
3163        * lib/macros.lisp: Some/most/all of the WITH-IOBLOCK-OUTPUT-LOCKED
3164        macros were checking for the presence of an input lock ...
3165
31662006-10-23 05:40  gb
3167
3168        * level-1/l1-streams.lisp: Optimize write-string on string streams
3169        a little.
3170
31712006-10-23 05:26  gb
3172
3173        * lib/macros.lisp: WITH-OUTPUT-TO-STRING: don't expand into code
3174        which evaluates the string form twice; don't do whatever was being
3175        done to default the element type of the string stream.
3176
31772006-10-23 05:24  gb
3178
3179        * compiler/optimizers.lisp: MAKE-STRING-OUTPUT-STREAM: skip some
3180        keyword/subtype checking if element-type not provided.  (Could also
3181        skip it if it's explicit and obviously OK.)
3182
31832006-10-23 05:22  gb
3184
3185        * level-0/X86/x86-misc.lisp: %HEAP-BYTES-ALLOCATED: don't add
3186        "current" allocation if nothing's reserved.
3187
31882006-10-23 05:19  gb
3189
3190        * lisp-kernel/x86-exceptions.c: In handle_alloc_trap(), fix call to
3191        update_bytes_allocated (sign of "disp").
3192
31932006-10-22 08:02  gb
3194
3195        * compiler/PPC/ppc2.lisp: MULTIPLE-VALUE-PROG1: treat the first
3196        form like a PROGN if there are no other forms.
3197
31982006-10-22 08:01  gb
3199
3200        * level-1/l1-streams.lisp: Don't disable interrupts when calling
3201        ioblock functions.
3202       
3203        New string-stream implementation.  Better ...
3204
32052006-10-22 07:59  gb
3206
3207        * lib/macros.lisp: If WITH-OUTPUT-TO-STRING gets the string, do so
3208        before the stream closes.
3209
32102006-10-22 07:59  gb
3211
3212        * lib/pprint.lisp: Don't assume that string output stream strings
3213        have a fill-pointer; use STREAM-POSITION instead.
3214
32152006-10-22 07:57  gb
3216
3217        * lib/streams.lisp: Don't disable interrupts when calling ioblock
3218        functions, after all.
3219       
3220        Go through (new) ioblock-unread-char-function.
3221
32222006-10-22 07:55  gb
3223
3224        * lisp-kernel/darwinppc/.gdbinit: Stop trying to print strings via
3225        x/s
3226
32272006-10-21 18:46  gb
3228
3229        * level-1/l1-streams.lisp: Typo.
3230
32312006-10-21 18:41  gb
3232
3233        * lisp-kernel/x86-exceptions.c: Initialize (zero, usually) more
3234        fields in pseudo sigcontexts.
3235
32362006-10-21 18:40  gb
3237
3238        * level-1/l1-streams.lisp: Mostly locking changes (don't lock
3239        twice, etc.)
3240
32412006-10-21 18:35  gb
3242
3243        * level-0/l0-array.lisp, level-0/l0-init.lisp,
3244        level-0/l0-pred.lisp, level-0/l0-utils.lisp,
3245        level-0/PPC/ppc-array.lisp, level-0/PPC/ppc-symbol.lisp,
3246        level-0/X86/x86-symbol.lisp, level-1/l1-aprims.lisp,
3247        lib/sequences.lisp: Remove vestival #+target-8-bit-chars stuff.
3248
32492006-10-21 16:45  gb
3250
3251        * level-1/l1-unicode.lisp: New! Improved! Now with more iso-8859
3252        encodings!
3253
32542006-10-19 13:48  gb
3255
3256        * level-0/PPC/ppc-misc.lisp: Reference the source argument - not
3257        arg_z - in %safe-get-ptr.
3258
32592006-10-19 13:22  gb
3260
3261        * level-0/l0-aprims.lisp: %CSTR-POINTER: make #\Nul termination
3262        optional, use #\Sub char-code as replaement char.
3263
32642006-10-19 13:21  gb
3265
3266        * examples/objc-runtime.lisp: Missing close paren.
3267
32682006-10-19 13:19  gb
3269
3270        * examples/: cocoa-editor.lisp, cocoa-listener.lisp: Careful BLTing
3271        strings to/from foreign memory.
3272
32732006-10-19 13:18  gb
3274
3275        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Typos in UNBOX-S8.
3276
32772006-10-18 08:04  gb
3278
3279        * level-1/version.lisp: Bump.  Binaries later today ?
3280
32812006-10-18 07:38  gb
3282
3283        * level-1/l1-clos-boot.lisp: The post-bootstrapping version of
3284        (SETF FIND-CLASS) only introduces (or removes) a type name if the
3285        class becomes (or ceases to be) a properly named class.
3286       
3287        The pre-bootstrapping version handles simpler cases of that; use
3288        ALIAS-CLASS to register some early class names as type names.
3289
32902006-10-18 07:36  gb
3291
3292        * level-1/l1-clos.lisp: (SETF CLASS-NAME) can affect the type
3293        system, since only symbols which name properly-named classes are
3294        type specifiers.  Changing the name of a class can either introduce
3295        or remove a properly-named class.
3296       
3297        Classes that have the kernel-p attribute shouldn't have their names
3298        changed casually.
3299
33002006-10-18 07:33  gb
3301
3302        * level-1/l1-sockets.lisp: Accept an :EXTERNAL-FORMAT argument to
3303        MAKE-SOCKET, pass it down to whatever function actually creates a
3304        stream socket.
3305
33062006-10-18 02:12  gb
3307
3308        * compiler/X86/x862.lisp: Allow closed-over addresses in
3309        conditional-form, NOT.
3310
33112006-10-18 01:43  gb
3312
3313        * lisp-kernel/x86-exceptions.c: handle_fault() checks for
3314        safe_ref_addres.
3315
33162006-10-18 01:43  gb
3317
3318        * level-0/X86/x86-misc.lisp: %safe-get-ptr for x8664.
3319
33202006-10-18 01:41  gb
3321
3322        * compiler/X86/X8664/x8664-vinsns.lisp: Compare stack
3323        addresses/vcells to nil.
3324
33252006-10-18 01:41  gb
3326
3327        * compiler/X86/x862.lisp: Stuff for comparing memory (stack)
3328        addresses to NIL.
3329       
3330        Mark arg_z and rcx/nargs as being in use when restoring interrupt
3331        level inline.
3332
33332006-10-18 01:39  gb
3334
3335        * compiler/X86/x86-disassemble.lisp: We've had UUO-ERROR-UNBOUND
3336        for a few months now.  The disassembler is always the last to know.
3337
33382006-10-17 19:15  gb
3339
3340        * compiler/PPC/PPC32/ppc32-arch.lisp,
3341        compiler/PPC/PPC64/ppc64-arch.lisp,
3342        compiler/X86/X8664/x8664-arch.lisp, examples/objc-runtime.lisp,
3343        level-0/l0-misc.lisp, level-0/PPC/ppc-misc.lisp,
3344        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
3345        lisp-kernel/ppc-constants64.h, lisp-kernel/ppc-constants64.s,
3346        lisp-kernel/ppc-exceptions.c, lisp-kernel/x86-constants64.h,
3347        lisp-kernel/x86-constants64.s: add safe-ref-address to tcr.
3348       
3349        Handle memory faults to safe-ref-addres on PPC (so far).
3350       
3351        Try using SAFE-GET-PTR in objc runtime (untested).
3352
33532006-10-17 17:34  gb
3354
3355        * compiler/PPC/ppc2.lisp: ppc backend %aref1/%aset1: notice array
3356        type in acode.
3357
33582006-10-17 14:02  gb
3359
3360        * level-1/l1-unicode.lisp: BOM-ENCODING.
3361
33622006-10-17 14:02  gb
3363
3364        * level-1/l1-sysio.lisp: FILE-STRING-LENGTH actually does
3365        something.
3366       
3367        Clear the pending-bom flag when seeking.
3368
33692006-10-17 14:01  gb
3370
3371        * level-1/l1-streams.lisp: (SETF STREAM-EXTERNAL-FORMAT) for
3372        ioblock-based character streams.
3373
33742006-10-17 13:45  gb
3375
3376        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: bind/unbind
3377        *interrupt-level* inline.
3378
33792006-10-17 13:44  gb
3380
3381        * compiler/X86/x86-disassemble.lisp: Act like ud2a takes a one-byte
3382        immmediate operand (xuuo).
3383
33842006-10-17 13:39  gb
3385
3386        * level-1/l1-streams.lisp, lib/streams.lisp: Disable interrupts
3387        when necessary.
3388
33892006-10-17 13:39  gb
3390
3391        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
3392        PPC64/ppc64-vinsns.lisp: bind/unbind *interrupt-level* inline.
3393
33942006-10-15 17:51  gb
3395
3396        * level-1/l1-streams.lisp: Handle 32-bit character encodings.
3397       
3398        Start to extend STREAM-EXTERNAL-FORMAT, start to make it SETFable.
3399
34002006-10-15 17:51  gb
3401
3402        * level-1/l1-unicode.lisp: utf-32/ucs-4 and variants.
3403
34042006-10-15 17:50  gb
3405
3406        * level-1/l1-sysio.lisp: EXTERNAL-FORMATs are immutable, interned.
3407
34082006-10-14 07:41  gb
3409
3410        * compiler/PPC/ppc2.lisp: Fix use of ^,<- vinsn macros inside
3411        ENSURING-NODE-TARGET.
3412       
3413        Inline the fixnum case of two-arg numeric comparisons.
3414
34152006-10-14 07:39  gb
3416
3417        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3418        INLINE-SUB2 support.
3419
34202006-10-14 06:30  gb
3421
3422        * lib/defstruct.lisp: Don't (DECLARE (OPTIMIZE (SAFETY 3))) in
3423        generated DEFSTRUCT accessors.
3424
34252006-10-14 06:27  gb
3426
3427        * compiler/X86/x862.lisp: Fix many cases of ENSURING-NODE-TARGET.
3428       
3429        Do the fixnum case of two-argument subtraction inline.
3430       
3431        Inline the fixnum case of two-argument numeric comparisons.
3432       
3433        STRUCT-REF avoids typechecking when reckless.
3434
34352006-10-14 06:21  gb
3436
3437        * compiler/backend.lisp: It makes no sense to use the vinsn macros
3438        <- and ^ inside ENSURING-NODE-TARGET, so make it check for that.
3439
34402006-10-14 06:20  gb
3441
3442        * compiler/X86/X8664/x8664-vinsns.lisp: Do vector bounds-checking a
3443        little differently.
3444       
3445        Add xchg-registers.
3446
34472006-10-13 04:54  gb
3448
3449        * compiler/nx1.lisp: Use new NUMCMP operator.
3450
34512006-10-13 04:53  gb
3452
3453        * compiler/nx0.lisp: Change inline expansion: use optimize settings
3454        in effect at call time, not those in effect at definition time.
3455
34562006-10-13 04:50  gb
3457
3458        * level-0/l0-numbers.lisp: Change >=-2, <=-2, /=-2 to avoid
3459        inlining issues.
3460
34612006-10-13 04:30  gb
3462
3463        * compiler/nxenv.lisp: Replace unused num= with numcmp.
3464
34652006-10-12 19:46  gb
3466
3467        * lisp-kernel/pmcl-kernel.c: Terminate argument processing when
3468        "--" is seen.
3469
34702006-10-12 19:45  gb
3471
3472        * level-1/: l1-streams.lisp, l1-sysio.lisp, l1-unicode.lisp: Handle
3473        newline translation differenly (at the character I/O level, not the
3474        buffer level).
3475       
3476        All character encoding/decoding functions operate on octets, not
3477        necessarily code units.  (The stream encode/decode functions are an
3478        exception; serialization and byte ordering are handled by the
3479        stream.)
3480
34812006-10-09 16:34  gb
3482
3483        * level-1/l1-streams.lisp: Write  #\Sub's char-code if we can't
3484        encode a character in (implicit) iso-8859-1.
3485
34862006-10-09 16:33  gb
3487
3488        * level-0/l0-misc.lisp: %COPY-STRING-TO-U8: use #\Sub (ascii 26) as
3489        a replacement character.
3490
34912006-10-09 16:31  gb
3492
3493        * level-1/l1-unicode.lisp: :stream-encode/decode functions always
3494        write/read something, even if it's a replacement character of some
3495        sort.
3496
34972006-10-09 15:19  gb
3498
3499        * level-1/l1-streams.lisp: More stuff about line termination.  When
3500        will this end ?
3501
35022006-10-09 15:19  gb
3503
3504        * lib/chars.lisp: Use a hashtable to map characters to their names.
3505         (Maybe a sparse vector ?).
3506
35072006-10-09 15:18  gb
3508
3509        * level-1/l1-reader.lisp: Use a hashtable to map characters to
3510        their names.  (Maybe a sparse vector ?).
3511       
3512        Define #\Sub and #\Replacement_Character.
3513
35142006-10-08 21:17  gb
3515
3516        * level-1/l1-readloop-lds.lisp: SELECT-BACKTRACE: it's been all
3517        NEW-BACKTRACE for a while now.
3518
35192006-10-08 21:16  gb
3520
3521        * lisp-kernel/lisptypes.h: Need to #include <sys/signal.h> to keep
3522        Panther happy.
3523
35242006-10-08 20:30  gb
3525
3526        * lisp-kernel/x86_print.c: Print hex with leading #x, not #0x ...
3527
35282006-10-08 20:30  gb
3529
3530        * lib/dumplisp.lisp: Do some sanity checks on SAVE-APPLICATION
3531        pathname, before it's too late ...
3532
35332006-10-08 20:29  gb
3534
3535        * level-1/l1-unicode.lisp: ASCII, some other changes.
3536
35372006-10-08 20:29  gb
3538
3539        * level-1/l1-sysio.lisp: Rearrange a few things; pass
3540        :line-termination option to MAKE-FD-STREAM.
3541
35422006-10-08 20:28  gb
3543
3544        * level-1/l1-streams.lisp: Yet another line-termination translation
3545        scheme; hopefully, the last for a while. (More tedium before it's
3546        actually installed.)
3547
35482006-10-08 20:27  gb
3549
3550        * level-1/l1-reader.lisp: Add character names for #\Line_Separator,
3551        #\Paragraph_separator.
3552
35532006-10-07 20:35  gb
3554
3555        * level-1/l1-init.lisp: *TERMINAL-CHARACTER-ENCODING-NAME*.
3556
35572006-10-07 20:34  gb
3558
3559        * level-1/l1-error-signal.lisp: In %ERROR, go straight to the
3560        kernel debugger if interactive streams aren't initialized yet.
3561        (We'd probably get there sooner or later in that case; try to get
3562        there sooner.)
3563
35642006-10-07 20:33  gb
3565
3566        * level-1/l1-boot-2.lisp: Don't initialize interactive streams via
3567        DEF-LOAD-POINTERS.  Wrap that up in a function, and set a flag when
3568        the function's called (from APPLICATION's TOPLEVEL-FUNCTION
3569        method.)
3570
35712006-10-07 20:32  gb
3572
3573        * level-1/l1-application.lisp: Handle the (new)
3574        -K/--terminal-encoding command-line argument.
3575
35762006-10-07 11:14  gb
3577
3578        * level-1/l1-streams.lisp: INPUT-STREAM-P, OUTPUT-STREAM-P are true
3579        of instances if INPUT-STREAM/ OUTPUT-STREAM, respectively (not just
3580        instances of FUNDAMENTAL-INPUT/OUTPUT-STREAM).
3581
35822006-10-07 11:13  gb
3583
3584        * lisp-kernel/lisp-debug.c: Do abort() if kernel debugger is
3585        entered when --batch is in effect.
3586
35872006-10-07 11:12  gb
3588
3589        * level-1/l1-readloop.lisp: QUIT: flush *STDOUT* in
3590        PROCESS-EXIT-APPLICATION.
3591
35922006-10-07 11:11  gb
3593
3594        * level-1/l1-processes.lisp: PROCESS-EXIT-APPLICATION: flush
3595        *stdout* here.
3596
35972006-10-06 04:49  gb
3598
3599        * level-1/l1-streams.lisp: CODE-UNIT, not CODE-ELEMENT.  Add a
3600        TRANSLATE slot to IO-BUFFER.
3601
36022006-10-06 04:40  gb
3603
3604        * level-1/l1-sockets.lisp: basic (vs fundamental) socket streams.
3605
36062006-10-06 04:39  gb
3607
3608        * level-1/l1-sysio.lisp: Real, live EXTERNAL-FORMAT structures.
3609
36102006-10-06 04:38  gb
3611
3612        * level-1/version.lisp: Bump.
3613
36142006-10-06 04:38  gb
3615
3616        * level-0/l0-misc.lisp: %COPY-STRING-TO-U8: use #\? as a
3617        replacement character.
3618
36192006-10-05 14:46  gb
3620
3621        * lisp-kernel/lisptypes.h: More register name aliases.  FMH.
3622
36232006-10-05 14:46  gb
3624
3625        * lisp-kernel/x86-asmutils64.s: get_mxcsr, set_mxcsr.
3626
36272006-10-05 14:46  gb
3628
3629        * lisp-kernel/x86-exceptions.c: Save the mxcsr, load it with a
3630        C-like value (all exceptions masked) before doing a callback.  (Not
3631        doing this meant that tcr.foreign_mxcsr was often set to a "lispy"
3632        value, where most exceptions were unmasked, and this caused FP
3633        exceptions when calling out to foreign code with the "lispy"
3634        tcr.foreign_mxcsr in effect.)
3635       
3636        Mach exception stuff arranges to return via sigreturn.  Didn't fix
3637        the spurious SIGTRAPs, but might be the right idea (and might save
3638        a context switch or two.)
3639       
3640        Mach exception stuff initializes rflags to exception rflags when
3641        arranging to resume thread at handler.  Leaving them uninitialized
3642        was causing spurious SIGTRAPs, since the trace bit(s) may have been
3643        set.
3644
36452006-10-05 06:09  gb
3646
3647        * lib/macros.lisp: WITH-ENCODED-CSTR(s).  (Hey, it's a start.)
3648
36492006-10-05 06:09  gb
3650
3651        * lib/chars.lisp: CHAR-NAME: try to use at least 4 hex digits for
3652        #\U+xxxx syntax.
3653
36542006-10-05 06:08  gb
3655
3656        * level-1/l1-unicode.lisp: UCS-2, some other changes.
3657
36582006-10-05 06:07  gb
3659
3660        * level-1/l1-sysio.lisp: Try to get
3661        line-termination/external-format stuff working.
3662
36632006-10-05 05:35  gb
3664
3665        * level-1/l1-streams.lisp: Assume that character data is always
3666        encoded as one or more 8-bit octets.
3667
36682006-10-05 04:59  gb
3669
3670        * level-1/l1-boot-2.lisp: Set class-prototypes for basic-streams
3671        just before we make the first one.
3672
36732006-10-02 08:13  gb
3674
3675        * lisp-kernel/x86-exceptions.h: Darwin uses _sigtramp glue to call
3676        handlers, so we need to make handlers do a sigreturn after
3677        switching off the signal stack, etc.
3678
36792006-10-02 08:11  gb
3680
3681        * lisp-kernel/x86-exceptions.c: Don't use SIGRETURN to return from
3682        signal_handler() on Darwin (since we depend on pseudo_sigreturn
3683        handling for cleanup of tcr pending exception and since we can't
3684        easily restore the signal mask.)
3685       
3686        (Up until this point, SIGRETURN has been a nop on Darwin.)
3687
36882006-10-02 04:59  gb
3689
3690        * lisp-kernel/lisptypes.h: Compile on ppc,ppc64 osx 10.4 and
3691        earlier.
3692
36932006-10-02 04:47  gb
3694
3695        * lisp-kernel/: lisptypes.h, ppc-exceptions.c, ppc-exceptions.h:
3696        Compile on post OSX 10.4 systems, for ppc/ppc64.  (Broken on
3697        systems <= 10.4).
3698
36992006-10-02 02:46  gb
3700
3701        * lisp-kernel/: lisptypes.h, x86-exceptions.c, x86-exceptions.h:
3702        Try to make x86-64 version compile under 10.4 again; see if this
3703        breaks post-10.4 compilation.
3704
37052006-10-02 02:33  gb
3706
3707        * lisp-kernel/: lisptypes.h, pmcl-kernel.c, x86-exceptions.c,
3708        x86-exceptions.h: Change things so that they compile for x86-64 on
3709        systems later than 10.4.  Almost certainly break 10.4 compilation
3710        in the process.  (Thanks, Apple!  Any time I can cause you to waste
3711        hours on crap like this, just let me know!)
3712
37132006-09-27 20:33  gb
3714
3715        * lib/misc.lisp: DOCUMENTATION works on character-encodings.
3716
37172006-09-27 20:33  gb
3718
3719        * level-1/l1-unicode.lisp: Character-encodings have doc strings.
3720
37212006-09-27 05:46  gb
3722
3723        * level-1/l1-sysio.lisp: More FILE-STREAM changes.  Give
3724        BASIC-STREAM classes a class prototype.
3725
37262006-09-27 05:45  gb
3727
3728        * level-1/l1-streams.lisp: Some changes to FD-STREAM
3729        initialization, to make it easier to use MAKE-FD-STREAM to open
3730        (seekable) FILE-STREAMs.
3731
37322006-09-27 05:41  gb
3733
3734        * lisp-kernel/: x86-exceptions.c, x86-exceptions.h: Decode and
3735        handle UUO_ERROR_DEBUG_TRAP_WITH_STRING.
3736
37372006-09-27 05:39  gb
3738
3739        * lisp-kernel/x86-spentry64.s: Still get very occasional SIGFPE on
3740        return from (e.g.) #_asin on x86-64 Darwin.  (#_asin often does a
3741        division-by-zero, but that should be masked when in foreign code.)
3742        Don't reload the lisp mxcsr until other registers have been popped,
3743        to make debugging easier in case it's the act of reloading the
3744        mxcsr that causes the spurious trap.)
3745
37462006-09-27 05:36  gb
3747
3748        * level-0/X86/x86-misc.lisp: DEBUG-TRAP-WITH-STRING.
3749
37502006-09-27 05:35  gb
3751
3752        * level-0/nfasload.lisp: Not sure when it happened, but %FASLOAD
3753        was parenthesized in such a way as to not return the error value on
3754        error.
3755
37562006-09-27 05:34  gb
3757
3758        * level-0/l0-misc.lisp: On x8664, use a new UUO for BUG.  (Not
3759        passing context into the kernel makes it too difficult to debug/get
3760        backtrace, etc.)
3761
37622006-09-27 05:33  gb
3763
3764        * compiler/X86/: x86-asm.lisp, x86-disassemble.lisp:
3765        UUO-ERROR-DEBUG-TRAP-WITH-STRING.
3766
37672006-09-27 05:05  gb
3768
3769        * level-1/l1-clos-boot.lisp: CLASS-PROTOTYPE method for CLASS class
3770        (mostly for BUILT-IN-CLASSes).
3771
37722006-09-26 20:49  gb
3773
3774        * level-1/l1-sysio.lisp: SELECT-STREAM-CLASS: should probably take
3775        a BASIC-P argument.
3776
37772006-09-26 20:47  gb
3778
3779        * level-1/l1-streams.lisp: More changes.  Imagine that.
3780
37812006-09-26 20:46  gb
3782
3783        * compiler/: X86/X8664/x8664-vinsns.lisp, X86/x862.lisp,
3784        optimizers.lisp: (Redundant) FIXNUM decls in LDB compiler macro.
3785
37862006-09-26 20:43  gb
3787
3788        * level-1/l1-unicode.lisp: Memory/vector encode/decode functions
3789        take/return strings, not chars.
3790       
3791        Some bom stuff.
3792
37932006-09-24 20:14  gb
3794
3795        * lib/chars.lisp: Check for assumptions about character size.
3796        Remove some %i-isms (fixnum arithmetic), make assertions about type
3797        of char-code.
3798
37992006-09-24 20:12  gb
3800
3801        * level-1/l1-aprims.lisp: Remove unused (probably ancient)
3802        CHKBOUNDS function.  Simpler STRING-START-END.
3803
38042006-09-24 20:11  gb
3805
3806        * level-1/l1-streams.lisp: Some stuff to infer line-termination.
3807        Probably belongs elsewhere; some encodings may not make it at all
3808        possible.
3809
38102006-09-24 20:07  gb
3811
3812        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3813        Load-character-constant: accept :u32const on PPC32, PPC64, too.
3814
38152006-09-24 20:00  gb
3816
3817        * level-1/l1-streams.lisp: A little more u16 stuff.  Remove
3818        line-termination slot from ioblock and corresponding arg from
3819        functions which initialize it.
3820
38212006-09-24 19:59  gb
3822
3823        * level-1/l1-sysio.lisp: Input-filter, output-filter in
3824        file-ioblock.
3825
38262006-09-24 19:58  gb
3827
3828        * level-1/l1-unicode.lisp: Buffer translation functions don't
3829        belong here; start thinking about BOM.
3830
38312006-09-24 19:57  gb
3832
3833        * compiler/X86/X8664/x8664-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
3834        it's been a :u32const for the last few weeks ...
3835
38362006-09-24 04:29  gb
3837
3838        * lib/chars.lisp: CHAR-NAME looks in the *CHARACTER-NAMES* array if
3839        the code is within its bounds.
3840
38412006-09-24 04:27  gb
3842
3843        * level-1/l1-reader.lisp: Lots more character names.  Maintain
3844        mappings in a vector and a hash table, rather than in an alist.
3845
38462006-09-24 04:26  gb
3847
3848        * level-0/nfasload.lisp, xdump/xfasload.lisp, lib/nfcomp.lisp: Doh!
3849        character constant fasl encoding ($fasl-char).
3850
38512006-09-23 05:31  gb
3852
3853        * level-1/l1-unicode.lisp: Some other iso8859-n encodings.  (Not
3854        sure which are the most important.)
3855
38562006-09-23 05:29  gb
3857
3858        * level-1/l1-sysio.lisp: Start to separate
3859        line-termination/external-format stuff.
3860
38612006-09-23 05:28  gb
3862
3863        * level-1/l1-streams.lisp: Lots-o-changes.
3864
38652006-09-23 05:28  gb
3866
3867        * level-1/l1-boot-2.lisp: Make initial interactive streams use
3868        UTF-8 (mostly for debugging utf-8 ...)
3869
38702006-09-21 04:07  gb
3871
3872        * lisp-kernel/x86-spentry64.s: don't clobber callback index when
3873        doing the DARWIN_GS_HACK stuff in _SPcallback (syscall sometimes
3874        clobbered r11, sometimes didn't.)
3875
38762006-09-21 04:05  gb
3877
3878        * lisp-kernel/pmcl-kernel.c: Require mach/port.h.
3879
38802006-09-21 04:05  gb
3881
3882        * lisp-kernel/x86-exceptions.c: Save and restore errno in
3883        callback_for_interrupt.
3884
38852006-09-21 04:04  gb
3886
3887        * lisp-kernel/lisptypes.h: Guess again about preprocessor stuff for
3888        x86-64 ucontext/mcontext on Darwin.
3889
38902006-09-21 04:02  gb
3891
3892        * level-1/l1-lisp-threads.lisp: Use underscore prefix on all Darwin
3893        flavors.
3894       
3895        Add a type decl in %nanosleep.
3896
38972006-09-21 04:01  gb
3898
3899        * compiler/X86/X8664/x8664-vinsns.lisp: sign-extend/zero-extend
3900        vinsns.
3901
39022006-09-21 04:01  gb
3903
3904        * compiler/X86/x862.lisp: sign/zero-extend ffcall, syscall return
3905        values.  (Probably only matters in a few cases, like the Darwin
3906        x86-64 version of #_nanosleep, which returns a non-sign-extended
3907        "int" value if the sleep is interruted.)
3908
39092006-09-20 06:34  gb
3910
3911        * level-1/version.lisp: Bump.
3912
39132006-09-20 04:24  gb
3914
3915        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3916        slight improvements in signed-byte boxing, typechecking.
3917
39182006-09-20 04:22  gb
3919
3920        * lib/streams.lisp: WRITE-BYTE for BASIC-STREAMs.
3921
39222006-09-20 04:21  gb
3923
3924        * lib/macros.lisp: %SWAP-U16, %SWAP-U32.
3925
39262006-09-20 04:21  gb
3927
3928        * lib/level-2.lisp: %EVAL-REDEFs for new require-xx functions.
3929
39302006-09-20 04:20  gb
3931
3932        * level-1/l1-unicode.lisp: UTF-16, in native and byte-swapped
3933        versions.  Need a "logical" UTF-16, which deals with byte-order
3934        marks and a means of installing a concrete encoding.  Needs
3935        testing.
3936
39372006-09-20 04:15  gb
3938
3939        * level-1/l1-streams.lisp: Numerous changes.
3940
39412006-09-20 04:15  gb
3942
3943        * level-1/l1-sockets.lisp: %bswap16: fix type declaration.
3944
39452006-09-20 04:14  gb
3946
3947        * compiler/X86/X8664/x8664-vinsns.lisp: vinsns for signed/unsigned
3948        byte 8,16,32,64.  Tighten up some signed-byte boxing.
3949
39502006-09-20 04:12  gb
3951
3952        * compiler/X86/x862.lisp: New require ops for signed/unsigned byte
3953        8,16,32,64
3954
39552006-09-19 01:38  gb
3956
3957        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3958        vinsns for REQUIRE-[US][8,16,32,64]
3959
39602006-09-19 01:37  gb
3961
3962        * compiler/PPC/PPC32/ppc32-arch.lisp: Need
3963        THREE-DIGIT-BIGNUM-HEADER to recognize some cases of (UNSIGNED-BYTE
3964        64).
3965
39662006-09-19 01:36  gb
3967
3968        * compiler/PPC/ppc-backend.lisp: clean up an error message.
3969
39702006-09-19 01:36  gb
3971
3972        * compiler/PPC/ppc2.lisp: handle require-[us][8,16,32,64]
3973        operators.
3974
39752006-09-19 01:34  gb
3976
3977        * compiler/optimizers.lisp: REQUIRE-TYPE: transform into
3978        require-[us][8,16,32,64] when possible.
3979
39802006-09-19 01:34  gb
3981
3982        * compiler/nx1.lisp: inline require-[us][8,16,32,64].
3983
39842006-09-19 01:33  gb
3985
3986        * compiler/nxenv.lisp: New operators for require-[us][8,16,32,64].
3987
39882006-09-19 01:15  gb
3989
3990        * compiler/X86/X8664/x8664-vinsns.lisp: x8664 vinsns for
3991        typechecking signed/unsigned bytes of sizes 8,16,32,64.
3992
39932006-09-19 00:36  gb
3994
3995        * level-1/l1-streams.lisp: More changes; hard to bootstrap.
3996
39972006-09-18 21:42  gb
3998
3999        * lib/macros.lisp: Macros for locking the input/output locks of an
4000        ioblock, assuming that it exists.
4001
40022006-09-17 00:45  gb
4003
4004        * level-1/l1-streams.lisp: more changes
4005
40062006-09-13 06:52  gb
4007
4008        * level-1/l1-io.lisp: Direct BASIC-STREAM stuff for WRITE-CHAR,
4009        WRITE-STRING, TERPRI.
4010
40112006-09-13 06:08  gb
4012
4013        * lib/streams.lisp: READ-LINE changes for BASIC-STREAMs.
4014
40152006-09-13 06:07  gb
4016
4017        * level-1/l1-unicode.lisp: GET-CHARACTER-ENCODING errors if the
4018        named encoding isn't defined.
4019       
4020        Terse PRINT-OBJECT method for CHARACTER-ENCODING.
4021
40222006-09-13 06:06  gb
4023
4024        * level-1/l1-streams.lisp: More functions in the ioblock, some
4025        support for 8-bit encodings (like utf-8).  Not finished, but
4026        getting hard to bootstrap; need to check in and build on all
4027        platforms before it gets even harder.
4028
40292006-09-12 05:34  gb
4030
4031        * level-0/l0-misc.lisp: Use %CSTR-POINTER (not
4032        %copy-ivector-to-pointer) in BUG.
4033
40342006-09-12 05:31  gb
4035
4036        * lisp-kernel/x86-exceptions.c: Enter the debugger if
4037        altstack_signal_handler is entered in foreign code.  (Maybe want to
4038        signal a lisp error in some cases, but this is currently fatal and
4039        we might as well die earlier than with a stack overflow.)
4040
40412006-09-12 05:29  gb
4042
4043        * lisp-kernel/thread_manager.c: os_get_stack_bounds(): get stack
4044        direction right on FreeBSD.  (Much better than randomly scribbling
4045        on memory in the GC, as the FreeBSD port has been doing for months
4046        now ...)
4047
40482006-09-11 21:31  gb
4049
4050        * compiler/X86/x862.lisp: x862-explicit-non-fixnum-type-p looks for
4051        intersection.
4052
40532006-09-11 21:21  gb
4054
4055        * compiler/X86/x862.lisp: Partly inline 2-arg logior, logand.
4056
40572006-09-11 20:10  gb
4058
4059        * level-1/l1-unicode.lisp: Character encodings contain a
4060        LITERAL-CHAR-CODE-LIMIT field.
4061
40622006-09-11 20:09  gb
4063
4064        * level-1/l1-streams.lisp: extend IOBLOCK a bit.  Start to provide
4065        functionality for encoded streams.
4066
40672006-09-11 20:08  gb
4068
4069        * compiler/PPC/ppc2.lisp: Partialy inline 2-arg logior/logand.
4070
40712006-09-09 04:39  gb
4072
4073        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
4074        REQUIRE-CHAR-CODE: compare against boxed char-code-limit.
4075
40762006-09-09 04:21  gb
4077
4078        * level-1/l1-reader.lisp: NAME-CHAR: insist on something more
4079        reasonable for ^c syntax; don't do MOD for octal.
4080
40812006-09-09 04:21  gb
4082
4083        * compiler/X86/X8664/x8664-vinsns.lisp: require-char-code checks
4084        agains boxed Unicode limit
4085
40862006-09-09 03:56  gb
4087
4088        * lisp-kernel/x86-gc.c: purify_range(), impurify_range(): handle
4089        x8664 functions, hash tables.  (PPC versions should handle hash
4090        table key movement.)
4091
40922006-09-08 22:47  gb
4093
4094        * lib/chars.lisp: CHAR-NAME: use U+xxxx for chars with codes >=
4095        #x100.
4096
40972006-09-08 22:38  gb
4098
4099        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
4100        FIXNUM->CHAR: return NIL for surrogate pairs.
4101
41022006-09-08 22:33  gb
4103
4104        * compiler/PPC/ppc2.lisp: Don't be overly unsafe in %CHAR-CODE.
4105
41062006-09-08 22:31  gb
4107
4108        * lib/ppc-backtrace.lisp: Fix CFP-LFUN (fake stack frame case,
4109        sanity-check fn/lr).
4110
41112006-09-08 18:55  gb
4112
4113        * compiler/X86/x862.lisp: Don't be so reckless in %CODE-CHAR (don't
4114        necessarily want arbitrary expressions to be compiled unsafely; do
4115        want to avoid a little type-checking sometimes.)
4116
41172006-09-08 18:52  gb
4118
4119        * compiler/X86/X8664/x8664-vinsns.lisp: FIXNUM->CHAR returns NIL
4120        for values in the surrogate-pairs range.  (There are other things
4121        that it could plausibly return NIL for.)
4122
41232006-09-08 18:51  gb
4124
4125        * lisp-kernel/x86-gc.c: Start to get purify working on x86-64; for
4126        now, just purify strings.
4127
41282006-09-08 18:48  gb
4129
4130        * lib/macros.lisp: %CODE-CHAR asserts that code is (UNSIGNED-BYTE
4131        8), which is still useful (and exactly what it used to do.)
4132
41332006-09-08 18:47  gb
4134
4135        * lib/: compile-ccl.lisp, systems.lisp: Add l1-unicode.
4136
41372006-09-08 18:44  gb
4138
4139        * level-1/level-1.lisp: Load l1-unicode.
4140
41412006-09-08 18:44  gb
4142
4143        * level-1/l1-unicode.lisp: New file.
4144
41452006-09-07 03:50  gb
4146
4147        * lisp-kernel/area.h: Larger PURESPACE_RESERVE for x8664.
4148
41492006-09-07 03:44  gb
4150
4151        * xdump/: heap-image.lisp, xfasload.lisp, xppcfasload.lisp,
4152        xx8664-fasload.lisp: Bump abi version.  Make purespace-reserve an
4153        attribute of the backend (may need more pure space on x86-64.)
4154
41552006-09-07 03:43  gb
4156
4157        * lisp-kernel/image.h: Bump abi version.
4158
41592006-09-07 03:43  gb
4160
4161        * level-1/version.lisp: Bump.
4162
41632006-09-07 02:58  gb
4164
4165        * lisp-kernel/x86-exceptions.c: FreeBSD (at least with libthr)
4166        seems to mask synchronous signals.  Unmask them in signal handlers.
4167
41682006-09-07 02:57  gb
4169
4170        * lisp-kernel/thread_manager.c: suspend_resume_handler() : ignore
4171        signal mask.
4172
41732006-09-07 02:56  gb
4174
4175        * lisp-kernel/: lisptypes.h, ppc-constants32.h, ppc-constants32.s,
4176        ppc-constants64.h, ppc-constants64.s, ppc-gc.c, x86-constants64.h,
4177        x86-constants64.s: Lose the CHAR_SIZE_32 bootstrapping conditional
4178        (char are 32 bits wide on all platforms now.)
4179
41802006-09-07 00:40  gb
4181
4182        * lisp-kernel/x86-exceptions.c: SIGBUS might be
4183        SIGNUM_FOR_PROCESS_INTERRUPT.
4184
41852006-09-07 00:12  gb
4186
4187        * lisp-kernel/x86-spentry64.s: _SPbuiltin_aref1: use
4188        box_fixnum_no_flags.
4189
41902006-09-07 00:12  gb
4191
4192        * lisp-kernel/x86-macros.s: Define box_fixnum_no_flags (uses lea
4193        vice imul).
4194
41952006-09-06 21:18  gb
4196
4197        * compiler/X86/X8664/x8664-arch.lisp: Need
4198        MIN/MAX-8-BIT-IVECTOR-SUBTAG.
4199
42002006-09-06 18:37  gb
4201
4202        * lisp-kernel/x86-spentry64.s: misc_ref/misc_set: handle 32-bit
4203        strings.
4204
42052006-09-06 18:36  gb
4206
4207        * lisp-kernel/x86-macros.s: Zero-extend early when extracting
4208        typecodes.
4209
42102006-09-06 18:36  gb
4211
4212        * level-1/l1-streams.lisp: GET-OUTPUT-STREAM-STRING: use
4213        ENSURE-SIMPLE-STRING rather than horrible COERCE nonsense.
4214
42152006-09-06 18:35  gb
4216
4217        * level-1/l1-aprims.lisp: x8664 *immheader-1-array-element-types*
4218        contains entry for 32-bit BASE-CHAR.
4219
42202006-09-06 18:35  gb
4221
4222        * compiler/X86/X8664/x8664-vinsns.lisp: zero-extend early when
4223        extracting typecodes.
4224
42252006-09-06 18:34  gb
4226
4227        * compiler/X86/X8664/: x8664-arch.lisp, x8664-backend.lisp:
4228        32-bit-chars.
4229
42302006-09-06 18:33  gb
4231
4232        * compiler/X86/: x86-backend.lisp, x862.lisp: Defer handling of the
4233        :rcontext pseudo-register name until the target backend is in
4234        place.
4235
42362006-09-06 16:39  gb
4237
4238        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: 32-bit chars
4239        stuff for x8664.
4240
42412006-09-06 16:39  gb
4242
4243        * level-1/l1-reader.lisp: kids: bourbon and editing COPY-READTABLE
4244        don't mix!
4245
42462006-09-06 16:38  gb
4247
4248        * lib/compile-ccl.lisp: :verbose argument to rebuild-ccl.
4249
42502006-09-06 16:38  gb
4251
4252        * level-1/linux-files.lisp: process input/output: don't assume
4253        8-bit strings.
4254
42552006-09-06 14:42  gb
4256
4257        * compiler/PPC/PPC64/ppc64-backend.lisp: PPC64 callbacks are always
4258        #+poweropen-target; don't conditionalize the fp-arg-ptr argument
4259        (since that creates confustion when cross-compiling from a
4260        non-poweropen host.)
4261
42622006-09-06 00:08  gb
4263
4264        * compiler/PPC/PPC64/: ppc64-arch.lisp, ppc64-backend.lisp: remove
4265        8-bit char stuff.
4266
42672006-09-06 00:08  gb
4268
4269        * compiler/X86/X8664/x8664-arch.lisp: Forgot to set char-code-limit
4270        here.
4271
42722006-09-05 22:49  gb
4273
4274        * lib/macros.lisp: In DO-GC-AREAS, don't use comma before call to
4275        AREA-SUCC.  (Cross-compilation/ word-size issue.)
4276
42772006-09-05 22:42  gb
4278
4279        * level-0/l0-utils.lisp: If ENSURE-SIMPLE-STRING has to make a copy
4280        of a non-simple string, understand char width issues.
4281
42822006-09-05 22:41  gb
4283
4284        * level-0/nfasload.lisp: Some fixnum decls in %FIND-PKG.
4285
42862006-09-05 22:40  gb
4287
4288        * level-1/l1-aprims.lisp: ppc64 ARRAY-ELEMENT-SUBTYPES includes new
4289        string type.
4290
42912006-09-05 22:39  gb
4292
4293        * level-0/PPC/ppc-array.lisp: cr3, nor c33, in ppc64 %init-misc.
4294
42952006-09-05 22:38  gb
4296
4297        * compiler/nx0.lisp: NX-FORM-TYPEP uses NX-TARGET-TYPE.
4298
42992006-09-05 09:13  gb
4300
4301        * compiler/PPC/PPC32/ppc32-backend.lisp: darwinppc32 backend uses
4302        32-bit chars, too.
4303
43042006-09-05 09:01  gb
4305
4306        * compiler/PPC/PPC32/: ppc32-arch.lisp, ppc32-backend.lisp: ppc32
4307        defaults to 32-bit chars.
4308
43092006-09-05 05:18  gb
4310
4311        * xdump/xfasload.lisp: Deal with 32-bit lisp strings.
4312
43132006-09-05 05:18  gb
4314
4315        * lisp-kernel/linuxppc/.gdbinit: Start to depend on calling
4316        print_lisp_object, since x/s doesn't deal with 32-bit lisp strings.
4317
43182006-09-05 05:17  gb
4319
4320        * lisp-kernel/ppc-gc.c: conditionalize purify_displaced_object()
4321        for char size.
4322
43232006-09-05 05:16  gb
4324
4325        * lisp-kernel/plsym.c: find_symbol(): don't assume 8-bir lisp
4326        strings.
4327
43282006-09-05 05:15  gb
4329
4330        * lisp-kernel/lisptypes.h: Try using "u8_t" and "u32_t" for
4331        lisp_char_code; this may be more portable.
4332
43332006-09-05 05:14  gb
4334
4335        * lib/sequences.lisp: SIMPLE-1D-ARRAY-SUBSEQ: handle new strings.
4336
43372006-09-05 05:13  gb
4338
4339        * level-1/linux-files.lisp: CALL-WITH-STRING-VECTOR: don't assume
4340        8-bit char/strings.
4341
43422006-09-05 05:13  gb
4343
4344        * level-1/l1-streams.lisp: Use heap-ivectors of element-type
4345        (UNSIGNED-BYTE 8) for character streams.  (Should really depend on
4346        the coding system in use.)
4347
43482006-09-05 05:09  gb
4349
4350        * level-1/l1-aprims.lisp: Various archaic string functions: don't
4351        assume 8-bit strings.
4352
43532006-09-05 05:08  gb
4354
4355        * level-0/l0-array.lisp: Handle 32-bit strings in %UVECTOR-REPLACE.
4356
43572006-09-05 05:07  gb
4358
4359        * compiler/PPC/PPC64/ppc64-arch.lisp: No "x" in simple-base-string,
4360        when #-target-8-bit-chars.
4361
43622006-09-05 05:06  gb
4363
4364        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
4365        REQUIRE-CHAR-CODE: comparison of OBJECT with TAG is not a CMPI.
4366
43672006-09-05 05:05  gb
4368
4369        * compiler/PPC/ppc2.lisp: PPC2-VREF: handle the 32-bit
4370        :SIMPLE-STRING case with constant index.
4371
43722006-09-04 17:44  gb
4373
4374        * lisp-kernel/lisptypes.h: Linux doesn't define uint8_t.  Try
4375        "unsigned char", and cross fingers.
4376
43772006-09-04 17:38  gb
4378
4379        * lisp-kernel/: lisptypes.h, ppc_print.c, x86_print.c: Define
4380        lisp_char_code type, use it when printing lisp string in the kernel
4381        debugger.
4382
43832006-09-04 17:28  gb
4384
4385        * level-1/version.lisp: Bump.
4386
43872006-09-04 17:18  gb
4388
4389        * level-0/PPC/ppc-array.lisp: Sigh.  Test for 8-bit-char case was
4390        conditionalized backwards in PPC64 %INIT-MISC.
4391
43922006-09-04 17:05  gb
4393
4394        * level-1/l1-init.lisp: Initial value of CHAR-CODE-LIMIT derived
4395        from the target arch (for bootstrapping.)
4396
43972006-09-04 17:04  gb
4398
4399        * level-1/l1-reader.lisp: Use (UNSIGNED-BYTE 8) for array element
4400        type of rdtab.ttab.
4401       
4402        Don't treat (code-char #xca) as whitespace; do treat (code-char
4403        #xa0) as whitespace.  (The former happens to be how the latter was
4404        encoded in MacRoman.)
4405       
4406        Handle U+<hex> syntax in NAME-CHAR.
4407
44082006-09-04 16:16  gb
4409
4410        * compiler/PPC/PPC64/ppc64-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
4411        and the char code with #xff to get the low byte.
4412
44132006-09-04 16:15  gb
4414
4415        * compiler/PPC/PPC32/ppc32-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
4416        and the char code with #xff or 255., not with #x255.  (Cause lots
4417        of wackiness, mostly in readtable initialization.)
4418
44192006-09-04 16:12  gb
4420
4421        * compiler/PPC/ppc2.lisp: Use u32->char (which is defined) vice
4422        u8->char (which is no more) in %CHAR-CODE.
4423
44242006-09-04 06:04  gb
4425
4426        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
4427        Gak.  Get guard/predicate syntax right in LOAD-CHARACTER-CONSTANT.
4428
44292006-09-04 06:03  gb
4430
4431        * level-0/PPC/ppc-array.lisp: New constants in ppc32 typecode range
4432        assertion.
4433
44342006-09-04 03:44  gb
4435
4436        * level-0/PPC/ppc-array.lisp: ppc32/ppc64 %init-misc tweaks.
4437
44382006-09-04 03:43  gb
4439
4440        * compiler/PPC/ppc-lapmacros.lisp: Typo in the (unused) 64-bit/no
4441        crf case of UNBOX-BASE-CHAR.
4442
44432006-09-04 02:30  gb
4444
4445        * level-1/l1-error-system.lisp: Object-not- (mod #x110000) type
4446        error.
4447
44482006-09-04 02:29  gb
4449
4450        * level-0/PPC/ppc-symbol.lisp: conditionalize %pname-hash for char
4451        size.
4452
44532006-09-04 02:26  gb
4454
4455        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s,
4456        ppc-constants64.h, ppc-constants64.s: Conditionalize for
4457        CHAR_SIZE_32.
4458
44592006-09-04 02:24  gb
4460
4461        * compiler/PPC/PPC32/ppc32-arch.lisp,
4462        compiler/PPC/PPC32/ppc32-vinsns.lisp,
4463        compiler/PPC/PPC64/ppc64-arch.lisp,
4464        compiler/PPC/PPC64/ppc64-vinsns.lisp, level-0/l0-array.lisp,
4465        level-0/l0-pred.lisp: Conditionalize for #-target-8-bit-chars.
4466
44672006-09-04 02:23  gb
4468
4469        * compiler/PPC/ppc2.lisp: Deal - sometimes conditionally - with
4470        32-bit characters.
4471
44722006-09-04 02:22  gb
4473
4474        * compiler/arch.lisp: ERROR-OBJECT-NOT-MOD-CHAR-CODE-LIMIT.
4475
44762006-09-03 16:03  gb
4477
4478        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
4479        conditionalize new string types.
4480
44812006-09-03 16:03  gb
4482
4483        * level-0/X86/x86-symbol.lisp: %pname-hash: conditionalize for
4484        string element size.
4485
44862006-09-03 16:02  gb
4487
4488        * compiler/X86/X8664/x8664-arch.lisp, level-0/l0-array.lisp,
4489        level-0/l0-pred.lisp: Sketch out new string types (read-time
4490        conditionalized.)
4491
44922006-09-03 15:02  gb
4493
4494        * level-0/l0-init.lisp: Put :target-8-bit-chars on *features*, for
4495        bootstrapping.
4496
44972006-09-03 14:20  gb
4498
4499        * level-1/l1-streams.lisp: More missing BASIC-STREAM methods.
4500
45012006-09-03 13:22  gb
4502
4503        * compiler/: X86/X8664/x8664-backend.lisp,
4504        PPC/PPC32/ppc32-backend.lisp, PPC/PPC64/ppc64-backend.lisp:
4505        :target-8-bit-chars on target features.
4506
45072006-09-03 13:21  gb
4508
4509        * level-0/l0-int.lisp: Some comments/indentation.
4510
45112006-09-03 13:01  gb
4512
4513        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Make
4514        CHAR-CODE-LIMIT an attribute of the target arch, for bootstrapping.
4515
45162006-09-02 11:24  gb
4517
4518        * level-1/x86-error-signal.lisp, lib/db-io.lisp: Fix typo.
4519
45202006-09-02 11:15  gb
4521
4522        * lisp-kernel/x86_print.c: hex/decimal integer printers: 3 is also
4523        a hex digit.
4524
45252006-09-02 11:11  gb
4526
4527        * lisp-kernel/x86-exceptions.c: Install a "bogus signal handler" on
4528        Darwin, to deal with apparent race conditions/Mach kernel lossage.
4529       
4530        Don't do the whole msg_server here; just do the exc_server thing.
4531       
4532        Fix a couple of Mach exception-handling bugs; at least one more may
4533        remain.
4534
45352006-09-02 11:07  gb
4536
4537        * lisp-kernel/x86-asmutils64.s: Use a hlt instruction to trap in
4538        pseudo_sigreturn.
4539       
4540        Still get spurious SIGTRAPs.
4541
45422006-09-02 11:06  gb
4543
4544        * lisp-kernel/thread_manager.c: Define some things in terms of
4545        USE_MACH_SEMAPHORES or USE_POSIX_SEMAPHORES.
4546       
4547        sem_wait_forever() does repeated timed waits, since I thought that
4548        Darwin was having trouble interrpting things that waited
4549        indefinitely.  (That might just be a GDB bug.  Who can tell ?)
4550
45512006-09-02 11:03  gb
4552
4553        * lisp-kernel/Threads.h: Define some things in terms of
4554        USE_MACH_SEMAPHORES or USE_POSIX_SEMAPHORES.  Note that as of Q3
4555        2006, Darwin still doesn't implement enough POSIX semaphore
4556        functionality to make it possible to avoid the use of Mach
4557        semaphores.
4558
45592006-09-02 11:01  gb
4560
4561        * lib/db-io.lisp:
4562        Try to avoid things like %COPY-IVECTOR-TO-IVECTOR when strings are
4563        involved.
4564
45652006-09-02 11:01  gb
4566
4567        * level-1/x86-threads-utils.lisp: Things that're %HEAP-IVECTOR-P
4568        aren't bogus objects.
4569
45702006-09-02 11:00  gb
4571
4572        * level-1/l1-streams.lisp: Try to avoid things like
4573        %COPY-IVECTOR-TO-IVECTOR when strings are involved.
4574
45752006-09-02 10:59  gb
4576
4577        * level-1/l1-events.lisp: AUTO-FLUSH-INTERACTIVE-STREAMS: use
4578        FORCE-OUTPUT.
4579
45802006-09-02 10:57  gb
4581
4582        * level-0/l0-misc.lisp: %COPY-U8-TO-STRING, %COPY-STRING-TO-U8:
4583        new, to avoid %COPY-IVECTOR-TO-IVECTOR when strings are involved.
4584       
4585        %STR-FROM-PTR: take dest string as optional arg, don't assume 8-bit
4586        chars.
4587       
4588        %GET-CSTRING: change type decl, use %GET-UNSIGNED-BYTE.
4589
45902006-09-02 10:55  gb
4591
4592        * level-0/l0-aprims.lisp: %CSTR-POINTER and %CSTR-SEGMENT-POINTER:
4593        don't assume 8-bit chars.
4594
45952006-08-28 17:35  gb
4596
4597        * lisp-kernel/ppc-spentry.s: Fix tag check in 32-bit
4598        misc_set_single_float_vector.
4599
46002006-08-28 17:01  gb
4601
4602        * xdump/faslenv.lisp: Bump max fasl version.
4603
46042006-08-28 16:48  gb
4605
4606        * lib/nfcomp.lisp: Use new string ops.  Bump current fasl version.
4607
46082006-08-28 16:33  gb
4609
4610        * xdump/faslenv.lisp: Bump (max) fasl version.
4611
46122006-08-28 16:30  gb
4613
4614        * xdump/xfasload.lisp: xloader was missing a few new ops.
4615
46162006-08-28 05:34  gb
4617
4618        * xdump/xfasload.lisp: New string stuff here, too.
4619
46202006-08-28 05:28  gb
4621
4622        * level-0/nfasload.lisp: New string stuff.
4623
46242006-08-28 04:57  gb
4625
4626        * level-1/l1-streams.lisp: More missing BASIC-STREAM methods
4627        (STREAM-LINE-COLUMN, STREAM-LISTEN, STREAM-EOFP.)
4628
46292006-08-28 04:57  gb
4630
4631        * level-1/l1-reader.lisp: Use READ-CHAR instead of
4632        STREAM-READ-CHAR, since it may be faster in some cases.
4633
46342006-08-28 04:56  gb
4635
4636        * level-1/l1-events.lisp: Unscramble auto-flush-streams stuff
4637        (don't assume ioblock-based stream.)
4638
46392006-08-28 04:55  gb
4640
4641        * level-1/l1-boot-2.lisp: Initial FD-STREAMs are BASIC-STREAMs.
4642
46432006-08-28 04:55  gb
4644
4645        * level-0/PPC/ppc-symbol.lisp: Change some REQUIRE forms; cosmetic.
4646         (Maybe not even cosmetic.)
4647
46482006-08-28 04:54  gb
4649
4650        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
4651        PPC64/ppc64-vinsns.lisp: %unbox-u8, u8-vref stuff.
4652
46532006-08-28 04:53  gb
4654
4655        * xdump/faslenv.lisp: New fasl ops for new string encodings.
4656
46572006-08-28 04:52  gb
4658
4659        * lib/macros.lisp: %CHAR-CODE: for how long has limit not been 2^16
4660        ?  For how long will limit be 2^8 ?
4661
46622006-08-28 04:51  gb
4663
4664        * level-0/nfasload.lisp: More fasl ops.
4665
46662006-08-28 04:51  gb
4667
4668        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: %UNBOX-U8,
4669        u8-vref stuff.
4670
46712006-08-28 04:50  gb
4672
4673        * compiler/arch.lisp: Add CHAR-CODE-LIMIT slot to TARGET-ARCH; may
4674        not be the best way to do this.
4675
46762006-08-26 13:58  gb
4677
4678        * release-notes.txt: Updated.
4679
46802006-08-26 13:50  gb
4681
4682        * release-notes.txt: Updated.
4683
46842006-08-26 13:50  gb
4685
4686        * darwin-x86-headers64/libc/.cvsignore: Added.
4687
46882006-08-26 03:17  gb
4689
4690        * level-1/version.lisp: Bump.  New snapshots soon, I hope.
4691
46922006-08-26 03:12  gb
4693
4694        * lisp-kernel/darwinx8664/Makefile: Pass -g in ASFLAGS; same
4695        problems as always, but avoids problems with Darwin x86-64 ld64
4696        segfaulting for unknown reasons.
4697
46982006-08-26 03:11  gb
4699
4700        * lisp-kernel/x86-exceptions.h: Need to do an explicit sigreturn on
4701        Darwin (because of the sigaltstack hacks; Darwin uses sigtramp glue
4702        that we can't just return to after switching off of the alt stack.)
4703
47042006-08-26 03:08  gb
4705
4706        * lib/numbers.lisp: Check fpu overflow bit (not underflow) when
4707        deciding whether or not to signal overflow.
4708
47092006-08-26 03:08  gb
4710
4711        * level-1/x86-trap-support.lisp: Need an indirection to access
4712        mcontext from ucontext on Darwin; invent xp-gp-regs to get at
4713        mcontext64.ss.
4714
47152006-08-26 03:06  gb
4716
4717        * level-1/x86-error-signal.lisp: Add a declaration, to make this
4718        easier to step through.
4719
47202006-08-26 03:05  gb
4721
4722        * level-0/l0-float.lisp: SINGLE-FLOAT-HALF-PI: use f0 not e0, just
4723        in case.
4724
47252006-08-25 20:35  gb
4726
4727        * level-1/l1-boot-lds.lisp, level-1/l1-events.lisp,
4728        lib/ccl-export-syms.lisp: Hyphenate ADD-AUTO-FLUSH-STREAM and
4729        REMOVE-AUTO-FLUSH-STREAM.
4730       
4731        Export them, too.
4732
47332006-08-25 20:22  gb
4734
4735        * lib/streams.lisp: READ-LINE on BASIC-INPUT-STREAM w/o
4736        STREAM-READ-LINE.
4737
47382006-08-25 20:22  gb
4739
4740        * lib/macros.lisp: HANDLER-CASE: the :NO-ERROR clause can appear at
4741        most once but doesn't have to be the last clause.
4742
47432006-08-25 20:21  gb
4744
4745        * level-1/l1-streams.lisp: BASIC-OUTPUT-STREAM isn't an
4746        INPUT-STREAM.
4747       
4748        Some STREAM-READ-LINE support for BASIC-CHARACTER-INPUT-STREAM.
4749
47502006-08-25 20:19  gb
4751
4752        * level-1/l1-readloop.lisp: PREPARE-TO-QUIT: other threads should
4753        be dead by the time that streams on *OPEN-FILE-STREAMS* are closed,
4754        so unlock those streams with extreme prejudice before closing them.
4755
47562006-08-25 20:18  gb
4757
4758        * level-1/l1-pathnames.lisp: FULL-PATHNAME: remove some weird old
4759        code that assumed that interfered with handling of relative logical
4760        pathnames.
4761
47622006-08-25 20:17  gb
4763
4764        * level-1/l1-events.lisp: Rename EVENT-POLL to
4765        AUTO-FLUSH-INTERACTIVE-STREAMS.
4766       
4767        Make AUTO-FLUSH-INTERACTIVE-STREAMS do conditional locking on each
4768        stream (doing nothing if it's not :SHARING :LOCK; unconditional
4769        locking on the *AUTO-FLUSH-STREAMS-LOCK*.
4770       
4771        ADD-AUTOFLUSH-STREAM ensures that the stream is :SHARING :LOCK.
4772       
4773        REMOVE-AUTOFLUSH-STREAM.
4774
47752006-08-25 20:13  gb
4776
4777        * level-1/l1-boot-lds.lisp: MAKE-MCL-LISTENER-STREAM uses
4778        ADD-AUTOFLUSH-STREAM, REMOVE-AUTOFLUSH-STREAM.
4779
47802006-08-23 22:59  gb
4781
4782        * lisp-kernel/x86-exceptions.c: Darwin needs to decode the mxcsr on
4783        SIGFPE.
4784       
4785        DARWIN_GS_HACK changes in altstack handlers for interrupt/suspend.
4786
47872006-08-23 22:58  gb
4788
4789        * lisp-kernel/x86-spentry64.s: x86-64 Darwin's math library is
4790        pretty casual about causing spurious exceptions, so ignore them.
4791
47922006-08-23 22:57  gb
4793
4794        * lisp-kernel/darwinx8664/.gdbinit: New file; like the linuxx8664
4795        version, with different signals to be ignored by gdb.
4796
47972006-08-23 22:56  gb
4798
4799        * lisp-kernel/x86-asmutils64.s: Using ud2b to force an exception in
4800        pseudo_sigreturn() seems to cause/be related to spurious SIGTRAPs.
4801        Use int $0 instead.
4802
48032006-08-23 22:55  gb
4804
4805        * level-1/x86-trap-support.lisp: First attempt at Darwinx8664
4806        support; may need more work.
4807
48082006-08-22 02:08  gb
4809
4810        * lisp-kernel/x86_print.c: Try not to use sprintf() (at least not
4811        for printing integers), since it seems to need access to pthread
4812        data (and calling print_lisp_object() from GDB might fail if %gs is
4813        pointing at the lisp TCR.)
4814
48152006-08-22 02:06  gb
4816
4817        * lisp-kernel/x86-spentry64.s: Unbox %arg_z (boxed entrypoint)
4818        earlier in _SPffcall, before entering foreign context.  (Need to
4819        check PPC version(s) as well.)
4820       
4821        Use DARWIN_GS_HACK to swap %gs memory around when transitioning
4822        between foreign code and lisp.
4823
48242006-08-22 02:04  gb
4825
4826        * lisp-kernel/x86-macros.s: Fix a typo.
4827
48282006-08-22 02:04  gb
4829
4830        * lisp-kernel/x86-exceptions.h: Define a few more things ...
4831
48322006-08-22 02:03  gb
4833
4834        * lisp-kernel/x86-exceptions.c: Lots of changes, especially to Mach
4835        exception handling code.
4836       
4837        Do the DARWIN_GS_HACK things to overload %gs.
4838
48392006-08-22 02:02  gb
4840
4841        * lisp-kernel/x86-asmutils64.s: atomic_and(), pseudo_sigreturn()
4842        for DarwinX8664.
4843
48442006-08-22 02:01  gb
4845
4846        * lisp-kernel/thread_manager.c: Some PPC64 conditionalizations
4847        should really have tested WORD_SIZE.
4848       
4849        DARWIN_GS_HACK stuff around suspend/resume signal handlers.  (May
4850        not be necessary.)
4851       
4852        Ensure that tcr.linear gets set on x86, even if not HAVE_TLS.
4853
48542006-08-22 01:59  gb
4855
4856        * lisp-kernel/pmcl-kernel.c: Don't really flush cache lines on
4857        x8664.
4858       
4859        Some PPC64 conditionalizations should really have tested WORD_SIZE.
4860
48612006-08-22 01:58  gb
4862
4863        * lisp-kernel/m4macros.m4: Define SYSCALL_SETS_CARRY_ON_ERROR for
4864        FreeBSDX664, DarwinX8664.
4865
48662006-08-22 01:57  gb
4867
4868        * lisp-kernel/darwinx8664/Makefile: Much smaller pagezero, much
4869        lower seg1addr.
4870       
4871        Something in the (m4-generated) symbolic info in some .s files is
4872        screwy and causes ld64 to segfault; it's currently necesssary to
4873        use "strip -S" on the assembler-generated .o files.
4874
48752006-08-22 01:55  gb
4876
4877        * scripts/openmcl64: Untested changes for Darwinx8664.
4878
48792006-08-22 01:54  gb
4880
4881        * xdump/xx8664-fasload.lisp: Fix typo in darwinx8664
4882        xload-backend-info (compiler target is :darwinx8664, not
4883        :linuxx8664).
4884
48852006-08-22 01:53  gb
4886
4887        * lib/nfcomp.lisp: Dump concatenated functions from xfunctions when
4888        cross-compiling to x86 from x86.
4889
48902006-08-22 01:52  gb
4891
4892        * lib/misc.lisp: MACHINE-VERSION:  conditionalize on :DARWIN-TARGET
4893        (not :DARWINPPC-TARGET).
4894
48952006-08-22 01:50  gb
4896
4897        * lib/foreign-types.lisp: :DARWIN-TARGET (not :DARWINPPC-TARGET).
4898
48992006-08-22 01:50  gb
4900
4901        * lib/compile-ccl.lisp: :DARWINX8664 stuff.
4902
49032006-08-22 01:49  gb
4904
4905        * level-1/version.lisp: Bump.
4906
49072006-08-22 01:49  gb
4908
4909        * level-1/l1-sysio.lisp: FILE-STREAM-EXTERNAL-FORMAT stuff for
4910        BASIC-STREAMs.
4911
49122006-08-22 01:48  gb
4913
4914        * level-1/: l1-sockets.lisp, linux-files.lisp: Conditionalize on
4915        DARWIN-TARGET, not DARWINPPC-TARGET.
4916
49172006-08-22 01:47  gb
4918
4919        * level-0/l0-init.lisp: DarwinX8664 *features*.
4920
49212006-08-22 01:47  gb
4922
4923        * level-0/l0-cfm-support.lisp: Some DARWINPPC-TARGET conditionals
4924        really want to be DARWIN-TARGET.
4925
49262006-08-22 01:46  gb
4927
4928        * compiler/X86/X8664/x8664-arch.lisp: YIELD-SYSCALL for
4929        DarwinX8664.
4930
49312006-08-22 01:45  gb
4932
4933        * compiler/X86/x862.lisp: Use CROSS-CREATE-X86-FUNCTION if not
4934        compiling natively.
4935       
4936        Fix X862-FIXUP-FWD-REFS if not native function on x86.
4937
49382006-08-22 01:44  gb
4939
4940        * compiler/X86/x86-lap.lisp: Ensure that CROSS-CREATE-X86-FUNCTION
4941        is defined, even on x86.  Use it if not compiling natively on x86.
4942
49432006-08-20 23:59  gb
4944
4945        * lisp-kernel/darwinx8664/Makefile: Define DARWIN_GS_HACK.
4946
49472006-08-20 23:58  gb
4948
4949        * lisp-kernel/x86-exceptions.c: Still needs lots of work.
4950
49512006-08-20 23:58  gb
4952
4953        * lisp-kernel/x86-exceptions.h: Include Mach stuff on Darwin;
4954        prototypes for DARWIN_GS_HACK %gs segment switching.
4955
49562006-08-20 23:57  gb
4957
4958        * lisp-kernel/x86-subprims64.s: Manipulate the %gs register when a
4959        lisp thread starts, exits and DARWIN_GS_HACK is defined.
4960       
4961        This isn't so bad, but doing it around every ff-call might be.
4962
49632006-08-20 23:56  gb
4964
4965        * lisp-kernel/x86-macros.s: DARWIN_GS_HACK macros.
4966
49672006-08-20 23:53  gb
4968
4969        * lisp-kernel/thread_manager.c: Note the need for DARWIN_GS_HACK.
4970
49712006-08-20 23:51  gb
4972
4973        * lisp-kernel/x86-asmutils64.s: DARWIN_GS_HACK hacks.
4974
49752006-08-20 23:51  gb
4976
4977        * lisp-kernel/m4macros.m4: Hope that the need for DARWIN_GS_HACK is
4978        also temporary.
4979
49802006-08-20 23:50  gb
4981
4982        * lisp-kernel/lisptypes.h: Hope that the workaround for missing
4983        mcontext64 in x8664 Darwin is temporary.
4984
49852006-08-20 20:35  gb
4986
4987        * library/darwinx664-syscalls.lisp: typo
4988
49892006-08-20 20:35  gb
4990
4991        * library/darwinx8664-syscalls.lisp: spell name right
4992
49932006-08-20 17:10  gb
4994
4995        * xdump/xx8664-fasload.lisp: :darwinx8664 stuff.
4996
49972006-08-20 17:10  gb
4998
4999        * lib/db-io.lisp: :struct-by-value: don't read-time conditionalize
5000        (do other things still use read-time conditionals ?)
5001
50022006-08-20 17:09  gb
5003
5004        * compiler/X86/X8664/x8664-backend.lisp: Darwinx8664: overload %gs,
5005        setup syscall mask.
5006
50072006-08-20 17:08  gb
5008
5009        * compiler/nx1.lisp: Handle syscall, ff-call for :darwinx8664 as
5010        well.
5011
50122006-08-20 17:06  gb
5013
5014        * library/darwinx664-syscalls.lisp: New file; or's in the bit for
5015        Unix syscalls on Darwinx8664.  (Screw: should (carefully) review
5016        word-size issues.)
5017
50182006-08-20 17:03  gb
5019
5020        * library/darwinppc-syscalls.lisp: Mask for PPC.
5021
50222006-08-20 17:02  gb
5023
5024        * level-0/l0-io.lisp, level-1/l1-sockets.lisp,
5025        level-1/linux-files.lisp: Syscall conditionalization.
5026
50272006-08-20 17:01  gb
5028
5029        * level-1/l1-streams.lisp: Syscall conditionalization.
5030       
5031        SELECTION-INPUT-STREAM created with :sharing :lock.
5032
50332006-08-20 17:00  gb
5034
5035        * examples/objc-runtime.lisp: Fencepost in
5036        POINTER-IN-CFSTRING-SECTION-P.
5037
50382006-08-20 16:16  gb
5039
5040        * library/: darwinppc-syscalls.lisp, darwin-syscalls.lisp: rename
5041
50422006-08-18 09:50  gb
5043
5044        * lisp-kernel/thread_manager.c: Enable FP underflow detection on
5045        x8664.  Should do this on PPC as well, and should probably offer
5046        some backward-compatible behavior for reader.
5047
50482006-08-18 09:47  gb
5049
5050        * compiler/X86/X8664/x8664-backend.lisp: Dress up the Darwin x86-64
5051        backend a little.
5052       
5053        Explicily define lisp-context-register slot in each backend (%gs
5054        for those imolementations that follow the standard ABI, %fs for
5055        Darwin.)
5056
50572006-08-18 09:44  gb
5058
5059        * compiler/X86/X8664/x8664-vinsns.lisp: Use :rcontext when
5060        necessary.
5061
50622006-08-18 09:43  gb
5063
5064        * compiler/X86/: x86-backend.lisp, x86-lap.lisp: Recognize
5065        :rcontext as a reference to the backend's LISP-CONTEXT-REGISTER
5066        slot.
5067
50682006-08-18 09:42  gb
5069
5070        * compiler/backend.lisp: Backend now has a lisp-context-register
5071        slot.
5072
50732006-08-18 09:42  gb
5074
5075        * compiler/X86/X8664/x8664-arch.lisp: No more (constant) rcontext.
5076
50772006-08-18 09:40  gb
5078
5079        * level-0/X86/: x86-def.lisp, x86-float.lisp, x86-io.lisp,
5080        x86-misc.lisp, x86-symbol.lisp, x86-utils.lisp: Refer to rcontext
5081        segment register as :rcontext, since x86-64 Darwin doesn't laugh
5082        and play like the other children.
5083
50842006-08-18 09:29  gb
5085
5086        * lisp-kernel/x86-exceptions.c: Copy some of the Mach exception
5087        code from the PPC version and tweak it a little; needs more work.
5088
50892006-08-18 09:27  gb
5090
5091        * lisp-kernel/x86-exceptions.h: Provide some interim Darwin
5092        conditionalization.
5093
50942006-08-18 09:25  gb
5095
5096        * lisp-kernel/m4macros.m4: Spell FREEBSD correctly.
5097       
5098        Generate an equate for HAVE_TLS.
5099
51002006-08-18 09:23  gb
5101
5102        * lisp-kernel/x86-gc.c: Changes in purify_xp().
5103
51042006-08-18 09:19  gb
5105
5106        * lisp-kernel/x86-spentry64.s: Darwin x86-64 assembler doesn't like
5107        absolute jumps, prefers slower ones.
5108       
5109        Move lock prefixes to their own lines, to satisfy you-know-who.
5110       
5111        If we don't have thread-local-storage (TLS), it's hard to avoid the
5112        get_tcr() call on each calback.
5113
51142006-08-18 09:13  gb
5115
5116        * lisp-kernel/: freebsdx8664/Makefile, linuxx8664/Makefile: Tell m4
5117        that we HAVE_TLS.
5118
51192006-08-17 10:41  phil
5120
5121        * examples/FFI/:
5122        Allocating-foreign-data-on-the-lisp-heap/ptrtest-compile.sh,
5123        Allocating-foreign-data-on-the-lisp-heap/ptrtest.c,
5124        Allocating-foreign-data-on-the-lisp-heap/ptrtest.lisp,
5125        Using-basic-calls-and-types/Readme.rtf,
5126        Using-basic-calls-and-types/typetest-compile.sh,
5127        Using-basic-calls-and-types/typetest.c,
5128        Using-basic-calls-and-types/typetest.lisp: Initial version
5129
51302006-08-17 10:40  phil
5131
5132        * examples/FFI/Allocating-foreign-data-on-the-lisp-heap/Readme.rtf:
5133        [no log message]
5134
51352006-08-08 13:07  gb
5136
5137        * lisp-kernel/darwinx8664/Makefile: New file.
5138
51392006-08-08 13:07  gb
5140
5141        * lisp-kernel/x86-exceptions.h: xp accessors for Darwinx8664.
5142
51432006-08-08 13:06  gb
5144
5145        * lisp-kernel/x86-constants64.h: REG_* constants for Darwin.
5146
51472006-08-08 13:05  gb
5148
5149        * lisp-kernel/x86-asmutils64.s: Darwin assembler doesn't like lock
5150        instructions on the same line as the locked instruction.  (Maybe
5151        there's a better way to do this, than just pretending that lock is
5152        a standalone instruction, but that lock instruction does seem to be
5153        treated as a prefix.)
5154
51552006-08-08 13:03  gb
5156
5157        * lisp-kernel/pmcl-kernel.c: Treat X8664 like PPC64 (e.g., use
5158        dlfcn) on Darwin.
5159
51602006-08-08 13:02  gb
5161
5162        * lisp-kernel/lisptypes.h: xcode 2.4 headers: <i386/ucontext.h>
5163        doesn't define mcontext64, but lots of other things reference it.
5164        #define it here for now, but that'll likely break when the headers
5165        are fixed.
5166
51672006-08-08 12:58  gb
5168
5169        * lisp-kernel/lisp-debug.c: Define Iregnames for darwinx8664.
5170
51712006-08-08 12:58  gb
5172
5173        * lisp-kernel/area.h: Define an IMAGE_BASE_ADDRESS for
5174        x8664/Darwin.
5175
51762006-07-29 08:41  gb
5177
5178        * level-1/l1-streams.lisp: STREAM-WRITE-BYTE, STREAM-WRITE-IVECTOR.
5179         :BASIC defaults to T in OPEN; BASIC-FILE-STREAM probably still
5180        needs READ/WRITE- SEQUENCE support.
5181
51822006-07-29 07:39  gb
5183
5184        * level-1/l1-aprims.lisp: ALLOCATE-RESOURCE, FREE-RESOURCE: use
5185        lock.  TODO: evaluate whether resources are worthwhile;  used for
5186        string-output-stream allocation and DELETE-DUPLICATES.
5187
51882006-07-29 06:27  gb
5189
5190        * library/lispequ.lisp: Resources aren't thread-private, need
5191        locks.
5192
51932006-07-29 06:26  gb
5194
5195        * level-1/l1-sysio.lisp: MAKE-FILE-STREAM: support for
5196        BASIC-STREAMs.
5197
51982006-07-29 06:26  gb
5199
5200        * level-1/l1-streams.lisp: OPEN handles BASIC-STREAMs; not yet the
5201        default.
5202
52032006-07-29 06:25  gb
5204
5205        * level-1/l1-reader.lisp: *PARSE-STRING-RESOURCE* probably hasn't
5206        been used in 10 or 12 years.
5207
52082006-07-29 03:40  gb
5209
5210        * level-1/l1-sysio.lisp: Most BASIC-FILE-STREAM stuff.
5211
52122006-07-29 03:40  gb
5213
5214        * library/lispequ.lisp: BASIC-FILE-STREAM.EXTERNAL-FORMAT, at least
5215        for now.
5216
52172006-07-29 03:39  gb
5218
5219        * level-1/l1-streams.lisp: BASIC-IO-STREAM; ALLOCATE-BASIC-STREAM
5220        makes one more slot in BASIC-FILE-STREAM.
5221
52222006-07-28 04:17  gb
5223
5224        * level-1/version.lisp: Bump.
5225
52262006-07-28 04:15  gb
5227
5228        * level-1/l1-streams.lisp: A couple of more (soon-to-be-used) slots
5229        in IOBLOCK.
5230
52312006-07-28 01:17  gb
5232
5233        * level-1/l1-streams.lisp: Lots of changes; lots more to go.
5234
52352006-07-28 01:16  gb
5236
5237        * level-1/l1-sockets.lisp: Pass :CHARACTER-P T to MAKE-FD-STREAM.
5238
52392006-07-28 00:58  gb
5240
5241        * examples/cocoa-listener.lisp: Want :SHARING :LOCK on listener
5242        output.
5243       
5244        (SLIME probably faces the same issue; should probably do something
5245        in the auto-flush case.  Of course, it's hard to know just what to
5246        do in that case. or at least what to do safely in that case.)
5247
52482006-07-28 00:49  gb
5249
5250        * level-1/l1-sysio.lisp: Define SELECT-STREAM-CLASS on
5251        FUNDAMENTAL-FILE-STREAM.
5252
52532006-07-28 00:49  gb
5254
5255        * lib/streams.lisp: READ-BYTE for BASIC-STREAMs.
5256
52572006-07-28 00:48  gb
5258
5259        * library/lispequ.lisp: Need an explicit
5260        BASIC-STREAM-FLAG.OPEN-CHARACTER bit, due to bivalence.
5261
52622006-07-28 00:47  gb
5263
5264        * lib/macros.lisp: BASIC-STREAM-IOBLOCK.
5265
52662006-07-25 03:48  gb
5267
5268        * compiler/optimizers.lisp: Compiler-macro for BASIC-STREAM-P.
5269
52702006-07-24 04:55  gb
5271
5272        * lib/streams.lisp: READ-CHAR bypasses STREAM-READ-CHAR for
5273        BASIC-STREAMs.
5274
52752006-07-24 04:55  gb
5276
5277        * level-1/l1-streams.lisp: Some BASIC-STREAM stuff starts to
5278        appear.
5279
52802006-07-24 04:51  gb
5281
5282        * library/lispequ.lisp: Add a plist to basic-/basic-file-stream.
5283
52842006-07-24 02:43  gb
5285
5286        * level-1/l1-sysio.lisp: FILE-STREAM is now abstract (and some
5287        sublasses may get that way); FUNDAMENTAL-FILE-STREAM is an
5288        implementation of it (and BASIC-FILE-STREAM soon will be.)
5289
52902006-07-23 03:05  gb
5291
5292        * level-1/l1-clos-boot.lisp: *class-table* entry for BASIC-STREAM.
5293
52942006-07-23 03:03  gb
5295
5296        * level-1/l1-streams.lisp: STREAM-IOBLOCK now takes 2 required args
5297        and is inlined.
5298       
5299        Some bug fixes; STREAM class no longer has slots.
5300       
5301        IOBLOCK-READ-CHAR-FUNCTION used by READ-CHAR.  %ioblock-read-byte
5302        variants; fix read-byte botch (should vector according to
5303        element-type.)
5304
53052006-07-23 02:54  gb
5306
5307        * level-1/: linux-files.lisp, l1-sysio.lisp, l1-sockets.lisp:
5308        STREAM-IOBLOCK now takes 2 required args.
5309
53102006-07-23 02:54  gb
5311
5312        * level-1/version.lisp: Bump.
5313
53142006-07-23 02:53  gb
5315
5316        * library/lispequ.lisp: Start to define what a BASIC-STREAM looks
5317        like.
5318
53192006-07-23 02:53  gb
5320
5321        * lib/macros.lisp: Move stream-ioblock access/locking macros here.
5322       
5323        Likewise WITH-EAGAIN.
5324
53252006-07-23 01:12  gb
5326
5327        * level-1/: l1-sysio.lisp, l1-streams.lisp, l1-boot-2.lisp,
5328        l1-sockets.lisp: Fix a few botches.
5329       
5330        :private arg to stream creation primitives replaced with :sharing,
5331        which can have values:
5332       
5333         :private (the default; stream can only be accessed by the creating
5334        thread)
5335         :lock  (the old, often slow, default); most accesses to stream
5336        involve locking
5337         :nil or :external (stream code doesn't enforce exclusion).
5338
53392006-07-22 23:57  gb
5340
5341        * level-1/l1-streams.lisp: Bootstrapping stuff.
5342       
5343        Move along, nothing to see here.
5344
53452006-07-20 03:43  gb
5346
5347        * level-1/: l1-boot-2.lisp, l1-sockets.lisp, l1-streams.lisp,
5348        l1-sysio.lisp: First (rough) cut at making streams "private"
5349        (effectively always locked by the "owning" thread) to reduce some
5350        locking overhead.  More to come, some of which will be a little
5351        tricky to bootstrap.
5352
53532006-07-20 01:09  gb
5354
5355        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s,
5356        ppc-constants64.h, ppc-constants64.s, x86-constants64.h,
5357        x86-constants64.s: subtag_lisp_thread -> subtag_basic_stream.
5358
53592006-07-20 01:09  gb
5360
5361        * library/lispequ.lisp: new (istruct-based) LISP-THREAD accessors.
5362
53632006-07-20 01:08  gb
5364
5365        * level-1/version.lisp: Bump.
5366
53672006-07-20 01:07  gb
5368
5369        * level-1/l1-streams.lisp: Introduce "owner" slot in basic ioblock.
5370         A little tricky to bootstrap.
5371
53722006-07-20 01:05  gb
5373
5374        * level-0/l0-misc.lisp, level-1/l1-processes.lisp,
5375        level-1/l1-clos-boot.lisp, level-1/l1-lisp-threads.lisp: Use new
5376        (istruct-based) lisp-thread accessors.
5377
53782006-07-20 01:02  gb
5379
5380        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
5381        X86/X8664/x8664-arch.lisp: Get rid of the lisp-thread subtag
5382        (lisp-thread's are ISTRUCTs now); re-use it for (to-be-introduced)
5383        BASIC-STREAM.
5384
53852006-07-15 15:02  gb
5386
5387        * level-1/l1-error-system.lisp: Insert some fresh lines in the
5388        IMPOSSIBLE-NUMBER condition :REPORT method.
5389
53902006-07-15 15:00  gb
5391
5392        * compiler/X86/x862.lisp: x862-%aref1,x862-%aset1: don't try to do
5393        simple vector operations unless we're sure that the vector is a
5394        (SIMPLE-ARRAY * (*)) and we know the element-type (these were
5395        leaping into the simple-typed-vector case when the element-type was
5396        known but the vector wasn't known to be SIMPLE.
5397
53982006-07-14 05:57  gb
5399
5400        * compiler/nx0.lisp: NX-FORM-TYPEP: unqoute constants.
5401
54022006-07-13 16:01  gb
5403
5404        * level-1/l1-typesys.lisp: SPECIALIZED-ARRAY-ELEMENT-TYPES needs to
5405        know about FIXNUM arrays.
5406
54072006-07-11 14:23  gb
5408
5409        * compiler/X86/x862.lisp: Destination and 1st source arg overlap
5410        (2-address instructions) in natural logical, arithmetic operations.
5411
54122006-07-05 02:38  gb
5413
5414        * release-notes.txt: Update.
5415
54162006-07-05 02:22  gb
5417
5418        * level-0/l0-init.lisp: Reluctantly put :MCL back on *features*;
5419        its removal needs to be better publicized.
5420
54212006-07-04 22:24  gb
5422
5423        * level-1/linux-files.lisp: Use NATIVE-TRANSLATED-NAMESTRING on the
5424        PROGRAM arg to RUN-PROGRAM.
5425
54262006-07-04 22:23  gb
5427
5428        * level-1/version.lisp: Bump.
5429
54302006-06-29 02:11  gb
5431
5432        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump
5433        image-abi-version.
5434
54352006-06-28 05:24  gb
5436
5437        * level-0/l0-cfm-support.lisp: *rtld-default* wants to be a null
5438        pointer on DarwinPPC32 (at the very least, that platform's
5439        xFindSymbol gets confused by anything but a null pointer/global
5440        lookup.)
5441
54422006-06-28 05:09  gb
5443
5444        * level-1/version.lisp: Bump.  Call the FreeBSD/AMD64 version
5445        "Alpha", which may be a bit generous (pretty regular deadlock,
5446        random thread creation errors, other bugs.)
5447
54482006-06-28 05:07  gb
5449
5450        * lisp-kernel/freebsdx8664/.gdbinit: new; awfully similar to linux
5451        x86-64 version.
5452
54532006-06-28 04:04  gb
5454
5455        * lisp-kernel/x86-exceptions.c: FreeBSD doesn't do a good job of
5456        identifying the cause of XMM FP exceptions.  Try to do that by
5457        looking at MXCSR bits.
5458
54592006-06-28 04:03  gb
5460
5461        * lisp-kernel/x86-spentry64.s: FreeBSD syscalls set carry flag to
5462        indicate error return.
5463
54642006-06-28 04:03  gb
5465
5466        * level-1/: l1-sockets.lisp, linux-files.lisp,
5467        x86-trap-support.lisp: Some FreeBSD changes/fixes.
5468
54692006-06-28 04:02  gb
5470
5471        * level-0/l0-cfm-support.lisp: Remove a #+freebsd-target
5472        breakpoint.
5473
54742006-06-27 18:08  gb
5475
5476        * level-0/l0-cfm-support.lisp: fix (?) nested #+/#-.  Maybe.
5477
54782006-06-27 17:30  gb
5479
5480        * lisp-kernel/x86-exceptions.h: Fix Linux def of IS_MAYBE_INT_TRAP.
5481
54822006-06-27 17:27  gb
5483
5484        * lisp-kernel/pmcl-kernel.c: (possibly) make get_r_debug more
5485        portable; possibly break it completely ...
5486
54872006-06-27 08:55  gb
5488
5489        * lisp-kernel/x86-exceptions.c: map the altstack
5490        read/write/execute.
5491
54922006-06-27 08:54  gb
5493
5494        * lisp-kernel/thread_manager.c: Fix os_get_stack_bounds() for
5495        FreeBSD.
5496
54972006-06-27 08:54  gb
5498
5499        * lisp-kernel/Threads.h: FreeBSD needs prototypes from
5500        <pthread_np.h>
5501
55022006-06-27 08:53  gb
5503
5504        * lib/compile-ccl.lisp: New (renamed) kernel-build-direcory for
5505        :freebsdx8664.
5506
55072006-06-27 08:53  gb
5508
5509        * level-1/x86-trap-support.lisp: freebsd x8664 GPR indices.  (Needs
5510        testing.)
5511       
5512        Don't conditionalize as much code. Indices/offsets are
5513        platform-specific, but accessors defiend in terms of them needn't
5514        be.
5515
55162006-06-27 08:51  gb
5517
5518        * level-1/x86-callback-support.lisp: Remove 1st line (bogus
5519        comment.)
5520
55212006-06-27 08:50  gb
5522
5523        * level-0/l0-init.lisp: More freebsd x8664 features.
5524
55252006-06-27 08:50  gb
5526
5527        * scripts/openmcl64: Update for FreeBSD/amd64.
5528
55292006-06-27 08:47  gb
5530
5531        * compiler/X86/X8664/x8664-backend.lisp: FreeBSD backend has
5532        :freebsdx8664-target as a target-specific-feature.
5533
55342006-06-27 05:05  gb
5535
5536        * lisp-kernel/: freebsdx8664/Makefile, freebsd8664/Makefile,
5537        freebsd8664/elf_x86_64.x: directory rename
5538
55392006-06-27 04:59  gb
5540
5541        * xdump/xx8664-fasload.lisp: FreeBSD xload-backend.
5542
55432006-06-27 04:47  gb
5544
5545        * lisp-kernel/x86-exceptions.h: Some macros for FreeBSD changes.
5546
55472006-06-27 04:46  gb
5548
5549        * lisp-kernel/x86-exceptions.c: FreeBSD changes (at least enough to
5550        recognize UUOs, which generate SIGBUS vice SIGSEGV.)
5551
55522006-06-27 04:45  gb
5553
5554        * lisp-kernel/x86-asmutils64.s: Define freebsd_sigreturn.
5555       
5556        TODO (maybe): copy the sigtramp code when evacuating the altstack.
5557
55582006-06-27 04:44  gb
5559
5560        * lisp-kernel/thread_manager.c: FreeBSD sigreturn from
5561        suspend_resume_handler.
5562
55632006-06-27 04:44  gb
5564
5565        * lisp-kernel/pmcl-kernel.c: Some FreeBSD conditionalization;
5566        get_r_debug() for ELF platforms.  (Needs testing under Linux.)
5567
55682006-06-27 04:43  gb
5569
5570        * lisp-kernel/imports.s: Don't import metering-control; do import
5571        get_r_debug().
5572
55732006-06-27 04:42  gb
5574
5575        * library/x8664-freebsd-syscalls.lisp: New file.  Should check
5576        word-size stuff (here and in other versions.)
5577
55782006-06-27 04:42  gb
5579
5580        * lib/misc.lisp: Find MACHINE-VERSION string via #_sysctl on
5581        FreeBSD.
5582
55832006-06-27 04:39  gb
5584
5585        * lib/foreign-types.lisp: Signed char nonsense (should use target
5586        ftd, not reader macros here.)
5587
55882006-06-27 04:38  gb
5589
5590        * lib/compile-ccl.lisp: Some FreeBSD support.
5591
55922006-06-27 04:36  gb
5593
5594        * level-1/: l1-sockets.lisp, l1-streams.lisp, linux-files.lisp:
5595        Some FreeBSD changes/conditionalization. Maybe not enough.
5596
55972006-06-27 04:35  gb
5598
5599        * level-1/l1-boot-1.lisp: Recognize FREEBSD platform-os-name.
5600
56012006-06-27 04:34  gb
5602
5603        * level-0/X86/: .cvsignore, X8664/.cvsignore: Ignore *fsl.
5604
56052006-06-27 04:34  gb
5606
5607        * level-0/l0-io.lisp: FreeBSD syscalls.
5608
56092006-06-27 04:33  gb
5610
5611        * level-0/l0-init.lisp: Some FreeBSD features.
5612
56132006-06-27 04:33  gb
5614
5615        * level-0/l0-cfm-support.lisp: Lots of FreeBSD conditionalization,
5616        changes.
5617       
5618        MAY HAVE BROKEN LINUX PORTS; need to recompile on those platforms
5619        and test.
5620       
5621        Now depends on an imported lisp-kernel function on ELF platforms
5622        (Linux/FreeBSD), and therefore depends on recent kernel changes.
5623
56242006-06-27 04:30  gb
5625
5626        * level-0/.cvsignore: Ignore *fsl.
5627
56282006-06-27 04:29  gb
5629
5630        * compiler/X86/X8664/x8664-backend.lisp: Fix platform-syscall-mask
5631        in freebsd backend.
5632
56332006-06-27 04:27  gb
5634
5635        * compiler/X86/X8664/x8664-arch.lisp: Don't import
5636        metering-control; do import get-r-debug (for Elf shared libraries.)
5637       
5638        A yield-syscall constant for FreeBSD. (This is all a bad idea ...)
5639
56402006-06-27 04:26  gb
5641
5642        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp:
5643        Don't import metering-control; do import get-r-debug (for Elf
5644        shared libraries.)
5645
56462006-06-27 04:26  gb
5647
5648        * compiler/nx1.lisp: Use the non-eabi syscall on freebsd as well.
5649
56502006-06-26 16:38  gb
5651
5652        * compiler/X86/X8664/x8664-vinsns.lisp:
5653        SET-BIGITS-AND-HEADER-FOR-FIXNUM-OVERFLOW: need to change the
5654        (wrong) sign of the top 3 (fixnumshift) bits only.  Where did the
5655        constant #xffff000000000000 come from ?
5656
56572006-06-26 16:35  gb
5658
5659        * compiler/X86/x862.lisp: Fix some indentation.
5660
56612006-06-25 20:32  gb
5662
5663        * compiler/X86/X8664/x8664-backend.lisp: FreeBSD x8664 backend;
5664        change initialiation of x8664 foreign-type stuff.
5665
56662006-06-25 20:31  gb
5667
5668        * compiler/backend.lisp: PLATFORM-OS-FREEBSD.
5669
56702006-06-23 19:52  gb
5671
5672        * darwin-headers/: gl/C/.cvsignore, libc/C/.cvsignore,
5673        quicktime/C/.cvsignore: Ignore Developer subdirectory.  c
5674
56752006-06-23 19:28  gb
5676
5677        * release-notes.txt: Update some.
5678
56792006-06-23 19:11  gb
5680
5681        * examples/gtk2-clock.lisp: New file.
5682
56832006-06-23 18:56  gb
5684
5685        * level-1/version.lisp: Bump.
5686
56872006-06-23 18:52  gb
5688
5689        * lib/ccl-export-syms.lisp: Export DEFLOADVAR.
5690
56912006-06-22 13:39  gb
5692
5693        * x86-headers64/gnome2/C/.cvsignore: new
5694
56952006-06-22 13:36  gb
5696
5697        * x86-headers64/: gl/C/.cvsignore, gnome2/C/populate.sh: new
5698
56992006-06-22 13:33  gb
5700
5701        * x86-headers64/: gl/.cvsignore, gl/C/populate.sh,
5702        gnome2/.cvsignore: new
5703
57042006-06-22 13:30  gb
5705
5706        * examples/opengl-ffi.lisp: #+linuxppc-target -> #+linux-target.
5707
57082006-06-22 13:28  gb
5709
5710        * level-1/version.lisp: Bump.
5711
57122006-06-21 15:15  gb
5713
5714        * lisp-kernel/: ppc-constants64.h, ppc-constants64.s,
5715        ppc-spentry.s: Define new string subtags; handle them in ppc64
5716        misc_ref/misc_set.
5717
57182006-06-21 15:14  gb
5719
5720        * level-0/PPC/ppc-array.lisp: Fix %INIT-MISC (both ppc2 and ppc64
5721        versions) to handle FIXNUM vectors, new UCS4 strings.
5722
57232006-06-21 15:14  gb
5724
5725        * level-0/l0-array.lisp: Fix %INIT-MISC (bot ppc2 and ppc64
5726        versions) to handle FIXNUM vectors, new UCS4 strings.
5727
57282006-06-21 15:12  gb
5729
5730        * darwin-headers/: carbon/C/populate.sh, cocoa/C/populate.sh,
5731        gl/C/populate.sh, libc/C/populate.sh, quicktime/C/populate.sh,
5732        webkit/C/populate.sh: Use 10.4u headers from XCode SDK.
5733
57342006-06-21 15:11  gb
5735
5736        * compiler/PPC/PPC64/ppc64-arch.lisp: Add SUBTAG-NEW-STRING.
5737
57382006-06-21 15:11  gb
5739
5740        * compiler/PPC/PPC32/ppc32-arch.lisp: MAX-32-BIT-IVECTOR-SUBTAG
5741        wasn't updated with the introduction of fixnum vectors, (unused)
5742        UCS4 "new"strings.
5743
57442006-06-16 03:50  gb
5745
5746        * examples/objc-support.lisp: Re-compute static NSString info after
5747        opening an extension framework.
5748
57492006-06-16 03:45  gb
5750
5751        * examples/webkit.lisp: Use new functions for augmenting
5752        interfaces, loading framework.
5753
57542006-06-16 03:43  gb
5755
5756        * examples/objc-runtime.lisp: Juggle things around so that add-on
5757        framework bundles get loaded on appication re-launch.
5758       
5759        REVIVE-OBJC-CLASSES tells MAP-OBJC-CLASSES not to hit the database,
5760        since (a) it may not be there, or may not be where we can find it
5761        yet and (b) it's probably more reasonable to do that than it would
5762        be to teach CLOS about classes that're "discovered" when the
5763        appication's launched on a newer OS release than it was saved on.
5764
57652006-06-16 03:39  gb
5766
5767        * examples/cocoa-application.lisp: Touch tha application bundle
5768        before saving an image into it.  That -may- convincve
5769        LaunchServices to do the right thing.
5770
57712006-06-16 03:38  gb
5772
5773        * examples/objc-support.lisp: Reload any addon/framework bundles
5774        that had been loaded before the image was saved when starting a
5775        bundled application.
5776       
5777        Juggle things around, so that that works (need to be able to use
5778        low-level bridge features early.)
5779
57802006-06-16 03:36  gb
5781
5782        * lib/db-io.lisp: Disable the #? reader macro.
5783
57842006-06-14 15:42  gb
5785
5786        * level-0/: PPC/ppc-def.lisp, X86/x86-def.lisp: Fix #+APPLY+
5787        lfun-bits.
5788
57892006-06-12 20:24  gb
5790
5791        * lib/ppc-backtrace.lisp: PPC version of
5792        %find-register-argument-value had the same sort of fencepost as the
5793        x86-64 version had a few days ago.
5794
57952006-06-10 23:52  gb
5796
5797        * lib/arglist.lisp: %ARGLIST-INTERNAL: if generic-function, return
5798        its GENERIC-FUNCTION-LAMBDA-LIST.
5799
58002006-06-10 23:51  gb
5801
5802        * level-1/l1-clos.lisp: Give reader/writer method args more
5803        descriptive names. (Barely more descriptive ...)
5804
58052006-06-10 19:25  gb
5806
5807        * level-1/l1-clos-boot.lisp: Arrgh.  In
5808        %MAYBE-STD-SETF-SLOT-VALUE-USING-CLASS, we know nothing about the
5809        type of the instance, so don't use INSTANCE.SLOTS (instead, let
5810        INSTANCE-SLOTS do a TYPECASE; it's inlined at this point.)
5811       
5812        This was keeping non-standard instances - like ObjC classes and
5813        metaclasses - from having some of their slots initialized
5814        correctly.
5815
58162006-06-10 19:22  gb
5817
5818        * examples/objc-clos.lisp: PRINT-OBJECT methods for objc-class,
5819        objc-metaclass: don't die if the class is unnamed (makes it easier
5820        to print classes for debugging during initialization.)
5821
58222006-06-10 13:05  gb
5823
5824        * level-1/ppc-trap-support.lisp: Fix LinuxPPC64 versions of
5825        XP-FPSCR-INFO and XP-DOUBLE-FLOAT.
5826
58272006-06-08 05:01  gb
5828
5829        * release-notes.txt: Update a bit.
5830
58312006-06-08 03:56  gb
5832
5833        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump
5834        image-abi-version.
5835
58362006-06-08 03:46  gb
5837
5838        * xdump/faslenv.lisp: Bump (min) fasl version.
5839
58402006-06-08 03:35  gb
5841
5842        * lib/nfcomp.lisp: Bump (current) fasl-version.
5843
58442006-06-08 03:28  gb
5845
5846        * lisp-kernel/linuxx8664/Makefile: -O2.
5847
58482006-06-08 03:26  gb
5849
5850        * xdump/faslenv.lisp: Bump (max) fasl version.
5851
58522006-06-08 03:18  gb
5853
5854        * level-1/version.lisp: Bump; give x86-64 port the benefit of the
5855        doubt and claim that it's a beta.
5856
58572006-06-08 03:18  gb
5858
5859        * lisp-kernel/darwinppc64/Makefile: Enable -O2.
5860
58612006-06-08 03:17  gb
5862
5863        * lisp-kernel/darwinppc/Makefile: Some commented-out debugging
5864        options; enable -O2.
5865
58662006-06-08 02:55  gb
5867
5868        * lisp-kernel/x86-exceptions.c: thread_signal_setup() moved here.
5869        Handle suspend (and maybe someday resume, again) signals on the
5870        altstack, since we don't really want a signal context in the middle
5871        of the tagged lisp stack ...
5872
58732006-06-08 02:52  gb
5874
5875        * lisp-kernel/thread_manager.c: thread_signal_setup() moved to
5876        PLATFORM-exceptions.c; some constants/prototypes moved to
5877        Threads.h.
5878
58792006-06-08 02:51  gb
5880
5881        * lisp-kernel/ppc-exceptions.c: suspend_resume_handler() installed
5882        via install_signal_handler(); thread_signal_setup() moved here, to
5883        do that installation.
5884
58852006-06-08 02:50  gb
5886
5887        * lisp-kernel/pmcl-kernel.c: Don't enable_fp_exceptions() twice.
5888       
5889        Don't call (or define) prepare_for_the_worst(), which is kind of
5890        too bad ...
5891
58922006-06-08 02:49  gb
5893
5894        * lisp-kernel/Threads.h: suspend/resume constants, prototypes.
5895
58962006-06-08 01:11  gb
5897
5898        * level-1/l1-files.lisp: Back out of ill-advised changed to %LOAD;
5899        let OPTIMIZE proclamations persist beyond the LOAD.
5900
59012006-06-07 21:45  gb
5902
5903        * lisp-kernel/x86-subprims64.s: No nore %tsp/%Rnext_tsp.
5904
59052006-06-07 21:38  gb
5906
5907        * lisp-kernel/x86-spentry64.s: Don't maintain current/next tsp in
5908        MMX regs.  Do maintain them in TCR.
5909
59102006-06-07 21:37  gb
5911
5912        * lisp-kernel/x86-macros.s: Don't maintain %tsp when stack-consing;
5913        update (decrement) tcr.next_tsp atomically, use %stack_temp as a
5914        temporary (old tsp), finish frame by storing into tcr.save_tsp.
5915
59162006-06-07 21:34  gb
5917
5918        * lisp-kernel/x86-exceptions.c: tsp is in the TCR now.
5919
59202006-06-07 21:33  gb
5921
5922        * lisp-kernel/x86-constants64.s: No more %tsp, %Rnext_tsp.  Define
5923        %stack_temp.
5924
59252006-06-07 21:32  gb
5926
5927        * lisp-kernel/x86-constants64.h: No more Itsp, Inext_tsp.
5928
59292006-06-07 21:30  gb
5930
5931        * level-0/X86/x86-def.lisp: %CURRENT-TSP: the tsp is in the TCR
5932        now.
5933
59342006-06-07 21:30  gb
5935
5936        * compiler/X86/X8664/x8664-vinsns.lisp: Don't try to maintain %tsp
5937        (since it no longer exists ...).  Use %stack-temp in some cases.
5938
59392006-06-07 21:29  gb
5940
5941        * compiler/X86/X8664/x8664-arch.lisp: No more %tsp or %next-tsp.
5942        %stack-temp is a symbolic name for an MMX register that can be used
5943        for (e.g.) linking frames on the temp/foreign stacks (or for any
5944        other purpose ...)
5945
59462006-06-07 15:29  gb
5947
5948        * compiler/X86/X8664/x8664-vinsns.lisp: No more %Rforeign_sp.  Keep
5949        tcr.next_tsp in sync with %next_tsp Check to ensure that
5950        %tsp,tcr.save_tsp,and tcr.next_tsp all have the same value when
5951        allocating on the temp stack.  (This will soon change, so that %tsp
5952        and %next_tsp will not be canonical and the tcr fields are, then
5953        will change so that %tsp and %next_tsp will cease to exist.)
5954
59552006-06-07 15:25  gb
5956
5957        * lisp-kernel/x86-subprims64.s: No more %Rforeign_sp.
5958
59592006-06-07 15:25  gb
5960
5961        * lisp-kernel/: x86-macros.s, x86-spentry64.s: Keep tcr.next_tsp in
5962        sync with %Rnext_tsp.  No more %Rforeign_sp, but we can use %mm5 as
5963        a temporary.
5964
59652006-06-07 15:23  gb
5966
5967        * lisp-kernel/x86-exceptions.c: Find the foreign RSP from the TCR;
5968        don't need FP regs for this.  (They're sometimes invalid and
5969        sometimes missing, which is the point of recent changes.)
5970
59712006-06-07 15:21  gb
5972
5973        * lisp-kernel/x86-constants64.s: No foreign_sp.  Rename %next_tsp
5974        to %Rnext_tsp to avoid potential m4 lossage.
5975
59762006-06-07 15:20  gb
5977
5978        * lisp-kernel/x86-constants64.h: No Iforeign_sp.
5979
59802006-06-07 15:20  gb
5981
5982        * lisp-kernel/thread_manager.c: Initialize tcr->next_tsp on X86.
5983
59842006-06-07 15:19  gb
5985
5986        * level-1/version.lisp: Bump.
5987
59882006-06-07 15:19  gb
5989
5990        * level-0/X86/x86-def.lisp: Get foreign-sp from the TCR.
5991
59922006-06-07 15:18  gb
5993
5994        * compiler/X86/X8664/x8664-arch.lisp: More bootstrapping: no more
5995        foreign-sp register (though some code still uses %mm5 as a
5996        temporary, the "canonical" foreign SP is maintained in the TCR.)
5997
59982006-06-07 04:52  gb
5999
6000        * lisp-kernel/x86-macros.s: When making a catch/unwind-protect
6001        frame, get the foreign SP out of the TCR.
6002
60032006-06-07 04:52  gb
6004
6005        * compiler/X86/X8664/x8664-vinsns.lisp,
6006        lisp-kernel/x86-spentry64.s: More bootstrapping: continue to
6007        maintain the foreign sp in both the TCR and the MMX register, but
6008        consider the TCR version to be canonical.
6009
60102006-06-07 02:46  gb
6011
6012        * compiler/X86/X8664/x8664-vinsns.lisp: More bootstrapping: if the
6013        %tsp MMX register doesn't match the value in the tcr, trap.
6014        Likewise for %foreign-sp.
6015
60162006-06-07 01:29  gb
6017
6018        * compiler/X86/X8664/x8664-vinsns.lisp, lisp-kernel/x86-macros.s,
6019        lisp-kernel/x86-spentry64.s: Try to keep tcr.save_tsp in synch with
6020        %tsp, and likewise for %Rforeign_sp/tcr.foreign_sp.
6021       
6022        (The idea is to keep the temp/foreign stack pointers in the tcr and
6023        only use the MMX registers as temporaries, since it seems that
6024        handlers for asynchronous signals can't count on the MMX register
6025        values in the signal context being correct.  This seems to either
6026        be a Linux kernel bug or ill-considered if it's intentional
6027        behavior, but it seems better to work around it this way.)
6028       
6029        This is just an early step in bootstrapping that change; it's being
6030        checked into CVS so that it doesn't get lost (and so that I can
6031        recover to this point if/when I hose things on a later step.)
6032
60332006-06-07 01:24  gb
6034
6035        * compiler/X86/X8664/x8664-arch.lisp: Add a next-tsp slot to the
6036        tcr.
6037
60382006-06-07 01:22  gb
6039
6040        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Add a
6041        next_tsp slot to the tcr.
6042
60432006-06-06 04:25  gb
6044
6045        * lib/ppc-metering.lisp: no hope
6046
60472006-06-06 04:22  gb
6048
6049        * lib/x86-backtrace.lisp: %find-register-argument-value: Current
6050        frame (cfp argument) could be an exception callback frame (xcf-p
6051        may be true of it), in which case the saved register value is in
6052        the xcf.xp context.  (Basically, this means look at the first frame
6053        if it's an xcf, otherwise skip it and start with the child.)
6054
60552006-06-06 01:48  gb
6056
6057        * compiler/X86/x86-lapmacros.lisp,
6058        compiler/X86/X8664/x8664-vinsns.lisp, lisp-kernel/x86-macros.s:
6059        Using imul to box fixnums is smaller and seems to be faster than
6060        using lea with a scale factor.
6061
60622006-06-05 23:56  gb
6063
6064        * lisp-kernel/thread_manager.c: I don't think that
6065        suspend_resume_handler wants to have suspend signals unmasked, does
6066        it ?
6067
60682006-06-05 12:43  gb
6069
6070        * library/chud-metering.lisp: area-readonly is in ccl:: now.
6071
60722006-06-03 03:11  gb
6073
6074        * lisp-kernel/x86-spentry64.s: In _SPnthrowvalues: don't skip the
6075        last catch frame, do skip others (test was backwards.  As it
6076        probably had been in the single-value case at one point.)
6077
60782006-06-02 03:48  gb
6079
6080        * lib/encapsulate.lisp: Don't print trace indent/outdent stuff to
6081        *terminal-io*; do print it to *trace-output*.
6082
60832006-06-01 20:20  gb
6084
6085        * level-0/l0-array.lisp: There's a T in subtag.
6086
60872006-06-01 20:17  gb
6088
6089        * compiler/X86/x862.lisp: X862-MVCALL wasn't handling things like:
6090       
6091        (multiple-value-bind (...)   (multiple-value-call #'foo ...))
6092       
6093        correctly.
6094
60952006-06-01 20:16  gb
6096
6097        * compiler/nx0.lisp: Defvars for global optimization quantities
6098        moved to level-0.
6099
61002006-06-01 20:15  gb
6101
6102        * level-1/l1-files.lisp: Bind the variables which hold global
6103        compiler optimization quantities, since people persist in doing
6104        things like:
6105       
6106        (declaim (optimize
6107        <something-that-they-probably-think-has-local-effects>))
6108       
6109        without bothering to use EVAL-WHEN or otherwise thinking very
6110        clearly.
6111       
6112        Note that this means that anyone who wanted such a declamation to
6113        have persistent global effects is now SOL.  Blame whoever wrote
6114        (for instance) clx/glx.lisp.
6115
61162006-06-01 20:11  gb
6117
6118        * level-0/l0-init.lisp: Move *nx-speed*, etc here, so that they can
6119        be referenced early in the cold load.
6120
61212006-06-01 13:13  gb
6122
6123        * lib/x86-backtrace.lisp: In %FIND-REGISTER-ARGUMENT-VALUE, pass a
6124        pointer to ENCODED-GPR-LISP if we have to get the register value
6125        from an exception frame.
6126
61272006-05-30 19:27  gwking
6128
6129        * tools/asdf.lisp: Updated asdf to the current CVS head (revision
6130        1.98)
6131
61322006-05-30 17:12  gb
6133
6134        * level-1/version.lisp: bump again.
6135
61362006-05-30 16:31  gb
6137
6138        * lisp-kernel/x86-spentry64.s: When unwinding the stack, try to
6139        ensure that tcr.xframe is updated from the catch frame (a) in all
6140        execution paths and (b) before RSP is updated.
6141
61422006-05-30 16:30  gb
6143
6144        * level-0/l0-array.lisp, lib/sequences.lisp: Handle (simple) fixnum
6145        vectors.
6146
61472006-05-30 16:29  gb
6148
6149        * level-1/l1-typesys.lisp: Add a DEFTYPE for fixnum vectors.
6150
61512006-05-30 16:29  gb
6152
6153        * release-notes.txt: Update some more ...
6154
61552006-05-30 16:23  gb
6156
6157        * lib/ccl-export-syms.lisp: There are two 'e's in UNPROCESSED.
6158        Apparently.
6159
61602006-05-30 16:15  gb
6161
6162        * release-notes.txt: updated
6163
61642006-05-30 01:58  gb
6165
6166        * level-1/version.lisp: Bump.
6167
61682006-05-30 01:48  gb
6169
6170        * lisp-kernel/x86-exceptions.c: altstack_interrupt_handler: having
6171        made copies of the signal context and siginfo on the foreign stack,
6172        don't pass the originals to interrupt_handler().
6173       
6174        (altstack_interrupt_handler() looks suspiciously like
6175        altstack_signal_handler(), which probably had the same bug a few
6176        months ago ...)
6177       
6178        Since the alternate signal stack (as we use it) isn't reentrant,
6179        the next signal (perhaps a suspend signal) overwrote the context.
6180        Which is one reason to have made a copy in the first place ...
6181
61822006-05-30 01:43  gb
6183
6184        * level-1/l1-lisp-threads.lisp: In THREAD-ENABLE, use the new
6185        %TIMED-WAIT-ON-SEMAPHORE-PTR; regardless of whether or not a
6186        timeout is a good idea here, make sure that the timeout isn't
6187        fooled by #$EINTR.
6188
61892006-05-30 01:39  gb
6190
6191        * level-1/linux-files.lisp: Rename the old
6192        %TIMED-WAIT-ON-SEMAPHORE-PTR to %PROCESS-WAIT-ON-SEMAPHORE-PTR,
6193        since it basically waits indefinitely.
6194       
6195        Split out the functionality in TIMED-WAIT-ON-SEMAPHORE into a new
6196        %TIMED-WAIT-ON-SEMAPHORE-PTR function, so that it's possible to do
6197        a "timed wait" that handles interruptions, etc. when the caller
6198        just has a "raw" (native) semaphore.
6199       
6200        Change callers, endure warnings.  New binaries soon.
6201
62022006-05-30 01:36  gb
6203
6204        * level-0/l0-misc.lisp: When waiting for a lock, use the new
6205        %PROCESS-WAIT-ON-SEMAPHORE-PTR.
6206
62072006-05-29 22:34  gb
6208
6209        * lisp-kernel/x86-exceptions.c: The
6210        clear_tcr_save_allocptr_tag_instruction opcode array was one byte
6211        too small ...
6212
62132006-05-29 14:03  gb
6214
6215        * level-1/linux-files.lisp: In %OS-GETCWD: don't trust
6216        syscall-based getcwd (it doesn't work as it once did/is documented
6217        to on linuxx8664); use the library function on all platforms.
6218
62192006-05-29 14:02  gb
6220
6221        * lisp-kernel/x86-exceptions.c: Clear interrupt_pending flag before
6222        processing interrupt.
6223
62242006-05-28 17:01  gb
6225
6226        * lisp-kernel/ppc-exceptions.c: If we handle a
6227        SIGNAL_FOR_PROCESS_INTERRUPT trap, clear tcr->interrupt_pending.
6228       
6229        Back out of the hack that tried to work around a Darwin bug (FP
6230        exception flags were cleared in the MSR after a thread had been
6231        interrupted via pthread_kill()), since the fix seems not to be
6232        GC-safe.
6233       
6234        Add some debugging code to print when the exception lock is
6235        acquired/released.
6236
62372006-05-28 01:10  gb
6238
6239        * level-1/solaris-files.lisp: long gone
6240
62412006-05-23 20:25  gb
6242
6243        * compiler/: PPC/ppc2.lisp, X86/x862.lisp: D'oh!
6244
62452006-05-22 22:59  gb
6246
6247        * darwin-headers/addressbook/: C/populate.sh, .cvsignore,
6248        C/.cvsignore: New file.
6249
62502006-05-22 22:57  gb
6251
6252        * level-1/l1-processes.lisp: PROCESS-SUSPEND: don't allow current
6253        thread to suspend itself.
6254
62552006-05-22 22:57  gb
6256
6257        * compiler/PPC/PPC64/ppc64-vinsns.lisp: Use the SP red zone to load
6258        SINGLE-FLOAT constants.
6259       
6260        SINGLE-FLOAT foreign args are stored in the low 32 bits of each
6261        64-bit arg word, regardless of whether they're also passed in
6262        f1-f13 as well.
6263
62642006-05-22 22:55  gb
6265
6266        * compiler/PPC/PPC64/ppc64-backend.lisp: Callback fixes:
6267        SINGLE-FLOATs passed in memory are passed in the low 32 bits of the
6268        64-bit word.
6269
62702006-05-22 22:54  gb
6271
6272        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Use the red zone (on SP)
6273        for LOAD-SINGLE-FLOAT-CONSTANT, LOAD-DOUBLE-FLOAT-CONSTANT.
6274
62752006-05-22 22:53  gb
6276
6277        * compiler/PPC/PPC32/ppc32-backend.lisp: "poweropen ABI" (Darwin)
6278        callback fixes: SINGLE-FLOATs passed in memory are passed as ...
6279        SINGLE-FLOATs, so don't use %GET-SINGLE-FLOAT-FROM-DOUBLE-PTR to
6280        access them.
6281
62822006-05-22 03:53  gb
6283
6284        * level-1/version.lisp: Bump.
6285
62862006-05-22 03:32  gb
6287
6288        * compiler/X86/X8664/x8664-vinsns.lisp: fixnum->float vinsns.
6289
62902006-05-22 03:31  gb
6291
6292        * compiler/X86/x862.lisp: Numeric contagion on binops,
6293        fixnum->float.
6294
62952006-05-22 03:29  gb
6296
6297        * compiler/PPC/ppc2.lisp: Do stupid self-tail-call tricks on PPC as
6298        well.
6299
63002006-05-22 03:28  gb
6301
6302        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Load tcr.cs-limit a little
6303        earlier when creating a stack frame inline.  Doesn't seem to affect
6304        latency much.
6305
63062006-05-22 03:27  gb
6307
6308        * compiler/X86/x862.lisp: Comment formatting on the first line of
6309        the file.
6310
63112006-05-22 03:26  gb
6312
6313        * compiler/nx0.lisp: Check argument counts on self-calls.  (AFAIK,
6314        this hasn't been done for at least 20 years in MCL/OpenMCL ...)
6315
63162006-05-21 07:34  gb
6317
6318        * compiler/X86/x862.lisp: Long-standing X862-COPY-REGISTER bug.
6319
63202006-05-21 07:32  gb
6321
6322        * compiler/PPC/ppc2.lisp: Implement (late) div2; use (simple)
6323        numeric-contagion stuff for arithmetic ops.
6324
63252006-05-21 07:31  gb
6326
6327        * compiler/nx1.lisp: Use div2 for /-2.
6328
63292006-05-21 07:31  gb
6330
6331        * compiler/nx0.lisp: Binop numeric contagion.
6332
63332006-05-21 06:49  gb
6334
6335        * compiler/nx0.lisp: ACODE-REAL-CONSTANT-P.
6336
63372006-05-21 06:49  gb
6338
6339        * compiler/PPC/ppc2.lisp: Weird case in ppc2-copy-register wasn't
6340        weird, just wrong.
6341
63422006-05-21 06:17  gb
6343
6344        * level-0/l0-pred.lisp: PPC64: %typep recognizes
6345        SIMPLE-FIXNUM-VECTORs.
6346
63472006-05-21 06:16  gb
6348
6349        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6350        Fixnum vector stuff.  FIXNUM->FPR uses SP red zone.
6351
63522006-05-21 06:16  gb
6353
6354        * compiler/PPC/PPC32/ppc32-arch.lisp,
6355        compiler/PPC/PPC64/ppc64-arch.lisp, lisp-kernel/ppc-constants64.h,
6356        lisp-kernel/ppc-constants64.s, lisp-kernel/ppc-spentry.s: Fixnum
6357        vector stuff.
6358
63592006-05-21 06:15  gb
6360
6361        * compiler/PPC/ppc2.lisp: %fixnum-to-single, %fixnum-to-double.
6362       
6363        Fixnum vector vref/vset.
6364
63652006-05-21 06:15  gb
6366
6367        * compiler/: nx1.lisp, nxenv.lisp: %fixnum-to-single,
6368        %fixnum-to-double.
6369
63702006-05-21 06:14  gb
6371
6372        * compiler/nx0.lisp: More operator result types.
6373
63742006-05-21 04:35  gb
6375
6376        * level-0/l0-array.lisp, level-0/l0-pred.lisp,
6377        level-1/l1-aprims.lisp, level-1/l1-clos-boot.lisp: Integrate
6378        specialized FIXNUM array-element-type into type system, CLOS.
6379        (Knock wood.)
6380
63812006-05-21 04:34  gb
6382
6383        * lisp-kernel/x86-spentry64.s: Support for (out-of-line)
6384        fixnum-vector access (.SPmisc_ref, .SPmisc_set).
6385
63862006-05-21 04:33  gb
6387
6388        * compiler/X86/X8664/x8664-arch.lisp,
6389        lisp-kernel/x86-constants64.h, lisp-kernel/x86-constants64.s: New
6390        subtag for :fixnum-vector.
6391
63922006-05-21 04:32  gb
6393
6394        * compiler/X86/x862.lisp: 64-bit vset wasn't handling non-constant
6395        indices correctly.
6396       
6397        64-bit vset, vref: handle :FIXNUM-VECTOR.
6398
63992006-05-21 00:22  gb
6400
6401        * level-0/l0-aprims.lisp: Spell istruct-typep correctly.
6402
64032006-05-20 18:13  gb
6404
6405        * compiler/X86/x862.lisp: Do some self-tail calls (fixed args, no
6406        stack args) without restoring/re-saving NVRs.
6407
64082006-05-19 15:07  gb
6409
6410        * level-1/linux-files.lisp: RUN-PROGRAM: waiting for the child's
6411        completion semaphore (when :WAIT is true) happens inside an
6412        UNWIND-PROTECT cleanup and therefore needs to explicitly allow
6413        interrupts.
6414
64152006-05-19 15:06  gb
6416
6417        * level-0/l0-aprims.lisp: Add SEMAPHOREP, make it a type-predicate
6418        for SEMAPHORE.
6419
64202006-05-19 12:23  gwking
6421
6422        * lib/misc.lisp: Added help and redisplay to select-item-from-list.
6423        Also changed it so that it displays all items before trying to get
6424        an answer.
6425
64262006-05-19 12:00  gwking
6427
6428        * .cvsignore: The *fsl wasn't cutting it for me..., take two
6429
64302006-05-19 11:57  gwking
6431
6432        * .cvsignore: The *fsl wasn't cutting it for me...
6433
64342006-05-19 11:50  gb
6435
6436        * level-1/version.lisp: Bump.
6437
64382006-05-19 11:49  gb
6439
6440        * level-1/l1-streams.lisp: Change the EVAL-WHEN that requires
6441        syscall definitions so that it can be moused on.
6442
64432006-05-19 11:48  gb
6444
6445        * compiler/X86/X8664/: x8664-arch.lisp, x8664-vinsns.lisp:
6446        .SPeabi-syscall -> .SPsyscall.
6447
64482006-05-19 11:45  gb
6449
6450        * compiler/X86/x862.lisp: Inline ADD2, unless we know that at least
6451        one arg couldn't be a fixnum.  (Should do the same for SUB2.) This
6452        does indeed burn cache lines, but going out of line isn't cheap
6453        either.  (100 million iterations of (+ x (+ y z)) - where X Y and Z
6454        are in fact fixnums and no overflow is involved - seems to be about
6455        2X faster when inlined this way.  Not sure if that'll be the case
6456        on PPC.)
6457
64582006-05-19 11:40  gb
6459
6460        * compiler/nx0.lisp: Use NX-TARGET-TYPE in some of the acode-type
6461        stuff.
6462
64632006-05-18 14:47  gb
6464
6465        * lisp-kernel/ppc-spentry.s: When unwinding the stack (hopefully,
6466        in all places that do so ...), update tcr.xframe from
6467        catch_frame.xframe on all execution paths (in particular, do so
6468        before SP is restored from the catch_frame, since a tcr.xframe
6469        "beyond" SP is clearly bogus.)
6470
64712006-05-18 02:34  gb
6472
6473        * level-1/version.lisp: Bump.
6474
64752006-05-17 23:12  gb
6476
6477        * compiler/PPC/ppc2.lisp: "late" acode-type stuff (add2/sub2/mul2)
6478        for PPC, too.
6479
64802006-05-17 22:53  gb
6481
6482        * level-0/X86/x86-float.lisp: %FP-ERROR-FROM-STATUS: don't cons an
6483        &REST arg.  Should do a quicker test (logandc2 and a shift) to see
6484        if any unmasked exceptions were raised before even calling this ...
6485
64862006-05-17 22:51  gb
6487
6488        * compiler/X86/X8664/x8664-vinsns.lisp: If we have to spill
6489        SINGLE-FLOAT registers, spill them (boxed) on the vstack.
6490
64912006-05-17 22:50  gb
6492
6493        * compiler/X86/x862.lisp: Work harder to find acode types in some
6494        cases.
6495
64962006-05-17 22:50  gb
6497
6498        * compiler/X86/x86-disassemble.lisp: Handle (new-style) byte
6499        registers in OP-REG.
6500       
6501        Don't want to use RET very often if at all, but disassembler should
6502        treat as as a :JUMP.
6503
65042006-05-17 22:48  gb
6505
6506        * compiler/nxenv.lisp: MUL2, DIV2.
6507
65082006-05-17 22:48  gb
6509
6510        * compiler/: nx0.lisp, nx1.lisp: A little of that there
6511        type-inferencing (or, more accurately, paying a little more
6512        attention here and there.)
6513
65142006-05-12 20:40  gwking
6515
6516        * examples/addressbook.lisp: added examples/addressbook.lisp
6517
65182006-05-11 18:42  gb
6519
6520        * level-1/l1-application.lisp: Stop processing command-line
6521        arguments when "--" is encountered; anything after that "--" is
6522        retained in CCL:*UNPROCESSED-COMMAND-LINE-ARGUMENTS*.
6523
65242006-05-11 18:42  gb
6525
6526        * lib/ccl-export-syms.lisp: Export command-line stuff
6527
65282006-05-11 18:40  gb
6529
6530        * level-1/l1-processes.lisp: Lennart Staflin's fix to PRINT-OBJECT
6531        method for LOCKs.
6532
65332006-05-11 18:39  gb
6534
6535        * level-1/l1-files.lisp: In %DIFECTORY-LIST-NAMESTRING: all strings
6536        are base-strings (and always have been in OpenMCL.)
6537
65382006-05-11 18:37  gb
6539
6540        * level-1/l1-sockets.lisp: CCL:BASE-CHARACTER -> CL:BASE-CHAR.
6541
65422006-05-11 08:11  gwking
6543
6544        * lib/db-io.lisp: Added a check that the directory exists to
6545        fid-open-output in order to make it clearer what is wrong when one
6546        is unable to rebuild interface files because they are trying to do
6547        so in a place without FFI files to read!
6548
65492006-05-11 05:14  gb
6550
6551        * level-1/version.lisp, lisp-kernel/image.h, xdump/heap-image.lisp:
6552        Bump lisp-implementation-version, image-abi-version.
6553
65542006-05-11 05:04  gb
6555
6556        * xdump/faslenv.lisp: Bump (min) fasl version.
6557
65582006-05-11 04:52  gb
6559
6560        * lib/nfcomp.lisp: Bump (current) FASL version.
6561
65622006-05-11 04:52  gb
6563
6564        * level-1/l1-files.lisp: FASL-FILE-P looks for inital #xFF00
6565        (big-endian) instead of just #xff, to avoid UTF-16 BOM confusion.
6566
65672006-05-11 04:35  gb
6568
6569        * xdump/faslenv.lisp: Bump (max) fasl version.
6570
65712006-05-11 04:32  gb
6572
6573        * compiler/X86/X8664/x8664-backend.lisp: Little-endianness is a
6574        target-specific feature.
6575
65762006-05-11 03:35  gb
6577
6578        * compiler/PPC/PPC32/ppc32-arch.lisp,
6579        compiler/PPC/PPC32/ppc32-vinsns.lisp, level-0/l0-array.lisp,
6580        level-0/l0-pred.lisp, level-0/PPC/ppc-array.lisp,
6581        level-1/l1-aprims.lisp, level-1/l1-clos-boot.lisp,
6582        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
6583        lisp-kernel/ppc-spentry.s, xdump/xppcfasload.lisp: Juggle PPC32
6584        typecodes around: get rid of the (unused) old 16-bit string; add an
6585        (as yet unused) UCS-4 string type.
6586       
6587        These changes generally involve cross-compilation (or some very
6588        tricky bootstrapping that I didn't attempt)  FASL versions and
6589        kernel ABI versions will need to change, and new binaries will be
6590        made available soon.
6591
65922006-05-10 20:20  gb
6593
6594        * compiler/PPC/ppc-lapmacros.lisp,
6595        compiler/PPC/PPC32/ppc32-arch.lisp,
6596        compiler/PPC/PPC32/ppc32-vinsns.lisp,
6597        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s:
6598        Change CHARCODE-SHIFT constant on PPC32, so that the (currently
6599        8-bit) character code is stored in the #x0000xx00 byte of a
6600        CHARACTER, rather than in the #x00xx0000 byte,  This is hard to
6601        bootstrap natively (which is why I was trying to make ppc64->ppc32
6602        cross-compilation work.)
6603       
6604        Change related macros/visnsns as well.
6605
66062006-05-10 19:00  gb
6607
6608        * xdump/xppcfasload.lisp: Reintroduce a TARGET-ARCH-CASE, but I
6609        think that this is just hard to do right the way that it's being
6610        done.
6611
66122006-05-10 18:59  gb
6613
6614        * level-1/ppc-threads-utils.lisp: BOGUS-THING-P is hard to do right
6615        when cross-compiling (because word-size differences aren't handled
6616        correctly by macros.)  Until the macros are fixed, don't even try
6617        ...
6618
66192006-05-10 18:58  gb
6620
6621        * level-1/l1-clos-boot.lisp: In NEW-CLASS-WRAPPER-HASH-INDEX, user
6622        target::target-most-positive-fixnum (not the host's
6623        MOST-POSITIVE-FIXNUM).
6624
66252006-05-10 18:57  gb
6626
6627        * compiler/: nx0.lisp, nx1.lisp: Use NX-TARGET-TYPE in at least a
6628        few places.
6629
66302006-05-10 18:56  gb
6631
6632        * compiler/nx.lisp: XCOMPILE-LAMBDA binds *TARGET-BACKEND*.
6633
66342006-05-10 18:55  gb
6635
6636        * compiler/nx-basic.lisp: NX-TARGET-TYPE: there may be other
6637        differences between host and target types, but try to turn
6638        references to FIXNUM to the appropriate target-specific type.
6639
66402006-05-09 21:01  gb
6641
6642        * compiler/PPC/PPC32/ppc32-vinsns.lisp: UNBOX-BASE-CHAR just checks
6643        that the lowbyte is SUBTAG-CHARACTER; it used to rotate things
6644        around to check the high bits of the char code, but all chars have
6645        been base-chars for several years now ...
6646       
6647        UNBOX-CHARACTER was unused.
6648       
6649        (This is the first step of what may be several bootstrapping steps
6650        to change PPC32::CHARCODE-SHIFT from 16 to 8, so that we have 24
6651        easily-accessed char-code bits on PPC32.)
6652
66532006-05-09 11:48  gb
6654
6655        * lisp-kernel/xlbt.c: No psn in cs_area.
6656
66572006-05-09 02:42  gb
6658
6659        * lisp-kernel/: gc.h, ppc-gc.c: Back out of the extra Boolean arg
6660        to mark_simple_area_range().
6661
66622006-05-09 02:33  gb
6663
6664        * compiler/PPC/: PPC32/ppc32-backend.lisp,
6665        PPC64/ppc64-backend.lisp: Endianness is also target-specific.
6666
66672006-05-09 02:25  gb
6668
6669        * lisp-kernel/thread_manager.c: Thread stack areas are "owned by"
6670        the containing TCR, to make low-level debugging a bit easier.
6671
66722006-05-09 02:25  gb
6673
6674        * lisp-kernel/ppc-gc.c: Mostly some added consistency/sanity checks
6675        and debugging printfs.
6676
66772006-05-09 02:24  gb
6678
6679        * lisp-kernel/ppc-exceptions.h: Note that pc_luser_xp() needs an
6680        extra (signed_natural *) arg, for allocptr displacement.
6681
66822006-05-09 02:23  gb
6683
6684        * lisp-kernel/ppc-exceptions.c: Lots of #ifdef DEBUG fprintfs.
6685       
6686        Change the way that pc_luser_xp() and normalize_tcr() handle alloc
6687        regs/ saved TCR fields.  The general idea is that the after they
6688        run, all threads have tcr->save_allocptr/tcr_save_allocbase set to
6689        VOID_ALLOCPTR; if the thread was interrupted in lisp code, the
6690        allocbase register will be set to VOID_ALLOCPTR and allocptr will
6691        be set to either VOID_ALLOCPTR or to VOID_ALLOCPTR-disp.
6692       
6693        On an interrupt, the caller needs to pass in a signed_natural * to
6694        pick up the allocptr displacement (if consing was interrupted at
6695        the alloc trap); the interrupt handler uses this value to fix up
6696        alloptr when it returns if consing was interrupted.
6697       
6698        This is all pretty clearly right, but something still goes wrong
6699        under some combination of high thread stress, frequent allocation,
6700        and blocking ff-calls.
6701
67022006-05-09 02:17  gb
6703
6704        * lisp-kernel/plbt.c: No psn currently available.
6705
67062006-05-09 02:16  gb
6707
6708        * lisp-kernel/lisp-debug.c: Bug() passes xp to lisp_Debugger(),
6709        where it may come in handy ...
6710
67112006-05-09 02:16  gb
6712
6713        * lisp-kernel/gc.h: mark_simple_area_range() takes an added Boolean
6714        arg.
6715
67162006-05-09 02:13  gb
6717
6718        * lisp-kernel/area.h: area struct's owner is a (TCR *).
6719
67202006-05-09 02:12  gb
6721
6722        * level-1/l1-error-system.lisp: $xfunbnd was used after all.
6723        Restore it.
6724
67252006-05-09 02:12  gb
6726
6727        * level-0/l0-error.lisp, library/lispequ.lisp,
6728        lisp-kernel/errors.s: $xfunbnd was used after all.  Restore it, and
6729        recycle $XNOCDR.
6730
67312006-05-09 02:11  gb
6732
6733        * compiler/PPC/PPC64/ppc64-backend.lisp: :64-bit-target is ...
6734        target-specific.
6735
67362006-05-09 02:11  gb
6737
6738        * compiler/PPC/PPC32/ppc32-backend.lisp: :32-bit-target is ...
6739        target-specific.
6740
67412006-05-09 00:40  gb
6742
6743        * level-1/l1-lisp-threads.lisp: Foreign thread callback stuff moved
6744        here.
6745
67462006-05-09 00:39  gb
6747
6748        * level-1/x86-threads-utils.lisp: Support for BOGUS-THING-P on
6749        x8664.
6750
67512006-05-09 00:39  gb
6752
6753        * level-1/ppc-threads-utils.lisp: Move foreign-thread callback
6754        stuff up to l1-lisp-threads.lisp.
6755
67562006-05-08 22:58  gb
6757
6758        * lisp-kernel/ppc-spentry.s: misc_ref/misc_set jump tables on PPC64
6759        handle array and vector headers.
6760
67612006-05-08 22:57  gb
6762
6763        * library/lispequ.lisp: Synch errors $xbadvec, $xsetbadvec (neither
6764        of which should ever happen) with the kernel.
6765
67662006-05-08 22:56  gb
6767
6768        * level-1/l1-processes.lisp: %PROCESS-PRESET-INTERNAL doesn't need
6769        the TCR either.
6770
67712006-05-08 22:55  gb
6772
6773        * level-1/l1-error-system.lisp: $XFUNBND is no more.
6774
67752006-05-08 22:55  gb
6776
6777        * level-0/l0-error.lisp: Define the format strings for $xbadvec,
6778        $xsetbadvec.
6779
67802006-05-08 03:26  gb
6781
6782        * lisp-kernel/x86-spentry64.s: .SPstkconslist_star: ensure that
6783        flags are set to the result of decrementing %nargs at the end of
6784        the loop.
6785
67862006-05-08 03:25  gb
6787
6788        * level-1/x86-error-signal.lisp: uuo-error-udf: %err-disp-internal
6789        wants a list of condition args, not a single arg.
6790
67912006-05-08 03:24  gb
6792
6793        * level-1/l1-processes.lisp: %PROCESS-PRESET-INTERNAL doesn't need
6794        CS-AREA.
6795
67962006-05-08 03:23  gb
6797
6798        * level-0/X86/x86-symbol.lisp: %FUNCTION: signal error via
6799        uuo_error_udf, not as a type error.
6800
68012006-05-07 16:50  gb
6802
6803        * lib/describe.lisp: INSPECTOR objects haven't had FORWARDED-P
6804        slots in a long time (they probably haven't -needed- them in even
6805        longer; I think that this had to do with the old partial MOP.)
6806        Don't define the slot for FUNCTION-INSPECTOR, and don't call the
6807        accessor in STANDARD-OBJECT-SETF-LINE-N.
6808
68092006-05-07 04:39  gb
6810
6811        * x86-headers64/gtk2/: .cvsignore, C/.cvsignore, C/populate.sh: New
6812        file.
6813
68142006-05-07 04:34  gb
6815
6816        * lisp-kernel/: area.h, lisp_globals.h, memory.c, pmcl-kernel.c,
6817        thread_manager.c: Combine the AREA_LOCK and TCR_LOCK into a single
6818        lock (TCR_AREA_LOCK).  (This makes it a little harder to deadlock
6819        if code that wants both locks isn't careful to try to obtain them
6820        in some canonical order.)
6821
68222006-05-07 04:29  gb
6823
6824        * lib/x86-backtrace.lisp: Finally find those pesky registers.
6825
68262006-05-07 04:29  gb
6827
6828        * level-1/x86-threads-utils.lisp: Stub BOGUS-THING-P moves here.
6829
68302006-05-07 04:28  gb
6831
6832        * level-0/l0-cfm-support.lisp: FOREIGN-SYMBOL-ENTRY: return NIL if
6833        xFindSymbol/dlsym returns 0 on x8664.
6834
68352006-05-07 04:27  gb
6836
6837        * compiler/X86/: x86-lapmacros.lisp, X8664/x8664-vinsns.lisp: Use
6838        PSRLQ/PSLLQ for single-float boxing/unboxing.  (A few months ago,
6839        I'd mistakenly decided that it was faster to go through memory than
6840        to use these instructions.  It seems to actually be substantially
6841        slower, as one would expect.)
6842
68432006-05-07 04:25  gb
6844
6845        * compiler/X86/x86-asm.lisp: Add support for
6846        PSRLQ/PSRLDQ/PSLLQ/PSLLDQ (sse2 shifts.)
6847
68482006-05-07 04:21  gb
6849
6850        * library/hash-cons.lisp: Fix doc in comments.
6851
68522006-05-07 04:21  gb
6853
6854        * lib/ppc-backtrace.lisp: GET/SET-REGISTER-VALUE.
6855
68562006-05-07 04:20  gb
6857
6858        * lib/format.lisp: YES-OR-NO-P: bell goes to *QUERY-IO*.
6859
68602006-05-07 04:19  gb
6861
6862        * lib/backtrace-lds.lisp: Move GET/SET-REGISTER-VALUE to
6863        TARGET-backtrace.lisp.
6864
68652006-05-07 04:18  gb
6866
6867        * level-1/l1-lisp-threads.lisp: Move (implementation-dependent)
6868        BOGUS-THING-P to TARGET-thread-utils.lisp.
6869
68702006-05-07 04:17  gb
6871
6872        * level-1/ppc-threads-utils.lisp: Move (implementation-dependent)
6873        BOGUS-THING-P support here.
6874
68752006-05-07 04:16  gb
6876
6877        * level-1/l1-processes.lisp: Don't set "owner" field of tcr.cs_area
6878        to psn.
6879
68802006-05-06 15:27  gb
6881
6882        * compiler/nx1.lisp: Ash left by constant: prefer the fixnum case
6883        to the "natural" case.
6884
68852006-05-06 15:26  gb
6886
6887        * compiler/X86/x862.lisp: Pass the right number of args to
6888        NATURAL-SHIFT-LEFT and NATURAL-SHIFT-RIGHT.
6889
68902006-05-06 15:26  gb
6891
6892        * compiler/X86/X8664/x8664-vinsns.lisp: Indentation.
6893
68942006-05-06 02:09  gb
6895
6896        * lisp-kernel/thread_manager.c: Let's see: if thread X holds local
6897        A and tries to obtain lock B, and thread Y holds lock B and tries
6898        to obtain lock A, what is that a classic case of ?
6899       
6900        Try to avoid that classic deadlock case in shutdown_thread_tcr()
6901        when HAVE_TLS is in effect.  suspend_other_threads wants to hold
6902        two locks at the same time, and that's always a bit dangerous; it
6903        might be safer to merge TCR_LOCK and AREA_LOCK into a single lock
6904        that must be owned in order to manipulate either the tcr or area
6905        queues.
6906
69072006-05-06 02:04  gb
6908
6909        * level-1/linux-files.lisp: Make (%REALPATH "") behave like
6910        %REALPATH of the current directory namestring, as it does by
6911        default on some platforms (but not Linux.)
6912
69132006-05-05 20:08  gb
6914
6915        * compiler/X86/x862.lisp: x862-ff-call: really implement the
6916        simple-foreign-args stuff.  Box u64/s64, or don't ... but don't do
6917        the el-bizarro <- with a (temp) node target.
6918
69192006-05-05 20:06  gb
6920
6921        * lib/x86-backtrace.lisp: Get PC-FROM-XCF right (it needs to be
6922        relative to the tagged entrypoint, not to the start of the
6923        underlying function-vector.)
6924
69252006-05-05 13:24  gb
6926
6927        * lisp-kernel/x86-spentry64.s: Preserve NEXT-METHOD-CONTEXT when
6928        heap-consing an &REST arg.  (%allocptr and %next-method-context are
6929        the same register, so &rest clobbbers %next-method-context.)
6930       
6931        Could make separate entry points, so that this is only done when
6932        %next-method-context needs to be preserved ...
6933
69342006-05-05 13:21  gb
6935
6936        * level-0/X86/x86-def.lisp: Use RESERVED-FRAME-MARKER.
6937
69382006-05-05 02:23  gb
6939
6940        * freebsd-headers64/libc/C/populate.sh: New file.  Needs some work.
6941
69422006-05-05 02:23  gb
6943
6944        * freebsd-headers64/libc/: .cvsignore, C/.cvsignore: New file.
6945
69462006-05-05 01:37  gb
6947
6948        * level-1/version.lisp: Bump du jour.
6949
69502006-05-05 01:36  gb
6951
6952        * level-0/X86/x86-def.lisp: %FF-CALL: maintain the distinction
6953        between the first 6 words of the outgoing frame (from which GPRs
6954        will be loaded) and other words (which stay on the stack); after
6955        the first 8 FP args, floats have to be passed on the stack, even if
6956        there's still room in the first 6 words of the outgoing frame.
6957       
6958        Need to understand the struct-by-value rules better: can a struct
6959        be passed partly in registers and partly on the stack ? RTFM (or,
6960        in this case, TF ABI spec.)
6961
69622006-05-05 01:31  gb
6963
6964        * compiler/X86/x862.lisp: In X862-FF-CALL:  - the general integer
6965        case should store relative to "other-offset" (rather than   
6966        "gpr-offset") when more than 6 (not 8) GPR args have been passed. 
6967        - both the single and double-float cases were incrementing
6968        "other-offset"     twice when more than 8 FP args were involved.
6969        This had the effect of     storing floats into every other word and
6970        writing beyond the bounds of     the outgoing stack frame, possibly
6971        overwriting return addresses on the     foreign stack.
6972
69732006-05-04 23:12  gb
6974
6975        * level-1/l1-streams.lisp: James Bielman's fix to
6976        READ-TOPLEVEL-FORM (INPUT-STREAM) (EOF handling/peek-char.)
6977
69782006-05-04 18:30  gb
6979
6980        * compiler/X86/X8664/x8664-backend.lisp: When binding FP args,
6981        decrement FPR-ARG-OFFSET by 8, not -8.
6982       
6983        (This could cause values outside of the stack frame to be read, but
6984        I still haven't found what's writing beyond the frame bounds.)
6985
69862006-05-04 18:27  gb
6987
6988        * lib/x86-backtrace.lisp: If its argument is an exception callback
6989        frame, %CFP-LFUN tries to determine the relative PC associated with
6990        the frame's nominal function and return that as a second value
6991        (just as it does for a real frame.)
6992       
6993        I think that this should work a high percentage of the time, but
6994        callers should generally be prepared to deal with a NULL second
6995        return value from %CFP-LFUN.
6996
69972006-05-04 11:12  gb
6998
6999        * compiler/X86/X8664/x8664-backend.lisp: More callback issues:
7000        since we're using the same stack pointer to return values as we are
7001        to find arguments, don't try to "optimize" its initialization.
7002
70032006-05-03 18:52  gb
7004
7005        * compiler/X86/X8664/x8664-backend.lisp: Clean  up x8664 callbacks
7006        a little.  Don't coerce single float results to double; bind
7007        stack-ptr variable even if no args (might be a return value form
7008        that references it.) Failure to do the latter was creating a weird
7009        free variable reference that wasn't handled by the fasloader.
7010
70112006-05-03 18:50  gb
7012
7013        * level-0/nfasload.lisp: $fasl-vmksym-special wasn't implemented.
7014
70152006-05-03 18:49  gb
7016
7017        * lib/nfcomp.lisp: Indent a comment.
7018
70192006-05-03 18:16  gb
7020
7021        * compiler/X86/x862.lisp, level-0/X86/x86-def.lisp: In an %FF-CALL
7022        that might involve a variable-length arglist (at this level,
7023        always), set %rax to the number (0-8) of FP arguments passed in xmm
7024        registers.
7025
70262006-05-03 13:26  gb
7027
7028        * lisp-kernel/x86-exceptions.c: In find_foreign_rsp(), mask with
7029        ~15, not ~!5.  (This was causing segfaults on return from
7030        interrupts sometimes.)
7031
70322006-05-03 13:24  gb
7033
7034        * lib/backtrace.lisp: CLOSURE-CLOSED-OVER-VALUES, which is needed
7035        by SWANK/SLIME.
7036
70372006-05-03 13:23  gb
7038
7039        * lib/backtrace-lds.lisp: FRAME-SUPPLIED-ARGS, hopefully in a form
7040        that'll work on all platforms.  (Note that FRAME-SUPPLIED-ARGS
7041        seems to get many things wrong.)
7042
70432006-05-03 11:37  gb
7044
7045        * level-1/version.lisp: You mist have yesterday's version.
7046
70472006-05-03 11:37  gb
7048
7049        * level-0/X86/x86-def.lisp: Implement #'%FF-CALL.  Not too much
7050        LAP.
7051
70522006-05-03 11:36  gb
7053
7054        * level-0/l0-init.lisp: Put :X86-64 and :AMD64 on *FEATURES* if
7055        #+x8664-target.
7056
70572006-05-03 11:36  gb
7058
7059        * compiler/X86/X8664/x8664-vinsns.lisp: Bad typo in UNBOX-S64, and
7060        it can just check for a 2-digit bignum header if it has something
7061        of tag TAG-MISC.
7062
70632006-05-03 11:34  gb
7064
7065        * compiler/X86/x862.lisp: X862-COPY-REGISTER: handle :S64
7066        destinations.
7067
70682006-05-03 11:33  gb
7069
7070        * compiler/X86/x86-disassemble.lisp: Recognize
7071        uuo-error-eep-unresolved.
7072
70732006-05-02 18:07  gb
7074
7075        * level-1/version.lisp: Bump.
7076
70772006-05-02 18:07  gb
7078
7079        * lib/: backtrace-lds.lisp, describe.lisp: Comment out stuff that's
7080        (mostly ?) unused and currently PPC-specific, if it works at all
7081        ...
7082
70832006-05-02 10:27  gb
7084
7085        * level-1/l1-streams.lisp: Don't definea STREAM-CLEAR-INPUT method
7086        for STRING-INPUT-STREAMs; it's not clear what such a method should
7087        do (and fairly clear that it shouldn't do what the previous
7088        definition was doing.)
7089
70902006-05-02 10:26  gb
7091
7092        * lib/format.lisp: clear input from *query-io*, not from
7093        *terminal-io* in YES-OR-NO-P, Y-OR-N-P
7094
70952006-05-02 10:26  gb
7096
7097        * library/hash-cons.lisp: x8664 lap
7098
70992006-05-02 10:26  gb
7100
7101        * lisp-kernel/x86-gc.c: hons area stuff
7102
71032006-04-29 09:14  gb
7104
7105        * lisp-kernel/x86-exceptions.c: Write-protect handlers for stack
7106        overflow (on value/temp stacks).
7107
71082006-04-29 09:13  gb
7109
7110        * level-1/x86-trap-support.lisp: Handle stack overflow in cmain
7111        callback.
7112
71132006-04-29 09:10  gb
7114
7115        * lisp-kernel/freebsd8664/Makefile: x86-gc.o.
7116       
7117        No linker script.
7118       
7119        Use -lthr, which offers 1:1 threads.
7120
71212006-04-29 09:09  gb
7122
7123        * lisp-kernel/lisptypes.h: Remove the __sighandler typedef.
7124
71252006-04-29 09:01  gb
7126
7127        * lisp-kernel/x86-exceptions.h: xpMMXreg for FreeBSD.
7128
71292006-04-29 09:00  gb
7130
7131        * lisp-kernel/x86-exceptions.c: Don't use __sighandler_t.  (See if
7132        anything cares ...)
7133
71342006-04-29 08:59  gb
7135
7136        * lisp-kernel/x86-constants64.h: FreeBSD register constants.
7137
71382006-04-29 08:58  gb
7139
7140        * lisp-kernel/lisp-debug.c: FreeBSD regiser names.
7141
71422006-04-29 08:58  gb
7143
7144        * lisp-kernel/area.h: Update IMAGE_BASE_ADDRESS for FreeBSD.
7145
71462006-04-28 21:28  gb
7147
7148        * level-1/version.lisp: bump.
7149
71502006-04-28 21:27  gb
7151
7152        * lib/backtrace.lisp: changes to print-call-history (and "internal"
7153        version).
7154
71552006-04-28 21:24  gb
7156
7157        * lib/ppc-backtrace.lisp: Fix typo.
7158
71592006-04-28 21:23  gb
7160
7161        * level-1/l1-readloop-lds.lisp: Add :NFRAMES break loop command.
7162       
7163        Change the command/keyword parser a little, so that :FOO is just
7164        :FOO and not (:FOO).
7165       
7166        Change :B break loop command (and :F) to allow focusing on a range
7167        of frames, and change PRINT-CALL-HISTORY to more easily support
7168        that.
7169
71702006-04-28 19:37  gb
7171
7172        * level-0/PPC/ppc-numbers.lisp: Remove a quote from a LAP
7173        LOAD-CONSTANT form.
7174
71752006-04-28 19:34  gb
7176
7177        * lib/: backtrace.lisp, ppc-backtrace.lisp, x86-backtrace.lisp:
7178        Factor out a little more.  Time to see what's broken on PPC ...
7179
71802006-04-28 19:34  gb
7181
7182        * level-1/: l1-readloop-lds.lisp, l1-streams.lisp: Make parens
7183        around colon-commands optional.
7184
71852006-04-28 04:11  gb
7186
7187        * lisp-kernel/linuxx8664/.gdbinit: 'lregs' calls the kernel
7188        debugger's register display code.
7189
71902006-04-28 04:11  gb
7191
7192        * lisp-kernel/xlbt.c: Don't claim that the (legitimate) last frame
7193        on the stack is bogus.
7194
71952006-04-28 04:10  gb
7196
7197        * lisp-kernel/x86-exceptions.c: Create fake stack frames (sort of
7198        ...) when calling back for an exception.
7199
72002006-04-28 03:36  gb
7201
7202        * lisp-kernel/x86-constants64.h: A few symbolic register names.
7203       
7204        xcf struct.
7205
72062006-04-28 03:36  gb
7207
7208        * library/lispequ.lisp: FAKE-STACK-FRAME is #+ppc-target.
7209
72102006-04-28 03:36  gb
7211
7212        * lib/x86-backtrace.lisp: Implemented some stuff.
7213       
7214        Backtrace (sort of) works on x8664 now; need to find register
7215        values,  hide tagged return addresses, a few other things.
7216
72172006-04-28 03:34  gb
7218
7219        * lib/ppc-backtrace.lisp: Stuff moved here from elsewhere.
7220
72212006-04-28 03:34  gb
7222
7223        * lib/backtrace-lds.lisp: LAST-CATCH-SINCE moved elsewhere.
7224
72252006-04-28 03:33  gb
7226
7227        * level-1/x86-trap-support.lisp: Flags register accessor.
7228       
7229        New exception callback scheme.
7230
72312006-04-28 03:33  gb
7232
7233        * level-1/x86-threads-utils.lisp: The lowlevel system keeps
7234        changing.
7235
72362006-04-28 03:32  gb
7237
7238        * level-1/x86-error-signal.lisp: New exception callback stuff.
7239
72402006-04-28 03:32  gb
7241
7242        * level-1/l1-readloop-lds.lisp: No fake stack frames on x86.
7243
72442006-04-28 03:32  gb
7245
7246        * level-1/l1-lisp-threads.lisp: Move more stuff to arch-specific
7247        files.
7248
72492006-04-28 03:31  gb
7250
7251        * level-1/l1-events.lisp: No fake-stack-frames on x86, but we do
7252        have exception callback frames ...
7253
72542006-04-28 03:30  gb
7255
7256        * level-1/l1-error-system.lisp: Tweak :report method for
7257        wrong-number-of-args errors.
7258
72592006-04-28 03:30  gb
7260
7261        * level-0/X86/x86-def.lisp: Implement APPLY+.
7262
72632006-04-28 03:29  gb
7264
7265        * compiler/X86/X8664/x8664-arch.lisp: eXception Callback Frame.
7266
72672006-04-28 03:27  gb
7268
7269        * compiler/X86/x86-lapmacros.lisp: Add missing IN-PACKAGE.
7270       
7271        CHECK-NARGS: don't enforce upper bound if it's null.
7272
72732006-04-28 03:17  gb
7274
7275        * compiler/X86/x86-arch.lisp: x86 xFLAGS bits.
7276
72772006-04-28 03:16  gb
7278
7279        * compiler/nx0.lisp: Allow (FUNCTION (SETF name)) in
7280        IGNORE/IGNORABLE/DYNAMIC-EXTENT declarations.
7281
72822006-04-26 14:18  gb
7283
7284        * compiler/nx0.lisp: Allow (SETF NAME) in DEFINE-COMPILER-MACRO.
7285
72862006-04-26 14:17  gb
7287
7288        * lib/misc.lisp: Disassemble is supposed to signal an error (or "be
7289        prepared" to do so) if its argument isn't a function designator, so
7290        don't quietly call METHOD-FUNCTION for the user.
7291
72922006-04-26 13:56  gb
7293
7294        * lib/encapsulate.lisp: Use REPLACE-FUNCTION-CODE (not (SETF (UVREF
7295        ...))) in ENCAPSULATE, REMOVE-ENCAPSULATION.
7296
72972006-04-26 03:59  gb
7298
7299        * lisp-kernel/: x86-spentry64.s, x86-subprims64.s: zero out the
7300        exception bits whenever mxcsr is stored in tcr.foreign_mxcsr, so no
7301        exceptions will be pending when we start an ff-call (and the mxcsr
7302        is loaded from that location.)
7303       
7304        tcr.ffi_exception will then contain non-zero exception bits iff the
7305        most recent ff-call raised a (probably masked) FP exception.
7306       
7307        TODO: make this reentrant (PROCESS-INTERRUPT should preserve this.)
7308
73092006-04-26 03:55  gb
7310
7311        * lisp-kernel/x86-constants.s: define mxcsr exception bits.
7312
73132006-04-26 03:23  gb
7314
7315        * lisp-kernel/x86-constants64.s: Update comment on
7316        tcr.ffi_exception.
7317
73182006-04-26 03:22  gb
7319
7320        * lisp-kernel/x86-spentry64.s: Maintain tcr.ffi_exception on return
7321        from ffcall.  (Should maybe clear exception bits on entry to
7322        foreign state, so we're sure that any exception bits set in the
7323        tcr.ffi_exception slot were caused by the most recent ff-call.)
7324
73252006-04-26 03:20  gb
7326
7327        * level-0/X86/x86-float.lisp: Check MXCSR status bits from last
7328        ffcall, compare them to unmasked exception bits in current MXCSR,
7329        maybe raise FP exception.  (Note: compile this change and rebuild
7330        image before making corresponding kernel change.)
7331
73322006-04-26 02:31  gb
7333
7334        * lisp-kernel/x86-spentry64.s: .SPbuiltin-logxor was calling out to
7335        LOGAND-2, not to LOGXOR-2.  Sheesh.
7336
73372006-04-26 02:01  gb
7338
7339        * compiler/X86/X8664/x8664-vinsns.lisp: %ILOGBITP treats "large"
7340        bit numbers as tests of the sign bit.   (This is probably best
7341        viewed as being "formally undefined", but it's not too expensive to
7342        check for that.  The case where the bit number's negative is
7343        definitely undefined; I think that it also gets treated as a test
7344        of the sign bit.)
7345
73462006-04-26 01:58  gb
7347
7348        * lisp-kernel/x86-spentry64.s: Logbitp calls out if bit number
7349        negative.
7350
73512006-04-26 01:32  gb
7352
7353        * lisp-kernel/x86-spentry64.s: If both args fixnums, handle bits >=
7354        61.  (Should check here for negative bit .)
7355
73562006-04-26 01:31  gb
7357
7358        * lisp-kernel/x86-exceptions.c: If we get the "no FP regs in
7359        context" error - which typically indicates a fault during exception
7360        processing - pass the context in to the kernel debugger.
7361
73622006-04-26 01:30  gb
7363
7364        * level-0/X86/x86-pred.lisp: Change EQL doc string.
7365
73662006-04-26 00:56  gb
7367
7368        * level-0/X86/x86-pred.lisp: EQL on two bignums works much better
7369        if it compares all corresponding digits, rather than repeatedly
7370        comparing the 0th digits N times ...
7371
73722006-04-25 17:38  gb
7373
7374        * lisp-kernel/x86-spentry64.s: _SPmvslide: skip the loop if nargs
7375        is 0, not if disp is 0.  ash: always make a signed integer out of
7376        the result,  since arg is always signed.
7377
73782006-04-25 17:37  gb
7379
7380        * level-0/X86/x86-float.lisp: Negate floats by fliping the sign
7381        bit, so (for instance) (- 0.0d0) is -0.0d0.
7382
73832006-04-25 17:36  gb
7384
7385        * level-0/X86/x86-hash.lisp: Hash bignums 32 bits (not 64!) at a
7386        time.
7387
73882006-04-25 17:35  gb
7389
7390        * compiler/X86/x862.lisp: %%INEG: need to ensure that source
7391        operand is in target reg (2-address issue.)
7392
73932006-04-24 16:42  gb
7394
7395        * lisp-kernel/x86-spentry64.s: How hard can misc_set_s32 be ?
7396        Apparently, pretty hard.  It was doing a logical shift right when
7397        typechecking the value, so negative values were rejected.
7398
73992006-04-24 16:41  gb
7400
7401        * lisp-kernel/x86-exceptions.c: Call out to handle SIGFPE.  cmain
7402        callback now takes a 'signo' argument.
7403
74042006-04-24 16:40  gb
7405
7406        * level-1/x86-trap-support.lisp: Initial support for handling
7407        arithmetic errors.  Will need more work to get operation and
7408        operands right.
7409
74102006-04-24 16:39  gb
7411
7412        * lib/compile-ccl.lisp: REBUILD-CCL: :reload arg defaults to T.
7413
74142006-04-24 13:58  gb
7415
7416        * level-1/x86-error-signal.lisp: SETQ (not #'SET) in the
7417        uuo-error-reg-not-type case.
7418
74192006-04-24 13:57  gb
7420
7421        * level-0/X86/x86-float.lisp: Generally want to use FPZERO, not
7422        FP0, for 0.0[d,f]0.  (One case wanted to use fp1, but that's
7423        another story.)
7424
74252006-04-24 13:55  gb
7426
7427        * compiler/X86/X8664/x8664-vinsns.lisp: REQUIRE-REAL,
7428        REQUIRE-NUMBER: mask wont fit in 32 bits.  OTOH, doesn't need to be
7429        boxed, either.
7430
74312006-04-24 12:02  gb
7432
7433        * lisp-kernel/x86-spentry64.s: misc_set_s32: register botch.
7434        _SPtcallnfngen: several bugs, which were already fixed in similar
7435        variants.
7436
74372006-04-24 12:01  gb
7438
7439        * lisp-kernel/x86-gc.c: Use FORCE_DWS_MARK to force use of the
7440        Deutch/Waite/Schorr marker.
7441
74422006-04-24 12:00  gb
7443
7444        * lisp-kernel/pmcl-kernel.c: Only turn on GC debug bit if
7445        GC_INTEGRITY_CHECKING is defined (e.g., in Makefile.)
7446
74472006-04-24 11:59  gb
7448
7449        * level-1/linux-files.lisp: Remove debugging FORMAT call.
7450
74512006-04-24 11:58  gb
7452
7453        * level-0/X86/x86-numbers.lisp: %ROUND-NEAREST-SHORT-FLOAT->FIXNUM:
7454        argument is a SINGLE/SHORT-FLOAT, so don't access as a
7455        DOUBLE-FLOAT.
7456
74572006-04-24 11:58  gb
7458
7459        * level-0/X86/x86-float.lisp: %MAKE-FLOAT-FROM-FIXNUMS: mask the
7460        high and low words of the mantissa, to ensure that no hidden bits
7461        are set.  (Some such bits were set, causing many double-float
7462        constansts - like MOST-POSITVE-DOUBLE-FLOAT - to be bogus NaNs).
7463
74642006-04-24 02:21  gb
7465
7466        * lisp-kernel/image.c: Expect a MANAGED_STATIC section in the
7467        image.
7468       
7469        (Don't expect it to have any contents yet; that'll require several
7470        more changes.   This is all intended to support PURIFY on x8664,
7471        where we'll want to ensure that any constant referenced by a
7472        function in readonly/pure memory has a fixed, static address.)
7473
74742006-04-24 02:14  gb
7475
7476        * lisp-kernel/image.h: Bump IMAGE_ABI_VERSION.  New managed_static
7477        section makes NUM_IMAGE_SECTIONS 4.
7478
74792006-04-24 02:13  gb
7480
7481        * lisp-kernel/area.h: Typo in the definition of
7482        AREA_MANAGED_STATIC.
7483
74842006-04-24 02:12  gb
7485
7486        * lisp-kernel/: pmcl-kernel.c, kernel-globals.h: Global pointers to
7487        more areas.
7488
74892006-04-24 02:12  gb
7490
7491        * lisp-kernel/ppc-exceptions.c: EGC write-barrier labels are the
7492        addresses of instructions (not pointers thereto ...)
7493
74942006-04-24 02:11  gb
7495
7496        * lisp-kernel/ppc-gc.c: Add conditionalization to force DWS marker
7497        (mostly so that I could step through it to remember how it worked
7498        ...).
7499
75002006-04-24 02:10  gb
7501
7502        * lisp-kernel/ppc-spentry.s: write-barrier exported symbols: remove
7503        indirection.
7504
75052006-04-24 02:09  gb
7506
7507        * lisp-kernel/x86-gc.c: Remove a sanity check.
7508
75092006-04-24 02:09  gb
7510
7511        * xdump/xfasload.lisp: Create (empty) managed-static section
7512        (mostly for x8664 PURIFY, but might be useful on PPC someday.)
7513
75142006-04-24 02:08  gb
7515
7516        * xdump/heap-image.lisp: New image-abi-version, for managed-static
7517        section.
7518
75192006-04-24 02:07  gb
7520
7521        * level-1/linux-files.lisp: GET-DESCRIPTOR-FOR: try not to leak
7522        fds, take CLOSE-ON-ERROR more seriously.
7523
75242006-04-24 02:06  gb
7525
7526        * compiler/PPC/ppc2.lisp: (eq %FOREIGN-STACK-POINTER
7527        %CURRENT-FRAME-PTR) on PPC32/64.
7528
75292006-04-24 00:50  gb
7530
7531        * level-1/version.lisp: Bump.  Getting there ...
7532
75332006-04-24 00:50  gb
7534
7535        * level-0/l0-misc.lisp: Use %GET-NATURAL where possible.
7536       
7537        Note that TCRs aren't guaranteed to be in the low 32 bits on x8664,
7538        so pass them as a pointer to avoid word-size issues.
7539
75402006-04-24 00:48  gb
7541
7542        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Implement
7543        things that had been missing.
7544
75452006-04-24 00:48  gb
7546
7547        * compiler/X86/x86-disassemble.lisp: Recognize recently-defined
7548        UUOs.
7549
75502006-04-24 00:48  gb
7551
7552        * compiler/X86/x86-backend.lisp: Fix FIXUP-OPCODE-ORDINALS (again).
7553
75542006-04-24 00:47  gb
7555
7556        * compiler/X86/x86-asm.lisp: UUO-ERROR-ARRAY-BOUNDS.
7557
75582006-04-24 00:47  gb
7559
7560        * compiler/PPC/PPC64/ppc64-vinsns.lisp: A little word-size cleanup.
7561
75622006-04-24 00:47  gb
7563
7564        * compiler/nxenv.lisp: %FOREIGN-STACK-POINTER.
7565
75662006-04-24 00:46  gb
7567
7568        * compiler/nx1.lisp: WITH-C-FRAME, WITH-VARIABLE-C-FRAME: use (new)
7569        %FOREIGN-STACK-POINTER, not %CURRENT-FRAME-PTR (differ on x8664;
7570        need to boostrap on PPC).
7571       
7572        Parse %FOREIGN-STACK-POINTER.
7573
75742006-04-22 03:30  gb
7575
7576        * lisp-kernel/thread_manager.c: If we're using thread-local-storage
7577        (HAVE_TLS is defined), make shutdow_thread_tcr() dequeue the tcr,
7578        because (a) nothing else will and (b) the tcr will likely become
7579        unmapped soon, and we don't want things that walk the tcr list to
7580        segfault.
7581
75822006-04-22 03:27  gb
7583
7584        * lisp-kernel/x86-exceptions.c: Something's clearly wrong in
7585        find_foreign_rsp; call Bug() and exit() if the context has no
7586        fpregs.  (That's a symptom, not the proble, but it's slightly
7587        better to do this than to double fault, which is what seems to be
7588        happening.)
7589
75902006-04-21 10:12  gb
7591
7592        * lisp-kernel/x86-exceptions.c: implement pc_luser_xp; just has to
7593        worry about consing, write-barrier stuff.
7594
75952006-04-21 10:11  gb
7596
7597        * lisp-kernel/x86-constants.h: Define X86 flags register bits
7598        (condition codes.)
7599
76002006-04-21 10:11  gb
7601
7602        * lisp-kernel/x86-exceptions.h: change the signature of pc_luser_xp
7603        (again.)
7604       
7605        Define enumeration constants for matching the instructions that can
7606        occur during consing.
7607
76082006-04-21 10:09  gb
7609
7610        * lisp-kernel/x86-spentry64.s: Preserve %temp0 in
7611        store_node_conditional, in case pc_luser_xp() needs to complete the
7612        memoization.
7613
76142006-04-21 02:50  gb
7615
7616        * lisp-kernel/x86-spentry64.s: Use only the value of the first
7617        instance of :ALLOW-OTHER-KEYS to determine whether unknown keys are
7618        allowed.
7619
76202006-04-21 02:49  gb
7621
7622        * lisp-kernel/lisp-debug.c: Tweak things so that %rip and %flags
7623        line up with GPRs.
7624
76252006-04-21 02:48  gb
7626
7627        * lib/sequences.lisp: SIMPLE-1D-ARRAY-SUBSEQ: 64-bit vector case is
7628        #+64-bit-target, not #+ppc64-target.
7629
76302006-04-21 02:47  gb
7631
7632        * level-0/X86/x86-array.lisp: %SIMPLE-BIT-BOOLE: shift by the right
7633        amount.
7634
76352006-04-21 02:46  gb
7636
7637        * level-0/l0-array.lisp: %UVECTOR-REPLACE: 64-bit vectors aren't
7638        unique to PPC64 (but do depend on #+64-bit-target).
7639
76402006-04-21 02:46  gb
7641
7642        * compiler/X86/x862.lisp: The binding(s) of *INTERRUPT-LEVEL*
7643        confuse PROGV; remove them, for now.
7644
76452006-04-20 23:35  gb
7646
7647        * lisp-kernel/x86-spentry64.s: In the bignum case of
7648        .SPinteger-sign, sign-extend the bignum's sign digit instead of ...
7649        whatever the code was trying to do there.
7650       
7651        In the lexpr-has-two-values case of .SPspread-lexprz, load arg_y
7652        and arg_z from the correct offsets within the lexpr.
7653
76542006-04-20 04:48  gb
7655
7656        * lisp-kernel/x86-gc.c: Get the link-inverting marker written;
7657        force it to always be used, for now.
7658
76592006-04-19 17:11  gb
7660
7661        * lisp-kernel/pmcl-kernel.c: (Very) different
7662        MAXIMUM_MAPPABLE_MEMORY for Solaris.
7663
76642006-04-19 17:10  gb
7665
7666        * lisp-kernel/area.h: (Very) different IMAGE_BASE_ADDRESS for
7667        Solaris.
7668
76692006-04-19 00:35  gb
7670
7671        * lisp-kernel/x86-gc.c: Write a few paragraphs outlining how the
7672        reversing-pointer marker should work.  (Perhaps it's a strong
7673        argument for implementing "purify" soon.)
7674
76752006-04-19 00:34  gb
7676
7677        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
7678        function-boundary-marker.
7679
76802006-04-19 00:33  gb
7681
7682        * lisp-kernel/macros.h: Add node_aligned and indirect_node macros.
7683
76842006-04-18 19:35  gb
7685
7686        * lisp-kernel/x86-spentry64.s: Comparison was backwards in
7687        multiple-value case of THROW: don't want to do unbind_to if tcr's
7688        db-link matches target catch frame's.
7689
76902006-04-18 19:33  gb
7691
7692        * lisp-kernel/x86-uuo.s: Add UUO-ERROR-DEBUG-TRAP, remove
7693        UUO-ERROR-STACK-OVERFLOW.  Still need to get this completely in
7694        synch with x86-asm.
7695
76962006-04-18 19:33  gb
7697
7698        * level-1/l1-readloop-lds.lisp: Say more about the availability of
7699        :R in break messages.
7700       
7701        Say more about :C in :R.
7702
77032006-04-18 19:32  gb
7704
7705        * level-1/l1-readloop.lisp: Remove the #+x86-target debugging code
7706        in QUIT's PROCESS-INTERRUPT call, since the closure- trashing bug
7707        seems to have been fixed.
7708
77092006-04-18 19:31  gb
7710
7711        * level-1/x86-error-signal.lisp: Recognize (uuo-error-not-tag %rn
7712        x8664::subtag-catch-tag) as CANT-THROW-ERROR.  (Yes, this is a
7713        horrible kludge, but it only happens once.)
7714
77152006-04-18 19:19  gb
7716
7717        * level-1/l1-processes.lisp: Remove the #+x86-target debugging code
7718        in PROCESS-EXIT-APPLICATION, since the closure- trashing bug seems
7719        to have been fixed.
7720
77212006-04-18 19:18  gb
7722
7723        * level-0/X86/x86-pred.lisp: EQL on bignums wasn't using
7724        X8664::MISC-DATA-OFFSET, so it was comparing a few bytes beyond the
7725        ends of its arguments and ignoring the first few bytes (as well as
7726        doing misaligned memory references.)
7727
77282006-04-18 19:16  gb
7729
7730        * level-0/X86/x86-def.lisp: Insert the PPC version of APPLY+ here.
7731        This'll require some thought, mostly because of the reserved-frame
7732        issue(s).
7733
77342006-04-18 06:21  gb
7735
7736        * lisp-kernel/ppc-constants32.s: Comment mishaps.  These wacky
7737        adventures are about to end, I'm afraid.
7738
77392006-04-18 06:04  gb
7740
7741        * level-1/version.lisp: Daily bump.
7742
77432006-04-18 05:59  gb
7744
7745        * level-1/l1-sockets.lisp: Comment indentation.
7746
77472006-04-18 05:56  gb
7748
7749        * level-0/PPC/ppc-def.lisp: Move APPLY+ here.
7750
77512006-04-18 05:55  gb
7752
7753        * lib/setf-runtime.lisp: Move APPLY+ (which is defined in LAP) to
7754        ppc-def (that means that there will need to be an APPLY+ for
7755        x8664).
7756
77572006-04-18 05:38  gb
7758
7759        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Try to get the
7760        compiler and x8664-vinsn-templates to agree on vinsn-names and
7761        implement some vinsns that had been missing.  (About 15 or so
7762        undefined vinsns remain.)
7763
77642006-04-18 05:37  gb
7765
7766        * compiler/X86/x86-backend.lisp: The mechanism that tries to fixup
7767        opcode ordinals in vinsn templates (e.g., in case new instructions
7768        are defined in the assembler) wasn't checking to see if vinsn
7769        templates named in the hash table were defined.  (It was apparently
7770        getting away with this because CONSP was broken.)  So, don't try to
7771        fixup opcode ordinals in NIL, and optionally report templates
7772        that're referenced but not defined.
7773
77742006-04-18 04:38  gb
7775
7776        * compiler/X86/x862.lisp: CONSP was using the EXTRACT-FULLTAG vinsn
7777        (which only sets the low 8 bits of its destination), then comparing
7778        all 64-bits of the destination to a zero-extended 32-bit constant.
7779        (E.g., CONSP had little chance of being right all other things
7780        being equal, but may have been right more than one in 2^56 times if
7781        some random preceding instruction had zeroed the upper 56 bits.)
7782       
7783        (It's also shorter to do an 8-bit compare.)
7784
77852006-04-18 03:11  gb
7786
7787        * level-0/X86/x86-hash.lisp: box-fixnum arg order in %DFLOAT-HASH.
7788
77892006-04-18 02:51  gb
7790
7791        * compiler/X86/X8664/x8664-vinsns.lisp: Now that all assemblers are
7792        happy (well, as happy as they're going to be ...), back to finding
7793        bugs.  MULTIPLY-FIXNUMS has to unbox one arg (the source).
7794
77952006-04-18 01:26  gb
7796
7797        * lisp-kernel/thread_manager.c: Some Solaris changes.
7798
77992006-04-18 00:48  gb
7800
7801        * lisp-kernel/solarisx64/Makefile: The version of gm4 that Sun
7802        installs in /usr/sfw/bin is both newer and buggier than the version
7803        available on the "Solaris Companion" disk, which gets installed in
7804        /opt/sfw/bin.
7805       
7806        Ordinarily, I'd wonder why a "companion" disk offers to install
7807        software that's bundled as part of the installation (especially old
7808        versions of that software.)  Now I know.
7809
78102006-04-18 00:45  gb
7811
7812        * lisp-kernel/x86-spentry64.s: # __line__ wasn't a comment.
7813
78142006-04-18 00:45  gb
7815
7816        * lisp-kernel/m4macros.m4: Fix changecom.
7817
78182006-04-18 00:11  gb
7819
7820        * lisp-kernel/x86-spentry64.s: x8664 linux as doesn't like typos,
7821        but is otherwise fine with single-line /* */.
7822
78232006-04-18 00:09  gb
7824
7825        * lisp-kernel/: errors.s, imports.s, lisp.s, m4macros.m4,
7826        ppc-asmutils.s, ppc-constants.s, ppc-constants32.s,
7827        ppc-constants64.s, ppc-macros.s, ppc-spentry.s, ppc-spjump.s,
7828        ppc-subprims.s, ppc-uuo.s, x86-asmutils64.s, x86-constants.s,
7829        x86-constants64.s, x86-macros.s, x86-spentry64.s, x86-spjump64.s,
7830        x86-subprims64.s, x86-uuo.s, darwinppc/Makefile,
7831        darwinppc64/Makefile: Whoops.  Darwin as doesn't like #.  I dont
7832        like Darwin as, but we're back to single-line /* */, which is often
7833        pretty ugly and not well-supported by Emacs.
7834
78352006-04-17 23:23  gb
7836
7837        * lisp-kernel/: errors.s, imports.s, lisp.s, m4macros.m4,
7838        ppc-asmutils.s, ppc-constants.s, ppc-constants32.s,
7839        ppc-constants64.s, ppc-uuo.s, x86-asmutils64.s, x86-constants.s,
7840        x86-constants64.s, x86-macros.s, x86-spjump64.s, x86-subprims64.s,
7841        x86-uuo.s: Use #/newline for comment delimiters, which is supported
7842        by Emacs and by all current GAS versions (but see ARM conventions.)
7843         No more jerking around with this, knock wood.
7844
78452006-04-17 23:23  gb
7846
7847        * lisp-kernel/x86-spentry64.s: _SPspread_lexprz wasn't handling the
7848        case where caller provided args before the lexpr, which is much
7849        harder than the simple case.
7850       
7851        Use #/newline for comment delimiters, which is supported by Emacs
7852        and by all current GAS versions (but see ARM conventions.)  No more
7853        jerking around with this, knock wood.
7854
78552006-04-17 23:20  gb
7856
7857        * level-0/X86/x86-numbers.lisp: %FIXNUM-GCD was horrible, espcially
7858        when numbers differed greatly in magnitude.  Current (binary)
7859        algorithm is usually OK.
7860
78612006-04-17 23:17  gb
7862
7863        * compiler/X86/x86-lap.lisp: Condition name should be
7864        UNDEFINED-X86-LAP-LABEL, since it's (a) referenced and (b) that's
7865        not the problem.  Name wasn't spelled correctly in code that
7866        signals the condition, anyway.
7867
78682006-04-17 16:34  gb
7869
7870        * lisp-kernel/x86-exceptions.c: pc_luser_xp always takes a tcr
7871        argument, takes a new boolean to distinguish current tcr from
7872        others.  (The current tcr is only lusered on an interrupt; others
7873        are only lusered on GC entry.)
7874
78752006-04-17 16:33  gb
7876
7877        * lisp-kernel/x86-exceptions.h: X86 prototype for pc_luser_xp moved
7878        here.  (No deep reason not to share the new x86 signature on all
7879        architectures.)
7880
78812006-04-17 16:32  gb
7882
7883        * lisp-kernel/ppc-exceptions.h: PPC prototype for pc_luser_xp moved
7884        here.  (No deep reason not to share the new x86 signature on all
7885        architectures.)
7886
78872006-04-17 16:31  gb
7888
7889        * lisp-kernel/lisp-exceptions.h: prototype for pc_luser_xp is
7890        platform-dependent.
7891
78922006-04-17 06:49  gb
7893
7894        * level-1/l1-readloop.lisp: In the closure created in QUIT, only do
7895        CCL::DBG if (a) we're on X86 and (b) the inner closure is bad
7896        already.
7897
78982006-04-17 06:17  gb
7899
7900        * lisp-kernel/lisptypes.h: Don't know if there's such a thing as
7901        truly portable type name.
7902
79032006-04-17 06:16  gb
7904
7905        * lisp-kernel/: errors.s, lisp.s, m4macros.m4, x86-constants.s,
7906        x86-constants64.h, x86-constants64.s, x86-exceptions.c,
7907        x86-exceptions.h, x86-gc.c, x86-macros.s, x86-spentry64.s,
7908        x86-spjump64.s, x86-uuo.s: Well, // style comments seem to only
7909        work if they're at the start of a line in Linux GAS.  Try /* */
7910        comments, but limit them to a single line.  (May ultimately be
7911        better to use m4 dnl - carefully - and avoid end-of-line comments.)
7912
79132006-04-17 05:28  gb
7914
7915        * lisp-kernel/: x86-macros.s, x86-spentry64.s, x86-spjump64.s,
7916        x86-subprims64.s, x86-uuo.s: // comments.
7917
79182006-04-17 05:28  gb
7919
7920        * lisp-kernel/x86-gc.c: timeradd, timersub.  Other Solaris
7921        conditionalization.
7922
79232006-04-17 05:27  gb
7924
7925        * lisp-kernel/x86-exceptions.h: Solaris-related changes (xp
7926        accessors, etc.)
7927
79282006-04-17 05:26  gb
7929
7930        * lisp-kernel/x86-exceptions.c: Solaris-related changes (mostly in
7931        the sigstack trampoline stuff.)
7932
79332006-04-17 05:25  gb
7934
7935        * lisp-kernel/x86-constants64.h: // comments, Solaris-friendly
7936        integer types.
7937
79382006-04-17 05:24  gb
7939
7940        * lisp-kernel/: x86-asmutils64.s, x86-constants.s,
7941        x86-constants64.s: // comments.
7942
79432006-04-17 05:23  gb
7944
7945        * lisp-kernel/pmcl-kernel.c: Some Solaris conditionalization.
7946        Solaris mmap() is ... unusual.
7947
79482006-04-17 05:21  gb
7949
7950        * lisp-kernel/m4macros.m4: Use C++-style single-line comments,
7951        since Solaris version of GAS doen't handle multi-line comments (/*
7952        ... */).  It -seems- that other assemblers do handle them
7953        correctly; we'll see.
7954       
7955        Some Solaris conditionalization (ELFstabs, etc.)
7956
79572006-04-17 05:20  gb
7958
7959        * lisp-kernel/lisptypes.h: Conditionalize for Solaris (type names).
7960         We'll see what this breaks.
7961
79622006-04-17 05:19  gb
7963
7964        * lisp-kernel/lisp.h: PLATFORM_OS is PLATFORM_OS_SOLARIS when
7965        SOLARIS is defined.
7966
79672006-04-17 05:18  gb
7968
7969        * lisp-kernel/lisp-debug.c: Solaris conditionalization; print
7970        registers in predictable order.
7971
79722006-04-17 05:17  gb
7973
7974        * lisp-kernel/: errors.s, imports.s, lisp.s: Use C++-style
7975        single-line comments, since Solaris version of GAS doen't handle
7976        multi-line comments (/* ... */).  It -seems- that other assemblers
7977        do handle them correctly; we'll see.
7978
79792006-04-17 05:15  gb
7980
7981        * lisp-kernel/area.h: IMAGE_BASE_ADDRESS for SolarisX64.  Wrong.
7982
79832006-04-17 05:15  gb
7984
7985        * lisp-kernel/Threads.h: Conditionalize for Solaris.
7986       
7987        TODO: drop Jaguar support, use POSIX (vice Mach) semaphores on all
7988        platforms ?
7989
79902006-04-17 05:01  gb
7991
7992        * lisp-kernel/solarisx64/Makefile: new file
7993
79942006-04-17 04:56  gb
7995
7996        * lisp-kernel/linuxx8664/Makefile: Make it a little easier to
7997        change the name/usage of the linker script.
7998       
7999        Stop using the linker script (since spjump is the only thing in the
8000        kernel that has to be at a fixed address and we can copy it there.)
8001       
8002        Don't disable the EGC.
8003
80042006-04-17 04:54  gb
8005
8006        * lisp-kernel/x86-spjump64.s: Define spjump_start as the origin of
8007        the spjump table, exported for C (so that spjump can be mapped into
8008        low memory.)
8009
80102006-04-17 04:54  gb
8011
8012        * lisp-kernel/x86-spentry64.s: Use reserved_frame_marker.
8013       
8014        If the tlb's too small when trying to bind a special, push the
8015        binding index of the symbol we're binding (for the benefit of the
8016        handler.)
8017
80182006-04-17 04:52  gb
8019
8020        * lisp-kernel/x86-gc.c: Check for cases where a function has more
8021        code words than it has elements (can't happen, unless the
8022        function's code-words word is garbage, which seems to happen when
8023        closures get consed up in non-zeroed memory.)
8024       
8025        Make sure that we mark and forward Itemp2 (= %rcx = %temp2 =
8026        %nargs.q), which sometimes contains something tagged and
8027        non-immediate.
8028
80292006-04-17 04:48  gb
8030
8031        * lisp-kernel/x86-exceptions.c: new_heap_segment() (slowly) checks
8032        to ensure that everythings's zeroed.
8033       
8034        x8664 implementation of extend_tcr_tlb().
8035       
8036        on a gc trap, use tcr->save_allocptr (not the random value in %rbx)
8037        in call to update_bytes_allocated().
8038       
8039        normalize_tcr() - alway set tcr->save_allocptr/tcr->save_allocbase
8040        to VOID_ALLOCPTR (I -think- that this explains the crash-on-quit
8041        bug, and possibly some other instabiliy.)
8042       
8043        handle_exception: keep trying to guess how to distinguish memory
8044        faults from other sources of SIGSEGV.
8045       
8046        On debug traps, advance the PC past the UUO before entering the
8047        debugger.
8048       
8049        Handle XUUO_TLB_TOO_SMALL.
8050
80512006-04-17 04:42  gb
8052
8053        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
8054        reserved_frame_marker.
8055
80562006-04-17 04:42  gb
8057
8058        * lisp-kernel/thread_manager.c: Remove implementation of
8059        extend_tcr_tlb().
8060
80612006-04-17 04:41  gb
8062
8063        * lisp-kernel/ppc-exceptions.h: Prototype for PPC version of
8064        extend_tcr_tlb().
8065
80662006-04-17 04:41  gb
8067
8068        * lisp-kernel/ppc-exceptions.c: PPC version of extend_tcr_tlb().
8069
80702006-04-17 04:40  gb
8071
8072        * lisp-kernel/pmcl-kernel.c: Remap the spjump table on x8664, so
8073        that we don't need to use a linker script.
8074
80752006-04-17 04:40  gb
8076
8077        * lisp-kernel/Threads.h: extend-tcr-tlb: signature defined by
8078        target xxx-exceptions.h now.
8079
80802006-04-17 04:39  gb
8081
8082        * lib/misc.lisp: Some comment formatting/editing.
8083
80842006-04-17 04:38  gb
8085
8086        * level-1/version.lisp: Bump.
8087
80882006-04-17 04:38  gb
8089
8090        * level-1/l1-readloop.lisp: Some debugging code in the code which
8091        creates the final closure.  It seems that when it's bad, it's bad
8092        on creation (here.)
8093
80942006-04-17 04:37  gb
8095
8096        * level-1/l1-processes.lisp: Some debugging code in
8097        PROCESS-EXIT-APPLICATION, to try to catch whatever's causing the
8098        final closure to be trashed.
8099       
8100        I don't think that other threads were getting their allocptr's
8101        nullified correctly by the GC/normalize_tcr(); with the current
8102        debugging code in place, it seems like the closure is consed on top
8103        of something other than free, thread-private heap memory (when it's
8104        bad, it fails the first check here.  I'm not sure that the latest
8105        round of GC/normalize-tcr() changes have fixed the problem, but I
8106        haven't seen it in a while now, either.)
8107
81082006-04-17 04:32  gb
8109
8110        * level-0/X86/x86-def.lisp: %FUNCTION-CODE-BYTE (for partial
8111        disassembly, etc.).
8112
81132006-04-17 04:31  gb
8114
8115        * compiler/X86/X8664/x8664-vinsns.lisp: Use RESERVED-FRAME-MARKER
8116        in RESERVE-OUTGOING-FRAME; don't use ENSURE-RESERVED-FRAME at all
8117        (anymore.)
8118       
8119        Subprims are down in low memory again; make INIT-CLOSURE skip
8120        setting the high byte of .SPcall-closure's address if it's zero.
8121
81222006-04-17 04:28  gb
8123
8124        * compiler/X86/X8664/x8664-arch.lisp: Define RESERVED-FRAME-MARKER,
8125        which may help backtrace.
8126
81272006-04-17 04:26  gb
8128
8129        * lib/: backtrace.lisp, ppc-backtrace.lisp: Split up RAW-FRAME-REF
8130        (interface/implementation.)
8131
81322006-04-15 09:20  gb
8133
8134        * level-1/x86-callback-support.lisp: Ensure that callback
8135        trampolines are allocated in executable memory.
8136
81372006-04-15 09:12  gb
8138
8139        * lib/dumplisp.lisp: Refresh external entry points before reviving
8140        callbacks.  Reset callback storage before reviving callbacks.
8141
81422006-04-15 09:10  gb
8143
8144        * level-1/x86-error-signal.lisp: Don't prefix the unknown trap
8145        error message with a %.  (Where did that come from ?)
8146
81472006-04-15 09:08  gb
8148
8149        * level-1/ppc-callback-support.lisp: Don't (knock wood) need to do
8150        anything in RESET-CALLBACK-STORAGE for PPC, since malloc()ed memory
8151        is executable.
8152
81532006-04-14 09:02  gb
8154
8155        * lib/time.lisp: Jeez.  Save buffer, why dontcha.
8156
81572006-04-14 08:21  gb
8158
8159        * lib/time.lisp: ENCODE-UNIVERSAL-TIME: treat year 0-99 as
8160        shorthand for the nearest matching year.
8161
81622006-04-14 08:20  gb
8163
8164        * lib/format.lisp: FORMAT-PRINT-NUMBER was printing commas even
8165        when : was missing.
8166
81672006-04-13 23:09  gb
8168
8169        * lib/ppc-backtrace.lisp: Eschew missing parens.
8170
81712006-04-13 23:08  gb
8172
8173        * lib/describe.lisp: Change NTH-VALUE-IN-FRAME call.
8174
81752006-04-13 23:08  gb
8176
8177        * lib/backtrace.lisp: DBG-FORM checks the second return value from
8178        ARGLIST-FROM-MAP.
8179
81802006-04-13 23:02  gb
8181
8182        * lib/arglist.lisp: Don't pass a "conser" function around (the idea
8183        is leftover from 68K MCL).  ARGLIST-FROM-MAP tries to be consistent
8184        about returning a second value; returns values NIL, T for functions
8185        that take no args and don't have a symbol map.
8186
81872006-04-13 22:53  gb
8188
8189        * level-1/l1-lisp-threads.lisp: Try to make args to
8190        NTH-VALUE-IN-FRAME et al a little saner.
8191
81922006-04-13 22:37  gb
8193
8194        * lib/numbers.lisp: Conditionalize on word size, not PPC processor
8195        type.
8196
81972006-04-13 22:36  gb
8198
8199        * level-1/version.lisp: Bump.
8200
82012006-04-13 22:35  gb
8202
8203        * level-1/l1-aprims.lisp: Remove the DBG trap from #'APPLY.  Still
8204        trying to find the cause of the crash-on-quit bug.
8205
82062006-04-13 07:30  gb
8207
8208        * lib/ppc-backtrace.lisp: Migrate some stuff here.
8209
82102006-04-13 07:29  gb
8211
8212        * level-1/l1-lisp-threads.lisp, lib/backtrace.lisp: Migrate some
8213        stuff to target-backtrace.
8214
82152006-04-13 06:45  gb
8216
8217        * lisp-kernel/x86-gc.c: mark_root: need to handle TRAs earlier.
8218
82192006-04-13 06:44  gb
8220
8221        * lisp-kernel/pmcl-kernel.c: Set GC debug bits manually here on
8222        x8664.
8223
82242006-04-13 06:44  gb
8225
8226        * level-1/x86-error-signal.lisp: XP-ARGUMENT-LIST: only the low 13
8227        bytes of %nargs_q contain arg count.
8228
82292006-04-13 06:43  gb
8230
8231        * level-1/l1-error-system.lisp: No EVAL-PROGRAM-ERROR. Please.
8232
82332006-04-13 06:43  gb
8234
8235        * level-1/l1-aprims.lisp: Trying to find what's (sometimes)
8236        trashing a closure during QUIT; embed a #+x86-target breakpoint in
8237        APPLY.
8238
82392006-04-13 06:42  gb
8240
8241        * level-0/X86/x86-numbers.lisp: Bad typo in %FIXNUM-GCD.
8242
82432006-04-13 06:41  gb
8244
8245        * compiler/X86/x862.lisp: Lap expression changes; recycle constant
8246        operands.
8247
82482006-04-13 06:41  gb
8249
8250        * compiler/X86/x86-lap.lisp: Freelist a lot of things; use
8251        "vector-lists" instead of adjustable arrays, simplify handling of
8252        constant expressions.  Still conses hysterically; need to find out
8253        where and tone it down a bit, if possible.
8254
82552006-04-13 06:39  gb
8256
8257        * compiler/X86/x86-disassemble.lisp: Maybe no lap immediate
8258        operands; maybe no lap constant-expressions.
8259
82602006-04-13 06:39  gb
8261
8262        * compiler/X86/x86-asm.lisp: Don't need
8263        *lap-constant-0-expression*.
8264
82652006-04-13 00:46  gb
8266
8267        * lisp-kernel/linuxx8664/Makefile: Kernel depends on Makefile,
8268        linker script.
8269
82702006-04-13 00:45  gb
8271
8272        * lisp-kernel/linuxx8664/elf_x86_64.x: Use linker script from ld
8273        2.16.1 (Thanks to James Bielman).
8274
82752006-04-12 18:53  gb
8276
8277        * lisp-kernel/linuxx8664/elf_x86_64.x: Try to avoid use of
8278        PROVIDE_HIDDEN, since some versions of GNU ld don't like it.  (Most
8279        of this seems to have to do with C++ static constructors, which
8280        aren't really relevant here.)
8281
82822006-04-12 18:28  gb
8283
8284        * lisp-kernel/x86-spentry64.s: Use movd (not movq) when moving
8285        between %Rforeign_sp and GPRs.
8286
82872006-04-12 18:22  gb
8288
8289        * lisp-kernel/linuxx8664/Makefile: egc flag
8290
82912006-04-12 18:08  gb
8292
8293        * lisp-kernel/x86-gc.c: Add current/prev (temporarily) to help find
8294        where we're losing here.
8295
82962006-04-12 18:07  gb
8297
8298        * lisp-kernel/x86-exceptions.c: pc_luser_xp: notice if we're in the
8299        write barrier code, crap out if so.
8300
83012006-04-12 18:06  gb
8302
8303        * lisp-kernel/pmcl-kernel.c: Disable EGC if DISABLE_EGC is defined
8304        (presumably in a Makefile).
8305
83062006-04-12 14:50  gb
8307
8308        * level-1/version.lisp: Bump.
8309
83102006-04-12 14:46  gb
8311
8312        * lib/: compile-ccl.lisp, ppc-backtrace.lisp, systems.lisp,
8313        x86-backtrace.lisp: new target backtrace stuff.
8314
83152006-04-12 14:45  gb
8316
8317        * lib/backtrace.lisp: Start splitting things up, ideally into a
8318        mostly abstract API and gory platform- dependent implementation
8319        details.
8320
83212006-04-11 21:40  gb
8322
8323        * lisp-kernel/pmcl-kernel.c: Only way to stress-test EGC is to turn
8324        the damned thing on.  (A little painful with integrity checking
8325        enabled, as it still is by default.)
8326       
8327        TODO:
8328       
8329        - sleep (me) - non-recursive (link-inverting) marker - pc-lusering
8330        (pc_luser_xp()) - backtrace - ANSI CL tests - purify - 2d-aref - FP
8331        exception handling - check UUO usage in kernel, disassembler,
8332        exception handlers - stack overflow recovery
8333
83342006-04-11 21:24  gb
8335
8336        * lisp-kernel/x86-gc.c: Skip over function code in
8337        check_refmap_consistency.
8338
83392006-04-11 21:23  gb
8340
8341        * lisp-kernel/x86-spentry64.s: Write barrier memoization sets bits
8342        backwards.
8343
83442006-04-11 19:11  gb
8345
8346        * compiler/X86/x862.lisp: Change LABELS for new closure format.
8347
83482006-04-11 19:11  gb
8349
8350        * lisp-kernel/x86-spentry64.s: 3 words of code + inner function in
8351        a closure, no lfname slot in closure.
8352
83532006-04-11 16:29  gb
8354
8355        * lisp-kernel/linuxx8664/.gdbinit: ada  prints active dynamic (GC)
8356        area.
8357
83582006-04-11 16:29  gb
8359
8360        * lisp-kernel/x86-subprims64.s: Maintain the MXCSR on transitions
8361        between lisp/foreign code.
8362
83632006-04-11 16:29  gb
8364
8365        * lisp-kernel/x86-spentry64.s: Add write barrier stuff (may have
8366        bit-order problems.)
8367       
8368        Maintain the MXCSR on transitions between lisp/foreign code.
8369
83702006-04-11 16:28  gb
8371
8372        * lisp-kernel/x86-macros.s: Access globals in expressions.
8373
83742006-04-11 16:27  gb
8375
8376        * lisp-kernel/x86-gc.c: Start to implement EGC for X8664; this'll
8377        need some bootstrapping stuff (function boundary markers) for a few
8378        reasons, as will DWS marker.
8379
83802006-04-11 16:27  gb
8381
8382        * lisp-kernel/x86-exceptions.c: If we get an FP exception, report
8383        the siginfo error code.
8384
83852006-04-11 16:26  gb
8386
8387        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Define MXCSR
8388        fields in tcr.
8389
83902006-04-11 16:25  gb
8391
8392        * lisp-kernel/x86-constants.h: Define MXCSR bits.
8393
83942006-04-11 16:25  gb
8395
8396        * lisp-kernel/thread_manager.c: Setup the MXCSR somewhat sanely
8397        when starting a lisp thread.  (It'll be saner when FP exceptions
8398        are handled.)
8399
84002006-04-11 16:24  gb
8401
8402        * level-1/x86-error-signal.lisp: Recognize what complaints about
8403        non-uvectors are trying to tell us.
8404
84052006-04-11 16:23  gb
8406
8407        * level-1/l1-io.lisp: PRINT-OBJECT method for TRAs, symbol/function
8408        vectors.
8409
84102006-04-11 16:23  gb
8411
8412        * level-1/l1-clos-boot.lisp: Spell TAGGED-RETURN-ADDRESS with more
8413        Ses.  Define classes for function/symbol vectors.
8414
84152006-04-11 16:22  gb
8416
8417        * level-0/X86/x86-def.lisp: %RETURN-ADDRESS-OFFSET.
8418
84192006-04-11 16:21  gb
8420
8421        * compiler/X86/X8664/x8664-vinsns.lisp: Closure initialization
8422        needs to add a function boundary marker (but we can stop padding
8423        each closure with a null function name slot.)
8424
84252006-04-11 16:20  gb
8426
8427        * compiler/X86/X8664/x8664-arch.lisp: Define
8428        FUNCTION-BOUNDARY-MARKER, which should never exist in the wild.
8429
84302006-04-11 16:19  gb
8431
8432        * compiler/X86/x862.lisp: Emit a function boundary marker between
8433        code and constants. (For GC reasons.) Change closure initialization
8434        to account for it.
8435
84362006-04-11 16:18  gb
8437
8438        * compiler/X86/x86-lap.lisp: Emit a function boundary marker
8439        between code and constants. (For GC reasons.)
8440
84412006-04-11 16:17  gb
8442
8443        * compiler/X86/x86-disassemble.lisp: Require more stuff.
8444
84452006-04-11 16:17  gb
8446
8447        * compiler/nxenv.lisp: Require X8664ENV on X8664.
8448       
8449        See if we can get by without 68K condition code ...
8450
84512006-04-11 06:53  gb
8452
8453        * lisp-kernel/x86-exceptions.c: We'll need to handle FP exceptions
8454        soon.
8455
84562006-04-11 06:53  gb
8457
8458        * lib/numbers.lisp: Infinity constants conditionalized on/off
8459        during MXCSR adventures.  On now.
8460
84612006-04-11 06:52  gb
8462
8463        * lib/describe.lisp: Comment indentation.
8464       
8465        No such thing as an interpreted function; hasn't been for years.
8466
84672006-04-11 06:51  gb
8468
8469        * level-1/x86-threads-utils.lisp: Fixup lfun bits of %FIXNUM-SET et
8470        al.
8471
84722006-04-11 06:51  gb
8473
8474        * level-1/version.lisp: Bumped yesterday.
8475
84762006-04-11 06:50  gb
8477
8478        * level-1/l1-error-signal.lisp: Comments.
8479
84802006-04-11 06:50  gb
8481
8482        * level-1/l1-clos-boot.lisp: CLASS-OF handles non-simple vectors,
8483        at least.
8484
84852006-04-11 06:50  gb
8486
8487        * level-0/X86/x86-float.lisp: MXCSR stuff.  Better, mostly because
8488        a fixnum constant is boxed in %SET-MXCSR.
8489
84902006-04-11 06:49  gb
8491
8492        * level-0/X86/x86-def.lisp: Get info about register usage.
8493
84942006-04-11 06:49  gb
8495
8496        * compiler/X86/X8664/x8664-vinsns.lisp: Natural arithmetic; start
8497        work on 2d aref.  Fix MISC-SET-U64 (or some flavor thereof), which
8498        though that it was dealing with a scaled index.
8499
85002006-04-11 06:48  gb
8501
8502        * compiler/X86/x862.lisp: Natural arithmetic; start work on 2d
8503        aref.
8504
85052006-04-11 06:48  gb
8506
8507        * compiler/X86/x86-lap.lisp: FRAGs are freelisted.  Really need to
8508        do something about FRAG-CODE-BUFFERs, and need to tone down
8509        expression overkill.
8510
85112006-04-11 06:46  gb
8512
8513        * compiler/X86/x86-backend.lisp: Vinsn template fixup mechanism,
8514        for when opcode ordinals change.
8515
85162006-04-11 06:46  gb
8517
8518        * compiler/X86/x86-asm.lisp: UUO-ERROR-STACK-OVERFLOW ->
8519        UUO-ERROR-ARRAY-RANK.
8520       
8521        Vinsn template fixup mechanism, for when opcode ordinals change.
8522
85232006-04-11 06:45  gb
8524
8525        * compiler/X86/x86-arch.lisp: Try to unscramble MXCSR bits/masks.
8526
85272006-04-11 06:45  gb
8528
8529        * compiler/nx0.lisp: NX-U31-CONSTANT-P.
8530
85312006-04-11 06:44  gb
8532
8533        * compiler/dll-node.lisp: WITH-DLL-NODE-FREELIST: syntax to allow
8534        specialized list header initialization.
8535
85362006-04-11 06:43  gb
8537
8538        * level-1/l1-error-system.lisp, compiler/arch.lisp: Type errors for
8539        2d float arrays.
8540
85412006-04-10 10:19  gb
8542
8543        * lisp-kernel/x86-spentry64.s: _SPcallback is now called with the
8544        foreign SP properly obeying C alignment conventions.  In order to
8545        get it aligned for lisp usage during the callback, an extra word
8546        needs to be pushed before the backpointer to the old foreign RSP.
8547
85482006-04-10 10:18  gb
8549
8550        * lisp-kernel/x86-exceptions.c: Ensure that the copied sigcontext
8551        is 16-byte aligned, so that the foreign stack pointer is aligned
8552        according to C conventions when we enter the signal handler on that
8553        stack.
8554
85552006-04-10 10:13  gb
8556
8557        * lib/numbers.lisp: Define FP infinities, since we're running with
8558        FP exceptions masked. (We don't handle FP exceptions on X8664 yet,
8559        but this was crashing due to ldmxcsr/stmxcsr confusion, not because
8560        an unmasked FP exception was raised and unhandled.)
8561
85622006-04-10 10:10  gb
8563
8564        * lib/level-2.lisp: Remove the WARN and the conditionalization
8565        around bit/bitfield accessors on X8664.
8566
85672006-04-10 10:09  gb
8568
8569        * level-0/X86/x86-float.lisp: Repeat after me: to load the mxcsr
8570        from memory, we say "ldmxcsr".  We want to do such a load in order
8571        to write new values into the mxcsr.  To store it in memory, we say
8572        "stmxcsr".  We want to do such a store (and a subsequent load from
8573        memory) in order to access the value of the mxcsr.  Simple, no ?
8574
85752006-04-10 10:07  gb
8576
8577        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp:
8578        %GET-BIT/%SET-BIT.
8579
85802006-04-10 08:29  gb
8581
8582        * compiler/X86/X8664/x8664-vinsns.lisp: Float
8583        addition/multiplication: either arg can overlap result (and often
8584        will).  Float subtraction/division: caller should ensure that
8585        result and second arg are disjoint.
8586
85872006-04-10 08:27  gb
8588
8589        * compiler/X86/x862.lisp: Float arithmetic is two-address; ensure
8590        that result doesn't overlap second argument for non-commutative
8591        operations.
8592
85932006-04-10 08:26  gb
8594
8595        * lisp-kernel/lisp-debug.c: Show FPRs on LinuxX8664.
8596
85972006-04-10 05:12  gb
8598
8599        * lisp-kernel/thread_manager.c: Don't free dead TCRs if we didn't
8600        malloc them.
8601
86022006-04-10 05:12  gb
8603
8604        * lib/compile-ccl.lisp: REBUILD-CCL paramaters for :LINUXX8664.
8605
86062006-04-10 05:11  gb
8607
8608        * level-1/l1-pathnames.lisp: No need to reference PPC package, and
8609        good reason not to.
8610
86112006-04-10 04:39  gb
8612
8613        * xdump/xfasload.lisp: signed 32-bit, 64-bit integers in fasl files
8614        are always big-endian.
8615
86162006-04-10 04:38  gb
8617
8618        * lisp-kernel/x86-gc.c: mark_root(): if we're marking a function
8619        reachable via a TRA, update the variable "dnode" so that the
8620        correct bits get set.
8621
86222006-04-10 04:37  gb
8623
8624        * level-0/X86/X8664/x8664-bignum.lisp: Remove some breakpoints.
8625
86262006-04-10 04:37  gb
8627
8628        * level-0/X86/x86-array.lisp: %SIMPLE-BIT-BOOLE.  Could stand to be
8629        a bit simpler.
8630
86312006-04-10 04:36  gb
8632
8633        * level-0/l0-hash.lisp: Whoops: %SET-NEEDS-REHASHING is called from
8634        the MAKE-LOAD-FORM method for hashtables.
8635
86362006-04-09 09:17  gb
8637
8638        * lisp-kernel/thread_manager.c: Inflate control stack size on
8639        x8664, until DWS marker works (and do so correctly this time).
8640
86412006-04-09 09:12  gb
8642
8643        * lisp-kernel/thread_manager.c: Inflate control stack size on
8644        x8664, until DWS marker works.
8645
86462006-04-09 09:09  gb
8647
8648        * level-0/l0-hash.lisp: Now that bitvectors work, remove
8649        #+x86-target DBG trap.
8650
86512006-04-09 08:57  gb
8652
8653        * level-0/l0-hash.lisp: Set/clear rehash bits via SBIT, not AREF.
8654        (Should be exactly the same code, but may not have been 15 years
8655        ago or whenever this was written.)
8656
86572006-04-09 08:56  gb
8658
8659        * lisp-kernel/x86-spentry64.s,
8660        compiler/X86/X8664/x8664-vinsns.lisp: Clear bits in a bit vector
8661        via btrX (Bit Test and Reset), not btcX (Bit Test and Complement.)
8662
86632006-04-09 03:52  gb
8664
8665        * lisp-kernel/x86-macros.s: Parens around negative displacement in
8666        condition_to_boolean.  Not clear why this is necessary, but it
8667        seems to be.
8668
86692006-04-09 03:24  gb
8670
8671        * lisp-kernel/x86-macros.s: Use shorter sequence in
8672        condition_to_boolean.
8673
86742006-04-09 02:32  gb
8675
8676        * compiler/X86/X8664/x8664-vinsns.lisp: Using cmovCC intstead of
8677        setCC for cr-bit->boolean is 1 instruction and 2 bytes shorter, all
8678        other things being equal.
8679
86802006-04-09 01:37  gb
8681
8682        * compiler/X86/x86-asm.lisp: reg/reg variants of bsfX, bsrX had
8683        operands backwards.
8684
86852006-04-09 01:37  gb
8686
8687        * compiler/optimizers.lisp: Comment formatting.
8688
86892006-04-09 01:29  gb
8690
8691        * level-0/X86/X8664/x8664-bignum.lisp: %BIGNUM-SIGN-DIGITS:
8692        bsr/xorl != clz when (zerop n).
8693
86942006-04-08 21:25  gb
8695
8696        * lisp-kernel/x86-exceptions.c: Forget about blocking SIGINT in
8697        current thread before entering kernel debugger.
8698
86992006-04-08 21:21  gb
8700
8701        * lib/compile-ccl.lisp: early def of XLOAD-LEVEL-0: require
8702        (TARGET-XLOAD-MODULES).
8703
87042006-04-08 21:21  gb
8705
8706        * lisp-kernel/x86-spentry64.s: misc_set_s16: forgot a lognot.
8707
87082006-04-08 21:20  gb
8709
8710        * level-0/nfasload.lisp: 64-bit vectors: target::, not ppc64::.
8711
87122006-04-08 20:46  gb
8713
8714        * lib/foreign-types.lisp: Add missing paren ...
8715
87162006-04-08 20:45  gb
8717
8718        * lib/foreign-types.lisp: Recognize a :struct-by-value case.
8719
87202006-04-08 20:44  gb
8721
8722        * compiler/X86/X8664/x8664-backend.lisp: X8664 ABI seems to pass
8723        structs by value, sort of.
8724
87252006-04-08 20:43  gb
8726
8727        * x86-headers64/libc/C/populate.sh: Add -D_GNU_SOURCE to CFLAGS.
8728
87292006-04-08 20:42  gb
8730
8731        * library/hash-cons.lisp: Port some of this to x8664; need to add
8732        code to maintain "used" bitmap.
8733
87342006-04-08 20:42  gb
8735
8736        * lib/numbers.lisp: Conditionalize out the FP infinity stuff in the
8737        short term.
8738
87392006-04-08 20:41  gb
8740
8741        * lib/edit-callers.lisp: %MAP-LFIMMS: lfun-vector changes.  Should
8742        someday fix this crap.
8743
87442006-04-08 20:40  gb
8745
8746        * lib/describe.lisp: Conditionalize, a little.
8747
87482006-04-08 20:40  gb
8749
8750        * lib/db-io.lisp: SAVE-DB-FUNCTION appears to be unused.
8751
87522006-04-08 20:39  gb
8753
8754        * level-1/l1-io.lisp: PRINT-A-NAN not #+ppc-target.
8755
87562006-04-08 20:39  gb
8757
8758        * level-1/l1-readloop-lds.lisp: Error reentry stuff here.
8759
87602006-04-08 20:39  gb
8761
8762        * level-1/l1-sockets.lisp: Workaround ffi translator lossage in
8763        _inet_ntoa (just as Darwin has for years; why not fix this ?)
8764
87652006-04-08 20:38  gb
8766
8767        * level-1/ppc-trap-support.lisp: Error-reentry stuff to
8768        l1-readloop-lds (nothing to do with PPC or traps ...)
8769
87702006-04-08 20:37  gb
8771
8772        * .cvsignore: Ignore *CL*/*cl*, not necessarily *CCL*/*ccl*.
8773
87742006-04-08 04:46  gb
8775
8776        * compiler/X86/x862.lisp: X862-MVCALL needs to always save and
8777        restore, even if there's only one values-producing form (that form
8778        might produce more values than will fit in argument registers, and
8779        we therefore have to reserve space for a stack frame.)
8780
87812006-04-08 04:45  gb
8782
8783        * compiler/X86/x86-asm.lisp: Need to actually define INSERT-IMM64.
8784
87852006-04-08 04:43  gb
8786
8787        * lib/macros.lisp: Scanning backwards for instructions depends on a
8788        reasonable architecture.
8789
87902006-04-08 04:43  gb
8791
8792        * lib/compile-ccl.lisp: TARGET-XLOAD-MODULES for x8664.
8793
87942006-04-08 04:42  gb
8795
8796        * xdump/xfasload.lisp: Hide ppc32 double-float-vector stuff in
8797        target arch.
8798
87992006-04-08 04:41  gb
8800
8801        * xdump/.cvsignore: ignore *.*fsl
8802
88032006-04-07 22:46  gb
8804
8805        * compiler/nx.lisp: XCOMPILE-LAMBDA is #+ppc-target for now.
8806
88072006-04-07 22:45  gb
8808
8809        * compiler/nx1.lisp: Provide an FTYPE declaration for
8810        %DEFINE-PPC-LAP-FUNCTION.
8811
88122006-04-07 22:25  gb
8813
8814        * level-1/version.lisp: Bump.
8815
88162006-04-07 22:19  gb
8817
8818        * compiler/PPC/ppc-asm.lisp, compiler/PPC/ppc-backend.lisp,
8819        compiler/PPC/ppc-disassemble.lisp, compiler/PPC/ppc-lap.lisp,
8820        lib/backtrace-lds.lisp: ARCH::OPCODE, ARCH::OPERAND moved to CCL
8821        package.
8822
88232006-04-07 22:18  gb
8824
8825        * compiler/risc-lap.lisp: OPCODE, OPERAND moved here and from
8826        arch:: to ccl::.
8827
88282006-04-07 22:17  gb
8829
8830        * compiler/arch.lisp: OPERAND, OPCODE belong elsewhere (in
8831        RISC-LAP, for instance).  That's a different package, too.
8832
88332006-04-07 20:46  gb
8834
8835        * library/lispequ.lisp: %CONS-FAKE-STACK-FRAME here.  Really.
8836
88372006-04-07 20:45  gb
8838
8839        * level-0/l0-pred.lisp: *IMMHEADER-1-TYPES* was wrong, too.  Should
8840        I maybe look at the others, or just fix them as I stumble on them ?
8841
88422006-04-07 20:44  gb
8843
8844        * compiler/X86/X8664/x8664-vinsns.lisp: jns->jne when checking for
8845        a DOUBLE-FLOAT.
8846
88472006-04-07 20:41  gb
8848
8849        * level-0/nfasload.lisp: Print file pos in FASL-DISPATCH debug
8850        message.
8851
88522006-04-07 20:40  gb
8853
8854        * lib/nfcomp.lisp: #+x8664: Check for fulltag-immheader-1, not
8855        fulltag-immheader-0 twice in fasl-scan-dispatch
8856       
8857        FASL-DUMP-SYMBOL needs a SYMPTR->SYMVECTOR.  (Note that FASLOAD has
8858        never handled uninterned symbols that need a binding index.)
8859
88602006-04-07 07:55  gb
8861
8862        * lib/describe.lisp: Formatting changes, mostly.
8863
88642006-04-07 07:54  gb
8865
8866        * compiler/X86/x862.lisp: multiple-value-calls need to reserve an
8867        outgoing stack frame when more than 3 args/ values are involved.
8868
88692006-04-07 07:53  gb
8870
8871        * lisp-kernel/x86-spentry64.s, lisp-kernel/x86-spjump64.s,
8872        compiler/X86/X8664/x8664-arch.lisp,
8873        compiler/X86/X8664/x8664-vinsns.lisp: _SPrecover-values-for-mvcall
8874        (reserves outgoing frame if necessary.)
8875
88762006-04-07 07:52  gb
8877
8878        * level-1/ppc-trap-support.lisp: %CONS-FAKE-STACK-FRAME moved to
8879        lispequ.
8880
88812006-04-07 06:28  gb
8882
8883        * compiler/X86/X8664/x8664-vinsns.lisp: pop argument regs in the
8884        right order.
8885
88862006-04-07 06:27  gb
8887
8888        * level-0/X86/x86-misc.lisp: VALUES accounts for reserved frame.
8889
88902006-04-07 03:59  gb
8891
8892        * compiler/X86/x862.lisp: Don't push the function on the "value"
8893        stack when doing a MULTIPLE-VALUE-CALL, since its presence there
8894        can interfere with multiple-value continuations.  (Can it be popped
8895        before recovering multiple values ?  I didn't think of that, but I
8896        suspect that that'd be simpler than what I did; check this.  Maybe
8897        there is -or once was- an issue with _SPrecovervalues bashing a
8898        register.)
8899       
8900        Pushing the function on the temp stack while collecting multiple
8901        values avoids the issue (but it may be far better to simply vpop it
8902        before the call to _SPrecovervalues.)
8903       
8904        Most of the issues related to X862-MVCALL calling itself
8905        recursively have to do with cleaning the function off of the stack
8906        in non tail-call cases.  Since the function's not there anymore,
8907        the rationale for splitting this into a base and recursive case
8908        isn't very strong.
8909       
8910        Changes in X862-MVCALL exposed bugs in X862-INVOKE-FN: we don't
8911        want to emit or otherwise reference the mvpass label if it's null.
8912
89132006-04-07 03:51  gb
8914
8915        * compiler/X86/X8664/x8664-vinsns.lisp: TEMP-PUSH-NODE,
8916        TEMP-POP-NODE.
8917
89182006-04-06 21:27  gb
8919
8920        * lib/db-io.lisp: CDB-HASH-MASK happens to be =
8921        PPC32::TARGET-MOST-POSITIVE-FIXNUM.
8922
89232006-04-06 21:26  gb
8924
8925        * level-1/x86-trap-support.lisp: Bugs, not worth describing in
8926        detail.
8927
89282006-04-06 21:25  gb
8929
8930        * level-1/x86-error-signal.lisp: Bugs, not worth describing in
8931        detail ...
8932
89332006-04-06 21:24  gb
8934
8935        * level-1/l1-lisp-threads.lisp: Simplify CFP-LFUN.
8936
89372006-04-06 21:23  gb
8938
8939        * compiler/X86/X8664/x8664-backend.lisp: Fenceposts with the last
8940        gpr/fpr args.
8941
89422006-04-06 21:22  gb
8943
8944        * compiler/X86/X8664/x8664-arch.lisp: tcr->linear_end ->
8945        tcr->save_rbp.
8946
89472006-04-06 21:21  gb
8948
8949        * lisp-kernel/x86-spentry64.s: Maintain tcr->save_rbp on
8950        ffcall/callback.
8951
89522006-04-06 21:20  gb
8953
8954        * lisp-kernel/x86-exceptions.c: Setup tcr->save_rbp when doing a
8955        callback.
8956       
8957        Pass rpc to %ERR-DISP, as it expects.
8958
89592006-04-06 21:19  gb
8960
8961        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
8962        tcr->linear_end -> tcr->save_rbp.
8963
89642006-04-06 07:03  gb
8965
8966        * lisp-kernel/x86-exceptions.c: Call out to handle errors.
8967
89682006-04-06 07:03  gb
8969
8970        * lisp-kernel/linuxx8664/.gdbinit: Ignore more signals.
8971
89722006-04-06 06:44  gb
8973
8974        * compiler/X86/X8664/x8664-vinsns.lisp: Use new UUOs for
8975        slot-boundp checks, eep.address.
8976
89772006-04-06 06:43  gb
8978
8979        * compiler/X86/x862.lisp: X862-FIXUP-FWD-REFS: don't assume that
8980        functions are uvectors or that their constants start at index 1.
8981       
8982        PROGV: don't keep interrupts off in the body.
8983
89842006-04-06 05:58  gb
8985
8986        * compiler/X86/x86-asm.lisp: RESOLVE-EEP uuo needs source and dest
8987        registers to be recoverable.
8988       
8989        Use (int ($ #x8x)) for SLOT-UNBOUND, since it needs slot-vector,
8990        index, and dest reg to be recoverable.
8991       
8992        Note that the use of this range of (int N) operands may lead to
8993        confusion on platforms that use int #x80 for syscalls.  That (a)
8994        doesn't apply to x8664, since SYSCALL is present and used on x8664
8995        and (b) would only be a problem if the dest reg was %rax, which it
8996        won't be.
8997
89982006-04-06 05:53  gb
8999
9000        * lib/macros.lisp: DEFSETF for INTERRUPT-LEVEL here.
9001
90022006-04-06 05:53  gb
9003
9004        * level-0/l0-init.lisp: Better (useful) X8664 *FEATURES*.
9005
90062006-04-06 05:52  gb
9007
9008        * level-0/l0-hash.lisp: Remove some #+x86-target DBG traps.   Add a
9009        few fixnum decls in and around DO-REHASH.
9010
90112006-04-06 05:51  gb
9012
9013        * level-0/X86/x86-def.lisp: %RETURN-ADDRESS-FUNCTION: if argument
9014        is a "real" tagged return address, return the associated function.
9015
90162006-04-06 05:50  gb
9017
9018        * level-1/: x86-error-signal.lisp, x86-trap-support.lisp: Flesh
9019        this out some.  The FAKE-STACK-FRAME stuff isn't quite the right
9020        idea on X8664; may need to revise it.
9021
90222006-04-06 05:49  gb
9023
9024        * level-1/ppc-trap-support.lisp: Remove HANDLE-GC-HOOKS.
9025
90262006-04-06 05:49  gb
9027
9028        * level-1/ppc-threads-utils.lisp: DEFSETF for INTERRUPT-LEVEL moved
9029        ... anywhere but a platform-specific file.
9030
90312006-04-06 05:48  gb
9032
9033        * level-1/l1-events.lisp: HANDLE-GC-HOOKS isn't really
9034        platform-specific, so move it here.
9035
90362006-04-06 05:47  gb
9037
9038        * level-1/: l1-clos-boot.lisp, l1-clos.lisp: Hashing code expects
9039        instance.hash to be a fixnum, so violating that expectation (as was
9040        done a few weeks ago for debugging) fouls things up royally.  This
9041        may have led to instability on PPC as well.
9042
90432006-04-06 05:44  gb
9044
9045        * lisp-kernel/x86-exceptions.c: Return false (for now) on unhandled
9046        UUO.  (Need to merge code from another machine, which will try to
9047        call out to lisp.)
9048
90492006-04-06 05:43  gb
9050
9051        * lisp-kernel/pmcl-kernel.c: register_sigint_handler on x8664.
9052
90532006-04-05 06:57  gb
9054
9055        * lisp-kernel/x86-spentry64.s: nthrow variants: set %Rforeign_sp,
9056        not tcr slot.
9057       
9058        _SPcallback aligns the foreign stack the way that lisp expects.
9059
90602006-04-05 06:56  gb
9061
9062        * lisp-kernel/x86-exceptions.c: Handle more stuff, including
9063        interrupt callbacks.
9064
90652006-04-05 06:55  gb
9066
9067        * library/x8664-linux-syscalls.lisp: GETUID was wrong.
9068
90692006-04-05 06:55  gb
9070
9071        * level-1/x86-trap-support.lisp: VERY early callback for interrupt
9072        handling.
9073
90742006-04-05 06:54  gb
9075
9076        * level-1/l1-callbacks.lisp: Comment format
9077
90782006-04-05 06:54  gb
9079
9080        * level-0/X86/x86-utils.lisp: Arg order in lap macros.
9081
90822006-04-05 06:54  gb
9083
9084        * level-0/l0-pred.lisp: Get *IMMHEADER-2-TYPES* (or whatever it's
9085        called) right.
9086
90872006-04-05 06:53  gb
9088
9089        * compiler/X86/X8664/x8664-backend.lisp: DEFCALLBACK guts for
9090        X8664.
9091
90922006-04-05 05:20  gb
9093
9094        * lisp-kernel/x86-exceptions.c: Do some callbacks.  Let's see if
9095        they work yet.
9096
90972006-04-05 05:19  gb
9098
9099        * lisp-kernel/x86-spentry64.s: Use interrupt-checking macros.  Fix
9100        callback typos.
9101
91022006-04-05 05:19  gb
9103
9104        * lisp-kernel/x86-macros.s: Check for interrupts, and do so when we
9105        know that they've just become enabled.
9106
91072006-04-05 05:17  gb
9108
9109        * lisp-kernel/x86-exceptions.c: Set high bit of tcr->interrupt
9110        pending when there's ... a pending interrupt.
9111
91122006-04-05 05:17  gb
9113
9114        * lisp-kernel/x86-exceptions.h: Define xuuo stuff.
9115
91162006-04-04 21:47  gb
9117
9118        * lisp-kernel/x86-spentry64.s: callback changes.
9119
91202006-04-04 21:47  gb
9121
9122        * lisp-kernel/lisp-debug.c: rip "=", not "-".
9123
91242006-04-04 21:46  gb
9125
9126        * lisp-kernel/linuxx8664/.gdbinit: Ignore SIGPWR, until we know
9127        better.
9128
91292006-04-04 18:51  gb
9130
9131        * lisp-kernel/pmcl-kernel.c: Wimp out, back to 128GB for
9132        LinuxPPC64.
9133
91342006-04-04 18:50  gb
9135
9136        * level-1/linux-files.lisp: Don't use %GET-NATURAL in Linux version
9137        of PIPE, since file descriptors are always C ints.
9138
91392006-04-04 18:03  gb
9140
9141        * compiler/PPC/PPC32/ppc32-backend.lisp,
9142        compiler/PPC/PPC64/ppc64-backend.lisp, lib/macros.lisp: callback
9143        implementation moved to the backend.
9144
91452006-04-04 18:02  gb
9146
9147        * lib/arglist.lisp: ARGLIST-FROM-MAP: get &rest name right when
9148        &key is also present.
9149
91502006-04-04 16:10  gb
9151
9152        * lisp-kernel/pmcl-kernel.c: linuxppc64 can't mmap 512GB; try
9153        256GB.
9154
91552006-04-04 15:52  gb
9156
9157        * level-1/version.lisp: Bump. New images soon.
9158
91592006-04-04 15:52  gb
9160
9161        * compiler/backend.lisp: Add slots for callback definition.
9162
91632006-04-04 15:52  gb
9164
9165        * compiler/nx0.lisp: Remove a #-bccl.
9166
91672006-04-04 15:26  gb
9168
9169        * lisp-kernel/x86_print.c: print_unsigned_hex: conditionalize on
9170        word size.
9171
91722006-04-04 15:26  gb
9173
9174        * lisp-kernel/x86-spentry64.s: First cut of _SPcallback.
9175
91762006-04-04 15:26  gb
9177
9178        * lisp-kernel/x86-macros.s: Catch frames save foreign sp from
9179        register, not from tcr slot.
9180
91812006-04-04 15:25  gb
9182
9183        * lisp-kernel/x86-exceptions.c: Uncomment the body of
9184        interrupt_handler.
9185
91862006-04-04 15:18  gb
9187
9188        * compiler/lambda-list.lisp: %LFUN-INFO & friends: do
9189        (FUNCTION-TO-FUNCTION-VECTOR).
9190
91912006-04-04 15:18  gb
9192
9193        * compiler/X86/x86-lapmacros.lisp: check-nargs: bad comparison on
9194        max when both min and max.
9195
91962006-04-04 15:18  gb
9197
9198        * lib/macros.lisp: spurious checkin; no real change
9199
92002006-04-03 23:01  gb
9201
9202        * lisp-kernel/x86-gc.c: Make purify() a nop, for now.
9203
92042006-04-03 22:43  gb
9205
9206        * scripts/openmcl64: Maybe (check for x8664 Linux is untested).
9207
92082006-04-03 22:42  gb
9209
9210        * lisp-kernel/bits.h: Constants are word-size (not CPU-variant)
9211        -specific.
9212
92132006-04-03 22:42  gb
9214
9215        * lisp-kernel/pmcl-kernel.c: 512GB MAXIMUM_MAPPABLE_MEMORY on
9216        x8664/Linux as well.
9217
92182006-04-03 22:41  gb
9219
9220        * lisp-kernel/ppc-gc.c: Remove X86 conditionalization.  Maybe merge
9221        x86-gc.c and ppc-gc.c back into a single file someday (or at least
9222        put truly shared code there),but for now this is simpler.
9223
92242006-04-03 22:38  gb
9225
9226        * lisp-kernel/x86-exceptions.c: A little more infrastructure, so
9227        that we can actually call the GC.
9228
92292006-04-03 22:37  gb
9230
9231        * lisp-kernel/x86-exceptions.h: Define UUO, trap opcodes.
9232
92332006-04-03 22:36  gb
9234
9235        * lisp-kernel/x86-gc.c: It's ... alive.
9236
92372006-04-03 22:36  gb
9238
9239        * lisp-kernel/x86-spentry64.s: Use new vector bounds traps. How
9240        about boundp checks ?
9241
92422006-04-03 22:35  gb
9243
9244        * lisp-kernel/x86-uuo.s: New uuo definitions.
9245
92462006-04-03 22:35  gb
9247
9248        * lib/macros.lisp: DO-GC-AREAS,which is one of those macro things,
9249        moved here. Uses archmacro AREA-SUCC (defined here) to avoid
9250        TARGET-ARCH-CASE lossage.
9251
92522006-04-03 22:34  gb
9253
9254        * level-1/l1-lisp-threads.lisp: DO-GC-AREAS,which is one of those
9255        macro things, moved to macros.lisp.
9256
92572006-04-03 22:33  gb
9258
9259        * level-0/X86/x86-misc.lisp: Zero out all of the write-lock's
9260        writer slot, not just the low half.
9261
92622006-04-03 22:32  gb
9263
9264        * level-0/PPC/ppc-utils.lisp: TRUE, FALSE : cmplr vs cmplri.
9265        Typical rookie PPC assembler mistake ...
9266
92672006-04-03 22:31  gb
9268
9269        * level-0/l0-misc.lisp: %FREEBYTES looked like a job for
9270        %GET-NATURAL.
9271
92722006-04-03 22:31  gb
9273
9274        * compiler/X86/X8664/x8664-vinsns.lisp: Use newfangled UUOs.
9275
92762006-04-03 22:30  gb
9277
9278        * compiler/X86/x86-asm.lisp: Add UUO-ERROR-UNBOUND,
9279        UUO-ERROR-SLOT-UNBOUND, UUO-ERROR-EEP-UNRESOLVED.
9280
92812006-04-03 22:29  gb
9282
9283        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
9284        X86/X8664/x8664-arch.lisp: AREA-SUCC archmacro.
9285
92862006-04-01 23:36  gb
9287
9288        * lisp-kernel/x86-exceptions.h: xpMMXreg, sigaltstack stuff.
9289
92902006-04-01 23:35  gb
9291
9292        * lisp-kernel/x86-exceptions.c: take signals on an alternate signal
9293        stack, run the handler on the foreign stack (this is all intended
9294        to keep signal handlers from splatting sigcontexts all over the
9295        tagged lisp stack.)
9296
92972006-04-01 23:33  gb
9298
9299        * lisp-kernel/x86-constants64.h: mmx register indices.
9300
93012006-04-01 23:33  gb
9302
9303        * lisp-kernel/x86-asmutils64.s: switch_to_foreign_stack().
9304
93052006-04-01 23:32  gb
9306
9307        * lisp-kernel/thread_manager.c: register_cstack_holding_area_lock()
9308        takes a natural stack size.
9309
93102006-04-01 23:32  gb
9311
9312        * lisp-kernel/pmcl-kernel.c: register_cstack_holding_area_lock()
9313        takes a natural stack size, sets up alternate signal stack if
9314        USE_SIGALTSTACK.
9315
93162006-04-01 23:31  gb
9317
9318        * lisp-kernel/lisp.h: USE_SIGALTSTACK if X8664.  (Might someday
9319        depend on platform.)
9320
93212006-03-31 23:15  gb
9322
9323        * lisp-kernel/linuxx8664/Makefile: gc.o -> x86-gc.o
9324
93252006-03-31 23:00  gb
9326
9327        * lisp-kernel/x86-gc.c: New file; currently, an exact copy of
9328        ppc-gc.c, but they'll diverge some soon.
9329
93302006-03-31 22:56  gb
9331
9332        * lisp-kernel/: linuxppc/Makefile, linuxppc64/Makefile,
9333        static-linuxppc/Makefile: gc.o -> ppc-gc.o
9334
93352006-03-31 22:52  gb
9336
9337        * lisp-kernel/: darwinppc/Makefile, darwinppc64/Makefile: gc.o ->
9338        ppc-gc.o
9339
93402006-03-31 22:51  gb
9341
9342        * lisp-kernel/area.h: Need prototype for heap_area_containing().
9343        heap_node_area_containing(), which doesn't exist ... not so much.
9344
93452006-03-31 22:50  gb
9346
9347        * lisp-kernel/memory.c: Some functions moved here from gc.c before
9348        it was renamed/split.
9349
93502006-03-31 22:48  gb
9351
9352        * lisp-kernel/gc.c: rename/split
9353
93542006-03-31 22:46  gb
9355
9356        * lisp-kernel/ppc-gc.c: renamed
9357
93582006-03-31 00:54  gb
9359
9360        * lisp-kernel/x86-spentry64.s: Progvsave, progvrestore seem to
9361        work.
9362       
9363        Not sure about the tail end of the multiple-value case of THROW,
9364        but at least it's there.
9365
93662006-03-31 00:53  gb
9367
9368        * library/x8664-linux-syscalls.lisp: still need work, but more
9369        stuff (including socket syscalls) are defined now.
9370
93712006-03-31 00:52  gb
9372
9373        * level-1/version.lisp: Bump.
9374
93752006-03-31 00:52  gb
9376
9377        * level-1/l1-sockets.lisp: Conditionalize lots for x8664.
9378
93792006-03-31 00:51  gb
9380
9381        * level-0/X86/x86-def.lisp: No debug trap in %CFP-LFUN.
9382
93832006-03-31 00:50  gb
9384
9385        * level-0/l0-init.lisp: Simplify *FEATURES* init a little.  Try to
9386        ensure that :linuxx8664-target is there if it should be.
9387
93882006-03-31 00:46  gb
9389
9390        * compiler/X86/X8664/x8664-arch.lisp: Define
9391        MAX-8-BIT-IVECTOR-SUBTAG, too.
9392
93932006-03-30 03:23  gb
9394
9395        * level-1/l1-aprims.lisp: ELEMENT-SUBTYPE-TYPE for x8664.
9396
93972006-03-30 03:22  gb
9398
9399        * level-1/l1-boot-2.lisp: Load some x8664 files,
9400
94012006-03-30 03:21  gb
9402
9403        * level-1/l1-boot-3.lisp: Comments and formatting.
9404
94052006-03-30 03:20  gb
9406
9407        * level-1/l1-clos-boot.lisp: Some x8664 changes.
9408
94092006-03-30 03:20  gb
9410
9411        * level-1/l1-clos.lisp: Use REPLACE-FUNCTION-CODE another time or
9412        two.
9413       
9414        Set class's INSTANCE.HASH slots to class name, to make classes
9415        easier to identify in kernel debugger.  (Might not want to keept
9416        this, but could set/clear a bit there.)
9417
94182006-03-30 03:18  gb
9419
9420        * level-1/: l1-files.lisp, l1-dcode.lisp: Comments and formatting
9421        changes only.
9422
94232006-03-30 03:17  gb
9424
9425        * level-1/l1-lisp-threads.lisp: Start to move some stuff into
9426        platform-dependent files.
9427
94282006-03-30 03:16  gb
9429
9430        * level-1/: l1-pathnames.lisp, l1-numbers.lisp: Conditionalize.
9431
94322006-03-30 03:16  gb
9433
9434        * level-1/l1-streams.lisp: 64-bit conditionalization, and x8664
9435        stuff.
9436
94372006-03-30 03:15  gb
9438
9439        * level-1/l1-typesys.lisp: 64-bit array type on all (both) 64-bit
9440        platforms.
9441
94422006-03-30 03:13  gb
9443
9444        * level-1/l1-utils.lisp: TRUE and FALSE now in LAP.
9445
94462006-03-30 03:13  gb
9447
9448        * level-1/level-1.lisp: Load "new" x8664 files.
9449
94502006-03-30 03:12  gb
9451
9452        * level-1/linux-files.lisp: Conditionalize some for x8664.
9453
94542006-03-30 03:12  gb
9455
9456        * level-1/ppc-threads-utils.lisp: Some stuff moved here from
9457        l1-lisp-threads.
9458
94592006-03-30 03:11  gb
9460
9461        * lib/compile-ccl.lisp: X8664-related changes.
9462
94632006-03-30 03:11  gb
9464
9465        * lib/foreign-types.lisp: Setup host-ftd based on compile-time
9466        target.  Yow, recursion.
9467
94682006-03-30 03:10  gb
9469
9470        * lib/macros.lisp: LET-GLOBALLY deals with symptr/symvector stuff.
9471
94722006-03-30 03:10  gb
9473
9474        * lib/misc.lisp: Fix Linux MACHINE-INSTANCE.
9475       
9476        Move DISASSEMBLE and interface here.
9477
94782006-03-30 03:09  gb
9479
9480        * lib/nfcomp.lisp: Conditionalize for x8664; dump native functions
9481        via fasl-clfun.
9482
94832006-03-30 03:08  gb
9484
9485        * lib/prepare-mcl-environment.lisp: Needed symptr/symvector stuff.
9486
94872006-03-30 03:08  gb
9488
9489        * lib/systems.lisp: Add new x86 level-1 stuff; remove some truly
9490        ancient MCLisms.
9491
94922006-03-30 03:06  gb
9493
9494        * library/x8664-linux-syscalls.lisp: Some fixes and additions, but
9495        still needs lots of work.
9496
94972006-03-30 03:06  gb
9498
9499        * lisp-kernel/x86_print.c: If instance.hash of an instance isn't a
9500        fixnum, treat it as a class name.  (Hard to otherwise recognize
9501        classes from the kernel.)
9502
95032006-03-30 03:04  gb
9504
9505        * lisp-kernel/x86-spjump64.s: rename poweropen_callback ->callback.
9506
95072006-03-30 03:04  gb
9508
9509        * lisp-kernel/x86-spentry64.s: Lots of bug fixes.
9510       
9511        Multiple-value THROW still needs work, and CALLBACK still needs to
9512        be written (both sides).
9513
95142006-03-30 03:02  gb
9515
9516        * lisp-kernel/x86-constants64.s: No FPSCR here, but an MXCSR.
9517
95182006-03-30 03:01  gb
9519
9520        * lisp-kernel/ppc-spentry.s: Error call in misc_set_invalid
9521        involves 4 args.
9522
95232006-03-30 03:00  gb
9524
9525        * lisp-kernel/pmcl-kernel.c: Larger GC defaults if 64-bit, not just
9526        PPC64.
9527       
9528        Insist on Linux kernel 2.6 if x8664 linux.
9529
95302006-03-30 02:59  gb
9531
9532        * lisp-kernel/plsym.c: Missing #\% in format string.
9533
95342006-03-30 02:56  gb
9535
9536        * lisp-kernel/linuxx8664/.gdbinit: More stuff.
9537
95382006-03-30 02:55  gb
9539
9540        * level-1/: x86-callback-support.lisp, x86-error-signal.lisp,
9541        x86-threads-utils.lisp, x86-trap-support.lisp: Nee files.
9542
95432006-03-30 02:54  gb
9544
9545        * level-0/X86/X8664/x8664-bignum.lisp: Remove debug traps from
9546        things that're believed to be working.
9547
95482006-03-30 02:54  gb
9549
9550        * level-0/X86/x86-utils.lisp: CLASS-OF changes/fixes.  Move
9551        #'TRUE/#'FALSE here.
9552
95532006-03-30 02:53  gb
9554
9555        * level-0/X86/x86-symbol.lisp: %SYMPTR->SYMBOL: check for nilsym,
9556        not NIL.
9557
95582006-03-30 02:52  gb
9559
9560        * level-0/X86/x86-numbers.lisp: %FIXNUM-TRUNCATE: return results in
9561        the right order.
9562       
9563        %IASL: shift the right register.
9564
95652006-03-30 02:51  gb
9566
9567        * level-0/X86/x86-misc.lisp: Fix %FUDGE-HEAP-POINTER; define
9568        INTERRUPT-LEVEL.
9569
95702006-03-30 02:51  gb
9571
9572        * level-0/X86/x86-float.lisp: %get-mxcsr stores the mxcsr in memory
9573        so that we can load it into a fixnum.
9574
95752006-03-30 02:50  gb
9576
9577        * level-0/X86/x86-def.lisp: %CFP-LFUN: try to recognize
9578        multiple-value returning calls, return NIL if tra offset is 0.
9579
95802006-03-30 02:49  gb
9581
9582        * level-0/X86/x86-clos.lisp: Remove debug traps; use registers
9583        sanely in the SETF case.
9584
95852006-03-30 02:48  gb
9586
9587        * level-0/PPC/ppc-utils.lisp: Implement TRUE and FALSE in LAP.
9588
95892006-03-30 02:48  gb
9590
9591        * level-0/PPC/ppc-clos.lisp: Change the name of a constant that'll
9592        get clobbered when this is cloned anyway.  (Is that clear ?)
9593
95942006-03-30 02:47  gb
9595
9596        * level-0/l0-pred.lisp: %TYPE-OF fixes for x8664.
9597       
9598        We haven't had interpreted functions for a few years.
9599
96002006-03-30 02:46  gb
9601
9602        * level-0/l0-float.lisp: %SET-DOUBLE-FLOAT-EXP: endianness, use
9603        symbolic constant for high word.
9604
96052006-03-30 02:45  gb
9606
9607        * level-0/l0-array.lisp: SUBTAG-BYTES for X8664.
9608
96092006-03-30 02:45  gb
9610
9611        * compiler/X86/X8664/x8664-vinsns.lisp: Lots of bug fixes.
9612
96132006-03-30 02:44  gb
9614
9615        * compiler/X86/X8664/x8664-arch.lisp: REQUIRE what we need.
9616       
9617        Get CATCH-FRAME definition right.
9618       
9619        .SPpoweropen-callback -> .SPcallback.
9620
96212006-03-30 02:43  gb
9622
9623        * compiler/X86/x862.lisp: Lots of changes and bugfixes.
9624
96252006-03-30 02:42  gb
9626
9627        * compiler/X86/x86-lap.lisp: Avid path in REQUIRE; create native
9628        functions.
9629
96302006-03-30 02:42  gb
9631
9632        * compiler/X86/x86-disassemble.lisp: Run natively: provide
9633        X8664-XDISASSEMBLE.
9634
96352006-03-30 02:41  gb
9636
9637        * compiler/X86/x86-asm.lisp: Assemble things (uuos) with a "pseudo"
9638        ModRM byte, which allows encoding two 4-bit x8664 registers in a
9639        single byte.
9640
96412006-03-30 02:40  gb
9642
9643        * compiler/X86/x86-arch.lisp: Need to explicitly (REQUIRE "ARCH").
9644
96452006-03-30 02:39  gb
9646
9647        * compiler/PPC/PPC64/ppc64-arch.lisp: Define high and low 32-bit
9648        parts of a DOUBLE-FLOAT.
9649
96502006-03-30 02:39  gb
9651
9652        * compiler/PPC/ppc-disassemble.lisp: DISASSEMBLE and
9653        FUNCTION-FOR-DISASSEMBLY moved elsewhere.
9654
96552006-03-25 20:47  gb
9656
9657        * lisp-kernel/lisp-debug.c: Fix x8664 lisp register display.
9658
96592006-03-25 20:42  gb
9660
9661        * lib/ccl-export-syms.lisp: Fix export of CCL::GETENV and
9662        CCL::SETENV.
9663
96642006-03-25 20:37  gb
9665
9666        * lisp-kernel/x86-spentry64.s: Dozens of bug fixes.
9667       
9668        Do uvref (not yet uvset) via jump table.
9669
96702006-03-25 20:36  gb
9671
9672        * lisp-kernel/x86-macros.s: Do arithmetic correctly in Cons macro.
9673       
9674        Split up Misc_Alloc.
9675
96762006-03-25 20:34  gb
9677
9678        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Tag juggling.
9679
96802006-03-25 20:34  gb
9681
9682        * lisp-kernel/ppc_print.c: Identify SLOT-VECTORs in kernel
9683        debugger.
9684
96852006-03-25 20:33  gb
9686
9687        * lisp-kernel/errors.s: Add some error numbers for uvref/uvset
9688        failures that should never happen.
9689
96902006-03-25 20:32  gb
9691
9692        * lisp-kernel/lisp-debug.c: Change x8664 lisp register display.
9693
96942006-03-25 20:32  gb
9695
9696        * lisp-kernel/gc.c: IMPURIFY: maybe grow the dynamic area, but
9697        don't shrink it.
9698
96992006-03-25 20:31  gb
9700
9701        * lisp-kernel/plsym.c: Symbol address may be longer than 32 bits.
9702
97032006-03-25 20:31  gb
9704
9705        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s: sgbuf has
9706        been lisp_thread for the past few years.
9707
97082006-03-25 20:30  gb
9709
9710        * lisp-kernel/ppc-spentry.s: Do uvref/uvset via jump tables.
9711        (Fewer branches, more redundancy.)
9712
97132006-03-25 20:29  gb
9714
9715        * lisp-kernel/x86_print.c: Identify SLOT-VECTORs.  Print TRAs.
9716
97172006-03-25 20:28  gb
9718
9719        * lisp-kernel/xlbt.c: Skip over lexpr nonsense.
9720
97212006-03-25 20:28  gb
9722
9723        * lisp-kernel/linuxx8664/.gdbinit: More GDB macros.
9724
97252006-03-25 20:27  gb
9726
9727        * library/lispequ.lisp: %GF-DISPATCH-TABLE-REF uses %SVREF.
9728
97292006-03-25 20:26  gb
9730
9731        * lib/misc.lisp: MACHINE-VERSION caches the result per-session;
9732        looks in /proc/cpuinfo for something machine-dependent on Linux,
9733        passes 64-bit stuff on DarwinPPC64.
9734
97352006-03-25 20:25  gb
9736
9737        * lib/macros.lisp: LFUN-BITS-KNOWN-FUNCTIONS uses arch macros to
9738        access function vector.
9739
97402006-03-25 20:23  gb
9741
9742        * level-1/version.lisp: Bump.
9743
97442006-03-25 20:23  gb
9745
9746        * level-1/l1-io.lisp: No more interpreted functions.
9747
97482006-03-25 20:23  gb
9749
9750        * level-1/l1-dcode.lisp: Mostly comment and formatting changes.
9751
97522006-03-25 20:22  gb
9753
9754        * level-1/l1-clos.lisp: Fix typos in x86 function cloning;
9755        comment/formatting changs.
9756
97572006-03-25 20:21  gb
9758
9759        * level-1/l1-clos-boot.lisp: Lots of formatting changes; try to use
9760        DEFGLOBAL, since special variable lookup is ~10 instructions or so.
9761
97622006-03-25 20:20  gb
9763
9764        * level-1/l1-boot-1.lisp: HOST-PLATFORM, PLATFORM-DESCRIPTION:
9765        generalize, a little.
9766
97672006-03-25 20:19  gb
9768
9769        * level-1/l1-aprims.lisp: LFUN-KEYVECT access function vector, if
9770        that's not the function.  NREVERSE checks for NIL, mostly so I
9771        wouldn't have to single-step through that case in GDB.
9772
97732006-03-25 20:18  gb
9774
9775        * level-0/X86/X8664/x8664-bignum.lisp: Shift in the correct
9776        direction, sign-extend (or don't) as apropriate, etc.  Still some
9777        debug traps on things that haven't been called yet.
9778
97792006-03-25 20:17  gb
9780
9781        * level-0/X86/x86-utils.lisp: CLASS-OF fixes.
9782
97832006-03-25 20:17  gb
9784
9785        * level-0/X86/x86-pred.lisp: If the recursive list case of EQUAL
9786        fails, fail; don't fall into the uvector case ...
9787
97882006-03-25 20:16  gb
9789
9790        * level-0/X86/x86-numbers.lisp: Fenceposts in fixnum
9791        integer-length.
9792
97932006-03-25 20:15  gb
9794
9795        * level-0/X86/x86-hash.lisp: Strip-tag-to-fixnum without shifts.
9796
97972006-03-25 20:15  gb
9798
9799        * level-0/X86/x86-def.lisp: Stuff here seems to work, so far ...
9800
98012006-03-25 20:14  gb
9802
9803        * level-0/X86/x86-clos.lisp: debug traps on slot-lookup LAP
9804        prototypes.
9805
98062006-03-25 20:12  gb
9807
9808        * level-0/l0-pred.lisp: rearrange %type-of for tag changes.
9809
98102006-03-25 20:12  gb
9811
9812        * level-0/l0-numbers.lisp: No need to specify an initial value 0
9813        when stack-consing a bignum in %BIGNUM-RANDOM.  Add a fixnum decl
9814        or two.
9815
98162006-03-25 20:11  gb
9817
9818        * level-0/l0-hash.lisp: Symbol aren't (necessarily) uvectors. X86
9819        breakpoints if we hash any symbols ...
9820
98212006-03-25 20:09  gb
9822
9823        * level-0/l0-bignum64.lisp: Um, most of this is supposed to be
9824        #+64-bit-target, not #+ppc64-target.
9825
98262006-03-25 20:09  gb
9827
9828        * compiler/X86/X8664/x8664-vinsns.lisp:
9829        SET-CLOSURE-FORWARD-REFERENCE: functions aren't uvectors.
9830       
9831        Lots of other changes/fixes.
9832
98332006-03-25 20:08  gb
9834
9835        * compiler/X86/X8664/x8664-arch.lisp: Tag reorganization.
9836       
9837        MISC-SYMBOL-OFFSET, MISC-FUNCTION-OFFSET.
9838       
9839        FUNCTION-TO-FUNCTION-VECTOR, FUNCTION-VECTOR-TO-FUNCTION arch
9840        macros have something to do here.
9841
98422006-03-25 20:06  gb
9843
9844        * compiler/X86/x862.lisp: Some operators can push results directly.
9845       
9846        Lots of bug fixes.
9847
98482006-03-25 20:05  gb
9849
9850        * compiler/X86/x86-asm.lisp: CMPB: accept signed/unsigned
9851        immediate.
9852
98532006-03-25 20:04  gb
9854
9855        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Arch
9856        macros for FUNCTION-TO-FUNCTION-VECTOR and
9857        FUNCTION-VECTOR-TO-FUNCTION.
9858       
9859        (NOPs.)
9860
98612006-03-25 20:03  gb
9862
9863        * compiler/optimizers.lisp: MACPTRP.
9864
98652006-03-25 20:03  gb
9866
9867        * compiler/nx.lisp: COMPILE: don't check for INTERPRETED-FUNCTION,
9868        unless/until we have them again (in some form.)
9869
98702006-03-20 10:05  gwking
9871
9872        * lib/ccl-export-syms.lisp: Exporting getenv and setenv from CCL
9873
98742006-03-19 20:30  gb
9875
9876        * lisp-kernel/x86-spentry64.s: Old-style destructuring, VALUES.
9877
98782006-03-19 20:29  gb
9879
9880        * lisp-kernel/x86-constants64.s: Define %nargs_b.
9881
98822006-03-19 20:29  gb
9883
9884        * lisp-kernel/x86-constants.s: Define registers/bitfields used in
9885        old-style destructuring subprims.
9886
98872006-03-19 20:28  gb
9888
9889        * library/lispequ.lisp: $XNOFINFUNCTION.
9890
98912006-03-19 20:27  gb
9892
9893        * lib/level-2.lisp: Conditionalize out bit, bitfield accessors
9894        until they work ...
9895
98962006-03-19 20:27  gb
9897
9898        * lib/backtrace-lds.lisp: Conditionalize
9899        GET-REGISTER-VALUE/SET-REGISTER-VALUE catch frame access.
9900
99012006-03-19 20:26  gb
9902
9903        * level-1/: l1-clos-boot.lisp, l1-clos.lisp, l1-dcode.lisp:
9904        Conditionalize, mostly for whether the implementation has separate
9905        code-vector and function objects or not. (ppc vs x86, for now.)
9906
99072006-03-19 20:25  gb
9908
9909        * level-0/X86/x86-numbers.lisp: %FIXNUM-GCD.  Slower then the one
9910        that counts bits, but doesn't need as many registers.
9911
99122006-03-19 20:24  gb
9913
9914        * level-0/X86/x86-def.lisp: Do the lexpr/methd-context apply stuff.
9915         %X86-CLONE-FUNCTION, REPLACE-FUNCTION-CODE.
9916       
9917        Wouldn't hurt to do some typechecking in some of the lap code here.
9918
99192006-03-19 20:22  gb
9920
9921        * level-0/X86/x86-clos.lisp: Yet.
9922
99232006-03-19 20:22  gb
9924
9925        * level-0/PPC/ppc-def.lisp: REPLACE-FUNCTION-CODE abstraction.
9926
99272006-03-19 20:22  gb
9928
9929        * level-0/PPC/ppc-clos.lisp: UNSET-FIN-TRAMPOLINE doesn't reference
9930        constants.  (This could neve  have worked.)
9931
99322006-03-19 20:21  gb
9933
9934        * level-0/l0-error.lisp: Replace error format string 9.
9935
99362006-03-19 20:20  gb
9937
9938        * compiler/X86/X8664/x8664-vinsns.lisp: &lexpr fixes, old-style
9939        destructuring.
9940
99412006-03-19 20:20  gb
9942
9943        * compiler/X86/X8664/x8664-arch.lisp: Add the xtra slot to
9944        lisp-frame.  yield syscall, gf-code-size.
9945
99462006-03-19 20:19  gb
9947
9948        * compiler/X86/x862.lisp: Fix some lexpr confusion, mv-call
9949        recursive problems.
9950
99512006-03-19 20:18  gb
9952
9953        * compiler/X86/x86-lapmacros.lisp: SAVE-FRAME-VARIABLE-ARG-COUNT,
9954        CALL-SUBPRIM.
9955
99562006-03-19 20:17  gb
9957
9958        * compiler/X86/x86-lap.lisp: Support :CODE-SIZE and :ORG
9959        directives.  Change :CONSTANTS to :FIXED-CONSTANTS.
9960
99612006-03-19 20:16  gb
9962
9963        * compiler/nx1.lisp: Can use MAKE-ARRAY rather than MAKE-SEQUENCE.
9964
99652006-03-17 23:38  gb
9966
9967        * xdump/xfasload.lisp: Special case references to NIL in package
9968        htabs.
9969       
9970        Leave deleted markers behind for symbols that we haven't seen
9971        references to; leave empty (0) words empty.
9972
99732006-03-17 23:36  gb
9974
9975        * lisp-kernel/linuxx8664/.gdbinit: Add a few lisp debugging things.
9976
99772006-03-17 23:36  gb
9978
9979        * lisp-kernel/xlbt.c: Recognize multiple-value returning frames and
9980        find the real tra underneath ret1valn.
9981
99822006-03-17 23:35  gb
9983
9984        * lisp-kernel/x86-spentry64.s: "gen" tcalls had the same bug as the
9985        known-stack-args cases did several days ago.
9986
99872006-03-17 23:34  gb
9988
9989        * lisp-kernel/x86-macros.s: New do_funcall().
9990
99912006-03-17 23:33  gb
9992
9993        * lisp-kernel/x86-exceptions.c: When we field an alloc trap, make
9994        sure that both the allocptr register and the save_allocptr slot in
9995        the TCR are updated and consistent with each other.
9996
99972006-03-17 23:32  gb
9998
9999        * lisp-kernel/x86-constants64.h: A lisp frame may have two return
10000        addresses (one for the multiple-value mechanism and the real one.)
10001
100022006-03-17 23:31  gb
10003
10004        * lisp-kernel/plsym.c: If there's such a thing as fulltag_symbol,
10005        try to use it.
10006
100072006-03-17 23:29  gb
10008
10009        * level-0/X86/x86-symbol.lisp: Symptr/symvector deconflation.
10010
100112006-03-17 23:28  gb
10012
10013        * level-0/X86/x86-pred.lisp: Add %LISP-LOWBYTE-REF; could be
10014        open-coded (and may once have been.)
10015
100162006-03-17 23:27  gb
10017
10018        * level-0/nfasload.lisp: Some SYMPTR->SYMVECTOR usage.  Define
10019        %FASL-READ-SIGNED-LONG;  use it in a few places.  Assume that
10020        scalar integers are stored big-endian; construct native-endian
10021        integers from them.
10022
100232006-03-17 23:26  gb
10024
10025        * level-0/l0-symbol.lisp: Lots of SYMPTR->SYMVECTOR usage.
10026
100272006-03-17 23:25  gb
10028
10029        * level-0/l0-pred.lisp: Do %TYPE-OF for x8664.
10030
100312006-03-17 23:24  gb
10032
10033        * level-0/l0-def.lisp: Use SYMPTR->SYMVECTOR where necessary, so
10034        that we can %SVREF around in symbols.
10035       
10036        A little light reorganization, to make it easier to add debugging
10037        breakpoints for things like FUNCTION-NAME.
10038
100392006-03-17 23:22  gb
10040
10041        * compiler/X86/X8664/x8664-vinsns.lisp: Kinder, gentler
10042        CHECK-MISC-BOUND.  (What was I thinking ?)
10043       
10044        More cleanup to FUNCALL and variants.
10045       
10046        MAKE-TSP-CONS: fix braindamage, use only one register.  (Need to
10047        write down pc-luser-xp constraints for TSP allocation, but I think
10048        that this meets the current artist's conception of them.)
10049       
10050        %SYMBOL->SYMPTR does what it does on other platforms (e.g., map NIL
10051        to a proxy symbol and/or insist on a real symbol.)
10052        %SYMPTR->SYMVECTOR maps something tagged as a symbol to the
10053        underlying uvector by playing with tag bits, and %SYMVECTOR->SYMPTR
10054        does the inverse.
10055       
10056        There were two definitions of %SCHARCODE in the file; the later one
10057        (that took effect) was completely wrong.
10058
100592006-03-17 23:05  gb
10060
10061        * compiler/X86/X8664/x8664-arch.lisp: Add HONS fields to AREA
10062        definition.
10063       
10064        SYMVECTOR->SYMPTR and its inverse don't do much, but it's not worth
10065        spending a function call to do a little.
10066
100672006-03-17 23:03  gb
10068
10069        * compiler/X86/x862.lisp: Don't sign-extend the $LFBITS-NONAME-BIT;
10070        doing so had to do with 29-bit fixnums on an old 68K
10071        implementation.
10072       
10073        Fix parenthesization in %i-, so that we branch in all cases that
10074        need to.
10075       
10076        Implement %SYMPTR->SYMVECTOR and %SYMVECTOR->SYMPTR, which change
10077        something tagged X8664::FULLTAG-SYMBOL into the underlying uvector
10078        and back again.
10079
100802006-03-17 22:59  gb
10081
10082        * compiler/X86/x86-lap.lisp: Change the sign of TRA displacements,
10083        to match what the compiler expects and what some other things do.
10084       
10085        When checking to see if an ASSUMED-SHORT[-CONDITIONAL]-BRANCH can
10086        use a 1-byte branch displacement, get the sign of that displacment
10087        right.  (Doing it the wrong way was encoding a forward branch to a
10088        label 128 bytes away in one byte, which made it a backward branch
10089        128 bytes away ...)
10090
100912006-03-17 22:55  gb
10092
10093        * library/lispequ.lisp: Use NTH-IMMEDIATE to access COMBINED-METHOD
10094        slots.
10095
100962006-03-17 22:54  gb
10097
10098        * lib/nfcomp.lisp: Comments clarify that scalar integers are always
10099        dumped big-endian.  (They have to be read/written a byte at a time
10100        anyway; there's no clear advantage in writing them in native
10101        endianness.)
10102
101032006-03-17 22:52  gb
10104
10105        * lib/macros.lisp: SYMPTR->SYMVECTOR and SYMVECTOR->SYMBOL are
10106        arch-specfic (NOP on PPC, inlined tag-bits stuff on x8664.)
10107
101082006-03-17 22:50  gb
10109
10110        * level-1/l1-dcode.lisp: Star to conditionalize, a little.
10111
101122006-03-17 22:48  gb
10113
10114        * level-1/l1-boot-2.lisp: Conditionalize.
10115
101162006-03-17 22:48  gb
10117
10118        * level-1/: l1-callbacks.lisp, l1-utils.lisp: Comment formatting.
10119
101202006-03-17 22:45  gb
10121
10122        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-arch.lisp,
10123        PPC64/ppc64-arch.lisp: %SYMPTR->SYMVECTOR and %SYMVECTOR->SYMPTR
10124        shold never be called on PPC, but implement them as idenity
10125        operations, just in case.
10126
101272006-03-17 22:44  gb
10128
10129        * compiler/: nx1.lisp, nxenv.lisp: Worth inlining
10130        %SYMPTR->SYMVECTOR on x8664 (should never happen on PPC, but treat
10131        it as identity function there.)
10132
101332006-03-16 02:03  gb
10134
10135        * level-1/l1-sockets.lisp: Spell LINUX correctly.
10136
101372006-03-16 02:00  gb
10138
10139        * lisp-kernel/x86-spentry64.s: We were inlining NTH-VALUE
10140        incorrectly, but were always inlining it.
10141       
10142        Use debug traps to catch some cases that're NYI.
10143
101442006-03-16 01:58  gb
10145
10146        * lisp-kernel/lisp-debug.c: X8664 register-printing changes.
10147
101482006-03-16 01:58  gb
10149
10150        * library/parse-ffi.lisp: Treat VEC64/VEC128 like large integers,
10151        for now.
10152
101532006-03-16 01:57  gb
10154
10155        * library/lispequ.lisp: gf accessors use NTH-IMMEDIATE.
10156
101572006-03-16 01:56  gb
10158
10159        * lib/numbers.lisp: Conditionaliz on target word size.
10160
101612006-03-16 01:56  gb
10162
10163        * lib/nfcomp.lisp: Need to be aware of cases where host/target
10164        endianness differ.
10165       
10166        Byte-swap 16/32-bit constant ivectors; note that other cases may
10167        also need byte-swapping.
10168
101692006-03-16 01:54  gb
10170
10171        * lib/macros.lisp: NTH-IMMEDIATE is arch-specific; so is
10172        SET-NTH-IMMEDIATE, which is its SETF inverse.
10173
101742006-03-16 01:53  gb
10175
10176        * lib/foreign-types.lisp: So far, Darwin's the only platform that
10177        uses signed chars.  (For a good laugh, note that the PPC has an
10178        unsigned "load byte" instruction, but it takes two instructions to
10179        treat char as signed.  This is, of course, much less significant
10180        than all of the other things that are wrong about Darwin ...)
10181
101822006-03-16 01:51  gb
10183
10184        * lib/compile-ccl.lisp: RISC-LAP is PPC-specific (and maybe
10185        specific to other RISC architectures).  X86-DISASSEMBLE should be
10186        built for x8664.
10187
101882006-03-16 01:49  gb
10189
10190        * lib/backtrace-lds.lisp: Some conditinalization.
10191
101922006-03-16 01:48  gb
10193
10194        * tools/.cvsignore, library/.cvsignore: Ignore fasl extensions yet
10195        to come.
10196
101972006-03-16 01:46  gb
10198
10199        * level-1/version.lisp: Bump.
10200
102012006-03-16 01:46  gb
10202
10203        * level-1/l1-sockets.lisp: Some conditionalization; need more, and
10204        need to handle wrong-endianness.
10205
102062006-03-16 01:44  gb
10207
10208        * level-1/l1-lisp-threads.lisp: %KERNEL-GLOBAL-OFFSET-FORM:
10209        probably should lose this.  It's a function, and therefore has some
10210        trouble accessing the right (macroexpand-time) backend.
10211
102122006-03-16 01:43  gb
10213
10214        * level-1/l1-files.lisp: Set *.FASL-PATHAME* via #.'ed reference to
10215        target backend.
10216
102172006-03-16 01:42  gb
10218
10219        * level-1/l1-clos-boot.lisp: Conditionalize a little.
10220
102212006-03-16 01:42  gb
10222
10223        * level-1/l1-aprims.lisp: Use #. to set OS package name fron
10224        backend/ftd.
10225
102262006-03-16 01:41  gb
10227
10228        * level-0/X86/x86-symbol.lisp: %SYMPTR->SYMBOL is often called with
10229        real (tagged) symbols; make it a nop in that case.
10230
102312006-03-16 01:40  gb
10232
10233        * level-0/X86/x86-def.lisp: %SET-NTH-IMMEDIATE.
10234
102352006-03-16 01:40  gb
10236
10237        * level-0/X86/x86-clos.lisp: Start some of this. Still need to
10238        decide whether to use lexprs; better decide soon.
10239
102402006-03-16 01:38  gb
10241
10242        * compiler/X86/X8664/x8664-vinsns.lisp: TRAP-UNLESS-CHARACTER.
10243        Float memory accessors/setters for the constant-offset case.
10244        NTH-VALUE was wrong; now simpler.  MAKE-TSP-VCELL.  Binding
10245        subprims.
10246       
10247        Yet another FUNCALL scheme.
10248
102492006-03-16 01:36  gb
10250
10251        * level-0/l0-symbol.lisp: MAKE-SYMBOL returns the symbol pointer.
10252        Maybe conditionalize this for X8664.
10253
102542006-03-16 01:35  gb
10255
10256        * level-0/l0-io.lisp: Hopefully, the "split" 64-bit lseek is at
10257        best LinuxPPC32-specific.
10258
102592006-03-16 01:34  gb
10260
10261        * compiler/X86/x862.lisp: Use %ra0 for the inner function when
10262        making a closure, to avoid conflicts with other temps.  No need to
10263        reference memory on self-calls (and good reasons not to ...)
10264        X862-UNBOXED-INTEGER-ARG-TO-REG handles 64-bit regs.
10265
102662006-03-16 01:31  gb
10267
10268        * compiler/X86/x86-lapmacros.lisp: EXTRACT-TYPECODE: use a GENSYMed
10269        label.
10270
102712006-03-16 01:30  gb
10272
10273        * compiler/X86/x86-lap.lisp: New stuff for "pre-allocated"
10274        constants.
10275
102762006-03-16 01:29  gb
10277
10278        * compiler/X86/x86-arch.lisp: Didn't have the relatively recent
10279        STACK-SIZE.
10280
102812006-03-16 01:29  gb
10282
10283        * compiler/X86/X8664/x8664-arch.lisp: Change the
10284        %GET-KERNEL-GLOBAL[-PTR] archmacros, so that they'll work with
10285        cross-compilation.  Fixnum offsets aren't supported; they weren't
10286        used, this isn't public, and it wasn't well-defined anyway.
10287       
10288        Add %NTH-IMMEDIATE.
10289
102902006-03-16 01:28  gb
10291
10292        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp:
10293        Change the %GET-KERNEL-GLOBAL[-PTR] archmacros, so that they'll
10294        work with cross-compilation.  Fixnum offsets aren't supported; they
10295        weren't used, this isn't public, and it wasn't well-defined anyway.
10296
102972006-03-14 14:08  gb
10298
10299        * binppc/.cvsignore, l1-pfsls/.cvsignore: remove
10300
103012006-03-14 14:02  gb
10302
10303        * level-1/: l1-boot-2.lisp, level-1.lisp: Always use physical bin,
10304        l1-fasls relative pathnames.
10305
103062006-03-14 14:02  gb
10307
10308        * level-1/l1-pathnames.lisp: Simpler translations.
10309
103102006-03-14 13:51  gb
10311
10312        * l1-dfsls/.cvsignore, bindarwin/.cvsignore: removed
10313
103142006-03-14 13:31  gb
10315
10316        * bin/.cvsignore, l1-fasls/.cvsignore: new file.
10317
103182006-03-14 13:24  gb
10319
10320        * level-1/: l1-boot-2.lisp, level-1.lisp: Step 1: don't hardwire
10321        the target fasl pathname in a big #+ nest, get it from the target
10322        backend.  (Hope that works with macrolet.)
10323
103242006-03-14 13:22  gb
10325
10326        * lisp-kernel/x86-spentry64.s: _SPstack_misc_alloc fixes.
10327        _SPsyscall: just return negative return values, don't negate them.
10328
103292006-03-14 13:20  gb
10330
10331        * library/x8664-linux-syscalls.lisp: Hide the incomplete
10332        definitions.  This needs work; should use real foreign types.
10333
103342006-03-14 13:19  gb
10335
10336        * compiler/X86/X8664/x8664-vinsns.lisp: %init-gvector: pop the last
10337        element first.
10338
103392006-03-14 13:19  gb
10340
10341        * compiler/X86/X8664/x8664-backend.lisp: :linuxx8664-target on
10342        features, too.
10343
103442006-03-14 13:18  gb
10345
10346        * compiler/X86/x862.lisp: x862-allocate-initialized-gvector: works
10347        better if the gvector is actually allocated ...
10348
103492006-03-14 03:11  gb
10350
10351        * compiler/X86/x862.lisp: Remove a comment that described the
10352        mid-1990s behavior of MacsBug.
10353
103542006-03-14 03:10  gb
10355
10356        * compiler/X86/x86-lap.lisp: In X86-LAP-EQUATE-FORM, check for and
10357        disallow bindings that match defined X86 register names.
10358
103592006-03-14 03:09  gb
10360
10361        * compiler/X86/x86-disassemble.lisp: Some UUOs shouldn't terminate
10362        a disassembly block.
10363
103642006-03-14 03:09  gb
10365
10366        * library/syscall.lisp: Whoops.
10367
103682006-03-14 03:01  gb
10369
10370        * lisp-kernel/x86-spentry64.s: Fixes in _SPcall_closure,
10371        _SPstkgvector.
10372
103732006-03-14 03:00  gb
10374
10375        * lisp-kernel/x86-exceptions.c: Handle uuo_debug_trap.
10376
103772006-03-14 03:00  gb
10378
10379        * lisp-kernel/x86-constants64.h: Iflags is REG_EFL on Linux.
10380
103812006-03-14 02:59  gb
10382
10383        * lisp-kernel/lisp-debug.c: Make (R)egisters command work on x8664.
10384
103852006-03-14 02:59  gb
10386
10387        * library/syscall.lisp: BACKEND-SYSCALL-DEFINITIONS uses whatever
10388        bits are in the backend's BACKEND-PLATFORM-SYSCALL-MASK.
10389
103902006-03-14 02:57  gb
10391
10392        * library/x8664-linux-syscalls.lisp: New file. Woefully incomplete,
10393        and may need word-size fixes.
10394
103952006-03-14 02:57  gb
10396
10397        * library/ppc-linux-syscalls.lisp: Set the mask per the new (new)
10398        scheme.
10399
104002006-03-14 02:56  gb
10401
10402        * level-0/X86/x86-utils.lisp: Fix a few bugs in heap-walking code.
10403
104042006-03-14 02:56  gb
10405
10406        * level-0/X86/x86-def.lisp: %NTH-IMMEDIATE needed to box;  both it
10407        and %FUNCTION-CODE-WORDS needed to avoid naming parameters FN.
10408
104092006-03-14 02:55  gb
10410
10411        * level-1/: l1-sockets.lisp, l1-streams.lisp, linux-files.lisp: Use
10412        the right set of syscall definitions for Linux.
10413
104142006-03-14 02:54  gb
10415
10416        * level-0/nfasload.lisp: Add a fixnum declaration.
10417
104182006-03-14 02:54  gb
10419
10420        * level-0/l0-io.lisp: Include the right set of syscall defs for
10421        Linux.
10422
104232006-03-14 02:53  gb
10424
10425        * level-0/l0-symbol.lisp: Need to use %symptr->symbol for x86;
10426        harmless on PPC.
10427
104282006-03-14 02:53  gb
10429
10430        * compiler/X86/X8664/x8664-vinsns.lisp: SETUP-VCELL-ALLOCATION
10431        needs to bias the size by fulltag-misc.
10432
104332006-03-14 02:52  gb
10434
10435        * compiler/X86/X8664/x8664-backend.lisp: At least for Linux/X86/64,
10436        need to look at os/cpu/word-size to deterine applicable syscall
10437        defs.
10438
104392006-03-14 02:51  gb
10440
10441        * compiler/PPC/: PPC32/ppc32-backend.lisp,
10442        PPC64/ppc64-backend.lisp: All PPC (32/64) backends can use syscall
10443        defs for OS/CPU, regardless of word size.
10444
104452006-03-14 02:50  gb
10446
10447        * compiler/backend.lisp: Add PLATFORM-SYSCALL-MASK to backend
10448        struct.
10449
104502006-03-14 02:09  gb
10451
10452        * library/: ppc-linux-syscalls.lisp, linux-syscalls.lisp: renamed
10453
104542006-03-13 02:33  gb
10455
10456        * level-1/version.lisp: Bump.
10457
104582006-03-13 02:24  gb
10459
10460        * xdump/xfasload.lisp: AREA constants now in CCL package.
10461
104622006-03-13 02:23  gb
10463
10464        * lisp-kernel/x86-spentry64.s: ret1valn: no LEAVE here.
10465        nthrowvalues: fix several bugs.
10466
104672006-03-13 02:22  gb
10468
10469        * lisp-kernel/x86-macros.s: TSP_Alloc_Var: zero the dnode at the
10470        new tsp, as well.
10471
104722006-03-13 02:21  gb
10473
10474        * library/lispequ.lisp: Define AREA constants here (in CCL
10475        package.)
10476
104772006-03-13 02:20  gb
10478
10479        * lib/macros.lisp: Move DO-CONSING-AREAS here.  AREA-CODE is an
10480        arch macro.
10481
104822006-03-13 02:20  gb
10483
10484        * level-1/l1-lisp-threads.lisp: Move DO-CONSING-AREAS to
10485        macros.lisp.
10486
104872006-03-13 02:19  gb
10488
10489        * level-0/X86/x86-utils.lisp: Walk static, dynamic areas.
10490
104912006-03-13 02:19  gb
10492
10493        * level-0/PPC/ppc-utils.lisp: Comments.
10494
104952006-03-13 02:18  gb
10496
10497        * level-0/nfasload.lisp: %MAP-AREAS call might have to deal with
10498        symbol/symbol-vector distinction.
10499
105002006-03-13 02:18  gb
10501
10502        * level-0/l0-utils.lisp: AREA constants are in CCL package, not
10503        PPC.  %MAP-LFUNS might have to deal with function/function-vector
10504        distinction.
10505
105062006-03-13 02:17  gb
10507
10508        * level-0/l0-misc.lisp: AREA constants are in CCL package, not PPC.
10509
105102006-03-13 02:17  gb
10511
10512        * level-0/l0-hash.lisp: %GROW-HASH-TABLE is always called inside
10513        WITHOUT-INTERRUPTS, so no need to do it again.
10514
105152006-03-13 02:16  gb
10516
10517        * compiler/X86/x862.lisp: Push at most one stack frame on function
10518        entry ...
10519
105202006-03-13 02:14  gb
10521
10522        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
10523        X86/X8664/x8664-arch.lisp: AREA-CODE archmacro.
10524
105252006-03-13 02:13  gb
10526
10527        * compiler/: PPC/ppc-arch.lisp, X86/x86-arch.lisp: AREA constants
10528        moved to CCL package.
10529
105302006-03-11 23:54  gb
10531
10532        * lisp-kernel/linuxx8664/.gdbinit: Don't change handling of SIGUSR1
10533        or SIGUSR2; I don't think that we use them under Linux.
10534
105352006-03-11 23:52  gb
10536
10537        * lisp-kernel/x86-spentry64.s: builtin_eql was extracting lisptags
10538        and comparing fulltags, and thus returning false when it shouldn't
10539        have.
10540       
10541        nthrow1value was making too small of a TSP frame around the call to
10542        the cleanup code, clobbering TSP links in some cases.  It was also
10543        failing to pop catch frames.
10544       
10545        stkgvector was unimplented.
10546       
10547        _car order-of-arguments problems in (at least) spreadargz.
10548
105492006-03-11 23:47  gb
10550
10551        * lisp-kernel/x86-subprims64.s: Push a 0 and make the initial lisp
10552        %rbp point to it, to mark the end of the line.
10553
105542006-03-11 23:47  gb
10555
10556        * lisp-kernel/xlbt.c: Sketchy kernel-debugger backtrace.
10557
105582006-03-11 23:46  gb
10559
10560        * lisp-kernel/x86-constants64.h: A lisp_frame struct, for kernel
10561        backtrace.
10562
105632006-03-11 23:46  gb
10564
10565        * lisp-kernel/pmcl-kernel.c: Try (temporily) disabling Lisp's
10566        SIGINT handler.   There seem to be problems using a keyboard
10567        interrupt to awaken GDB on the version of x96-64 Linux I'm using.
10568        This didn't fix those problems completely, but we won't need to
10569        handle SIGINT in the lisp until more code works.
10570
105712006-03-11 23:43  gb
10572
10573        * lisp-kernel/macros.h: I may have parenthesized nodeheader_tag_p
10574        and immheader_tag_p; several versions of  GCC generated code that
10575        looked wrong, but since it's C it's hard to tell.   Splitting the
10576        macros up (into "mask definition" and "mask testing" seems to
10577        generate the right code (a bit test if optimization's cranked up.)
10578
105792006-03-11 23:41  gb
10580
10581        * level-0/X86/x86-misc.lisp: Fix a few typos (fixnum vs unboxed
10582        constants, etc.)
10583       
10584        %ATOMIC-DECF-PTR-IF-POSITIVE should return what we would have
10585        (might have) stored in the word accessed by the pointer (in
10586        particular, it should return a negative value if there are no other
10587        threads waiting on a recursive lock.)
10588
105892006-03-11 23:38  gb
10590
10591        * level-0/PPC/ppc-misc.lisp: Fix file name in comment.
10592
105932006-03-11 23:38  gb
10594
10595        * compiler/X86/X8664/x8664-vinsns.lisp: ENSURE-RESERVED-FRAME: test
10596        was backwards.
10597
105982006-03-11 23:37  gb
10599
10600        * compiler/X86/X8664/x8664-arch.lisp: Don't use FN as arg name in
10601        LFUN-VECTOR, since x8664::fn is a constant (symbolic register
10602        name.)
10603       
10604        Add missing close paren.
10605
106062006-03-11 23:36  gb
10607
10608        * compiler/X86/x862.lisp: Ensure stack fencepost in simple
10609        &optional arg case.
10610       
10611        Do the variable-arg-count case if complex &optional, no &rest/&key,
10612        and some (possibly unsupplied) optionals may or may not have been
10613        pushed by the caller.
10614
106152006-03-11 04:11  gb
10616
10617        * lisp-kernel/: image.c, lisp_globals.h: Fix conditionalization: we
10618        don't define PPC32, but it might be clearer if we did.
10619
106202006-03-11 03:28  gb
10621
10622        * level-1/version.lisp: Bump.
10623
106242006-03-11 03:20  gb
10625
10626        * library/: darwin-syscalls.lisp, linux-syscalls.lisp,
10627        syscall.lisp: New mechanism, mostly to make cross-compilation
10628        easier.
10629
106302006-03-11 03:20  gb
10631
10632        * level-0/X86/x86-def.lisp: Extra paren; %NTH-IMMEDIATE and
10633        function/lfun-vector stuff, CLOSURE-FUNCTION here until that can be
10634        abstracted away sanely.
10635
106362006-03-11 03:18  gb
10637
10638        * level-0/X86/x86-misc.lisp: %STORE-IMMEDIATE-CONDITIONAL needs to
10639        discard the frame that the caller reserved.
10640
106412006-03-11 03:17  gb
10642
10643        * level-0/X86/x86-clos.lisp: Comment out the PPC LAP (e.g.,
10644        everything in the file, still).
10645
106462006-03-11 03:15  gb
10647
10648        * level-0/PPC/ppc-def.lisp: CLOSURE-FUNCTION here.  (Abstract away
10649        NTH-IMMEDIATE ?)
10650
106512006-03-11 03:14  gb
10652
10653        * level-0/l0-misc.lisp: Indentation.
10654
106552006-03-11 03:13  gb
10656
10657        * level-0/l0-def.lisp: Move CLOSURE-FUNCTION to arch-specific dir.
10658        Use LFUN-VECTOR, which should hopefully compile away on PPC but
10659        needs to be there on X8664.
10660
106612006-03-11 03:11  gb
10662
10663        * compiler/X86/X8664/x8664-vinsns.lisp: Now that subprim addresses
10664        are higher, there's another significant byte to deal with in the
10665        subprim jump in %INIT-CLOSURE.
10666       
10667        Use a temporary - and a smaller instruction sequence - in
10668        MISC-ELEMENT-COUNT-FIXNUM, so that src and dest can overlap.  (More
10669        instructions, but fewer bytes.)
10670
106712006-03-11 03:08  gb
10672
10673        * compiler/PPC/PPC32/ppc32-arch.lisp,
10674        compiler/PPC/PPC64/ppc64-arch.lisp,
10675        compiler/X86/X8664/x8664-arch.lisp, lib/macros.lisp: LFUN-VECTOR
10676        and LFUN-VECTOR-LFUN are arch-specific macros.
10677
106782006-03-11 03:07  gb
10679
10680        * lisp-kernel/x86-spentry64.s: Reformat a comment.
10681
106822006-03-10 22:06  gb
10683
10684        * xdump/xx8664-fasload.lisp: Target-specific static-space (NIL
10685        representation, mostly) init functions.
10686       
10687        Move image-base-address up a few terabytes.
10688       
10689        Undefined function and macro trampolines are vectors with an
10690        executable fixnum in the 0th word.
10691
106922006-03-10 22:05  gb
10693
10694        * xdump/xppcfasload.lisp: Target-specific static-space (NIL
10695        representation, mostly) init functions.
10696
106972006-03-10 22:04  gb
10698
10699        * xdump/xfasload.lisp: Lots of changes, to deal with
10700        symbol/function tagging issues, x86 clfuns, etc.
10701
107022006-03-10 22:03  gb
10703
10704        * xdump/heap-image.lisp: Endianness, word-size conditionalization
10705        stuff.
10706
107072006-03-10 22:02  gb
10708
10709        * lisp-kernel/linuxx8664/Makefile: C files depend on lisptypes.h.
10710
107112006-03-10 22:01  gb
10712
10713        * lisp-kernel/linuxx8664/elf_x86_64.x: Don't try to link into low
10714        memory (no real reason to.) Do try to put spjump at a
10715        fixed/known/page-aligned address.
10716
107172006-03-10 21:59  gb
10718
10719        * lisp-kernel/x86_print.c: Recognize some x8664 tags.
10720
107212006-03-10 21:59  gb
10722
10723        * lisp-kernel/x86-subprims64.s: Use Rforeign_sp; get valence right
10724        on exit.
10725
107262006-03-10 21:58  gb
10727
10728        * lisp-kernel/x86-spjump64.s: Rename ffcall/syscall.
10729
107302006-03-10 21:58  gb
10731
10732        * lisp-kernel/x86-spentry64.s: Lots of fixes/changes (including
10733        ffcall/syscall).
10734
107352006-03-10 21:56  gb
10736
10737        * lisp-kernel/x86-macros.s: TSP_Alloc_Size is an immediate operand
10738        in TSP_Alloc_Fixed().
10739       
10740        Fix allocptr/allocbase comparison when consing.
10741       
10742        Misc_Alloc_Fixed: m4/gas $ conflation.
10743
107442006-03-10 21:54  gb
10745
10746        * lisp-kernel/x86-exceptions.h: Extra parens around xpGPR
10747        expansion.
10748
107492006-03-10 21:54  gb
10750
10751        * lisp-kernel/x86-exceptions.c: Actually handle something
10752        (uuo_alloc()), since we can't do much without it.
10753
107542006-03-10 21:53  gb
10755
10756        * lisp-kernel/x86-constants64.s: Call the foreign sp register
10757        Rforeign_sp, to avoid m4 lossage.
10758       
10759        nrs starts at #x2020, because NIL is between there and #x2000.
10760
107612006-03-10 21:52  gb
10762
10763        * lisp-kernel/x86-constants64.h: Iallocptr for trap handler.
10764       
10765        tcr was missing foreign_sp definition.
10766
107672006-03-10 21:51  gb
10768
10769        * lisp-kernel/thread_manager.c: get_tcr() change for HAVE_TLS case.
10770
107712006-03-10 21:51  gb
10772
10773        * lisp-kernel/ppc-exceptions.c: Put a sane value in the FPSCR
10774        before calling back to lisp on an exception.
10775
107762006-03-10 21:50  gb
10777
10778        * lisp-kernel/pmcl-kernel.c: Use address of bad_funcall, not
10779        "value".
10780       
10781        Disable EGC on x8664.
10782
107832006-03-10 21:49  gb
10784
10785        * lisp-kernel/lisptypes.h: formatting change only.
10786
107872006-03-10 21:49  gb
10788
10789        * lisp-kernel/lisp_globals.h: Layout of lisp-globals/nrs on x8664
10790        not identical to ppc64 (NIL representation differs.)
10791
107922006-03-10 21:48  gb
10793
10794        * lisp-kernel/lisp-debug.c: Lisp register stuff for x8664.
10795
107962006-03-10 21:48  gb
10797
10798        * lisp-kernel/image.c: Fix some conditionalization.
10799
108002006-03-10 21:47  gb
10801
10802        * lisp-kernel/area.h: Larger IMAGE-BASE-ADDRESS for X8664 Linux.
10803
108042006-03-10 21:46  gb
10805
10806        * library/: linux-syscalls.lisp, syscall.lisp: Try to make things a
10807        little more portable, but really need to keep things in the
10808        target-ftd.  Soon.
10809
108102006-03-10 21:45  gb
10811
10812        * level-0/l0-numbers.lisp: Don't reference
10813        TARGET::LEAST-SIGNIFICANT-BIT in ASH; express limits in terms of
10814        TARGET::NBITS-IN-WORD.
10815
108162006-03-10 21:45  gb
10817
10818        * level-0/l0-misc.lisp: Add some fixnum decls to %GET-CSTRING, so
10819        that single-stepping through it in GDB is faster.
10820
108212006-03-10 21:44  gb
10822
10823        * level-0/l0-io.lisp: %YIELD here, so all level-0 syscalls are in
10824        one file.
10825
108262006-03-10 21:43  gb
10827
10828        * level-0/l0-cfm-support.lisp: We generally want foreign symbol
10829        addresses to be boxed integers on X8664, and can't assume that
10830        they're fixnum-aligned.
10831
108322006-03-10 21:42  gb
10833
10834        * level-0/: l0-array.lisp, l0-init.lisp: Comment indentation.
10835
108362006-03-10 21:41  gb
10837
10838        * lisp-kernel/linuxx8664/.gdbinit: Well, it's a start ...
10839
108402006-03-10 21:41  gb
10841
10842        * level-0/X86/x86-utils.lisp: %KERNEL-IMPORT boxes what may not
10843        have been a fixnum.
10844
108452006-03-10 21:40  gb
10846
10847        * level-0/X86/x86-misc.lisp: Fix typo.
10848       
10849        STORE-NODE-CONDITIONAL pops stack arg, discards stack frame
10850        reserved by caller before jumping into kernel.
10851
108522006-03-10 21:39  gb
10853
10854        * level-0/X86/x86-float.lisp: Missing SET-MXCSR-CONTROL was hidden
10855        in duplicate SET-MSCSR-STATUS.  May want to always set/get the
10856        control and rounding modes.
10857
108582006-03-10 21:37  gb
10859
10860        * level-0/X86/x86-def.lisp: Comment out the missing lexpr/apply
10861        stuff, so that the rest of the file compiles.
10862
108632006-03-10 21:36  gb
10864
10865        * level-0/X86/x86-array.lisp: %INIT-MISC wants/needs to be in LAP
10866        because of write-barrier issues.
10867
108682006-03-10 21:35  gb
10869
10870        * lib/x8664env.lisp: It's OK (in fact necessary) to use FP0 as a
10871        temporary.  0.0 is in FPZERO.
10872
108732006-03-10 21:34  gb
10874
10875        * lib/nfcomp.lisp: Spit out a fasl op while writing CLFUNs.
10876
108772006-03-10 21:33  gb
10878
10879        * level-0/PPC/ppc-float.lisp: Don't CLEAR-FPU-EXCEPTIONS, at least
10880        without knowing why.
10881
108822006-03-10 21:32  gb
10883
10884        * compiler/X86/X8664/x8664-vinsns.lisp: SETcc sets the byte to 1 or
10885        0, so we need to negate.
10886       
10887        Other bug fixes and additions.
10888
108892006-03-10 21:31  gb
10890
10891        * compiler/X86/X8664/x8664-arch.lisp: Fix a typo in
10892        X8664-MISC-BYTE-SIZE.
10893       
10894        Move subprims base up to #x410000, to make it easier on the linker.
10895
108962006-03-10 21:29  gb
10897
10898        * compiler/X86/x862.lisp: Lots-o-fixes; FFI stuff.  When generating
10899        code involving a :REG8 operand, be careful to pass the 8-bit reg
10900        entry to LAP.
10901
109022006-03-10 21:27  gb
10903
10904        * compiler/X86/x86-lapmacros.lisp: X86 CMOV instructions reference
10905        the source operand (possibly generating a memory fault) even if the
10906        destination operand isn't written to.  Who knew ?
10907
109082006-03-10 21:24  gb
10909
10910        * compiler/X86/x86-disassemble.lisp: Recognize newer UUOs.
10911
109122006-03-10 21:24  gb
10913
10914        * compiler/X86/x86-lap.lisp: Use the #x80 bit in an instruction's
10915        REX prefix to indicate when the prefix needs to be emitted (even if
10916        the #x7 bits are clear).
10917
109182006-03-10 21:23  gb
10919
10920        * compiler/X86/x86-asm.lisp: A few UUOs; try to ensure that we'll
10921        generate (at least) a #x40 REX prefix if a new-style byte register
10922        is used as an operand.  (e.g., we generally don't want to refer to
10923        the traditional things like %dh, and do want to refer to the newer
10924        things like %sil.)
10925
109262006-03-10 21:20  gb
10927
10928        * compiler/X86/x86-arch.lisp: rename *X86-NILREG-RELATIVE-SYMBOLS*
10929        -> *X86-NIL-RELATIVE-SYMBOLS*.
10930
109312006-03-10 21:18  gb
10932
10933        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
10934        PPC64/ppc64-vinsns.lisp: %SINGLE-TO-DOUBLE, %DOUBLE-TO-SINGLE, to
10935        avoid consing in some simple cases.
10936
109372006-03-10 21:17  gb
10938
10939        * compiler/PPC/ppc-arch.lisp: Rename *PPC-NILREG-RELATIVE-SYMBOLS*
10940        -> *PPC-NIL-RELATIVE-SYMBOLS* (NIL hasn't been in a register in a
10941        few years.)
10942
109432006-03-10 21:15  gb
10944
10945        * compiler/optimizers.lisp: On 64-bit targets, SINGLE-FLOATs are
10946        EQL iff EQ.
10947       
10948        Try to recognize a few ways of coercing SINGLE-FLOATs to
10949        DOUBLE-FLOATs and vice versa, so that we have some chance of
10950        avoiding consing in some cases.
10951
109522006-03-10 21:13  gb
10953
10954        * compiler/nxenv.lisp: Add %SINGLE-TO-DOUBLE, %DOUBLE-TO-SINGLE.
10955        Replace unused EMBEDDED-CALL with SYSCALL.
10956
109572006-03-10 21:12  gb
10958
10959        * compiler/nx1.lisp: Just use SYSCALL operator to mark x8664
10960        syscalls.
10961
109622006-03-10 21:12  gb
10963
10964        * .cvsignore: Change patterns.
10965
109662006-03-07 06:49  gb
10967
10968        * lisp-kernel/x86-spentry64.s: Assume that fpzero (not fp0)
10969        contains 0.0.
10970       
10971        Get a few more things working, or at least written.
10972
109732006-03-07 06:48  gb
10974
10975        * lisp-kernel/: x86-macros.s, x86-subprims64.s: Assume that fpzero
10976        (not fp0) contains 0.0.
10977
109782006-03-07 06:48  gb
10979
10980        * lisp-kernel/x86-constants64.s: Define fpzero = xmm15.
10981       
10982        Pad the (misnamed) fpscr field in the TCR.
10983
109842006-03-06 06:37  gb
10985
10986        * lib/nfcomp.lisp: Initial, crude support for cross-dumping
10987        "concatenated" lisp functions.
10988
109892006-03-06 06:36  gb
10990
10991        * level-0/l0-numbers.lisp: Fix comment indentation in a function
10992        that the x8664 backend was choking on.
10993
109942006-03-06 06:36  gb
10995
10996        * compiler/X86/X8664/x8664-vinsns.lisp: use fpzero when a zero is
10997        needed,  not fp0.
10998
109992006-03-06 06:35  gb
11000
11001        * compiler/X86/X8664/x8664-arch.lisp: xmm15 is fpzero (contains
11002        0.0[de]0).  (xmm0 is used for ff-call.)
11003
110042006-03-06 06:35  gb
11005
11006        * compiler/X86/x862.lisp: X862-COMPILE: don't reserve quad for null
11007        function name, even if debug info is present.
11008
110092006-03-06 06:34  gb
11010
11011        * compiler/X86/x86-lap.lisp: RELAX-FRAG-LIST: account for (possibly
11012        non-zero) length of :ALIGN frags.  CROSS-CREATE-X86-FUNCTION: don't
11013        emit function name if it's nil, even if debug-info is present.
11014
110152006-03-06 06:30  gb
11016
11017        * compiler/X86/x86-asm.lisp: Add a declaration to suppress compiler
11018        warning on forward reference.
11019
110202006-03-06 03:27  gb
11021
11022        * xdump/xfasload.lisp: Fix parens.
11023
110242006-03-06 02:59  gb
11025
11026        * xdump/xfasload.lisp: Remove many uses of TARGET-ARCH-CASE (thus
11027        removing many uses of ppc/ppc32/ppc64 package symbols.)  Some uses
11028        remain.
11029
110302006-03-06 02:57  gb
11031
11032        * lib/macros.lisp: Define TARGET-ARCH-CASE in terms of CASE, not
11033        ECASE.
11034
110352006-03-05 19:12  gb
11036
11037        * compiler/PPC/PPC64/ppc64-arch.lisp: typecode, lisptag are in ccl
11038        package.
11039
110402006-03-05 19:01  gb
11041
11042        * level-1/version.lisp: Bump; some of this is hard to bootstrap.
11043
110442006-03-05 19:00  gb
11045
11046        * lib/macros.lisp: Move some %kernel-global nonsense here.
11047
110482006-03-05 19:00  gb
11049
11050        * level-1/l1-lisp-threads.lisp: Define macros in ... macros.lisp,
11051        of all places.
11052
110532006-03-05 18:59  gb
11054
11055        * level-0/X86/x86-array.lisp: write some code in lisp
11056        (temporarily), clean up some typos so that the file compiles.
11057
110582006-03-05 18:58  gb
11059
11060        * compiler/: arch.lisp, PPC/PPC32/ppc32-arch.lisp,
11061        PPC/PPC64/ppc64-arch.lisp, X86/X8664/x8664-arch.lisp: More
11062        parameters (mostly for xloader) in target-arch struct.
11063
110642006-03-05 18:52  gb
11065
11066        * xdump/xfasload.lisp: Get target parameters from
11067        (backend-target-arch *target-backend*)).
11068
110692006-03-05 06:17  gb
11070
11071        * xdump/xx8664-fasload.lisp: Closer ...
11072
110732006-03-05 06:17  gb
11074
11075        * xdump/hashenv.lisp: Arch macros for hashing macros.
11076
110772006-03-05 06:16  gb
11078
11079        * level-1/l1-lisp-threads.lisp: Arch macros for kernel globals.
11080
110812006-03-05 06:16  gb
11082
11083        * level-1/l1-readloop-lds.lisp: Check *interrupt-level* value, not
11084        (interrupt-level).
11085
110862006-03-05 06:15  gb
11087
11088        * level-1/l1-clos-boot.lisp: Make *class-table* a global.
11089
110902006-03-05 06:15  gb
11091
11092        * level-0/X86/X8664/x8664-bignum.lisp: use temp2.b (= cl) for
11093        variable shifts.
11094
110952006-03-05 06:14  gb
11096
11097        * level-0/nfasload.lisp: No code-vectors on x8664.
11098
110992006-03-05 06:14  gb
11100
11101        * level-0/l0-numbers.lisp: Conditionalization: 64-bit-target
11102        implies no (need for) destructive single-float ops.
11103
111042006-03-05 06:13  gb
11105
11106        * level-0/l0-misc.lisp: Remove some unused stuff.
11107
111082006-03-05 06:13  gb
11109
11110        * level-0/l0-array.lisp: array-element-type for x8664.
11111
111122006-03-05 06:12  gb
11113
11114        * compiler/X86/X8664/x8664-vinsns.lisp: More stuff.
11115
111162006-03-05 06:12  gb
11117
11118        * compiler/X86/x862.lisp: (Mostly) try to fix fixnum subtraction.
11119