source: trunk/ccl/ChangeLog @ 6235

Last change on this file since 6235 was 6235, 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: 719.8 KB
Line 
12007-04-08 12:09  gb
2
3        * examples/: cocoa-application.lisp, cocoa-backtrace.lisp,
4        cocoa-defaults.lisp, cocoa-editor.lisp, cocoa-inspector.lisp,
5        cocoa-listener.lisp, cocoa-prefs.lisp, cocoa-typeout.lisp,
6        cocoa-window.lisp, cocoa.lisp:
7        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
8       
9        Some changes in font, nsstring stuff to avoid using deprecated
10        featurs.
11
122007-04-08 12:07  gb
13
14        * examples/: webkit.lisp, addressbook.lisp:
15        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
16       
17        Use OBJC:LOAD-FRAMEWORK.
18
192007-04-08 12:06  gb
20
21        * examples/tiny.lisp:
22        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
23
242007-04-08 12:05  gb
25
26        * examples/rubix/: blocks.lisp, lights.lisp, opengl.lisp,
27        rubix.lisp:
28        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
29       
30        Handle CGFLOAT issues in mouse event handlers.
31
322007-04-08 12:04  gb
33
34        * examples/bridge.lisp: Define CGFLOAT, ObjC-2 foreign types here.
35       
36        Define "foreign struct classes" for several common structure types
37        (rectangle, point, size); generate inlined accessors for their
38        slots, PRINT-OBJECT methods, initialization functions, WITH-xxx
39        macros.
40       
41        #/ reader macro: reads a string containing "constituent" characters
42        (including #\:), preserving case.  Does a little bit of
43        sanity-checking on it, then interns it in NEXTSTEP-FUNCTIONS
44        package.
45       
46        Try to deal with cases where foreign type info may be parsed or
47        unparsed.
48       
49        Introduce OBJC-DISPATCH-FUNCTIONs, which are funcallable instances.
50         SHARED-INITIALIZE :AFTER method on OBJC-DISPATCH-FUNCTION looks at
51        message info, tries to determine ambiguity, calls signature
52        function (possibly after trying to resolve ambiguity.)
53       
54        %CALL-NEXT-OBJC-METHOD does some of the same stuff at runtime,
55        calling a signature function that knows how to dispatch to SUPER
56        method. (Likewise, %CALL-NEXT-OBJC-CLASS-METHOD for class methods.)
57       
58        POSTPROCESS-OBJC-MESSAGE-INFO (re-) initializes the associated
59        OBJC-DISPATCH-FUNCTION.
60       
61        Handle PROTOCOLs differently in ambiguous SEND.
62
632007-04-08 12:04  gb
64
65        * examples/objc-runtime.lisp: Compile message send functions per
66        signature.  Handle vararg message sends, partly at runtime.  INIT
67        messages just have their signature info precomputed.  Defining a
68        named OBJC-CLASS makes the class name a static variable whose value
69        is the class (and likewise for the metaclass.)
70        %DECLARE-OBJC-MESSAGE notes method redefinition, cerrors.
71        OBJC:DEFMETHOD and support for it.
72
732007-04-08 12:03  gb
74
75        * examples/objc-support.lisp: Use new syntax.  OBJC:LOAD-FRAMEWORK.
76         Avoid some deprecated C-string stuff (but wimp out and assume
77        ASCII.) Keep track of objc-class-count, provide
78        MAYBE-MAP-OBJC-CLASSES to map new classes iff class count changes.
79        Handle OBJC-PROTOCOLs a bit differently.  Move CGFLOAT definitions,
80        etc. elsewhere.
81
822007-04-08 12:02  gb
83
84        * examples/objc-clos.lisp: RECOGNIZE-OBJC-OBJECT: maybe try mapping
85        classes if first try fails.  ALLOCATE-INSTANCE of objc-object:
86        don't canonicalize instance if no lisp slots (so MAKE-INSTANCE is
87        about as lightweight as MAKE-OBJC-INSTANCE.)
88
892007-04-08 12:01  gb
90
91        * examples/name-translation.lisp:
92        COMPUTE-OBJC-TO-LISP-FUNCTION-NAME was once going to do something
93        non-trivial, now just interns in NEXSTEP-FUNCTIONS.
94
952007-04-08 12:00  gb
96
97        * examples/objc-package.lisp: New file; export more stuff.  Import
98        some of it back into CCL.  Provide a NEXTSTEP-FUNCTIONS package for
99        pseudo-GFs.
100
1012007-04-08 11:59  gb
102
103        * lib/foreign-types.lisp: Foreign-type-ordinals, some of which are
104        canonical.  Straighten out the auxiliary-foreign-types mess a bit.
105        Intern integer types up to 64 bits.
106
1072007-04-08 11:59  gb
108
109        * lib/macros.lisp: DEFGLOBAL = DEFSTATIC.  DEFLOADVAR makes its
110        argument static.  WITH-MACPTRS is saner.  WITH-ENCODED-CSTR writes
111        NUL octet(s) to the end of the encoded string.  MAKE-GCABLE-RECORD,
112        COPY-RECORD.
113
1142007-04-08 11:58  gb
115
116        * lib/db-io.lisp: Slight changes (preserve typedef name) in
117        function/objc method arglists.  UNESCAPE-FOREIGN-NAME: handle
118        missing brackets.
119
1202007-04-08 11:57  gb
121
122        * lisp-kernel/x86-exceptions.c: Handle signals on the altstack if
123        not Darwin.  In Darwin, evactuate off of the lisp stack while
124        interrupts are still disabled.
125
1262007-04-08 11:56  gb
127
128        * lisp-kernel/x86-exceptions.h: USE_SIGALTSTACK, but not on Darwin
129        (where Apple hasn't yet invented the notion that it needs to be
130        thread-specific.)
131
1322007-04-08 11:55  gb
133
134        * lisp-kernel/thread_manager.c: Clear pending interrupt flag when
135        destroying TCR.
136
1372007-04-08 11:54  gb
138
139        * lisp-kernel/ppc-exceptions.c: Lose (commented-out) code which
140        worked around an old Darwin bug.
141
1422007-04-08 11:53  gb
143
144        * lisp-kernel/lisp.h: Don't define USE_SIGALTSTACK here.
145
1462007-04-08 11:52  gb
147
148        * lisp-kernel/image.c: Don't nuke null pointers.
149
1502007-04-08 11:52  gb
151
152        * lisp-kernel/darwinx8664/.gdbinit: Add gtra.
153
1542007-04-08 11:51  gb
155
156        * lisp-kernel/x86-spentry64.s: zeroed stack-block zeroes all bits
157        of macptr.domain, macptr.type.
158
1592007-04-08 11:50  gb
160
161        * xdump/xfasload.lisp: Deal with pkg.intern-hook.
162
1632007-04-08 11:49  gb
164
165        * library/lispequ.lisp: add pkg.intern-hook to package.
166
1672007-04-08 11:48  gb
168
169        * lib/describe.lisp: Start trying to conditionalize some of the
170        stack-frame inspector stuff.
171
1722007-04-08 11:48  gb
173
174        * lib/ffi-darwinppc64.lisp: Structures are basically passed as
175        64-bit word components, with FP fields passed in registers.  This
176        requires some special handling ("hybrid" parameters) in the
177        compiler and %FF-CALL.
178
1792007-04-08 11:47  gb
180
181        * lib/level-2.lisp: %GET-BITFIELD and SETF thereof: deal with
182        endianness.
183
1842007-04-08 11:46  gb
185
186        * lib/nfcomp.lisp: FASL-SCAN: null-pointers as constants are OK.
187
1882007-04-08 11:45  gb
189
190        * lib/source-files.lisp: From Takehiko Abe: handle EQL specializers
191        in %SOURCE-FILES-LIKE-EM.
192
1932007-04-08 11:44  gb
194
195        * lib/streams.lisp: DRIBBLE via PROCESS-DRIBBLE.
196
1972007-04-08 11:43  gb
198
199        * lib/xref.lisp: From Takehiko Abe: handle EQL specializers in
200        MAKE-XREF-ENTRY.
201
2022007-04-08 11:43  gb
203
204        * lib/ccl-export-syms.lisp: Export DEFSTATIC, PAREF, +NULL-PTR+.
205
2062007-04-08 11:42  gb
207
208        * level-1/version.lisp: Bump; new snapshots tomorrow.
209
2102007-04-08 11:41  gb
211
212        * level-1/x86-callback-support.lisp: DEFGLOBAL->DEFSTATIC
213
2142007-04-08 11:40  gb
215
216        * level-1/linux-files.lisp: Very long timeout for
217        WAIT-ON-SEMAPHORE, don't use PROCESS-WAIT, manipulate the whostate
218        if we have to wait at all.
219       
220        Same idea for TIMED-WAIT-ON-SEMAPHORE.
221       
222        Make PIPE code slightly easier to read.
223
2242007-04-08 11:39  gb
225
226        * level-1/l1-utils.lisp: DEFGLOBAL->DEFSTATIC.
227
2282007-04-08 11:38  gb
229
230        * level-1/l1-unicode.lisp: Add NUL-ENCODING field to
231        CHARACTER-ENCODING, use it to determine number/sequence of octets
232        used to encode NUL.
233
2342007-04-08 11:38  gb
235
236        * level-1/l1-streams.lisp: DEFGLOBAL->DEFSTATIC.
237       
238        READ-TOPLEVEL-FORM on ECHO-STREAM has do I/O on the echo stream (so
239        DRIBBLE works); on TWO-WAY-STREAM, should read from the input side
240        so that echoing looks more natural.
241
2422007-04-08 11:37  gb
243
244        * level-1/l1-symhash.lisp: Extra slot  (for intern hook) in PACKAGE
245        object.
246
2472007-04-08 11:36  gb
248
249        * level-1/l1-readloop-lds.lisp: Some changes, then reverted those
250        changes manually and most of the effects were cosmetic.
251        TOPLEVEL-PRINT takes an output stream arg.
252
2532007-04-08 11:35  gb
254
255        * level-1/l1-processes.lisp: Per-process DRIBBLE-ing.
256
2572007-04-08 11:34  gb
258
259        * level-1/l1-lisp-threads.lisp: %TCR-INTERRUPT: don't signal if
260        interrupt is obviously pending.
261
2622007-04-08 11:33  gb
263
264        * level-1/l1-io.lisp: Change pointer printing.
265
2662007-04-08 11:33  gb
267
268        * level-1/l1-init.lisp: +NULL-PTR+.
269
2702007-04-08 11:31  gb
271
272        * level-1/: l1-dcode.lisp, l1-events.lisp: DEFSTATIC is now the
273        preferred name for DEFGLOBAL.
274
2752007-04-08 11:30  gb
276
277        * level-1/l1-clos-boot.lisp: DEFSTATIC is now the preferred name
278        for DEFGLOBAL.
279       
280        Mechanism for associating a (built-in) class with a foreign type
281        ordinal.
282
2832007-04-08 11:29  gb
284
285        * level-1/l1-callbacks.lisp: DEFSTATIC is now the preferred name
286        for DEFGLOBAL.
287       
288        %CALLBACK-FUNCTION accepts a symbol (as well as a pointer that's
289        likely the global value of some symbol.)
290
2912007-04-08 11:28  gb
292
293        * level-1/l1-boot-2.lisp: DEFSTATIC is now the preferred name for
294        DEFGLOBAL.
295       
296        Standard CL streams now bound per-thread.
297       
298        Install standard foreign types here, not every time that
299        FOREIGN-TYPES is loaded.
300       
301        Canonicalize foreign type ordinals as soon as we can.  (This is
302        part of a scheme to give foreign types "ordinals' that can be used
303        to assert pointer types; we need some of those ordinal numbers to
304        be pre-assigned, since we can't reference foreign types early in
305        the cold load.)
306
3072007-04-08 11:27  gb
308
309        * level-1/l1-aprims.lisp: DEFSTATIC is now the preferred name for
310        DEFGLOBAL.  GCABLE-PTR-P.
311
3122007-04-07 21:25  gb
313
314        * level-0/nfasload.lisp: %INSERT-SYMBOL might call pkg.intern-hook.
315         Handle maintenance of auto-export packages differently.
316        $fasl-timm just needs an :int, not a :long.
317
3182007-04-07 21:24  gb
319
320        * level-0/l0-symbol.lisp: SET-TYPE-PREDICATE returns the
321        "functional", not random symbol guts.
322
3232007-04-07 21:23  gb
324
325        * level-0/l0-misc.lisp: Use %PTR-STORE-FIXNUM-CONDITIONAL in
326        %GET-SPIN-LOCK.  Locking code: spin lock must be released before
327        interrupts are re-enabled.
328
3292007-04-07 21:22  gb
330
331        * level-0/l0-io.lisp: FREE tries to handle gcable pointers.
332
3332007-04-07 21:20  gb
334
335        * level-0/: PPC/ppc-misc.lisp, X86/x86-misc.lisp:
336        %PTR-STORE-FIXNUM-CONDITIONAL.
337
3382007-04-07 21:19  gb
339
340        * level-0/PPC/ppc-def.lisp: Handle "hybrid" integer/float arguments
341        in DarwinPPC64 #'%FF-CALL.
342
3432007-04-07 21:19  gb
344
345        * compiler/optimizers.lisp: When trying to infer result type of
346        MAKE-ARRAY call, unquote quoted type specifier.
347       
348        Strength-reduce FLOAT when second argument is of known type.
349
3502007-04-07 21:18  gb
351
352        * compiler/nxenv.lisp: Operators of %SINGLE-FLOAT, %DOUBLE-FLOAT.
353
3542007-04-07 21:17  gb
355
356        * compiler/nx1.lisp: Allow extra "hybrid" ff-call argspecs (for
357        DarwinPPC64.) Cut-and-paste bug re: nx1-%fixnum-to-single/double.
358        Parse %short-float, %double-float when no "result" arg; can at
359        least try to constant-fold late and/or do some cases if we have
360        more type info.
361
3622007-04-07 21:16  gb
363
364        * compiler/nx0.lisp: Lose some whitespace in the "static var can't
365        be bound" error message.
366
3672007-04-07 21:15  gb
368
369        * compiler/X86/x862.lisp: Same inline/lambda-bind/dynamic-extent
370        bug as on PPC.  %SINGLE-FLOAT, %DOUBLE-FLOAT here, too.
371
3722007-04-07 21:14  gb
373
374        * compiler/X86/X8664/x8664-backend.lisp: In EXPAND-FF-CALL, adjust
375        remaning GPR/FPR counts even if arg is "simple" and passes straight
376        through to %FF-CALL.
377
3782007-04-07 21:13  gb
379
380        * compiler/PPC/ppc2.lisp: Fix a long-standing bug involving
381        LAMBDA-BIND operator, dynamic-extent &REST, and stack memoization.
382        Handle DarwinPPC64 ABI conventions, where SINGLE-FLOATs may be
383        passed in the same doubleword as GPRs.  %DOUBLE-FLOAT,
384        %SINGLE-FLOAT stuff: do inlining late, catch some other cases.
385
3862007-04-07 21:12  gb
387
388        * compiler/PPC/PPC64/ppc64-vinsns.lisp: RELOAD-SINGLE-C-ARG-HIGH,
389        for Darwin structure-passing ABI.
390
3912007-04-07 21:10  gb
392
393        * OpenMCL.app/Contents/Resources/English.lproj/:
394        MainMenu.nib/info.nib, MainMenu.nib/keyedobjects.nib,
395        MainMenu.nib/objects.nib, OpenmclInspector.nib/info.nib,
396        OpenmclInspector.nib/keyedobjects.nib,
397        OpenmclInspector.nib/objects.nib, backtrace.nib/info.nib,
398        backtrace.nib/keyedobjects.nib, backtrace.nib/objects.nib,
399        lispeditor.nib/info.nib, lispeditor.nib/keyedobjects.nib,
400        lispeditor.nib/objects.nib: Convert .nib to use utf-8
401        representation, not binary.
402
4032007-04-06 22:10  gb
404
405        * lisp-kernel/pmcl-kernel.c: Patch from Andi Kleen: set vmemoryuse
406        (RLIMIT_AS) current resource limit to max limit, since some distros
407        limit it.
408
4092007-04-03 03:11  gb
410
411        * level-1/l1-streams.lisp: Takehiko Abe's fix to
412        %IOBLOCK-WRITE-U16-ENCODED-CHAR.
413
4142007-04-02 22:10  gb
415
416        * level-1/l1-unicode.lisp: Takehiko Abe's fixes (missing "stream"
417        arg in utf-16 encode, missing #x in little-endian bom-marker
418        definition.)
419
4202007-03-14 23:10  gb
421
422        * lisp-kernel/x86-exceptions.c: Remove a debugging fprintf.
423
4242007-03-14 05:11  gb
425
426        * lib/ffi-darwinppc32.lisp: Fix typo (extra quote) in
427        generate-callback-bindings.
428
4292007-03-13 06:10  gb
430
431        * lisp-kernel/darwinx8664/Makefile: (re-)enable -O2.
432
4332007-03-13 03:58  gb
434
435        * lib/backtrace.lisp: Fix fenceposts in CLOSURE-CLOSED-OVER-VALUES.
436
4372007-03-12 05:11  gb
438
439        * lisp-kernel/x86-exceptions.c: Simplify interrupt_handler() a
440        little.
441
4422007-03-12 05:10  gb
443
444        * lib/foreign-types.lisp: Fix "extra arguments" error message in
445        %EXTERNAL-CALL-EXPANDER.
446
4472007-03-12 05:09  gb
448
449        * level-1/l1-clos-boot.lisp: class-wrapper-random-state: use
450        encapsulation, and a lock.
451
4522007-03-12 05:08  gb
453
454        * level-1/: l1-aprims.lisp, l1-numbers.lisp: *RANDOM-STATE* is
455        thread-local.
456
4572007-03-12 02:25  gb
458
459        * lisp-kernel/x86-exceptions.c: in catch_exception_raise(), try to
460        deal with variations in Mach behavior: "exception" may be
461        EXC_BAD_ACCESS when an illegal instruction causes a "general
462        protection fault".
463
4642007-03-09 15:56  gb
465
466        * level-1/l1-files.lisp: Bill's fix to (MAKE-PATHNAME :DIRECTORY
467        NIL ...)
468
4692007-03-09 00:01  gb
470
471        * lib/dumplisp.lisp: Use CLEAR-OPEN-FILE-STREAMS.
472
4732007-03-09 00:00  gb
474
475        * lib/ccl-export-syms.lisp: Accessors of open-file-streams; no more
476        *OPEN-FILE-STREAMS*.
477
4782007-03-09 00:00  gb
479
480        * level-1/: l1-streams.lisp, l1-sysio.lisp: Encapsulation for
481        open-file-streams.
482
4832007-03-08 23:59  gb
484
485        * level-1/l1-readloop.lisp: OPEN-FILE-STREAMS is a function,
486        returns a copy of a list of open file streams in PREPARE-TO-QUIT.
487
4882007-03-08 23:58  gb
489
490        * level-1/l1-init.lisp: Lose *OPEN-FILE-STREAMS* and the lock
491        associated with it.
492
4932007-03-08 23:57  gb
494
495        * level-1/l1-aprims.lisp: Bind *GENSYM-COUNTER* per-thread.
496
4972007-03-08 23:47  gb
498
499        * level-0/l0-hash.lisp: When REMHASH deletes the last entry in a
500        hash-table, it fills the hash-table vector with "free" markers.
501        (There may already be lots of "deleted" markers in the table.)
502
5032007-03-08 22:26  gb
504
505        * level-1/linux-files.lisp: *spin-lock-tries* with a trailing *.
506
5072007-03-08 22:24  gb
508
509        * lib/numbers.lisp: printing random-state: don't shift seeds.
510
5112007-03-08 22:24  gb
512
513        * level-1/l1-numbers.lisp: MAKE-RANDOM-STATE: don't shift.
514
5152007-03-08 22:24  gb
516
517        * level-0/X86/x86-numbers.lisp: Do %next-random-seed more portably.
518
5192007-03-08 22:23  gb
520
521        * level-0/PPC/PPC64/ppc64-bignum.lisp: Typo in comment.
522
5232007-03-08 22:23  gb
524
525        * level-0/PPC/ppc-numbers.lisp: Just a 32-bit version of
526        %next-random-pair.
527
5282007-03-08 22:22  gb
529
530        * level-0/l0-numbers.lisp: And, while we're at it: do the
531        next-random-seed permutation in %next-random-pair, which accepts
532        and returns a pair of 16-bit integers.  That's in lap on ppc32 and
533        in lisp on 64-bit platforms.
534
5352007-03-08 22:20  gb
536
537        * level-0/l0-numbers.lisp: Don't shift random seeds.
538
5392007-03-08 03:30  gb
540
541        * level-1/x86-error-signal.lisp: Check for trap opcode >= #x70
542        rather than >= #x80, because of the new way that
543        uuo-error-slot-unbound is encoded.
544
5452007-03-08 03:28  gb
546
547        * compiler/X86/x86-disassemble.lisp: Recognize
548        uuo-error-slot-unbound.
549
5502007-03-08 03:28  gb
551
552        * compiler/X86/x86-asm.lisp: Use (int #x7_) for
553        uuo-error-slot-unbound, since some (int #x8_) traps confuse Mach.
554
5552007-03-07 08:29  gb
556
557        * compiler/PPC/ppc2.lisp: Don't shadow the definition of PPC-DIV2.
558
5592007-03-07 07:45  gb
560
561        * level-1/linux-files.lisp: For #+linux-target, try to use
562        #_sysconf in CPU-COUNT, and fall back to parsing /proc/cpuinfo only
563        if that fails.  (CPU-COUNT is called early in the cold load, before
564        we can make the file-stream necessary to do the parsing.)
565
5662007-03-07 07:33  gb
567
568        * lisp-kernel/: linuxppc/Makefile, linuxppc64/Makefile,
569        linuxx8664/Makefile: Handle new GNU ld "hash-style" linker options.
570
5712007-03-07 07:25  gb
572
573        * lisp-kernel/x86-exceptions.h: Darwin signal return: logior in the
574        el-bizarro syscall mask, pass the magic number 0x1e as a second
575        arg, just in case.
576
5772007-03-07 07:24  gb
578
579        * level-1/l1-sysio.lisp: OPEN, CLOSE lock *OPEN-FILE-STREAMS-LOCK*
580        before accessing *OPEN-FILE-STREAMS*.
581
5822007-03-07 07:23  gb
583
584        * level-1/l1-readloop.lisp: Add comment about
585        *OPEN-FILE-STREAMS-LOCK*.
586
5872007-03-07 07:23  gb
588
589        * level-1/l1-init.lisp: Add *OPEN-FILE-STREAMS-LOCK*.
590
5912007-03-07 07:21  gb
592
593        * lib/nfcomp.lisp: Bind *FCOMP-PREVIOUS-POSITION* in
594        FCOMP-READ-LOOP (e.g., don't just hammer on the static binding.)
595
5962007-03-07 07:05  gb
597
598        * xdump/heap-image.lisp: Bump current image version.
599
6002007-03-07 07:02  gb
601
602        * lisp-kernel/x86-asmutils64.s: Some (currently unused) CPUID
603        "calls" want an argument in ecx.  Set that arg to 0 for now.
604
6052007-03-07 07:01  gb
606
607        * lisp-kernel/thread_manager.c: Use spinlocks to guard updates to
608        "real" locks; those updates can be simplified.
609       
610        lock_recursive_lock: no (ignored) timeout arg.
611
6122007-03-07 06:59  gb
613
614        * lisp-kernel/image.h: Bump current, max abi versions; continue to
615        support the old one.
616
6172007-03-07 06:59  gb
618
619        * lisp-kernel/Threads.h: #include #<sched.h>, for sched_yield()
620        prototype.  Change declaration of LOCK macro: no null timespec
621        required.  RECURSIVE_LOCKs have spinlock fields.
622
6232007-03-07 06:56  gb
624
625        * level-1/version.lisp: bump, indicate work-in-progress development
626        version.
627
6282007-03-07 06:56  gb
629
630        * level-1/linux-files.lisp: Determing *spin-lock-tries* at launch
631        time, based on cpu-count.  YIELD moved here, does #_sched_yield
632        rather than something lower-level.
633
6342007-03-07 06:53  gb
635
636        * level-0/l0-misc.lisp: Locks use spinlocks, try *spin-lock-tries*
637        to obtain them before yielding.
638
6392007-03-07 06:52  gb
640
641        * level-0/l0-io.lisp: Move YIELD elsewhere.
642
6432007-03-07 06:51  gb
644
645        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
646        X86/X8664/x8664-arch.lisp: Add spinlock field to lockptr storage
647        layout.
648
6492007-03-02 05:10  gb
650
651        * level-1/l1-application.lisp: Toplevel function: initial-listener
652        class is 'TTY-LISTENER.
653
6542007-03-02 05:09  gb
655
656        * level-1/l1-lisp-threads.lisp: Print n's value, not n in error
657        message.
658
6592007-03-02 05:09  gb
660
661        * level-1/l1-processes.lisp: New process class: TTY-LISTENER.
662       
663        EXIT-INTERACTIVE-PROCESS: for most processes, just PROCESS-KILL.
664        For TTY-LISTENER, call QUIT.
665
6662007-03-02 05:08  gb
667
668        * level-1/l1-readloop-lds.lisp: Don't call QUIT on EOF, call
669        EXIT-INTERACTIVE-PROCESS instead.
670       
671        Look at *QUIT-ON-EOF* when deciding what to do in response to EOF.
672
6732007-03-02 05:06  gb
674
675        * lib/ccl-export-syms.lisp: Export *quit-on-eof*.
676
6772007-03-02 05:06  gb
678
679        * lib/macros.lisp: WITH-MACPTRS: move initialization/modification
680        of null pointers into body.
681
6822007-03-02 05:05  gb
683
684        * lisp-kernel/x86-exceptions.c: Try to handle two more cases of
685        consus-interruptus.
686
6872007-03-02 05:05  gb
688
689        * compiler/nx0.lisp: (the <type> <constant>) transforms to
690        <constant> if constant is of type <type>.)
691       
692        Do we need an ignore-errors here ? Or does <type> need to be
693        defined ?
694
6952007-03-02 05:03  gb
696
697        * compiler/X86/x862.lisp: Do the / * thing.
698
6992007-03-02 05:02  gb
700
701        * compiler/X86/X8664/x8664-vinsns.lisp: things that do calls need
702        :call attribute.
703
7042007-03-01 04:04  gb
705
706        * lisp-kernel/x86-spentry64.s: binding primitives: set value after
707        new binding frame
708
7092007-02-28 07:04  gb
710
711        * level-0/X86/x86-numbers.lisp: In %fixnum-truncate, use -8(sp)
712        rather than %rbp; trust callback_for_interrupt() to preserve it.
713
7142007-02-28 07:03  gb
715
716        * lisp-kernel/x86-exceptions.c: Try to preserve -8(sp) across
717        callback_for_interrupt().
718
7192007-02-28 05:18  gb
720
721        * lisp-kernel/x86-gc.c: check_node: ignore tiny things (shift
722        counts) that may wind up on the vstack.
723       
724        Since those tiny things might be tagged as headers, walk the vstack
725        with new "headerless" functions that ignore headers.
726
7272007-02-28 05:16  gb
728
729        * lisp-kernel/x86-exceptions.c: In pc_luser_xp: if allocating and
730        before the alloc trap and interrupting, back out of the
731        modification to save_allocptr (and allocptr register) and set
732        *interrupt_displacement.
733
7342007-02-23 10:13  gb
735
736        * lib/foreign-types.lisp: Changes to GUESS-ALIGNMENT.  Again, this
737        only makes sense for cases where we have to guess; a bitfield
738        that's 8 bits wide still has an alignment of 1.
739       
740        Factor in the alignment of the containing int when bitfields are
741        involved.
742       
743        When parsing a record type, set the "bits" slot of each field.
744        (Not too many things look at that slot, but we want the effect of
745        loading a record from the database to match the effect of parsing a
746        definition as exactly as possible, and to be able to use EQUALP to
747        compare the results.)
748
7492007-02-23 10:06  gb
750
751        * lib/db-io.lisp: Some extra fields in
752        objc-message-info/objc-method-info structures.
753       
754        When calculating overall alignment of a structure, treat bitfields
755        as if they were :unsigned-int (since there's a "containing"
756        unsigned int that affects alignment.  N.B: this should be imposed
757        for anything that has an alignment of 1, not just a size of 1.)
758       
759        When loading integer types, try to use the precomputed types rather
760        than consing a new one.  This (a) reduces consing a little (b) is
761        more likely to get the alignment correct.  For (b), we really need
762        to distinguish between bitfields and addressable integers.
763
7642007-02-23 09:30  gb
765
766        * compiler/X86/x862.lisp: Nonsense in x862-set-bit.
767
7682007-02-22 02:33  gb
769
770        * level-0/l0-misc.lisp: Tweak ROOM output a little.
771
7722007-02-22 02:28  gb
773
774        * lisp-kernel/x86-gc.c: Fix up the verbose GC herald a bit (get
775        heap size right ...).
776
7772007-02-22 02:27  gb
778
779        * lisp-kernel/linuxx8664/Makefile: Tell GNU ld to use the
780        traditional (sysv) style of hash maps, if it understands that
781        option.
782
7832007-02-21 06:01  gb
784
785        * lisp-kernel/: ppc-gc.c, x86-gc.c: Handle the case where nothing
786        has been consed since last GC.  (There are some fenceposts there.)
787       
788        verbose GC herald tries to indicate how much is allocated in the
789        area being GCed.
790
7912007-02-21 05:58  gb
792
793        * lisp-kernel/: ppc-exceptions.c, x86-exceptions.c: If full GC is
794        deferred, ensure that a full GC happens after WITHOUT-GCING exits.
795
7962007-02-21 05:57  gb
797
798        * compiler/X86/x86-disassemble.lisp: Continue disassembly after
799        uuo-gc-trap.
800
8012007-02-19 04:50  gb
802
803        * lib/foreign-types.lisp: Use keywords more consistently.
804       
805        (Note: there seems to be a bug which is keeping the cdb data
806        structures from getting defined correctly at load time; the
807        workaround is to compile foreign-types.lisp - which defines them -
808        in the same session as and before db-io - which uses them - is
809        compiled.)
810
8112007-02-19 04:48  gb
812
813        * level-0/X86/x86-clos.lisp: UNSET-FIN-TRAMPOLINE: don't tail-call
814        error.
815
8162007-02-19 04:42  gb
817
818        * level-0/PPC/ppc-clos.lisp: UNSET-FIN-TRAMPOLINE: don't tail-call
819        the error function.
820
8212007-02-19 04:40  gb
822
823        * level-1/l1-clos-boot.lisp: MAYBE-UPDATE-OBSOLETE-INSTANCE: handle
824        funcallable objects that aren't STANDARD-GENERIC-FUNCTIONs.
825
8262007-02-19 04:40  gb
827
828        * level-1/l1-clos.lisp: Move GENERIC-FUNCTION-NAME to
829        FUNCALLABLE-STANDARD-OBJECT.
830       
831        %ALLOCATE-GF-INSTANCE: don't create a dispatch table if not
832        creating a GF.
833
8342007-02-19 04:36  gb
835
836        * lib/describe.lisp: STANDARD-OBJECT-LINE-N: handle
837        funcallable-stanard-objects better.
838
8392007-02-19 04:34  gb
840
841        * lib/ccl-export-syms.lisp: Export FUNCALLABLE-STANDARD-OBJECT from
842        CCL, OPENMCL-MOP.
843
8442007-02-19 02:09  gb
845
846        * level-1/l1-clos-boot.lisp: FUNCALLABLE-STANDARD-OBJECT is a
847        FUNCALLABLE-STANDARD-CLASS.
848
8492007-02-19 02:07  gb
850
851        * examples/bridge.lisp: MAKE-OPTIMIZED-SEND: missing "msg" arg in
852        error message.
853
8542007-02-15 02:46  gb
855
856        * examples/objc-support.lisp: Call REGISTER-OBJC-INIT-MESSAGES
857        after MAP-OBJC-CLASSES in LOAD-OBJC-EXTENSION-FRAMEWORK.
858
8592007-02-15 02:45  gb
860
861        * examples/bridge.lisp: UPDATE-OBJC-METHOD-INFO: don't process init
862        methods yet.
863
8642007-02-14 02:39  gb
865
866        * release-notes.txt: Fix a typo.
867
8682007-02-14 02:35  gb
869
870        * release-notes.txt: Update for 070214 snapshots.
871
8722007-02-13 23:36  gb
873
874        * level-1/version.lisp: Bump.
875
8762007-02-13 23:36  gb
877
878        * lisp-kernel/image.h, xdump/heap-image.lisp: Update
879        image-abi-version.
880
8812007-02-13 23:29  gb
882
883        * xdump/faslenv.lisp: Finish bumping fasl version.
884
8852007-02-13 23:15  gb
886
887        * lib/nfcomp.lisp: Bump current fasl version.
888
8892007-02-13 23:02  gb
890
891        * x86-headers64/gl/C/populate.sh: rm -rf ./usr
892
8932007-02-13 22:45  gb
894
895        * xdump/faslenv.lisp: Start bumping fasl-version.
896
8972007-02-13 22:41  gb
898
899        * freebsd-headers64/: gmp/C/populate.sh, gnome2/C/populate.sh,
900        gtk2/C/populate.sh, libc/C/populate.sh: rm -rf  ./usr
901
9022007-02-13 21:16  gb
903
904        * freebsd-headers64/gl/C/populate.sh: Avoid processing some files
905        that contain incompatible definitions of some math library stuff
906        ("log" either has to do with logarithms or logging ...).
907
9082007-02-13 18:42  gb
909
910        * lib/misc.lisp: Change the way that TIME is reported by default:
911        mention the number of available CPU cores, don't assume that
912        there's that much of a relationship between CPU time and wall-clock
913        time.
914
9152007-02-13 18:41  gb
916
917        * level-1/linux-files.lisp: Don't do whatever el-bizarro Mach thing
918        once seemed to be necessary in %%RUSAGE.  Require syscall stuff
919        when :execute, too.
920
9212007-02-13 18:35  gb
922
923        * lib/ffi-linuxppc64.lisp: It's %%get-unsigned-longlong, and the
924        offset arg is required.
925
9262007-02-13 18:12  gb
927
928        * level-0/X86/x86-misc.lisp: Add rdtsc (returns 60 bit non-negative
929        fixnum) and rdtsc64 (returns 64-bit non-negative integer.)
930
9312007-02-13 18:10  gb
932
933        * lib/time.lisp: Simpler GET-INTERNAL-RUN-TIME (tries harder not to
934        cons.)
935
9362007-02-13 18:10  gb
937
938        * examples/rubix/rubix.lisp: A little bit of cgfloat stuff; there
939        are more/other float-size issues deeper down in the code.
940
9412007-02-13 18:09  gb
942
943        * examples/objc-support.lisp: Fixup the x86-64 error-return
944        callback trampiline code (was missing a byte of machine code.)
945
9462007-02-13 18:08  gb
947
948        * examples/objc-runtime.lisp: Set the mxcsr/fpctrl fields of
949        jmp-buf to safe/sane values.
950
9512007-02-13 18:07  gb
952
953        * examples/cocoa-window.lisp: Don't change-class
954        *cocoa-event-process* until we start to run the event loop.
955       
956        Don't do _deallocHardCore: explicitly.
957
9582007-02-13 17:35  gb
959
960        * compiler/PPC/ppc2.lisp: poweropen-foreign-args: on ppc64, a
961        DOUBLE-FLOAT aliases just one gpr.
962
9632007-02-13 17:34  gb
964
965        * darwin-headers64/libc/C/populate.sh: Select the SDK directory.
966
9672007-02-13 17:34  gb
968
969        * library/pty.lisp: return-value pointers in OPEN-PTY-PAIR are just
970        32-bit ints, not "long".
971
9722007-02-13 17:33  gb
973
974        * lib/ffi-darwinppc64.lisp: Callback arguments: update offset/delta
975        for each scalar, not each arg.
976       
977        Fix some backquoting/indentation.
978
9792007-02-13 17:31  gb
980
981        * lib/ffi-darwinppc32.lisp: Fix typo (^get-signed-long).
982
9832007-02-12 16:23  gb
984
985        * darwin-x86-headers64/libc/C/populate.sh: Select an SDK.
986
9872007-02-11 20:22  gb
988
989        * examples/bridge.lisp: method-typestring needs to be
990        conditionalized.  How has this been working ?
991
9922007-02-11 20:22  gb
993
994        * examples/cocoa-editor.lisp: remove some debugging code.
995
9962007-02-11 20:21  gb
997
998        * examples/objc-runtime.lisp: %mlist-containing is
999        #-apple-objc-2.0.
1000
10012007-02-11 20:21  gb
1002
1003        * examples/objc-support.lisp: Lose a quote mark, fix another typo.
1004
10052007-02-11 05:35  gb
1006
1007        * level-1/version.lisp: Bump.
1008
10092007-02-11 05:28  gb
1010
1011        * darwin-headers/: addressbook/C/populate.sh, carbon/C/populate.sh,
1012        cocoa/C/populate.sh, gl/C/populate.sh, libc/C/populate.sh,
1013        quicktime/C/populate.sh, webkit/C/populate.sh: Make the SDK prefix
1014        an optional argument; default to the Tiger SDK.
1015
10162007-02-11 05:26  gb
1017
1018        * lib/ffi-darwinppc32.lisp: Ignore errors; it's an error to ignore
1019        an errror.
1020
10212007-02-11 05:26  gb
1022
1023        * level-1/ppc-trap-support.lisp: Conditionalize for gratuitous
1024        Leopard renaming.  Suffer.
1025
10262007-02-11 05:25  gb
1027
1028        * level-1/l1-boot-lds.lisp: MAKE-MCL-LISTENER-PROCESS will preset
1029        an existing process (so that the listener process appears to be
1030        "persistent".)
1031
10322007-02-11 05:24  gb
1033
1034        * level-1/l1-application.lisp: LISP-DEVELOPMENT-SYSTEM tries to
1035        make the initial-listener object persistent acrosss
1036        SAVE-APPLICATION.
1037
10382007-02-11 00:01  gb
1039
1040        * examples/objc-support.lisp: Deftype for CF-FLOAT.
1041       
1042        Handle callback-error-returns on x86-64.
1043
10442007-02-11 00:00  gb
1045
1046        * examples/objc-runtime.lisp: Pointer comparisons in splay trees
1047        use %ptr<, to hide word-size differences.
1048       
1049        __NSConstantStringClassReference isn't what it used to be, so look
1050        up NSConstantStringClass the hard way.
1051       
1052        Handle ns-exception/lisp-error stuff on x86-64.
1053       
1054        Do arg/result coercions differently.  Does any code depend on
1055        COERCE-TO-ADDRESS behavior ?  (It can cause extra consing of
1056        MACPTRs).
1057       
1058        Use the new FFI interface for message-sends, callbacks to try to
1059        hide platform-specific ABI issues.
1060       
1061        The _deallocate-hook mechanism - which never really worked -
1062        probably can't work on Objc-2.0.
1063
10642007-02-10 23:54  gb
1065
1066        * examples/bridge.lisp: Make structure return-type explicit in
1067        objc-message-send calls in send/stret and variants.
1068
10692007-02-10 22:34  gb
1070
1071        * examples/cocoa-window.lisp: Some indentation changes and slight
1072        reorganization of the code; shouldn't be any functional/semantic
1073        changes.
1074
10752007-02-10 22:30  gb
1076
1077        * examples/: cocoa-editor.lisp, cocoa-prefs.lisp,
1078        cocoa-typeout.lisp: Need to ensure that floats are CG-FLOATs when
1079        appropriate; other changes for 64-bit platforms, Objc-2.0.
1080
10812007-02-10 22:28  gb
1082
1083        * examples/: webkit.lisp, tiny.lisp: Need to ensure that floats are
1084        CG-FLOATs when appropriate.
1085
10862007-02-10 22:28  gb
1087
1088        * hemlock/bin/openmcl/.cvsignore: Ignore fasls for all platforms.
1089
10902007-02-10 22:28  gb
1091
1092        * level-0/X86/x86-misc.lisp: VALUES uses :ARGLIST pseudo-op.
1093
10942007-02-10 22:27  gb
1095
1096        * lib/: ffi-linuxppc64.lisp, ffi-darwinppc32.lisp,
1097        ffi-darwinppc64.lisp, ffi-linuxppc32.lisp: EXPAND-FF-CALL:
1098        ignore-errors when trying to parse the last arglist form as a
1099        foreign type.
1100
11012007-02-10 22:26  gb
1102
1103        * lib/foreign-types.lisp: Pretty much commited to the new FF-CALL
1104        expansion ...
1105
11062007-02-10 22:26  gb
1107
1108        * lisp-kernel/x86-spentry64.s: Preserve %rax when doing ff-call;
1109        use %rdx and %r11 to hold target address.
1110
11112007-02-10 22:23  gb
1112
1113        * library/pty.lisp: Unicode stuff when accessing control char
1114        array; conditionalize for #+darwin-target, not just
1115        #+darwinppc-target.
1116
11172007-02-10 22:22  gb
1118
1119        * level-1/l1-callbacks.lisp: Fix a comment (defcallback isn't
1120        ppc-specific; the comment dated from the days of 68K MCL.)
1121
11222007-02-10 22:21  gb
1123
1124        * compiler/X86/X8664/x8664-backend.lisp: Fix some typos; do struct
1125        return 32 bits at a time, to avoid consing little bignums.
1126
11272007-02-10 22:15  gb
1128
1129        * compiler/X86/x86-lap.lisp: Support :arglist directive.
1130
11312007-02-10 22:15  gb
1132
1133        * compiler/X86/x862.lisp: alloc-c-frame vinsn takes "extra" word
1134        count, not total byte count.
1135       
1136        Fix handling of $undo-x86-c-frame in x862-nlexit.  (Need to check
1137        the PPC case, as well.)
1138
11392007-02-10 22:11  gb
1140
1141        * compiler/X86/X8664/x8664-vinsns.lisp: There doesn't need to be a
1142        "zero-extend-s8" vinsn, but there does need to be a
1143        "zero-extend-u8".
1144
11452007-02-10 05:38  gb
1146
1147        * level-0/PPC/ppc-misc.lisp: Use new :ARGLIST directive in
1148        #'VALUES.
1149
11502007-02-10 05:38  gb
1151
1152        * compiler/PPC/ppc-lap.lisp: Support an :ARGLIST directive, so that
1153        ARGLIST can say -something- about lap functions that don't take a
1154        fixed number of arguments.
1155
11562007-02-07 02:54  gb
1157
1158        * compiler/X86/X8664/x8664-backend.lisp: They spell "valu" with an
1159        "e".
1160
11612007-02-02 02:32  gb
1162
1163        * examples/: bridge.lisp, objc-clos.lisp, objc-runtime.lisp,
1164        objc-support.lisp: Start to integrate with FFI changes.  No more
1165        %SEND, process and precompile "init" messages when interfaces are
1166        accessed.  (Note: should try to handle varargs init messages, even
1167        if we have to call %FF-CALL at runtime.)
1168
11692007-02-02 02:31  gb
1170
1171        * examples/: addressbook.lisp, webkit.lisp: Change the
1172        initialization code a bit.
1173
11742007-02-02 02:27  gb
1175
1176        * lib/foreign-types.lisp: Try to fix another case involving
1177        "auxiliary types".
1178       
1179        I think that the concept of auxiliary types might make sense in a
1180        context like:
1181       
1182        (def-foreign-type nil   (:struct :foo     (:a :int)     (:b
1183        (:struct :bar (:x :int) (:y :int)))))
1184       
1185        In that case, :struct :bar is local to the definition.  In the
1186        similar case:
1187       
1188        (def-foreign-type nil   (:struct :foo     (:a :int)     (:b
1189        (:struct :bar))))
1190       
1191        :BAR is presumably defined (globally) elsewhere.
1192
11932007-02-02 02:17  gb
1194
1195        * darwin-headers/addressbook/C/populate.sh: Specify the SDK to use.
1196         (Setting "SDK=" will hopefully work with older version of xcode.)
1197
11982007-02-02 02:15  gb
1199
1200        * darwin-headers/addressbook/C/.cvsignore: Ignore ./Developer.
1201
12022007-01-31 23:26  gb
1203
1204        * compiler/PPC/ppc2.lisp: Don't treat :registers arg as a real
1205        argument in ppc2-poweropen-foreign-args.
1206
12072007-01-31 22:47  gb
1208
1209        * lib/ffi-darwinppc64.lisp: Needed ,@ to return assign structure
1210        components from registers.
1211
12122007-01-31 22:45  gb
1213
1214        * lib/db-io.lisp: UNESCAPE-FOREIGN-NAME: strings with no angle
1215        brackets are returned verbatim, not downcased.
1216
12172007-01-31 22:44  gb
1218
1219        * level-0/PPC/ppc-def.lisp: Runtime version of 64-bit %ff-call
1220        accepts :registers.
1221
12222007-01-31 16:36  gb
1223
1224        * darwin-headers64/chud/: .cvsignore, C/.cvsignore, C/populate.sh:
1225        New (and, so far, useless) files.
1226
12272007-01-31 16:35  gb
1228
1229        * library/chud-metering.lisp: Add a comment; CHUD.Framework still
1230        seems to be 32-bit only.
1231
12322007-01-31 16:34  gb
1233
1234        * darwin-headers64/libc/C/.cvsignore: Ignore ./Developer.
1235
12362007-01-31 16:34  gb
1237
1238        * darwin-headers64/libc/C/populate.sh: Use SDK; add dlfcn.h.
1239
12402007-01-31 16:33  gb
1241
1242        * lib/db-io.lisp: Tweak the warning given if CDB-OPEN fails:
1243        missing cdb file: dog bytes man; missing parent directory is more
1244        newsworthy.
1245
12462007-01-31 15:38  gb
1247
1248        * library/chud-metering.lisp: Tweak a little, so that it might work
1249        on darwinppc64 (and on darwinx8664 when purify does something
1250        there.)
1251
12522007-01-31 15:06  gb
1253
1254        * darwin-headers/libc/C/populate.sh: Add dlfcn.h.
1255
12562007-01-31 02:49  gb
1257
1258        * level-0/PPC/PPC32/ppc32-bignum.lisp: BIGNUM-NEGATE-TO-PTR.
1259
12602007-01-30 22:53  gb
1261
1262        * freebsd-headers64/: gtk2/C/.cvsignore, gtk2/C/populate.sh,
1263        gl/C/.cvsignore, gl/C/populate.sh, gnome2/.cvsignore,
1264        gnome2/C/.cvsignore, gnome2/C/populate.sh, gtk2/.cvsignore,
1265        gl/.cvsignore: new files.
1266
12672007-01-30 22:21  gb
1268
1269        * freebsd-headers64/gmp/: C/.cvsignore, C/populate.sh, .cvsignore:
1270        new files.
1271
12722007-01-30 21:58  gb
1273
1274        * level-0/l0-bignum64.lisp: BIGNUM-NEGATE-TO-POINTER.
1275
12762007-01-30 21:58  gb
1277
1278        * x86-headers64/gmp/: .cvsignore, C/.cvsignore, C/populate.sh: new
1279        file
1280
12812007-01-30 21:49  gb
1282
1283        * level-1/l1-sockets.lisp: Learn to conditionalize! It's easy and
1284        fun!
1285
12862007-01-30 21:40  gb
1287
1288        * library/openmcl-gtk-support.lisp: Conditionalize out the
1289        event-polling task.
1290
12912007-01-30 21:36  gb
1292
1293        * headers64/: gl/.cvsignore, gl/C/.cvsignore, gl/C/populate.sh,
1294        gnome2/.cvsignore, gnome2/C/.cvsignore, gnome2/C/populate.sh,
1295        gtk2/.cvsignore, gtk2/C/.cvsignore, gtk2/C/populate.sh: new file
1296
12972007-01-30 21:35  gb
1298
1299        * headers/gl/C/populate.sh: process glu.h
1300
13012007-01-30 17:47  gb
1302
1303        * library/parse-ffi.lisp: Always encode explicit structure-typed
1304        function return values.
1305       
1306        Note when we see one, for now.
1307
13082007-01-30 17:45  gb
1309
1310        * lib/foreign-types.lisp: %EXTERNAL-CALL-EXPANDER allows/requires a
1311        leading argument to be paired with a structure-typed return-type.
1312
13132007-01-30 17:43  gb
1314
1315        * lib/ffi-linuxppc32.lisp: linuxppc32 always returns structures via
1316        the first-arg hack.
1317
13182007-01-30 17:42  gb
1319
1320        * lib/db-io.lisp: Bump *interface-abi-version*, but continue to
1321        support the old version.
1322       
1323        Don't check the :struct-by-value flag when encoding function
1324        args/results.  (That decision's made above our pay grade now.)
1325       
1326        When reading a :struct/:union definition, try to update an existing
1327        defintion rather than consing up a new one (this matters if the
1328        record is anonymous.)
1329
13302007-01-30 17:39  gb
1331
1332        * level-1/l1-sockets.lisp: Try to ensure that the :FORMAT argument
1333        gets passed to MAKE-TCP-STREAM-SOCKET and MAKE-FILE-STREAM-SOCKET
1334        correctly.
1335       
1336        Fix c_socket for #+linuxppc.
1337
13382007-01-30 08:20  gb
1339
1340        * level-1/version.lisp: Bump.
1341
13422007-01-30 08:20  gb
1343
1344        * lib/compile-ccl.lisp: Use make -j to build kernel.
1345
13462007-01-30 07:02  gb
1347
1348        * lisp-kernel/x86-spentry64.s: .SPcallback returns rax/rdx,
1349        xmm0/xmm1.
1350
13512007-01-30 07:01  gb
1352
1353        * lib/macros.lisp: Use new callback interface unconditionally.  (A
1354        day's work turned into 2 weeks, somehow.)
1355
13562007-01-30 07:00  gb
1357
1358        * compiler/X86/X8664/x8664-backend.lisp, lib/ffi-darwinx8664.lisp,
1359        lib/ffi-freebsdx8664.lisp, lib/ffi-linuxx8664.lisp: New callback
1360        stuff for x8664 (all platfroms appear to use the same ABI.)
1361
13622007-01-30 03:26  gb
1363
1364        * level-0/X86/x86-misc.lisp: Don't use boxed "disp" for
1365        displacement in %ATOMIC-INCF-NODE.
1366
13672007-01-29 07:27  gb
1368
1369        * lib/macros.lisp: Enable new callback stuff on #+ppc-target.
1370
13712007-01-29 07:27  gb
1372
1373        * lib/ffi-darwinppc64.lisp: new callback stuff.
1374
13752007-01-29 07:27  gb
1376
1377        * lib/ffi-darwinppc32.lisp: typos-r-us.
1378
13792007-01-29 04:37  gb
1380
1381        * lib/ffi-darwinppc32.lisp: Flesh out darwinppc32 callback stuff.
1382
13832007-01-29 04:37  gb
1384
1385        * lib/ffi-linuxppc64.lisp: Fix some typos/bugs; more likely remain.
1386
13872007-01-29 04:36  gb
1388
1389        * lib/foreign-types.lisp: REQUIRE-FOREIGN-TYPE-BITS.
1390
13912007-01-29 04:36  gb
1392
1393        * lib/macros.lisp: Use new callback scheme for darwinppc32, too.
1394
13952007-01-29 04:36  gb
1396
1397        * compiler/PPC/PPC32/ppc32-backend.lisp: No more (old) callback
1398        stuff here.
1399
14002007-01-29 02:33  gb
1401
1402        * lib/ffi-darwinppc32.lisp: Flesh out the new callback stuff.
1403
14042007-01-28 21:47  gb
1405
1406        * lib/: ffi-linuxppc32.lisp, ffi-linuxppc64.lisp: Flesh things out
1407        a bit more, change the API, get things working ... still a moving
1408        target.
1409
14102007-01-28 21:46  gb
1411
1412        * lib/macros.lisp: For linuxppc, use the new callback mechanism.
1413        (Other platforms still need more bootstrapping.)
1414
14152007-01-28 21:44  gb
1416
1417        * compiler/PPC/PPC32/ppc32-backend.lisp: Lose the old eabi-callback
1418        stuff; linuxppc 32/64-bit callbacks now use the new scheme.
1419
14202007-01-28 03:21  gb
1421
1422        * lib/ffi-linuxppc32.lisp: Remove some typos.  Need to pass
1423        dynamic-extent, other decls separately.
1424
14252007-01-28 03:20  gb
1426
1427        * compiler/PPC/PPC32/ppc32-backend.lisp: Fix some of this stuff;
1428        use the new (ftd-based) scheme.
1429
14302007-01-28 01:43  gb
1431
1432        * compiler/PPC/PPC64/ppc64-backend.lisp: Fix some typos.  (This
1433        code's getting replaced, but fix 'em anyway.)
1434
14352007-01-28 01:42  gb
1436
1437        * lib/db-io.lisp: If a .cdb file can't be opened, show the
1438        translated pathname and mention the fact that this might indicate a
1439        problem with "ccl:"'s logical translations.
1440
14412007-01-25 04:37  gb
1442
1443        * lib/foreign-types.lisp: Never fully understood the concept
1444        "auxiliary" foreign types, but try to canonicalize intermediate
1445        struct/union/enum references, so that (EQ (PARSE-FOREIGN-TYPE
1446        '(:STRUCT :FOO))     (PARSE-FOREIGN-TYPE '(:STRUCT :FOO))) is more
1447        likely to return T (e.g., something registered in the FTD.
1448       
1449        It seems clear that this is the right thing when the structure
1450        reference is in global scope; I'm not sure what it'd mean for that
1451        not to be the case.
1452
14532007-01-25 04:32  gb
1454
1455        * lib/ffi-linuxppc32.lisp: More plausible callback-bindings
1456        callback.
1457
14582007-01-24 23:41  gb
1459
1460        * lib/ffi-linuxppc32.lisp: First cut at callback-bindings thing;
1461        may not even compile.
1462
14632007-01-24 02:39  gb
1464
1465        * compiler/: PPC/PPC32/ppc32-backend.lisp,
1466        PPC/PPC64/ppc64-backend.lisp, X86/X8664/x8664-backend.lisp: Stubs
1467        for new FTD functions.
1468
14692007-01-24 02:28  gb
1470
1471        * lib/foreign-types.lisp: A few more fields (for callbacks) in ftd
1472        defstruct.
1473
14742007-01-23 15:28  gb
1475
1476        * compiler/PPC/: PPC32/ppc32-backend.lisp,
1477        PPC64/ppc64-backend.lisp: Get FPRs from where subprim saved them.
1478        Return FPRs in the same place.  (Will need to re-work all of this
1479        for platform-dependent structure stuff.)
1480
14812007-01-23 15:26  gb
1482
1483        * lisp-kernel/ppc-spentry.s: poweropen-callback, callbackX; save fp
1484        args here.  Return all (arg) GPRs and FPRs (needs cooperation from
1485        the lisp side.)
1486
14872007-01-23 15:21  gb
1488
1489        * lisp-kernel/: ppc-constants32.s, ppc-constants64.s: Add room in
1490        c_reg_save for saved fp args (f1-f13).
1491
14922007-01-23 15:14  gb
1493
1494        * lib/foreign-types.lisp: FF-CALL implemented in terms of the new
1495        ftd hook.
1496
14972007-01-23 07:19  gb
1498
1499        * level-1/l1-clos-boot.lisp: ppc32, ppc64 also had trouble with
1500        (CLASS-OF non-simple-string).
1501
15022007-01-23 07:02  gb
1503
1504        * level-1/l1-clos-boot.lisp: x8664 class-of: typo in non-simple
1505        array case, needed new string definition.
1506
15072007-01-23 07:01  gb
1508
1509        * lib/: ffi-darwinx8664.lisp, ffi-freebsdx8664.lisp,
1510        ffi-linuxx8664.lisp: Define ffi stuff in terms of common things in
1511        compiler/X86/X8664/x8664-backend.
1512
15132007-01-23 06:59  gb
1514
1515        * compiler/X86/X8664/x8664-backend.lisp: Define (common) x8664 ffi
1516        stuff here.
1517
15182007-01-21 08:32  gb
1519
1520        * compiler/X86/x862.lisp: Name vinsn ff-call-return-registers (not
1521        "-returning-").
1522       
1523        Typecheck the :registers arg.
1524
15252007-01-21 08:32  gb
1526
1527        * compiler/X86/X8664/x8664-vinsns.lisp: ff-call-return-registers.
1528
15292007-01-21 08:31  gb
1530
1531        * compiler/X86/X8664/x8664-arch.lisp: WITH-FFCALL-RESULTS: zero the
1532        stack-block.
1533
15342007-01-21 08:31  gb
1535
1536        * lisp-kernel/x86-spentry64.s: Don't use save3 in
1537        .SPffcall_return_registers (save3 = r11); use save2 (= r13)
1538        instead.
1539
15402007-01-21 06:46  gb
1541
1542        * compiler/PPC/PPC64/ppc64-arch.lisp: WITH-FFCALL-RESULTS needs
1543        space for 13 float registers, not 31.
1544
15452007-01-21 06:45  gb
1546
1547        * compiler/X86/X8664/x8664-arch.lisp: WITH-FFCALL-RESULTS for
1548        x86-64.
1549
15502007-01-21 06:38  gb
1551
1552        * compiler/X86/x862.lisp: ff-call: handle n-word struct-by-value,
1553        register return without typos.
1554
15552007-01-21 06:15  gb
1556
1557        * compiler/X86/x862.lisp: ff-call: handle n-word struct-by-value,
1558        register return.
1559
15602007-01-21 06:14  gb
1561
1562        * compiler/nx1.lisp: Don't assume that passing a structure by value
1563        in N words is Darwin-specific.  (LinuxPPC32 is probably the only
1564        platform that doesn't support the convention.)
1565
15662007-01-21 06:12  gb
1567
1568        * compiler/X86/X8664/x8664-arch.lisp: .SPffcall-return-registers
1569        replaces .SPunused-4.
1570
15712007-01-21 06:10  gb
1572
1573        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s:
1574        .SPffcall_return_registers (just returns %rax/rdx, %xmm0/%xmm1).
1575        (replaces .SPunused_4).
1576
15772007-01-21 00:05  gb
1578
1579        * lib/: ffi-linuxppc32.lisp, ffi-linuxppc64.lisp: Use
1580        argument/result coercion functions in os::expand-ff-call.
1581
15822007-01-20 23:53  gb
1583
1584        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp: Coerce arg,
1585        results when expanding an ff-call.
1586
15872007-01-20 23:52  gb
1588
1589        * lib/foreign-types.lisp: Default (no-op) functions for coercing
1590        foreign args, results.
1591
15922007-01-20 22:31  gb
1593
1594        * lib/ffi-linuxppc64.lisp: 4 down.  Whether 2 or 3 to go depends on
1595        your perspective (and on how close x86-64 Linux and x86-64 FreeBSD
1596        are to each other.  I'd guess that they're pretty close, and that
1597        x86-64 Darwin is random.)
1598
15992007-01-20 21:55  gb
1600
1601        * lib/ffi-linuxppc32.lisp: Pretty simple.  3 down, 4 to go.
1602
16032007-01-20 19:34  gb
1604
1605        * compiler/X86/X8664/x8664-backend.lisp: Package prefixes.  D'oh!
1606
16072007-01-20 19:25  gb
1608
1609        * compiler/X86/X8664/x8664-backend.lisp: Add references to the
1610        right os::ff-call-expander.
1611
16122007-01-20 19:24  gb
1613
1614        * compiler/PPC/PPC64/ppc64-arch.lisp: Remove some wip code.
1615
16162007-01-20 19:24  gb
1617
1618        * compiler/PPC/: PPC32/ppc32-backend.lisp,
1619        PPC64/ppc64-backend.lisp: Use os::expand-ff-call, for each value of
1620        OS.
1621
16222007-01-20 19:23  gb
1623
1624        * level-1/l1-sockets.lisp: Saw an opportunity to use PAREF;
1625        probably several more.
1626
16272007-01-20 19:22  gb
1628
1629        * lib/ffi-darwinppc64.lisp: Two down, 5 to go.
1630
16312007-01-20 19:21  gb
1632
1633        * lib/ffi-darwinppc32.lisp: Looks mostly right; might need to be
1634        extended to handle coercions at the Cocoa level, and probably needs
1635        some cooperation from %EXTERNAL-CALL-EXPANDER (e.g., what's
1636        installed by #_).
1637
16382007-01-20 19:18  gb
1639
1640        * lib/db-io.lisp: Encode, decode union types in arglists.
1641
16422007-01-20 19:17  gb
1643
1644        * lib/foreign-types.lisp: ftd's :ff-call-expand-function is
1645        os::expand-ff-call.
1646       
1647        Canonicalize the :void type a bit better.
1648
16492007-01-20 19:16  gb
1650
1651        * library/parse-ffi.lisp: Remove the debugging FORMAT call.
1652
16532007-01-18 23:15  gb
1654
1655        * level-1/l1-boot-2.lisp: Load with the new ffi-backend fasls.
1656
16572007-01-18 23:15  gb
1658
1659        * lib/compile-ccl.lisp: Deal with the new ffi-backend sources.
1660
16612007-01-18 23:15  gb
1662
1663        * lib/systems.lisp: Add the new ffi-backend sources.
1664
16652007-01-18 23:14  gb
1666
1667        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp,
1668        ffi-darwinx8664.lisp, ffi-freebsdx8664.lisp, ffi-linuxppc32.lisp,
1669        ffi-linuxppc64.lisp, ffi-linuxx8664.lisp: New (so far, empty)
1670        files.
1671
16722007-01-18 04:35  gb
1673
1674        * level-1/version.lisp: Bump.
1675
16762007-01-18 04:17  gb
1677
1678        * examples/bridge.lisp: Some word-size conditionalization.  Will
1679        need more work to handle struct return/asssignment correctly on all
1680        platforms.
1681
16822007-01-18 04:15  gb
1683
1684        * examples/: cocoa-editor.lisp, cocoa-backtrace.lisp: Use CGFloat,
1685        type casts, etc.  Likwise for :<NSI>nteger, :<NSUI>nteger.
1686
16872007-01-18 04:13  gb
1688
1689        * examples/: cocoa-prefs.lisp, cocoa-listener.lisp: Use CGFloat,
1690        type casts, etc.
1691
16922007-01-18 04:12  gb
1693
1694        * examples/cocoa-window.lisp: Use CGFloat, type casts, etc.  Avoid
1695        deprecated NSFont stuff.
1696
16972007-01-18 04:11  gb
1698
1699        * examples/objc-clos.lisp: Handle ivars, class
1700        creation/initialization differently for ObjC 2.0.
1701
17022007-01-18 04:10  gb
1703
1704        * examples/objc-runtime.lisp: More ObjC 2.0, ppc64 changes.
1705
17062007-01-18 04:09  gb
1707
1708        * examples/objc-support.lisp: Note which protocols are actually
1709        used when walking classes.  (There doesn't seem to be a good way of
1710        finding a Protocol object pre-objc-2.0, and we may need to test
1711        protocol compliance to disambiguate message sends in some cases.)
1712
17132007-01-18 04:07  gb
1714
1715        * examples/opengl-ffi.lisp: Conditionalize for darwin (not
1716        necessarily darwinppc).
1717
17182007-01-18 04:06  gb
1719
1720        * examples/addressbook.lisp: Conditionalize for darwin (not
1721        necessarily darwinppc).  May want to conditionalize for bundle
1722        executable name, as well.
1723
17242007-01-18 04:05  gb
1725
1726        * compiler/PPC/PPC64/ppc64-arch.lisp: WITH-FFCALL-RESULTS.  Start
1727        to sketch out structure return code (structures are often
1728        "returned" by returning field values in registers pn DarwinPPC64.)
1729
17302007-01-18 04:04  gb
1731
1732        * compiler/PPC/PPC64/ppc64-backend.lisp: New ftd stuff; new
1733        attributes for structure args/results.
1734
17352007-01-18 04:03  gb
1736
1737        * compiler/PPC/PPC64/ppc64-vinsns.lisp: ffcall-returning registers.
1738         (Will need this for other platforms, too.)
1739
17402007-01-18 04:01  gb
1741
1742        * lib/macros.lisp: Arch-specific macro interface for
1743        WITH-FFCALL-RESULTS.
1744
17452007-01-18 04:00  gb
1746
1747        * lib/db-io.lisp: Handle the case of an encoded structure type as a
1748        return value.
1749
17502007-01-18 04:00  gb
1751
1752        * lisp-kernel/: ppc-spentry.s, ppc-spjump.s:
1753        .SPpoweropen_ffcall_return_registers.
1754
17552007-01-18 03:59  gb
1756
1757        * library/parse-ffi.lisp: At least optionally, make structure
1758        return explicit (expecting it to be handled by higher-level code.)
1759
17602007-01-18 03:58  gb
1761
1762        * lib/foreign-types.lisp: ff-call-expand-function in ftd.  Don't
1763        try to type-expand :registers <exp> form in EXTERNAL-CALL.
1764
17652007-01-18 03:55  gb
1766
1767        * level-0/PPC/ppc-misc.lisp: Get the contents of the register that
1768        may hold OS thread context.
1769
17702007-01-18 03:54  gb
1771
1772        * compiler/PPC/PPC32/ppc32-backend.lisp: ff-call-expander function
1773        in ftd.
1774
17752007-01-18 03:53  gb
1776
1777        * compiler/PPC/PPC32/ppc32-arch.lisp: WITH-FFCALL-RESULTS arch
1778        macro.
1779
17802007-01-18 03:52  gb
1781
1782        * compiler/PPC/ppc2.lisp: Poweropen ff-calls might need to return
1783        all possible result regs.  (Maybe poweropen syscall, too.)
1784
17852007-01-18 03:51  gb
1786
1787        * compiler/PPC/ppc-arch.lisp: Replace unused subprim with
1788        .SPpoweropen-ff-call-return-registers.
1789
17902007-01-18 03:50  gb
1791
1792        * compiler/nx1.lisp: Support :registers <exp> in %ff-call; when
1793        supported, backend will return all (potential) result registers in
1794        buffer at <exp>.
1795
17962007-01-16 02:01  gb
1797
1798        * level-1/l1-streams.lisp: Make sure that STREAM-READ-IVECTOR and
1799        STREAM-WRITE-IVECTOR are defined on binary stream classes.  (These
1800        functions make less sense for character streams/strings than they
1801        used to.)
1802
18032007-01-16 01:39  gb
1804
1805        * level-1/l1-sockets.lisp: Ensure that the :FORMAT argument
1806        defaults to :BIVALENT
1807
18082007-01-16 01:37  gb
1809
1810        * level-0/l0-init.lisp: Put :OPENMCL-UNICODE-STRINGS on *FEATURES*.
1811
18122007-01-11 23:58  gb
1813
1814        * compiler/PPC/ppc2.lisp: Transform (/ (* constant1 exp) constant2)
1815        into (* (/ constant1 constant2) exp).  Not very general, but makes
1816        some foreign address arithmetic better.
1817
18182007-01-11 23:56  gb
1819
1820        * lib/macros.lisp: Simple PAREF: (paref pointer
1821        foreign-pointer-or-array-type index) does simple arithmetic for
1822        you.
1823
18242007-01-11 23:54  gb
1825
1826        * lib/foreign-types.lisp: %FOREIGN-ARRAY-ACCESS-FORM.
1827
18282007-01-10 15:50  gb
1829
1830        * compiler/PPC/ppc2.lisp: ppc2-vref1: lose extra arg to
1831        double->heap vinsn.
1832
18332007-01-09 11:33  gb
1834
1835        * lisp-kernel/x86-spentry64.s: When running an unwind-protect
1836        cleanup and multiple values are being thrown, be sure to set
1837        tcr.xframe from the target catch frame.  This is necessary on
1838        general principles (GC safety), and especially necessary if the
1839        cleanup form does a non-local exit.
1840
18412007-01-08 22:12  gb
1842
1843        * examples/: objc-clos.lisp, objc-runtime.lisp, objc-support.lisp:
1844        Revive some of the old GNUstep support; add partial ObjC 2.0
1845        support (for 64-bit targets only, so far.)
1846
18472007-01-08 22:11  gb
1848
1849        * examples/cocoa.lisp: Conditionalize for darwin-target, not
1850        darwinppc-target.
1851
18522007-01-08 22:10  gb
1853
1854        * examples/cocoa-listener.lisp: Disable background layout in the
1855        listener; the whole two-thread scheme probably isn't viable, but
1856        doing this seems to suppress a timing-related symptom.
1857
18582007-01-08 22:09  gb
1859
1860        * examples/cocoa-editor.lisp: Document-begin-editing,
1861        document-end-editing: both seem to have been conditionalized
1862        backwards.
1863
18642007-01-05 16:22  gb
1865
1866        * level-0/l0-numbers.lisp: Fix another typo ...
1867
18682007-01-05 16:16  gb
1869
1870        * level-0/l0-numbers.lisp: Fix typo (ppc32::, not ppc2::).
1871
18722007-01-05 15:27  gb
1873
1874        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Missing MISC-SET-C-S32 for
1875        PPC32.
1876
18772007-01-05 06:20  gb
1878
1879        * level-0/l0-cfm-support.lisp: OPEN-SHARED-LIBRARY: freebsd version
1880        of #_dlopen doesn't return a link map, but calling #_dlinfo on the
1881        result (with the right arg) does obtain a link map.
1882       
1883        Revive shared libraries on FreeBSD, but don't do the strange
1884        Linux-specific re-opening there.  (It seems like it's possible to
1885        #_dlopen something that already has a loaded link map - like the
1886        FreeBSD dynamic linker - or something.)
1887
18882007-01-04 05:46  gb
1889
1890        * level-1/l1-pathnames.lisp: %component-match-p: handle :WILD,
1891        :WILD-INFERIORS.
1892
18932007-01-04 05:45  gb
1894
1895        * lisp-kernel/pmcl-kernel.c: Try to check for old libc versions
1896        (which may use %gs instead of %fs for tls).
1897
18982007-01-04 05:44  gb
1899
1900        * lib/numbers.lisp: Explicitly require NUMBER-CASE-MACRO.
1901
19022007-01-04 05:44  gb
1903
1904        * level-0/l0-numbers.lisp:
1905        fixnum-sfloat-compare,fixnum-dfloat-compare: if the fixnum can be
1906        accurately represented in float, do so.
1907
19082007-01-03 03:35  gb
1909
1910        * lib/sequences.lisp: Fix a few type errors, check for explicit
1911        vector-type length earlier.
1912
19132007-01-03 03:31  gb
1914
1915        * level-1/l1-files.lisp: %STD-NAME-COMPONENT, %STD-TYPE-COMPONENT:
1916        preserved :WILD, don't map it to "*".
1917
19182007-01-03 03:30  gb
1919
1920        * lib/pathnames.lisp: More whack-a-mole with pathnames
1921        (specifically, preserving :WILD as name/type value and dealing with
1922        the consequences of doing so.)
1923
19242007-01-03 03:27  gb
1925
1926        * lib/numbers.lisp: Small (mostly cosmetic) change to RATIONAL.
1927
19282007-01-02 09:57  gb
1929
1930        * lib/macros.lisp: Keep fixing CTYPECASE.
1931
19322007-01-02 09:57  gb
1933
1934        * level-1/l1-streams.lisp: DOH! STREAM-READ-LINE method on
1935        BASIC-CHARACTER-INPUT-STREAM returns both values.
1936       
1937        "Composite" (two-way, concatenated, etc) streams need a close
1938        protocol.
1939
19402007-01-02 07:00  gb
1941
1942        * level-0/l0-pred.lisp: EQUAL on physical pathnames ignores the
1943        (new) version slot, as does practically everything else.
1944
19452007-01-02 06:59  gb
1946
1947        * level-0/l0-numbers.lisp: Don't assume that fixnums can be
1948        accurately coerced to floats when comparing fixnums and floats; do
1949        the logical equvalent of calling RATIONAL on the float instead.
1950
19512007-01-01 23:41  gb
1952
1953        * level-1/l1-files.lisp: ENOUGH-NAMESTRING: don't incorporate
1954        version into returned namestring for physical pathnames.
1955
19562006-12-31 10:15  gb
1957
1958        * release-notes.txt: Update.
1959
19602006-12-31 09:13  gb
1961
1962        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump image/abi
1963        version.
1964
19652006-12-31 08:57  gb
1966
1967        * xdump/faslenv.lisp: Bump fasl-min-vers.
1968
19692006-12-31 08:49  gb
1970
1971        * lib/nfcomp.lisp: Bump current fasl version.
1972
19732006-12-31 08:33  gb
1974
1975        * lisp-kernel/: linuxppc/elf32ppclinux.x, linuxppc64/elf64ppc.x:
1976        Tweak the executable start address.
1977
19782006-12-31 02:44  gb
1979
1980        * lisp-kernel/x86-spjump64.s: On Darwin, use a .space directive to
1981        ensure that there's nothing interesting in the first few pages of
1982        the address space (and ensure that those pages are mapped.)
1983
19842006-12-31 02:43  gb
1985
1986        * lisp-kernel/darwinx8664/Makefile: Sadly, we can't use -sectalign
1987        on x86-64 (ld64 does some floating-point arithmetic, fails to
1988        account for roundoff error, and claims that 0x1000 isn't a power of
1989        2.) If you can't say anything good about a linker, it's best not to
1990        say anything at all.
1991       
1992        We can force the first segment to be mapped at 0x1000, and can
1993        waste a few pages to ensure that all low-memory pages that the lisp
1994        wants are mapped.
1995
19962006-12-31 02:33  gb
1997
1998        * level-1/l1-pathnames.lisp: %SPLIT-COMPONENT: be a little more
1999        defensive.
2000
20012006-12-31 02:32  gb
2002
2003        * compiler/nx0.lisp: NX-FORM-TYPE: handle quoted constants.
2004
20052006-12-31 02:29  gb
2006
2007        * xdump/faslenv.lisp: Bump $fasl-vers.
2008
20092006-12-31 02:28  gb
2010
2011        * level-1/version.lisp: Bump; remove "Beta" designation.
2012
20132006-12-29 20:13  gb
2014
2015        * compiler/X86/X8664/x8664-arch.lisp, lisp-kernel/area.h,
2016        lisp-kernel/lisp_globals.h, lisp-kernel/x86-constants64.h,
2017        lisp-kernel/x86-constants64.s, xdump/xx8664-fasload.lisp: Move NIL
2018        up a page on x86-64 as well.
2019
20202006-12-29 16:09  gb
2021
2022        * lisp-kernel/ppc-spjump.s: Be a little clearer about where we're
2023        .orged.
2024
20252006-12-29 15:32  gb
2026
2027        * compiler/PPC/PPC32/ppc32-arch.lisp, lisp-kernel/area.h,
2028        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
2029        lisp-kernel/darwinppc/Makefile, xdump/xppcfasload.lisp: Static area
2030        (including NIL) now one page higher on ppc32, as well.
2031
20322006-12-29 02:38  gb
2033
2034        * level-0/PPC/ppc-float.lisp: SQRT in LAP (todo: inline it.)
2035
20362006-12-29 01:38  gb
2037
2038        * compiler/PPC/PPC64/ppc64-arch.lisp: Move ppc64::nil-value (and
2039        ppc64::reservation-discharge) up a page.
2040
20412006-12-29 01:37  gb
2042
2043        * xdump/xppcfasload.lisp: xload-static-space-address for ppc64 is
2044        #x2000; still #x1000 for ppc32.  (need to set this for x86-64)
2045
20462006-12-29 01:36  gb
2047
2048        * xdump/xfasload.lisp: *xload-static-space-address* depends on the
2049        backend.  ppc64 wants it one page higher than it has been, to avoid
2050        letting unmapped pages get claimed by the dynamic linker on Darwin.
2051
20522006-12-29 01:35  gb
2053
2054        * lisp-kernel/darwinppc64/Makefile: Change seg1addr/sectalign, so
2055        that the image starts at #x1000 and aligned section data for the
2056        text section starts on the next page.
2057
20582006-12-29 01:33  gb
2059
2060        * lisp-kernel/ppc-spjump.s: Org the spjump table 3 pages from where
2061        the aligned text section data starts.
2062
20632006-12-29 01:32  gb
2064
2065        * lisp-kernel/: ppc-constants64.h, ppc-constants64.s: nil_value,
2066        etc a page higher.
2067
20682006-12-29 01:32  gb
2069
2070        * lisp-kernel/pmcl-kernel.c: Don't remap ppc64 spjump table if it's
2071        already where it should be.
2072
20732006-12-29 01:32  gb
2074
2075        * lisp-kernel/lisp_globals.h: Access lisp_globals/nrs_symbols a
2076        page higher.
2077
20782006-12-29 01:30  gb
2079
2080        * lisp-kernel/area.h: Move STATIC_BASE_ADDRESS up a page for ppc64.
2081
20822006-12-22 01:40  gb
2083
2084        * lisp-kernel/ppc-exceptions.c: Ensure that sqrt() is prototyped.
2085
20862006-12-22 01:39  gb
2087
2088        * lisp-kernel/pmcl-kernel.c: Insist on at least Panther for
2089        PPC32/Darwin.
2090       
2091        Use dlopen() on 64-bit Darwin variants.  Might want to do a runtime
2092        test and use dlfcn functions if at least Tiger.
2093       
2094        (The old dyld functions are deprecated under Leopard, and there's
2095        reason to believe that they don't work correctly on at least ppc64/
2096        Leopard; attempting to use NSCreateObjectFileImageFromFile to open
2097        a 64-bit .dylib seems to lead to memory corruption rather than
2098        returning NSObjectFileImageInappropriateFile.
2099       
2100        The old functions work better than the dlfcn functions on pre-Tiger
2101        systems.)
2102
21032006-12-19 01:24  gb
2104
2105        * library/parse-ffi.lisp: Just to be on the safe side (new pathname
2106        bugs, or old ?), append -BAK to (NAMESTRING (TRUENAME path)), not
2107        just (NAMESTRING path) when renaming.  (MERGE-PATHNAMES call is
2108        producing a pathane with a non-null VERSION component, as it
2109        arguably should have been all along.
2110
21112006-12-18 13:22  gb
2112
2113        * lib/sequences.lisp: COERCE/MAKE-SEQUENCE try to simplify vector
2114        types into concrete vector types.
2115
21162006-12-18 13:04  gb
2117
2118        * level-1/l1-pathnames.lisp: Try (halfheartedly) to maintain
2119        PATHNAME-VERSION of physical pathnames.  (Totally meaningless, but
2120        failing to do this leads to many test failures.)
2121
21222006-12-18 13:03  gb
2123
2124        * level-1/l1-numbers.lisp: Don't call out to do sqrt.
2125
21262006-12-18 12:57  gb
2127
2128        * level-1/l1-files.lisp: Try (halfheartedly) to maintain
2129        PATHNAME-VERSION of physical pathnames.  (Totally meaningless, but
2130        failing to do this leads to many test failures.)
2131
21322006-12-18 12:54  gb
2133
2134        * level-0/X86/x86-float.lisp: Do single/double-float sqrt inline.
2135
21362006-12-16 05:28  gb
2137
2138        * level-0/PPC/ppc-float.lisp: Recognize that fsqrt/fsqrts
2139        instructions have a minor opcode in frb and only have one source
2140        operand.
2141
21422006-12-16 05:27  gb
2143
2144        * level-1/ppc-error-signal.lisp: If we get an FP exception during a
2145        SQRT, note that there's only one operand and that it's in frb.
2146
21472006-12-16 05:25  gb
2148
2149        * lisp-kernel/ppc-exceptions.c: Handle (some) unimplemented
2150        instructions, notably fsqrt/fqrts, which are optional and not
2151        implemented on some PPC machines.
2152
21532006-12-16 05:24  gb
2154
2155        * lisp-kernel/ppc-asmutils.s: Add get_fpscr().
2156
21572006-12-14 19:47  gb
2158
2159        * lisp-kernel/ppc-exceptions.c: Need to handle SIGQUIT on ppc, too.
2160
21612006-12-14 16:43  gb
2162
2163        * compiler/X86/X8664/x8664-vinsns.lisp: Constraints on some
2164        double-float arithmetic vinsns should say :double-float, not
2165        :single-float.  (I suspect cut-and-paste, frankly.)
2166
21672006-12-14 16:25  gb
2168
2169        * level-1/l1-lisp-threads.lisp: *initial-lisp-thread*, not
2170        initial-thread.
2171
21722006-12-14 16:24  gb
2173
2174        * level-1/x86-trap-support.lisp: Use frame pointer when signaling
2175        error.
2176
21772006-12-14 16:14  gb
2178
2179        * library/lispequ.lisp: Add a %PHYSICAL-PATHAME-VERSION slot to
2180        physical pathnames. (Yes, this is kind of silly.)
2181
21822006-12-14 16:01  gb
2183
2184        * level-1/x86-trap-support.lisp: Recognize the kernel's attempt to
2185        signal errors for (e.g.) failed memory allocation.
2186
21872006-12-14 16:00  gb
2188
2189        * lisp-kernel/x86-exceptions.c: If a memory allocation request
2190        fails, signal a lisp error (what a concept.)
2191
21922006-12-14 15:51  gb
2193
2194        * lisp-kernel/x86-exceptions.h: Define DARWIN_USE_PSEUDO_SIGRETURN.
2195       
2196        Might be worth revisiting this.
2197
21982006-12-14 15:50  gb
2199
2200        * lisp-kernel/x86-exceptions.c: Go back to using the
2201        pseudo_sigreturn mechanism on Darwin, since doing a real sigreturn
2202        from a fake context may not be reliable.
2203       
2204        When handling an interrupt with a partially created temp stack
2205        frame, do the right thing.  (That basically means reset the frame
2206        before calling out and recreating it if we return from the
2207        callout.)
2208       
2209        Handle SIGQUIT on the altstack, to provide a way of forcibly
2210        terminating threads that's a bit more GC-safe than doing it via
2211        #_pthread_cancel.
2212       
2213        Note the tcr of the gc thread on gc entry; if an exception happens
2214        in that thread, print a message and sleep for 60 seconds.
2215       
2216        Note that there's still a race condition here: if thread A gets an
2217        exception and thread B gets the mach_exception_lock (to GC) before
2218        the exception thread can handle the message, we deadlock (thread A
2219        would be suspended in the kernel and can't respond to a suspend
2220        signal.)  We can tell that this has happened and make a good guess
2221        as to why it happened, but dealing with it will require some
2222        thought.  (If we've already issued a suspend signal and eventually
2223        raise the suspended thread's resume semaphore, it'll suspend and
2224        resume once the mach exception thread makes it runnable.  Who
2225        cleans up its exception context in that case ?  Does it matter ?)
2226
22272006-12-14 15:19  gb
2228
2229        * lisp-kernel/thread_manager.c: Ensure that newly-created threads
2230        have all signals unmasked.
2231       
2232        If a tcr is dead, ensure that its stack areas are empty.
2233       
2234        Try to run shutdown_thread_tcr as a pthread cleanup action,
2235        hopefully before Mach clobbers the thread's signal mask.
2236
22372006-12-14 15:16  gb
2238
2239        * lisp-kernel/pmcl-kernel.c: lazarus() runs with a lock on the
2240        TCR_AREA_LOCK.
2241
22422006-12-14 15:15  gb
2243
2244        * lisp-kernel/memprotect.h: Don't declare do_memo_reset(), which
2245        hasn't existed in years.
2246
22472006-12-14 15:14  gb
2248
2249        * level-1/version.lisp: Bump.
2250
22512006-12-14 15:14  gb
2252
2253        * level-1/l1-readloop.lisp: PREPARE-TO-QUIT: wait for the
2254        termination semaphore.
2255
22562006-12-14 15:13  gb
2257
2258        * level-1/l1-processes.lisp: PROCESS objects are created with a
2259        termination semaphore.
2260
22612006-12-14 15:12  gb
2262
2263        * level-1/l1-lisp-threads.lisp: THREAD-ENABLE: second arg is
2264        TERMINATION-SEMAPHORE.
2265       
2266        KILL-LISP-THREAD: don't use #_pthread_cancel, which may force the
2267        target thread to transition from running lisp code to running
2268        foreign code without advertising that fact. Send a SIGQUIT instead,
2269        and trust the SIGQUIT handler to manage that transition.  Don't try
2270        to kill the initial thread.
2271
22722006-12-09 09:52  gb
2273
2274        * level-1/l1-streams.lisp: STRING-OUTPUT-STREAMs need to override
2275        their CLEAR-OUTPUT methods.
2276       
2277        MAKE-STRING-INPUT-STREAM: handle displaced strings better (remember
2278        their displaced-index-offsets.)
2279
22802006-12-09 09:49  gb
2281
2282        * lisp-kernel/thread_manager.c: Disable underflow traps in new
2283        threads on x86-64.  (The PPC never got around to enabling them.)
2284
22852006-12-09 09:47  gb
2286
2287        * lib/macros.lisp: WITH-OUTPUT-TO-STRING: if string provided,
2288        evaluate the ELEMENT-TYPE expression (for side-effects) and ignore
2289        the result of its evaluation.
2290       
2291        Some fixes in CTYPECASE handling, which hopefully didn't break
2292        anything else.
2293
22942006-12-09 09:36  gb
2295
2296        * compiler/X86/x862.lisp: In aset2/aset3, ensure that the (final,
2297        1d) index register is set - even if the index is a constant - if we
2298        think that the store needs EGC memoization.
2299       
2300        (Note that the test case that exposed this involved storing
2301        SINGLE-FLOATs, which don't need EGC write-barrier handling on
2302        64-bit platforms.)
2303       
2304        In aref2, don't worry about reserving unscaled index registers when
2305        targeting the 1d index; the unscaled index registers aren't live
2306        after, could be NULL if the index is a constant, and any overlap
2307        between one of them and the 1d index should be handled in the
2308        vinsn(s).
2309
23102006-12-09 09:30  gb
2311
2312        * level-1/l1-typesys.lisp: Ensure that the (relatively new)
2313        built-in-classes SIMPLE-FIXNUM-VECTOR and FIXNUM-VECTOR have
2314        class-translations.
2315
23162006-12-09 09:27  gb
2317
2318        * level-1/l1-aprims.lisp: In list case of ELT: who says that value
2319        returned by NTHCDR is a LIST ? (It's not necessarily a list, so
2320        don't segfault taking its CAR without checking.)
2321
23222006-12-06 18:48  gb
2323
2324        * level-0/X86/x86-float.lisp: x86-64 version of
2325        SFLOAT-SIGNIFICAND-ZEROS: count zero bits in the shifted float, not
2326        in %imm1 (which is undefined here ...)
2327
23282006-12-06 17:05  gb
2329
2330        * compiler/nx0.lisp: DEFINE-COMPILER-MACRO: if a SETF name, use the
2331        right symbol for the named block.
2332       
2333        COMPILER-MACRO-FUNCTION, (SETF COMPILER-MACRO-FUNCTION): deal with
2334        (SETF NAME).
2335
23362006-12-05 22:44  gb
2337
2338        * release-notes.txt: Update for 061205.
2339
23402006-12-05 20:31  gb
2341
2342        * lisp-kernel/darwinppc64/Makefile: Change LDFLAGS, to keep ld64
2343        from putting a linkedit segment in the wrong place and making
2344        32-bit memory unmappable.
2345
23462006-12-05 20:30  gb
2347
2348        * level-1/version.lisp: Bump.
2349
23502006-12-05 20:29  gb
2351
2352        * lisp-kernel/pmcl-kernel.c: Use _exit(), just in case.
2353
23542006-12-05 18:53  gb
2355
2356        * level-1/l1-reader.lisp: *ALTERNATE-LINE-TERMINATOR* set to
2357        #\Return on #+darwin-target, not just #+darwinppc-target. Change
2358        doc string for *ALTERNATE-LINE-TERMINATOR*.
2359
23602006-12-04 15:13  gb
2361
2362        * level-1/version.lisp: Append a patchlevel to the version string,
2363        at least until new tarballs can be built.
2364
23652006-12-04 15:12  gb
2366
2367        * level-1/l1-streams.lisp: If stream element type upgrades to
2368        FIXNUM, upgrade it further (to largest supported SIGNED-BYTE
2369        element-type.)
2370
23712006-12-04 13:02  gb
2372
2373        * level-0/l0-bignum32.lisp: BIGNUM-BIGNUM-GCD (whatever it's
2374        called): don't bother to shift by 0 bits.  Do shift the initial U
2375        if non-zero trailing 0 BITS (was testing for non-zero trailing
2376        DIGITS.)
2377
23782006-12-04 12:52  gb
2379
2380        * level-1/l1-streams.lisp: Choke earlier on unsupported stream
2381        element-types; do some upgrading to support some more element types
2382        (BIT -> (UNSIGNED-BYTE 8)).
2383       
2384        Maybe support arbitrarily large integer types someday soon.  Maybe
2385        not.
2386
23872006-12-04 12:48  gb
2388
2389        * level-1/l1-clos-boot.lisp: Make built-in classes for istruct
2390        types (compiler stuff, mostly).
2391
23922006-12-04 12:46  gb
2393
2394        * level-0/X86/X8664/x8664-bignum.lisp: Ensure that %ASHL handles
2395        shift count of 32 (and returns 0 in that case.)
2396
23972006-12-04 12:46  gb
2398
2399        * level-0/l0-bignum64.lisp: In BIGNUM-SHIFT-RIGHT-LOOP-1, use
2400        %ASHL, not %ILSL.  (Don't want nonsense in the high 32 bits, just
2401        in case.)
2402
24032006-12-04 12:43  gb
2404
2405        * level-0/l0-numbers.lisp: Bugs in GCD-2.  Long-standing bugs in
2406        GCD-2 ...
2407
24082006-12-04 09:26  gb
2409
2410        * level-1/l1-streams.lisp: STREAM-CLEAR-INPUT: don't inherit method
2411        for STRING-INPUT-STREAMs.
2412
24132006-12-04 09:24  gb
2414
2415        * level-0/l0-bignum64.lisp: BIGNUM-SHIFT-RIGHT-1: handle shift by 0
2416        bits.  BIGNUM-BIGNUM-GCD (whatever it's called): don't bother to
2417        shift by 0 bits.
2418
24192006-12-04 09:21  gb
2420
2421        * level-1/ppc-trap-support.lisp: Reset error-reentry count before
2422        doing %SLOT-UNBOUND-TRAP.
2423
24242006-12-04 09:21  gb
2425
2426        * level-1/l1-streams.lisp: Default STREAM-POSITION method for
2427        STREAMs, returns NIL.  STREAM-POSITION method for
2428        STRING-INPUT-STREAMs.
2429
24302006-12-04 09:19  gb
2431
2432        * level-1/l1-pathnames.lisp: Derive ccl-directory from pathname
2433        containing heap image.
2434
24352006-12-03 07:41  gb
2436
2437        * level-1/l1-streams.lisp: FORCE-OUTPUT, FINISH-OUTPUT on
2438        STRING-OUTPUT-STREAMs are no-ops.
2439       
2440        Need an ioblock-based character-read-vector function for
2441        string-input-streams.
2442
24432006-12-03 07:37  gb
2444
2445        * lib/describe.lisp: Minimal DESCRIBE support for
2446        CCL::BASIC-STREAM.
2447
24482006-12-03 07:36  gb
2449
2450        * lib/macros.lisp: If :element-type is supplied in
2451        WITH-OUTPUT-TO-STRING, don't quote it.
2452
24532006-12-03 05:11  gb
2454
2455        * level-1/x86-trap-support.lisp: Define RIP-REGISTER-OFFSET, which
2456        isn't necessarily 16.
2457
24582006-12-03 05:10  gb
2459
2460        * level-1/x86-error-signal.lisp: Use RIP-REGISTER-OFFSET, which
2461        isn't necessarily 16.
2462       
2463        Use WITH-ERROR-REENTRY-DETECTION n %xerr-disp; dtrt for
2464        %slot-unbound-trap.
2465
24662006-12-03 05:09  gb
2467
2468        * level-1/l1-streams.lisp: Tweak stream hierarchy a little, to
2469        avoid some NO-NEXT-METHODs.
2470
24712006-12-03 02:42  gb
2472
2473        * compiler/nx1.lisp: Handle VALUES type specifiers in THE forms a
2474        bit better.
2475
24762006-12-03 02:41  gb
2477
2478        * compiler/nx0.lisp: Handle VALUES type specifiers in THE forms a
2479        bit.
2480
24812006-12-03 02:28  gb
2482
2483        * lisp-kernel/x86-spentry64.s: Do vector bounds checking by
2484        clearing the low byte of the header, shifting it right, and
2485        comparing the index to that.  (It's not reliable to shift the index
2486        left.)
2487
24882006-12-03 02:26  gb
2489
2490        * level-1/l1-unicode.lisp: Memory/vector encode functions: don't
2491        write BOM, leave that up to higher-level code.
2492       
2493        Start to write some higher-level code.
2494
24952006-12-03 02:23  gb
2496
2497        * level-1/l1-sysio.lisp: Fix some indentation.
2498
24992006-12-03 02:21  gb
2500
2501        * compiler/X86/X8664/x8664-vinsns.lisp: CHECK-MISC-BOUNDS: shift
2502        the header word right (after clearing its low byte) and compare the
2503        index to that.  (Shifting the index left - d'oh - obviously fails
2504        for indices of large magnitude.)
2505
25062006-11-29 21:07  gb
2507
2508        * lib/db-io.lisp: Indentation change.
2509       
2510        Add CDB-ENUMERATE-KEYS.
2511
25122006-11-29 18:37  gb
2513
2514        * lib/level-2.lisp: %DESTRUCTURE-LAMBDA-LIST: other callers of
2515        VERIFY-LAMBDA-LIST (hopefully) check to see if the alleged list is
2516        LISTP first.  (I hope ...).  Do so.
2517
25182006-11-28 18:42  gb
2519
2520        * lisp-kernel/x86-spentry64.s: Wrong register typo in .SPaset2.
2521
25222006-11-28 16:14  gb
2523
2524        * examples/cocoa-window.lisp: DEFAULT-FONT: retain the font.
2525
25262006-11-28 16:12  gb
2527
2528        * examples/objc-runtime.lisp: Wrap a (primitive)
2529        WITH-AUTORELEASE-POOL around the code which detaches the dummy
2530        NSThread.
2531
25322006-11-28 16:09  gb
2533
2534        * examples/cocoa-listener.lisp: Don't claim that a callback
2535        parameter is ignored; use IGNORABLE instead.
2536
25372006-11-21 01:28  gb
2538
2539        * level-1/l1-sockets.lisp: Typo in PATH-FROM-UNIX-ADDRESS
2540        conditionalization.
2541
25422006-11-21 00:55  gb
2543
2544        * level-1/l1-sockets.lisp: INIT-UNIX-SOCKADDR: don't use
2545        %COPY-IVECTOR-TO-PTR to copy string to foreign memory.
2546       
2547        Basic file-socket streams.
2548
25492006-11-10 05:08  gb
2550
2551        * release-notes.txt: Update.
2552
25532006-11-10 04:28  gb
2554
2555        * lisp-kernel/image.h: Bump min image version.
2556
25572006-11-10 04:19  gb
2558
2559        * xdump/heap-image.lisp: bump current image version.
2560
25612006-11-10 04:19  gb
2562
2563        * lisp-kernel/image.h: bump current, max image version.
2564
25652006-11-10 04:10  gb
2566
2567        * xdump/faslenv.lisp: Bump min fasl version.
2568
25692006-11-10 03:56  gb
2570
2571        * lib/nfcomp.lisp: bump current fasl version.
2572
25732006-11-10 03:47  gb
2574
2575        * lisp-kernel/x86-exceptions.c: save_application: use #__exit, not
2576        #_exit
2577
25782006-11-10 03:46  gb
2579
2580        * compiler/X86/x862.lisp: TYPE typo.
2581
25822006-11-10 03:32  gb
2583
2584        * xdump/faslenv.lisp: Bump max fasl version.
2585
25862006-11-10 03:25  gb
2587
2588        * level-1/version.lisp: Bump.  New snapshots today!
2589
25902006-11-09 16:26  gb
2591
2592        * level-1/l1-readloop.lisp: QUIT uses #__quit.
2593       
2594        PREPARE-TO-QUIT kill stragglers without waiting as long.
2595
25962006-11-09 15:50  gb
2597
2598        * lisp-kernel/pmcl-kernel.c: Use #_ _exit for fatal termination.
2599       
2600        Try to run lisp code after #_exit via lazarus(); this is for some
2601        cases of SAVE-APPLICATION (e.g., in the Cocoa GUI).
2602       
2603        The environment in which The Undead code runs is a little funky,
2604        especially on PPC.  There might be GC implications (cstack will
2605        contain call history as of the point when #_exit called atexit
2606        handlers, vstack & tstack are emptied in lazarus()).  We should
2607        barely run any code in this environment, but we will GC a time or
2608        two ...
2609
26102006-11-09 15:45  gb
2611
2612        * lisp-kernel/ppc-exceptions.c: Use _exit afer save-application.
2613
26142006-11-09 15:43  gb
2615
2616        * examples/: cocoa-window.lisp, cocoa.lisp: Change the quit
2617        protocol.
2618
26192006-11-09 15:42  gb
2620
2621        * examples/cocoa-listener.lisp: :set-document-edited for listener
2622        "documents" is a no-op.
2623
26242006-11-09 15:39  gb
2625
2626        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
2627        PPC64/ppc64-vinsns.lisp: 3d-array accessor stuff for PPC as well.
2628
26292006-11-09 12:50  gb
2630
2631        * compiler/X86/x862.lisp: Always check that array-ctype's
2632        dimensions are a list before taking their length.
2633
26342006-11-09 12:13  gb
2635
2636        * compiler/X86/X8664/x8664-vinsns.lisp: 3d-unscaled-index does the
2637        right thing ...
2638
26392006-11-09 10:08  gb
2640
2641        * compiler/: nx1.lisp, X86/x862.lisp, X86/X8664/x8664-vinsns.lisp:
2642        Three-arg aref/(setf aref) for x8664.
2643
26442006-11-09 05:37  gb
2645
2646        * compiler/nx0.lisp: Map array-type keywords to 3d-array type
2647        errors.
2648
26492006-11-09 05:37  gb
2650
2651        * compiler/nxenv.lisp: Operators for 3d array access.
2652
26532006-11-09 05:36  gb
2654
2655        * compiler/arch.lisp, level-1/l1-error-system.lisp,
2656        lisp-kernel/errors.s, lisp-kernel/lisp-errors.h: Type-errors for 3d
2657        array types.
2658
26592006-11-08 12:50  gb
2660
2661        * level-1/x86-trap-support.lisp: In darwin Fake Structures For
2662        Leopard nonsense: define the stack context struct separately, make
2663        the ucontext stack field an instance of it.  (Not -sure- if that
2664        was necessary, but :poweropen-target was accidentally on *FEATURES*
2665        and foreign struct layout was using read-time condtionalization to
2666        decide whether or not to use brain-dead structure-alignment rules
2667        leftover from AIX/PowerOpen.
2668
26692006-11-08 12:46  gb
2670
2671        * lisp-kernel/x86-spentry64.s: Fix comment ("/*", not "/%" ...).
2672
26732006-11-08 12:40  gb
2674
2675        * compiler/optimizers.lisp: Try to infer/insert the array type when
2676        compiler-macroexpanding MAKE-ARRAY calls.
2677
26782006-11-08 12:39  gb
2679
2680        * compiler/PPC/PPC32/ppc32-backend.lisp: DarwinPPC32 FTD follows
2681        :poweropen-alignment rules.
2682
26832006-11-08 12:38  gb
2684
2685        * lib/foreign-types.lisp: parse-foreign-record-fields: conformance
2686        to poweropen structure layout rules should be an attribute of the
2687        FTD, not done via read-time conditionalization.
2688
26892006-11-08 05:15  gb
2690
2691        * level-1/version.lisp: Bump.
2692
26932006-11-08 05:15  gb
2694
2695        * level-1/l1-streams.lisp: Some bivalent/binary fixes.
2696       
2697        TODO: get rid of "bivalent" streams, but allow switching some
2698        streams (sockets) between "character mode" and "binary mode".
2699
27002006-11-08 02:39  gb
2701
2702        * compiler/PPC/ppc2.lisp: Typo in misc-ref-u64 vinsn emit.
2703
27042006-11-07 21:10  gb
2705
2706        * compiler/optimizers.lisp: Transform three-argument AREF->%AREF3,
2707        ASET->%ASET3.
2708
27092006-11-07 20:40  gb
2710
2711        * compiler/X86/x862.lisp: Implement %aset2 in the x8664 backend.
2712
27132006-11-07 20:39  gb
2714
2715        * level-0/X86/x86-array.lisp: %aref3, %aset3.
2716
27172006-11-07 20:38  gb
2718
2719        * level-0/l0-array.lisp: Use %aref2,%aref3.
2720
27212006-11-07 20:37  gb
2722
2723        * compiler/X86/X8664/x8664-vinsns.lisp: More (often redundant)
2724        vector-store vinsns.
2725
27262006-11-07 20:37  gb
2727
2728        * compiler/X86/X8664/x8664-arch.lisp: .SParef3, .SPaset3.
2729
27302006-11-07 10:28  gb
2731
2732        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s: .SParef3,
2733        .SPaset3.
2734
27352006-11-07 10:27  gb
2736
2737        * level-0/PPC/ppc-array.lisp: %ref3, %aset3.
2738
27392006-11-07 10:26  gb
2740
2741        * lisp-kernel/ppc-spentry.s, lisp-kernel/ppc-spjump.s,
2742        compiler/PPC/ppc-arch.lisp: .SPref3, .SPaset3.
2743
27442006-11-07 10:26  gb
2745
2746        * lisp-kernel/ppc-macros.s: Define mullr, which expands into one of
2747        mullw/mulld.
2748
27492006-11-07 04:12  gb
2750
2751        * compiler/PPC/ppc2.lisp: :signed-64-bit-vector is signed ...
2752
27532006-11-06 22:07  gb
2754
2755        * compiler/nx0.lisp: nx-error-for-simple-2d-array-type: forgot the
2756        :fixnum-vector case.
2757
27582006-11-06 22:04  gb
2759
2760        * compiler/PPC/ppc2.lisp: Handle vector assignment differently;
2761        handle (setf (aref ...)) of simple 2d-arrays inline if the type is
2762        known/declared.
2763
27642006-11-06 22:02  gb
2765
2766        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
2767        Add vinsns for misc-set-s* and variants. (Identical to the unsigned
2768        versions, but it helps not to have to remember which are
2769        implemented and which aren't.)
2770
27712006-11-06 22:01  gb
2772
2773        * compiler/nxenv.lisp: general-aset2, simple-typed-aset2.
2774
27752006-11-06 22:00  gb
2776
2777        * compiler/nx1.lisp: New %ASET2 handling.
2778
27792006-11-06 21:59  gb
2780
2781        * compiler/nx0.lisp: ACODE-FORM-TYPE: use var-inittype if var is
2782        never assigned to.
2783
27842006-11-05 22:09  gb
2785
2786        * level-1/x86-trap-support.lisp: Try to work around
2787        incompatibilites in Tiger/Leopard headers.
2788
27892006-11-05 22:08  gb
2790
2791        * level-1/l1-sockets.lisp: LOOKUP-PORT: use the macro HTONS, since
2792        the foreign function may not exist.
2793
27942006-11-05 20:41  gb
2795
2796        * compiler/X86/x862.lisp: 2d array error lookup -> nx.
2797
27982006-11-05 07:55  gb
2799
2800        * level-0/X86/x86-misc.lisp: %VALID-REMAINING-TIMESPEC-TIME-P for
2801        x86-64, as well.
2802
28032006-11-05 07:52  gb
2804
2805        * level-0/X86/x86-array.lisp: %AREF2, %ASET2 in x8664 lap.
2806
28072006-11-05 07:50  gb
2808
2809        * lisp-kernel/x86-spentry64.s: pre-add displacement in .SParef2,
2810        .SPaset2.
2811
28122006-11-05 07:48  gb
2813
2814        * lisp-kernel/ppc-spentry.s: .SParef2, .SPaset2: since we aren't
2815        testing simple-array-ness, add the (possibly 0) displacement from
2816        the header before handling the simple aref of the data vector.
2817
28182006-11-05 07:47  gb
2819
2820        * lib/foreign-types.lisp: PRINT-OBJECT method for EEPS: handle
2821        pointers on PPC(64), print 64-bit addresses on 64-bit platforms.
2822
28232006-11-05 07:46  gb
2824
2825        * level-1/version.lisp: Bump; new binaries soon.
2826
28272006-11-05 07:46  gb
2828
2829        * level-1/l1-lisp-threads.lisp: %NANOSLEEP calls
2830        %VALID-REMAINING-TIMESPEC-TIME-P, which is better than sleeping for
2831        4G seconds after an EINTR on Leopard.
2832
28332006-11-05 07:44  gb
2834
2835        * level-0/PPC/PPC64/ppc64-bignum.lisp: MACPTR->FIXNUM returns NIL
2836        if any non-fixnum bits would be set in the result.  (Should
2837        probably make this true on all platforms; for PPC64, it's important
2838        for foreign function addresses that're ... suboptimally aligned.)
2839
28402006-11-05 07:42  gb
2841
2842        * level-0/PPC/ppc-misc.lisp: Try to detect the case where
2843        %NANOSLEEP's second (by reference) argument contains garbage after
2844        an EINTR.  (The L word, again.)
2845
28462006-11-05 07:41  gb
2847
2848        * level-0/PPC/ppc-array.lisp: %AREF2, %ASET2: in LAP, just call
2849        into the kernel.
2850
28512006-11-05 07:40  gb
2852
2853        * level-0/l0-cfm-support.lisp: Some platforms (the L-word) generate
2854        ppc64 functions whose addresses are not 0 mod 8, so (a) make
2855        MACPTR->FIXNUM return NIL if an address isn't representable as a
2856        fixnum and (b) make FOREIGN-SYMBOL-ENTRY return an address if it
2857        can't return a fixnum on PPC (really just affects PPC64.)
2858
28592006-11-05 07:37  gb
2860
2861        * level-0/l0-array.lisp: %aref2, %aset2: call into kernel.
2862
28632006-11-05 07:36  gb
2864
2865        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
2866        2d aref support/changes.
2867
28682006-11-05 07:36  gb
2869
2870        * compiler/PPC/ppc2.lisp: Get the PPC2 backend caught up with the
2871        x8664 wrt 2d aref.  Stll a ways to go.
2872
28732006-11-05 07:35  gb
2874
2875        * compiler/nx0.lisp: NX-ERROR-FOR-SIMPLE-2D-ARRAY-TYPE.
2876
28772006-11-04 00:05  gb
2878
2879        * level-1/version.lisp: Bump.
2880
28812006-11-03 23:10  gb
2882
2883        * level-1/ppc-error-signal.lisp: fix parens.
2884
28852006-11-03 23:09  gb
2886
2887        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: arch
2888        gvector types contains :struct, not :structure.
2889
28902006-11-03 23:08  gb
2891
2892        * compiler/PPC/ppc2.lisp: aref2: new operator name(s), always call
2893        subprim.
2894       
2895        ppc2-fixed-call-builtin: (tail-)call subprims even if they aren't
2896        in the builtin functions table.
2897
28982006-11-03 15:19  gb
2899
2900        * compiler/PPC/ppc-arch.lisp: New .SParef2, .SPaset2 subprims.
2901
29022006-11-03 15:18  gb
2903
2904        * compiler/PPC/ppc-asm.lisp: Comments/indentation.
2905
29062006-11-03 15:17  gb
2907
2908        * level-1/ppc-error-signal.lisp: Change decoding/handlng of
2909        type-error UUOs.
2910
29112006-11-03 15:16  gb
2912
2913        * lisp-kernel/: ppc-spentry.s, ppc-spjump.s: .SParef2, .SPaset2.
2914
29152006-11-03 15:16  gb
2916
2917        * lisp-kernel/: ppc-constants32.s, ppc-constants64.s: Define arrayH
2918        (array-header) layout.
2919
29202006-11-03 13:46  gb
2921
2922        * level-1/l1-clos-boot.lisp: CANONICALIZE-SPECIALIZERS optionally
2923        returns its argument if all members are SPECIALIZERS.
2924       
2925        Use CANONICALIZE-SPECIALIZERS to canonicalize FIND-METHOD
2926        arguments, for the benefit of people who haven't read the MOP spec
2927        or who don't realize that the MOP defines some things differently
2928        from CLHS.
2929
29302006-11-03 13:38  gb
2931
2932        * compiler/X86/x862.lisp: Consistently use :struct (not :structure)
2933        to refer to primitive structure type.
2934       
2935        Fix array-ctype-dimensions check in %aref1, add it to %aset1.
2936
29372006-11-03 13:37  gb
2938
2939        * compiler/X86/X8664/x8664-arch.lisp: Ensure that :STRUCT (not
2940        :STRUCTURE) is on target-gvector-types.
2941
29422006-11-03 12:53  gb
2943
2944        * lisp-kernel/x86-uuo.s: uuo_error_array_bounds, such as it is.
2945
29462006-11-03 12:52  gb
2947
2948        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s: SParef2, .SPaset2.
2949         More to come ...
2950
29512006-11-03 12:52  gb
2952
2953        * lisp-kernel/x86-constants64.s: Define array-header layout.
2954
29552006-11-03 12:51  gb
2956
2957        * lisp-kernel/: errors.s, lisp-errors.h: New type-error uuo
2958        encodings, new type-error constants.
2959
29602006-11-03 12:50  gb
2961
2962        * level-1/x86-error-signal.lisp: New range/encoding of type-error
2963        traps.
2964
29652006-11-03 12:49  gb
2966
2967        * level-1/l1-utils.lisp: (temporary) mechanism to avoid
2968        constant-redefinition CERRORs.
2969
29702006-11-03 12:48  gb
2971
2972        * level-1/l1-error-system.lisp: New %type-error-typespecs%.
2973
29742006-11-03 12:47  gb
2975
2976        * level-0/l0-pred.lisp: array--header -> array-header.
2977
29782006-11-03 12:47  gb
2979
2980        * compiler/X86/X8664/x8664-vinsns.lisp: Fix misc-set-c-u64 braino;
2981        add/change some 2d array stuff.
2982
29832006-11-03 12:43  gb
2984
2985        * compiler/X86/X8664/x8664-arch.lisp: Define .SParef2/.SPaset2
2986        subprims; seem to be much (>5x) faster than the lisp/lap versions
2987        (though we can generally be faster still when we know the
2988        element-type and/or know whether the array is simple or explicitly
2989        displaced.)
2990
29912006-11-03 12:41  gb
2992
2993        * compiler/X86/x862.lisp: Change handling of 2d-aref; lots of
2994        related changes.
2995       
2996        Split the code which handles bounds/type-checking in vref out from
2997        the code which actually does the reference, so that the latter can
2998        be used in multidimensional cases.
2999       
3000        Need to do this on PPC as well; need to do more (%aset2, 3d cases,
3001        general case.)
3002
30032006-11-03 12:38  gb
3004
3005        * compiler/nx1.lisp: Change handling of 2d-aref.
3006
30072006-11-03 12:37  gb
3008
3009        * compiler/nxenv.lisp: aref2 -> simple-typed-aref2, add
3010        general-aref2.  More changes to come (and this may affect
3011        compilation on PPC until some PPC compiler changes are
3012        made/checked-in.)
3013
30142006-11-03 12:35  gb
3015
3016        * compiler/arch.lisp: type-errors (as encoded in UUOs) are now in
3017        the range 128-255, rather than 64-127; more are defined.
3018
30192006-11-02 09:43  gb
3020
3021        * level-1/l1-error-system.lisp: Move along, nothing to see here.
3022
30232006-11-02 09:37  gb
3024
3025        * compiler/arch.lisp: New error constants; work in progress ...
3026
30272006-11-01 11:40  gb
3028
3029        * lisp-kernel/errors.s: Some new constants; more to check in later.
3030
30312006-10-31 03:39  gb
3032
3033        * level-0/l0-io.lisp: You must be reading the OLD rule book
3034        (Leopard and #$EINTR).
3035
30362006-10-31 03:21  gb
3037
3038        * lisp-kernel/ppc-exceptions.c: handle_protection_violation: pass
3039        the tcr.  Initialize "addr" before testing it ...
3040
30412006-10-31 03:21  gb
3042
3043        * lisp-kernel/lisp-exceptions.h: handle_protection_violation: pass
3044        the tcr.
3045
30462006-10-30 20:40  gb
3047
3048        * lib/defstruct.lisp: DEFSTRUCT-REF-TRANSFORM for typed vector
3049        expands into something more useful.
3050
30512006-10-30 20:39  gb
3052
3053        * lisp-kernel/ppc-spentry.s: Fix ppc32
3054        misc_ref_double_float_vector.
3055
30562006-10-30 00:24  gb
3057
3058        * level-0/l0-bignum64.lisp: Enable the destructive version of
3059        %BIGNUM-BIGNUM-GCD; conditionalize it for 64-bit targets and
3060        provide/fix supporting functions.  Seems to work on ppc64; needs
3061        testing on x8664.
3062
30632006-10-27 17:49  gb
3064
3065        * darwin-x86-headers64/libc/C/: .cvsignore, populate.sh: New file.
3066
30672006-10-25 20:36  gb
3068
3069        * level-1/l1-streams.lisp: %BIVALENT-IOBLOCK-READ-U8-BYTE (and
3070        variants): always clear the untyi-char.
3071       
3072        %ENCODED-IOBLOCK-PEEK-CHAR: the read-char-when-locked function
3073        needs an argument.
3074       
3075        SETUP-IOBLOCK-OUTPUT: there are no special output functions for
3076        bivalent streams.
3077       
3078        %IOBLOCK-BINARY-READ-VECTOR: clear any untyi char.
3079
30802006-10-24 12:35  gb
3081
3082        * level-1/version.lisp: Bump.
3083
30842006-10-24 01:29  gb
3085
3086        * lisp-kernel/x86-spentry64.s: Fix :ALLOW-OTHER-KEYS check in
3087        _SPdestbind1 (still used in inlining, sometimes.)
3088
30892006-10-24 01:05  gb
3090
3091        * release-notes.txt: Change the date, add/change some content.
3092
30932006-10-24 01:05  gb
3094
3095        * lib/macros.lisp: Reference the (bound) STREAM-VAR argument - not
3096        STREAM - in the expansion of WITH-OUTPUT-TO-STRING.
3097
30982006-10-24 00:56  gb
3099
3100        * lib/ccl-export-syms.lisp: Reference the (bound) STREAM-VAR
3101        argument - not STREAM - in the expansion of WITH-OUTPUT-TO-STRING.
3102
31032006-10-24 00:55  gb
3104
3105        * level-1/l1-streams.lisp: When recycling
3106        string-output-stream-ioblocks, set the IOBLOCK-CHARPOS to 0.
3107        (Failure to do this can screw up the pretty-printer, among other
3108        things.)
3109
31102006-10-24 00:52  gb
3111
3112        * level-1/l1-sockets.lisp: DEFAULT-CHARACTER-ENCODING for :SOCKET,
3113        *DEFAULT-SOCKET-CHARACTER-ENCODING*.
3114
31152006-10-23 17:03  gb
3116
3117        * release-notes.txt: Updated; almost ready to go (still a
3118        WITH-OUTPUT-TO-STRING/PPRINT (?) bug).
3119
31202006-10-23 16:43  gb
3121
3122        * level-1/l1-sysio.lisp: NORMALIZE-EXTERNAL-FORMAT: use
3123        *DEFAULT-EXTERNAL-FORMAT* value for :DEFAULT.
3124
31252006-10-23 16:42  gb
3126
3127        * level-1/l1-streams.lisp: Use NORMALIZE-EXTERNAL-FORMAT in (SETF
3128        STREAM-EXTERNAL-FORMAT) methods.
3129
31302006-10-23 16:41  gb
3131
3132        * lib/ccl-export-syms.lisp: Export some unicode/external-format
3133        stuff.
3134
31352006-10-23 08:27  gb
3136
3137        * level-1/version.lisp: Bump; binaries today, honest.
3138
31392006-10-23 08:27  gb
3140
3141        * level-1/l1-streams.lisp: freelist string-output-stream-ioblocks.
3142
31432006-10-23 08:26  gb
3144
3145        * lib/macros.lisp: Some/most/all of the WITH-IOBLOCK-OUTPUT-LOCKED
3146        macros were checking for the presence of an input lock ...
3147
31482006-10-23 05:40  gb
3149
3150        * level-1/l1-streams.lisp: Optimize write-string on string streams
3151        a little.
3152
31532006-10-23 05:26  gb
3154
3155        * lib/macros.lisp: WITH-OUTPUT-TO-STRING: don't expand into code
3156        which evaluates the string form twice; don't do whatever was being
3157        done to default the element type of the string stream.
3158
31592006-10-23 05:24  gb
3160
3161        * compiler/optimizers.lisp: MAKE-STRING-OUTPUT-STREAM: skip some
3162        keyword/subtype checking if element-type not provided.  (Could also
3163        skip it if it's explicit and obviously OK.)
3164
31652006-10-23 05:22  gb
3166
3167        * level-0/X86/x86-misc.lisp: %HEAP-BYTES-ALLOCATED: don't add
3168        "current" allocation if nothing's reserved.
3169
31702006-10-23 05:19  gb
3171
3172        * lisp-kernel/x86-exceptions.c: In handle_alloc_trap(), fix call to
3173        update_bytes_allocated (sign of "disp").
3174
31752006-10-22 08:02  gb
3176
3177        * compiler/PPC/ppc2.lisp: MULTIPLE-VALUE-PROG1: treat the first
3178        form like a PROGN if there are no other forms.
3179
31802006-10-22 08:01  gb
3181
3182        * level-1/l1-streams.lisp: Don't disable interrupts when calling
3183        ioblock functions.
3184       
3185        New string-stream implementation.  Better ...
3186
31872006-10-22 07:59  gb
3188
3189        * lib/macros.lisp: If WITH-OUTPUT-TO-STRING gets the string, do so
3190        before the stream closes.
3191
31922006-10-22 07:59  gb
3193
3194        * lib/pprint.lisp: Don't assume that string output stream strings
3195        have a fill-pointer; use STREAM-POSITION instead.
3196
31972006-10-22 07:57  gb
3198
3199        * lib/streams.lisp: Don't disable interrupts when calling ioblock
3200        functions, after all.
3201       
3202        Go through (new) ioblock-unread-char-function.
3203
32042006-10-22 07:55  gb
3205
3206        * lisp-kernel/darwinppc/.gdbinit: Stop trying to print strings via
3207        x/s
3208
32092006-10-21 18:46  gb
3210
3211        * level-1/l1-streams.lisp: Typo.
3212
32132006-10-21 18:41  gb
3214
3215        * lisp-kernel/x86-exceptions.c: Initialize (zero, usually) more
3216        fields in pseudo sigcontexts.
3217
32182006-10-21 18:40  gb
3219
3220        * level-1/l1-streams.lisp: Mostly locking changes (don't lock
3221        twice, etc.)
3222
32232006-10-21 18:35  gb
3224
3225        * level-0/l0-array.lisp, level-0/l0-init.lisp,
3226        level-0/l0-pred.lisp, level-0/l0-utils.lisp,
3227        level-0/PPC/ppc-array.lisp, level-0/PPC/ppc-symbol.lisp,
3228        level-0/X86/x86-symbol.lisp, level-1/l1-aprims.lisp,
3229        lib/sequences.lisp: Remove vestival #+target-8-bit-chars stuff.
3230
32312006-10-21 16:45  gb
3232
3233        * level-1/l1-unicode.lisp: New! Improved! Now with more iso-8859
3234        encodings!
3235
32362006-10-19 13:48  gb
3237
3238        * level-0/PPC/ppc-misc.lisp: Reference the source argument - not
3239        arg_z - in %safe-get-ptr.
3240
32412006-10-19 13:22  gb
3242
3243        * level-0/l0-aprims.lisp: %CSTR-POINTER: make #\Nul termination
3244        optional, use #\Sub char-code as replaement char.
3245
32462006-10-19 13:21  gb
3247
3248        * examples/objc-runtime.lisp: Missing close paren.
3249
32502006-10-19 13:19  gb
3251
3252        * examples/: cocoa-editor.lisp, cocoa-listener.lisp: Careful BLTing
3253        strings to/from foreign memory.
3254
32552006-10-19 13:18  gb
3256
3257        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Typos in UNBOX-S8.
3258
32592006-10-18 08:04  gb
3260
3261        * level-1/version.lisp: Bump.  Binaries later today ?
3262
32632006-10-18 07:38  gb
3264
3265        * level-1/l1-clos-boot.lisp: The post-bootstrapping version of
3266        (SETF FIND-CLASS) only introduces (or removes) a type name if the
3267        class becomes (or ceases to be) a properly named class.
3268       
3269        The pre-bootstrapping version handles simpler cases of that; use
3270        ALIAS-CLASS to register some early class names as type names.
3271
32722006-10-18 07:36  gb
3273
3274        * level-1/l1-clos.lisp: (SETF CLASS-NAME) can affect the type
3275        system, since only symbols which name properly-named classes are
3276        type specifiers.  Changing the name of a class can either introduce
3277        or remove a properly-named class.
3278       
3279        Classes that have the kernel-p attribute shouldn't have their names
3280        changed casually.
3281
32822006-10-18 07:33  gb
3283
3284        * level-1/l1-sockets.lisp: Accept an :EXTERNAL-FORMAT argument to
3285        MAKE-SOCKET, pass it down to whatever function actually creates a
3286        stream socket.
3287
32882006-10-18 02:12  gb
3289
3290        * compiler/X86/x862.lisp: Allow closed-over addresses in
3291        conditional-form, NOT.
3292
32932006-10-18 01:43  gb
3294
3295        * lisp-kernel/x86-exceptions.c: handle_fault() checks for
3296        safe_ref_addres.
3297
32982006-10-18 01:43  gb
3299
3300        * level-0/X86/x86-misc.lisp: %safe-get-ptr for x8664.
3301
33022006-10-18 01:41  gb
3303
3304        * compiler/X86/X8664/x8664-vinsns.lisp: Compare stack
3305        addresses/vcells to nil.
3306
33072006-10-18 01:41  gb
3308
3309        * compiler/X86/x862.lisp: Stuff for comparing memory (stack)
3310        addresses to NIL.
3311       
3312        Mark arg_z and rcx/nargs as being in use when restoring interrupt
3313        level inline.
3314
33152006-10-18 01:39  gb
3316
3317        * compiler/X86/x86-disassemble.lisp: We've had UUO-ERROR-UNBOUND
3318        for a few months now.  The disassembler is always the last to know.
3319
33202006-10-17 19:15  gb
3321
3322        * compiler/PPC/PPC32/ppc32-arch.lisp,
3323        compiler/PPC/PPC64/ppc64-arch.lisp,
3324        compiler/X86/X8664/x8664-arch.lisp, examples/objc-runtime.lisp,
3325        level-0/l0-misc.lisp, level-0/PPC/ppc-misc.lisp,
3326        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
3327        lisp-kernel/ppc-constants64.h, lisp-kernel/ppc-constants64.s,
3328        lisp-kernel/ppc-exceptions.c, lisp-kernel/x86-constants64.h,
3329        lisp-kernel/x86-constants64.s: add safe-ref-address to tcr.
3330       
3331        Handle memory faults to safe-ref-addres on PPC (so far).
3332       
3333        Try using SAFE-GET-PTR in objc runtime (untested).
3334
33352006-10-17 17:34  gb
3336
3337        * compiler/PPC/ppc2.lisp: ppc backend %aref1/%aset1: notice array
3338        type in acode.
3339
33402006-10-17 14:02  gb
3341
3342        * level-1/l1-unicode.lisp: BOM-ENCODING.
3343
33442006-10-17 14:02  gb
3345
3346        * level-1/l1-sysio.lisp: FILE-STRING-LENGTH actually does
3347        something.
3348       
3349        Clear the pending-bom flag when seeking.
3350
33512006-10-17 14:01  gb
3352
3353        * level-1/l1-streams.lisp: (SETF STREAM-EXTERNAL-FORMAT) for
3354        ioblock-based character streams.
3355
33562006-10-17 13:45  gb
3357
3358        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: bind/unbind
3359        *interrupt-level* inline.
3360
33612006-10-17 13:44  gb
3362
3363        * compiler/X86/x86-disassemble.lisp: Act like ud2a takes a one-byte
3364        immmediate operand (xuuo).
3365
33662006-10-17 13:39  gb
3367
3368        * level-1/l1-streams.lisp, lib/streams.lisp: Disable interrupts
3369        when necessary.
3370
33712006-10-17 13:39  gb
3372
3373        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
3374        PPC64/ppc64-vinsns.lisp: bind/unbind *interrupt-level* inline.
3375
33762006-10-15 17:51  gb
3377
3378        * level-1/l1-streams.lisp: Handle 32-bit character encodings.
3379       
3380        Start to extend STREAM-EXTERNAL-FORMAT, start to make it SETFable.
3381
33822006-10-15 17:51  gb
3383
3384        * level-1/l1-unicode.lisp: utf-32/ucs-4 and variants.
3385
33862006-10-15 17:50  gb
3387
3388        * level-1/l1-sysio.lisp: EXTERNAL-FORMATs are immutable, interned.
3389
33902006-10-14 07:41  gb
3391
3392        * compiler/PPC/ppc2.lisp: Fix use of ^,<- vinsn macros inside
3393        ENSURING-NODE-TARGET.
3394       
3395        Inline the fixnum case of two-arg numeric comparisons.
3396
33972006-10-14 07:39  gb
3398
3399        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3400        INLINE-SUB2 support.
3401
34022006-10-14 06:30  gb
3403
3404        * lib/defstruct.lisp: Don't (DECLARE (OPTIMIZE (SAFETY 3))) in
3405        generated DEFSTRUCT accessors.
3406
34072006-10-14 06:27  gb
3408
3409        * compiler/X86/x862.lisp: Fix many cases of ENSURING-NODE-TARGET.
3410       
3411        Do the fixnum case of two-argument subtraction inline.
3412       
3413        Inline the fixnum case of two-argument numeric comparisons.
3414       
3415        STRUCT-REF avoids typechecking when reckless.
3416
34172006-10-14 06:21  gb
3418
3419        * compiler/backend.lisp: It makes no sense to use the vinsn macros
3420        <- and ^ inside ENSURING-NODE-TARGET, so make it check for that.
3421
34222006-10-14 06:20  gb
3423
3424        * compiler/X86/X8664/x8664-vinsns.lisp: Do vector bounds-checking a
3425        little differently.
3426       
3427        Add xchg-registers.
3428
34292006-10-13 04:54  gb
3430
3431        * compiler/nx1.lisp: Use new NUMCMP operator.
3432
34332006-10-13 04:53  gb
3434
3435        * compiler/nx0.lisp: Change inline expansion: use optimize settings
3436        in effect at call time, not those in effect at definition time.
3437
34382006-10-13 04:50  gb
3439
3440        * level-0/l0-numbers.lisp: Change >=-2, <=-2, /=-2 to avoid
3441        inlining issues.
3442
34432006-10-13 04:30  gb
3444
3445        * compiler/nxenv.lisp: Replace unused num= with numcmp.
3446
34472006-10-12 19:46  gb
3448
3449        * lisp-kernel/pmcl-kernel.c: Terminate argument processing when
3450        "--" is seen.
3451
34522006-10-12 19:45  gb
3453
3454        * level-1/: l1-streams.lisp, l1-sysio.lisp, l1-unicode.lisp: Handle
3455        newline translation differenly (at the character I/O level, not the
3456        buffer level).
3457       
3458        All character encoding/decoding functions operate on octets, not
3459        necessarily code units.  (The stream encode/decode functions are an
3460        exception; serialization and byte ordering are handled by the
3461        stream.)
3462
34632006-10-09 16:34  gb
3464
3465        * level-1/l1-streams.lisp: Write  #\Sub's char-code if we can't
3466        encode a character in (implicit) iso-8859-1.
3467
34682006-10-09 16:33  gb
3469
3470        * level-0/l0-misc.lisp: %COPY-STRING-TO-U8: use #\Sub (ascii 26) as
3471        a replacement character.
3472
34732006-10-09 16:31  gb
3474
3475        * level-1/l1-unicode.lisp: :stream-encode/decode functions always
3476        write/read something, even if it's a replacement character of some
3477        sort.
3478
34792006-10-09 15:19  gb
3480
3481        * level-1/l1-streams.lisp: More stuff about line termination.  When
3482        will this end ?
3483
34842006-10-09 15:19  gb
3485
3486        * lib/chars.lisp: Use a hashtable to map characters to their names.
3487         (Maybe a sparse vector ?).
3488
34892006-10-09 15:18  gb
3490
3491        * level-1/l1-reader.lisp: Use a hashtable to map characters to
3492        their names.  (Maybe a sparse vector ?).
3493       
3494        Define #\Sub and #\Replacement_Character.
3495
34962006-10-08 21:17  gb
3497
3498        * level-1/l1-readloop-lds.lisp: SELECT-BACKTRACE: it's been all
3499        NEW-BACKTRACE for a while now.
3500
35012006-10-08 21:16  gb
3502
3503        * lisp-kernel/lisptypes.h: Need to #include <sys/signal.h> to keep
3504        Panther happy.
3505
35062006-10-08 20:30  gb
3507
3508        * lisp-kernel/x86_print.c: Print hex with leading #x, not #0x ...
3509
35102006-10-08 20:30  gb
3511
3512        * lib/dumplisp.lisp: Do some sanity checks on SAVE-APPLICATION
3513        pathname, before it's too late ...
3514
35152006-10-08 20:29  gb
3516
3517        * level-1/l1-unicode.lisp: ASCII, some other changes.
3518
35192006-10-08 20:29  gb
3520
3521        * level-1/l1-sysio.lisp: Rearrange a few things; pass
3522        :line-termination option to MAKE-FD-STREAM.
3523
35242006-10-08 20:28  gb
3525
3526        * level-1/l1-streams.lisp: Yet another line-termination translation
3527        scheme; hopefully, the last for a while. (More tedium before it's
3528        actually installed.)
3529
35302006-10-08 20:27  gb
3531
3532        * level-1/l1-reader.lisp: Add character names for #\Line_Separator,
3533        #\Paragraph_separator.
3534
35352006-10-07 20:35  gb
3536
3537        * level-1/l1-init.lisp: *TERMINAL-CHARACTER-ENCODING-NAME*.
3538
35392006-10-07 20:34  gb
3540
3541        * level-1/l1-error-signal.lisp: In %ERROR, go straight to the
3542        kernel debugger if interactive streams aren't initialized yet.
3543        (We'd probably get there sooner or later in that case; try to get
3544        there sooner.)
3545
35462006-10-07 20:33  gb
3547
3548        * level-1/l1-boot-2.lisp: Don't initialize interactive streams via
3549        DEF-LOAD-POINTERS.  Wrap that up in a function, and set a flag when
3550        the function's called (from APPLICATION's TOPLEVEL-FUNCTION
3551        method.)
3552
35532006-10-07 20:32  gb
3554
3555        * level-1/l1-application.lisp: Handle the (new)
3556        -K/--terminal-encoding command-line argument.
3557
35582006-10-07 11:14  gb
3559
3560        * level-1/l1-streams.lisp: INPUT-STREAM-P, OUTPUT-STREAM-P are true
3561        of instances if INPUT-STREAM/ OUTPUT-STREAM, respectively (not just
3562        instances of FUNDAMENTAL-INPUT/OUTPUT-STREAM).
3563
35642006-10-07 11:13  gb
3565
3566        * lisp-kernel/lisp-debug.c: Do abort() if kernel debugger is
3567        entered when --batch is in effect.
3568
35692006-10-07 11:12  gb
3570
3571        * level-1/l1-readloop.lisp: QUIT: flush *STDOUT* in
3572        PROCESS-EXIT-APPLICATION.
3573
35742006-10-07 11:11  gb
3575
3576        * level-1/l1-processes.lisp: PROCESS-EXIT-APPLICATION: flush
3577        *stdout* here.
3578
35792006-10-06 04:49  gb
3580
3581        * level-1/l1-streams.lisp: CODE-UNIT, not CODE-ELEMENT.  Add a
3582        TRANSLATE slot to IO-BUFFER.
3583
35842006-10-06 04:40  gb
3585
3586        * level-1/l1-sockets.lisp: basic (vs fundamental) socket streams.
3587
35882006-10-06 04:39  gb
3589
3590        * level-1/l1-sysio.lisp: Real, live EXTERNAL-FORMAT structures.
3591
35922006-10-06 04:38  gb
3593
3594        * level-1/version.lisp: Bump.
3595
35962006-10-06 04:38  gb
3597
3598        * level-0/l0-misc.lisp: %COPY-STRING-TO-U8: use #\? as a
3599        replacement character.
3600
36012006-10-05 14:46  gb
3602
3603        * lisp-kernel/lisptypes.h: More register name aliases.  FMH.
3604
36052006-10-05 14:46  gb
3606
3607        * lisp-kernel/x86-asmutils64.s: get_mxcsr, set_mxcsr.
3608
36092006-10-05 14:46  gb
3610
3611        * lisp-kernel/x86-exceptions.c: Save the mxcsr, load it with a
3612        C-like value (all exceptions masked) before doing a callback.  (Not
3613        doing this meant that tcr.foreign_mxcsr was often set to a "lispy"
3614        value, where most exceptions were unmasked, and this caused FP
3615        exceptions when calling out to foreign code with the "lispy"
3616        tcr.foreign_mxcsr in effect.)
3617       
3618        Mach exception stuff arranges to return via sigreturn.  Didn't fix
3619        the spurious SIGTRAPs, but might be the right idea (and might save
3620        a context switch or two.)
3621       
3622        Mach exception stuff initializes rflags to exception rflags when
3623        arranging to resume thread at handler.  Leaving them uninitialized
3624        was causing spurious SIGTRAPs, since the trace bit(s) may have been
3625        set.
3626
36272006-10-05 06:09  gb
3628
3629        * lib/macros.lisp: WITH-ENCODED-CSTR(s).  (Hey, it's a start.)
3630
36312006-10-05 06:09  gb
3632
3633        * lib/chars.lisp: CHAR-NAME: try to use at least 4 hex digits for
3634        #\U+xxxx syntax.
3635
36362006-10-05 06:08  gb
3637
3638        * level-1/l1-unicode.lisp: UCS-2, some other changes.
3639
36402006-10-05 06:07  gb
3641
3642        * level-1/l1-sysio.lisp: Try to get
3643        line-termination/external-format stuff working.
3644
36452006-10-05 05:35  gb
3646
3647        * level-1/l1-streams.lisp: Assume that character data is always
3648        encoded as one or more 8-bit octets.
3649
36502006-10-05 04:59  gb
3651
3652        * level-1/l1-boot-2.lisp: Set class-prototypes for basic-streams
3653        just before we make the first one.
3654
36552006-10-02 08:13  gb
3656
3657        * lisp-kernel/x86-exceptions.h: Darwin uses _sigtramp glue to call
3658        handlers, so we need to make handlers do a sigreturn after
3659        switching off the signal stack, etc.
3660
36612006-10-02 08:11  gb
3662
3663        * lisp-kernel/x86-exceptions.c: Don't use SIGRETURN to return from
3664        signal_handler() on Darwin (since we depend on pseudo_sigreturn
3665        handling for cleanup of tcr pending exception and since we can't
3666        easily restore the signal mask.)
3667       
3668        (Up until this point, SIGRETURN has been a nop on Darwin.)
3669
36702006-10-02 04:59  gb
3671
3672        * lisp-kernel/lisptypes.h: Compile on ppc,ppc64 osx 10.4 and
3673        earlier.
3674
36752006-10-02 04:47  gb
3676
3677        * lisp-kernel/: lisptypes.h, ppc-exceptions.c, ppc-exceptions.h:
3678        Compile on post OSX 10.4 systems, for ppc/ppc64.  (Broken on
3679        systems <= 10.4).
3680
36812006-10-02 02:46  gb
3682
3683        * lisp-kernel/: lisptypes.h, x86-exceptions.c, x86-exceptions.h:
3684        Try to make x86-64 version compile under 10.4 again; see if this
3685        breaks post-10.4 compilation.
3686
36872006-10-02 02:33  gb
3688
3689        * lisp-kernel/: lisptypes.h, pmcl-kernel.c, x86-exceptions.c,
3690        x86-exceptions.h: Change things so that they compile for x86-64 on
3691        systems later than 10.4.  Almost certainly break 10.4 compilation
3692        in the process.  (Thanks, Apple!  Any time I can cause you to waste
3693        hours on crap like this, just let me know!)
3694
36952006-09-27 20:33  gb
3696
3697        * lib/misc.lisp: DOCUMENTATION works on character-encodings.
3698
36992006-09-27 20:33  gb
3700
3701        * level-1/l1-unicode.lisp: Character-encodings have doc strings.
3702
37032006-09-27 05:46  gb
3704
3705        * level-1/l1-sysio.lisp: More FILE-STREAM changes.  Give
3706        BASIC-STREAM classes a class prototype.
3707
37082006-09-27 05:45  gb
3709
3710        * level-1/l1-streams.lisp: Some changes to FD-STREAM
3711        initialization, to make it easier to use MAKE-FD-STREAM to open
3712        (seekable) FILE-STREAMs.
3713
37142006-09-27 05:41  gb
3715
3716        * lisp-kernel/: x86-exceptions.c, x86-exceptions.h: Decode and
3717        handle UUO_ERROR_DEBUG_TRAP_WITH_STRING.
3718
37192006-09-27 05:39  gb
3720
3721        * lisp-kernel/x86-spentry64.s: Still get very occasional SIGFPE on
3722        return from (e.g.) #_asin on x86-64 Darwin.  (#_asin often does a
3723        division-by-zero, but that should be masked when in foreign code.)
3724        Don't reload the lisp mxcsr until other registers have been popped,
3725        to make debugging easier in case it's the act of reloading the
3726        mxcsr that causes the spurious trap.)
3727
37282006-09-27 05:36  gb
3729
3730        * level-0/X86/x86-misc.lisp: DEBUG-TRAP-WITH-STRING.
3731
37322006-09-27 05:35  gb
3733
3734        * level-0/nfasload.lisp: Not sure when it happened, but %FASLOAD
3735        was parenthesized in such a way as to not return the error value on
3736        error.
3737
37382006-09-27 05:34  gb
3739
3740        * level-0/l0-misc.lisp: On x8664, use a new UUO for BUG.  (Not
3741        passing context into the kernel makes it too difficult to debug/get
3742        backtrace, etc.)
3743
37442006-09-27 05:33  gb
3745
3746        * compiler/X86/: x86-asm.lisp, x86-disassemble.lisp:
3747        UUO-ERROR-DEBUG-TRAP-WITH-STRING.
3748
37492006-09-27 05:05  gb
3750
3751        * level-1/l1-clos-boot.lisp: CLASS-PROTOTYPE method for CLASS class
3752        (mostly for BUILT-IN-CLASSes).
3753
37542006-09-26 20:49  gb
3755
3756        * level-1/l1-sysio.lisp: SELECT-STREAM-CLASS: should probably take
3757        a BASIC-P argument.
3758
37592006-09-26 20:47  gb
3760
3761        * level-1/l1-streams.lisp: More changes.  Imagine that.
3762
37632006-09-26 20:46  gb
3764
3765        * compiler/: X86/X8664/x8664-vinsns.lisp, X86/x862.lisp,
3766        optimizers.lisp: (Redundant) FIXNUM decls in LDB compiler macro.
3767
37682006-09-26 20:43  gb
3769
3770        * level-1/l1-unicode.lisp: Memory/vector encode/decode functions
3771        take/return strings, not chars.
3772       
3773        Some bom stuff.
3774
37752006-09-24 20:14  gb
3776
3777        * lib/chars.lisp: Check for assumptions about character size.
3778        Remove some %i-isms (fixnum arithmetic), make assertions about type
3779        of char-code.
3780
37812006-09-24 20:12  gb
3782
3783        * level-1/l1-aprims.lisp: Remove unused (probably ancient)
3784        CHKBOUNDS function.  Simpler STRING-START-END.
3785
37862006-09-24 20:11  gb
3787
3788        * level-1/l1-streams.lisp: Some stuff to infer line-termination.
3789        Probably belongs elsewhere; some encodings may not make it at all
3790        possible.
3791
37922006-09-24 20:07  gb
3793
3794        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3795        Load-character-constant: accept :u32const on PPC32, PPC64, too.
3796
37972006-09-24 20:00  gb
3798
3799        * level-1/l1-streams.lisp: A little more u16 stuff.  Remove
3800        line-termination slot from ioblock and corresponding arg from
3801        functions which initialize it.
3802
38032006-09-24 19:59  gb
3804
3805        * level-1/l1-sysio.lisp: Input-filter, output-filter in
3806        file-ioblock.
3807
38082006-09-24 19:58  gb
3809
3810        * level-1/l1-unicode.lisp: Buffer translation functions don't
3811        belong here; start thinking about BOM.
3812
38132006-09-24 19:57  gb
3814
3815        * compiler/X86/X8664/x8664-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
3816        it's been a :u32const for the last few weeks ...
3817
38182006-09-24 04:29  gb
3819
3820        * lib/chars.lisp: CHAR-NAME looks in the *CHARACTER-NAMES* array if
3821        the code is within its bounds.
3822
38232006-09-24 04:27  gb
3824
3825        * level-1/l1-reader.lisp: Lots more character names.  Maintain
3826        mappings in a vector and a hash table, rather than in an alist.
3827
38282006-09-24 04:26  gb
3829
3830        * level-0/nfasload.lisp, xdump/xfasload.lisp, lib/nfcomp.lisp: Doh!
3831        character constant fasl encoding ($fasl-char).
3832
38332006-09-23 05:31  gb
3834
3835        * level-1/l1-unicode.lisp: Some other iso8859-n encodings.  (Not
3836        sure which are the most important.)
3837
38382006-09-23 05:29  gb
3839
3840        * level-1/l1-sysio.lisp: Start to separate
3841        line-termination/external-format stuff.
3842
38432006-09-23 05:28  gb
3844
3845        * level-1/l1-streams.lisp: Lots-o-changes.
3846
38472006-09-23 05:28  gb
3848
3849        * level-1/l1-boot-2.lisp: Make initial interactive streams use
3850        UTF-8 (mostly for debugging utf-8 ...)
3851
38522006-09-21 04:07  gb
3853
3854        * lisp-kernel/x86-spentry64.s: don't clobber callback index when
3855        doing the DARWIN_GS_HACK stuff in _SPcallback (syscall sometimes
3856        clobbered r11, sometimes didn't.)
3857
38582006-09-21 04:05  gb
3859
3860        * lisp-kernel/pmcl-kernel.c: Require mach/port.h.
3861
38622006-09-21 04:05  gb
3863
3864        * lisp-kernel/x86-exceptions.c: Save and restore errno in
3865        callback_for_interrupt.
3866
38672006-09-21 04:04  gb
3868
3869        * lisp-kernel/lisptypes.h: Guess again about preprocessor stuff for
3870        x86-64 ucontext/mcontext on Darwin.
3871
38722006-09-21 04:02  gb
3873
3874        * level-1/l1-lisp-threads.lisp: Use underscore prefix on all Darwin
3875        flavors.
3876       
3877        Add a type decl in %nanosleep.
3878
38792006-09-21 04:01  gb
3880
3881        * compiler/X86/X8664/x8664-vinsns.lisp: sign-extend/zero-extend
3882        vinsns.
3883
38842006-09-21 04:01  gb
3885
3886        * compiler/X86/x862.lisp: sign/zero-extend ffcall, syscall return
3887        values.  (Probably only matters in a few cases, like the Darwin
3888        x86-64 version of #_nanosleep, which returns a non-sign-extended
3889        "int" value if the sleep is interruted.)
3890
38912006-09-20 06:34  gb
3892
3893        * level-1/version.lisp: Bump.
3894
38952006-09-20 04:24  gb
3896
3897        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3898        slight improvements in signed-byte boxing, typechecking.
3899
39002006-09-20 04:22  gb
3901
3902        * lib/streams.lisp: WRITE-BYTE for BASIC-STREAMs.
3903
39042006-09-20 04:21  gb
3905
3906        * lib/macros.lisp: %SWAP-U16, %SWAP-U32.
3907
39082006-09-20 04:21  gb
3909
3910        * lib/level-2.lisp: %EVAL-REDEFs for new require-xx functions.
3911
39122006-09-20 04:20  gb
3913
3914        * level-1/l1-unicode.lisp: UTF-16, in native and byte-swapped
3915        versions.  Need a "logical" UTF-16, which deals with byte-order
3916        marks and a means of installing a concrete encoding.  Needs
3917        testing.
3918
39192006-09-20 04:15  gb
3920
3921        * level-1/l1-streams.lisp: Numerous changes.
3922
39232006-09-20 04:15  gb
3924
3925        * level-1/l1-sockets.lisp: %bswap16: fix type declaration.
3926
39272006-09-20 04:14  gb
3928
3929        * compiler/X86/X8664/x8664-vinsns.lisp: vinsns for signed/unsigned
3930        byte 8,16,32,64.  Tighten up some signed-byte boxing.
3931
39322006-09-20 04:12  gb
3933
3934        * compiler/X86/x862.lisp: New require ops for signed/unsigned byte
3935        8,16,32,64
3936
39372006-09-19 01:38  gb
3938
3939        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3940        vinsns for REQUIRE-[US][8,16,32,64]
3941
39422006-09-19 01:37  gb
3943
3944        * compiler/PPC/PPC32/ppc32-arch.lisp: Need
3945        THREE-DIGIT-BIGNUM-HEADER to recognize some cases of (UNSIGNED-BYTE
3946        64).
3947
39482006-09-19 01:36  gb
3949
3950        * compiler/PPC/ppc-backend.lisp: clean up an error message.
3951
39522006-09-19 01:36  gb
3953
3954        * compiler/PPC/ppc2.lisp: handle require-[us][8,16,32,64]
3955        operators.
3956
39572006-09-19 01:34  gb
3958
3959        * compiler/optimizers.lisp: REQUIRE-TYPE: transform into
3960        require-[us][8,16,32,64] when possible.
3961
39622006-09-19 01:34  gb
3963
3964        * compiler/nx1.lisp: inline require-[us][8,16,32,64].
3965
39662006-09-19 01:33  gb
3967
3968        * compiler/nxenv.lisp: New operators for require-[us][8,16,32,64].
3969
39702006-09-19 01:15  gb
3971
3972        * compiler/X86/X8664/x8664-vinsns.lisp: x8664 vinsns for
3973        typechecking signed/unsigned bytes of sizes 8,16,32,64.
3974
39752006-09-19 00:36  gb
3976
3977        * level-1/l1-streams.lisp: More changes; hard to bootstrap.
3978
39792006-09-18 21:42  gb
3980
3981        * lib/macros.lisp: Macros for locking the input/output locks of an
3982        ioblock, assuming that it exists.
3983
39842006-09-17 00:45  gb
3985
3986        * level-1/l1-streams.lisp: more changes
3987
39882006-09-13 06:52  gb
3989
3990        * level-1/l1-io.lisp: Direct BASIC-STREAM stuff for WRITE-CHAR,
3991        WRITE-STRING, TERPRI.
3992
39932006-09-13 06:08  gb
3994
3995        * lib/streams.lisp: READ-LINE changes for BASIC-STREAMs.
3996
39972006-09-13 06:07  gb
3998
3999        * level-1/l1-unicode.lisp: GET-CHARACTER-ENCODING errors if the
4000        named encoding isn't defined.
4001       
4002        Terse PRINT-OBJECT method for CHARACTER-ENCODING.
4003
40042006-09-13 06:06  gb
4005
4006        * level-1/l1-streams.lisp: More functions in the ioblock, some
4007        support for 8-bit encodings (like utf-8).  Not finished, but
4008        getting hard to bootstrap; need to check in and build on all
4009        platforms before it gets even harder.
4010
40112006-09-12 05:34  gb
4012
4013        * level-0/l0-misc.lisp: Use %CSTR-POINTER (not
4014        %copy-ivector-to-pointer) in BUG.
4015
40162006-09-12 05:31  gb
4017
4018        * lisp-kernel/x86-exceptions.c: Enter the debugger if
4019        altstack_signal_handler is entered in foreign code.  (Maybe want to
4020        signal a lisp error in some cases, but this is currently fatal and
4021        we might as well die earlier than with a stack overflow.)
4022
40232006-09-12 05:29  gb
4024
4025        * lisp-kernel/thread_manager.c: os_get_stack_bounds(): get stack
4026        direction right on FreeBSD.  (Much better than randomly scribbling
4027        on memory in the GC, as the FreeBSD port has been doing for months
4028        now ...)
4029
40302006-09-11 21:31  gb
4031
4032        * compiler/X86/x862.lisp: x862-explicit-non-fixnum-type-p looks for
4033        intersection.
4034
40352006-09-11 21:21  gb
4036
4037        * compiler/X86/x862.lisp: Partly inline 2-arg logior, logand.
4038
40392006-09-11 20:10  gb
4040
4041        * level-1/l1-unicode.lisp: Character encodings contain a
4042        LITERAL-CHAR-CODE-LIMIT field.
4043
40442006-09-11 20:09  gb
4045
4046        * level-1/l1-streams.lisp: extend IOBLOCK a bit.  Start to provide
4047        functionality for encoded streams.
4048
40492006-09-11 20:08  gb
4050
4051        * compiler/PPC/ppc2.lisp: Partialy inline 2-arg logior/logand.
4052
40532006-09-09 04:39  gb
4054
4055        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
4056        REQUIRE-CHAR-CODE: compare against boxed char-code-limit.
4057
40582006-09-09 04:21  gb
4059
4060        * level-1/l1-reader.lisp: NAME-CHAR: insist on something more
4061        reasonable for ^c syntax; don't do MOD for octal.
4062
40632006-09-09 04:21  gb
4064
4065        * compiler/X86/X8664/x8664-vinsns.lisp: require-char-code checks
4066        agains boxed Unicode limit
4067
40682006-09-09 03:56  gb
4069
4070        * lisp-kernel/x86-gc.c: purify_range(), impurify_range(): handle
4071        x8664 functions, hash tables.  (PPC versions should handle hash
4072        table key movement.)
4073
40742006-09-08 22:47  gb
4075
4076        * lib/chars.lisp: CHAR-NAME: use U+xxxx for chars with codes >=
4077        #x100.
4078
40792006-09-08 22:38  gb
4080
4081        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
4082        FIXNUM->CHAR: return NIL for surrogate pairs.
4083
40842006-09-08 22:33  gb
4085
4086        * compiler/PPC/ppc2.lisp: Don't be overly unsafe in %CHAR-CODE.
4087
40882006-09-08 22:31  gb
4089
4090        * lib/ppc-backtrace.lisp: Fix CFP-LFUN (fake stack frame case,
4091        sanity-check fn/lr).
4092
40932006-09-08 18:55  gb
4094
4095        * compiler/X86/x862.lisp: Don't be so reckless in %CODE-CHAR (don't
4096        necessarily want arbitrary expressions to be compiled unsafely; do
4097        want to avoid a little type-checking sometimes.)
4098
40992006-09-08 18:52  gb
4100
4101        * compiler/X86/X8664/x8664-vinsns.lisp: FIXNUM->CHAR returns NIL
4102        for values in the surrogate-pairs range.  (There are other things
4103        that it could plausibly return NIL for.)
4104
41052006-09-08 18:51  gb
4106
4107        * lisp-kernel/x86-gc.c: Start to get purify working on x86-64; for
4108        now, just purify strings.
4109
41102006-09-08 18:48  gb
4111
4112        * lib/macros.lisp: %CODE-CHAR asserts that code is (UNSIGNED-BYTE
4113        8), which is still useful (and exactly what it used to do.)
4114
41152006-09-08 18:47  gb
4116
4117        * lib/: compile-ccl.lisp, systems.lisp: Add l1-unicode.
4118
41192006-09-08 18:44  gb
4120
4121        * level-1/level-1.lisp: Load l1-unicode.
4122
41232006-09-08 18:44  gb
4124
4125        * level-1/l1-unicode.lisp: New file.
4126
41272006-09-07 03:50  gb
4128
4129        * lisp-kernel/area.h: Larger PURESPACE_RESERVE for x8664.
4130
41312006-09-07 03:44  gb
4132
4133        * xdump/: heap-image.lisp, xfasload.lisp, xppcfasload.lisp,
4134        xx8664-fasload.lisp: Bump abi version.  Make purespace-reserve an
4135        attribute of the backend (may need more pure space on x86-64.)
4136
41372006-09-07 03:43  gb
4138
4139        * lisp-kernel/image.h: Bump abi version.
4140
41412006-09-07 03:43  gb
4142
4143        * level-1/version.lisp: Bump.
4144
41452006-09-07 02:58  gb
4146
4147        * lisp-kernel/x86-exceptions.c: FreeBSD (at least with libthr)
4148        seems to mask synchronous signals.  Unmask them in signal handlers.
4149
41502006-09-07 02:57  gb
4151
4152        * lisp-kernel/thread_manager.c: suspend_resume_handler() : ignore
4153        signal mask.
4154
41552006-09-07 02:56  gb
4156
4157        * lisp-kernel/: lisptypes.h, ppc-constants32.h, ppc-constants32.s,
4158        ppc-constants64.h, ppc-constants64.s, ppc-gc.c, x86-constants64.h,
4159        x86-constants64.s: Lose the CHAR_SIZE_32 bootstrapping conditional
4160        (char are 32 bits wide on all platforms now.)
4161
41622006-09-07 00:40  gb
4163
4164        * lisp-kernel/x86-exceptions.c: SIGBUS might be
4165        SIGNUM_FOR_PROCESS_INTERRUPT.
4166
41672006-09-07 00:12  gb
4168
4169        * lisp-kernel/x86-spentry64.s: _SPbuiltin_aref1: use
4170        box_fixnum_no_flags.
4171
41722006-09-07 00:12  gb
4173
4174        * lisp-kernel/x86-macros.s: Define box_fixnum_no_flags (uses lea
4175        vice imul).
4176
41772006-09-06 21:18  gb
4178
4179        * compiler/X86/X8664/x8664-arch.lisp: Need
4180        MIN/MAX-8-BIT-IVECTOR-SUBTAG.
4181
41822006-09-06 18:37  gb
4183
4184        * lisp-kernel/x86-spentry64.s: misc_ref/misc_set: handle 32-bit
4185        strings.
4186
41872006-09-06 18:36  gb
4188
4189        * lisp-kernel/x86-macros.s: Zero-extend early when extracting
4190        typecodes.
4191
41922006-09-06 18:36  gb
4193
4194        * level-1/l1-streams.lisp: GET-OUTPUT-STREAM-STRING: use
4195        ENSURE-SIMPLE-STRING rather than horrible COERCE nonsense.
4196
41972006-09-06 18:35  gb
4198
4199        * level-1/l1-aprims.lisp: x8664 *immheader-1-array-element-types*
4200        contains entry for 32-bit BASE-CHAR.
4201
42022006-09-06 18:35  gb
4203
4204        * compiler/X86/X8664/x8664-vinsns.lisp: zero-extend early when
4205        extracting typecodes.
4206
42072006-09-06 18:34  gb
4208
4209        * compiler/X86/X8664/: x8664-arch.lisp, x8664-backend.lisp:
4210        32-bit-chars.
4211
42122006-09-06 18:33  gb
4213
4214        * compiler/X86/: x86-backend.lisp, x862.lisp: Defer handling of the
4215        :rcontext pseudo-register name until the target backend is in
4216        place.
4217
42182006-09-06 16:39  gb
4219
4220        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: 32-bit chars
4221        stuff for x8664.
4222
42232006-09-06 16:39  gb
4224
4225        * level-1/l1-reader.lisp: kids: bourbon and editing COPY-READTABLE
4226        don't mix!
4227
42282006-09-06 16:38  gb
4229
4230        * lib/compile-ccl.lisp: :verbose argument to rebuild-ccl.
4231
42322006-09-06 16:38  gb
4233
4234        * level-1/linux-files.lisp: process input/output: don't assume
4235        8-bit strings.
4236
42372006-09-06 14:42  gb
4238
4239        * compiler/PPC/PPC64/ppc64-backend.lisp: PPC64 callbacks are always
4240        #+poweropen-target; don't conditionalize the fp-arg-ptr argument
4241        (since that creates confustion when cross-compiling from a
4242        non-poweropen host.)
4243
42442006-09-06 00:08  gb
4245
4246        * compiler/PPC/PPC64/: ppc64-arch.lisp, ppc64-backend.lisp: remove
4247        8-bit char stuff.
4248
42492006-09-06 00:08  gb
4250
4251        * compiler/X86/X8664/x8664-arch.lisp: Forgot to set char-code-limit
4252        here.
4253
42542006-09-05 22:49  gb
4255
4256        * lib/macros.lisp: In DO-GC-AREAS, don't use comma before call to
4257        AREA-SUCC.  (Cross-compilation/ word-size issue.)
4258
42592006-09-05 22:42  gb
4260
4261        * level-0/l0-utils.lisp: If ENSURE-SIMPLE-STRING has to make a copy
4262        of a non-simple string, understand char width issues.
4263
42642006-09-05 22:41  gb
4265
4266        * level-0/nfasload.lisp: Some fixnum decls in %FIND-PKG.
4267
42682006-09-05 22:40  gb
4269
4270        * level-1/l1-aprims.lisp: ppc64 ARRAY-ELEMENT-SUBTYPES includes new
4271        string type.
4272
42732006-09-05 22:39  gb
4274
4275        * level-0/PPC/ppc-array.lisp: cr3, nor c33, in ppc64 %init-misc.
4276
42772006-09-05 22:38  gb
4278
4279        * compiler/nx0.lisp: NX-FORM-TYPEP uses NX-TARGET-TYPE.
4280
42812006-09-05 09:13  gb
4282
4283        * compiler/PPC/PPC32/ppc32-backend.lisp: darwinppc32 backend uses
4284        32-bit chars, too.
4285
42862006-09-05 09:01  gb
4287
4288        * compiler/PPC/PPC32/: ppc32-arch.lisp, ppc32-backend.lisp: ppc32
4289        defaults to 32-bit chars.
4290
42912006-09-05 05:18  gb
4292
4293        * xdump/xfasload.lisp: Deal with 32-bit lisp strings.
4294
42952006-09-05 05:18  gb
4296
4297        * lisp-kernel/linuxppc/.gdbinit: Start to depend on calling
4298        print_lisp_object, since x/s doesn't deal with 32-bit lisp strings.
4299
43002006-09-05 05:17  gb
4301
4302        * lisp-kernel/ppc-gc.c: conditionalize purify_displaced_object()
4303        for char size.
4304
43052006-09-05 05:16  gb
4306
4307        * lisp-kernel/plsym.c: find_symbol(): don't assume 8-bir lisp
4308        strings.
4309
43102006-09-05 05:15  gb
4311
4312        * lisp-kernel/lisptypes.h: Try using "u8_t" and "u32_t" for
4313        lisp_char_code; this may be more portable.
4314
43152006-09-05 05:14  gb
4316
4317        * lib/sequences.lisp: SIMPLE-1D-ARRAY-SUBSEQ: handle new strings.
4318
43192006-09-05 05:13  gb
4320
4321        * level-1/linux-files.lisp: CALL-WITH-STRING-VECTOR: don't assume
4322        8-bit char/strings.
4323
43242006-09-05 05:13  gb
4325
4326        * level-1/l1-streams.lisp: Use heap-ivectors of element-type
4327        (UNSIGNED-BYTE 8) for character streams.  (Should really depend on
4328        the coding system in use.)
4329
43302006-09-05 05:09  gb
4331
4332        * level-1/l1-aprims.lisp: Various archaic string functions: don't
4333        assume 8-bit strings.
4334
43352006-09-05 05:08  gb
4336
4337        * level-0/l0-array.lisp: Handle 32-bit strings in %UVECTOR-REPLACE.
4338
43392006-09-05 05:07  gb
4340
4341        * compiler/PPC/PPC64/ppc64-arch.lisp: No "x" in simple-base-string,
4342        when #-target-8-bit-chars.
4343
43442006-09-05 05:06  gb
4345
4346        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
4347        REQUIRE-CHAR-CODE: comparison of OBJECT with TAG is not a CMPI.
4348
43492006-09-05 05:05  gb
4350
4351        * compiler/PPC/ppc2.lisp: PPC2-VREF: handle the 32-bit
4352        :SIMPLE-STRING case with constant index.
4353
43542006-09-04 17:44  gb
4355
4356        * lisp-kernel/lisptypes.h: Linux doesn't define uint8_t.  Try
4357        "unsigned char", and cross fingers.
4358
43592006-09-04 17:38  gb
4360
4361        * lisp-kernel/: lisptypes.h, ppc_print.c, x86_print.c: Define
4362        lisp_char_code type, use it when printing lisp string in the kernel
4363        debugger.
4364
43652006-09-04 17:28  gb
4366
4367        * level-1/version.lisp: Bump.
4368
43692006-09-04 17:18  gb
4370
4371        * level-0/PPC/ppc-array.lisp: Sigh.  Test for 8-bit-char case was
4372        conditionalized backwards in PPC64 %INIT-MISC.
4373
43742006-09-04 17:05  gb
4375
4376        * level-1/l1-init.lisp: Initial value of CHAR-CODE-LIMIT derived
4377        from the target arch (for bootstrapping.)
4378
43792006-09-04 17:04  gb
4380
4381        * level-1/l1-reader.lisp: Use (UNSIGNED-BYTE 8) for array element
4382        type of rdtab.ttab.
4383       
4384        Don't treat (code-char #xca) as whitespace; do treat (code-char
4385        #xa0) as whitespace.  (The former happens to be how the latter was
4386        encoded in MacRoman.)
4387       
4388        Handle U+<hex> syntax in NAME-CHAR.
4389
43902006-09-04 16:16  gb
4391
4392        * compiler/PPC/PPC64/ppc64-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
4393        and the char code with #xff to get the low byte.
4394
43952006-09-04 16:15  gb
4396
4397        * compiler/PPC/PPC32/ppc32-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
4398        and the char code with #xff or 255., not with #x255.  (Cause lots
4399        of wackiness, mostly in readtable initialization.)
4400
44012006-09-04 16:12  gb
4402
4403        * compiler/PPC/ppc2.lisp: Use u32->char (which is defined) vice
4404        u8->char (which is no more) in %CHAR-CODE.
4405
44062006-09-04 06:04  gb
4407
4408        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
4409        Gak.  Get guard/predicate syntax right in LOAD-CHARACTER-CONSTANT.
4410
44112006-09-04 06:03  gb
4412
4413        * level-0/PPC/ppc-array.lisp: New constants in ppc32 typecode range
4414        assertion.
4415
44162006-09-04 03:44  gb
4417
4418        * level-0/PPC/ppc-array.lisp: ppc32/ppc64 %init-misc tweaks.
4419
44202006-09-04 03:43  gb
4421
4422        * compiler/PPC/ppc-lapmacros.lisp: Typo in the (unused) 64-bit/no
4423        crf case of UNBOX-BASE-CHAR.
4424
44252006-09-04 02:30  gb
4426
4427        * level-1/l1-error-system.lisp: Object-not- (mod #x110000) type
4428        error.
4429
44302006-09-04 02:29  gb
4431
4432        * level-0/PPC/ppc-symbol.lisp: conditionalize %pname-hash for char
4433        size.
4434
44352006-09-04 02:26  gb
4436
4437        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s,
4438        ppc-constants64.h, ppc-constants64.s: Conditionalize for
4439        CHAR_SIZE_32.
4440
44412006-09-04 02:24  gb
4442
4443        * compiler/PPC/PPC32/ppc32-arch.lisp,
4444        compiler/PPC/PPC32/ppc32-vinsns.lisp,
4445        compiler/PPC/PPC64/ppc64-arch.lisp,
4446        compiler/PPC/PPC64/ppc64-vinsns.lisp, level-0/l0-array.lisp,
4447        level-0/l0-pred.lisp: Conditionalize for #-target-8-bit-chars.
4448
44492006-09-04 02:23  gb
4450
4451        * compiler/PPC/ppc2.lisp: Deal - sometimes conditionally - with
4452        32-bit characters.
4453
44542006-09-04 02:22  gb
4455
4456        * compiler/arch.lisp: ERROR-OBJECT-NOT-MOD-CHAR-CODE-LIMIT.
4457
44582006-09-03 16:03  gb
4459
4460        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
4461        conditionalize new string types.
4462
44632006-09-03 16:03  gb
4464
4465        * level-0/X86/x86-symbol.lisp: %pname-hash: conditionalize for
4466        string element size.
4467
44682006-09-03 16:02  gb
4469
4470        * compiler/X86/X8664/x8664-arch.lisp, level-0/l0-array.lisp,
4471        level-0/l0-pred.lisp: Sketch out new string types (read-time
4472        conditionalized.)
4473
44742006-09-03 15:02  gb
4475
4476        * level-0/l0-init.lisp: Put :target-8-bit-chars on *features*, for
4477        bootstrapping.
4478
44792006-09-03 14:20  gb
4480
4481        * level-1/l1-streams.lisp: More missing BASIC-STREAM methods.
4482
44832006-09-03 13:22  gb
4484
4485        * compiler/: X86/X8664/x8664-backend.lisp,
4486        PPC/PPC32/ppc32-backend.lisp, PPC/PPC64/ppc64-backend.lisp:
4487        :target-8-bit-chars on target features.
4488
44892006-09-03 13:21  gb
4490
4491        * level-0/l0-int.lisp: Some comments/indentation.
4492
44932006-09-03 13:01  gb
4494
4495        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Make
4496        CHAR-CODE-LIMIT an attribute of the target arch, for bootstrapping.
4497
44982006-09-02 11:24  gb
4499
4500        * level-1/x86-error-signal.lisp, lib/db-io.lisp: Fix typo.
4501
45022006-09-02 11:15  gb
4503
4504        * lisp-kernel/x86_print.c: hex/decimal integer printers: 3 is also
4505        a hex digit.
4506
45072006-09-02 11:11  gb
4508
4509        * lisp-kernel/x86-exceptions.c: Install a "bogus signal handler" on
4510        Darwin, to deal with apparent race conditions/Mach kernel lossage.
4511       
4512        Don't do the whole msg_server here; just do the exc_server thing.
4513       
4514        Fix a couple of Mach exception-handling bugs; at least one more may
4515        remain.
4516
45172006-09-02 11:07  gb
4518
4519        * lisp-kernel/x86-asmutils64.s: Use a hlt instruction to trap in
4520        pseudo_sigreturn.
4521       
4522        Still get spurious SIGTRAPs.
4523
45242006-09-02 11:06  gb
4525
4526        * lisp-kernel/thread_manager.c: Define some things in terms of
4527        USE_MACH_SEMAPHORES or USE_POSIX_SEMAPHORES.
4528       
4529        sem_wait_forever() does repeated timed waits, since I thought that
4530        Darwin was having trouble interrpting things that waited
4531        indefinitely.  (That might just be a GDB bug.  Who can tell ?)
4532
45332006-09-02 11:03  gb
4534
4535        * lisp-kernel/Threads.h: Define some things in terms of
4536        USE_MACH_SEMAPHORES or USE_POSIX_SEMAPHORES.  Note that as of Q3
4537        2006, Darwin still doesn't implement enough POSIX semaphore
4538        functionality to make it possible to avoid the use of Mach
4539        semaphores.
4540
45412006-09-02 11:01  gb
4542
4543        * lib/db-io.lisp:
4544        Try to avoid things like %COPY-IVECTOR-TO-IVECTOR when strings are
4545        involved.
4546
45472006-09-02 11:01  gb
4548
4549        * level-1/x86-threads-utils.lisp: Things that're %HEAP-IVECTOR-P
4550        aren't bogus objects.
4551
45522006-09-02 11:00  gb
4553
4554        * level-1/l1-streams.lisp: Try to avoid things like
4555        %COPY-IVECTOR-TO-IVECTOR when strings are involved.
4556
45572006-09-02 10:59  gb
4558
4559        * level-1/l1-events.lisp: AUTO-FLUSH-INTERACTIVE-STREAMS: use
4560        FORCE-OUTPUT.
4561
45622006-09-02 10:57  gb
4563
4564        * level-0/l0-misc.lisp: %COPY-U8-TO-STRING, %COPY-STRING-TO-U8:
4565        new, to avoid %COPY-IVECTOR-TO-IVECTOR when strings are involved.
4566       
4567        %STR-FROM-PTR: take dest string as optional arg, don't assume 8-bit
4568        chars.
4569       
4570        %GET-CSTRING: change type decl, use %GET-UNSIGNED-BYTE.
4571
45722006-09-02 10:55  gb
4573
4574        * level-0/l0-aprims.lisp: %CSTR-POINTER and %CSTR-SEGMENT-POINTER:
4575        don't assume 8-bit chars.
4576
45772006-08-28 17:35  gb
4578
4579        * lisp-kernel/ppc-spentry.s: Fix tag check in 32-bit
4580        misc_set_single_float_vector.
4581
45822006-08-28 17:01  gb
4583
4584        * xdump/faslenv.lisp: Bump max fasl version.
4585
45862006-08-28 16:48  gb
4587
4588        * lib/nfcomp.lisp: Use new string ops.  Bump current fasl version.
4589
45902006-08-28 16:33  gb
4591
4592        * xdump/faslenv.lisp: Bump (max) fasl version.
4593
45942006-08-28 16:30  gb
4595
4596        * xdump/xfasload.lisp: xloader was missing a few new ops.
4597
45982006-08-28 05:34  gb
4599
4600        * xdump/xfasload.lisp: New string stuff here, too.
4601
46022006-08-28 05:28  gb
4603
4604        * level-0/nfasload.lisp: New string stuff.
4605
46062006-08-28 04:57  gb
4607
4608        * level-1/l1-streams.lisp: More missing BASIC-STREAM methods
4609        (STREAM-LINE-COLUMN, STREAM-LISTEN, STREAM-EOFP.)
4610
46112006-08-28 04:57  gb
4612
4613        * level-1/l1-reader.lisp: Use READ-CHAR instead of
4614        STREAM-READ-CHAR, since it may be faster in some cases.
4615
46162006-08-28 04:56  gb
4617
4618        * level-1/l1-events.lisp: Unscramble auto-flush-streams stuff
4619        (don't assume ioblock-based stream.)
4620
46212006-08-28 04:55  gb
4622
4623        * level-1/l1-boot-2.lisp: Initial FD-STREAMs are BASIC-STREAMs.
4624
46252006-08-28 04:55  gb
4626
4627        * level-0/PPC/ppc-symbol.lisp: Change some REQUIRE forms; cosmetic.
4628         (Maybe not even cosmetic.)
4629
46302006-08-28 04:54  gb
4631
4632        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
4633        PPC64/ppc64-vinsns.lisp: %unbox-u8, u8-vref stuff.
4634
46352006-08-28 04:53  gb
4636
4637        * xdump/faslenv.lisp: New fasl ops for new string encodings.
4638
46392006-08-28 04:52  gb
4640
4641        * lib/macros.lisp: %CHAR-CODE: for how long has limit not been 2^16
4642        ?  For how long will limit be 2^8 ?
4643
46442006-08-28 04:51  gb
4645
4646        * level-0/nfasload.lisp: More fasl ops.
4647
46482006-08-28 04:51  gb
4649
4650        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: %UNBOX-U8,
4651        u8-vref stuff.
4652
46532006-08-28 04:50  gb
4654
4655        * compiler/arch.lisp: Add CHAR-CODE-LIMIT slot to TARGET-ARCH; may
4656        not be the best way to do this.
4657
46582006-08-26 13:58  gb
4659
4660        * release-notes.txt: Updated.
4661
46622006-08-26 13:50  gb
4663
4664        * release-notes.txt: Updated.
4665
46662006-08-26 13:50  gb
4667
4668        * darwin-x86-headers64/libc/.cvsignore: Added.
4669
46702006-08-26 03:17  gb
4671
4672        * level-1/version.lisp: Bump.  New snapshots soon, I hope.
4673
46742006-08-26 03:12  gb
4675
4676        * lisp-kernel/darwinx8664/Makefile: Pass -g in ASFLAGS; same
4677        problems as always, but avoids problems with Darwin x86-64 ld64
4678        segfaulting for unknown reasons.
4679
46802006-08-26 03:11  gb
4681
4682        * lisp-kernel/x86-exceptions.h: Need to do an explicit sigreturn on
4683        Darwin (because of the sigaltstack hacks; Darwin uses sigtramp glue
4684        that we can't just return to after switching off of the alt stack.)
4685
46862006-08-26 03:08  gb
4687
4688        * lib/numbers.lisp: Check fpu overflow bit (not underflow) when
4689        deciding whether or not to signal overflow.
4690
46912006-08-26 03:08  gb
4692
4693        * level-1/x86-trap-support.lisp: Need an indirection to access
4694        mcontext from ucontext on Darwin; invent xp-gp-regs to get at
4695        mcontext64.ss.
4696
46972006-08-26 03:06  gb
4698
4699        * level-1/x86-error-signal.lisp: Add a declaration, to make this
4700        easier to step through.
4701
47022006-08-26 03:05  gb
4703
4704        * level-0/l0-float.lisp: SINGLE-FLOAT-HALF-PI: use f0 not e0, just
4705        in case.
4706
47072006-08-25 20:35  gb
4708
4709        * level-1/l1-boot-lds.lisp, level-1/l1-events.lisp,
4710        lib/ccl-export-syms.lisp: Hyphenate ADD-AUTO-FLUSH-STREAM and
4711        REMOVE-AUTO-FLUSH-STREAM.
4712       
4713        Export them, too.
4714
47152006-08-25 20:22  gb
4716
4717        * lib/streams.lisp: READ-LINE on BASIC-INPUT-STREAM w/o
4718        STREAM-READ-LINE.
4719
47202006-08-25 20:22  gb
4721
4722        * lib/macros.lisp: HANDLER-CASE: the :NO-ERROR clause can appear at
4723        most once but doesn't have to be the last clause.
4724
47252006-08-25 20:21  gb
4726
4727        * level-1/l1-streams.lisp: BASIC-OUTPUT-STREAM isn't an
4728        INPUT-STREAM.
4729       
4730        Some STREAM-READ-LINE support for BASIC-CHARACTER-INPUT-STREAM.
4731
47322006-08-25 20:19  gb
4733
4734        * level-1/l1-readloop.lisp: PREPARE-TO-QUIT: other threads should
4735        be dead by the time that streams on *OPEN-FILE-STREAMS* are closed,
4736        so unlock those streams with extreme prejudice before closing them.
4737
47382006-08-25 20:18  gb
4739
4740        * level-1/l1-pathnames.lisp: FULL-PATHNAME: remove some weird old
4741        code that assumed that interfered with handling of relative logical
4742        pathnames.
4743
47442006-08-25 20:17  gb
4745
4746        * level-1/l1-events.lisp: Rename EVENT-POLL to
4747        AUTO-FLUSH-INTERACTIVE-STREAMS.
4748       
4749        Make AUTO-FLUSH-INTERACTIVE-STREAMS do conditional locking on each
4750        stream (doing nothing if it's not :SHARING :LOCK; unconditional
4751        locking on the *AUTO-FLUSH-STREAMS-LOCK*.
4752       
4753        ADD-AUTOFLUSH-STREAM ensures that the stream is :SHARING :LOCK.
4754       
4755        REMOVE-AUTOFLUSH-STREAM.
4756
47572006-08-25 20:13  gb
4758
4759        * level-1/l1-boot-lds.lisp: MAKE-MCL-LISTENER-STREAM uses
4760        ADD-AUTOFLUSH-STREAM, REMOVE-AUTOFLUSH-STREAM.
4761
47622006-08-23 22:59  gb
4763
4764        * lisp-kernel/x86-exceptions.c: Darwin needs to decode the mxcsr on
4765        SIGFPE.
4766       
4767        DARWIN_GS_HACK changes in altstack handlers for interrupt/suspend.
4768
47692006-08-23 22:58  gb
4770
4771        * lisp-kernel/x86-spentry64.s: x86-64 Darwin's math library is
4772        pretty casual about causing spurious exceptions, so ignore them.
4773
47742006-08-23 22:57  gb
4775
4776        * lisp-kernel/darwinx8664/.gdbinit: New file; like the linuxx8664
4777        version, with different signals to be ignored by gdb.
4778
47792006-08-23 22:56  gb
4780
4781        * lisp-kernel/x86-asmutils64.s: Using ud2b to force an exception in
4782        pseudo_sigreturn() seems to cause/be related to spurious SIGTRAPs.
4783        Use int $0 instead.
4784
47852006-08-23 22:55  gb
4786
4787        * level-1/x86-trap-support.lisp: First attempt at Darwinx8664
4788        support; may need more work.
4789
47902006-08-22 02:08  gb
4791
4792        * lisp-kernel/x86_print.c: Try not to use sprintf() (at least not
4793        for printing integers), since it seems to need access to pthread
4794        data (and calling print_lisp_object() from GDB might fail if %gs is
4795        pointing at the lisp TCR.)
4796
47972006-08-22 02:06  gb
4798
4799        * lisp-kernel/x86-spentry64.s: Unbox %arg_z (boxed entrypoint)
4800        earlier in _SPffcall, before entering foreign context.  (Need to
4801        check PPC version(s) as well.)
4802       
4803        Use DARWIN_GS_HACK to swap %gs memory around when transitioning
4804        between foreign code and lisp.
4805
48062006-08-22 02:04  gb
4807
4808        * lisp-kernel/x86-macros.s: Fix a typo.
4809
48102006-08-22 02:04  gb
4811
4812        * lisp-kernel/x86-exceptions.h: Define a few more things ...
4813
48142006-08-22 02:03  gb
4815
4816        * lisp-kernel/x86-exceptions.c: Lots of changes, especially to Mach
4817        exception handling code.
4818       
4819        Do the DARWIN_GS_HACK things to overload %gs.
4820
48212006-08-22 02:02  gb
4822
4823        * lisp-kernel/x86-asmutils64.s: atomic_and(), pseudo_sigreturn()
4824        for DarwinX8664.
4825
48262006-08-22 02:01  gb
4827
4828        * lisp-kernel/thread_manager.c: Some PPC64 conditionalizations
4829        should really have tested WORD_SIZE.
4830       
4831        DARWIN_GS_HACK stuff around suspend/resume signal handlers.  (May
4832        not be necessary.)
4833       
4834        Ensure that tcr.linear gets set on x86, even if not HAVE_TLS.
4835
48362006-08-22 01:59  gb
4837
4838        * lisp-kernel/pmcl-kernel.c: Don't really flush cache lines on
4839        x8664.
4840       
4841        Some PPC64 conditionalizations should really have tested WORD_SIZE.
4842
48432006-08-22 01:58  gb
4844
4845        * lisp-kernel/m4macros.m4: Define SYSCALL_SETS_CARRY_ON_ERROR for
4846        FreeBSDX664, DarwinX8664.
4847
48482006-08-22 01:57  gb
4849
4850        * lisp-kernel/darwinx8664/Makefile: Much smaller pagezero, much
4851        lower seg1addr.
4852       
4853        Something in the (m4-generated) symbolic info in some .s files is
4854        screwy and causes ld64 to segfault; it's currently necesssary to
4855        use "strip -S" on the assembler-generated .o files.
4856
48572006-08-22 01:55  gb
4858
4859        * scripts/openmcl64: Untested changes for Darwinx8664.
4860
48612006-08-22 01:54  gb
4862
4863        * xdump/xx8664-fasload.lisp: Fix typo in darwinx8664
4864        xload-backend-info (compiler target is :darwinx8664, not
4865        :linuxx8664).
4866
48672006-08-22 01:53  gb
4868
4869        * lib/nfcomp.lisp: Dump concatenated functions from xfunctions when
4870        cross-compiling to x86 from x86.
4871
48722006-08-22 01:52  gb
4873
4874        * lib/misc.lisp: MACHINE-VERSION:  conditionalize on :DARWIN-TARGET
4875        (not :DARWINPPC-TARGET).
4876
48772006-08-22 01:50  gb
4878
4879        * lib/foreign-types.lisp: :DARWIN-TARGET (not :DARWINPPC-TARGET).
4880
48812006-08-22 01:50  gb
4882
4883        * lib/compile-ccl.lisp: :DARWINX8664 stuff.
4884
48852006-08-22 01:49  gb
4886
4887        * level-1/version.lisp: Bump.
4888
48892006-08-22 01:49  gb
4890
4891        * level-1/l1-sysio.lisp: FILE-STREAM-EXTERNAL-FORMAT stuff for
4892        BASIC-STREAMs.
4893
48942006-08-22 01:48  gb
4895
4896        * level-1/: l1-sockets.lisp, linux-files.lisp: Conditionalize on
4897        DARWIN-TARGET, not DARWINPPC-TARGET.
4898
48992006-08-22 01:47  gb
4900
4901        * level-0/l0-init.lisp: DarwinX8664 *features*.
4902
49032006-08-22 01:47  gb
4904
4905        * level-0/l0-cfm-support.lisp: Some DARWINPPC-TARGET conditionals
4906        really want to be DARWIN-TARGET.
4907
49082006-08-22 01:46  gb
4909
4910        * compiler/X86/X8664/x8664-arch.lisp: YIELD-SYSCALL for
4911        DarwinX8664.
4912
49132006-08-22 01:45  gb
4914
4915        * compiler/X86/x862.lisp: Use CROSS-CREATE-X86-FUNCTION if not
4916        compiling natively.
4917       
4918        Fix X862-FIXUP-FWD-REFS if not native function on x86.
4919
49202006-08-22 01:44  gb
4921
4922        * compiler/X86/x86-lap.lisp: Ensure that CROSS-CREATE-X86-FUNCTION
4923        is defined, even on x86.  Use it if not compiling natively on x86.
4924
49252006-08-20 23:59  gb
4926
4927        * lisp-kernel/darwinx8664/Makefile: Define DARWIN_GS_HACK.
4928
49292006-08-20 23:58  gb
4930
4931        * lisp-kernel/x86-exceptions.c: Still needs lots of work.
4932
49332006-08-20 23:58  gb
4934
4935        * lisp-kernel/x86-exceptions.h: Include Mach stuff on Darwin;
4936        prototypes for DARWIN_GS_HACK %gs segment switching.
4937
49382006-08-20 23:57  gb
4939
4940        * lisp-kernel/x86-subprims64.s: Manipulate the %gs register when a
4941        lisp thread starts, exits and DARWIN_GS_HACK is defined.
4942       
4943        This isn't so bad, but doing it around every ff-call might be.
4944
49452006-08-20 23:56  gb
4946
4947        * lisp-kernel/x86-macros.s: DARWIN_GS_HACK macros.
4948
49492006-08-20 23:53  gb
4950
4951        * lisp-kernel/thread_manager.c: Note the need for DARWIN_GS_HACK.
4952
49532006-08-20 23:51  gb
4954
4955        * lisp-kernel/x86-asmutils64.s: DARWIN_GS_HACK hacks.
4956
49572006-08-20 23:51  gb
4958
4959        * lisp-kernel/m4macros.m4: Hope that the need for DARWIN_GS_HACK is
4960        also temporary.
4961
49622006-08-20 23:50  gb
4963
4964        * lisp-kernel/lisptypes.h: Hope that the workaround for missing
4965        mcontext64 in x8664 Darwin is temporary.
4966
49672006-08-20 20:35  gb
4968
4969        * library/darwinx664-syscalls.lisp: typo
4970
49712006-08-20 20:35  gb
4972
4973        * library/darwinx8664-syscalls.lisp: spell name right
4974
49752006-08-20 17:10  gb
4976
4977        * xdump/xx8664-fasload.lisp: :darwinx8664 stuff.
4978
49792006-08-20 17:10  gb
4980
4981        * lib/db-io.lisp: :struct-by-value: don't read-time conditionalize
4982        (do other things still use read-time conditionals ?)
4983
49842006-08-20 17:09  gb
4985
4986        * compiler/X86/X8664/x8664-backend.lisp: Darwinx8664: overload %gs,
4987        setup syscall mask.
4988
49892006-08-20 17:08  gb
4990
4991        * compiler/nx1.lisp: Handle syscall, ff-call for :darwinx8664 as
4992        well.
4993
49942006-08-20 17:06  gb
4995
4996        * library/darwinx664-syscalls.lisp: New file; or's in the bit for
4997        Unix syscalls on Darwinx8664.  (Screw: should (carefully) review
4998        word-size issues.)
4999
50002006-08-20 17:03  gb
5001
5002        * library/darwinppc-syscalls.lisp: Mask for PPC.
5003
50042006-08-20 17:02  gb
5005
5006        * level-0/l0-io.lisp, level-1/l1-sockets.lisp,
5007        level-1/linux-files.lisp: Syscall conditionalization.
5008
50092006-08-20 17:01  gb
5010
5011        * level-1/l1-streams.lisp: Syscall conditionalization.
5012       
5013        SELECTION-INPUT-STREAM created with :sharing :lock.
5014
50152006-08-20 17:00  gb
5016
5017        * examples/objc-runtime.lisp: Fencepost in
5018        POINTER-IN-CFSTRING-SECTION-P.
5019
50202006-08-20 16:16  gb
5021
5022        * library/: darwinppc-syscalls.lisp, darwin-syscalls.lisp: rename
5023
50242006-08-18 09:50  gb
5025
5026        * lisp-kernel/thread_manager.c: Enable FP underflow detection on
5027        x8664.  Should do this on PPC as well, and should probably offer
5028        some backward-compatible behavior for reader.
5029
50302006-08-18 09:47  gb
5031
5032        * compiler/X86/X8664/x8664-backend.lisp: Dress up the Darwin x86-64
5033        backend a little.
5034       
5035        Explicily define lisp-context-register slot in each backend (%gs
5036        for those imolementations that follow the standard ABI, %fs for
5037        Darwin.)
5038
50392006-08-18 09:44  gb
5040
5041        * compiler/X86/X8664/x8664-vinsns.lisp: Use :rcontext when
5042        necessary.
5043
50442006-08-18 09:43  gb
5045
5046        * compiler/X86/: x86-backend.lisp, x86-lap.lisp: Recognize
5047        :rcontext as a reference to the backend's LISP-CONTEXT-REGISTER
5048        slot.
5049
50502006-08-18 09:42  gb
5051
5052        * compiler/backend.lisp: Backend now has a lisp-context-register
5053        slot.
5054
50552006-08-18 09:42  gb
5056
5057        * compiler/X86/X8664/x8664-arch.lisp: No more (constant) rcontext.
5058
50592006-08-18 09:40  gb
5060
5061        * level-0/X86/: x86-def.lisp, x86-float.lisp, x86-io.lisp,
5062        x86-misc.lisp, x86-symbol.lisp, x86-utils.lisp: Refer to rcontext
5063        segment register as :rcontext, since x86-64 Darwin doesn't laugh
5064        and play like the other children.
5065
50662006-08-18 09:29  gb
5067
5068        * lisp-kernel/x86-exceptions.c: Copy some of the Mach exception
5069        code from the PPC version and tweak it a little; needs more work.
5070
50712006-08-18 09:27  gb
5072
5073        * lisp-kernel/x86-exceptions.h: Provide some interim Darwin
5074        conditionalization.
5075
50762006-08-18 09:25  gb
5077
5078        * lisp-kernel/m4macros.m4: Spell FREEBSD correctly.
5079       
5080        Generate an equate for HAVE_TLS.
5081
50822006-08-18 09:23  gb
5083
5084        * lisp-kernel/x86-gc.c: Changes in purify_xp().
5085
50862006-08-18 09:19  gb
5087
5088        * lisp-kernel/x86-spentry64.s: Darwin x86-64 assembler doesn't like
5089        absolute jumps, prefers slower ones.
5090       
5091        Move lock prefixes to their own lines, to satisfy you-know-who.
5092       
5093        If we don't have thread-local-storage (TLS), it's hard to avoid the
5094        get_tcr() call on each calback.
5095
50962006-08-18 09:13  gb
5097
5098        * lisp-kernel/: freebsdx8664/Makefile, linuxx8664/Makefile: Tell m4
5099        that we HAVE_TLS.
5100
51012006-08-17 10:41  phil
5102
5103        * examples/FFI/:
5104        Allocating-foreign-data-on-the-lisp-heap/ptrtest-compile.sh,
5105        Allocating-foreign-data-on-the-lisp-heap/ptrtest.c,
5106        Allocating-foreign-data-on-the-lisp-heap/ptrtest.lisp,
5107        Using-basic-calls-and-types/Readme.rtf,
5108        Using-basic-calls-and-types/typetest-compile.sh,
5109        Using-basic-calls-and-types/typetest.c,
5110        Using-basic-calls-and-types/typetest.lisp: Initial version
5111
51122006-08-17 10:40  phil
5113
5114        * examples/FFI/Allocating-foreign-data-on-the-lisp-heap/Readme.rtf:
5115        [no log message]
5116
51172006-08-08 13:07  gb
5118
5119        * lisp-kernel/darwinx8664/Makefile: New file.
5120
51212006-08-08 13:07  gb
5122
5123        * lisp-kernel/x86-exceptions.h: xp accessors for Darwinx8664.
5124
51252006-08-08 13:06  gb
5126
5127        * lisp-kernel/x86-constants64.h: REG_* constants for Darwin.
5128
51292006-08-08 13:05  gb
5130
5131        * lisp-kernel/x86-asmutils64.s: Darwin assembler doesn't like lock
5132        instructions on the same line as the locked instruction.  (Maybe
5133        there's a better way to do this, than just pretending that lock is
5134        a standalone instruction, but that lock instruction does seem to be
5135        treated as a prefix.)
5136
51372006-08-08 13:03  gb
5138
5139        * lisp-kernel/pmcl-kernel.c: Treat X8664 like PPC64 (e.g., use
5140        dlfcn) on Darwin.
5141
51422006-08-08 13:02  gb
5143
5144        * lisp-kernel/lisptypes.h: xcode 2.4 headers: <i386/ucontext.h>
5145        doesn't define mcontext64, but lots of other things reference it.
5146        #define it here for now, but that'll likely break when the headers
5147        are fixed.
5148
51492006-08-08 12:58  gb
5150
5151        * lisp-kernel/lisp-debug.c: Define Iregnames for darwinx8664.
5152
51532006-08-08 12:58  gb
5154
5155        * lisp-kernel/area.h: Define an IMAGE_BASE_ADDRESS for
5156        x8664/Darwin.
5157
51582006-07-29 08:41  gb
5159
5160        * level-1/l1-streams.lisp: STREAM-WRITE-BYTE, STREAM-WRITE-IVECTOR.
5161         :BASIC defaults to T in OPEN; BASIC-FILE-STREAM probably still
5162        needs READ/WRITE- SEQUENCE support.
5163
51642006-07-29 07:39  gb
5165
5166        * level-1/l1-aprims.lisp: ALLOCATE-RESOURCE, FREE-RESOURCE: use
5167        lock.  TODO: evaluate whether resources are worthwhile;  used for
5168        string-output-stream allocation and DELETE-DUPLICATES.
5169
51702006-07-29 06:27  gb
5171
5172        * library/lispequ.lisp: Resources aren't thread-private, need
5173        locks.
5174
51752006-07-29 06:26  gb
5176
5177        * level-1/l1-sysio.lisp: MAKE-FILE-STREAM: support for
5178        BASIC-STREAMs.
5179
51802006-07-29 06:26  gb
5181
5182        * level-1/l1-streams.lisp: OPEN handles BASIC-STREAMs; not yet the
5183        default.
5184
51852006-07-29 06:25  gb
5186
5187        * level-1/l1-reader.lisp: *PARSE-STRING-RESOURCE* probably hasn't
5188        been used in 10 or 12 years.
5189
51902006-07-29 03:40  gb
5191
5192        * level-1/l1-sysio.lisp: Most BASIC-FILE-STREAM stuff.
5193
51942006-07-29 03:40  gb
5195
5196        * library/lispequ.lisp: BASIC-FILE-STREAM.EXTERNAL-FORMAT, at least
5197        for now.
5198
51992006-07-29 03:39  gb
5200
5201        * level-1/l1-streams.lisp: BASIC-IO-STREAM; ALLOCATE-BASIC-STREAM
5202        makes one more slot in BASIC-FILE-STREAM.
5203
52042006-07-28 04:17  gb
5205
5206        * level-1/version.lisp: Bump.
5207
52082006-07-28 04:15  gb
5209
5210        * level-1/l1-streams.lisp: A couple of more (soon-to-be-used) slots
5211        in IOBLOCK.
5212
52132006-07-28 01:17  gb
5214
5215        * level-1/l1-streams.lisp: Lots of changes; lots more to go.
5216
52172006-07-28 01:16  gb
5218
5219        * level-1/l1-sockets.lisp: Pass :CHARACTER-P T to MAKE-FD-STREAM.
5220
52212006-07-28 00:58  gb
5222
5223        * examples/cocoa-listener.lisp: Want :SHARING :LOCK on listener
5224        output.
5225       
5226        (SLIME probably faces the same issue; should probably do something
5227        in the auto-flush case.  Of course, it's hard to know just what to
5228        do in that case. or at least what to do safely in that case.)
5229
52302006-07-28 00:49  gb
5231
5232        * level-1/l1-sysio.lisp: Define SELECT-STREAM-CLASS on
5233        FUNDAMENTAL-FILE-STREAM.
5234
52352006-07-28 00:49  gb
5236
5237        * lib/streams.lisp: READ-BYTE for BASIC-STREAMs.
5238
52392006-07-28 00:48  gb
5240
5241        * library/lispequ.lisp: Need an explicit
5242        BASIC-STREAM-FLAG.OPEN-CHARACTER bit, due to bivalence.
5243
52442006-07-28 00:47  gb
5245
5246        * lib/macros.lisp: BASIC-STREAM-IOBLOCK.
5247
52482006-07-25 03:48  gb
5249
5250        * compiler/optimizers.lisp: Compiler-macro for BASIC-STREAM-P.
5251
52522006-07-24 04:55  gb
5253
5254        * lib/streams.lisp: READ-CHAR bypasses STREAM-READ-CHAR for
5255        BASIC-STREAMs.
5256
52572006-07-24 04:55  gb
5258
5259        * level-1/l1-streams.lisp: Some BASIC-STREAM stuff starts to
5260        appear.
5261
52622006-07-24 04:51  gb
5263
5264        * library/lispequ.lisp: Add a plist to basic-/basic-file-stream.
5265
52662006-07-24 02:43  gb
5267
5268        * level-1/l1-sysio.lisp: FILE-STREAM is now abstract (and some
5269        sublasses may get that way); FUNDAMENTAL-FILE-STREAM is an
5270        implementation of it (and BASIC-FILE-STREAM soon will be.)
5271
52722006-07-23 03:05  gb
5273
5274        * level-1/l1-clos-boot.lisp: *class-table* entry for BASIC-STREAM.
5275
52762006-07-23 03:03  gb
5277
5278        * level-1/l1-streams.lisp: STREAM-IOBLOCK now takes 2 required args
5279        and is inlined.
5280       
5281        Some bug fixes; STREAM class no longer has slots.
5282       
5283        IOBLOCK-READ-CHAR-FUNCTION used by READ-CHAR.  %ioblock-read-byte
5284        variants; fix read-byte botch (should vector according to
5285        element-type.)
5286
52872006-07-23 02:54  gb
5288
5289        * level-1/: linux-files.lisp, l1-sysio.lisp, l1-sockets.lisp:
5290        STREAM-IOBLOCK now takes 2 required args.
5291
52922006-07-23 02:54  gb
5293
5294        * level-1/version.lisp: Bump.
5295
52962006-07-23 02:53  gb
5297
5298        * library/lispequ.lisp: Start to define what a BASIC-STREAM looks
5299        like.
5300
53012006-07-23 02:53  gb
5302
5303        * lib/macros.lisp: Move stream-ioblock access/locking macros here.
5304       
5305        Likewise WITH-EAGAIN.
5306
53072006-07-23 01:12  gb
5308
5309        * level-1/: l1-sysio.lisp, l1-streams.lisp, l1-boot-2.lisp,
5310        l1-sockets.lisp: Fix a few botches.
5311       
5312        :private arg to stream creation primitives replaced with :sharing,
5313        which can have values:
5314       
5315         :private (the default; stream can only be accessed by the creating
5316        thread)
5317         :lock  (the old, often slow, default); most accesses to stream
5318        involve locking
5319         :nil or :external (stream code doesn't enforce exclusion).
5320
53212006-07-22 23:57  gb
5322
5323        * level-1/l1-streams.lisp: Bootstrapping stuff.
5324       
5325        Move along, nothing to see here.
5326
53272006-07-20 03:43  gb
5328
5329        * level-1/: l1-boot-2.lisp, l1-sockets.lisp, l1-streams.lisp,
5330        l1-sysio.lisp: First (rough) cut at making streams "private"
5331        (effectively always locked by the "owning" thread) to reduce some
5332        locking overhead.  More to come, some of which will be a little
5333        tricky to bootstrap.
5334
53352006-07-20 01:09  gb
5336
5337        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s,
5338        ppc-constants64.h, ppc-constants64.s, x86-constants64.h,
5339        x86-constants64.s: subtag_lisp_thread -> subtag_basic_stream.
5340
53412006-07-20 01:09  gb
5342
5343        * library/lispequ.lisp: new (istruct-based) LISP-THREAD accessors.
5344
53452006-07-20 01:08  gb
5346
5347        * level-1/version.lisp: Bump.
5348
53492006-07-20 01:07  gb
5350
5351        * level-1/l1-streams.lisp: Introduce "owner" slot in basic ioblock.
5352         A little tricky to bootstrap.
5353
53542006-07-20 01:05  gb
5355
5356        * level-0/l0-misc.lisp, level-1/l1-processes.lisp,
5357        level-1/l1-clos-boot.lisp, level-1/l1-lisp-threads.lisp: Use new
5358        (istruct-based) lisp-thread accessors.
5359
53602006-07-20 01:02  gb
5361
5362        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
5363        X86/X8664/x8664-arch.lisp: Get rid of the lisp-thread subtag
5364        (lisp-thread's are ISTRUCTs now); re-use it for (to-be-introduced)
5365        BASIC-STREAM.
5366
53672006-07-15 15:02  gb
5368
5369        * level-1/l1-error-system.lisp: Insert some fresh lines in the
5370        IMPOSSIBLE-NUMBER condition :REPORT method.
5371
53722006-07-15 15:00  gb
5373
5374        * compiler/X86/x862.lisp: x862-%aref1,x862-%aset1: don't try to do
5375        simple vector operations unless we're sure that the vector is a
5376        (SIMPLE-ARRAY * (*)) and we know the element-type (these were
5377        leaping into the simple-typed-vector case when the element-type was
5378        known but the vector wasn't known to be SIMPLE.
5379
53802006-07-14 05:57  gb
5381
5382        * compiler/nx0.lisp: NX-FORM-TYPEP: unqoute constants.
5383
53842006-07-13 16:01  gb
5385
5386        * level-1/l1-typesys.lisp: SPECIALIZED-ARRAY-ELEMENT-TYPES needs to
5387        know about FIXNUM arrays.
5388
53892006-07-11 14:23  gb
5390
5391        * compiler/X86/x862.lisp: Destination and 1st source arg overlap
5392        (2-address instructions) in natural logical, arithmetic operations.
5393
53942006-07-05 02:38  gb
5395
5396        * release-notes.txt: Update.
5397
53982006-07-05 02:22  gb
5399
5400        * level-0/l0-init.lisp: Reluctantly put :MCL back on *features*;
5401        its removal needs to be better publicized.
5402
54032006-07-04 22:24  gb
5404
5405        * level-1/linux-files.lisp: Use NATIVE-TRANSLATED-NAMESTRING on the
5406        PROGRAM arg to RUN-PROGRAM.
5407
54082006-07-04 22:23  gb
5409
5410        * level-1/version.lisp: Bump.
5411
54122006-06-29 02:11  gb
5413
5414        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump
5415        image-abi-version.
5416
54172006-06-28 05:24  gb
5418
5419        * level-0/l0-cfm-support.lisp: *rtld-default* wants to be a null
5420        pointer on DarwinPPC32 (at the very least, that platform's
5421        xFindSymbol gets confused by anything but a null pointer/global
5422        lookup.)
5423
54242006-06-28 05:09  gb
5425
5426        * level-1/version.lisp: Bump.  Call the FreeBSD/AMD64 version
5427        "Alpha", which may be a bit generous (pretty regular deadlock,
5428        random thread creation errors, other bugs.)
5429
54302006-06-28 05:07  gb
5431
5432        * lisp-kernel/freebsdx8664/.gdbinit: new; awfully similar to linux
5433        x86-64 version.
5434
54352006-06-28 04:04  gb
5436
5437        * lisp-kernel/x86-exceptions.c: FreeBSD doesn't do a good job of
5438        identifying the cause of XMM FP exceptions.  Try to do that by
5439        looking at MXCSR bits.
5440
54412006-06-28 04:03  gb
5442
5443        * lisp-kernel/x86-spentry64.s: FreeBSD syscalls set carry flag to
5444        indicate error return.
5445
54462006-06-28 04:03  gb
5447
5448        * level-1/: l1-sockets.lisp, linux-files.lisp,
5449        x86-trap-support.lisp: Some FreeBSD changes/fixes.
5450
54512006-06-28 04:02  gb
5452
5453        * level-0/l0-cfm-support.lisp: Remove a #+freebsd-target
5454        breakpoint.
5455
54562006-06-27 18:08  gb
5457
5458        * level-0/l0-cfm-support.lisp: fix (?) nested #+/#-.  Maybe.
5459
54602006-06-27 17:30  gb
5461
5462        * lisp-kernel/x86-exceptions.h: Fix Linux def of IS_MAYBE_INT_TRAP.
5463
54642006-06-27 17:27  gb
5465
5466        * lisp-kernel/pmcl-kernel.c: (possibly) make get_r_debug more
5467        portable; possibly break it completely ...
5468
54692006-06-27 08:55  gb
5470
5471        * lisp-kernel/x86-exceptions.c: map the altstack
5472        read/write/execute.
5473
54742006-06-27 08:54  gb
5475
5476        * lisp-kernel/thread_manager.c: Fix os_get_stack_bounds() for
5477        FreeBSD.
5478
54792006-06-27 08:54  gb
5480
5481        * lisp-kernel/Threads.h: FreeBSD needs prototypes from
5482        <pthread_np.h>
5483
54842006-06-27 08:53  gb
5485
5486        * lib/compile-ccl.lisp: New (renamed) kernel-build-direcory for
5487        :freebsdx8664.
5488
54892006-06-27 08:53  gb
5490
5491        * level-1/x86-trap-support.lisp: freebsd x8664 GPR indices.  (Needs
5492        testing.)
5493       
5494        Don't conditionalize as much code. Indices/offsets are
5495        platform-specific, but accessors defiend in terms of them needn't
5496        be.
5497
54982006-06-27 08:51  gb
5499
5500        * level-1/x86-callback-support.lisp: Remove 1st line (bogus
5501        comment.)
5502
55032006-06-27 08:50  gb
5504
5505        * level-0/l0-init.lisp: More freebsd x8664 features.
5506
55072006-06-27 08:50  gb
5508
5509        * scripts/openmcl64: Update for FreeBSD/amd64.
5510
55112006-06-27 08:47  gb
5512
5513        * compiler/X86/X8664/x8664-backend.lisp: FreeBSD backend has
5514        :freebsdx8664-target as a target-specific-feature.
5515
55162006-06-27 05:05  gb
5517
5518        * lisp-kernel/: freebsdx8664/Makefile, freebsd8664/Makefile,
5519        freebsd8664/elf_x86_64.x: directory rename
5520
55212006-06-27 04:59  gb
5522
5523        * xdump/xx8664-fasload.lisp: FreeBSD xload-backend.
5524
55252006-06-27 04:47  gb
5526
5527        * lisp-kernel/x86-exceptions.h: Some macros for FreeBSD changes.
5528
55292006-06-27 04:46  gb
5530
5531        * lisp-kernel/x86-exceptions.c: FreeBSD changes (at least enough to
5532        recognize UUOs, which generate SIGBUS vice SIGSEGV.)
5533
55342006-06-27 04:45  gb
5535
5536        * lisp-kernel/x86-asmutils64.s: Define freebsd_sigreturn.
5537       
5538        TODO (maybe): copy the sigtramp code when evacuating the altstack.
5539
55402006-06-27 04:44  gb
5541
5542        * lisp-kernel/thread_manager.c: FreeBSD sigreturn from
5543        suspend_resume_handler.
5544
55452006-06-27 04:44  gb
5546
5547        * lisp-kernel/pmcl-kernel.c: Some FreeBSD conditionalization;
5548        get_r_debug() for ELF platforms.  (Needs testing under Linux.)
5549
55502006-06-27 04:43  gb
5551
5552        * lisp-kernel/imports.s: Don't import metering-control; do import
5553        get_r_debug().
5554
55552006-06-27 04:42  gb
5556
5557        * library/x8664-freebsd-syscalls.lisp: New file.  Should check
5558        word-size stuff (here and in other versions.)
5559
55602006-06-27 04:42  gb
5561
5562        * lib/misc.lisp: Find MACHINE-VERSION string via #_sysctl on
5563        FreeBSD.
5564
55652006-06-27 04:39  gb
5566
5567        * lib/foreign-types.lisp: Signed char nonsense (should use target
5568        ftd, not reader macros here.)
5569
55702006-06-27 04:38  gb
5571
5572        * lib/compile-ccl.lisp: Some FreeBSD support.
5573
55742006-06-27 04:36  gb
5575
5576        * level-1/: l1-sockets.lisp, l1-streams.lisp, linux-files.lisp:
5577        Some FreeBSD changes/conditionalization. Maybe not enough.
5578
55792006-06-27 04:35  gb
5580
5581        * level-1/l1-boot-1.lisp: Recognize FREEBSD platform-os-name.
5582
55832006-06-27 04:34  gb
5584
5585        * level-0/X86/: .cvsignore, X8664/.cvsignore: Ignore *fsl.
5586
55872006-06-27 04:34  gb
5588
5589        * level-0/l0-io.lisp: FreeBSD syscalls.
5590
55912006-06-27 04:33  gb
5592
5593        * level-0/l0-init.lisp: Some FreeBSD features.
5594
55952006-06-27 04:33  gb
5596
5597        * level-0/l0-cfm-support.lisp: Lots of FreeBSD conditionalization,
5598        changes.
5599       
5600        MAY HAVE BROKEN LINUX PORTS; need to recompile on those platforms
5601        and test.
5602       
5603        Now depends on an imported lisp-kernel function on ELF platforms
5604        (Linux/FreeBSD), and therefore depends on recent kernel changes.
5605
56062006-06-27 04:30  gb
5607
5608        * level-0/.cvsignore: Ignore *fsl.
5609
56102006-06-27 04:29  gb
5611
5612        * compiler/X86/X8664/x8664-backend.lisp: Fix platform-syscall-mask
5613        in freebsd backend.
5614
56152006-06-27 04:27  gb
5616
5617        * compiler/X86/X8664/x8664-arch.lisp: Don't import
5618        metering-control; do import get-r-debug (for Elf shared libraries.)
5619       
5620        A yield-syscall constant for FreeBSD. (This is all a bad idea ...)
5621
56222006-06-27 04:26  gb
5623
5624        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp:
5625        Don't import metering-control; do import get-r-debug (for Elf
5626        shared libraries.)
5627
56282006-06-27 04:26  gb
5629
5630        * compiler/nx1.lisp: Use the non-eabi syscall on freebsd as well.
5631
56322006-06-26 16:38  gb
5633
5634        * compiler/X86/X8664/x8664-vinsns.lisp:
5635        SET-BIGITS-AND-HEADER-FOR-FIXNUM-OVERFLOW: need to change the
5636        (wrong) sign of the top 3 (fixnumshift) bits only.  Where did the
5637        constant #xffff000000000000 come from ?
5638
56392006-06-26 16:35  gb
5640
5641        * compiler/X86/x862.lisp: Fix some indentation.
5642
56432006-06-25 20:32  gb
5644
5645        * compiler/X86/X8664/x8664-backend.lisp: FreeBSD x8664 backend;
5646        change initialiation of x8664 foreign-type stuff.
5647
56482006-06-25 20:31  gb
5649
5650        * compiler/backend.lisp: PLATFORM-OS-FREEBSD.
5651
56522006-06-23 19:52  gb
5653
5654        * darwin-headers/: gl/C/.cvsignore, libc/C/.cvsignore,
5655        quicktime/C/.cvsignore: Ignore Developer subdirectory.  c
5656
56572006-06-23 19:28  gb
5658
5659        * release-notes.txt: Update some.
5660
56612006-06-23 19:11  gb
5662
5663        * examples/gtk2-clock.lisp: New file.
5664
56652006-06-23 18:56  gb
5666
5667        * level-1/version.lisp: Bump.
5668
56692006-06-23 18:52  gb
5670
5671        * lib/ccl-export-syms.lisp: Export DEFLOADVAR.
5672
56732006-06-22 13:39  gb
5674
5675        * x86-headers64/gnome2/C/.cvsignore: new
5676
56772006-06-22 13:36  gb
5678
5679        * x86-headers64/: gl/C/.cvsignore, gnome2/C/populate.sh: new
5680
56812006-06-22 13:33  gb
5682
5683        * x86-headers64/: gl/.cvsignore, gl/C/populate.sh,
5684        gnome2/.cvsignore: new
5685
56862006-06-22 13:30  gb
5687
5688        * examples/opengl-ffi.lisp: #+linuxppc-target -> #+linux-target.
5689
56902006-06-22 13:28  gb
5691
5692        * level-1/version.lisp: Bump.
5693
56942006-06-21 15:15  gb
5695
5696        * lisp-kernel/: ppc-constants64.h, ppc-constants64.s,
5697        ppc-spentry.s: Define new string subtags; handle them in ppc64
5698        misc_ref/misc_set.
5699
57002006-06-21 15:14  gb
5701
5702        * level-0/PPC/ppc-array.lisp: Fix %INIT-MISC (both ppc2 and ppc64
5703        versions) to handle FIXNUM vectors, new UCS4 strings.
5704
57052006-06-21 15:14  gb
5706
5707        * level-0/l0-array.lisp: Fix %INIT-MISC (bot ppc2 and ppc64
5708        versions) to handle FIXNUM vectors, new UCS4 strings.
5709
57102006-06-21 15:12  gb
5711
5712        * darwin-headers/: carbon/C/populate.sh, cocoa/C/populate.sh,
5713        gl/C/populate.sh, libc/C/populate.sh, quicktime/C/populate.sh,
5714        webkit/C/populate.sh: Use 10.4u headers from XCode SDK.
5715
57162006-06-21 15:11  gb
5717
5718        * compiler/PPC/PPC64/ppc64-arch.lisp: Add SUBTAG-NEW-STRING.
5719
57202006-06-21 15:11  gb
5721
5722        * compiler/PPC/PPC32/ppc32-arch.lisp: MAX-32-BIT-IVECTOR-SUBTAG
5723        wasn't updated with the introduction of fixnum vectors, (unused)
5724        UCS4 "new"strings.
5725
57262006-06-16 03:50  gb
5727
5728        * examples/objc-support.lisp: Re-compute static NSString info after
5729        opening an extension framework.
5730
57312006-06-16 03:45  gb
5732
5733        * examples/webkit.lisp: Use new functions for augmenting
5734        interfaces, loading framework.
5735
57362006-06-16 03:43  gb
5737
5738        * examples/objc-runtime.lisp: Juggle things around so that add-on
5739        framework bundles get loaded on appication re-launch.
5740       
5741        REVIVE-OBJC-CLASSES tells MAP-OBJC-CLASSES not to hit the database,
5742        since (a) it may not be there, or may not be where we can find it
5743        yet and (b) it's probably more reasonable to do that than it would
5744        be to teach CLOS about classes that're "discovered" when the
5745        appication's launched on a newer OS release than it was saved on.
5746
57472006-06-16 03:39  gb
5748
5749        * examples/cocoa-application.lisp: Touch tha application bundle
5750        before saving an image into it.  That -may- convincve
5751        LaunchServices to do the right thing.
5752
57532006-06-16 03:38  gb
5754
5755        * examples/objc-support.lisp: Reload any addon/framework bundles
5756        that had been loaded before the image was saved when starting a
5757        bundled application.
5758       
5759        Juggle things around, so that that works (need to be able to use
5760        low-level bridge features early.)
5761
57622006-06-16 03:36  gb
5763
5764        * lib/db-io.lisp: Disable the #? reader macro.
5765
57662006-06-14 15:42  gb
5767
5768        * level-0/: PPC/ppc-def.lisp, X86/x86-def.lisp: Fix #+APPLY+
5769        lfun-bits.
5770
57712006-06-12 20:24  gb
5772
5773        * lib/ppc-backtrace.lisp: PPC version of
5774        %find-register-argument-value had the same sort of fencepost as the
5775        x86-64 version had a few days ago.
5776
57772006-06-10 23:52  gb
5778
5779        * lib/arglist.lisp: %ARGLIST-INTERNAL: if generic-function, return
5780        its GENERIC-FUNCTION-LAMBDA-LIST.
5781
57822006-06-10 23:51  gb
5783
5784        * level-1/l1-clos.lisp: Give reader/writer method args more
5785        descriptive names. (Barely more descriptive ...)
5786
57872006-06-10 19:25  gb
5788
5789        * level-1/l1-clos-boot.lisp: Arrgh.  In
5790        %MAYBE-STD-SETF-SLOT-VALUE-USING-CLASS, we know nothing about the
5791        type of the instance, so don't use INSTANCE.SLOTS (instead, let
5792        INSTANCE-SLOTS do a TYPECASE; it's inlined at this point.)
5793       
5794        This was keeping non-standard instances - like ObjC classes and
5795        metaclasses - from having some of their slots initialized
5796        correctly.
5797
57982006-06-10 19:22  gb
5799
5800        * examples/objc-clos.lisp: PRINT-OBJECT methods for objc-class,
5801        objc-metaclass: don't die if the class is unnamed (makes it easier
5802        to print classes for debugging during initialization.)
5803
58042006-06-10 13:05  gb
5805
5806        * level-1/ppc-trap-support.lisp: Fix LinuxPPC64 versions of
5807        XP-FPSCR-INFO and XP-DOUBLE-FLOAT.
5808
58092006-06-08 05:01  gb
5810
5811        * release-notes.txt: Update a bit.
5812
58132006-06-08 03:56  gb
5814
5815        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump
5816        image-abi-version.
5817
58182006-06-08 03:46  gb
5819
5820        * xdump/faslenv.lisp: Bump (min) fasl version.
5821
58222006-06-08 03:35  gb
5823
5824        * lib/nfcomp.lisp: Bump (current) fasl-version.
5825
58262006-06-08 03:28  gb
5827
5828        * lisp-kernel/linuxx8664/Makefile: -O2.
5829
58302006-06-08 03:26  gb
5831
5832        * xdump/faslenv.lisp: Bump (max) fasl version.
5833
58342006-06-08 03:18  gb
5835
5836        * level-1/version.lisp: Bump; give x86-64 port the benefit of the
5837        doubt and claim that it's a beta.
5838
58392006-06-08 03:18  gb
5840
5841        * lisp-kernel/darwinppc64/Makefile: Enable -O2.
5842
58432006-06-08 03:17  gb
5844
5845        * lisp-kernel/darwinppc/Makefile: Some commented-out debugging
5846        options; enable -O2.
5847
58482006-06-08 02:55  gb
5849
5850        * lisp-kernel/x86-exceptions.c: thread_signal_setup() moved here.
5851        Handle suspend (and maybe someday resume, again) signals on the
5852        altstack, since we don't really want a signal context in the middle
5853        of the tagged lisp stack ...
5854
58552006-06-08 02:52  gb
5856
5857        * lisp-kernel/thread_manager.c: thread_signal_setup() moved to
5858        PLATFORM-exceptions.c; some constants/prototypes moved to
5859        Threads.h.
5860
58612006-06-08 02:51  gb
5862
5863        * lisp-kernel/ppc-exceptions.c: suspend_resume_handler() installed
5864        via install_signal_handler(); thread_signal_setup() moved here, to
5865        do that installation.
5866
58672006-06-08 02:50  gb
5868
5869        * lisp-kernel/pmcl-kernel.c: Don't enable_fp_exceptions() twice.
5870       
5871        Don't call (or define) prepare_for_the_worst(), which is kind of
5872        too bad ...
5873
58742006-06-08 02:49  gb
5875
5876        * lisp-kernel/Threads.h: suspend/resume constants, prototypes.
5877
58782006-06-08 01:11  gb
5879
5880        * level-1/l1-files.lisp: Back out of ill-advised changed to %LOAD;
5881        let OPTIMIZE proclamations persist beyond the LOAD.
5882
58832006-06-07 21:45  gb
5884
5885        * lisp-kernel/x86-subprims64.s: No nore %tsp/%Rnext_tsp.
5886
58872006-06-07 21:38  gb
5888
5889        * lisp-kernel/x86-spentry64.s: Don't maintain current/next tsp in
5890        MMX regs.  Do maintain them in TCR.
5891
58922006-06-07 21:37  gb
5893
5894        * lisp-kernel/x86-macros.s: Don't maintain %tsp when stack-consing;
5895        update (decrement) tcr.next_tsp atomically, use %stack_temp as a
5896        temporary (old tsp), finish frame by storing into tcr.save_tsp.
5897
58982006-06-07 21:34  gb
5899
5900        * lisp-kernel/x86-exceptions.c: tsp is in the TCR now.
5901
59022006-06-07 21:33  gb
5903
5904        * lisp-kernel/x86-constants64.s: No more %tsp, %Rnext_tsp.  Define
5905        %stack_temp.
5906
59072006-06-07 21:32  gb
5908
5909        * lisp-kernel/x86-constants64.h: No more Itsp, Inext_tsp.
5910
59112006-06-07 21:30  gb
5912
5913        * level-0/X86/x86-def.lisp: %CURRENT-TSP: the tsp is in the TCR
5914        now.
5915
59162006-06-07 21:30  gb
5917
5918        * compiler/X86/X8664/x8664-vinsns.lisp: Don't try to maintain %tsp
5919        (since it no longer exists ...).  Use %stack-temp in some cases.
5920
59212006-06-07 21:29  gb
5922
5923        * compiler/X86/X8664/x8664-arch.lisp: No more %tsp or %next-tsp.
5924        %stack-temp is a symbolic name for an MMX register that can be used
5925        for (e.g.) linking frames on the temp/foreign stacks (or for any
5926        other purpose ...)
5927
59282006-06-07 15:29  gb
5929
5930        * compiler/X86/X8664/x8664-vinsns.lisp: No more %Rforeign_sp.  Keep
5931        tcr.next_tsp in sync with %next_tsp Check to ensure that
5932        %tsp,tcr.save_tsp,and tcr.next_tsp all have the same value when
5933        allocating on the temp stack.  (This will soon change, so that %tsp
5934        and %next_tsp will not be canonical and the tcr fields are, then
5935        will change so that %tsp and %next_tsp will cease to exist.)
5936
59372006-06-07 15:25  gb
5938
5939        * lisp-kernel/x86-subprims64.s: No more %Rforeign_sp.
5940
59412006-06-07 15:25  gb
5942
5943        * lisp-kernel/: x86-macros.s, x86-spentry64.s: Keep tcr.next_tsp in
5944        sync with %Rnext_tsp.  No more %Rforeign_sp, but we can use %mm5 as
5945        a temporary.
5946
59472006-06-07 15:23  gb
5948
5949        * lisp-kernel/x86-exceptions.c: Find the foreign RSP from the TCR;
5950        don't need FP regs for this.  (They're sometimes invalid and
5951        sometimes missing, which is the point of recent changes.)
5952
59532006-06-07 15:21  gb
5954
5955        * lisp-kernel/x86-constants64.s: No foreign_sp.  Rename %next_tsp
5956        to %Rnext_tsp to avoid potential m4 lossage.
5957
59582006-06-07 15:20  gb
5959
5960        * lisp-kernel/x86-constants64.h: No Iforeign_sp.
5961
59622006-06-07 15:20  gb
5963
5964        * lisp-kernel/thread_manager.c: Initialize tcr->next_tsp on X86.
5965
59662006-06-07 15:19  gb
5967
5968        * level-1/version.lisp: Bump.
5969
59702006-06-07 15:19  gb
5971
5972        * level-0/X86/x86-def.lisp: Get foreign-sp from the TCR.
5973
59742006-06-07 15:18  gb
5975
5976        * compiler/X86/X8664/x8664-arch.lisp: More bootstrapping: no more
5977        foreign-sp register (though some code still uses %mm5 as a
5978        temporary, the "canonical" foreign SP is maintained in the TCR.)
5979
59802006-06-07 04:52  gb
5981
5982        * lisp-kernel/x86-macros.s: When making a catch/unwind-protect
5983        frame, get the foreign SP out of the TCR.
5984
59852006-06-07 04:52  gb
5986
5987        * compiler/X86/X8664/x8664-vinsns.lisp,
5988        lisp-kernel/x86-spentry64.s: More bootstrapping: continue to
5989        maintain the foreign sp in both the TCR and the MMX register, but
5990        consider the TCR version to be canonical.
5991
59922006-06-07 02:46  gb
5993
5994        * compiler/X86/X8664/x8664-vinsns.lisp: More bootstrapping: if the
5995        %tsp MMX register doesn't match the value in the tcr, trap.
5996        Likewise for %foreign-sp.
5997
59982006-06-07 01:29  gb
5999
6000        * compiler/X86/X8664/x8664-vinsns.lisp, lisp-kernel/x86-macros.s,
6001        lisp-kernel/x86-spentry64.s: Try to keep tcr.save_tsp in synch with
6002        %tsp, and likewise for %Rforeign_sp/tcr.foreign_sp.
6003       
6004        (The idea is to keep the temp/foreign stack pointers in the tcr and
6005        only use the MMX registers as temporaries, since it seems that
6006        handlers for asynchronous signals can't count on the MMX register
6007        values in the signal context being correct.  This seems to either
6008        be a Linux kernel bug or ill-considered if it's intentional
6009        behavior, but it seems better to work around it this way.)
6010       
6011        This is just an early step in bootstrapping that change; it's being
6012        checked into CVS so that it doesn't get lost (and so that I can
6013        recover to this point if/when I hose things on a later step.)
6014
60152006-06-07 01:24  gb
6016
6017        * compiler/X86/X8664/x8664-arch.lisp: Add a next-tsp slot to the
6018        tcr.
6019
60202006-06-07 01:22  gb
6021
6022        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Add a
6023        next_tsp slot to the tcr.
6024
60252006-06-06 04:25  gb
6026
6027        * lib/ppc-metering.lisp: no hope
6028
60292006-06-06 04:22  gb
6030
6031        * lib/x86-backtrace.lisp: %find-register-argument-value: Current
6032        frame (cfp argument) could be an exception callback frame (xcf-p
6033        may be true of it), in which case the saved register value is in
6034        the xcf.xp context.  (Basically, this means look at the first frame
6035        if it's an xcf, otherwise skip it and start with the child.)
6036
60372006-06-06 01:48  gb
6038
6039        * compiler/X86/x86-lapmacros.lisp,
6040        compiler/X86/X8664/x8664-vinsns.lisp, lisp-kernel/x86-macros.s:
6041        Using imul to box fixnums is smaller and seems to be faster than
6042        using lea with a scale factor.
6043
60442006-06-05 23:56  gb
6045
6046        * lisp-kernel/thread_manager.c: I don't think that
6047        suspend_resume_handler wants to have suspend signals unmasked, does
6048        it ?
6049
60502006-06-05 12:43  gb
6051
6052        * library/chud-metering.lisp: area-readonly is in ccl:: now.
6053
60542006-06-03 03:11  gb
6055
6056        * lisp-kernel/x86-spentry64.s: In _SPnthrowvalues: don't skip the
6057        last catch frame, do skip others (test was backwards.  As it
6058        probably had been in the single-value case at one point.)
6059
60602006-06-02 03:48  gb
6061
6062        * lib/encapsulate.lisp: Don't print trace indent/outdent stuff to
6063        *terminal-io*; do print it to *trace-output*.
6064
60652006-06-01 20:20  gb
6066
6067        * level-0/l0-array.lisp: There's a T in subtag.
6068
60692006-06-01 20:17  gb
6070
6071        * compiler/X86/x862.lisp: X862-MVCALL wasn't handling things like:
6072       
6073        (multiple-value-bind (...)   (multiple-value-call #'foo ...))
6074       
6075        correctly.
6076
60772006-06-01 20:16  gb
6078
6079        * compiler/nx0.lisp: Defvars for global optimization quantities
6080        moved to level-0.
6081
60822006-06-01 20:15  gb
6083
6084        * level-1/l1-files.lisp: Bind the variables which hold global
6085        compiler optimization quantities, since people persist in doing
6086        things like:
6087       
6088        (declaim (optimize
6089        <something-that-they-probably-think-has-local-effects>))
6090       
6091        without bothering to use EVAL-WHEN or otherwise thinking very
6092        clearly.
6093       
6094        Note that this means that anyone who wanted such a declamation to
6095        have persistent global effects is now SOL.  Blame whoever wrote
6096        (for instance) clx/glx.lisp.
6097
60982006-06-01 20:11  gb
6099
6100        * level-0/l0-init.lisp: Move *nx-speed*, etc here, so that they can
6101        be referenced early in the cold load.
6102
61032006-06-01 13:13  gb
6104
6105        * lib/x86-backtrace.lisp: In %FIND-REGISTER-ARGUMENT-VALUE, pass a
6106        pointer to ENCODED-GPR-LISP if we have to get the register value
6107        from an exception frame.
6108
61092006-05-30 19:27  gwking
6110
6111        * tools/asdf.lisp: Updated asdf to the current CVS head (revision
6112        1.98)
6113
61142006-05-30 17:12  gb
6115
6116        * level-1/version.lisp: bump again.
6117
61182006-05-30 16:31  gb
6119
6120        * lisp-kernel/x86-spentry64.s: When unwinding the stack, try to
6121        ensure that tcr.xframe is updated from the catch frame (a) in all
6122        execution paths and (b) before RSP is updated.
6123
61242006-05-30 16:30  gb
6125
6126        * level-0/l0-array.lisp, lib/sequences.lisp: Handle (simple) fixnum
6127        vectors.
6128
61292006-05-30 16:29  gb
6130
6131        * level-1/l1-typesys.lisp: Add a DEFTYPE for fixnum vectors.
6132
61332006-05-30 16:29  gb
6134
6135        * release-notes.txt: Update some more ...
6136
61372006-05-30 16:23  gb
6138
6139        * lib/ccl-export-syms.lisp: There are two 'e's in UNPROCESSED.
6140        Apparently.
6141
61422006-05-30 16:15  gb
6143
6144        * release-notes.txt: updated
6145
61462006-05-30 01:58  gb
6147
6148        * level-1/version.lisp: Bump.
6149
61502006-05-30 01:48  gb
6151
6152        * lisp-kernel/x86-exceptions.c: altstack_interrupt_handler: having
6153        made copies of the signal context and siginfo on the foreign stack,
6154        don't pass the originals to interrupt_handler().
6155       
6156        (altstack_interrupt_handler() looks suspiciously like
6157        altstack_signal_handler(), which probably had the same bug a few
6158        months ago ...)
6159       
6160        Since the alternate signal stack (as we use it) isn't reentrant,
6161        the next signal (perhaps a suspend signal) overwrote the context.
6162        Which is one reason to have made a copy in the first place ...
6163
61642006-05-30 01:43  gb
6165
6166        * level-1/l1-lisp-threads.lisp: In THREAD-ENABLE, use the new
6167        %TIMED-WAIT-ON-SEMAPHORE-PTR; regardless of whether or not a
6168        timeout is a good idea here, make sure that the timeout isn't
6169        fooled by #$EINTR.
6170
61712006-05-30 01:39  gb
6172
6173        * level-1/linux-files.lisp: Rename the old
6174        %TIMED-WAIT-ON-SEMAPHORE-PTR to %PROCESS-WAIT-ON-SEMAPHORE-PTR,
6175        since it basically waits indefinitely.
6176       
6177        Split out the functionality in TIMED-WAIT-ON-SEMAPHORE into a new
6178        %TIMED-WAIT-ON-SEMAPHORE-PTR function, so that it's possible to do
6179        a "timed wait" that handles interruptions, etc. when the caller
6180        just has a "raw" (native) semaphore.
6181       
6182        Change callers, endure warnings.  New binaries soon.
6183
61842006-05-30 01:36  gb
6185
6186        * level-0/l0-misc.lisp: When waiting for a lock, use the new
6187        %PROCESS-WAIT-ON-SEMAPHORE-PTR.
6188
61892006-05-29 22:34  gb
6190
6191        * lisp-kernel/x86-exceptions.c: The
6192        clear_tcr_save_allocptr_tag_instruction opcode array was one byte
6193        too small ...
6194
61952006-05-29 14:03  gb
6196
6197        * level-1/linux-files.lisp: In %OS-GETCWD: don't trust
6198        syscall-based getcwd (it doesn't work as it once did/is documented
6199        to on linuxx8664); use the library function on all platforms.
6200
62012006-05-29 14:02  gb
6202
6203        * lisp-kernel/x86-exceptions.c: Clear interrupt_pending flag before
6204        processing interrupt.
6205
62062006-05-28 17:01  gb
6207
6208        * lisp-kernel/ppc-exceptions.c: If we handle a
6209        SIGNAL_FOR_PROCESS_INTERRUPT trap, clear tcr->interrupt_pending.
6210       
6211        Back out of the hack that tried to work around a Darwin bug (FP
6212        exception flags were cleared in the MSR after a thread had been
6213        interrupted via pthread_kill()), since the fix seems not to be
6214        GC-safe.
6215       
6216        Add some debugging code to print when the exception lock is
6217        acquired/released.
6218
62192006-05-28 01:10  gb
6220
6221        * level-1/solaris-files.lisp: long gone
6222
62232006-05-23 20:25  gb
6224
6225        * compiler/: PPC/ppc2.lisp, X86/x862.lisp: D'oh!
6226
62272006-05-22 22:59  gb
6228
6229        * darwin-headers/addressbook/: C/populate.sh, .cvsignore,
6230        C/.cvsignore: New file.
6231
62322006-05-22 22:57  gb
6233
6234        * level-1/l1-processes.lisp: PROCESS-SUSPEND: don't allow current
6235        thread to suspend itself.
6236
62372006-05-22 22:57  gb
6238
6239        * compiler/PPC/PPC64/ppc64-vinsns.lisp: Use the SP red zone to load
6240        SINGLE-FLOAT constants.
6241       
6242        SINGLE-FLOAT foreign args are stored in the low 32 bits of each
6243        64-bit arg word, regardless of whether they're also passed in
6244        f1-f13 as well.
6245
62462006-05-22 22:55  gb
6247
6248        * compiler/PPC/PPC64/ppc64-backend.lisp: Callback fixes:
6249        SINGLE-FLOATs passed in memory are passed in the low 32 bits of the
6250        64-bit word.
6251
62522006-05-22 22:54  gb
6253
6254        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Use the red zone (on SP)
6255        for LOAD-SINGLE-FLOAT-CONSTANT, LOAD-DOUBLE-FLOAT-CONSTANT.
6256
62572006-05-22 22:53  gb
6258
6259        * compiler/PPC/PPC32/ppc32-backend.lisp: "poweropen ABI" (Darwin)
6260        callback fixes: SINGLE-FLOATs passed in memory are passed as ...
6261        SINGLE-FLOATs, so don't use %GET-SINGLE-FLOAT-FROM-DOUBLE-PTR to
6262        access them.
6263
62642006-05-22 03:53  gb
6265
6266        * level-1/version.lisp: Bump.
6267
62682006-05-22 03:32  gb
6269
6270        * compiler/X86/X8664/x8664-vinsns.lisp: fixnum->float vinsns.
6271
62722006-05-22 03:31  gb
6273
6274        * compiler/X86/x862.lisp: Numeric contagion on binops,
6275        fixnum->float.
6276
62772006-05-22 03:29  gb
6278
6279        * compiler/PPC/ppc2.lisp: Do stupid self-tail-call tricks on PPC as
6280        well.
6281
62822006-05-22 03:28  gb
6283
6284        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Load tcr.cs-limit a little
6285        earlier when creating a stack frame inline.  Doesn't seem to affect
6286        latency much.
6287
62882006-05-22 03:27  gb
6289
6290        * compiler/X86/x862.lisp: Comment formatting on the first line of
6291        the file.
6292
62932006-05-22 03:26  gb
6294
6295        * compiler/nx0.lisp: Check argument counts on self-calls.  (AFAIK,
6296        this hasn't been done for at least 20 years in MCL/OpenMCL ...)
6297
62982006-05-21 07:34  gb
6299
6300        * compiler/X86/x862.lisp: Long-standing X862-COPY-REGISTER bug.
6301
63022006-05-21 07:32  gb
6303
6304        * compiler/PPC/ppc2.lisp: Implement (late) div2; use (simple)
6305        numeric-contagion stuff for arithmetic ops.
6306
63072006-05-21 07:31  gb
6308
6309        * compiler/nx1.lisp: Use div2 for /-2.
6310
63112006-05-21 07:31  gb
6312
6313        * compiler/nx0.lisp: Binop numeric contagion.
6314
63152006-05-21 06:49  gb
6316
6317        * compiler/nx0.lisp: ACODE-REAL-CONSTANT-P.
6318
63192006-05-21 06:49  gb
6320
6321        * compiler/PPC/ppc2.lisp: Weird case in ppc2-copy-register wasn't
6322        weird, just wrong.
6323
63242006-05-21 06:17  gb
6325
6326        * level-0/l0-pred.lisp: PPC64: %typep recognizes
6327        SIMPLE-FIXNUM-VECTORs.
6328
63292006-05-21 06:16  gb
6330
6331        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6332        Fixnum vector stuff.  FIXNUM->FPR uses SP red zone.
6333
63342006-05-21 06:16  gb
6335
6336        * compiler/PPC/PPC32/ppc32-arch.lisp,
6337        compiler/PPC/PPC64/ppc64-arch.lisp, lisp-kernel/ppc-constants64.h,
6338        lisp-kernel/ppc-constants64.s, lisp-kernel/ppc-spentry.s: Fixnum
6339        vector stuff.
6340
63412006-05-21 06:15  gb
6342
6343        * compiler/PPC/ppc2.lisp: %fixnum-to-single, %fixnum-to-double.
6344       
6345        Fixnum vector vref/vset.
6346
63472006-05-21 06:15  gb
6348
6349        * compiler/: nx1.lisp, nxenv.lisp: %fixnum-to-single,
6350        %fixnum-to-double.
6351
63522006-05-21 06:14  gb
6353
6354        * compiler/nx0.lisp: More operator result types.
6355
63562006-05-21 04:35  gb
6357
6358        * level-0/l0-array.lisp, level-0/l0-pred.lisp,
6359        level-1/l1-aprims.lisp, level-1/l1-clos-boot.lisp: Integrate
6360        specialized FIXNUM array-element-type into type system, CLOS.
6361        (Knock wood.)
6362
63632006-05-21 04:34  gb
6364
6365        * lisp-kernel/x86-spentry64.s: Support for (out-of-line)
6366        fixnum-vector access (.SPmisc_ref, .SPmisc_set).
6367
63682006-05-21 04:33  gb
6369
6370        * compiler/X86/X8664/x8664-arch.lisp,
6371        lisp-kernel/x86-constants64.h, lisp-kernel/x86-constants64.s: New
6372        subtag for :fixnum-vector.
6373
63742006-05-21 04:32  gb
6375
6376        * compiler/X86/x862.lisp: 64-bit vset wasn't handling non-constant
6377        indices correctly.
6378       
6379        64-bit vset, vref: handle :FIXNUM-VECTOR.
6380
63812006-05-21 00:22  gb
6382
6383        * level-0/l0-aprims.lisp: Spell istruct-typep correctly.
6384
63852006-05-20 18:13  gb
6386
6387        * compiler/X86/x862.lisp: Do some self-tail calls (fixed args, no
6388        stack args) without restoring/re-saving NVRs.
6389
63902006-05-19 15:07  gb
6391
6392        * level-1/linux-files.lisp: RUN-PROGRAM: waiting for the child's
6393        completion semaphore (when :WAIT is true) happens inside an
6394        UNWIND-PROTECT cleanup and therefore needs to explicitly allow
6395        interrupts.
6396
63972006-05-19 15:06  gb
6398
6399        * level-0/l0-aprims.lisp: Add SEMAPHOREP, make it a type-predicate
6400        for SEMAPHORE.
6401
64022006-05-19 12:23  gwking
6403
6404        * lib/misc.lisp: Added help and redisplay to select-item-from-list.
6405        Also changed it so that it displays all items before trying to get
6406        an answer.
6407
64082006-05-19 12:00  gwking
6409
6410        * .cvsignore: The *fsl wasn't cutting it for me..., take two
6411
64122006-05-19 11:57  gwking
6413
6414        * .cvsignore: The *fsl wasn't cutting it for me...
6415
64162006-05-19 11:50  gb
6417
6418        * level-1/version.lisp: Bump.
6419
64202006-05-19 11:49  gb
6421
6422        * level-1/l1-streams.lisp: Change the EVAL-WHEN that requires
6423        syscall definitions so that it can be moused on.
6424
64252006-05-19 11:48  gb
6426
6427        * compiler/X86/X8664/: x8664-arch.lisp, x8664-vinsns.lisp:
6428        .SPeabi-syscall -> .SPsyscall.
6429
64302006-05-19 11:45  gb
6431
6432        * compiler/X86/x862.lisp: Inline ADD2, unless we know that at least
6433        one arg couldn't be a fixnum.  (Should do the same for SUB2.) This
6434        does indeed burn cache lines, but going out of line isn't cheap
6435        either.  (100 million iterations of (+ x (+ y z)) - where X Y and Z
6436        are in fact fixnums and no overflow is involved - seems to be about
6437        2X faster when inlined this way.  Not sure if that'll be the case
6438        on PPC.)
6439
64402006-05-19 11:40  gb
6441
6442        * compiler/nx0.lisp: Use NX-TARGET-TYPE in some of the acode-type
6443        stuff.
6444
64452006-05-18 14:47  gb
6446
6447        * lisp-kernel/ppc-spentry.s: When unwinding the stack (hopefully,
6448        in all places that do so ...), update tcr.xframe from
6449        catch_frame.xframe on all execution paths (in particular, do so
6450        before SP is restored from the catch_frame, since a tcr.xframe
6451        "beyond" SP is clearly bogus.)
6452
64532006-05-18 02:34  gb
6454
6455        * level-1/version.lisp: Bump.
6456
64572006-05-17 23:12  gb
6458
6459        * compiler/PPC/ppc2.lisp: "late" acode-type stuff (add2/sub2/mul2)
6460        for PPC, too.
6461
64622006-05-17 22:53  gb
6463
6464        * level-0/X86/x86-float.lisp: %FP-ERROR-FROM-STATUS: don't cons an
6465        &REST arg.  Should do a quicker test (logandc2 and a shift) to see
6466        if any unmasked exceptions were raised before even calling this ...
6467
64682006-05-17 22:51  gb
6469
6470        * compiler/X86/X8664/x8664-vinsns.lisp: If we have to spill
6471        SINGLE-FLOAT registers, spill them (boxed) on the vstack.
6472
64732006-05-17 22:50  gb
6474
6475        * compiler/X86/x862.lisp: Work harder to find acode types in some
6476        cases.
6477
64782006-05-17 22:50  gb
6479
6480        * compiler/X86/x86-disassemble.lisp: Handle (new-style) byte
6481        registers in OP-REG.
6482       
6483        Don't want to use RET very often if at all, but disassembler should
6484        treat as as a :JUMP.
6485
64862006-05-17 22:48  gb
6487
6488        * compiler/nxenv.lisp: MUL2, DIV2.
6489
64902006-05-17 22:48  gb
6491
6492        * compiler/: nx0.lisp, nx1.lisp: A little of that there
6493        type-inferencing (or, more accurately, paying a little more
6494        attention here and there.)
6495
64962006-05-12 20:40  gwking
6497
6498        * examples/addressbook.lisp: added examples/addressbook.lisp
6499
65002006-05-11 18:42  gb
6501
6502        * level-1/l1-application.lisp: Stop processing command-line
6503        arguments when "--" is encountered; anything after that "--" is
6504        retained in CCL:*UNPROCESSED-COMMAND-LINE-ARGUMENTS*.
6505
65062006-05-11 18:42  gb
6507
6508        * lib/ccl-export-syms.lisp: Export command-line stuff
6509
65102006-05-11 18:40  gb
6511
6512        * level-1/l1-processes.lisp: Lennart Staflin's fix to PRINT-OBJECT
6513        method for LOCKs.
6514
65152006-05-11 18:39  gb
6516
6517        * level-1/l1-files.lisp: In %DIFECTORY-LIST-NAMESTRING: all strings
6518        are base-strings (and always have been in OpenMCL.)
6519
65202006-05-11 18:37  gb
6521
6522        * level-1/l1-sockets.lisp: CCL:BASE-CHARACTER -> CL:BASE-CHAR.
6523
65242006-05-11 08:11  gwking
6525
6526        * lib/db-io.lisp: Added a check that the directory exists to
6527        fid-open-output in order to make it clearer what is wrong when one
6528        is unable to rebuild interface files because they are trying to do
6529        so in a place without FFI files to read!
6530
65312006-05-11 05:14  gb
6532
6533        * level-1/version.lisp, lisp-kernel/image.h, xdump/heap-image.lisp:
6534        Bump lisp-implementation-version, image-abi-version.
6535
65362006-05-11 05:04  gb
6537
6538        * xdump/faslenv.lisp: Bump (min) fasl version.
6539
65402006-05-11 04:52  gb
6541
6542        * lib/nfcomp.lisp: Bump (current) FASL version.
6543
65442006-05-11 04:52  gb
6545
6546        * level-1/l1-files.lisp: FASL-FILE-P looks for inital #xFF00
6547        (big-endian) instead of just #xff, to avoid UTF-16 BOM confusion.
6548
65492006-05-11 04:35  gb
6550
6551        * xdump/faslenv.lisp: Bump (max) fasl version.
6552
65532006-05-11 04:32  gb
6554
6555        * compiler/X86/X8664/x8664-backend.lisp: Little-endianness is a
6556        target-specific feature.
6557
65582006-05-11 03:35  gb
6559
6560        * compiler/PPC/PPC32/ppc32-arch.lisp,
6561        compiler/PPC/PPC32/ppc32-vinsns.lisp, level-0/l0-array.lisp,
6562        level-0/l0-pred.lisp, level-0/PPC/ppc-array.lisp,
6563        level-1/l1-aprims.lisp, level-1/l1-clos-boot.lisp,
6564        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
6565        lisp-kernel/ppc-spentry.s, xdump/xppcfasload.lisp: Juggle PPC32
6566        typecodes around: get rid of the (unused) old 16-bit string; add an
6567        (as yet unused) UCS-4 string type.
6568       
6569        These changes generally involve cross-compilation (or some very
6570        tricky bootstrapping that I didn't attempt)  FASL versions and
6571        kernel ABI versions will need to change, and new binaries will be
6572        made available soon.
6573
65742006-05-10 20:20  gb
6575
6576        * compiler/PPC/ppc-lapmacros.lisp,
6577        compiler/PPC/PPC32/ppc32-arch.lisp,
6578        compiler/PPC/PPC32/ppc32-vinsns.lisp,
6579        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s:
6580        Change CHARCODE-SHIFT constant on PPC32, so that the (currently
6581        8-bit) character code is stored in the #x0000xx00 byte of a
6582        CHARACTER, rather than in the #x00xx0000 byte,  This is hard to
6583        bootstrap natively (which is why I was trying to make ppc64->ppc32
6584        cross-compilation work.)
6585       
6586        Change related macros/visnsns as well.
6587
65882006-05-10 19:00  gb
6589
6590        * xdump/xppcfasload.lisp: Reintroduce a TARGET-ARCH-CASE, but I
6591        think that this is just hard to do right the way that it's being
6592        done.
6593
65942006-05-10 18:59  gb
6595
6596        * level-1/ppc-threads-utils.lisp: BOGUS-THING-P is hard to do right
6597        when cross-compiling (because word-size differences aren't handled
6598        correctly by macros.)  Until the macros are fixed, don't even try
6599        ...
6600
66012006-05-10 18:58  gb
6602
6603        * level-1/l1-clos-boot.lisp: In NEW-CLASS-WRAPPER-HASH-INDEX, user
6604        target::target-most-positive-fixnum (not the host's
6605        MOST-POSITIVE-FIXNUM).
6606
66072006-05-10 18:57  gb
6608
6609        * compiler/: nx0.lisp, nx1.lisp: Use NX-TARGET-TYPE in at least a
6610        few places.
6611
66122006-05-10 18:56  gb
6613
6614        * compiler/nx.lisp: XCOMPILE-LAMBDA binds *TARGET-BACKEND*.
6615
66162006-05-10 18:55  gb
6617
6618        * compiler/nx-basic.lisp: NX-TARGET-TYPE: there may be other
6619        differences between host and target types, but try to turn
6620        references to FIXNUM to the appropriate target-specific type.
6621
66222006-05-09 21:01  gb
6623
6624        * compiler/PPC/PPC32/ppc32-vinsns.lisp: UNBOX-BASE-CHAR just checks
6625        that the lowbyte is SUBTAG-CHARACTER; it used to rotate things
6626        around to check the high bits of the char code, but all chars have
6627        been base-chars for several years now ...
6628       
6629        UNBOX-CHARACTER was unused.
6630       
6631        (This is the first step of what may be several bootstrapping steps
6632        to change PPC32::CHARCODE-SHIFT from 16 to 8, so that we have 24
6633        easily-accessed char-code bits on PPC32.)
6634
66352006-05-09 11:48  gb
6636
6637        * lisp-kernel/xlbt.c: No psn in cs_area.
6638
66392006-05-09 02:42  gb
6640
6641        * lisp-kernel/: gc.h, ppc-gc.c: Back out of the extra Boolean arg
6642        to mark_simple_area_range().
6643
66442006-05-09 02:33  gb
6645
6646        * compiler/PPC/: PPC32/ppc32-backend.lisp,
6647        PPC64/ppc64-backend.lisp: Endianness is also target-specific.
6648
66492006-05-09 02:25  gb
6650
6651        * lisp-kernel/thread_manager.c: Thread stack areas are "owned by"
6652        the containing TCR, to make low-level debugging a bit easier.
6653
66542006-05-09 02:25  gb
6655
6656        * lisp-kernel/ppc-gc.c: Mostly some added consistency/sanity checks
6657        and debugging printfs.
6658
66592006-05-09 02:24  gb
6660
6661        * lisp-kernel/ppc-exceptions.h: Note that pc_luser_xp() needs an
6662        extra (signed_natural *) arg, for allocptr displacement.
6663
66642006-05-09 02:23  gb
6665
6666        * lisp-kernel/ppc-exceptions.c: Lots of #ifdef DEBUG fprintfs.
6667       
6668        Change the way that pc_luser_xp() and normalize_tcr() handle alloc
6669        regs/ saved TCR fields.  The general idea is that the after they
6670        run, all threads have tcr->save_allocptr/tcr_save_allocbase set to
6671        VOID_ALLOCPTR; if the thread was interrupted in lisp code, the
6672        allocbase register will be set to VOID_ALLOCPTR and allocptr will
6673        be set to either VOID_ALLOCPTR or to VOID_ALLOCPTR-disp.
6674       
6675        On an interrupt, the caller needs to pass in a signed_natural * to
6676        pick up the allocptr displacement (if consing was interrupted at
6677        the alloc trap); the interrupt handler uses this value to fix up
6678        alloptr when it returns if consing was interrupted.
6679       
6680        This is all pretty clearly right, but something still goes wrong
6681        under some combination of high thread stress, frequent allocation,
6682        and blocking ff-calls.
6683
66842006-05-09 02:17  gb
6685
6686        * lisp-kernel/plbt.c: No psn currently available.
6687
66882006-05-09 02:16  gb
6689
6690        * lisp-kernel/lisp-debug.c: Bug() passes xp to lisp_Debugger(),
6691        where it may come in handy ...
6692
66932006-05-09 02:16  gb
6694
6695        * lisp-kernel/gc.h: mark_simple_area_range() takes an added Boolean
6696        arg.
6697
66982006-05-09 02:13  gb
6699
6700        * lisp-kernel/area.h: area struct's owner is a (TCR *).
6701
67022006-05-09 02:12  gb
6703
6704        * level-1/l1-error-system.lisp: $xfunbnd was used after all.
6705        Restore it.
6706
67072006-05-09 02:12  gb
6708
6709        * level-0/l0-error.lisp, library/lispequ.lisp,
6710        lisp-kernel/errors.s: $xfunbnd was used after all.  Restore it, and
6711        recycle $XNOCDR.
6712
67132006-05-09 02:11  gb
6714
6715        * compiler/PPC/PPC64/ppc64-backend.lisp: :64-bit-target is ...
6716        target-specific.
6717
67182006-05-09 02:11  gb
6719
6720        * compiler/PPC/PPC32/ppc32-backend.lisp: :32-bit-target is ...
6721        target-specific.
6722
67232006-05-09 00:40  gb
6724
6725        * level-1/l1-lisp-threads.lisp: Foreign thread callback stuff moved
6726        here.
6727
67282006-05-09 00:39  gb
6729
6730        * level-1/x86-threads-utils.lisp: Support for BOGUS-THING-P on
6731        x8664.
6732
67332006-05-09 00:39  gb
6734
6735        * level-1/ppc-threads-utils.lisp: Move foreign-thread callback
6736        stuff up to l1-lisp-threads.lisp.
6737
67382006-05-08 22:58  gb
6739
6740        * lisp-kernel/ppc-spentry.s: misc_ref/misc_set jump tables on PPC64
6741        handle array and vector headers.
6742
67432006-05-08 22:57  gb
6744
6745        * library/lispequ.lisp: Synch errors $xbadvec, $xsetbadvec (neither
6746        of which should ever happen) with the kernel.
6747
67482006-05-08 22:56  gb
6749
6750        * level-1/l1-processes.lisp: %PROCESS-PRESET-INTERNAL doesn't need
6751        the TCR either.
6752
67532006-05-08 22:55  gb
6754
6755        * level-1/l1-error-system.lisp: $XFUNBND is no more.
6756
67572006-05-08 22:55  gb
6758
6759        * level-0/l0-error.lisp: Define the format strings for $xbadvec,
6760        $xsetbadvec.
6761
67622006-05-08 03:26  gb
6763
6764        * lisp-kernel/x86-spentry64.s: .SPstkconslist_star: ensure that
6765        flags are set to the result of decrementing %nargs at the end of
6766        the loop.
6767
67682006-05-08 03:25  gb
6769
6770        * level-1/x86-error-signal.lisp: uuo-error-udf: %err-disp-internal
6771        wants a list of condition args, not a single arg.
6772
67732006-05-08 03:24  gb
6774
6775        * level-1/l1-processes.lisp: %PROCESS-PRESET-INTERNAL doesn't need
6776        CS-AREA.
6777
67782006-05-08 03:23  gb
6779
6780        * level-0/X86/x86-symbol.lisp: %FUNCTION: signal error via
6781        uuo_error_udf, not as a type error.
6782
67832006-05-07 16:50  gb
6784
6785        * lib/describe.lisp: INSPECTOR objects haven't had FORWARDED-P
6786        slots in a long time (they probably haven't -needed- them in even
6787        longer; I think that this had to do with the old partial MOP.)
6788        Don't define the slot for FUNCTION-INSPECTOR, and don't call the
6789        accessor in STANDARD-OBJECT-SETF-LINE-N.
6790
67912006-05-07 04:39  gb
6792
6793        * x86-headers64/gtk2/: .cvsignore, C/.cvsignore, C/populate.sh: New
6794        file.
6795
67962006-05-07 04:34  gb
6797
6798        * lisp-kernel/: area.h, lisp_globals.h, memory.c, pmcl-kernel.c,
6799        thread_manager.c: Combine the AREA_LOCK and TCR_LOCK into a single
6800        lock (TCR_AREA_LOCK).  (This makes it a little harder to deadlock
6801        if code that wants both locks isn't careful to try to obtain them
6802        in some canonical order.)
6803
68042006-05-07 04:29  gb
6805
6806        * lib/x86-backtrace.lisp: Finally find those pesky registers.
6807
68082006-05-07 04:29  gb
6809
6810        * level-1/x86-threads-utils.lisp: Stub BOGUS-THING-P moves here.
6811
68122006-05-07 04:28  gb
6813
6814        * level-0/l0-cfm-support.lisp: FOREIGN-SYMBOL-ENTRY: return NIL if
6815        xFindSymbol/dlsym returns 0 on x8664.
6816
68172006-05-07 04:27  gb
6818
6819        * compiler/X86/: x86-lapmacros.lisp, X8664/x8664-vinsns.lisp: Use
6820        PSRLQ/PSLLQ for single-float boxing/unboxing.  (A few months ago,
6821        I'd mistakenly decided that it was faster to go through memory than
6822        to use these instructions.  It seems to actually be substantially
6823        slower, as one would expect.)
6824
68252006-05-07 04:25  gb
6826
6827        * compiler/X86/x86-asm.lisp: Add support for
6828        PSRLQ/PSRLDQ/PSLLQ/PSLLDQ (sse2 shifts.)
6829
68302006-05-07 04:21  gb
6831
6832        * library/hash-cons.lisp: Fix doc in comments.
6833
68342006-05-07 04:21  gb
6835
6836        * lib/ppc-backtrace.lisp: GET/SET-REGISTER-VALUE.
6837
68382006-05-07 04:20  gb
6839
6840        * lib/format.lisp: YES-OR-NO-P: bell goes to *QUERY-IO*.
6841
68422006-05-07 04:19  gb
6843
6844        * lib/backtrace-lds.lisp: Move GET/SET-REGISTER-VALUE to
6845        TARGET-backtrace.lisp.
6846
68472006-05-07 04:18  gb
6848
6849        * level-1/l1-lisp-threads.lisp: Move (implementation-dependent)
6850        BOGUS-THING-P to TARGET-thread-utils.lisp.
6851
68522006-05-07 04:17  gb
6853
6854        * level-1/ppc-threads-utils.lisp: Move (implementation-dependent)
6855        BOGUS-THING-P support here.
6856
68572006-05-07 04:16  gb
6858
6859        * level-1/l1-processes.lisp: Don't set "owner" field of tcr.cs_area
6860        to psn.
6861
68622006-05-06 15:27  gb
6863
6864        * compiler/nx1.lisp: Ash left by constant: prefer the fixnum case
6865        to the "natural" case.
6866
68672006-05-06 15:26  gb
6868
6869        * compiler/X86/x862.lisp: Pass the right number of args to
6870        NATURAL-SHIFT-LEFT and NATURAL-SHIFT-RIGHT.
6871
68722006-05-06 15:26  gb
6873
6874        * compiler/X86/X8664/x8664-vinsns.lisp: Indentation.
6875
68762006-05-06 02:09  gb
6877
6878        * lisp-kernel/thread_manager.c: Let's see: if thread X holds local
6879        A and tries to obtain lock B, and thread Y holds lock B and tries
6880        to obtain lock A, what is that a classic case of ?
6881       
6882        Try to avoid that classic deadlock case in shutdown_thread_tcr()
6883        when HAVE_TLS is in effect.  suspend_other_threads wants to hold
6884        two locks at the same time, and that's always a bit dangerous; it
6885        might be safer to merge TCR_LOCK and AREA_LOCK into a single lock
6886        that must be owned in order to manipulate either the tcr or area
6887        queues.
6888
68892006-05-06 02:04  gb
6890
6891        * level-1/linux-files.lisp: Make (%REALPATH "") behave like
6892        %REALPATH of the current directory namestring, as it does by
6893        default on some platforms (but not Linux.)
6894
68952006-05-05 20:08  gb
6896
6897        * compiler/X86/x862.lisp: x862-ff-call: really implement the
6898        simple-foreign-args stuff.  Box u64/s64, or don't ... but don't do
6899        the el-bizarro <- with a (temp) node target.
6900
69012006-05-05 20:06  gb
6902
6903        * lib/x86-backtrace.lisp: Get PC-FROM-XCF right (it needs to be
6904        relative to the tagged entrypoint, not to the start of the
6905        underlying function-vector.)
6906
69072006-05-05 13:24  gb
6908
6909        * lisp-kernel/x86-spentry64.s: Preserve NEXT-METHOD-CONTEXT when
6910        heap-consing an &REST arg.  (%allocptr and %next-method-context are
6911        the same register, so &rest clobbbers %next-method-context.)
6912       
6913        Could make separate entry points, so that this is only done when
6914        %next-method-context needs to be preserved ...
6915
69162006-05-05 13:21  gb
6917
6918        * level-0/X86/x86-def.lisp: Use RESERVED-FRAME-MARKER.
6919
69202006-05-05 02:23  gb
6921
6922        * freebsd-headers64/libc/C/populate.sh: New file.  Needs some work.
6923
69242006-05-05 02:23  gb
6925
6926        * freebsd-headers64/libc/: .cvsignore, C/.cvsignore: New file.
6927
69282006-05-05 01:37  gb
6929
6930        * level-1/version.lisp: Bump du jour.
6931
69322006-05-05 01:36  gb
6933
6934        * level-0/X86/x86-def.lisp: %FF-CALL: maintain the distinction
6935        between the first 6 words of the outgoing frame (from which GPRs
6936        will be loaded) and other words (which stay on the stack); after
6937        the first 8 FP args, floats have to be passed on the stack, even if
6938        there's still room in the first 6 words of the outgoing frame.
6939       
6940        Need to understand the struct-by-value rules better: can a struct
6941        be passed partly in registers and partly on the stack ? RTFM (or,
6942        in this case, TF ABI spec.)
6943
69442006-05-05 01:31  gb
6945
6946        * compiler/X86/x862.lisp: In X862-FF-CALL:  - the general integer
6947        case should store relative to "other-offset" (rather than   
6948        "gpr-offset") when more than 6 (not 8) GPR args have been passed. 
6949        - both the single and double-float cases were incrementing
6950        "other-offset"     twice when more than 8 FP args were involved.
6951        This had the effect of     storing floats into every other word and
6952        writing beyond the bounds of     the outgoing stack frame, possibly
6953        overwriting return addresses on the     foreign stack.
6954
69552006-05-04 23:12  gb
6956
6957        * level-1/l1-streams.lisp: James Bielman's fix to
6958        READ-TOPLEVEL-FORM (INPUT-STREAM) (EOF handling/peek-char.)
6959
69602006-05-04 18:30  gb
6961
6962        * compiler/X86/X8664/x8664-backend.lisp: When binding FP args,
6963        decrement FPR-ARG-OFFSET by 8, not -8.
6964       
6965        (This could cause values outside of the stack frame to be read, but
6966        I still haven't found what's writing beyond the frame bounds.)
6967
69682006-05-04 18:27  gb
6969
6970        * lib/x86-backtrace.lisp: If its argument is an exception callback
6971        frame, %CFP-LFUN tries to determine the relative PC associated with
6972        the frame's nominal function and return that as a second value
6973        (just as it does for a real frame.)
6974       
6975        I think that this should work a high percentage of the time, but
6976        callers should generally be prepared to deal with a NULL second
6977        return value from %CFP-LFUN.
6978
69792006-05-04 11:12  gb
6980
6981        * compiler/X86/X8664/x8664-backend.lisp: More callback issues:
6982        since we're using the same stack pointer to return values as we are
6983        to find arguments, don't try to "optimize" its initialization.
6984
69852006-05-03 18:52  gb
6986
6987        * compiler/X86/X8664/x8664-backend.lisp: Clean  up x8664 callbacks
6988        a little.  Don't coerce single float results to double; bind
6989        stack-ptr variable even if no args (might be a return value form
6990        that references it.) Failure to do the latter was creating a weird
6991        free variable reference that wasn't handled by the fasloader.
6992
69932006-05-03 18:50  gb
6994
6995        * level-0/nfasload.lisp: $fasl-vmksym-special wasn't implemented.
6996
69972006-05-03 18:49  gb
6998
6999        * lib/nfcomp.lisp: Indent a comment.
7000
70012006-05-03 18:16  gb
7002
7003        * compiler/X86/x862.lisp, level-0/X86/x86-def.lisp: In an %FF-CALL
7004        that might involve a variable-length arglist (at this level,
7005        always), set %rax to the number (0-8) of FP arguments passed in xmm
7006        registers.
7007
70082006-05-03 13:26  gb
7009
7010        * lisp-kernel/x86-exceptions.c: In find_foreign_rsp(), mask with
7011        ~15, not ~!5.  (This was causing segfaults on return from
7012        interrupts sometimes.)
7013
70142006-05-03 13:24  gb
7015
7016        * lib/backtrace.lisp: CLOSURE-CLOSED-OVER-VALUES, which is needed
7017        by SWANK/SLIME.
7018
70192006-05-03 13:23  gb
7020
7021        * lib/backtrace-lds.lisp: FRAME-SUPPLIED-ARGS, hopefully in a form
7022        that'll work on all platforms.  (Note that FRAME-SUPPLIED-ARGS
7023        seems to get many things wrong.)
7024
70252006-05-03 11:37  gb
7026
7027        * level-1/version.lisp: You mist have yesterday's version.
7028
70292006-05-03 11:37  gb
7030
7031        * level-0/X86/x86-def.lisp: Implement #'%FF-CALL.  Not too much
7032        LAP.
7033
70342006-05-03 11:36  gb
7035
7036        * level-0/l0-init.lisp: Put :X86-64 and :AMD64 on *FEATURES* if
7037        #+x8664-target.
7038
70392006-05-03 11:36  gb
7040
7041        * compiler/X86/X8664/x8664-vinsns.lisp: Bad typo in UNBOX-S64, and
7042        it can just check for a 2-digit bignum header if it has something
7043        of tag TAG-MISC.
7044
70452006-05-03 11:34  gb
7046
7047        * compiler/X86/x862.lisp: X862-COPY-REGISTER: handle :S64
7048        destinations.
7049
70502006-05-03 11:33  gb
7051
7052        * compiler/X86/x86-disassemble.lisp: Recognize
7053        uuo-error-eep-unresolved.
7054
70552006-05-02 18:07  gb
7056
7057        * level-1/version.lisp: Bump.
7058
70592006-05-02 18:07  gb
7060
7061        * lib/: backtrace-lds.lisp, describe.lisp: Comment out stuff that's
7062        (mostly ?) unused and currently PPC-specific, if it works at all
7063        ...
7064
70652006-05-02 10:27  gb
7066
7067        * level-1/l1-streams.lisp: Don't definea STREAM-CLEAR-INPUT method
7068        for STRING-INPUT-STREAMs; it's not clear what such a method should
7069        do (and fairly clear that it shouldn't do what the previous
7070        definition was doing.)
7071
70722006-05-02 10:26  gb
7073
7074        * lib/format.lisp: clear input from *query-io*, not from
7075        *terminal-io* in YES-OR-NO-P, Y-OR-N-P
7076
70772006-05-02 10:26  gb
7078
7079        * library/hash-cons.lisp: x8664 lap
7080
70812006-05-02 10:26  gb
7082
7083        * lisp-kernel/x86-gc.c: hons area stuff
7084
70852006-04-29 09:14  gb
7086
7087        * lisp-kernel/x86-exceptions.c: Write-protect handlers for stack
7088        overflow (on value/temp stacks).
7089
70902006-04-29 09:13  gb
7091
7092        * level-1/x86-trap-support.lisp: Handle stack overflow in cmain
7093        callback.
7094
70952006-04-29 09:10  gb
7096
7097        * lisp-kernel/freebsd8664/Makefile: x86-gc.o.
7098       
7099        No linker script.
7100       
7101        Use -lthr, which offers 1:1 threads.
7102
71032006-04-29 09:09  gb
7104
7105        * lisp-kernel/lisptypes.h: Remove the __sighandler typedef.
7106
71072006-04-29 09:01  gb
7108
7109        * lisp-kernel/x86-exceptions.h: xpMMXreg for FreeBSD.
7110
71112006-04-29 09:00  gb
7112
7113        * lisp-kernel/x86-exceptions.c: Don't use __sighandler_t.  (See if
7114        anything cares ...)
7115
71162006-04-29 08:59  gb
7117
7118        * lisp-kernel/x86-constants64.h: FreeBSD register constants.
7119
71202006-04-29 08:58  gb
7121
7122        * lisp-kernel/lisp-debug.c: FreeBSD regiser names.
7123
71242006-04-29 08:58  gb
7125
7126        * lisp-kernel/area.h: Update IMAGE_BASE_ADDRESS for FreeBSD.
7127
71282006-04-28 21:28  gb
7129
7130        * level-1/version.lisp: bump.
7131
71322006-04-28 21:27  gb
7133
7134        * lib/backtrace.lisp: changes to print-call-history (and "internal"
7135        version).
7136
71372006-04-28 21:24  gb
7138
7139        * lib/ppc-backtrace.lisp: Fix typo.
7140
71412006-04-28 21:23  gb
7142
7143        * level-1/l1-readloop-lds.lisp: Add :NFRAMES break loop command.
7144       
7145        Change the command/keyword parser a little, so that :FOO is just
7146        :FOO and not (:FOO).
7147       
7148        Change :B break loop command (and :F) to allow focusing on a range
7149        of frames, and change PRINT-CALL-HISTORY to more easily support
7150        that.
7151
71522006-04-28 19:37  gb
7153
7154        * level-0/PPC/ppc-numbers.lisp: Remove a quote from a LAP
7155        LOAD-CONSTANT form.
7156
71572006-04-28 19:34  gb
7158
7159        * lib/: backtrace.lisp, ppc-backtrace.lisp, x86-backtrace.lisp:
7160        Factor out a little more.  Time to see what's broken on PPC ...
7161
71622006-04-28 19:34  gb
7163
7164        * level-1/: l1-readloop-lds.lisp, l1-streams.lisp: Make parens
7165        around colon-commands optional.
7166
71672006-04-28 04:11  gb
7168
7169        * lisp-kernel/linuxx8664/.gdbinit: 'lregs' calls the kernel
7170        debugger's register display code.
7171
71722006-04-28 04:11  gb
7173
7174        * lisp-kernel/xlbt.c: Don't claim that the (legitimate) last frame
7175        on the stack is bogus.
7176
71772006-04-28 04:10  gb
7178
7179        * lisp-kernel/x86-exceptions.c: Create fake stack frames (sort of
7180        ...) when calling back for an exception.
7181
71822006-04-28 03:36  gb
7183
7184        * lisp-kernel/x86-constants64.h: A few symbolic register names.
7185       
7186        xcf struct.
7187
71882006-04-28 03:36  gb
7189
7190        * library/lispequ.lisp: FAKE-STACK-FRAME is #+ppc-target.
7191
71922006-04-28 03:36  gb
7193
7194        * lib/x86-backtrace.lisp: Implemented some stuff.
7195       
7196        Backtrace (sort of) works on x8664 now; need to find register
7197        values,  hide tagged return addresses, a few other things.
7198
71992006-04-28 03:34  gb
7200
7201        * lib/ppc-backtrace.lisp: Stuff moved here from elsewhere.
7202
72032006-04-28 03:34  gb
7204
7205        * lib/backtrace-lds.lisp: LAST-CATCH-SINCE moved elsewhere.
7206
72072006-04-28 03:33  gb
7208
7209        * level-1/x86-trap-support.lisp: Flags register accessor.
7210       
7211        New exception callback scheme.
7212
72132006-04-28 03:33  gb
7214
7215        * level-1/x86-threads-utils.lisp: The lowlevel system keeps
7216        changing.
7217
72182006-04-28 03:32  gb
7219
7220        * level-1/x86-error-signal.lisp: New exception callback stuff.
7221
72222006-04-28 03:32  gb
7223
7224        * level-1/l1-readloop-lds.lisp: No fake stack frames on x86.
7225
72262006-04-28 03:32  gb
7227
7228        * level-1/l1-lisp-threads.lisp: Move more stuff to arch-specific
7229        files.
7230
72312006-04-28 03:31  gb
7232
7233        * level-1/l1-events.lisp: No fake-stack-frames on x86, but we do
7234        have exception callback frames ...
7235
72362006-04-28 03:30  gb
7237
7238        * level-1/l1-error-system.lisp: Tweak :report method for
7239        wrong-number-of-args errors.
7240
72412006-04-28 03:30  gb
7242
7243        * level-0/X86/x86-def.lisp: Implement APPLY+.
7244
72452006-04-28 03:29  gb
7246
7247        * compiler/X86/X8664/x8664-arch.lisp: eXception Callback Frame.
7248
72492006-04-28 03:27  gb
7250
7251        * compiler/X86/x86-lapmacros.lisp: Add missing IN-PACKAGE.
7252       
7253        CHECK-NARGS: don't enforce upper bound if it's null.
7254
72552006-04-28 03:17  gb
7256
7257        * compiler/X86/x86-arch.lisp: x86 xFLAGS bits.
7258
72592006-04-28 03:16  gb
7260
7261        * compiler/nx0.lisp: Allow (FUNCTION (SETF name)) in
7262        IGNORE/IGNORABLE/DYNAMIC-EXTENT declarations.
7263
72642006-04-26 14:18  gb
7265
7266        * compiler/nx0.lisp: Allow (SETF NAME) in DEFINE-COMPILER-MACRO.
7267
72682006-04-26 14:17  gb
7269
7270        * lib/misc.lisp: Disassemble is supposed to signal an error (or "be
7271        prepared" to do so) if its argument isn't a function designator, so
7272        don't quietly call METHOD-FUNCTION for the user.
7273
72742006-04-26 13:56  gb
7275
7276        * lib/encapsulate.lisp: Use REPLACE-FUNCTION-CODE (not (SETF (UVREF
7277        ...))) in ENCAPSULATE, REMOVE-ENCAPSULATION.
7278
72792006-04-26 03:59  gb
7280
7281        * lisp-kernel/: x86-spentry64.s, x86-subprims64.s: zero out the
7282        exception bits whenever mxcsr is stored in tcr.foreign_mxcsr, so no
7283        exceptions will be pending when we start an ff-call (and the mxcsr
7284        is loaded from that location.)
7285       
7286        tcr.ffi_exception will then contain non-zero exception bits iff the
7287        most recent ff-call raised a (probably masked) FP exception.
7288       
7289        TODO: make this reentrant (PROCESS-INTERRUPT should preserve this.)
7290
72912006-04-26 03:55  gb
7292
7293        * lisp-kernel/x86-constants.s: define mxcsr exception bits.
7294
72952006-04-26 03:23  gb
7296
7297        * lisp-kernel/x86-constants64.s: Update comment on
7298        tcr.ffi_exception.
7299
73002006-04-26 03:22  gb
7301
7302        * lisp-kernel/x86-spentry64.s: Maintain tcr.ffi_exception on return
7303        from ffcall.  (Should maybe clear exception bits on entry to
7304        foreign state, so we're sure that any exception bits set in the
7305        tcr.ffi_exception slot were caused by the most recent ff-call.)
7306
73072006-04-26 03:20  gb
7308
7309        * level-0/X86/x86-float.lisp: Check MXCSR status bits from last
7310        ffcall, compare them to unmasked exception bits in current MXCSR,
7311        maybe raise FP exception.  (Note: compile this change and rebuild
7312        image before making corresponding kernel change.)
7313
73142006-04-26 02:31  gb
7315
7316        * lisp-kernel/x86-spentry64.s: .SPbuiltin-logxor was calling out to
7317        LOGAND-2, not to LOGXOR-2.  Sheesh.
7318
73192006-04-26 02:01  gb
7320
7321        * compiler/X86/X8664/x8664-vinsns.lisp: %ILOGBITP treats "large"
7322        bit numbers as tests of the sign bit.   (This is probably best
7323        viewed as being "formally undefined", but it's not too expensive to
7324        check for that.  The case where the bit number's negative is
7325        definitely undefined; I think that it also gets treated as a test
7326        of the sign bit.)
7327
73282006-04-26 01:58  gb
7329
7330        * lisp-kernel/x86-spentry64.s: Logbitp calls out if bit number
7331        negative.
7332
73332006-04-26 01:32  gb
7334
7335        * lisp-kernel/x86-spentry64.s: If both args fixnums, handle bits >=
7336        61.  (Should check here for negative bit .)
7337
73382006-04-26 01:31  gb
7339
7340        * lisp-kernel/x86-exceptions.c: If we get the "no FP regs in
7341        context" error - which typically indicates a fault during exception
7342        processing - pass the context in to the kernel debugger.
7343
73442006-04-26 01:30  gb
7345
7346        * level-0/X86/x86-pred.lisp: Change EQL doc string.
7347
73482006-04-26 00:56  gb
7349
7350        * level-0/X86/x86-pred.lisp: EQL on two bignums works much better
7351        if it compares all corresponding digits, rather than repeatedly
7352        comparing the 0th digits N times ...
7353
73542006-04-25 17:38  gb
7355
7356        * lisp-kernel/x86-spentry64.s: _SPmvslide: skip the loop if nargs
7357        is 0, not if disp is 0.  ash: always make a signed integer out of
7358        the result,  since arg is always signed.
7359
73602006-04-25 17:37  gb
7361
7362        * level-0/X86/x86-float.lisp: Negate floats by fliping the sign
7363        bit, so (for instance) (- 0.0d0) is -0.0d0.
7364
73652006-04-25 17:36  gb
7366
7367        * level-0/X86/x86-hash.lisp: Hash bignums 32 bits (not 64!) at a
7368        time.
7369
73702006-04-25 17:35  gb
7371
7372        * compiler/X86/x862.lisp: %%INEG: need to ensure that source
7373        operand is in target reg (2-address issue.)
7374
73752006-04-24 16:42  gb
7376
7377        * lisp-kernel/x86-spentry64.s: How hard can misc_set_s32 be ?
7378        Apparently, pretty hard.  It was doing a logical shift right when
7379        typechecking the value, so negative values were rejected.
7380
73812006-04-24 16:41  gb
7382
7383        * lisp-kernel/x86-exceptions.c: Call out to handle SIGFPE.  cmain
7384        callback now takes a 'signo' argument.
7385
73862006-04-24 16:40  gb
7387
7388        * level-1/x86-trap-support.lisp: Initial support for handling
7389        arithmetic errors.  Will need more work to get operation and
7390        operands right.
7391
73922006-04-24 16:39  gb
7393
7394        * lib/compile-ccl.lisp: REBUILD-CCL: :reload arg defaults to T.
7395
73962006-04-24 13:58  gb
7397
7398        * level-1/x86-error-signal.lisp: SETQ (not #'SET) in the
7399        uuo-error-reg-not-type case.
7400
74012006-04-24 13:57  gb
7402
7403        * level-0/X86/x86-float.lisp: Generally want to use FPZERO, not
7404        FP0, for 0.0[d,f]0.  (One case wanted to use fp1, but that's
7405        another story.)
7406
74072006-04-24 13:55  gb
7408
7409        * compiler/X86/X8664/x8664-vinsns.lisp: REQUIRE-REAL,
7410        REQUIRE-NUMBER: mask wont fit in 32 bits.  OTOH, doesn't need to be
7411        boxed, either.
7412
74132006-04-24 12:02  gb
7414
7415        * lisp-kernel/x86-spentry64.s: misc_set_s32: register botch.
7416        _SPtcallnfngen: several bugs, which were already fixed in similar
7417        variants.
7418
74192006-04-24 12:01  gb
7420
7421        * lisp-kernel/x86-gc.c: Use FORCE_DWS_MARK to force use of the
7422        Deutch/Waite/Schorr marker.
7423
74242006-04-24 12:00  gb
7425
7426        * lisp-kernel/pmcl-kernel.c: Only turn on GC debug bit if
7427        GC_INTEGRITY_CHECKING is defined (e.g., in Makefile.)
7428
74292006-04-24 11:59  gb
7430
7431        * level-1/linux-files.lisp: Remove debugging FORMAT call.
7432
74332006-04-24 11:58  gb
7434
7435        * level-0/X86/x86-numbers.lisp: %ROUND-NEAREST-SHORT-FLOAT->FIXNUM:
7436        argument is a SINGLE/SHORT-FLOAT, so don't access as a
7437        DOUBLE-FLOAT.
7438
74392006-04-24 11:58  gb
7440
7441        * level-0/X86/x86-float.lisp: %MAKE-FLOAT-FROM-FIXNUMS: mask the
7442        high and low words of the mantissa, to ensure that no hidden bits
7443        are set.  (Some such bits were set, causing many double-float
7444        constansts - like MOST-POSITVE-DOUBLE-FLOAT - to be bogus NaNs).
7445
74462006-04-24 02:21  gb
7447
7448        * lisp-kernel/image.c: Expect a MANAGED_STATIC section in the
7449        image.
7450       
7451        (Don't expect it to have any contents yet; that'll require several
7452        more changes.   This is all intended to support PURIFY on x8664,
7453        where we'll want to ensure that any constant referenced by a
7454        function in readonly/pure memory has a fixed, static address.)
7455
74562006-04-24 02:14  gb
7457
7458        * lisp-kernel/image.h: Bump IMAGE_ABI_VERSION.  New managed_static
7459        section makes NUM_IMAGE_SECTIONS 4.
7460
74612006-04-24 02:13  gb
7462
7463        * lisp-kernel/area.h: Typo in the definition of
7464        AREA_MANAGED_STATIC.
7465
74662006-04-24 02:12  gb
7467
7468        * lisp-kernel/: pmcl-kernel.c, kernel-globals.h: Global pointers to
7469        more areas.
7470
74712006-04-24 02:12  gb
7472
7473        * lisp-kernel/ppc-exceptions.c: EGC write-barrier labels are the
7474        addresses of instructions (not pointers thereto ...)
7475
74762006-04-24 02:11  gb
7477
7478        * lisp-kernel/ppc-gc.c: Add conditionalization to force DWS marker
7479        (mostly so that I could step through it to remember how it worked
7480        ...).
7481
74822006-04-24 02:10  gb
7483
7484        * lisp-kernel/ppc-spentry.s: write-barrier exported symbols: remove
7485        indirection.
7486
74872006-04-24 02:09  gb
7488
7489        * lisp-kernel/x86-gc.c: Remove a sanity check.
7490
74912006-04-24 02:09  gb
7492
7493        * xdump/xfasload.lisp: Create (empty) managed-static section
7494        (mostly for x8664 PURIFY, but might be useful on PPC someday.)
7495
74962006-04-24 02:08  gb
7497
7498        * xdump/heap-image.lisp: New image-abi-version, for managed-static
7499        section.
7500
75012006-04-24 02:07  gb
7502
7503        * level-1/linux-files.lisp: GET-DESCRIPTOR-FOR: try not to leak
7504        fds, take CLOSE-ON-ERROR more seriously.
7505
75062006-04-24 02:06  gb
7507
7508        * compiler/PPC/ppc2.lisp: (eq %FOREIGN-STACK-POINTER
7509        %CURRENT-FRAME-PTR) on PPC32/64.
7510
75112006-04-24 00:50  gb
7512
7513        * level-1/version.lisp: Bump.  Getting there ...
7514
75152006-04-24 00:50  gb
7516
7517        * level-0/l0-misc.lisp: Use %GET-NATURAL where possible.
7518       
7519        Note that TCRs aren't guaranteed to be in the low 32 bits on x8664,
7520        so pass them as a pointer to avoid word-size issues.
7521
75222006-04-24 00:48  gb
7523
7524        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Implement
7525        things that had been missing.
7526
75272006-04-24 00:48  gb
7528
7529        * compiler/X86/x86-disassemble.lisp: Recognize recently-defined
7530        UUOs.
7531
75322006-04-24 00:48  gb
7533
7534        * compiler/X86/x86-backend.lisp: Fix FIXUP-OPCODE-ORDINALS (again).
7535
75362006-04-24 00:47  gb
7537
7538        * compiler/X86/x86-asm.lisp: UUO-ERROR-ARRAY-BOUNDS.
7539
75402006-04-24 00:47  gb
7541
7542        * compiler/PPC/PPC64/ppc64-vinsns.lisp: A little word-size cleanup.
7543
75442006-04-24 00:47  gb
7545
7546        * compiler/nxenv.lisp: %FOREIGN-STACK-POINTER.
7547
75482006-04-24 00:46  gb
7549
7550        * compiler/nx1.lisp: WITH-C-FRAME, WITH-VARIABLE-C-FRAME: use (new)
7551        %FOREIGN-STACK-POINTER, not %CURRENT-FRAME-PTR (differ on x8664;
7552        need to boostrap on PPC).
7553       
7554        Parse %FOREIGN-STACK-POINTER.
7555
75562006-04-22 03:30  gb
7557
7558        * lisp-kernel/thread_manager.c: If we're using thread-local-storage
7559        (HAVE_TLS is defined), make shutdow_thread_tcr() dequeue the tcr,
7560        because (a) nothing else will and (b) the tcr will likely become
7561        unmapped soon, and we don't want things that walk the tcr list to
7562        segfault.
7563
75642006-04-22 03:27  gb
7565
7566        * lisp-kernel/x86-exceptions.c: Something's clearly wrong in
7567        find_foreign_rsp; call Bug() and exit() if the context has no
7568        fpregs.  (That's a symptom, not the proble, but it's slightly
7569        better to do this than to double fault, which is what seems to be
7570        happening.)
7571
75722006-04-21 10:12  gb
7573
7574        * lisp-kernel/x86-exceptions.c: implement pc_luser_xp; just has to
7575        worry about consing, write-barrier stuff.
7576
75772006-04-21 10:11  gb
7578
7579        * lisp-kernel/x86-constants.h: Define X86 flags register bits
7580        (condition codes.)
7581
75822006-04-21 10:11  gb
7583
7584        * lisp-kernel/x86-exceptions.h: change the signature of pc_luser_xp
7585        (again.)
7586       
7587        Define enumeration constants for matching the instructions that can
7588        occur during consing.
7589
75902006-04-21 10:09  gb
7591
7592        * lisp-kernel/x86-spentry64.s: Preserve %temp0 in
7593        store_node_conditional, in case pc_luser_xp() needs to complete the
7594        memoization.
7595
75962006-04-21 02:50  gb
7597
7598        * lisp-kernel/x86-spentry64.s: Use only the value of the first
7599        instance of :ALLOW-OTHER-KEYS to determine whether unknown keys are
7600        allowed.
7601
76022006-04-21 02:49  gb
7603
7604        * lisp-kernel/lisp-debug.c: Tweak things so that %rip and %flags
7605        line up with GPRs.
7606
76072006-04-21 02:48  gb
7608
7609        * lib/sequences.lisp: SIMPLE-1D-ARRAY-SUBSEQ: 64-bit vector case is
7610        #+64-bit-target, not #+ppc64-target.
7611
76122006-04-21 02:47  gb
7613
7614        * level-0/X86/x86-array.lisp: %SIMPLE-BIT-BOOLE: shift by the right
7615        amount.
7616
76172006-04-21 02:46  gb
7618
7619        * level-0/l0-array.lisp: %UVECTOR-REPLACE: 64-bit vectors aren't
7620        unique to PPC64 (but do depend on #+64-bit-target).
7621
76222006-04-21 02:46  gb
7623
7624        * compiler/X86/x862.lisp: The binding(s) of *INTERRUPT-LEVEL*
7625        confuse PROGV; remove them, for now.
7626
76272006-04-20 23:35  gb
7628
7629        * lisp-kernel/x86-spentry64.s: In the bignum case of
7630        .SPinteger-sign, sign-extend the bignum's sign digit instead of ...
7631        whatever the code was trying to do there.
7632       
7633        In the lexpr-has-two-values case of .SPspread-lexprz, load arg_y
7634        and arg_z from the correct offsets within the lexpr.
7635
76362006-04-20 04:48  gb
7637
7638        * lisp-kernel/x86-gc.c: Get the link-inverting marker written;
7639        force it to always be used, for now.
7640
76412006-04-19 17:11  gb
7642
7643        * lisp-kernel/pmcl-kernel.c: (Very) different
7644        MAXIMUM_MAPPABLE_MEMORY for Solaris.
7645
76462006-04-19 17:10  gb
7647
7648        * lisp-kernel/area.h: (Very) different IMAGE_BASE_ADDRESS for
7649        Solaris.
7650
76512006-04-19 00:35  gb
7652
7653        * lisp-kernel/x86-gc.c: Write a few paragraphs outlining how the
7654        reversing-pointer marker should work.  (Perhaps it's a strong
7655        argument for implementing "purify" soon.)
7656
76572006-04-19 00:34  gb
7658
7659        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
7660        function-boundary-marker.
7661
76622006-04-19 00:33  gb
7663
7664        * lisp-kernel/macros.h: Add node_aligned and indirect_node macros.
7665
76662006-04-18 19:35  gb
7667
7668        * lisp-kernel/x86-spentry64.s: Comparison was backwards in
7669        multiple-value case of THROW: don't want to do unbind_to if tcr's
7670        db-link matches target catch frame's.
7671
76722006-04-18 19:33  gb
7673
7674        * lisp-kernel/x86-uuo.s: Add UUO-ERROR-DEBUG-TRAP, remove
7675        UUO-ERROR-STACK-OVERFLOW.  Still need to get this completely in
7676        synch with x86-asm.
7677
76782006-04-18 19:33  gb
7679
7680        * level-1/l1-readloop-lds.lisp: Say more about the availability of
7681        :R in break messages.
7682       
7683        Say more about :C in :R.
7684
76852006-04-18 19:32  gb
7686
7687        * level-1/l1-readloop.lisp: Remove the #+x86-target debugging code
7688        in QUIT's PROCESS-INTERRUPT call, since the closure- trashing bug
7689        seems to have been fixed.
7690
76912006-04-18 19:31  gb
7692
7693        * level-1/x86-error-signal.lisp: Recognize (uuo-error-not-tag %rn
7694        x8664::subtag-catch-tag) as CANT-THROW-ERROR.  (Yes, this is a
7695        horrible kludge, but it only happens once.)
7696
76972006-04-18 19:19  gb
7698
7699        * level-1/l1-processes.lisp: Remove the #+x86-target debugging code
7700        in PROCESS-EXIT-APPLICATION, since the closure- trashing bug seems
7701        to have been fixed.
7702
77032006-04-18 19:18  gb
7704
7705        * level-0/X86/x86-pred.lisp: EQL on bignums wasn't using
7706        X8664::MISC-DATA-OFFSET, so it was comparing a few bytes beyond the
7707        ends of its arguments and ignoring the first few bytes (as well as
7708        doing misaligned memory references.)
7709
77102006-04-18 19:16  gb
7711
7712        * level-0/X86/x86-def.lisp: Insert the PPC version of APPLY+ here.
7713        This'll require some thought, mostly because of the reserved-frame
7714        issue(s).
7715
77162006-04-18 06:21  gb
7717
7718        * lisp-kernel/ppc-constants32.s: Comment mishaps.  These wacky
7719        adventures are about to end, I'm afraid.
7720
77212006-04-18 06:04  gb
7722
7723        * level-1/version.lisp: Daily bump.
7724
77252006-04-18 05:59  gb
7726
7727        * level-1/l1-sockets.lisp: Comment indentation.
7728
77292006-04-18 05:56  gb
7730
7731        * level-0/PPC/ppc-def.lisp: Move APPLY+ here.
7732
77332006-04-18 05:55  gb
7734
7735        * lib/setf-runtime.lisp: Move APPLY+ (which is defined in LAP) to
7736        ppc-def (that means that there will need to be an APPLY+ for
7737        x8664).
7738
77392006-04-18 05:38  gb
7740
7741        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Try to get the
7742        compiler and x8664-vinsn-templates to agree on vinsn-names and
7743        implement some vinsns that had been missing.  (About 15 or so
7744        undefined vinsns remain.)
7745
77462006-04-18 05:37  gb
7747
7748        * compiler/X86/x86-backend.lisp: The mechanism that tries to fixup
7749        opcode ordinals in vinsn templates (e.g., in case new instructions
7750        are defined in the assembler) wasn't checking to see if vinsn
7751        templates named in the hash table were defined.  (It was apparently
7752        getting away with this because CONSP was broken.)  So, don't try to
7753        fixup opcode ordinals in NIL, and optionally report templates
7754        that're referenced but not defined.
7755
77562006-04-18 04:38  gb
7757
7758        * compiler/X86/x862.lisp: CONSP was using the EXTRACT-FULLTAG vinsn
7759        (which only sets the low 8 bits of its destination), then comparing
7760        all 64-bits of the destination to a zero-extended 32-bit constant.
7761        (E.g., CONSP had little chance of being right all other things
7762        being equal, but may have been right more than one in 2^56 times if
7763        some random preceding instruction had zeroed the upper 56 bits.)
7764       
7765        (It's also shorter to do an 8-bit compare.)
7766
77672006-04-18 03:11  gb
7768
7769        * level-0/X86/x86-hash.lisp: box-fixnum arg order in %DFLOAT-HASH.
7770
77712006-04-18 02:51  gb
7772
7773        * compiler/X86/X8664/x8664-vinsns.lisp: Now that all assemblers are
7774        happy (well, as happy as they're going to be ...), back to finding
7775        bugs.  MULTIPLY-FIXNUMS has to unbox one arg (the source).
7776
77772006-04-18 01:26  gb
7778
7779        * lisp-kernel/thread_manager.c: Some Solaris changes.
7780
77812006-04-18 00:48  gb
7782
7783        * lisp-kernel/solarisx64/Makefile: The version of gm4 that Sun
7784        installs in /usr/sfw/bin is both newer and buggier than the version
7785        available on the "Solaris Companion" disk, which gets installed in
7786        /opt/sfw/bin.
7787       
7788        Ordinarily, I'd wonder why a "companion" disk offers to install
7789        software that's bundled as part of the installation (especially old
7790        versions of that software.)  Now I know.
7791
77922006-04-18 00:45  gb
7793
7794        * lisp-kernel/x86-spentry64.s: # __line__ wasn't a comment.
7795
77962006-04-18 00:45  gb
7797
7798        * lisp-kernel/m4macros.m4: Fix changecom.
7799
78002006-04-18 00:11  gb
7801
7802        * lisp-kernel/x86-spentry64.s: x8664 linux as doesn't like typos,
7803        but is otherwise fine with single-line /* */.
7804
78052006-04-18 00:09  gb
7806
7807        * lisp-kernel/: errors.s, imports.s, lisp.s, m4macros.m4,
7808        ppc-asmutils.s, ppc-constants.s, ppc-constants32.s,
7809        ppc-constants64.s, ppc-macros.s, ppc-spentry.s, ppc-spjump.s,
7810        ppc-subprims.s, ppc-uuo.s, x86-asmutils64.s, x86-constants.s,
7811        x86-constants64.s, x86-macros.s, x86-spentry64.s, x86-spjump64.s,
7812        x86-subprims64.s, x86-uuo.s, darwinppc/Makefile,
7813        darwinppc64/Makefile: Whoops.  Darwin as doesn't like #.  I dont
7814        like Darwin as, but we're back to single-line /* */, which is often
7815        pretty ugly and not well-supported by Emacs.
7816
78172006-04-17 23:23  gb
7818
7819        * lisp-kernel/: errors.s, imports.s, lisp.s, m4macros.m4,
7820        ppc-asmutils.s, ppc-constants.s, ppc-constants32.s,
7821        ppc-constants64.s, ppc-uuo.s, x86-asmutils64.s, x86-constants.s,
7822        x86-constants64.s, x86-macros.s, x86-spjump64.s, x86-subprims64.s,
7823        x86-uuo.s: Use #/newline for comment delimiters, which is supported
7824        by Emacs and by all current GAS versions (but see ARM conventions.)
7825         No more jerking around with this, knock wood.
7826
78272006-04-17 23:23  gb
7828
7829        * lisp-kernel/x86-spentry64.s: _SPspread_lexprz wasn't handling the
7830        case where caller provided args before the lexpr, which is much
7831        harder than the simple case.
7832       
7833        Use #/newline for comment delimiters, which is supported by Emacs
7834        and by all current GAS versions (but see ARM conventions.)  No more
7835        jerking around with this, knock wood.
7836
78372006-04-17 23:20  gb
7838
7839        * level-0/X86/x86-numbers.lisp: %FIXNUM-GCD was horrible, espcially
7840        when numbers differed greatly in magnitude.  Current (binary)
7841        algorithm is usually OK.
7842
78432006-04-17 23:17  gb
7844
7845        * compiler/X86/x86-lap.lisp: Condition name should be
7846        UNDEFINED-X86-LAP-LABEL, since it's (a) referenced and (b) that's
7847        not the problem.  Name wasn't spelled correctly in code that
7848        signals the condition, anyway.
7849
78502006-04-17 16:34  gb
7851
7852        * lisp-kernel/x86-exceptions.c: pc_luser_xp always takes a tcr
7853        argument, takes a new boolean to distinguish current tcr from
7854        others.  (The current tcr is only lusered on an interrupt; others
7855        are only lusered on GC entry.)
7856
78572006-04-17 16:33  gb
7858
7859        * lisp-kernel/x86-exceptions.h: X86 prototype for pc_luser_xp moved
7860        here.  (No deep reason not to share the new x86 signature on all
7861        architectures.)
7862
78632006-04-17 16:32  gb
7864
7865        * lisp-kernel/ppc-exceptions.h: PPC prototype for pc_luser_xp moved
7866        here.  (No deep reason not to share the new x86 signature on all
7867        architectures.)
7868
78692006-04-17 16:31  gb
7870
7871        * lisp-kernel/lisp-exceptions.h: prototype for pc_luser_xp is
7872        platform-dependent.
7873
78742006-04-17 06:49  gb
7875
7876        * level-1/l1-readloop.lisp: In the closure created in QUIT, only do
7877        CCL::DBG if (a) we're on X86 and (b) the inner closure is bad
7878        already.
7879
78802006-04-17 06:17  gb
7881
7882        * lisp-kernel/lisptypes.h: Don't know if there's such a thing as
7883        truly portable type name.
7884
78852006-04-17 06:16  gb
7886
7887        * lisp-kernel/: errors.s, lisp.s, m4macros.m4, x86-constants.s,
7888        x86-constants64.h, x86-constants64.s, x86-exceptions.c,
7889        x86-exceptions.h, x86-gc.c, x86-macros.s, x86-spentry64.s,
7890        x86-spjump64.s, x86-uuo.s: Well, // style comments seem to only
7891        work if they're at the start of a line in Linux GAS.  Try /* */
7892        comments, but limit them to a single line.  (May ultimately be
7893        better to use m4 dnl - carefully - and avoid end-of-line comments.)
7894
78952006-04-17 05:28  gb
7896
7897        * lisp-kernel/: x86-macros.s, x86-spentry64.s, x86-spjump64.s,
7898        x86-subprims64.s, x86-uuo.s: // comments.
7899
79002006-04-17 05:28  gb
7901
7902        * lisp-kernel/x86-gc.c: timeradd, timersub.  Other Solaris
7903        conditionalization.
7904
79052006-04-17 05:27  gb
7906
7907        * lisp-kernel/x86-exceptions.h: Solaris-related changes (xp
7908        accessors, etc.)
7909
79102006-04-17 05:26  gb
7911
7912        * lisp-kernel/x86-exceptions.c: Solaris-related changes (mostly in
7913        the sigstack trampoline stuff.)
7914
79152006-04-17 05:25  gb
7916
7917        * lisp-kernel/x86-constants64.h: // comments, Solaris-friendly
7918        integer types.
7919
79202006-04-17 05:24  gb
7921
7922        * lisp-kernel/: x86-asmutils64.s, x86-constants.s,
7923        x86-constants64.s: // comments.
7924
79252006-04-17 05:23  gb
7926
7927        * lisp-kernel/pmcl-kernel.c: Some Solaris conditionalization.
7928        Solaris mmap() is ... unusual.
7929
79302006-04-17 05:21  gb
7931
7932        * lisp-kernel/m4macros.m4: Use C++-style single-line comments,
7933        since Solaris version of GAS doen't handle multi-line comments (/*
7934        ... */).  It -seems- that other assemblers do handle them
7935        correctly; we'll see.
7936       
7937        Some Solaris conditionalization (ELFstabs, etc.)
7938
79392006-04-17 05:20  gb
7940
7941        * lisp-kernel/lisptypes.h: Conditionalize for Solaris (type names).
7942         We'll see what this breaks.
7943
79442006-04-17 05:19  gb
7945
7946        * lisp-kernel/lisp.h: PLATFORM_OS is PLATFORM_OS_SOLARIS when
7947        SOLARIS is defined.
7948
79492006-04-17 05:18  gb
7950
7951        * lisp-kernel/lisp-debug.c: Solaris conditionalization; print
7952        registers in predictable order.
7953
79542006-04-17 05:17  gb
7955
7956        * lisp-kernel/: errors.s, imports.s, lisp.s: Use C++-style
7957        single-line comments, since Solaris version of GAS doen't handle
7958        multi-line comments (/* ... */).  It -seems- that other assemblers
7959        do handle them correctly; we'll see.
7960
79612006-04-17 05:15  gb
7962
7963        * lisp-kernel/area.h: IMAGE_BASE_ADDRESS for SolarisX64.  Wrong.
7964
79652006-04-17 05:15  gb
7966
7967        * lisp-kernel/Threads.h: Conditionalize for Solaris.
7968       
7969        TODO: drop Jaguar support, use POSIX (vice Mach) semaphores on all
7970        platforms ?
7971
79722006-04-17 05:01  gb
7973
7974        * lisp-kernel/solarisx64/Makefile: new file
7975
79762006-04-17 04:56  gb
7977
7978        * lisp-kernel/linuxx8664/Makefile: Make it a little easier to
7979        change the name/usage of the linker script.
7980       
7981        Stop using the linker script (since spjump is the only thing in the
7982        kernel that has to be at a fixed address and we can copy it there.)
7983       
7984        Don't disable the EGC.
7985
79862006-04-17 04:54  gb
7987
7988        * lisp-kernel/x86-spjump64.s: Define spjump_start as the origin of
7989        the spjump table, exported for C (so that spjump can be mapped into
7990        low memory.)
7991
79922006-04-17 04:54  gb
7993
7994        * lisp-kernel/x86-spentry64.s: Use reserved_frame_marker.
7995       
7996        If the tlb's too small when trying to bind a special, push the
7997        binding index of the symbol we're binding (for the benefit of the
7998        handler.)
7999
80002006-04-17 04:52  gb
8001
8002        * lisp-kernel/x86-gc.c: Check for cases where a function has more
8003        code words than it has elements (can't happen, unless the
8004        function's code-words word is garbage, which seems to happen when
8005        closures get consed up in non-zeroed memory.)
8006       
8007        Make sure that we mark and forward Itemp2 (= %rcx = %temp2 =
8008        %nargs.q), which sometimes contains something tagged and
8009        non-immediate.
8010
80112006-04-17 04:48  gb
8012
8013        * lisp-kernel/x86-exceptions.c: new_heap_segment() (slowly) checks
8014        to ensure that everythings's zeroed.
8015       
8016        x8664 implementation of extend_tcr_tlb().
8017       
8018        on a gc trap, use tcr->save_allocptr (not the random value in %rbx)
8019        in call to update_bytes_allocated().
8020       
8021        normalize_tcr() - alway set tcr->save_allocptr/tcr->save_allocbase
8022        to VOID_ALLOCPTR (I -think- that this explains the crash-on-quit
8023        bug, and possibly some other instabiliy.)
8024       
8025        handle_exception: keep trying to guess how to distinguish memory
8026        faults from other sources of SIGSEGV.
8027       
8028        On debug traps, advance the PC past the UUO before entering the
8029        debugger.
8030       
8031        Handle XUUO_TLB_TOO_SMALL.
8032
80332006-04-17 04:42  gb
8034
8035        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
8036        reserved_frame_marker.
8037
80382006-04-17 04:42  gb
8039
8040        * lisp-kernel/thread_manager.c: Remove implementation of
8041        extend_tcr_tlb().
8042
80432006-04-17 04:41  gb
8044
8045        * lisp-kernel/ppc-exceptions.h: Prototype for PPC version of
8046        extend_tcr_tlb().
8047
80482006-04-17 04:41  gb
8049
8050        * lisp-kernel/ppc-exceptions.c: PPC version of extend_tcr_tlb().
8051
80522006-04-17 04:40  gb
8053
8054        * lisp-kernel/pmcl-kernel.c: Remap the spjump table on x8664, so
8055        that we don't need to use a linker script.
8056
80572006-04-17 04:40  gb
8058
8059        * lisp-kernel/Threads.h: extend-tcr-tlb: signature defined by
8060        target xxx-exceptions.h now.
8061
80622006-04-17 04:39  gb
8063
8064        * lib/misc.lisp: Some comment formatting/editing.
8065
80662006-04-17 04:38  gb
8067
8068        * level-1/version.lisp: Bump.
8069
80702006-04-17 04:38  gb
8071
8072        * level-1/l1-readloop.lisp: Some debugging code in the code which
8073        creates the final closure.  It seems that when it's bad, it's bad
8074        on creation (here.)
8075
80762006-04-17 04:37  gb
8077
8078        * level-1/l1-processes.lisp: Some debugging code in
8079        PROCESS-EXIT-APPLICATION, to try to catch whatever's causing the
8080        final closure to be trashed.
8081       
8082        I don't think that other threads were getting their allocptr's
8083        nullified correctly by the GC/normalize_tcr(); with the current
8084        debugging code in place, it seems like the closure is consed on top
8085        of something other than free, thread-private heap memory (when it's
8086        bad, it fails the first check here.  I'm not sure that the latest
8087        round of GC/normalize-tcr() changes have fixed the problem, but I
8088        haven't seen it in a while now, either.)
8089
80902006-04-17 04:32  gb
8091
8092        * level-0/X86/x86-def.lisp: %FUNCTION-CODE-BYTE (for partial
8093        disassembly, etc.).
8094
80952006-04-17 04:31  gb
8096
8097        * compiler/X86/X8664/x8664-vinsns.lisp: Use RESERVED-FRAME-MARKER
8098        in RESERVE-OUTGOING-FRAME; don't use ENSURE-RESERVED-FRAME at all
8099        (anymore.)
8100       
8101        Subprims are down in low memory again; make INIT-CLOSURE skip
8102        setting the high byte of .SPcall-closure's address if it's zero.
8103
81042006-04-17 04:28  gb
8105
8106        * compiler/X86/X8664/x8664-arch.lisp: Define RESERVED-FRAME-MARKER,
8107        which may help backtrace.
8108
81092006-04-17 04:26  gb
8110
8111        * lib/: backtrace.lisp, ppc-backtrace.lisp: Split up RAW-FRAME-REF
8112        (interface/implementation.)
8113
81142006-04-15 09:20  gb
8115
8116        * level-1/x86-callback-support.lisp: Ensure that callback
8117        trampolines are allocated in executable memory.
8118
81192006-04-15 09:12  gb
8120
8121        * lib/dumplisp.lisp: Refresh external entry points before reviving
8122        callbacks.  Reset callback storage before reviving callbacks.
8123
81242006-04-15 09:10  gb
8125
8126        * level-1/x86-error-signal.lisp: Don't prefix the unknown trap
8127        error message with a %.  (Where did that come from ?)
8128
81292006-04-15 09:08  gb
8130
8131        * level-1/ppc-callback-support.lisp: Don't (knock wood) need to do
8132        anything in RESET-CALLBACK-STORAGE for PPC, since malloc()ed memory
8133        is executable.
8134
81352006-04-14 09:02  gb
8136
8137        * lib/time.lisp: Jeez.  Save buffer, why dontcha.
8138
81392006-04-14 08:21  gb
8140
8141        * lib/time.lisp: ENCODE-UNIVERSAL-TIME: treat year 0-99 as
8142        shorthand for the nearest matching year.
8143
81442006-04-14 08:20  gb
8145
8146        * lib/format.lisp: FORMAT-PRINT-NUMBER was printing commas even
8147        when : was missing.
8148
81492006-04-13 23:09  gb
8150
8151        * lib/ppc-backtrace.lisp: Eschew missing parens.
8152
81532006-04-13 23:08  gb
8154
8155        * lib/describe.lisp: Change NTH-VALUE-IN-FRAME call.
8156
81572006-04-13 23:08  gb
8158
8159        * lib/backtrace.lisp: DBG-FORM checks the second return value from
8160        ARGLIST-FROM-MAP.
8161
81622006-04-13 23:02  gb
8163
8164        * lib/arglist.lisp: Don't pass a "conser" function around (the idea
8165        is leftover from 68K MCL).  ARGLIST-FROM-MAP tries to be consistent
8166        about returning a second value; returns values NIL, T for functions
8167        that take no args and don't have a symbol map.
8168
81692006-04-13 22:53  gb
8170
8171        * level-1/l1-lisp-threads.lisp: Try to make args to
8172        NTH-VALUE-IN-FRAME et al a little saner.
8173
81742006-04-13 22:37  gb
8175
8176        * lib/numbers.lisp: Conditionalize on word size, not PPC processor
8177        type.
8178
81792006-04-13 22:36  gb
8180
8181        * level-1/version.lisp: Bump.
8182
81832006-04-13 22:35  gb
8184
8185        * level-1/l1-aprims.lisp: Remove the DBG trap from #'APPLY.  Still
8186        trying to find the cause of the crash-on-quit bug.
8187
81882006-04-13 07:30  gb
8189
8190        * lib/ppc-backtrace.lisp: Migrate some stuff here.
8191
81922006-04-13 07:29  gb
8193
8194        * level-1/l1-lisp-threads.lisp, lib/backtrace.lisp: Migrate some
8195        stuff to target-backtrace.
8196
81972006-04-13 06:45  gb
8198
8199        * lisp-kernel/x86-gc.c: mark_root: need to handle TRAs earlier.
8200
82012006-04-13 06:44  gb
8202
8203        * lisp-kernel/pmcl-kernel.c: Set GC debug bits manually here on
8204        x8664.
8205
82062006-04-13 06:44  gb
8207
8208        * level-1/x86-error-signal.lisp: XP-ARGUMENT-LIST: only the low 13
8209        bytes of %nargs_q contain arg count.
8210
82112006-04-13 06:43  gb
8212
8213        * level-1/l1-error-system.lisp: No EVAL-PROGRAM-ERROR. Please.
8214
82152006-04-13 06:43  gb
8216
8217        * level-1/l1-aprims.lisp: Trying to find what's (sometimes)
8218        trashing a closure during QUIT; embed a #+x86-target breakpoint in
8219        APPLY.
8220
82212006-04-13 06:42  gb
8222
8223        * level-0/X86/x86-numbers.lisp: Bad typo in %FIXNUM-GCD.
8224
82252006-04-13 06:41  gb
8226
8227        * compiler/X86/x862.lisp: Lap expression changes; recycle constant
8228        operands.
8229
82302006-04-13 06:41  gb
8231
8232        * compiler/X86/x86-lap.lisp: Freelist a lot of things; use
8233        "vector-lists" instead of adjustable arrays, simplify handling of
8234        constant expressions.  Still conses hysterically; need to find out
8235        where and tone it down a bit, if possible.
8236
82372006-04-13 06:39  gb
8238
8239        * compiler/X86/x86-disassemble.lisp: Maybe no lap immediate
8240        operands; maybe no lap constant-expressions.
8241
82422006-04-13 06:39  gb
8243
8244        * compiler/X86/x86-asm.lisp: Don't need
8245        *lap-constant-0-expression*.
8246
82472006-04-13 00:46  gb
8248
8249        * lisp-kernel/linuxx8664/Makefile: Kernel depends on Makefile,
8250        linker script.
8251
82522006-04-13 00:45  gb
8253
8254        * lisp-kernel/linuxx8664/elf_x86_64.x: Use linker script from ld
8255        2.16.1 (Thanks to James Bielman).
8256
82572006-04-12 18:53  gb
8258
8259        * lisp-kernel/linuxx8664/elf_x86_64.x: Try to avoid use of
8260        PROVIDE_HIDDEN, since some versions of GNU ld don't like it.  (Most
8261        of this seems to have to do with C++ static constructors, which
8262        aren't really relevant here.)
8263
82642006-04-12 18:28  gb
8265
8266        * lisp-kernel/x86-spentry64.s: Use movd (not movq) when moving
8267        between %Rforeign_sp and GPRs.
8268
82692006-04-12 18:22  gb
8270
8271        * lisp-kernel/linuxx8664/Makefile: egc flag
8272
82732006-04-12 18:08  gb
8274
8275        * lisp-kernel/x86-gc.c: Add current/prev (temporarily) to help find
8276        where we're losing here.
8277
82782006-04-12 18:07  gb
8279
8280        * lisp-kernel/x86-exceptions.c: pc_luser_xp: notice if we're in the
8281        write barrier code, crap out if so.
8282
82832006-04-12 18:06  gb
8284
8285        * lisp-kernel/pmcl-kernel.c: Disable EGC if DISABLE_EGC is defined
8286        (presumably in a Makefile).
8287
82882006-04-12 14:50  gb
8289
8290        * level-1/version.lisp: Bump.
8291
82922006-04-12 14:46  gb
8293
8294        * lib/: compile-ccl.lisp, ppc-backtrace.lisp, systems.lisp,
8295        x86-backtrace.lisp: new target backtrace stuff.
8296
82972006-04-12 14:45  gb
8298
8299        * lib/backtrace.lisp: Start splitting things up, ideally into a
8300        mostly abstract API and gory platform- dependent implementation
8301        details.
8302
83032006-04-11 21:40  gb
8304
8305        * lisp-kernel/pmcl-kernel.c: Only way to stress-test EGC is to turn
8306        the damned thing on.  (A little painful with integrity checking
8307        enabled, as it still is by default.)
8308       
8309        TODO:
8310       
8311        - sleep (me) - non-recursive (link-inverting) marker - pc-lusering
8312        (pc_luser_xp()) - backtrace - ANSI CL tests - purify - 2d-aref - FP
8313        exception handling - check UUO usage in kernel, disassembler,
8314        exception handlers - stack overflow recovery
8315
83162006-04-11 21:24  gb
8317
8318        * lisp-kernel/x86-gc.c: Skip over function code in
8319        check_refmap_consistency.
8320
83212006-04-11 21:23  gb
8322
8323        * lisp-kernel/x86-spentry64.s: Write barrier memoization sets bits
8324        backwards.
8325
83262006-04-11 19:11  gb
8327
8328        * compiler/X86/x862.lisp: Change LABELS for new closure format.
8329
83302006-04-11 19:11  gb
8331
8332        * lisp-kernel/x86-spentry64.s: 3 words of code + inner function in
8333        a closure, no lfname slot in closure.
8334
83352006-04-11 16:29  gb
8336
8337        * lisp-kernel/linuxx8664/.gdbinit: ada  prints active dynamic (GC)
8338        area.
8339
83402006-04-11 16:29  gb
8341
8342        * lisp-kernel/x86-subprims64.s: Maintain the MXCSR on transitions
8343        between lisp/foreign code.
8344
83452006-04-11 16:29  gb
8346
8347        * lisp-kernel/x86-spentry64.s: Add write barrier stuff (may have
8348        bit-order problems.)
8349       
8350        Maintain the MXCSR on transitions between lisp/foreign code.
8351
83522006-04-11 16:28  gb
8353
8354        * lisp-kernel/x86-macros.s: Access globals in expressions.
8355
83562006-04-11 16:27  gb
8357
8358        * lisp-kernel/x86-gc.c: Start to implement EGC for X8664; this'll
8359        need some bootstrapping stuff (function boundary markers) for a few
8360        reasons, as will DWS marker.
8361
83622006-04-11 16:27  gb
8363
8364        * lisp-kernel/x86-exceptions.c: If we get an FP exception, report
8365        the siginfo error code.
8366
83672006-04-11 16:26  gb
8368
8369        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Define MXCSR
8370        fields in tcr.
8371
83722006-04-11 16:25  gb
8373
8374        * lisp-kernel/x86-constants.h: Define MXCSR bits.
8375
83762006-04-11 16:25  gb
8377
8378        * lisp-kernel/thread_manager.c: Setup the MXCSR somewhat sanely
8379        when starting a lisp thread.  (It'll be saner when FP exceptions
8380        are handled.)
8381
83822006-04-11 16:24  gb
8383
8384        * level-1/x86-error-signal.lisp: Recognize what complaints about
8385        non-uvectors are trying to tell us.
8386
83872006-04-11 16:23  gb
8388
8389        * level-1/l1-io.lisp: PRINT-OBJECT method for TRAs, symbol/function
8390        vectors.
8391
83922006-04-11 16:23  gb
8393
8394        * level-1/l1-clos-boot.lisp: Spell TAGGED-RETURN-ADDRESS with more
8395        Ses.  Define classes for function/symbol vectors.
8396
83972006-04-11 16:22  gb
8398
8399        * level-0/X86/x86-def.lisp: %RETURN-ADDRESS-OFFSET.
8400
84012006-04-11 16:21  gb
8402
8403        * compiler/X86/X8664/x8664-vinsns.lisp: Closure initialization
8404        needs to add a function boundary marker (but we can stop padding
8405        each closure with a null function name slot.)
8406
84072006-04-11 16:20  gb
8408
8409        * compiler/X86/X8664/x8664-arch.lisp: Define
8410        FUNCTION-BOUNDARY-MARKER, which should never exist in the wild.
8411
84122006-04-11 16:19  gb
8413
8414        * compiler/X86/x862.lisp: Emit a function boundary marker between
8415        code and constants. (For GC reasons.) Change closure initialization
8416        to account for it.
8417
84182006-04-11 16:18  gb
8419
8420        * compiler/X86/x86-lap.lisp: Emit a function boundary marker
8421        between code and constants. (For GC reasons.)
8422
84232006-04-11 16:17  gb
8424
8425        * compiler/X86/x86-disassemble.lisp: Require more stuff.
8426
84272006-04-11 16:17  gb
8428
8429        * compiler/nxenv.lisp: Require X8664ENV on X8664.
8430       
8431        See if we can get by without 68K condition code ...
8432
84332006-04-11 06:53  gb
8434
8435        * lisp-kernel/x86-exceptions.c: We'll need to handle FP exceptions
8436        soon.
8437
84382006-04-11 06:53  gb
8439
8440        * lib/numbers.lisp: Infinity constants conditionalized on/off
8441        during MXCSR adventures.  On now.
8442
84432006-04-11 06:52  gb
8444
8445        * lib/describe.lisp: Comment indentation.
8446       
8447        No such thing as an interpreted function; hasn't been for years.
8448
84492006-04-11 06:51  gb
8450
8451        * level-1/x86-threads-utils.lisp: Fixup lfun bits of %FIXNUM-SET et
8452        al.
8453
84542006-04-11 06:51  gb
8455
8456        * level-1/version.lisp: Bumped yesterday.
8457
84582006-04-11 06:50  gb
8459
8460        * level-1/l1-error-signal.lisp: Comments.
8461
84622006-04-11 06:50  gb
8463
8464        * level-1/l1-clos-boot.lisp: CLASS-OF handles non-simple vectors,
8465        at least.
8466
84672006-04-11 06:50  gb
8468
8469        * level-0/X86/x86-float.lisp: MXCSR stuff.  Better, mostly because
8470        a fixnum constant is boxed in %SET-MXCSR.
8471
84722006-04-11 06:49  gb
8473
8474        * level-0/X86/x86-def.lisp: Get info about register usage.
8475
84762006-04-11 06:49  gb
8477
8478        * compiler/X86/X8664/x8664-vinsns.lisp: Natural arithmetic; start
8479        work on 2d aref.  Fix MISC-SET-U64 (or some flavor thereof), which
8480        though that it was dealing with a scaled index.
8481
84822006-04-11 06:48  gb
8483
8484        * compiler/X86/x862.lisp: Natural arithmetic; start work on 2d
8485        aref.
8486
84872006-04-11 06:48  gb
8488
8489        * compiler/X86/x86-lap.lisp: FRAGs are freelisted.  Really need to
8490        do something about FRAG-CODE-BUFFERs, and need to tone down
8491        expression overkill.
8492
84932006-04-11 06:46  gb
8494
8495        * compiler/X86/x86-backend.lisp: Vinsn template fixup mechanism,
8496        for when opcode ordinals change.
8497
84982006-04-11 06:46  gb
8499
8500        * compiler/X86/x86-asm.lisp: UUO-ERROR-STACK-OVERFLOW ->
8501        UUO-ERROR-ARRAY-RANK.
8502       
8503        Vinsn template fixup mechanism, for when opcode ordinals change.
8504
85052006-04-11 06:45  gb
8506
8507        * compiler/X86/x86-arch.lisp: Try to unscramble MXCSR bits/masks.
8508
85092006-04-11 06:45  gb
8510
8511        * compiler/nx0.lisp: NX-U31-CONSTANT-P.
8512
85132006-04-11 06:44  gb
8514
8515        * compiler/dll-node.lisp: WITH-DLL-NODE-FREELIST: syntax to allow
8516        specialized list header initialization.
8517
85182006-04-11 06:43  gb
8519
8520        * level-1/l1-error-system.lisp, compiler/arch.lisp: Type errors for
8521        2d float arrays.
8522
85232006-04-10 10:19  gb
8524
8525        * lisp-kernel/x86-spentry64.s: _SPcallback is now called with the
8526        foreign SP properly obeying C alignment conventions.  In order to
8527        get it aligned for lisp usage during the callback, an extra word
8528        needs to be pushed before the backpointer to the old foreign RSP.
8529
85302006-04-10 10:18  gb
8531
8532        * lisp-kernel/x86-exceptions.c: Ensure that the copied sigcontext
8533        is 16-byte aligned, so that the foreign stack pointer is aligned
8534        according to C conventions when we enter the signal handler on that
8535        stack.
8536
85372006-04-10 10:13  gb
8538
8539        * lib/numbers.lisp: Define FP infinities, since we're running with
8540        FP exceptions masked. (We don't handle FP exceptions on X8664 yet,
8541        but this was crashing due to ldmxcsr/stmxcsr confusion, not because
8542        an unmasked FP exception was raised and unhandled.)
8543
85442006-04-10 10:10  gb
8545
8546        * lib/level-2.lisp: Remove the WARN and the conditionalization
8547        around bit/bitfield accessors on X8664.
8548
85492006-04-10 10:09  gb
8550
8551        * level-0/X86/x86-float.lisp: Repeat after me: to load the mxcsr
8552        from memory, we say "ldmxcsr".  We want to do such a load in order
8553        to write new values into the mxcsr.  To store it in memory, we say
8554        "stmxcsr".  We want to do such a store (and a subsequent load from
8555        memory) in order to access the value of the mxcsr.  Simple, no ?
8556
85572006-04-10 10:07  gb
8558
8559        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp:
8560        %GET-BIT/%SET-BIT.
8561
85622006-04-10 08:29  gb
8563
8564        * compiler/X86/X8664/x8664-vinsns.lisp: Float
8565        addition/multiplication: either arg can overlap result (and often
8566        will).  Float subtraction/division: caller should ensure that
8567        result and second arg are disjoint.
8568
85692006-04-10 08:27  gb
8570
8571        * compiler/X86/x862.lisp: Float arithmetic is two-address; ensure
8572        that result doesn't overlap second argument for non-commutative
8573        operations.
8574
85752006-04-10 08:26  gb
8576
8577        * lisp-kernel/lisp-debug.c: Show FPRs on LinuxX8664.
8578
85792006-04-10 05:12  gb
8580
8581        * lisp-kernel/thread_manager.c: Don't free dead TCRs if we didn't
8582        malloc them.
8583
85842006-04-10 05:12  gb
8585
8586        * lib/compile-ccl.lisp: REBUILD-CCL paramaters for :LINUXX8664.
8587
85882006-04-10 05:11  gb
8589
8590        * level-1/l1-pathnames.lisp: No need to reference PPC package, and
8591        good reason not to.
8592
85932006-04-10 04:39  gb
8594
8595        * xdump/xfasload.lisp: signed 32-bit, 64-bit integers in fasl files
8596        are always big-endian.
8597
85982006-04-10 04:38  gb
8599
8600        * lisp-kernel/x86-gc.c: mark_root(): if we're marking a function
8601        reachable via a TRA, update the variable "dnode" so that the
8602        correct bits get set.
8603
86042006-04-10 04:37  gb
8605
8606        * level-0/X86/X8664/x8664-bignum.lisp: Remove some breakpoints.
8607
86082006-04-10 04:37  gb
8609
8610        * level-0/X86/x86-array.lisp: %SIMPLE-BIT-BOOLE.  Could stand to be
8611        a bit simpler.
8612
86132006-04-10 04:36  gb
8614
8615        * level-0/l0-hash.lisp: Whoops: %SET-NEEDS-REHASHING is called from
8616        the MAKE-LOAD-FORM method for hashtables.
8617
86182006-04-09 09:17  gb
8619
8620        * lisp-kernel/thread_manager.c: Inflate control stack size on
8621        x8664, until DWS marker works (and do so correctly this time).
8622
86232006-04-09 09:12  gb
8624
8625        * lisp-kernel/thread_manager.c: Inflate control stack size on
8626        x8664, until DWS marker works.
8627
86282006-04-09 09:09  gb
8629
8630        * level-0/l0-hash.lisp: Now that bitvectors work, remove
8631        #+x86-target DBG trap.
8632
86332006-04-09 08:57  gb
8634
8635        * level-0/l0-hash.lisp: Set/clear rehash bits via SBIT, not AREF.
8636        (Should be exactly the same code, but may not have been 15 years
8637        ago or whenever this was written.)
8638
86392006-04-09 08:56  gb
8640
8641        * lisp-kernel/x86-spentry64.s,
8642        compiler/X86/X8664/x8664-vinsns.lisp: Clear bits in a bit vector
8643        via btrX (Bit Test and Reset), not btcX (Bit Test and Complement.)
8644
86452006-04-09 03:52  gb
8646
8647        * lisp-kernel/x86-macros.s: Parens around negative displacement in
8648        condition_to_boolean.  Not clear why this is necessary, but it
8649        seems to be.
8650
86512006-04-09 03:24  gb
8652
8653        * lisp-kernel/x86-macros.s: Use shorter sequence in
8654        condition_to_boolean.
8655
86562006-04-09 02:32  gb
8657
8658        * compiler/X86/X8664/x8664-vinsns.lisp: Using cmovCC intstead of
8659        setCC for cr-bit->boolean is 1 instruction and 2 bytes shorter, all
8660        other things being equal.
8661
86622006-04-09 01:37  gb
8663
8664        * compiler/X86/x86-asm.lisp: reg/reg variants of bsfX, bsrX had
8665        operands backwards.
8666
86672006-04-09 01:37  gb
8668
8669        * compiler/optimizers.lisp: Comment formatting.
8670
86712006-04-09 01:29  gb
8672
8673        * level-0/X86/X8664/x8664-bignum.lisp: %BIGNUM-SIGN-DIGITS:
8674        bsr/xorl != clz when (zerop n).
8675
86762006-04-08 21:25  gb
8677
8678        * lisp-kernel/x86-exceptions.c: Forget about blocking SIGINT in
8679        current thread before entering kernel debugger.
8680
86812006-04-08 21:21  gb
8682
8683        * lib/compile-ccl.lisp: early def of XLOAD-LEVEL-0: require
8684        (TARGET-XLOAD-MODULES).
8685
86862006-04-08 21:21  gb
8687
8688        * lisp-kernel/x86-spentry64.s: misc_set_s16: forgot a lognot.
8689
86902006-04-08 21:20  gb
8691
8692        * level-0/nfasload.lisp: 64-bit vectors: target::, not ppc64::.
8693
86942006-04-08 20:46  gb
8695
8696        * lib/foreign-types.lisp: Add missing paren ...
8697
86982006-04-08 20:45  gb
8699
8700        * lib/foreign-types.lisp: Recognize a :struct-by-value case.
8701
87022006-04-08 20:44  gb
8703
8704        * compiler/X86/X8664/x8664-backend.lisp: X8664 ABI seems to pass
8705        structs by value, sort of.
8706
87072006-04-08 20:43  gb
8708
8709        * x86-headers64/libc/C/populate.sh: Add -D_GNU_SOURCE to CFLAGS.
8710
87112006-04-08 20:42  gb
8712
8713        * library/hash-cons.lisp: Port some of this to x8664; need to add
8714        code to maintain "used" bitmap.
8715
87162006-04-08 20:42  gb
8717
8718        * lib/numbers.lisp: Conditionalize out the FP infinity stuff in the
8719        short term.
8720
87212006-04-08 20:41  gb
8722
8723        * lib/edit-callers.lisp: %MAP-LFIMMS: lfun-vector changes.  Should
8724        someday fix this crap.
8725
87262006-04-08 20:40  gb
8727
8728        * lib/describe.lisp: Conditionalize, a little.
8729
87302006-04-08 20:40  gb
8731
8732        * lib/db-io.lisp: SAVE-DB-FUNCTION appears to be unused.
8733
87342006-04-08 20:39  gb
8735
8736        * level-1/l1-io.lisp: PRINT-A-NAN not #+ppc-target.
8737
87382006-04-08 20:39  gb
8739
8740        * level-1/l1-readloop-lds.lisp: Error reentry stuff here.
8741
87422006-04-08 20:39  gb
8743
8744        * level-1/l1-sockets.lisp: Workaround ffi translator lossage in
8745        _inet_ntoa (just as Darwin has for years; why not fix this ?)
8746
87472006-04-08 20:38  gb
8748
8749        * level-1/ppc-trap-support.lisp: Error-reentry stuff to
8750        l1-readloop-lds (nothing to do with PPC or traps ...)
8751
87522006-04-08 20:37  gb
8753
8754        * .cvsignore: Ignore *CL*/*cl*, not necessarily *CCL*/*ccl*.
8755
87562006-04-08 04:46  gb
8757
8758        * compiler/X86/x862.lisp: X862-MVCALL needs to always save and
8759        restore, even if there's only one values-producing form (that form
8760        might produce more values than will fit in argument registers, and
8761        we therefore have to reserve space for a stack frame.)
8762
87632006-04-08 04:45  gb
8764
8765        * compiler/X86/x86-asm.lisp: Need to actually define INSERT-IMM64.
8766
87672006-04-08 04:43  gb
8768
8769        * lib/macros.lisp: Scanning backwards for instructions depends on a
8770        reasonable architecture.
8771
87722006-04-08 04:43  gb
8773
8774        * lib/compile-ccl.lisp: TARGET-XLOAD-MODULES for x8664.
8775
87762006-04-08 04:42  gb
8777
8778        * xdump/xfasload.lisp: Hide ppc32 double-float-vector stuff in
8779        target arch.
8780
87812006-04-08 04:41  gb
8782
8783        * xdump/.cvsignore: ignore *.*fsl
8784
87852006-04-07 22:46  gb
8786
8787        * compiler/nx.lisp: XCOMPILE-LAMBDA is #+ppc-target for now.
8788
87892006-04-07 22:45  gb
8790
8791        * compiler/nx1.lisp: Provide an FTYPE declaration for
8792        %DEFINE-PPC-LAP-FUNCTION.
8793
87942006-04-07 22:25  gb
8795
8796        * level-1/version.lisp: Bump.
8797
87982006-04-07 22:19  gb
8799
8800        * compiler/PPC/ppc-asm.lisp, compiler/PPC/ppc-backend.lisp,
8801        compiler/PPC/ppc-disassemble.lisp, compiler/PPC/ppc-lap.lisp,
8802        lib/backtrace-lds.lisp: ARCH::OPCODE, ARCH::OPERAND moved to CCL
8803        package.
8804
88052006-04-07 22:18  gb
8806
8807        * compiler/risc-lap.lisp: OPCODE, OPERAND moved here and from
8808        arch:: to ccl::.
8809
88102006-04-07 22:17  gb
8811
8812        * compiler/arch.lisp: OPERAND, OPCODE belong elsewhere (in
8813        RISC-LAP, for instance).  That's a different package, too.
8814
88152006-04-07 20:46  gb
8816
8817        * library/lispequ.lisp: %CONS-FAKE-STACK-FRAME here.  Really.
8818
88192006-04-07 20:45  gb
8820
8821        * level-0/l0-pred.lisp: *IMMHEADER-1-TYPES* was wrong, too.  Should
8822        I maybe look at the others, or just fix them as I stumble on them ?
8823
88242006-04-07 20:44  gb
8825
8826        * compiler/X86/X8664/x8664-vinsns.lisp: jns->jne when checking for
8827        a DOUBLE-FLOAT.
8828
88292006-04-07 20:41  gb
8830
8831        * level-0/nfasload.lisp: Print file pos in FASL-DISPATCH debug
8832        message.
8833
88342006-04-07 20:40  gb
8835
8836        * lib/nfcomp.lisp: #+x8664: Check for fulltag-immheader-1, not
8837        fulltag-immheader-0 twice in fasl-scan-dispatch
8838       
8839        FASL-DUMP-SYMBOL needs a SYMPTR->SYMVECTOR.  (Note that FASLOAD has
8840        never handled uninterned symbols that need a binding index.)
8841
88422006-04-07 07:55  gb
8843
8844        * lib/describe.lisp: Formatting changes, mostly.
8845
88462006-04-07 07:54  gb
8847
8848        * compiler/X86/x862.lisp: multiple-value-calls need to reserve an
8849        outgoing stack frame when more than 3 args/ values are involved.
8850
88512006-04-07 07:53  gb
8852
8853        * lisp-kernel/x86-spentry64.s, lisp-kernel/x86-spjump64.s,
8854        compiler/X86/X8664/x8664-arch.lisp,
8855        compiler/X86/X8664/x8664-vinsns.lisp: _SPrecover-values-for-mvcall
8856        (reserves outgoing frame if necessary.)
8857
88582006-04-07 07:52  gb
8859
8860        * level-1/ppc-trap-support.lisp: %CONS-FAKE-STACK-FRAME moved to
8861        lispequ.
8862
88632006-04-07 06:28  gb
8864
8865        * compiler/X86/X8664/x8664-vinsns.lisp: pop argument regs in the
8866        right order.
8867
88682006-04-07 06:27  gb
8869
8870        * level-0/X86/x86-misc.lisp: VALUES accounts for reserved frame.
8871
88722006-04-07 03:59  gb
8873
8874        * compiler/X86/x862.lisp: Don't push the function on the "value"
8875        stack when doing a MULTIPLE-VALUE-CALL, since its presence there
8876        can interfere with multiple-value continuations.  (Can it be popped
8877        before recovering multiple values ?  I didn't think of that, but I
8878        suspect that that'd be simpler than what I did; check this.  Maybe
8879        there is -or once was- an issue with _SPrecovervalues bashing a
8880        register.)
8881       
8882        Pushing the function on the temp stack while collecting multiple
8883        values avoids the issue (but it may be far better to simply vpop it
8884        before the call to _SPrecovervalues.)
8885       
8886        Most of the issues related to X862-MVCALL calling itself
8887        recursively have to do with cleaning the function off of the stack
8888        in non tail-call cases.  Since the function's not there anymore,
8889        the rationale for splitting this into a base and recursive case
8890        isn't very strong.
8891       
8892        Changes in X862-MVCALL exposed bugs in X862-INVOKE-FN: we don't
8893        want to emit or otherwise reference the mvpass label if it's null.
8894
88952006-04-07 03:51  gb
8896
8897        * compiler/X86/X8664/x8664-vinsns.lisp: TEMP-PUSH-NODE,
8898        TEMP-POP-NODE.
8899
89002006-04-06 21:27  gb
8901
8902        * lib/db-io.lisp: CDB-HASH-MASK happens to be =
8903        PPC32::TARGET-MOST-POSITIVE-FIXNUM.
8904
89052006-04-06 21:26  gb
8906
8907        * level-1/x86-trap-support.lisp: Bugs, not worth describing in
8908        detail.
8909
89102006-04-06 21:25  gb
8911
8912        * level-1/x86-error-signal.lisp: Bugs, not worth describing in
8913        detail ...
8914
89152006-04-06 21:24  gb
8916
8917        * level-1/l1-lisp-threads.lisp: Simplify CFP-LFUN.
8918
89192006-04-06 21:23  gb
8920
8921        * compiler/X86/X8664/x8664-backend.lisp: Fenceposts with the last
8922        gpr/fpr args.
8923
89242006-04-06 21:22  gb
8925
8926        * compiler/X86/X8664/x8664-arch.lisp: tcr->linear_end ->
8927        tcr->save_rbp.
8928
89292006-04-06 21:21  gb
8930
8931        * lisp-kernel/x86-spentry64.s: Maintain tcr->save_rbp on
8932        ffcall/callback.
8933
89342006-04-06 21:20  gb
8935
8936        * lisp-kernel/x86-exceptions.c: Setup tcr->save_rbp when doing a
8937        callback.
8938       
8939        Pass rpc to %ERR-DISP, as it expects.
8940
89412006-04-06 21:19  gb
8942
8943        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
8944        tcr->linear_end -> tcr->save_rbp.
8945
89462006-04-06 07:03  gb
8947
8948        * lisp-kernel/x86-exceptions.c: Call out to handle errors.
8949
89502006-04-06 07:03  gb
8951
8952        * lisp-kernel/linuxx8664/.gdbinit: Ignore more signals.
8953
89542006-04-06 06:44  gb
8955
8956        * compiler/X86/X8664/x8664-vinsns.lisp: Use new UUOs for
8957        slot-boundp checks, eep.address.
8958
89592006-04-06 06:43  gb
8960
8961        * compiler/X86/x862.lisp: X862-FIXUP-FWD-REFS: don't assume that
8962        functions are uvectors or that their constants start at index 1.
8963       
8964        PROGV: don't keep interrupts off in the body.
8965
89662006-04-06 05:58  gb
8967
8968        * compiler/X86/x86-asm.lisp: RESOLVE-EEP uuo needs source and dest
8969        registers to be recoverable.
8970       
8971        Use (int ($ #x8x)) for SLOT-UNBOUND, since it needs slot-vector,
8972        index, and dest reg to be recoverable.
8973       
8974        Note that the use of this range of (int N) operands may lead to
8975        confusion on platforms that use int #x80 for syscalls.  That (a)
8976        doesn't apply to x8664, since SYSCALL is present and used on x8664
8977        and (b) would only be a problem if the dest reg was %rax, which it
8978        won't be.
8979
89802006-04-06 05:53  gb
8981
8982        * lib/macros.lisp: DEFSETF for INTERRUPT-LEVEL here.
8983
89842006-04-06 05:53  gb
8985
8986        * level-0/l0-init.lisp: Better (useful) X8664 *FEATURES*.
8987
89882006-04-06 05:52  gb
8989
8990        * level-0/l0-hash.lisp: Remove some #+x86-target DBG traps.   Add a
8991        few fixnum decls in and around DO-REHASH.
8992
89932006-04-06 05:51  gb
8994
8995        * level-0/X86/x86-def.lisp: %RETURN-ADDRESS-FUNCTION: if argument
8996        is a "real" tagged return address, return the associated function.
8997
89982006-04-06 05:50  gb
8999
9000        * level-1/: x86-error-signal.lisp, x86-trap-support.lisp: Flesh
9001        this out some.  The FAKE-STACK-FRAME stuff isn't quite the right
9002        idea on X8664; may need to revise it.
9003
90042006-04-06 05:49  gb
9005
9006        * level-1/ppc-trap-support.lisp: Remove HANDLE-GC-HOOKS.
9007
90082006-04-06 05:49  gb
9009
9010        * level-1/ppc-threads-utils.lisp: DEFSETF for INTERRUPT-LEVEL moved
9011        ... anywhere but a platform-specific file.
9012
90132006-04-06 05:48  gb
9014
9015        * level-1/l1-events.lisp: HANDLE-GC-HOOKS isn't really
9016        platform-specific, so move it here.
9017
90182006-04-06 05:47  gb
9019
9020        * level-1/: l1-clos-boot.lisp, l1-clos.lisp: Hashing code expects
9021        instance.hash to be a fixnum, so violating that expectation (as was
9022        done a few weeks ago for debugging) fouls things up royally.  This
9023        may have led to instability on PPC as well.
9024
90252006-04-06 05:44  gb
9026
9027        * lisp-kernel/x86-exceptions.c: Return false (for now) on unhandled
9028        UUO.  (Need to merge code from another machine, which will try to
9029        call out to lisp.)
9030
90312006-04-06 05:43  gb
9032
9033        * lisp-kernel/pmcl-kernel.c: register_sigint_handler on x8664.
9034
90352006-04-05 06:57  gb
9036
9037        * lisp-kernel/x86-spentry64.s: nthrow variants: set %Rforeign_sp,
9038        not tcr slot.
9039       
9040        _SPcallback aligns the foreign stack the way that lisp expects.
9041
90422006-04-05 06:56  gb
9043
9044        * lisp-kernel/x86-exceptions.c: Handle more stuff, including
9045        interrupt callbacks.
9046
90472006-04-05 06:55  gb
9048
9049        * library/x8664-linux-syscalls.lisp: GETUID was wrong.
9050
90512006-04-05 06:55  gb
9052
9053        * level-1/x86-trap-support.lisp: VERY early callback for interrupt
9054        handling.
9055
90562006-04-05 06:54  gb
9057
9058        * level-1/l1-callbacks.lisp: Comment format
9059
90602006-04-05 06:54  gb
9061
9062        * level-0/X86/x86-utils.lisp: Arg order in lap macros.
9063
90642006-04-05 06:54  gb
9065
9066        * level-0/l0-pred.lisp: Get *IMMHEADER-2-TYPES* (or whatever it's
9067        called) right.
9068
90692006-04-05 06:53  gb
9070
9071        * compiler/X86/X8664/x8664-backend.lisp: DEFCALLBACK guts for
9072        X8664.
9073
90742006-04-05 05:20  gb
9075
9076        * lisp-kernel/x86-exceptions.c: Do some callbacks.  Let's see if
9077        they work yet.
9078
90792006-04-05 05:19  gb
9080
9081        * lisp-kernel/x86-spentry64.s: Use interrupt-checking macros.  Fix
9082        callback typos.
9083
90842006-04-05 05:19  gb
9085
9086        * lisp-kernel/x86-macros.s: Check for interrupts, and do so when we
9087        know that they've just become enabled.
9088
90892006-04-05 05:17  gb
9090
9091        * lisp-kernel/x86-exceptions.c: Set high bit of tcr->interrupt
9092        pending when there's ... a pending interrupt.
9093
90942006-04-05 05:17  gb
9095
9096        * lisp-kernel/x86-exceptions.h: Define xuuo stuff.
9097
90982006-04-04 21:47  gb
9099
9100        * lisp-kernel/x86-spentry64.s: callback changes.
9101
91022006-04-04 21:47  gb
9103
9104        * lisp-kernel/lisp-debug.c: rip "=", not "-".
9105
91062006-04-04 21:46  gb
9107
9108        * lisp-kernel/linuxx8664/.gdbinit: Ignore SIGPWR, until we know
9109        better.
9110
91112006-04-04 18:51  gb
9112
9113        * lisp-kernel/pmcl-kernel.c: Wimp out, back to 128GB for
9114        LinuxPPC64.
9115
91162006-04-04 18:50  gb
9117
9118        * level-1/linux-files.lisp: Don't use %GET-NATURAL in Linux version
9119        of PIPE, since file descriptors are always C ints.
9120
91212006-04-04 18:03  gb
9122
9123        * compiler/PPC/PPC32/ppc32-backend.lisp,
9124        compiler/PPC/PPC64/ppc64-backend.lisp, lib/macros.lisp: callback
9125        implementation moved to the backend.
9126
91272006-04-04 18:02  gb
9128
9129        * lib/arglist.lisp: ARGLIST-FROM-MAP: get &rest name right when
9130        &key is also present.
9131
91322006-04-04 16:10  gb
9133
9134        * lisp-kernel/pmcl-kernel.c: linuxppc64 can't mmap 512GB; try
9135        256GB.
9136
91372006-04-04 15:52  gb
9138
9139        * level-1/version.lisp: Bump. New images soon.
9140
91412006-04-04 15:52  gb
9142
9143        * compiler/backend.lisp: Add slots for callback definition.
9144
91452006-04-04 15:52  gb
9146
9147        * compiler/nx0.lisp: Remove a #-bccl.
9148
91492006-04-04 15:26  gb
9150
9151        * lisp-kernel/x86_print.c: print_unsigned_hex: conditionalize on
9152        word size.
9153
91542006-04-04 15:26  gb
9155
9156        * lisp-kernel/x86-spentry64.s: First cut of _SPcallback.
9157
91582006-04-04 15:26  gb
9159
9160        * lisp-kernel/x86-macros.s: Catch frames save foreign sp from
9161        register, not from tcr slot.
9162
91632006-04-04 15:25  gb
9164
9165        * lisp-kernel/x86-exceptions.c: Uncomment the body of
9166        interrupt_handler.
9167
91682006-04-04 15:18  gb
9169
9170        * compiler/lambda-list.lisp: %LFUN-INFO & friends: do
9171        (FUNCTION-TO-FUNCTION-VECTOR).
9172
91732006-04-04 15:18  gb
9174
9175        * compiler/X86/x86-lapmacros.lisp: check-nargs: bad comparison on
9176        max when both min and max.
9177
91782006-04-04 15:18  gb
9179
9180        * lib/macros.lisp: spurious checkin; no real change
9181
91822006-04-03 23:01  gb
9183
9184        * lisp-kernel/x86-gc.c: Make purify() a nop, for now.
9185
91862006-04-03 22:43  gb
9187
9188        * scripts/openmcl64: Maybe (check for x8664 Linux is untested).
9189
91902006-04-03 22:42  gb
9191
9192        * lisp-kernel/bits.h: Constants are word-size (not CPU-variant)
9193        -specific.
9194
91952006-04-03 22:42  gb
9196
9197        * lisp-kernel/pmcl-kernel.c: 512GB MAXIMUM_MAPPABLE_MEMORY on
9198        x8664/Linux as well.
9199
92002006-04-03 22:41  gb
9201
9202        * lisp-kernel/ppc-gc.c: Remove X86 conditionalization.  Maybe merge
9203        x86-gc.c and ppc-gc.c back into a single file someday (or at least
9204        put truly shared code there),but for now this is simpler.
9205
92062006-04-03 22:38  gb
9207
9208        * lisp-kernel/x86-exceptions.c: A little more infrastructure, so
9209        that we can actually call the GC.
9210
92112006-04-03 22:37  gb
9212
9213        * lisp-kernel/x86-exceptions.h: Define UUO, trap opcodes.
9214
92152006-04-03 22:36  gb
9216
9217        * lisp-kernel/x86-gc.c: It's ... alive.
9218
92192006-04-03 22:36  gb
9220
9221        * lisp-kernel/x86-spentry64.s: Use new vector bounds traps. How
9222        about boundp checks ?
9223
92242006-04-03 22:35  gb
9225
9226        * lisp-kernel/x86-uuo.s: New uuo definitions.
9227
92282006-04-03 22:35  gb
9229
9230        * lib/macros.lisp: DO-GC-AREAS,which is one of those macro things,
9231        moved here. Uses archmacro AREA-SUCC (defined here) to avoid
9232        TARGET-ARCH-CASE lossage.
9233
92342006-04-03 22:34  gb
9235
9236        * level-1/l1-lisp-threads.lisp: DO-GC-AREAS,which is one of those
9237        macro things, moved to macros.lisp.
9238
92392006-04-03 22:33  gb
9240
9241        * level-0/X86/x86-misc.lisp: Zero out all of the write-lock's
9242        writer slot, not just the low half.
9243
92442006-04-03 22:32  gb
9245
9246        * level-0/PPC/ppc-utils.lisp: TRUE, FALSE : cmplr vs cmplri.
9247        Typical rookie PPC assembler mistake ...
9248
92492006-04-03 22:31  gb
9250
9251        * level-0/l0-misc.lisp: %FREEBYTES looked like a job for
9252        %GET-NATURAL.
9253
92542006-04-03 22:31  gb
9255
9256        * compiler/X86/X8664/x8664-vinsns.lisp: Use newfangled UUOs.
9257
92582006-04-03 22:30  gb
9259
9260        * compiler/X86/x86-asm.lisp: Add UUO-ERROR-UNBOUND,
9261        UUO-ERROR-SLOT-UNBOUND, UUO-ERROR-EEP-UNRESOLVED.
9262
92632006-04-03 22:29  gb
9264
9265        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
9266        X86/X8664/x8664-arch.lisp: AREA-SUCC archmacro.
9267
92682006-04-01 23:36  gb
9269
9270        * lisp-kernel/x86-exceptions.h: xpMMXreg, sigaltstack stuff.
9271
92722006-04-01 23:35  gb
9273
9274        * lisp-kernel/x86-exceptions.c: take signals on an alternate signal
9275        stack, run the handler on the foreign stack (this is all intended
9276        to keep signal handlers from splatting sigcontexts all over the
9277        tagged lisp stack.)
9278
92792006-04-01 23:33  gb
9280
9281        * lisp-kernel/x86-constants64.h: mmx register indices.
9282
92832006-04-01 23:33  gb
9284
9285        * lisp-kernel/x86-asmutils64.s: switch_to_foreign_stack().
9286
92872006-04-01 23:32  gb
9288
9289        * lisp-kernel/thread_manager.c: register_cstack_holding_area_lock()
9290        takes a natural stack size.
9291
92922006-04-01 23:32  gb
9293
9294        * lisp-kernel/pmcl-kernel.c: register_cstack_holding_area_lock()
9295        takes a natural stack size, sets up alternate signal stack if
9296        USE_SIGALTSTACK.
9297
92982006-04-01 23:31  gb
9299
9300        * lisp-kernel/lisp.h: USE_SIGALTSTACK if X8664.  (Might someday
9301        depend on platform.)
9302
93032006-03-31 23:15  gb
9304
9305        * lisp-kernel/linuxx8664/Makefile: gc.o -> x86-gc.o
9306
93072006-03-31 23:00  gb
9308
9309        * lisp-kernel/x86-gc.c: New file; currently, an exact copy of
9310        ppc-gc.c, but they'll diverge some soon.
9311
93122006-03-31 22:56  gb
9313
9314        * lisp-kernel/: linuxppc/Makefile, linuxppc64/Makefile,
9315        static-linuxppc/Makefile: gc.o -> ppc-gc.o
9316
93172006-03-31 22:52  gb
9318
9319        * lisp-kernel/: darwinppc/Makefile, darwinppc64/Makefile: gc.o ->
9320        ppc-gc.o
9321
93222006-03-31 22:51  gb
9323
9324        * lisp-kernel/area.h: Need prototype for heap_area_containing().
9325        heap_node_area_containing(), which doesn't exist ... not so much.
9326
93272006-03-31 22:50  gb
9328
9329        * lisp-kernel/memory.c: Some functions moved here from gc.c before
9330        it was renamed/split.
9331
93322006-03-31 22:48  gb
9333
9334        * lisp-kernel/gc.c: rename/split
9335
93362006-03-31 22:46  gb
9337
9338        * lisp-kernel/ppc-gc.c: renamed
9339
93402006-03-31 00:54  gb
9341
9342        * lisp-kernel/x86-spentry64.s: Progvsave, progvrestore seem to
9343        work.
9344       
9345        Not sure about the tail end of the multiple-value case of THROW,
9346        but at least it's there.
9347
93482006-03-31 00:53  gb
9349
9350        * library/x8664-linux-syscalls.lisp: still need work, but more
9351        stuff (including socket syscalls) are defined now.
9352
93532006-03-31 00:52  gb
9354
9355        * level-1/version.lisp: Bump.
9356
93572006-03-31 00:52  gb
9358
9359        * level-1/l1-sockets.lisp: Conditionalize lots for x8664.
9360
93612006-03-31 00:51  gb
9362
9363        * level-0/X86/x86-def.lisp: No debug trap in %CFP-LFUN.
9364
93652006-03-31 00:50  gb
9366
9367        * level-0/l0-init.lisp: Simplify *FEATURES* init a little.  Try to
9368        ensure that :linuxx8664-target is there if it should be.
9369
93702006-03-31 00:46  gb
9371
9372        * compiler/X86/X8664/x8664-arch.lisp: Define
9373        MAX-8-BIT-IVECTOR-SUBTAG, too.
9374
93752006-03-30 03:23  gb
9376
9377        * level-1/l1-aprims.lisp: ELEMENT-SUBTYPE-TYPE for x8664.
9378
93792006-03-30 03:22  gb
9380
9381        * level-1/l1-boot-2.lisp: Load some x8664 files,
9382
93832006-03-30 03:21  gb
9384
9385        * level-1/l1-boot-3.lisp: Comments and formatting.
9386
93872006-03-30 03:20  gb
9388
9389        * level-1/l1-clos-boot.lisp: Some x8664 changes.
9390
93912006-03-30 03:20  gb
9392
9393        * level-1/l1-clos.lisp: Use REPLACE-FUNCTION-CODE another time or
9394        two.
9395       
9396        Set class's INSTANCE.HASH slots to class name, to make classes
9397        easier to identify in kernel debugger.  (Might not want to keept
9398        this, but could set/clear a bit there.)
9399
94002006-03-30 03:18  gb
9401
9402        * level-1/: l1-files.lisp, l1-dcode.lisp: Comments and formatting
9403        changes only.
9404
94052006-03-30 03:17  gb
9406
9407        * level-1/l1-lisp-threads.lisp: Start to move some stuff into
9408        platform-dependent files.
9409
94102006-03-30 03:16  gb
9411
9412        * level-1/: l1-pathnames.lisp, l1-numbers.lisp: Conditionalize.
9413
94142006-03-30 03:16  gb
9415
9416        * level-1/l1-streams.lisp: 64-bit conditionalization, and x8664
9417        stuff.
9418
94192006-03-30 03:15  gb
9420
9421        * level-1/l1-typesys.lisp: 64-bit array type on all (both) 64-bit
9422        platforms.
9423
94242006-03-30 03:13  gb
9425
9426        * level-1/l1-utils.lisp: TRUE and FALSE now in LAP.
9427
94282006-03-30 03:13  gb
9429
9430        * level-1/level-1.lisp: Load "new" x8664 files.
9431
94322006-03-30 03:12  gb
9433
9434        * level-1/linux-files.lisp: Conditionalize some for x8664.
9435
94362006-03-30 03:12  gb
9437
9438        * level-1/ppc-threads-utils.lisp: Some stuff moved here from
9439        l1-lisp-threads.
9440
94412006-03-30 03:11  gb
9442
9443        * lib/compile-ccl.lisp: X8664-related changes.
9444
94452006-03-30 03:11  gb
9446
9447        * lib/foreign-types.lisp: Setup host-ftd based on compile-time
9448        target.  Yow, recursion.
9449
94502006-03-30 03:10  gb
9451
9452        * lib/macros.lisp: LET-GLOBALLY deals with symptr/symvector stuff.
9453
94542006-03-30 03:10  gb
9455
9456        * lib/misc.lisp: Fix Linux MACHINE-INSTANCE.
9457       
9458        Move DISASSEMBLE and interface here.
9459
94602006-03-30 03:09  gb
9461
9462        * lib/nfcomp.lisp: Conditionalize for x8664; dump native functions
9463        via fasl-clfun.
9464
94652006-03-30 03:08  gb
9466
9467        * lib/prepare-mcl-environment.lisp: Needed symptr/symvector stuff.
9468
94692006-03-30 03:08  gb
9470
9471        * lib/systems.lisp: Add new x86 level-1 stuff; remove some truly
9472        ancient MCLisms.
9473
94742006-03-30 03:06  gb
9475
9476        * library/x8664-linux-syscalls.lisp: Some fixes and additions, but
9477        still needs lots of work.
9478
94792006-03-30 03:06  gb
9480
9481        * lisp-kernel/x86_print.c: If instance.hash of an instance isn't a
9482        fixnum, treat it as a class name.  (Hard to otherwise recognize
9483        classes from the kernel.)
9484
94852006-03-30 03:04  gb
9486
9487        * lisp-kernel/x86-spjump64.s: rename poweropen_callback ->callback.
9488
94892006-03-30 03:04  gb
9490
9491        * lisp-kernel/x86-spentry64.s: Lots of bug fixes.
9492       
9493        Multiple-value THROW still needs work, and CALLBACK still needs to
9494        be written (both sides).
9495
94962006-03-30 03:02  gb
9497
9498        * lisp-kernel/x86-constants64.s: No FPSCR here, but an MXCSR.
9499
95002006-03-30 03:01  gb
9501
9502        * lisp-kernel/ppc-spentry.s: Error call in misc_set_invalid
9503        involves 4 args.
9504
95052006-03-30 03:00  gb
9506
9507        * lisp-kernel/pmcl-kernel.c: Larger GC defaults if 64-bit, not just
9508        PPC64.
9509       
9510        Insist on Linux kernel 2.6 if x8664 linux.
9511
95122006-03-30 02:59  gb
9513
9514        * lisp-kernel/plsym.c: Missing #\% in format string.
9515
95162006-03-30 02:56  gb
9517
9518        * lisp-kernel/linuxx8664/.gdbinit: More stuff.
9519
95202006-03-30 02:55  gb
9521
9522        * level-1/: x86-callback-support.lisp, x86-error-signal.lisp,
9523        x86-threads-utils.lisp, x86-trap-support.lisp: Nee files.
9524
95252006-03-30 02:54  gb
9526
9527        * level-0/X86/X8664/x8664-bignum.lisp: Remove debug traps from
9528        things that're believed to be working.
9529
95302006-03-30 02:54  gb
9531
9532        * level-0/X86/x86-utils.lisp: CLASS-OF changes/fixes.  Move
9533        #'TRUE/#'FALSE here.
9534
95352006-03-30 02:53  gb
9536
9537        * level-0/X86/x86-symbol.lisp: %SYMPTR->SYMBOL: check for nilsym,
9538        not NIL.
9539
95402006-03-30 02:52  gb
9541
9542        * level-0/X86/x86-numbers.lisp: %FIXNUM-TRUNCATE: return results in
9543        the right order.
9544       
9545        %IASL: shift the right register.
9546
95472006-03-30 02:51  gb
9548
9549        * level-0/X86/x86-misc.lisp: Fix %FUDGE-HEAP-POINTER; define
9550        INTERRUPT-LEVEL.
9551
95522006-03-30 02:51  gb
9553
9554        * level-0/X86/x86-float.lisp: %get-mxcsr stores the mxcsr in memory
9555        so that we can load it into a fixnum.
9556
95572006-03-30 02:50  gb
9558
9559        * level-0/X86/x86-def.lisp: %CFP-LFUN: try to recognize
9560        multiple-value returning calls, return NIL if tra offset is 0.
9561
95622006-03-30 02:49  gb
9563
9564        * level-0/X86/x86-clos.lisp: Remove debug traps; use registers
9565        sanely in the SETF case.
9566
95672006-03-30 02:48  gb
9568
9569        * level-0/PPC/ppc-utils.lisp: Implement TRUE and FALSE in LAP.
9570
95712006-03-30 02:48  gb
9572
9573        * level-0/PPC/ppc-clos.lisp: Change the name of a constant that'll
9574        get clobbered when this is cloned anyway.  (Is that clear ?)
9575
95762006-03-30 02:47  gb
9577
9578        * level-0/l0-pred.lisp: %TYPE-OF fixes for x8664.
9579       
9580        We haven't had interpreted functions for a few years.
9581
95822006-03-30 02:46  gb
9583
9584        * level-0/l0-float.lisp: %SET-DOUBLE-FLOAT-EXP: endianness, use
9585        symbolic constant for high word.
9586
95872006-03-30 02:45  gb
9588
9589        * level-0/l0-array.lisp: SUBTAG-BYTES for X8664.
9590
95912006-03-30 02:45  gb
9592
9593        * compiler/X86/X8664/x8664-vinsns.lisp: Lots of bug fixes.
9594
95952006-03-30 02:44  gb
9596
9597        * compiler/X86/X8664/x8664-arch.lisp: REQUIRE what we need.
9598       
9599        Get CATCH-FRAME definition right.
9600       
9601        .SPpoweropen-callback -> .SPcallback.
9602
96032006-03-30 02:43  gb
9604
9605        * compiler/X86/x862.lisp: Lots of changes and bugfixes.
9606
96072006-03-30 02:42  gb
9608
9609        * compiler/X86/x86-lap.lisp: Avid path in REQUIRE; create native
9610        functions.
9611
96122006-03-30 02:42  gb
9613
9614        * compiler/X86/x86-disassemble.lisp: Run natively: provide
9615        X8664-XDISASSEMBLE.
9616
96172006-03-30 02:41  gb
9618
9619        * compiler/X86/x86-asm.lisp: Assemble things (uuos) with a "pseudo"
9620        ModRM byte, which allows encoding two 4-bit x8664 registers in a
9621        single byte.
9622
96232006-03-30 02:40  gb
9624
9625        * compiler/X86/x86-arch.lisp: Need to explicitly (REQUIRE "ARCH").
9626
96272006-03-30 02:39  gb
9628
9629        * compiler/PPC/PPC64/ppc64-arch.lisp: Define high and low 32-bit
9630        parts of a DOUBLE-FLOAT.
9631
96322006-03-30 02:39  gb
9633
9634        * compiler/PPC/ppc-disassemble.lisp: DISASSEMBLE and
9635        FUNCTION-FOR-DISASSEMBLY moved elsewhere.
9636
96372006-03-25 20:47  gb
9638
9639        * lisp-kernel/lisp-debug.c: Fix x8664 lisp register display.
9640
96412006-03-25 20:42  gb
9642
9643        * lib/ccl-export-syms.lisp: Fix export of CCL::GETENV and
9644        CCL::SETENV.
9645
96462006-03-25 20:37  gb
9647
9648        * lisp-kernel/x86-spentry64.s: Dozens of bug fixes.
9649       
9650        Do uvref (not yet uvset) via jump table.
9651
96522006-03-25 20:36  gb
9653
9654        * lisp-kernel/x86-macros.s: Do arithmetic correctly in Cons macro.
9655       
9656        Split up Misc_Alloc.
9657
96582006-03-25 20:34  gb
9659
9660        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Tag juggling.
9661
96622006-03-25 20:34  gb
9663
9664        * lisp-kernel/ppc_print.c: Identify SLOT-VECTORs in kernel
9665        debugger.
9666
96672006-03-25 20:33  gb
9668
9669        * lisp-kernel/errors.s: Add some error numbers for uvref/uvset
9670        failures that should never happen.
9671
96722006-03-25 20:32  gb
9673
9674        * lisp-kernel/lisp-debug.c: Change x8664 lisp register display.
9675
96762006-03-25 20:32  gb
9677
9678        * lisp-kernel/gc.c: IMPURIFY: maybe grow the dynamic area, but
9679        don't shrink it.
9680
96812006-03-25 20:31  gb
9682
9683        * lisp-kernel/plsym.c: Symbol address may be longer than 32 bits.
9684
96852006-03-25 20:31  gb
9686
9687        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s: sgbuf has
9688        been lisp_thread for the past few years.
9689
96902006-03-25 20:30  gb
9691
9692        * lisp-kernel/ppc-spentry.s: Do uvref/uvset via jump tables.
9693        (Fewer branches, more redundancy.)
9694
96952006-03-25 20:29  gb
9696
9697        * lisp-kernel/x86_print.c: Identify SLOT-VECTORs.  Print TRAs.
9698
96992006-03-25 20:28  gb
9700
9701        * lisp-kernel/xlbt.c: Skip over lexpr nonsense.
9702
97032006-03-25 20:28  gb
9704
9705        * lisp-kernel/linuxx8664/.gdbinit: More GDB macros.
9706
97072006-03-25 20:27  gb
9708
9709        * library/lispequ.lisp: %GF-DISPATCH-TABLE-REF uses %SVREF.
9710
97112006-03-25 20:26  gb
9712
9713        * lib/misc.lisp: MACHINE-VERSION caches the result per-session;
9714        looks in /proc/cpuinfo for something machine-dependent on Linux,
9715        passes 64-bit stuff on DarwinPPC64.
9716
97172006-03-25 20:25  gb
9718
9719        * lib/macros.lisp: LFUN-BITS-KNOWN-FUNCTIONS uses arch macros to
9720        access function vector.
9721
97222006-03-25 20:23  gb
9723
9724        * level-1/version.lisp: Bump.
9725
97262006-03-25 20:23  gb
9727
9728        * level-1/l1-io.lisp: No more interpreted functions.
9729
97302006-03-25 20:23  gb
9731
9732        * level-1/l1-dcode.lisp: Mostly comment and formatting changes.
9733
97342006-03-25 20:22  gb
9735
9736        * level-1/l1-clos.lisp: Fix typos in x86 function cloning;
9737        comment/formatting changs.
9738
97392006-03-25 20:21  gb
9740
9741        * level-1/l1-clos-boot.lisp: Lots of formatting changes; try to use
9742        DEFGLOBAL, since special variable lookup is ~10 instructions or so.
9743
97442006-03-25 20:20  gb
9745
9746        * level-1/l1-boot-1.lisp: HOST-PLATFORM, PLATFORM-DESCRIPTION:
9747        generalize, a little.
9748
97492006-03-25 20:19  gb
9750
9751        * level-1/l1-aprims.lisp: LFUN-KEYVECT access function vector, if
9752        that's not the function.  NREVERSE checks for NIL, mostly so I
9753        wouldn't have to single-step through that case in GDB.
9754
97552006-03-25 20:18  gb
9756
9757        * level-0/X86/X8664/x8664-bignum.lisp: Shift in the correct
9758        direction, sign-extend (or don't) as apropriate, etc.  Still some
9759        debug traps on things that haven't been called yet.
9760
97612006-03-25 20:17  gb
9762
9763        * level-0/X86/x86-utils.lisp: CLASS-OF fixes.
9764
97652006-03-25 20:17  gb
9766
9767        * level-0/X86/x86-pred.lisp: If the recursive list case of EQUAL
9768        fails, fail; don't fall into the uvector case ...
9769
97702006-03-25 20:16  gb
9771
9772        * level-0/X86/x86-numbers.lisp: Fenceposts in fixnum
9773        integer-length.
9774
97752006-03-25 20:15  gb
9776
9777        * level-0/X86/x86-hash.lisp: Strip-tag-to-fixnum without shifts.
9778
97792006-03-25 20:15  gb
9780
9781        * level-0/X86/x86-def.lisp: Stuff here seems to work, so far ...
9782
97832006-03-25 20:14  gb
9784
9785        * level-0/X86/x86-clos.lisp: debug traps on slot-lookup LAP
9786        prototypes.
9787
97882006-03-25 20:12  gb
9789
9790        * level-0/l0-pred.lisp: rearrange %type-of for tag changes.
9791
97922006-03-25 20:12  gb
9793
9794        * level-0/l0-numbers.lisp: No need to specify an initial value 0
9795        when stack-consing a bignum in %BIGNUM-RANDOM.  Add a fixnum decl
9796        or two.
9797
97982006-03-25 20:11  gb
9799
9800        * level-0/l0-hash.lisp: Symbol aren't (necessarily) uvectors. X86
9801        breakpoints if we hash any symbols ...
9802
98032006-03-25 20:09  gb
9804
9805        * level-0/l0-bignum64.lisp: Um, most of this is supposed to be
9806        #+64-bit-target, not #+ppc64-target.
9807
98082006-03-25 20:09  gb
9809
9810        * compiler/X86/X8664/x8664-vinsns.lisp:
9811        SET-CLOSURE-FORWARD-REFERENCE: functions aren't uvectors.
9812       
9813        Lots of other changes/fixes.
9814
98152006-03-25 20:08  gb
9816
9817        * compiler/X86/X8664/x8664-arch.lisp: Tag reorganization.
9818       
9819        MISC-SYMBOL-OFFSET, MISC-FUNCTION-OFFSET.
9820       
9821        FUNCTION-TO-FUNCTION-VECTOR, FUNCTION-VECTOR-TO-FUNCTION arch
9822        macros have something to do here.
9823
98242006-03-25 20:06  gb
9825
9826        * compiler/X86/x862.lisp: Some operators can push results directly.
9827       
9828        Lots of bug fixes.
9829
98302006-03-25 20:05  gb
9831
9832        * compiler/X86/x86-asm.lisp: CMPB: accept signed/unsigned
9833        immediate.
9834
98352006-03-25 20:04  gb
9836
9837        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Arch
9838        macros for FUNCTION-TO-FUNCTION-VECTOR and
9839        FUNCTION-VECTOR-TO-FUNCTION.
9840       
9841        (NOPs.)
9842
98432006-03-25 20:03  gb
9844
9845        * compiler/optimizers.lisp: MACPTRP.
9846
98472006-03-25 20:03  gb
9848
9849        * compiler/nx.lisp: COMPILE: don't check for INTERPRETED-FUNCTION,
9850        unless/until we have them again (in some form.)
9851
98522006-03-20 10:05  gwking
9853
9854        * lib/ccl-export-syms.lisp: Exporting getenv and setenv from CCL
9855
98562006-03-19 20:30  gb
9857
9858        * lisp-kernel/x86-spentry64.s: Old-style destructuring, VALUES.
9859
98602006-03-19 20:29  gb
9861
9862        * lisp-kernel/x86-constants64.s: Define %nargs_b.
9863
98642006-03-19 20:29  gb
9865
9866        * lisp-kernel/x86-constants.s: Define registers/bitfields used in
9867        old-style destructuring subprims.
9868
98692006-03-19 20:28  gb
9870
9871        * library/lispequ.lisp: $XNOFINFUNCTION.
9872
98732006-03-19 20:27  gb
9874
9875        * lib/level-2.lisp: Conditionalize out bit, bitfield accessors
9876        until they work ...
9877
98782006-03-19 20:27  gb
9879
9880        * lib/backtrace-lds.lisp: Conditionalize
9881        GET-REGISTER-VALUE/SET-REGISTER-VALUE catch frame access.
9882
98832006-03-19 20:26  gb
9884
9885        * level-1/: l1-clos-boot.lisp, l1-clos.lisp, l1-dcode.lisp:
9886        Conditionalize, mostly for whether the implementation has separate
9887        code-vector and function objects or not. (ppc vs x86, for now.)
9888
98892006-03-19 20:25  gb
9890
9891        * level-0/X86/x86-numbers.lisp: %FIXNUM-GCD.  Slower then the one
9892        that counts bits, but doesn't need as many registers.
9893
98942006-03-19 20:24  gb
9895
9896        * level-0/X86/x86-def.lisp: Do the lexpr/methd-context apply stuff.
9897         %X86-CLONE-FUNCTION, REPLACE-FUNCTION-CODE.
9898       
9899        Wouldn't hurt to do some typechecking in some of the lap code here.
9900
99012006-03-19 20:22  gb
9902
9903        * level-0/X86/x86-clos.lisp: Yet.
9904
99052006-03-19 20:22  gb
9906
9907        * level-0/PPC/ppc-def.lisp: REPLACE-FUNCTION-CODE abstraction.
9908
99092006-03-19 20:22  gb
9910
9911        * level-0/PPC/ppc-clos.lisp: UNSET-FIN-TRAMPOLINE doesn't reference
9912        constants.  (This could neve  have worked.)
9913
99142006-03-19 20:21  gb
9915
9916        * level-0/l0-error.lisp: Replace error format string 9.
9917
99182006-03-19 20:20  gb
9919
9920        * compiler/X86/X8664/x8664-vinsns.lisp: &lexpr fixes, old-style
9921        destructuring.
9922
99232006-03-19 20:20  gb
9924
9925        * compiler/X86/X8664/x8664-arch.lisp: Add the xtra slot to
9926        lisp-frame.  yield syscall, gf-code-size.
9927
99282006-03-19 20:19  gb
9929
9930        * compiler/X86/x862.lisp: Fix some lexpr confusion, mv-call
9931        recursive problems.
9932
99332006-03-19 20:18  gb
9934
9935        * compiler/X86/x86-lapmacros.lisp: SAVE-FRAME-VARIABLE-ARG-COUNT,
9936        CALL-SUBPRIM.
9937
99382006-03-19 20:17  gb
9939
9940        * compiler/X86/x86-lap.lisp: Support :CODE-SIZE and :ORG
9941        directives.  Change :CONSTANTS to :FIXED-CONSTANTS.
9942
99432006-03-19 20:16  gb
9944
9945        * compiler/nx1.lisp: Can use MAKE-ARRAY rather than MAKE-SEQUENCE.
9946
99472006-03-17 23:38  gb
9948
9949        * xdump/xfasload.lisp: Special case references to NIL in package
9950        htabs.
9951       
9952        Leave deleted markers behind for symbols that we haven't seen
9953        references to; leave empty (0) words empty.
9954
99552006-03-17 23:36  gb
9956
9957        * lisp-kernel/linuxx8664/.gdbinit: Add a few lisp debugging things.
9958
99592006-03-17 23:36  gb
9960
9961        * lisp-kernel/xlbt.c: Recognize multiple-value returning frames and
9962        find the real tra underneath ret1valn.
9963
99642006-03-17 23:35  gb
9965
9966        * lisp-kernel/x86-spentry64.s: "gen" tcalls had the same bug as the
9967        known-stack-args cases did several days ago.
9968
99692006-03-17 23:34  gb
9970
9971        * lisp-kernel/x86-macros.s: New do_funcall().
9972
99732006-03-17 23:33  gb
9974
9975        * lisp-kernel/x86-exceptions.c: When we field an alloc trap, make
9976        sure that both the allocptr register and the save_allocptr slot in
9977        the TCR are updated and consistent with each other.
9978
99792006-03-17 23:32  gb
9980
9981        * lisp-kernel/x86-constants64.h: A lisp frame may have two return
9982        addresses (one for the multiple-value mechanism and the real one.)
9983
99842006-03-17 23:31  gb
9985
9986        * lisp-kernel/plsym.c: If there's such a thing as fulltag_symbol,
9987        try to use it.
9988
99892006-03-17 23:29  gb
9990
9991        * level-0/X86/x86-symbol.lisp: Symptr/symvector deconflation.
9992
99932006-03-17 23:28  gb
9994
9995        * level-0/X86/x86-pred.lisp: Add %LISP-LOWBYTE-REF; could be
9996        open-coded (and may once have been.)
9997
99982006-03-17 23:27  gb
9999
10000        * level-0/nfasload.lisp: Some SYMPTR->SYMVECTOR usage.  Define
10001        %FASL-READ-SIGNED-LONG;  use it in a few places.  Assume that
10002        scalar integers are stored big-endian; construct native-endian
10003        integers from them.
10004
100052006-03-17 23:26  gb
10006
10007        * level-0/l0-symbol.lisp: Lots of SYMPTR->SYMVECTOR usage.
10008
100092006-03-17 23:25  gb
10010
10011        * level-0/l0-pred.lisp: Do %TYPE-OF for x8664.
10012
100132006-03-17 23:24  gb
10014
10015        * level-0/l0-def.lisp: Use SYMPTR->SYMVECTOR where necessary, so
10016        that we can %SVREF around in symbols.
10017       
10018        A little light reorganization, to make it easier to add debugging
10019        breakpoints for things like FUNCTION-NAME.
10020
100212006-03-17 23:22  gb
10022
10023        * compiler/X86/X8664/x8664-vinsns.lisp: Kinder, gentler
10024        CHECK-MISC-BOUND.  (What was I thinking ?)
10025       
10026        More cleanup to FUNCALL and variants.
10027       
10028        MAKE-TSP-CONS: fix braindamage, use only one register.  (Need to
10029        write down pc-luser-xp constraints for TSP allocation, but I think
10030        that this meets the current artist's conception of them.)
10031       
10032        %SYMBOL->SYMPTR does what it does on other platforms (e.g., map NIL
10033        to a proxy symbol and/or insist on a real symbol.)
10034        %SYMPTR->SYMVECTOR maps something tagged as a symbol to the
10035        underlying uvector by playing with tag bits, and %SYMVECTOR->SYMPTR
10036        does the inverse.
10037       
10038        There were two definitions of %SCHARCODE in the file; the later one
10039        (that took effect) was completely wrong.
10040
100412006-03-17 23:05  gb
10042
10043        * compiler/X86/X8664/x8664-arch.lisp: Add HONS fields to AREA
10044        definition.
10045       
10046        SYMVECTOR->SYMPTR and its inverse don't do much, but it's not worth
10047        spending a function call to do a little.
10048
100492006-03-17 23:03  gb
10050
10051        * compiler/X86/x862.lisp: Don't sign-extend the $LFBITS-NONAME-BIT;
10052        doing so had to do with 29-bit fixnums on an old 68K
10053        implementation.
10054       
10055        Fix parenthesization in %i-, so that we branch in all cases that
10056        need to.
10057       
10058        Implement %SYMPTR->SYMVECTOR and %SYMVECTOR->SYMPTR, which change
10059        something tagged X8664::FULLTAG-SYMBOL into the underlying uvector
10060        and back again.
10061
100622006-03-17 22:59  gb
10063
10064        * compiler/X86/x86-lap.lisp: Change the sign of TRA displacements,
10065        to match what the compiler expects and what some other things do.
10066       
10067        When checking to see if an ASSUMED-SHORT[-CONDITIONAL]-BRANCH can
10068        use a 1-byte branch displacement, get the sign of that displacment
10069        right.  (Doing it the wrong way was encoding a forward branch to a
10070        label 128 bytes away in one byte, which made it a backward branch
10071        128 bytes away ...)
10072
100732006-03-17 22:55  gb
10074
10075        * library/lispequ.lisp: Use NTH-IMMEDIATE to access COMBINED-METHOD
10076        slots.
10077
100782006-03-17 22:54  gb
10079
10080        * lib/nfcomp.lisp: Comments clarify that scalar integers are always
10081        dumped big-endian.  (They have to be read/written a byte at a time
10082        anyway; there's no clear advantage in writing them in native
10083        endianness.)
10084
100852006-03-17 22:52  gb
10086
10087        * lib/macros.lisp: SYMPTR->SYMVECTOR and SYMVECTOR->SYMBOL are
10088        arch-specfic (NOP on PPC, inlined tag-bits stuff on x8664.)
10089
100902006-03-17 22:50  gb
10091
10092        * level-1/l1-dcode.lisp: Star to conditionalize, a little.
10093
100942006-03-17 22:48  gb
10095
10096        * level-1/l1-boot-2.lisp: Conditionalize.
10097
100982006-03-17 22:48  gb
10099
10100        * level-1/: l1-callbacks.lisp, l1-utils.lisp: Comment formatting.
10101
101022006-03-17 22:45  gb
10103
10104        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-arch.lisp,
10105        PPC64/ppc64-arch.lisp: %SYMPTR->SYMVECTOR and %SYMVECTOR->SYMPTR
10106        shold never be called on PPC, but implement them as idenity
10107        operations, just in case.
10108
101092006-03-17 22:44  gb
10110
10111        * compiler/: nx1.lisp, nxenv.lisp: Worth inlining
10112        %SYMPTR->SYMVECTOR on x8664 (should never happen on PPC, but treat
10113        it as identity function there.)
10114
101152006-03-16 02:03  gb
10116
10117        * level-1/l1-sockets.lisp: Spell LINUX correctly.
10118
101192006-03-16 02:00  gb
10120
10121        * lisp-kernel/x86-spentry64.s: We were inlining NTH-VALUE
10122        incorrectly, but were always inlining it.
10123       
10124        Use debug traps to catch some cases that're NYI.
10125
101262006-03-16 01:58  gb
10127
10128        * lisp-kernel/lisp-debug.c: X8664 register-printing changes.
10129
101302006-03-16 01:58  gb
10131
10132        * library/parse-ffi.lisp: Treat VEC64/VEC128 like large integers,
10133        for now.
10134
101352006-03-16 01:57  gb
10136
10137        * library/lispequ.lisp: gf accessors use NTH-IMMEDIATE.
10138
101392006-03-16 01:56  gb
10140
10141        * lib/numbers.lisp: Conditionaliz on target word size.
10142
101432006-03-16 01:56  gb
10144
10145        * lib/nfcomp.lisp: Need to be aware of cases where host/target
10146        endianness differ.
10147       
10148        Byte-swap 16/32-bit constant ivectors; note that other cases may
10149        also need byte-swapping.
10150
101512006-03-16 01:54  gb
10152
10153        * lib/macros.lisp: NTH-IMMEDIATE is arch-specific; so is
10154        SET-NTH-IMMEDIATE, which is its SETF inverse.
10155
101562006-03-16 01:53  gb
10157
10158        * lib/foreign-types.lisp: So far, Darwin's the only platform that
10159        uses signed chars.  (For a good laugh, note that the PPC has an
10160        unsigned "load byte" instruction, but it takes two instructions to
10161        treat char as signed.  This is, of course, much less significant
10162        than all of the other things that are wrong about Darwin ...)
10163
101642006-03-16 01:51  gb
10165
10166        * lib/compile-ccl.lisp: RISC-LAP is PPC-specific (and maybe
10167        specific to other RISC architectures).  X86-DISASSEMBLE should be
10168        built for x8664.
10169
101702006-03-16 01:49  gb
10171
10172        * lib/backtrace-lds.lisp: Some conditinalization.
10173
101742006-03-16 01:48  gb
10175
10176        * tools/.cvsignore, library/.cvsignore: Ignore fasl extensions yet
10177        to come.
10178
101792006-03-16 01:46  gb
10180
10181        * level-1/version.lisp: Bump.
10182
101832006-03-16 01:46  gb
10184
10185        * level-1/l1-sockets.lisp: Some conditionalization; need more, and
10186        need to handle wrong-endianness.
10187
101882006-03-16 01:44  gb
10189
10190        * level-1/l1-lisp-threads.lisp: %KERNEL-GLOBAL-OFFSET-FORM:
10191        probably should lose this.  It's a function, and therefore has some
10192        trouble accessing the right (macroexpand-time) backend.
10193
101942006-03-16 01:43  gb
10195
10196        * level-1/l1-files.lisp: Set *.FASL-PATHAME* via #.'ed reference to
10197        target backend.
10198
101992006-03-16 01:42  gb
10200
10201        * level-1/l1-clos-boot.lisp: Conditionalize a little.
10202
102032006-03-16 01:42  gb
10204
10205        * level-1/l1-aprims.lisp: Use #. to set OS package name fron
10206        backend/ftd.
10207
102082006-03-16 01:41  gb
10209
10210        * level-0/X86/x86-symbol.lisp: %SYMPTR->SYMBOL is often called with
10211        real (tagged) symbols; make it a nop in that case.
10212
102132006-03-16 01:40  gb
10214
10215        * level-0/X86/x86-def.lisp: %SET-NTH-IMMEDIATE.
10216
102172006-03-16 01:40  gb
10218
10219        * level-0/X86/x86-clos.lisp: Start some of this. Still need to
10220        decide whether to use lexprs; better decide soon.
10221
102222006-03-16 01:38  gb
10223
10224        * compiler/X86/X8664/x8664-vinsns.lisp: TRAP-UNLESS-CHARACTER.
10225        Float memory accessors/setters for the constant-offset case.
10226        NTH-VALUE was wrong; now simpler.  MAKE-TSP-VCELL.  Binding
10227        subprims.
10228       
10229        Yet another FUNCALL scheme.
10230
102312006-03-16 01:36  gb
10232
10233        * level-0/l0-symbol.lisp: MAKE-SYMBOL returns the symbol pointer.
10234        Maybe conditionalize this for X8664.
10235
102362006-03-16 01:35  gb
10237
10238        * level-0/l0-io.lisp: Hopefully, the "split" 64-bit lseek is at
10239        best LinuxPPC32-specific.
10240
102412006-03-16 01:34  gb
10242
10243        * compiler/X86/x862.lisp: Use %ra0 for the inner function when
10244        making a closure, to avoid conflicts with other temps.  No need to
10245        reference memory on self-calls (and good reasons not to ...)
10246        X862-UNBOXED-INTEGER-ARG-TO-REG handles 64-bit regs.
10247
102482006-03-16 01:31  gb
10249
10250        * compiler/X86/x86-lapmacros.lisp: EXTRACT-TYPECODE: use a GENSYMed
10251        label.
10252
102532006-03-16 01:30  gb
10254
10255        * compiler/X86/x86-lap.lisp: New stuff for "pre-allocated"
10256        constants.
10257
102582006-03-16 01:29  gb
10259
10260        * compiler/X86/x86-arch.lisp: Didn't have the relatively recent
10261        STACK-SIZE.
10262
102632006-03-16 01:29  gb
10264
10265        * compiler/X86/X8664/x8664-arch.lisp: Change the
10266        %GET-KERNEL-GLOBAL[-PTR] archmacros, so that they'll work with
10267        cross-compilation.  Fixnum offsets aren't supported; they weren't
10268        used, this isn't public, and it wasn't well-defined anyway.
10269       
10270        Add %NTH-IMMEDIATE.
10271
102722006-03-16 01:28  gb
10273
10274        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp:
10275        Change the %GET-KERNEL-GLOBAL[-PTR] archmacros, so that they'll
10276        work with cross-compilation.  Fixnum offsets aren't supported; they
10277        weren't used, this isn't public, and it wasn't well-defined anyway.
10278
102792006-03-14 14:08  gb
10280
10281        * binppc/.cvsignore, l1-pfsls/.cvsignore: remove
10282
102832006-03-14 14:02  gb
10284
10285        * level-1/: l1-boot-2.lisp, level-1.lisp: Always use physical bin,
10286        l1-fasls relative pathnames.
10287
102882006-03-14 14:02  gb
10289
10290        * level-1/l1-pathnames.lisp: Simpler translations.
10291
102922006-03-14 13:51  gb
10293
10294        * l1-dfsls/.cvsignore, bindarwin/.cvsignore: removed
10295
102962006-03-14 13:31  gb
10297
10298        * bin/.cvsignore, l1-fasls/.cvsignore: new file.
10299
103002006-03-14 13:24  gb
10301
10302        * level-1/: l1-boot-2.lisp, level-1.lisp: Step 1: don't hardwire
10303        the target fasl pathname in a big #+ nest, get it from the target
10304        backend.  (Hope that works with macrolet.)
10305
103062006-03-14 13:22  gb
10307
10308        * lisp-kernel/x86-spentry64.s: _SPstack_misc_alloc fixes.
10309        _SPsyscall: just return negative return values, don't negate them.
10310
103112006-03-14 13:20  gb
10312
10313        * library/x8664-linux-syscalls.lisp: Hide the incomplete
10314        definitions.  This needs work; should use real foreign types.
10315
103162006-03-14 13:19  gb
10317
10318        * compiler/X86/X8664/x8664-vinsns.lisp: %init-gvector: pop the last
10319        element first.
10320
103212006-03-14 13:19  gb
10322
10323        * compiler/X86/X8664/x8664-backend.lisp: :linuxx8664-target on
10324        features, too.
10325
103262006-03-14 13:18  gb
10327
10328        * compiler/X86/x862.lisp: x862-allocate-initialized-gvector: works
10329        better if the gvector is actually allocated ...
10330
103312006-03-14 03:11  gb
10332
10333        * compiler/X86/x862.lisp: Remove a comment that described the
10334        mid-1990s behavior of MacsBug.
10335
103362006-03-14 03:10  gb
10337
10338        * compiler/X86/x86-lap.lisp: In X86-LAP-EQUATE-FORM, check for and
10339        disallow bindings that match defined X86 register names.
10340
103412006-03-14 03:09  gb
10342
10343        * compiler/X86/x86-disassemble.lisp: Some UUOs shouldn't terminate
10344        a disassembly block.
10345
103462006-03-14 03:09  gb
10347
10348        * library/syscall.lisp: Whoops.
10349
103502006-03-14 03:01  gb
10351
10352        * lisp-kernel/x86-spentry64.s: Fixes in _SPcall_closure,
10353        _SPstkgvector.
10354
103552006-03-14 03:00  gb
10356
10357        * lisp-kernel/x86-exceptions.c: Handle uuo_debug_trap.
10358
103592006-03-14 03:00  gb
10360
10361        * lisp-kernel/x86-constants64.h: Iflags is REG_EFL on Linux.
10362
103632006-03-14 02:59  gb
10364
10365        * lisp-kernel/lisp-debug.c: Make (R)egisters command work on x8664.
10366
103672006-03-14 02:59  gb
10368
10369        * library/syscall.lisp: BACKEND-SYSCALL-DEFINITIONS uses whatever
10370        bits are in the backend's BACKEND-PLATFORM-SYSCALL-MASK.
10371
103722006-03-14 02:57  gb
10373
10374        * library/x8664-linux-syscalls.lisp: New file. Woefully incomplete,
10375        and may need word-size fixes.
10376
103772006-03-14 02:57  gb
10378
10379        * library/ppc-linux-syscalls.lisp: Set the mask per the new (new)
10380        scheme.
10381
103822006-03-14 02:56  gb
10383
10384        * level-0/X86/x86-utils.lisp: Fix a few bugs in heap-walking code.
10385
103862006-03-14 02:56  gb
10387
10388        * level-0/X86/x86-def.lisp: %NTH-IMMEDIATE needed to box;  both it
10389        and %FUNCTION-CODE-WORDS needed to avoid naming parameters FN.
10390
103912006-03-14 02:55  gb
10392
10393        * level-1/: l1-sockets.lisp, l1-streams.lisp, linux-files.lisp: Use
10394        the right set of syscall definitions for Linux.
10395
103962006-03-14 02:54  gb
10397
10398        * level-0/nfasload.lisp: Add a fixnum declaration.
10399
104002006-03-14 02:54  gb
10401
10402        * level-0/l0-io.lisp: Include the right set of syscall defs for
10403        Linux.
10404
104052006-03-14 02:53  gb
10406
10407        * level-0/l0-symbol.lisp: Need to use %symptr->symbol for x86;
10408        harmless on PPC.
10409
104102006-03-14 02:53  gb
10411
10412        * compiler/X86/X8664/x8664-vinsns.lisp: SETUP-VCELL-ALLOCATION
10413        needs to bias the size by fulltag-misc.
10414
104152006-03-14 02:52  gb
10416
10417        * compiler/X86/X8664/x8664-backend.lisp: At least for Linux/X86/64,
10418        need to look at os/cpu/word-size to deterine applicable syscall
10419        defs.
10420
104212006-03-14 02:51  gb
10422
10423        * compiler/PPC/: PPC32/ppc32-backend.lisp,
10424        PPC64/ppc64-backend.lisp: All PPC (32/64) backends can use syscall
10425        defs for OS/CPU, regardless of word size.
10426
104272006-03-14 02:50  gb
10428
10429        * compiler/backend.lisp: Add PLATFORM-SYSCALL-MASK to backend
10430        struct.
10431
104322006-03-14 02:09  gb
10433
10434        * library/: ppc-linux-syscalls.lisp, linux-syscalls.lisp: renamed
10435
104362006-03-13 02:33  gb
10437
10438        * level-1/version.lisp: Bump.
10439
104402006-03-13 02:24  gb
10441
10442        * xdump/xfasload.lisp: AREA constants now in CCL package.
10443
104442006-03-13 02:23  gb
10445
10446        * lisp-kernel/x86-spentry64.s: ret1valn: no LEAVE here.
10447        nthrowvalues: fix several bugs.
10448
104492006-03-13 02:22  gb
10450
10451        * lisp-kernel/x86-macros.s: TSP_Alloc_Var: zero the dnode at the
10452        new tsp, as well.
10453
104542006-03-13 02:21  gb
10455
10456        * library/lispequ.lisp: Define AREA constants here (in CCL
10457        package.)
10458
104592006-03-13 02:20  gb
10460
10461        * lib/macros.lisp: Move DO-CONSING-AREAS here.  AREA-CODE is an
10462        arch macro.
10463
104642006-03-13 02:20  gb
10465
10466        * level-1/l1-lisp-threads.lisp: Move DO-CONSING-AREAS to
10467        macros.lisp.
10468
104692006-03-13 02:19  gb
10470
10471        * level-0/X86/x86-utils.lisp: Walk static, dynamic areas.
10472
104732006-03-13 02:19  gb
10474
10475        * level-0/PPC/ppc-utils.lisp: Comments.
10476
104772006-03-13 02:18  gb
10478
10479        * level-0/nfasload.lisp: %MAP-AREAS call might have to deal with
10480        symbol/symbol-vector distinction.
10481
104822006-03-13 02:18  gb
10483
10484        * level-0/l0-utils.lisp: AREA constants are in CCL package, not
10485        PPC.  %MAP-LFUNS might have to deal with function/function-vector
10486        distinction.
10487
104882006-03-13 02:17  gb
10489
10490        * level-0/l0-misc.lisp: AREA constants are in CCL package, not PPC.
10491
104922006-03-13 02:17  gb
10493
10494        * level-0/l0-hash.lisp: %GROW-HASH-TABLE is always called inside
10495        WITHOUT-INTERRUPTS, so no need to do it again.
10496
104972006-03-13 02:16  gb
10498
10499        * compiler/X86/x862.lisp: Push at most one stack frame on function
10500        entry ...
10501
105022006-03-13 02:14  gb
10503
10504        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
10505        X86/X8664/x8664-arch.lisp: AREA-CODE archmacro.
10506
105072006-03-13 02:13  gb
10508
10509        * compiler/: PPC/ppc-arch.lisp, X86/x86-arch.lisp: AREA constants
10510        moved to CCL package.
10511
105122006-03-11 23:54  gb
10513
10514        * lisp-kernel/linuxx8664/.gdbinit: Don't change handling of SIGUSR1
10515        or SIGUSR2; I don't think that we use them under Linux.
10516
105172006-03-11 23:52  gb
10518
10519        * lisp-kernel/x86-spentry64.s: builtin_eql was extracting lisptags
10520        and comparing fulltags, and thus returning false when it shouldn't
10521        have.
10522       
10523        nthrow1value was making too small of a TSP frame around the call to
10524        the cleanup code, clobbering TSP links in some cases.  It was also
10525        failing to pop catch frames.
10526       
10527        stkgvector was unimplented.
10528       
10529        _car order-of-arguments problems in (at least) spreadargz.
10530
105312006-03-11 23:47  gb
10532
10533        * lisp-kernel/x86-subprims64.s: Push a 0 and make the initial lisp
10534        %rbp point to it, to mark the end of the line.
10535
105362006-03-11 23:47  gb
10537
10538        * lisp-kernel/xlbt.c: Sketchy kernel-debugger backtrace.
10539
105402006-03-11 23:46  gb
10541
10542        * lisp-kernel/x86-constants64.h: A lisp_frame struct, for kernel
10543        backtrace.
10544
105452006-03-11 23:46  gb
10546
10547        * lisp-kernel/pmcl-kernel.c: Try (temporily) disabling Lisp's
10548        SIGINT handler.   There seem to be problems using a keyboard
10549        interrupt to awaken GDB on the version of x96-64 Linux I'm using.
10550        This didn't fix those problems completely, but we won't need to
10551        handle SIGINT in the lisp until more code works.
10552
105532006-03-11 23:43  gb
10554
10555        * lisp-kernel/macros.h: I may have parenthesized nodeheader_tag_p
10556        and immheader_tag_p; several versions of  GCC generated code that
10557        looked wrong, but since it's C it's hard to tell.   Splitting the
10558        macros up (into "mask definition" and "mask testing" seems to
10559        generate the right code (a bit test if optimization's cranked up.)
10560
105612006-03-11 23:41  gb
10562
10563        * level-0/X86/x86-misc.lisp: Fix a few typos (fixnum vs unboxed
10564        constants, etc.)
10565       
10566        %ATOMIC-DECF-PTR-IF-POSITIVE should return what we would have
10567        (might have) stored in the word accessed by the pointer (in
10568        particular, it should return a negative value if there are no other
10569        threads waiting on a recursive lock.)
10570
105712006-03-11 23:38  gb
10572
10573        * level-0/PPC/ppc-misc.lisp: Fix file name in comment.
10574
105752006-03-11 23:38  gb
10576
10577        * compiler/X86/X8664/x8664-vinsns.lisp: ENSURE-RESERVED-FRAME: test
10578        was backwards.
10579
105802006-03-11 23:37  gb
10581
10582        * compiler/X86/X8664/x8664-arch.lisp: Don't use FN as arg name in
10583        LFUN-VECTOR, since x8664::fn is a constant (symbolic register
10584        name.)
10585       
10586        Add missing close paren.
10587
105882006-03-11 23:36  gb
10589
10590        * compiler/X86/x862.lisp: Ensure stack fencepost in simple
10591        &optional arg case.
10592       
10593        Do the variable-arg-count case if complex &optional, no &rest/&key,
10594        and some (possibly unsupplied) optionals may or may not have been
10595        pushed by the caller.
10596
105972006-03-11 04:11  gb
10598
10599        * lisp-kernel/: image.c, lisp_globals.h: Fix conditionalization: we
10600        don't define PPC32, but it might be clearer if we did.
10601
106022006-03-11 03:28  gb
10603
10604        * level-1/version.lisp: Bump.
10605
106062006-03-11 03:20  gb
10607
10608        * library/: darwin-syscalls.lisp, linux-syscalls.lisp,
10609        syscall.lisp: New mechanism, mostly to make cross-compilation
10610        easier.
10611
106122006-03-11 03:20  gb
10613
10614        * level-0/X86/x86-def.lisp: Extra paren; %NTH-IMMEDIATE and
10615        function/lfun-vector stuff, CLOSURE-FUNCTION here until that can be
10616        abstracted away sanely.
10617
106182006-03-11 03:18  gb
10619
10620        * level-0/X86/x86-misc.lisp: %STORE-IMMEDIATE-CONDITIONAL needs to
10621        discard the frame that the caller reserved.
10622
106232006-03-11 03:17  gb
10624
10625        * level-0/X86/x86-clos.lisp: Comment out the PPC LAP (e.g.,
10626        everything in the file, still).
10627
106282006-03-11 03:15  gb
10629
10630        * level-0/PPC/ppc-def.lisp: CLOSURE-FUNCTION here.  (Abstract away
10631        NTH-IMMEDIATE ?)
10632
106332006-03-11 03:14  gb
10634
10635        * level-0/l0-misc.lisp: Indentation.
10636
106372006-03-11 03:13  gb
10638
10639        * level-0/l0-def.lisp: Move CLOSURE-FUNCTION to arch-specific dir.
10640        Use LFUN-VECTOR, which should hopefully compile away on PPC but
10641        needs to be there on X8664.
10642
106432006-03-11 03:11  gb
10644
10645        * compiler/X86/X8664/x8664-vinsns.lisp: Now that subprim addresses
10646        are higher, there's another significant byte to deal with in the
10647        subprim jump in %INIT-CLOSURE.
10648       
10649        Use a temporary - and a smaller instruction sequence - in
10650        MISC-ELEMENT-COUNT-FIXNUM, so that src and dest can overlap.  (More
10651        instructions, but fewer bytes.)
10652
106532006-03-11 03:08  gb
10654
10655        * compiler/PPC/PPC32/ppc32-arch.lisp,
10656        compiler/PPC/PPC64/ppc64-arch.lisp,
10657        compiler/X86/X8664/x8664-arch.lisp, lib/macros.lisp: LFUN-VECTOR
10658        and LFUN-VECTOR-LFUN are arch-specific macros.
10659
106602006-03-11 03:07  gb
10661
10662        * lisp-kernel/x86-spentry64.s: Reformat a comment.
10663
106642006-03-10 22:06  gb
10665
10666        * xdump/xx8664-fasload.lisp: Target-specific static-space (NIL
10667        representation, mostly) init functions.
10668       
10669        Move image-base-address up a few terabytes.
10670       
10671        Undefined function and macro trampolines are vectors with an
10672        executable fixnum in the 0th word.
10673
106742006-03-10 22:05  gb
10675
10676        * xdump/xppcfasload.lisp: Target-specific static-space (NIL
10677        representation, mostly) init functions.
10678
106792006-03-10 22:04  gb
10680
10681        * xdump/xfasload.lisp: Lots of changes, to deal with
10682        symbol/function tagging issues, x86 clfuns, etc.
10683
106842006-03-10 22:03  gb
10685
10686        * xdump/heap-image.lisp: Endianness, word-size conditionalization
10687        stuff.
10688
106892006-03-10 22:02  gb
10690
10691        * lisp-kernel/linuxx8664/Makefile: C files depend on lisptypes.h.
10692
106932006-03-10 22:01  gb
10694
10695        * lisp-kernel/linuxx8664/elf_x86_64.x: Don't try to link into low
10696        memory (no real reason to.) Do try to put spjump at a
10697        fixed/known/page-aligned address.
10698
106992006-03-10 21:59  gb
10700
10701        * lisp-kernel/x86_print.c: Recognize some x8664 tags.
10702
107032006-03-10 21:59  gb
10704
10705        * lisp-kernel/x86-subprims64.s: Use Rforeign_sp; get valence right
10706        on exit.
10707
107082006-03-10 21:58  gb
10709
10710        * lisp-kernel/x86-spjump64.s: Rename ffcall/syscall.
10711
107122006-03-10 21:58  gb
10713
10714        * lisp-kernel/x86-spentry64.s: Lots of fixes/changes (including
10715        ffcall/syscall).
10716
107172006-03-10 21:56  gb
10718
10719        * lisp-kernel/x86-macros.s: TSP_Alloc_Size is an immediate operand
10720        in TSP_Alloc_Fixed().
10721       
10722        Fix allocptr/allocbase comparison when consing.
10723       
10724        Misc_Alloc_Fixed: m4/gas $ conflation.
10725
107262006-03-10 21:54  gb
10727
10728        * lisp-kernel/x86-exceptions.h: Extra parens around xpGPR
10729        expansion.
10730
107312006-03-10 21:54  gb
10732
10733        * lisp-kernel/x86-exceptions.c: Actually handle something
10734        (uuo_alloc()), since we can't do much without it.
10735
107362006-03-10 21:53  gb
10737
10738        * lisp-kernel/x86-constants64.s: Call the foreign sp register
10739        Rforeign_sp, to avoid m4 lossage.
10740       
10741        nrs starts at #x2020, because NIL is between there and #x2000.
10742
107432006-03-10 21:52  gb
10744
10745        * lisp-kernel/x86-constants64.h: Iallocptr for trap handler.
10746       
10747        tcr was missing foreign_sp definition.
10748
107492006-03-10 21:51  gb
10750
10751        * lisp-kernel/thread_manager.c: get_tcr() change for HAVE_TLS case.
10752
107532006-03-10 21:51  gb
10754
10755        * lisp-kernel/ppc-exceptions.c: Put a sane value in the FPSCR
10756        before calling back to lisp on an exception.
10757
107582006-03-10 21:50  gb
10759
10760        * lisp-kernel/pmcl-kernel.c: Use address of bad_funcall, not
10761        "value".
10762       
10763        Disable EGC on x8664.
10764
107652006-03-10 21:49  gb
10766
10767        * lisp-kernel/lisptypes.h: formatting change only.
10768
107692006-03-10 21:49  gb
10770
10771        * lisp-kernel/lisp_globals.h: Layout of lisp-globals/nrs on x8664
10772        not identical to ppc64 (NIL representation differs.)
10773
107742006-03-10 21:48  gb
10775
10776        * lisp-kernel/lisp-debug.c: Lisp register stuff for x8664.
10777
107782006-03-10 21:48  gb
10779
10780        * lisp-kernel/image.c: Fix some conditionalization.
10781
107822006-03-10 21:47  gb
10783
10784        * lisp-kernel/area.h: Larger IMAGE-BASE-ADDRESS for X8664 Linux.
10785
107862006-03-10 21:46  gb
10787
10788        * library/: linux-syscalls.lisp, syscall.lisp: Try to make things a
10789        little more portable, but really need to keep things in the
10790        target-ftd.  Soon.
10791
107922006-03-10 21:45  gb
10793
10794        * level-0/l0-numbers.lisp: Don't reference
10795        TARGET::LEAST-SIGNIFICANT-BIT in ASH; express limits in terms of
10796        TARGET::NBITS-IN-WORD.
10797
107982006-03-10 21:45  gb
10799
10800        * level-0/l0-misc.lisp: Add some fixnum decls to %GET-CSTRING, so
10801        that single-stepping through it in GDB is faster.
10802
108032006-03-10 21:44  gb
10804
10805        * level-0/l0-io.lisp: %YIELD here, so all level-0 syscalls are in
10806        one file.
10807
108082006-03-10 21:43  gb
10809
10810        * level-0/l0-cfm-support.lisp: We generally want foreign symbol
10811        addresses to be boxed integers on X8664, and can't assume that
10812        they're fixnum-aligned.
10813
108142006-03-10 21:42  gb
10815
10816        * level-0/: l0-array.lisp, l0-init.lisp: Comment indentation.
10817
108182006-03-10 21:41  gb
10819
10820        * lisp-kernel/linuxx8664/.gdbinit: Well, it's a start ...
10821
108222006-03-10 21:41  gb
10823
10824        * level-0/X86/x86-utils.lisp: %KERNEL-IMPORT boxes what may not
10825        have been a fixnum.
10826
108272006-03-10 21:40  gb
10828
10829        * level-0/X86/x86-misc.lisp: Fix typo.
10830       
10831        STORE-NODE-CONDITIONAL pops stack arg, discards stack frame
10832        reserved by caller before jumping into kernel.
10833
108342006-03-10 21:39  gb
10835
10836        * level-0/X86/x86-float.lisp: Missing SET-MXCSR-CONTROL was hidden
10837        in duplicate SET-MSCSR-STATUS.  May want to always set/get the
10838        control and rounding modes.
10839
108402006-03-10 21:37  gb
10841
10842        * level-0/X86/x86-def.lisp: Comment out the missing lexpr/apply
10843        stuff, so that the rest of the file compiles.
10844
108452006-03-10 21:36  gb
10846
10847        * level-0/X86/x86-array.lisp: %INIT-MISC wants/needs to be in LAP
10848        because of write-barrier issues.
10849
108502006-03-10 21:35  gb
10851
10852        * lib/x8664env.lisp: It's OK (in fact necessary) to use FP0 as a
10853        temporary.  0.0 is in FPZERO.
10854
108552006-03-10 21:34  gb
10856
10857        * lib/nfcomp.lisp: Spit out a fasl op while writing CLFUNs.
10858
108592006-03-10 21:33  gb
10860
10861        * level-0/PPC/ppc-float.lisp: Don't CLEAR-FPU-EXCEPTIONS, at least
10862        without knowing why.
10863
108642006-03-10 21:32  gb
10865
10866        * compiler/X86/X8664/x8664-vinsns.lisp: SETcc sets the byte to 1 or
10867        0, so we need to negate.
10868       
10869        Other bug fixes and additions.
10870
108712006-03-10 21:31  gb
10872
10873        * compiler/X86/X8664/x8664-arch.lisp: Fix a typo in
10874        X8664-MISC-BYTE-SIZE.
10875       
10876        Move subprims base up to #x410000, to make it easier on the linker.
10877
108782006-03-10 21:29  gb
10879
10880        * compiler/X86/x862.lisp: Lots-o-fixes; FFI stuff.  When generating
10881        code involving a :REG8 operand, be careful to pass the 8-bit reg
10882        entry to LAP.
10883
108842006-03-10 21:27  gb
10885
10886        * compiler/X86/x86-lapmacros.lisp: X86 CMOV instructions reference
10887        the source operand (possibly generating a memory fault) even if the
10888        destination operand isn't written to.  Who knew ?
10889
108902006-03-10 21:24  gb
10891
10892        * compiler/X86/x86-disassemble.lisp: Recognize newer UUOs.
10893
108942006-03-10 21:24  gb
10895
10896        * compiler/X86/x86-lap.lisp: Use the #x80 bit in an instruction's
10897        REX prefix to indicate when the prefix needs to be emitted (even if
10898        the #x7 bits are clear).
10899
109002006-03-10 21:23  gb
10901
10902        * compiler/X86/x86-asm.lisp: A few UUOs; try to ensure that we'll
10903        generate (at least) a #x40 REX prefix if a new-style byte register
10904        is used as an operand.  (e.g., we generally don't want to refer to
10905        the traditional things like %dh, and do want to refer to the newer
10906        things like %sil.)
10907
109082006-03-10 21:20  gb
10909
10910        * compiler/X86/x86-arch.lisp: rename *X86-NILREG-RELATIVE-SYMBOLS*
10911        -> *X86-NIL-RELATIVE-SYMBOLS*.
10912
109132006-03-10 21:18  gb
10914
10915        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
10916        PPC64/ppc64-vinsns.lisp: %SINGLE-TO-DOUBLE, %DOUBLE-TO-SINGLE, to
10917        avoid consing in some simple cases.
10918
109192006-03-10 21:17  gb
10920
10921        * compiler/PPC/ppc-arch.lisp: Rename *PPC-NILREG-RELATIVE-SYMBOLS*
10922        -> *PPC-NIL-RELATIVE-SYMBOLS* (NIL hasn't been in a register in a
10923        few years.)
10924
109252006-03-10 21:15  gb
10926
10927        * compiler/optimizers.lisp: On 64-bit targets, SINGLE-FLOATs are
10928        EQL iff EQ.
10929       
10930        Try to recognize a few ways of coercing SINGLE-FLOATs to
10931        DOUBLE-FLOATs and vice versa, so that we have some chance of
10932        avoiding consing in some cases.
10933
109342006-03-10 21:13  gb
10935
10936        * compiler/nxenv.lisp: Add %SINGLE-TO-DOUBLE, %DOUBLE-TO-SINGLE.
10937        Replace unused EMBEDDED-CALL with SYSCALL.
10938
109392006-03-10 21:12  gb
10940
10941        * compiler/nx1.lisp: Just use SYSCALL operator to mark x8664
10942        syscalls.
10943
109442006-03-10 21:12  gb
10945
10946        * .cvsignore: Change patterns.
10947
109482006-03-07 06:49  gb
10949
10950        * lisp-kernel/x86-spentry64.s: Assume that fpzero (not fp0)
10951        contains 0.0.
10952       
10953        Get a few more things working, or at least written.
10954
109552006-03-07 06:48  gb
10956
10957        * lisp-kernel/: x86-macros.s, x86-subprims64.s: Assume that fpzero
10958        (not fp0) contains 0.0.
10959
109602006-03-07 06:48  gb
10961
10962        * lisp-kernel/x86-constants64.s: Define fpzero = xmm15.
10963       
10964        Pad the (misnamed) fpscr field in the TCR.
10965
109662006-03-06 06:37  gb
10967
10968        * lib/nfcomp.lisp: Initial, crude support for cross-dumping
10969        "concatenated" lisp functions.
10970
109712006-03-06 06:36  gb
10972
10973        * level-0/l0-numbers.lisp: Fix comment indentation in a function
10974        that the x8664 backend was choking on.
10975
109762006-03-06 06:36  gb
10977
10978        * compiler/X86/X8664/x8664-vinsns.lisp: use fpzero when a zero is
10979        needed,  not fp0.
10980
109812006-03-06 06:35  gb
10982
10983        * compiler/X86/X8664/x8664-arch.lisp: xmm15 is fpzero (contains
10984        0.0[de]0).  (xmm0 is used for ff-call.)
10985
109862006-03-06 06:35  gb
10987
10988        * compiler/X86/x862.lisp: X862-COMPILE: don't reserve quad for null
10989        function name, even if debug info is present.
10990
109912006-03-06 06:34  gb
10992
10993        * compiler/X86/x86-lap.lisp: RELAX-FRAG-LIST: account for (possibly
10994        non-zero) length of :ALIGN frags.  CROSS-CREATE-X86-FUNCTION: don't
10995        emit function name if it's nil, even if debug-info is present.
10996
109972006-03-06 06:30  gb
10998
10999        * compiler/X86/x86-asm.lisp: Add a declaration to suppress compiler
11000        warning on forward reference.
11001
110022006-03-06 03:27  gb
11003
11004        * xdump/xfasload.lisp: Fix parens.
11005
110062006-03-06 02:59  gb
11007
11008        * xdump/xfasload.lisp: Remove many uses of TARGET-ARCH-CASE (thus
11009        removing many uses of ppc/ppc32/ppc64 package symbols.)  Some uses
11010        remain.
11011
110122006-03-06 02:57  gb
11013
11014        * lib/macros.lisp: Define TARGET-ARCH-CASE in terms of CASE, not
11015        ECASE.
11016
110172006-03-05 19:12  gb
11018
11019        * compiler/PPC/PPC64/ppc64-arch.lisp: typecode, lisptag are in ccl
11020        package.
11021
110222006-03-05 19:01  gb
11023
11024        * level-1/version.lisp: Bump; some of this is hard to bootstrap.
11025
110262006-03-05 19:00  gb
11027
11028        * lib/macros.lisp: Move some %kernel-global nonsense here.
11029
110302006-03-05 19:00  gb
11031
11032        * level-1/l1-lisp-threads.lisp: Define macros in ... macros.lisp,
11033        of all places.
11034
110352006-03-05 18:59  gb
11036
11037        * level-0/X86/x86-array.lisp: write some code in lisp
11038        (temporarily), clean up some typos so that the file compiles.
11039
110402006-03-05 18:58  gb
11041
11042        * compiler/: arch.lisp, PPC/PPC32/ppc32-arch.lisp,
11043        PPC/PPC64/ppc64-arch.lisp, X86/X8664/x8664-arch.lisp: More
11044        parameters (mostly for xloader) in target-arch struct.
11045
110462006-03-05 18:52  gb
11047
11048        * xdump/xfasload.lisp: Get target parameters from
11049        (backend-target-arch *target-backend*)).
11050
110512006-03-05 06:17  gb
11052
11053        * xdump/xx8664-fasload.lisp: Closer ...
11054
110552006-03-05 06:17  gb
11056
11057        * xdump/hashenv.lisp: Arch macros for hashing macros.
11058
110592006-03-05 06:16  gb
11060
11061        * level-1/l1-lisp-threads.lisp: Arch macros for kernel globals.
11062
110632006-03-05 06:16  gb
11064
11065        * level-1/l1-readloop-lds.lisp: Check *interrupt-level* value, not
11066        (interrupt-level).
11067
110682006-03-05 06:15  gb
11069
11070        * level-1/l1-clos-boot.lisp: Make *class-table* a global.
11071
110722006-03-05 06:15  gb
11073
11074        * level-0/X86/X8664/x8664-bignum.lisp: use temp2.b (= cl) for
11075        variable shifts.
11076
110772006-03-05 06:14  gb
11078
11079        * level-0/nfasload.lisp: No code-vectors on x8664.
11080
110812006-03-05 06:14  gb
11082
11083        * level-0/l0-numbers.lisp: Conditionalization: 64-bit-target
11084        implies no (need for) destructive single-float ops.
11085
110862006-03-05 06:13  gb
11087
11088        * level-0/l0-misc.lisp: Remove some unused stuff.
11089
110902006-03-05 06:13  gb
11091
11092        * level-0/l0-array.lisp: array-element-type for x8664.
11093
110942006-03-05 06:12  gb
11095
11096        * compiler/X86/X8664/x8664-vinsns.lisp: More stuff.
11097
110982006-03-05 06:12  gb
11099
11100        * compiler/X86/x862.lisp: (Mostly) try to fix fixnum subtraction.
11101
111022006-03-05 06:11  gb
11103
11104        * compiler/X86/x86-lapmacros.lisp: TRAP-UNLESS-FIXNUM,
11105        PUSH-ARGREGS, some syntax fixes.
11106
111072006-03-05 06:10  gb
11108
11109        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
11110        X86/X8664/x8664-arch.lisp: More arch macros.
11111
111122006-03-05 06:10  gb
11113
11114        * compiler/backend.lisp: DECLARE-ARCH-SPECIFIC-MACRO returns macro
11115        name.
11116
111172006-03-05 06:09  gb
11118
11119        * level-0/X86/x86-utils.lisp: Warn for things that don't work yet;<