source: trunk/ccl/ChangeLog @ 6243

Last change on this file since 6243 was 6243, checked in by gb, 13 years ago
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 720.4 KB
Line 
12007-04-08 14:11  gb
2
3        * lisp-kernel/ppc-spjump.s: Org to the next page boundary at end of
4        jump table, to work around (still more) Apple ld64 nonsense.
5
62007-04-08 13:14  gb
7
8        * lib/nfcomp.lisp: Bump current fasl version.
9
102007-04-08 13:13  gb
11
12        * lib/ccl-export-syms.lisp: Export CCL:FREE.
13
142007-04-08 13:12  gb
15
16        * xdump/faslenv.lisp: Bump max fasl version.
17
182007-04-08 13:11  gb
19
20        * lisp-kernel/darwinppc64/Makefile: Pass -arch ppc64 to C, so that
21        people who try to build this kernel on an x86 mac will take longer
22        to realize that that's usually a bad idea.
23
242007-04-08 12:09  gb
25
26        * examples/: cocoa-application.lisp, cocoa-backtrace.lisp,
27        cocoa-defaults.lisp, cocoa-editor.lisp, cocoa-inspector.lisp,
28        cocoa-listener.lisp, cocoa-prefs.lisp, cocoa-typeout.lisp,
29        cocoa-window.lisp, cocoa.lisp:
30        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
31       
32        Some changes in font, nsstring stuff to avoid using deprecated
33        featurs.
34
352007-04-08 12:07  gb
36
37        * examples/: webkit.lisp, addressbook.lisp:
38        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
39       
40        Use OBJC:LOAD-FRAMEWORK.
41
422007-04-08 12:06  gb
43
44        * examples/tiny.lisp:
45        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
46
472007-04-08 12:05  gb
48
49        * examples/rubix/: blocks.lisp, lights.lisp, opengl.lisp,
50        rubix.lisp:
51        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
52       
53        Handle CGFLOAT issues in mouse event handlers.
54
552007-04-08 12:04  gb
56
57        * examples/bridge.lisp: Define CGFLOAT, ObjC-2 foreign types here.
58       
59        Define "foreign struct classes" for several common structure types
60        (rectangle, point, size); generate inlined accessors for their
61        slots, PRINT-OBJECT methods, initialization functions, WITH-xxx
62        macros.
63       
64        #/ reader macro: reads a string containing "constituent" characters
65        (including #\:), preserving case.  Does a little bit of
66        sanity-checking on it, then interns it in NEXTSTEP-FUNCTIONS
67        package.
68       
69        Try to deal with cases where foreign type info may be parsed or
70        unparsed.
71       
72        Introduce OBJC-DISPATCH-FUNCTIONs, which are funcallable instances.
73         SHARED-INITIALIZE :AFTER method on OBJC-DISPATCH-FUNCTION looks at
74        message info, tries to determine ambiguity, calls signature
75        function (possibly after trying to resolve ambiguity.)
76       
77        %CALL-NEXT-OBJC-METHOD does some of the same stuff at runtime,
78        calling a signature function that knows how to dispatch to SUPER
79        method. (Likewise, %CALL-NEXT-OBJC-CLASS-METHOD for class methods.)
80       
81        POSTPROCESS-OBJC-MESSAGE-INFO (re-) initializes the associated
82        OBJC-DISPATCH-FUNCTION.
83       
84        Handle PROTOCOLs differently in ambiguous SEND.
85
862007-04-08 12:04  gb
87
88        * examples/objc-runtime.lisp: Compile message send functions per
89        signature.  Handle vararg message sends, partly at runtime.  INIT
90        messages just have their signature info precomputed.  Defining a
91        named OBJC-CLASS makes the class name a static variable whose value
92        is the class (and likewise for the metaclass.)
93        %DECLARE-OBJC-MESSAGE notes method redefinition, cerrors.
94        OBJC:DEFMETHOD and support for it.
95
962007-04-08 12:03  gb
97
98        * examples/objc-support.lisp: Use new syntax.  OBJC:LOAD-FRAMEWORK.
99         Avoid some deprecated C-string stuff (but wimp out and assume
100        ASCII.) Keep track of objc-class-count, provide
101        MAYBE-MAP-OBJC-CLASSES to map new classes iff class count changes.
102        Handle OBJC-PROTOCOLs a bit differently.  Move CGFLOAT definitions,
103        etc. elsewhere.
104
1052007-04-08 12:02  gb
106
107        * examples/objc-clos.lisp: RECOGNIZE-OBJC-OBJECT: maybe try mapping
108        classes if first try fails.  ALLOCATE-INSTANCE of objc-object:
109        don't canonicalize instance if no lisp slots (so MAKE-INSTANCE is
110        about as lightweight as MAKE-OBJC-INSTANCE.)
111
1122007-04-08 12:01  gb
113
114        * examples/name-translation.lisp:
115        COMPUTE-OBJC-TO-LISP-FUNCTION-NAME was once going to do something
116        non-trivial, now just interns in NEXSTEP-FUNCTIONS.
117
1182007-04-08 12:00  gb
119
120        * examples/objc-package.lisp: New file; export more stuff.  Import
121        some of it back into CCL.  Provide a NEXTSTEP-FUNCTIONS package for
122        pseudo-GFs.
123
1242007-04-08 11:59  gb
125
126        * lib/foreign-types.lisp: Foreign-type-ordinals, some of which are
127        canonical.  Straighten out the auxiliary-foreign-types mess a bit.
128        Intern integer types up to 64 bits.
129
1302007-04-08 11:59  gb
131
132        * lib/macros.lisp: DEFGLOBAL = DEFSTATIC.  DEFLOADVAR makes its
133        argument static.  WITH-MACPTRS is saner.  WITH-ENCODED-CSTR writes
134        NUL octet(s) to the end of the encoded string.  MAKE-GCABLE-RECORD,
135        COPY-RECORD.
136
1372007-04-08 11:58  gb
138
139        * lib/db-io.lisp: Slight changes (preserve typedef name) in
140        function/objc method arglists.  UNESCAPE-FOREIGN-NAME: handle
141        missing brackets.
142
1432007-04-08 11:57  gb
144
145        * lisp-kernel/x86-exceptions.c: Handle signals on the altstack if
146        not Darwin.  In Darwin, evactuate off of the lisp stack while
147        interrupts are still disabled.
148
1492007-04-08 11:56  gb
150
151        * lisp-kernel/x86-exceptions.h: USE_SIGALTSTACK, but not on Darwin
152        (where Apple hasn't yet invented the notion that it needs to be
153        thread-specific.)
154
1552007-04-08 11:55  gb
156
157        * lisp-kernel/thread_manager.c: Clear pending interrupt flag when
158        destroying TCR.
159
1602007-04-08 11:54  gb
161
162        * lisp-kernel/ppc-exceptions.c: Lose (commented-out) code which
163        worked around an old Darwin bug.
164
1652007-04-08 11:53  gb
166
167        * lisp-kernel/lisp.h: Don't define USE_SIGALTSTACK here.
168
1692007-04-08 11:52  gb
170
171        * lisp-kernel/image.c: Don't nuke null pointers.
172
1732007-04-08 11:52  gb
174
175        * lisp-kernel/darwinx8664/.gdbinit: Add gtra.
176
1772007-04-08 11:51  gb
178
179        * lisp-kernel/x86-spentry64.s: zeroed stack-block zeroes all bits
180        of macptr.domain, macptr.type.
181
1822007-04-08 11:50  gb
183
184        * xdump/xfasload.lisp: Deal with pkg.intern-hook.
185
1862007-04-08 11:49  gb
187
188        * library/lispequ.lisp: add pkg.intern-hook to package.
189
1902007-04-08 11:48  gb
191
192        * lib/describe.lisp: Start trying to conditionalize some of the
193        stack-frame inspector stuff.
194
1952007-04-08 11:48  gb
196
197        * lib/ffi-darwinppc64.lisp: Structures are basically passed as
198        64-bit word components, with FP fields passed in registers.  This
199        requires some special handling ("hybrid" parameters) in the
200        compiler and %FF-CALL.
201
2022007-04-08 11:47  gb
203
204        * lib/level-2.lisp: %GET-BITFIELD and SETF thereof: deal with
205        endianness.
206
2072007-04-08 11:46  gb
208
209        * lib/nfcomp.lisp: FASL-SCAN: null-pointers as constants are OK.
210
2112007-04-08 11:45  gb
212
213        * lib/source-files.lisp: From Takehiko Abe: handle EQL specializers
214        in %SOURCE-FILES-LIKE-EM.
215
2162007-04-08 11:44  gb
217
218        * lib/streams.lisp: DRIBBLE via PROCESS-DRIBBLE.
219
2202007-04-08 11:43  gb
221
222        * lib/xref.lisp: From Takehiko Abe: handle EQL specializers in
223        MAKE-XREF-ENTRY.
224
2252007-04-08 11:43  gb
226
227        * lib/ccl-export-syms.lisp: Export DEFSTATIC, PAREF, +NULL-PTR+.
228
2292007-04-08 11:42  gb
230
231        * level-1/version.lisp: Bump; new snapshots tomorrow.
232
2332007-04-08 11:41  gb
234
235        * level-1/x86-callback-support.lisp: DEFGLOBAL->DEFSTATIC
236
2372007-04-08 11:40  gb
238
239        * level-1/linux-files.lisp: Very long timeout for
240        WAIT-ON-SEMAPHORE, don't use PROCESS-WAIT, manipulate the whostate
241        if we have to wait at all.
242       
243        Same idea for TIMED-WAIT-ON-SEMAPHORE.
244       
245        Make PIPE code slightly easier to read.
246
2472007-04-08 11:39  gb
248
249        * level-1/l1-utils.lisp: DEFGLOBAL->DEFSTATIC.
250
2512007-04-08 11:38  gb
252
253        * level-1/l1-unicode.lisp: Add NUL-ENCODING field to
254        CHARACTER-ENCODING, use it to determine number/sequence of octets
255        used to encode NUL.
256
2572007-04-08 11:38  gb
258
259        * level-1/l1-streams.lisp: DEFGLOBAL->DEFSTATIC.
260       
261        READ-TOPLEVEL-FORM on ECHO-STREAM has do I/O on the echo stream (so
262        DRIBBLE works); on TWO-WAY-STREAM, should read from the input side
263        so that echoing looks more natural.
264
2652007-04-08 11:37  gb
266
267        * level-1/l1-symhash.lisp: Extra slot  (for intern hook) in PACKAGE
268        object.
269
2702007-04-08 11:36  gb
271
272        * level-1/l1-readloop-lds.lisp: Some changes, then reverted those
273        changes manually and most of the effects were cosmetic.
274        TOPLEVEL-PRINT takes an output stream arg.
275
2762007-04-08 11:35  gb
277
278        * level-1/l1-processes.lisp: Per-process DRIBBLE-ing.
279
2802007-04-08 11:34  gb
281
282        * level-1/l1-lisp-threads.lisp: %TCR-INTERRUPT: don't signal if
283        interrupt is obviously pending.
284
2852007-04-08 11:33  gb
286
287        * level-1/l1-io.lisp: Change pointer printing.
288
2892007-04-08 11:33  gb
290
291        * level-1/l1-init.lisp: +NULL-PTR+.
292
2932007-04-08 11:31  gb
294
295        * level-1/: l1-dcode.lisp, l1-events.lisp: DEFSTATIC is now the
296        preferred name for DEFGLOBAL.
297
2982007-04-08 11:30  gb
299
300        * level-1/l1-clos-boot.lisp: DEFSTATIC is now the preferred name
301        for DEFGLOBAL.
302       
303        Mechanism for associating a (built-in) class with a foreign type
304        ordinal.
305
3062007-04-08 11:29  gb
307
308        * level-1/l1-callbacks.lisp: DEFSTATIC is now the preferred name
309        for DEFGLOBAL.
310       
311        %CALLBACK-FUNCTION accepts a symbol (as well as a pointer that's
312        likely the global value of some symbol.)
313
3142007-04-08 11:28  gb
315
316        * level-1/l1-boot-2.lisp: DEFSTATIC is now the preferred name for
317        DEFGLOBAL.
318       
319        Standard CL streams now bound per-thread.
320       
321        Install standard foreign types here, not every time that
322        FOREIGN-TYPES is loaded.
323       
324        Canonicalize foreign type ordinals as soon as we can.  (This is
325        part of a scheme to give foreign types "ordinals' that can be used
326        to assert pointer types; we need some of those ordinal numbers to
327        be pre-assigned, since we can't reference foreign types early in
328        the cold load.)
329
3302007-04-08 11:27  gb
331
332        * level-1/l1-aprims.lisp: DEFSTATIC is now the preferred name for
333        DEFGLOBAL.  GCABLE-PTR-P.
334
3352007-04-07 21:25  gb
336
337        * level-0/nfasload.lisp: %INSERT-SYMBOL might call pkg.intern-hook.
338         Handle maintenance of auto-export packages differently.
339        $fasl-timm just needs an :int, not a :long.
340
3412007-04-07 21:24  gb
342
343        * level-0/l0-symbol.lisp: SET-TYPE-PREDICATE returns the
344        "functional", not random symbol guts.
345
3462007-04-07 21:23  gb
347
348        * level-0/l0-misc.lisp: Use %PTR-STORE-FIXNUM-CONDITIONAL in
349        %GET-SPIN-LOCK.  Locking code: spin lock must be released before
350        interrupts are re-enabled.
351
3522007-04-07 21:22  gb
353
354        * level-0/l0-io.lisp: FREE tries to handle gcable pointers.
355
3562007-04-07 21:20  gb
357
358        * level-0/: PPC/ppc-misc.lisp, X86/x86-misc.lisp:
359        %PTR-STORE-FIXNUM-CONDITIONAL.
360
3612007-04-07 21:19  gb
362
363        * level-0/PPC/ppc-def.lisp: Handle "hybrid" integer/float arguments
364        in DarwinPPC64 #'%FF-CALL.
365
3662007-04-07 21:19  gb
367
368        * compiler/optimizers.lisp: When trying to infer result type of
369        MAKE-ARRAY call, unquote quoted type specifier.
370       
371        Strength-reduce FLOAT when second argument is of known type.
372
3732007-04-07 21:18  gb
374
375        * compiler/nxenv.lisp: Operators of %SINGLE-FLOAT, %DOUBLE-FLOAT.
376
3772007-04-07 21:17  gb
378
379        * compiler/nx1.lisp: Allow extra "hybrid" ff-call argspecs (for
380        DarwinPPC64.) Cut-and-paste bug re: nx1-%fixnum-to-single/double.
381        Parse %short-float, %double-float when no "result" arg; can at
382        least try to constant-fold late and/or do some cases if we have
383        more type info.
384
3852007-04-07 21:16  gb
386
387        * compiler/nx0.lisp: Lose some whitespace in the "static var can't
388        be bound" error message.
389
3902007-04-07 21:15  gb
391
392        * compiler/X86/x862.lisp: Same inline/lambda-bind/dynamic-extent
393        bug as on PPC.  %SINGLE-FLOAT, %DOUBLE-FLOAT here, too.
394
3952007-04-07 21:14  gb
396
397        * compiler/X86/X8664/x8664-backend.lisp: In EXPAND-FF-CALL, adjust
398        remaning GPR/FPR counts even if arg is "simple" and passes straight
399        through to %FF-CALL.
400
4012007-04-07 21:13  gb
402
403        * compiler/PPC/ppc2.lisp: Fix a long-standing bug involving
404        LAMBDA-BIND operator, dynamic-extent &REST, and stack memoization.
405        Handle DarwinPPC64 ABI conventions, where SINGLE-FLOATs may be
406        passed in the same doubleword as GPRs.  %DOUBLE-FLOAT,
407        %SINGLE-FLOAT stuff: do inlining late, catch some other cases.
408
4092007-04-07 21:12  gb
410
411        * compiler/PPC/PPC64/ppc64-vinsns.lisp: RELOAD-SINGLE-C-ARG-HIGH,
412        for Darwin structure-passing ABI.
413
4142007-04-07 21:10  gb
415
416        * OpenMCL.app/Contents/Resources/English.lproj/:
417        MainMenu.nib/info.nib, MainMenu.nib/keyedobjects.nib,
418        MainMenu.nib/objects.nib, OpenmclInspector.nib/info.nib,
419        OpenmclInspector.nib/keyedobjects.nib,
420        OpenmclInspector.nib/objects.nib, backtrace.nib/info.nib,
421        backtrace.nib/keyedobjects.nib, backtrace.nib/objects.nib,
422        lispeditor.nib/info.nib, lispeditor.nib/keyedobjects.nib,
423        lispeditor.nib/objects.nib: Convert .nib to use utf-8
424        representation, not binary.
425
4262007-04-06 22:10  gb
427
428        * lisp-kernel/pmcl-kernel.c: Patch from Andi Kleen: set vmemoryuse
429        (RLIMIT_AS) current resource limit to max limit, since some distros
430        limit it.
431
4322007-04-03 03:11  gb
433
434        * level-1/l1-streams.lisp: Takehiko Abe's fix to
435        %IOBLOCK-WRITE-U16-ENCODED-CHAR.
436
4372007-04-02 22:10  gb
438
439        * level-1/l1-unicode.lisp: Takehiko Abe's fixes (missing "stream"
440        arg in utf-16 encode, missing #x in little-endian bom-marker
441        definition.)
442
4432007-03-14 23:10  gb
444
445        * lisp-kernel/x86-exceptions.c: Remove a debugging fprintf.
446
4472007-03-14 05:11  gb
448
449        * lib/ffi-darwinppc32.lisp: Fix typo (extra quote) in
450        generate-callback-bindings.
451
4522007-03-13 06:10  gb
453
454        * lisp-kernel/darwinx8664/Makefile: (re-)enable -O2.
455
4562007-03-13 03:58  gb
457
458        * lib/backtrace.lisp: Fix fenceposts in CLOSURE-CLOSED-OVER-VALUES.
459
4602007-03-12 05:11  gb
461
462        * lisp-kernel/x86-exceptions.c: Simplify interrupt_handler() a
463        little.
464
4652007-03-12 05:10  gb
466
467        * lib/foreign-types.lisp: Fix "extra arguments" error message in
468        %EXTERNAL-CALL-EXPANDER.
469
4702007-03-12 05:09  gb
471
472        * level-1/l1-clos-boot.lisp: class-wrapper-random-state: use
473        encapsulation, and a lock.
474
4752007-03-12 05:08  gb
476
477        * level-1/: l1-aprims.lisp, l1-numbers.lisp: *RANDOM-STATE* is
478        thread-local.
479
4802007-03-12 02:25  gb
481
482        * lisp-kernel/x86-exceptions.c: in catch_exception_raise(), try to
483        deal with variations in Mach behavior: "exception" may be
484        EXC_BAD_ACCESS when an illegal instruction causes a "general
485        protection fault".
486
4872007-03-09 15:56  gb
488
489        * level-1/l1-files.lisp: Bill's fix to (MAKE-PATHNAME :DIRECTORY
490        NIL ...)
491
4922007-03-09 00:01  gb
493
494        * lib/dumplisp.lisp: Use CLEAR-OPEN-FILE-STREAMS.
495
4962007-03-09 00:00  gb
497
498        * lib/ccl-export-syms.lisp: Accessors of open-file-streams; no more
499        *OPEN-FILE-STREAMS*.
500
5012007-03-09 00:00  gb
502
503        * level-1/: l1-streams.lisp, l1-sysio.lisp: Encapsulation for
504        open-file-streams.
505
5062007-03-08 23:59  gb
507
508        * level-1/l1-readloop.lisp: OPEN-FILE-STREAMS is a function,
509        returns a copy of a list of open file streams in PREPARE-TO-QUIT.
510
5112007-03-08 23:58  gb
512
513        * level-1/l1-init.lisp: Lose *OPEN-FILE-STREAMS* and the lock
514        associated with it.
515
5162007-03-08 23:57  gb
517
518        * level-1/l1-aprims.lisp: Bind *GENSYM-COUNTER* per-thread.
519
5202007-03-08 23:47  gb
521
522        * level-0/l0-hash.lisp: When REMHASH deletes the last entry in a
523        hash-table, it fills the hash-table vector with "free" markers.
524        (There may already be lots of "deleted" markers in the table.)
525
5262007-03-08 22:26  gb
527
528        * level-1/linux-files.lisp: *spin-lock-tries* with a trailing *.
529
5302007-03-08 22:24  gb
531
532        * lib/numbers.lisp: printing random-state: don't shift seeds.
533
5342007-03-08 22:24  gb
535
536        * level-1/l1-numbers.lisp: MAKE-RANDOM-STATE: don't shift.
537
5382007-03-08 22:24  gb
539
540        * level-0/X86/x86-numbers.lisp: Do %next-random-seed more portably.
541
5422007-03-08 22:23  gb
543
544        * level-0/PPC/PPC64/ppc64-bignum.lisp: Typo in comment.
545
5462007-03-08 22:23  gb
547
548        * level-0/PPC/ppc-numbers.lisp: Just a 32-bit version of
549        %next-random-pair.
550
5512007-03-08 22:22  gb
552
553        * level-0/l0-numbers.lisp: And, while we're at it: do the
554        next-random-seed permutation in %next-random-pair, which accepts
555        and returns a pair of 16-bit integers.  That's in lap on ppc32 and
556        in lisp on 64-bit platforms.
557
5582007-03-08 22:20  gb
559
560        * level-0/l0-numbers.lisp: Don't shift random seeds.
561
5622007-03-08 03:30  gb
563
564        * level-1/x86-error-signal.lisp: Check for trap opcode >= #x70
565        rather than >= #x80, because of the new way that
566        uuo-error-slot-unbound is encoded.
567
5682007-03-08 03:28  gb
569
570        * compiler/X86/x86-disassemble.lisp: Recognize
571        uuo-error-slot-unbound.
572
5732007-03-08 03:28  gb
574
575        * compiler/X86/x86-asm.lisp: Use (int #x7_) for
576        uuo-error-slot-unbound, since some (int #x8_) traps confuse Mach.
577
5782007-03-07 08:29  gb
579
580        * compiler/PPC/ppc2.lisp: Don't shadow the definition of PPC-DIV2.
581
5822007-03-07 07:45  gb
583
584        * level-1/linux-files.lisp: For #+linux-target, try to use
585        #_sysconf in CPU-COUNT, and fall back to parsing /proc/cpuinfo only
586        if that fails.  (CPU-COUNT is called early in the cold load, before
587        we can make the file-stream necessary to do the parsing.)
588
5892007-03-07 07:33  gb
590
591        * lisp-kernel/: linuxppc/Makefile, linuxppc64/Makefile,
592        linuxx8664/Makefile: Handle new GNU ld "hash-style" linker options.
593
5942007-03-07 07:25  gb
595
596        * lisp-kernel/x86-exceptions.h: Darwin signal return: logior in the
597        el-bizarro syscall mask, pass the magic number 0x1e as a second
598        arg, just in case.
599
6002007-03-07 07:24  gb
601
602        * level-1/l1-sysio.lisp: OPEN, CLOSE lock *OPEN-FILE-STREAMS-LOCK*
603        before accessing *OPEN-FILE-STREAMS*.
604
6052007-03-07 07:23  gb
606
607        * level-1/l1-readloop.lisp: Add comment about
608        *OPEN-FILE-STREAMS-LOCK*.
609
6102007-03-07 07:23  gb
611
612        * level-1/l1-init.lisp: Add *OPEN-FILE-STREAMS-LOCK*.
613
6142007-03-07 07:21  gb
615
616        * lib/nfcomp.lisp: Bind *FCOMP-PREVIOUS-POSITION* in
617        FCOMP-READ-LOOP (e.g., don't just hammer on the static binding.)
618
6192007-03-07 07:05  gb
620
621        * xdump/heap-image.lisp: Bump current image version.
622
6232007-03-07 07:02  gb
624
625        * lisp-kernel/x86-asmutils64.s: Some (currently unused) CPUID
626        "calls" want an argument in ecx.  Set that arg to 0 for now.
627
6282007-03-07 07:01  gb
629
630        * lisp-kernel/thread_manager.c: Use spinlocks to guard updates to
631        "real" locks; those updates can be simplified.
632       
633        lock_recursive_lock: no (ignored) timeout arg.
634
6352007-03-07 06:59  gb
636
637        * lisp-kernel/image.h: Bump current, max abi versions; continue to
638        support the old one.
639
6402007-03-07 06:59  gb
641
642        * lisp-kernel/Threads.h: #include #<sched.h>, for sched_yield()
643        prototype.  Change declaration of LOCK macro: no null timespec
644        required.  RECURSIVE_LOCKs have spinlock fields.
645
6462007-03-07 06:56  gb
647
648        * level-1/version.lisp: bump, indicate work-in-progress development
649        version.
650
6512007-03-07 06:56  gb
652
653        * level-1/linux-files.lisp: Determing *spin-lock-tries* at launch
654        time, based on cpu-count.  YIELD moved here, does #_sched_yield
655        rather than something lower-level.
656
6572007-03-07 06:53  gb
658
659        * level-0/l0-misc.lisp: Locks use spinlocks, try *spin-lock-tries*
660        to obtain them before yielding.
661
6622007-03-07 06:52  gb
663
664        * level-0/l0-io.lisp: Move YIELD elsewhere.
665
6662007-03-07 06:51  gb
667
668        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
669        X86/X8664/x8664-arch.lisp: Add spinlock field to lockptr storage
670        layout.
671
6722007-03-02 05:10  gb
673
674        * level-1/l1-application.lisp: Toplevel function: initial-listener
675        class is 'TTY-LISTENER.
676
6772007-03-02 05:09  gb
678
679        * level-1/l1-lisp-threads.lisp: Print n's value, not n in error
680        message.
681
6822007-03-02 05:09  gb
683
684        * level-1/l1-processes.lisp: New process class: TTY-LISTENER.
685       
686        EXIT-INTERACTIVE-PROCESS: for most processes, just PROCESS-KILL.
687        For TTY-LISTENER, call QUIT.
688
6892007-03-02 05:08  gb
690
691        * level-1/l1-readloop-lds.lisp: Don't call QUIT on EOF, call
692        EXIT-INTERACTIVE-PROCESS instead.
693       
694        Look at *QUIT-ON-EOF* when deciding what to do in response to EOF.
695
6962007-03-02 05:06  gb
697
698        * lib/ccl-export-syms.lisp: Export *quit-on-eof*.
699
7002007-03-02 05:06  gb
701
702        * lib/macros.lisp: WITH-MACPTRS: move initialization/modification
703        of null pointers into body.
704
7052007-03-02 05:05  gb
706
707        * lisp-kernel/x86-exceptions.c: Try to handle two more cases of
708        consus-interruptus.
709
7102007-03-02 05:05  gb
711
712        * compiler/nx0.lisp: (the <type> <constant>) transforms to
713        <constant> if constant is of type <type>.)
714       
715        Do we need an ignore-errors here ? Or does <type> need to be
716        defined ?
717
7182007-03-02 05:03  gb
719
720        * compiler/X86/x862.lisp: Do the / * thing.
721
7222007-03-02 05:02  gb
723
724        * compiler/X86/X8664/x8664-vinsns.lisp: things that do calls need
725        :call attribute.
726
7272007-03-01 04:04  gb
728
729        * lisp-kernel/x86-spentry64.s: binding primitives: set value after
730        new binding frame
731
7322007-02-28 07:04  gb
733
734        * level-0/X86/x86-numbers.lisp: In %fixnum-truncate, use -8(sp)
735        rather than %rbp; trust callback_for_interrupt() to preserve it.
736
7372007-02-28 07:03  gb
738
739        * lisp-kernel/x86-exceptions.c: Try to preserve -8(sp) across
740        callback_for_interrupt().
741
7422007-02-28 05:18  gb
743
744        * lisp-kernel/x86-gc.c: check_node: ignore tiny things (shift
745        counts) that may wind up on the vstack.
746       
747        Since those tiny things might be tagged as headers, walk the vstack
748        with new "headerless" functions that ignore headers.
749
7502007-02-28 05:16  gb
751
752        * lisp-kernel/x86-exceptions.c: In pc_luser_xp: if allocating and
753        before the alloc trap and interrupting, back out of the
754        modification to save_allocptr (and allocptr register) and set
755        *interrupt_displacement.
756
7572007-02-23 10:13  gb
758
759        * lib/foreign-types.lisp: Changes to GUESS-ALIGNMENT.  Again, this
760        only makes sense for cases where we have to guess; a bitfield
761        that's 8 bits wide still has an alignment of 1.
762       
763        Factor in the alignment of the containing int when bitfields are
764        involved.
765       
766        When parsing a record type, set the "bits" slot of each field.
767        (Not too many things look at that slot, but we want the effect of
768        loading a record from the database to match the effect of parsing a
769        definition as exactly as possible, and to be able to use EQUALP to
770        compare the results.)
771
7722007-02-23 10:06  gb
773
774        * lib/db-io.lisp: Some extra fields in
775        objc-message-info/objc-method-info structures.
776       
777        When calculating overall alignment of a structure, treat bitfields
778        as if they were :unsigned-int (since there's a "containing"
779        unsigned int that affects alignment.  N.B: this should be imposed
780        for anything that has an alignment of 1, not just a size of 1.)
781       
782        When loading integer types, try to use the precomputed types rather
783        than consing a new one.  This (a) reduces consing a little (b) is
784        more likely to get the alignment correct.  For (b), we really need
785        to distinguish between bitfields and addressable integers.
786
7872007-02-23 09:30  gb
788
789        * compiler/X86/x862.lisp: Nonsense in x862-set-bit.
790
7912007-02-22 02:33  gb
792
793        * level-0/l0-misc.lisp: Tweak ROOM output a little.
794
7952007-02-22 02:28  gb
796
797        * lisp-kernel/x86-gc.c: Fix up the verbose GC herald a bit (get
798        heap size right ...).
799
8002007-02-22 02:27  gb
801
802        * lisp-kernel/linuxx8664/Makefile: Tell GNU ld to use the
803        traditional (sysv) style of hash maps, if it understands that
804        option.
805
8062007-02-21 06:01  gb
807
808        * lisp-kernel/: ppc-gc.c, x86-gc.c: Handle the case where nothing
809        has been consed since last GC.  (There are some fenceposts there.)
810       
811        verbose GC herald tries to indicate how much is allocated in the
812        area being GCed.
813
8142007-02-21 05:58  gb
815
816        * lisp-kernel/: ppc-exceptions.c, x86-exceptions.c: If full GC is
817        deferred, ensure that a full GC happens after WITHOUT-GCING exits.
818
8192007-02-21 05:57  gb
820
821        * compiler/X86/x86-disassemble.lisp: Continue disassembly after
822        uuo-gc-trap.
823
8242007-02-19 04:50  gb
825
826        * lib/foreign-types.lisp: Use keywords more consistently.
827       
828        (Note: there seems to be a bug which is keeping the cdb data
829        structures from getting defined correctly at load time; the
830        workaround is to compile foreign-types.lisp - which defines them -
831        in the same session as and before db-io - which uses them - is
832        compiled.)
833
8342007-02-19 04:48  gb
835
836        * level-0/X86/x86-clos.lisp: UNSET-FIN-TRAMPOLINE: don't tail-call
837        error.
838
8392007-02-19 04:42  gb
840
841        * level-0/PPC/ppc-clos.lisp: UNSET-FIN-TRAMPOLINE: don't tail-call
842        the error function.
843
8442007-02-19 04:40  gb
845
846        * level-1/l1-clos-boot.lisp: MAYBE-UPDATE-OBSOLETE-INSTANCE: handle
847        funcallable objects that aren't STANDARD-GENERIC-FUNCTIONs.
848
8492007-02-19 04:40  gb
850
851        * level-1/l1-clos.lisp: Move GENERIC-FUNCTION-NAME to
852        FUNCALLABLE-STANDARD-OBJECT.
853       
854        %ALLOCATE-GF-INSTANCE: don't create a dispatch table if not
855        creating a GF.
856
8572007-02-19 04:36  gb
858
859        * lib/describe.lisp: STANDARD-OBJECT-LINE-N: handle
860        funcallable-stanard-objects better.
861
8622007-02-19 04:34  gb
863
864        * lib/ccl-export-syms.lisp: Export FUNCALLABLE-STANDARD-OBJECT from
865        CCL, OPENMCL-MOP.
866
8672007-02-19 02:09  gb
868
869        * level-1/l1-clos-boot.lisp: FUNCALLABLE-STANDARD-OBJECT is a
870        FUNCALLABLE-STANDARD-CLASS.
871
8722007-02-19 02:07  gb
873
874        * examples/bridge.lisp: MAKE-OPTIMIZED-SEND: missing "msg" arg in
875        error message.
876
8772007-02-15 02:46  gb
878
879        * examples/objc-support.lisp: Call REGISTER-OBJC-INIT-MESSAGES
880        after MAP-OBJC-CLASSES in LOAD-OBJC-EXTENSION-FRAMEWORK.
881
8822007-02-15 02:45  gb
883
884        * examples/bridge.lisp: UPDATE-OBJC-METHOD-INFO: don't process init
885        methods yet.
886
8872007-02-14 02:39  gb
888
889        * release-notes.txt: Fix a typo.
890
8912007-02-14 02:35  gb
892
893        * release-notes.txt: Update for 070214 snapshots.
894
8952007-02-13 23:36  gb
896
897        * level-1/version.lisp: Bump.
898
8992007-02-13 23:36  gb
900
901        * lisp-kernel/image.h, xdump/heap-image.lisp: Update
902        image-abi-version.
903
9042007-02-13 23:29  gb
905
906        * xdump/faslenv.lisp: Finish bumping fasl version.
907
9082007-02-13 23:15  gb
909
910        * lib/nfcomp.lisp: Bump current fasl version.
911
9122007-02-13 23:02  gb
913
914        * x86-headers64/gl/C/populate.sh: rm -rf ./usr
915
9162007-02-13 22:45  gb
917
918        * xdump/faslenv.lisp: Start bumping fasl-version.
919
9202007-02-13 22:41  gb
921
922        * freebsd-headers64/: gmp/C/populate.sh, gnome2/C/populate.sh,
923        gtk2/C/populate.sh, libc/C/populate.sh: rm -rf  ./usr
924
9252007-02-13 21:16  gb
926
927        * freebsd-headers64/gl/C/populate.sh: Avoid processing some files
928        that contain incompatible definitions of some math library stuff
929        ("log" either has to do with logarithms or logging ...).
930
9312007-02-13 18:42  gb
932
933        * lib/misc.lisp: Change the way that TIME is reported by default:
934        mention the number of available CPU cores, don't assume that
935        there's that much of a relationship between CPU time and wall-clock
936        time.
937
9382007-02-13 18:41  gb
939
940        * level-1/linux-files.lisp: Don't do whatever el-bizarro Mach thing
941        once seemed to be necessary in %%RUSAGE.  Require syscall stuff
942        when :execute, too.
943
9442007-02-13 18:35  gb
945
946        * lib/ffi-linuxppc64.lisp: It's %%get-unsigned-longlong, and the
947        offset arg is required.
948
9492007-02-13 18:12  gb
950
951        * level-0/X86/x86-misc.lisp: Add rdtsc (returns 60 bit non-negative
952        fixnum) and rdtsc64 (returns 64-bit non-negative integer.)
953
9542007-02-13 18:10  gb
955
956        * lib/time.lisp: Simpler GET-INTERNAL-RUN-TIME (tries harder not to
957        cons.)
958
9592007-02-13 18:10  gb
960
961        * examples/rubix/rubix.lisp: A little bit of cgfloat stuff; there
962        are more/other float-size issues deeper down in the code.
963
9642007-02-13 18:09  gb
965
966        * examples/objc-support.lisp: Fixup the x86-64 error-return
967        callback trampiline code (was missing a byte of machine code.)
968
9692007-02-13 18:08  gb
970
971        * examples/objc-runtime.lisp: Set the mxcsr/fpctrl fields of
972        jmp-buf to safe/sane values.
973
9742007-02-13 18:07  gb
975
976        * examples/cocoa-window.lisp: Don't change-class
977        *cocoa-event-process* until we start to run the event loop.
978       
979        Don't do _deallocHardCore: explicitly.
980
9812007-02-13 17:35  gb
982
983        * compiler/PPC/ppc2.lisp: poweropen-foreign-args: on ppc64, a
984        DOUBLE-FLOAT aliases just one gpr.
985
9862007-02-13 17:34  gb
987
988        * darwin-headers64/libc/C/populate.sh: Select the SDK directory.
989
9902007-02-13 17:34  gb
991
992        * library/pty.lisp: return-value pointers in OPEN-PTY-PAIR are just
993        32-bit ints, not "long".
994
9952007-02-13 17:33  gb
996
997        * lib/ffi-darwinppc64.lisp: Callback arguments: update offset/delta
998        for each scalar, not each arg.
999       
1000        Fix some backquoting/indentation.
1001
10022007-02-13 17:31  gb
1003
1004        * lib/ffi-darwinppc32.lisp: Fix typo (^get-signed-long).
1005
10062007-02-12 16:23  gb
1007
1008        * darwin-x86-headers64/libc/C/populate.sh: Select an SDK.
1009
10102007-02-11 20:22  gb
1011
1012        * examples/bridge.lisp: method-typestring needs to be
1013        conditionalized.  How has this been working ?
1014
10152007-02-11 20:22  gb
1016
1017        * examples/cocoa-editor.lisp: remove some debugging code.
1018
10192007-02-11 20:21  gb
1020
1021        * examples/objc-runtime.lisp: %mlist-containing is
1022        #-apple-objc-2.0.
1023
10242007-02-11 20:21  gb
1025
1026        * examples/objc-support.lisp: Lose a quote mark, fix another typo.
1027
10282007-02-11 05:35  gb
1029
1030        * level-1/version.lisp: Bump.
1031
10322007-02-11 05:28  gb
1033
1034        * darwin-headers/: addressbook/C/populate.sh, carbon/C/populate.sh,
1035        cocoa/C/populate.sh, gl/C/populate.sh, libc/C/populate.sh,
1036        quicktime/C/populate.sh, webkit/C/populate.sh: Make the SDK prefix
1037        an optional argument; default to the Tiger SDK.
1038
10392007-02-11 05:26  gb
1040
1041        * lib/ffi-darwinppc32.lisp: Ignore errors; it's an error to ignore
1042        an errror.
1043
10442007-02-11 05:26  gb
1045
1046        * level-1/ppc-trap-support.lisp: Conditionalize for gratuitous
1047        Leopard renaming.  Suffer.
1048
10492007-02-11 05:25  gb
1050
1051        * level-1/l1-boot-lds.lisp: MAKE-MCL-LISTENER-PROCESS will preset
1052        an existing process (so that the listener process appears to be
1053        "persistent".)
1054
10552007-02-11 05:24  gb
1056
1057        * level-1/l1-application.lisp: LISP-DEVELOPMENT-SYSTEM tries to
1058        make the initial-listener object persistent acrosss
1059        SAVE-APPLICATION.
1060
10612007-02-11 00:01  gb
1062
1063        * examples/objc-support.lisp: Deftype for CF-FLOAT.
1064       
1065        Handle callback-error-returns on x86-64.
1066
10672007-02-11 00:00  gb
1068
1069        * examples/objc-runtime.lisp: Pointer comparisons in splay trees
1070        use %ptr<, to hide word-size differences.
1071       
1072        __NSConstantStringClassReference isn't what it used to be, so look
1073        up NSConstantStringClass the hard way.
1074       
1075        Handle ns-exception/lisp-error stuff on x86-64.
1076       
1077        Do arg/result coercions differently.  Does any code depend on
1078        COERCE-TO-ADDRESS behavior ?  (It can cause extra consing of
1079        MACPTRs).
1080       
1081        Use the new FFI interface for message-sends, callbacks to try to
1082        hide platform-specific ABI issues.
1083       
1084        The _deallocate-hook mechanism - which never really worked -
1085        probably can't work on Objc-2.0.
1086
10872007-02-10 23:54  gb
1088
1089        * examples/bridge.lisp: Make structure return-type explicit in
1090        objc-message-send calls in send/stret and variants.
1091
10922007-02-10 22:34  gb
1093
1094        * examples/cocoa-window.lisp: Some indentation changes and slight
1095        reorganization of the code; shouldn't be any functional/semantic
1096        changes.
1097
10982007-02-10 22:30  gb
1099
1100        * examples/: cocoa-editor.lisp, cocoa-prefs.lisp,
1101        cocoa-typeout.lisp: Need to ensure that floats are CG-FLOATs when
1102        appropriate; other changes for 64-bit platforms, Objc-2.0.
1103
11042007-02-10 22:28  gb
1105
1106        * examples/: webkit.lisp, tiny.lisp: Need to ensure that floats are
1107        CG-FLOATs when appropriate.
1108
11092007-02-10 22:28  gb
1110
1111        * hemlock/bin/openmcl/.cvsignore: Ignore fasls for all platforms.
1112
11132007-02-10 22:28  gb
1114
1115        * level-0/X86/x86-misc.lisp: VALUES uses :ARGLIST pseudo-op.
1116
11172007-02-10 22:27  gb
1118
1119        * lib/: ffi-linuxppc64.lisp, ffi-darwinppc32.lisp,
1120        ffi-darwinppc64.lisp, ffi-linuxppc32.lisp: EXPAND-FF-CALL:
1121        ignore-errors when trying to parse the last arglist form as a
1122        foreign type.
1123
11242007-02-10 22:26  gb
1125
1126        * lib/foreign-types.lisp: Pretty much commited to the new FF-CALL
1127        expansion ...
1128
11292007-02-10 22:26  gb
1130
1131        * lisp-kernel/x86-spentry64.s: Preserve %rax when doing ff-call;
1132        use %rdx and %r11 to hold target address.
1133
11342007-02-10 22:23  gb
1135
1136        * library/pty.lisp: Unicode stuff when accessing control char
1137        array; conditionalize for #+darwin-target, not just
1138        #+darwinppc-target.
1139
11402007-02-10 22:22  gb
1141
1142        * level-1/l1-callbacks.lisp: Fix a comment (defcallback isn't
1143        ppc-specific; the comment dated from the days of 68K MCL.)
1144
11452007-02-10 22:21  gb
1146
1147        * compiler/X86/X8664/x8664-backend.lisp: Fix some typos; do struct
1148        return 32 bits at a time, to avoid consing little bignums.
1149
11502007-02-10 22:15  gb
1151
1152        * compiler/X86/x86-lap.lisp: Support :arglist directive.
1153
11542007-02-10 22:15  gb
1155
1156        * compiler/X86/x862.lisp: alloc-c-frame vinsn takes "extra" word
1157        count, not total byte count.
1158       
1159        Fix handling of $undo-x86-c-frame in x862-nlexit.  (Need to check
1160        the PPC case, as well.)
1161
11622007-02-10 22:11  gb
1163
1164        * compiler/X86/X8664/x8664-vinsns.lisp: There doesn't need to be a
1165        "zero-extend-s8" vinsn, but there does need to be a
1166        "zero-extend-u8".
1167
11682007-02-10 05:38  gb
1169
1170        * level-0/PPC/ppc-misc.lisp: Use new :ARGLIST directive in
1171        #'VALUES.
1172
11732007-02-10 05:38  gb
1174
1175        * compiler/PPC/ppc-lap.lisp: Support an :ARGLIST directive, so that
1176        ARGLIST can say -something- about lap functions that don't take a
1177        fixed number of arguments.
1178
11792007-02-07 02:54  gb
1180
1181        * compiler/X86/X8664/x8664-backend.lisp: They spell "valu" with an
1182        "e".
1183
11842007-02-02 02:32  gb
1185
1186        * examples/: bridge.lisp, objc-clos.lisp, objc-runtime.lisp,
1187        objc-support.lisp: Start to integrate with FFI changes.  No more
1188        %SEND, process and precompile "init" messages when interfaces are
1189        accessed.  (Note: should try to handle varargs init messages, even
1190        if we have to call %FF-CALL at runtime.)
1191
11922007-02-02 02:31  gb
1193
1194        * examples/: addressbook.lisp, webkit.lisp: Change the
1195        initialization code a bit.
1196
11972007-02-02 02:27  gb
1198
1199        * lib/foreign-types.lisp: Try to fix another case involving
1200        "auxiliary types".
1201       
1202        I think that the concept of auxiliary types might make sense in a
1203        context like:
1204       
1205        (def-foreign-type nil   (:struct :foo     (:a :int)     (:b
1206        (:struct :bar (:x :int) (:y :int)))))
1207       
1208        In that case, :struct :bar is local to the definition.  In the
1209        similar case:
1210       
1211        (def-foreign-type nil   (:struct :foo     (:a :int)     (:b
1212        (:struct :bar))))
1213       
1214        :BAR is presumably defined (globally) elsewhere.
1215
12162007-02-02 02:17  gb
1217
1218        * darwin-headers/addressbook/C/populate.sh: Specify the SDK to use.
1219         (Setting "SDK=" will hopefully work with older version of xcode.)
1220
12212007-02-02 02:15  gb
1222
1223        * darwin-headers/addressbook/C/.cvsignore: Ignore ./Developer.
1224
12252007-01-31 23:26  gb
1226
1227        * compiler/PPC/ppc2.lisp: Don't treat :registers arg as a real
1228        argument in ppc2-poweropen-foreign-args.
1229
12302007-01-31 22:47  gb
1231
1232        * lib/ffi-darwinppc64.lisp: Needed ,@ to return assign structure
1233        components from registers.
1234
12352007-01-31 22:45  gb
1236
1237        * lib/db-io.lisp: UNESCAPE-FOREIGN-NAME: strings with no angle
1238        brackets are returned verbatim, not downcased.
1239
12402007-01-31 22:44  gb
1241
1242        * level-0/PPC/ppc-def.lisp: Runtime version of 64-bit %ff-call
1243        accepts :registers.
1244
12452007-01-31 16:36  gb
1246
1247        * darwin-headers64/chud/: .cvsignore, C/.cvsignore, C/populate.sh:
1248        New (and, so far, useless) files.
1249
12502007-01-31 16:35  gb
1251
1252        * library/chud-metering.lisp: Add a comment; CHUD.Framework still
1253        seems to be 32-bit only.
1254
12552007-01-31 16:34  gb
1256
1257        * darwin-headers64/libc/C/.cvsignore: Ignore ./Developer.
1258
12592007-01-31 16:34  gb
1260
1261        * darwin-headers64/libc/C/populate.sh: Use SDK; add dlfcn.h.
1262
12632007-01-31 16:33  gb
1264
1265        * lib/db-io.lisp: Tweak the warning given if CDB-OPEN fails:
1266        missing cdb file: dog bytes man; missing parent directory is more
1267        newsworthy.
1268
12692007-01-31 15:38  gb
1270
1271        * library/chud-metering.lisp: Tweak a little, so that it might work
1272        on darwinppc64 (and on darwinx8664 when purify does something
1273        there.)
1274
12752007-01-31 15:06  gb
1276
1277        * darwin-headers/libc/C/populate.sh: Add dlfcn.h.
1278
12792007-01-31 02:49  gb
1280
1281        * level-0/PPC/PPC32/ppc32-bignum.lisp: BIGNUM-NEGATE-TO-PTR.
1282
12832007-01-30 22:53  gb
1284
1285        * freebsd-headers64/: gtk2/C/.cvsignore, gtk2/C/populate.sh,
1286        gl/C/.cvsignore, gl/C/populate.sh, gnome2/.cvsignore,
1287        gnome2/C/.cvsignore, gnome2/C/populate.sh, gtk2/.cvsignore,
1288        gl/.cvsignore: new files.
1289
12902007-01-30 22:21  gb
1291
1292        * freebsd-headers64/gmp/: C/.cvsignore, C/populate.sh, .cvsignore:
1293        new files.
1294
12952007-01-30 21:58  gb
1296
1297        * level-0/l0-bignum64.lisp: BIGNUM-NEGATE-TO-POINTER.
1298
12992007-01-30 21:58  gb
1300
1301        * x86-headers64/gmp/: .cvsignore, C/.cvsignore, C/populate.sh: new
1302        file
1303
13042007-01-30 21:49  gb
1305
1306        * level-1/l1-sockets.lisp: Learn to conditionalize! It's easy and
1307        fun!
1308
13092007-01-30 21:40  gb
1310
1311        * library/openmcl-gtk-support.lisp: Conditionalize out the
1312        event-polling task.
1313
13142007-01-30 21:36  gb
1315
1316        * headers64/: gl/.cvsignore, gl/C/.cvsignore, gl/C/populate.sh,
1317        gnome2/.cvsignore, gnome2/C/.cvsignore, gnome2/C/populate.sh,
1318        gtk2/.cvsignore, gtk2/C/.cvsignore, gtk2/C/populate.sh: new file
1319
13202007-01-30 21:35  gb
1321
1322        * headers/gl/C/populate.sh: process glu.h
1323
13242007-01-30 17:47  gb
1325
1326        * library/parse-ffi.lisp: Always encode explicit structure-typed
1327        function return values.
1328       
1329        Note when we see one, for now.
1330
13312007-01-30 17:45  gb
1332
1333        * lib/foreign-types.lisp: %EXTERNAL-CALL-EXPANDER allows/requires a
1334        leading argument to be paired with a structure-typed return-type.
1335
13362007-01-30 17:43  gb
1337
1338        * lib/ffi-linuxppc32.lisp: linuxppc32 always returns structures via
1339        the first-arg hack.
1340
13412007-01-30 17:42  gb
1342
1343        * lib/db-io.lisp: Bump *interface-abi-version*, but continue to
1344        support the old version.
1345       
1346        Don't check the :struct-by-value flag when encoding function
1347        args/results.  (That decision's made above our pay grade now.)
1348       
1349        When reading a :struct/:union definition, try to update an existing
1350        defintion rather than consing up a new one (this matters if the
1351        record is anonymous.)
1352
13532007-01-30 17:39  gb
1354
1355        * level-1/l1-sockets.lisp: Try to ensure that the :FORMAT argument
1356        gets passed to MAKE-TCP-STREAM-SOCKET and MAKE-FILE-STREAM-SOCKET
1357        correctly.
1358       
1359        Fix c_socket for #+linuxppc.
1360
13612007-01-30 08:20  gb
1362
1363        * level-1/version.lisp: Bump.
1364
13652007-01-30 08:20  gb
1366
1367        * lib/compile-ccl.lisp: Use make -j to build kernel.
1368
13692007-01-30 07:02  gb
1370
1371        * lisp-kernel/x86-spentry64.s: .SPcallback returns rax/rdx,
1372        xmm0/xmm1.
1373
13742007-01-30 07:01  gb
1375
1376        * lib/macros.lisp: Use new callback interface unconditionally.  (A
1377        day's work turned into 2 weeks, somehow.)
1378
13792007-01-30 07:00  gb
1380
1381        * compiler/X86/X8664/x8664-backend.lisp, lib/ffi-darwinx8664.lisp,
1382        lib/ffi-freebsdx8664.lisp, lib/ffi-linuxx8664.lisp: New callback
1383        stuff for x8664 (all platfroms appear to use the same ABI.)
1384
13852007-01-30 03:26  gb
1386
1387        * level-0/X86/x86-misc.lisp: Don't use boxed "disp" for
1388        displacement in %ATOMIC-INCF-NODE.
1389
13902007-01-29 07:27  gb
1391
1392        * lib/macros.lisp: Enable new callback stuff on #+ppc-target.
1393
13942007-01-29 07:27  gb
1395
1396        * lib/ffi-darwinppc64.lisp: new callback stuff.
1397
13982007-01-29 07:27  gb
1399
1400        * lib/ffi-darwinppc32.lisp: typos-r-us.
1401
14022007-01-29 04:37  gb
1403
1404        * lib/ffi-darwinppc32.lisp: Flesh out darwinppc32 callback stuff.
1405
14062007-01-29 04:37  gb
1407
1408        * lib/ffi-linuxppc64.lisp: Fix some typos/bugs; more likely remain.
1409
14102007-01-29 04:36  gb
1411
1412        * lib/foreign-types.lisp: REQUIRE-FOREIGN-TYPE-BITS.
1413
14142007-01-29 04:36  gb
1415
1416        * lib/macros.lisp: Use new callback scheme for darwinppc32, too.
1417
14182007-01-29 04:36  gb
1419
1420        * compiler/PPC/PPC32/ppc32-backend.lisp: No more (old) callback
1421        stuff here.
1422
14232007-01-29 02:33  gb
1424
1425        * lib/ffi-darwinppc32.lisp: Flesh out the new callback stuff.
1426
14272007-01-28 21:47  gb
1428
1429        * lib/: ffi-linuxppc32.lisp, ffi-linuxppc64.lisp: Flesh things out
1430        a bit more, change the API, get things working ... still a moving
1431        target.
1432
14332007-01-28 21:46  gb
1434
1435        * lib/macros.lisp: For linuxppc, use the new callback mechanism.
1436        (Other platforms still need more bootstrapping.)
1437
14382007-01-28 21:44  gb
1439
1440        * compiler/PPC/PPC32/ppc32-backend.lisp: Lose the old eabi-callback
1441        stuff; linuxppc 32/64-bit callbacks now use the new scheme.
1442
14432007-01-28 03:21  gb
1444
1445        * lib/ffi-linuxppc32.lisp: Remove some typos.  Need to pass
1446        dynamic-extent, other decls separately.
1447
14482007-01-28 03:20  gb
1449
1450        * compiler/PPC/PPC32/ppc32-backend.lisp: Fix some of this stuff;
1451        use the new (ftd-based) scheme.
1452
14532007-01-28 01:43  gb
1454
1455        * compiler/PPC/PPC64/ppc64-backend.lisp: Fix some typos.  (This
1456        code's getting replaced, but fix 'em anyway.)
1457
14582007-01-28 01:42  gb
1459
1460        * lib/db-io.lisp: If a .cdb file can't be opened, show the
1461        translated pathname and mention the fact that this might indicate a
1462        problem with "ccl:"'s logical translations.
1463
14642007-01-25 04:37  gb
1465
1466        * lib/foreign-types.lisp: Never fully understood the concept
1467        "auxiliary" foreign types, but try to canonicalize intermediate
1468        struct/union/enum references, so that (EQ (PARSE-FOREIGN-TYPE
1469        '(:STRUCT :FOO))     (PARSE-FOREIGN-TYPE '(:STRUCT :FOO))) is more
1470        likely to return T (e.g., something registered in the FTD.
1471       
1472        It seems clear that this is the right thing when the structure
1473        reference is in global scope; I'm not sure what it'd mean for that
1474        not to be the case.
1475
14762007-01-25 04:32  gb
1477
1478        * lib/ffi-linuxppc32.lisp: More plausible callback-bindings
1479        callback.
1480
14812007-01-24 23:41  gb
1482
1483        * lib/ffi-linuxppc32.lisp: First cut at callback-bindings thing;
1484        may not even compile.
1485
14862007-01-24 02:39  gb
1487
1488        * compiler/: PPC/PPC32/ppc32-backend.lisp,
1489        PPC/PPC64/ppc64-backend.lisp, X86/X8664/x8664-backend.lisp: Stubs
1490        for new FTD functions.
1491
14922007-01-24 02:28  gb
1493
1494        * lib/foreign-types.lisp: A few more fields (for callbacks) in ftd
1495        defstruct.
1496
14972007-01-23 15:28  gb
1498
1499        * compiler/PPC/: PPC32/ppc32-backend.lisp,
1500        PPC64/ppc64-backend.lisp: Get FPRs from where subprim saved them.
1501        Return FPRs in the same place.  (Will need to re-work all of this
1502        for platform-dependent structure stuff.)
1503
15042007-01-23 15:26  gb
1505
1506        * lisp-kernel/ppc-spentry.s: poweropen-callback, callbackX; save fp
1507        args here.  Return all (arg) GPRs and FPRs (needs cooperation from
1508        the lisp side.)
1509
15102007-01-23 15:21  gb
1511
1512        * lisp-kernel/: ppc-constants32.s, ppc-constants64.s: Add room in
1513        c_reg_save for saved fp args (f1-f13).
1514
15152007-01-23 15:14  gb
1516
1517        * lib/foreign-types.lisp: FF-CALL implemented in terms of the new
1518        ftd hook.
1519
15202007-01-23 07:19  gb
1521
1522        * level-1/l1-clos-boot.lisp: ppc32, ppc64 also had trouble with
1523        (CLASS-OF non-simple-string).
1524
15252007-01-23 07:02  gb
1526
1527        * level-1/l1-clos-boot.lisp: x8664 class-of: typo in non-simple
1528        array case, needed new string definition.
1529
15302007-01-23 07:01  gb
1531
1532        * lib/: ffi-darwinx8664.lisp, ffi-freebsdx8664.lisp,
1533        ffi-linuxx8664.lisp: Define ffi stuff in terms of common things in
1534        compiler/X86/X8664/x8664-backend.
1535
15362007-01-23 06:59  gb
1537
1538        * compiler/X86/X8664/x8664-backend.lisp: Define (common) x8664 ffi
1539        stuff here.
1540
15412007-01-21 08:32  gb
1542
1543        * compiler/X86/x862.lisp: Name vinsn ff-call-return-registers (not
1544        "-returning-").
1545       
1546        Typecheck the :registers arg.
1547
15482007-01-21 08:32  gb
1549
1550        * compiler/X86/X8664/x8664-vinsns.lisp: ff-call-return-registers.
1551
15522007-01-21 08:31  gb
1553
1554        * compiler/X86/X8664/x8664-arch.lisp: WITH-FFCALL-RESULTS: zero the
1555        stack-block.
1556
15572007-01-21 08:31  gb
1558
1559        * lisp-kernel/x86-spentry64.s: Don't use save3 in
1560        .SPffcall_return_registers (save3 = r11); use save2 (= r13)
1561        instead.
1562
15632007-01-21 06:46  gb
1564
1565        * compiler/PPC/PPC64/ppc64-arch.lisp: WITH-FFCALL-RESULTS needs
1566        space for 13 float registers, not 31.
1567
15682007-01-21 06:45  gb
1569
1570        * compiler/X86/X8664/x8664-arch.lisp: WITH-FFCALL-RESULTS for
1571        x86-64.
1572
15732007-01-21 06:38  gb
1574
1575        * compiler/X86/x862.lisp: ff-call: handle n-word struct-by-value,
1576        register return without typos.
1577
15782007-01-21 06:15  gb
1579
1580        * compiler/X86/x862.lisp: ff-call: handle n-word struct-by-value,
1581        register return.
1582
15832007-01-21 06:14  gb
1584
1585        * compiler/nx1.lisp: Don't assume that passing a structure by value
1586        in N words is Darwin-specific.  (LinuxPPC32 is probably the only
1587        platform that doesn't support the convention.)
1588
15892007-01-21 06:12  gb
1590
1591        * compiler/X86/X8664/x8664-arch.lisp: .SPffcall-return-registers
1592        replaces .SPunused-4.
1593
15942007-01-21 06:10  gb
1595
1596        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s:
1597        .SPffcall_return_registers (just returns %rax/rdx, %xmm0/%xmm1).
1598        (replaces .SPunused_4).
1599
16002007-01-21 00:05  gb
1601
1602        * lib/: ffi-linuxppc32.lisp, ffi-linuxppc64.lisp: Use
1603        argument/result coercion functions in os::expand-ff-call.
1604
16052007-01-20 23:53  gb
1606
1607        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp: Coerce arg,
1608        results when expanding an ff-call.
1609
16102007-01-20 23:52  gb
1611
1612        * lib/foreign-types.lisp: Default (no-op) functions for coercing
1613        foreign args, results.
1614
16152007-01-20 22:31  gb
1616
1617        * lib/ffi-linuxppc64.lisp: 4 down.  Whether 2 or 3 to go depends on
1618        your perspective (and on how close x86-64 Linux and x86-64 FreeBSD
1619        are to each other.  I'd guess that they're pretty close, and that
1620        x86-64 Darwin is random.)
1621
16222007-01-20 21:55  gb
1623
1624        * lib/ffi-linuxppc32.lisp: Pretty simple.  3 down, 4 to go.
1625
16262007-01-20 19:34  gb
1627
1628        * compiler/X86/X8664/x8664-backend.lisp: Package prefixes.  D'oh!
1629
16302007-01-20 19:25  gb
1631
1632        * compiler/X86/X8664/x8664-backend.lisp: Add references to the
1633        right os::ff-call-expander.
1634
16352007-01-20 19:24  gb
1636
1637        * compiler/PPC/PPC64/ppc64-arch.lisp: Remove some wip code.
1638
16392007-01-20 19:24  gb
1640
1641        * compiler/PPC/: PPC32/ppc32-backend.lisp,
1642        PPC64/ppc64-backend.lisp: Use os::expand-ff-call, for each value of
1643        OS.
1644
16452007-01-20 19:23  gb
1646
1647        * level-1/l1-sockets.lisp: Saw an opportunity to use PAREF;
1648        probably several more.
1649
16502007-01-20 19:22  gb
1651
1652        * lib/ffi-darwinppc64.lisp: Two down, 5 to go.
1653
16542007-01-20 19:21  gb
1655
1656        * lib/ffi-darwinppc32.lisp: Looks mostly right; might need to be
1657        extended to handle coercions at the Cocoa level, and probably needs
1658        some cooperation from %EXTERNAL-CALL-EXPANDER (e.g., what's
1659        installed by #_).
1660
16612007-01-20 19:18  gb
1662
1663        * lib/db-io.lisp: Encode, decode union types in arglists.
1664
16652007-01-20 19:17  gb
1666
1667        * lib/foreign-types.lisp: ftd's :ff-call-expand-function is
1668        os::expand-ff-call.
1669       
1670        Canonicalize the :void type a bit better.
1671
16722007-01-20 19:16  gb
1673
1674        * library/parse-ffi.lisp: Remove the debugging FORMAT call.
1675
16762007-01-18 23:15  gb
1677
1678        * level-1/l1-boot-2.lisp: Load with the new ffi-backend fasls.
1679
16802007-01-18 23:15  gb
1681
1682        * lib/compile-ccl.lisp: Deal with the new ffi-backend sources.
1683
16842007-01-18 23:15  gb
1685
1686        * lib/systems.lisp: Add the new ffi-backend sources.
1687
16882007-01-18 23:14  gb
1689
1690        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp,
1691        ffi-darwinx8664.lisp, ffi-freebsdx8664.lisp, ffi-linuxppc32.lisp,
1692        ffi-linuxppc64.lisp, ffi-linuxx8664.lisp: New (so far, empty)
1693        files.
1694
16952007-01-18 04:35  gb
1696
1697        * level-1/version.lisp: Bump.
1698
16992007-01-18 04:17  gb
1700
1701        * examples/bridge.lisp: Some word-size conditionalization.  Will
1702        need more work to handle struct return/asssignment correctly on all
1703        platforms.
1704
17052007-01-18 04:15  gb
1706
1707        * examples/: cocoa-editor.lisp, cocoa-backtrace.lisp: Use CGFloat,
1708        type casts, etc.  Likwise for :<NSI>nteger, :<NSUI>nteger.
1709
17102007-01-18 04:13  gb
1711
1712        * examples/: cocoa-prefs.lisp, cocoa-listener.lisp: Use CGFloat,
1713        type casts, etc.
1714
17152007-01-18 04:12  gb
1716
1717        * examples/cocoa-window.lisp: Use CGFloat, type casts, etc.  Avoid
1718        deprecated NSFont stuff.
1719
17202007-01-18 04:11  gb
1721
1722        * examples/objc-clos.lisp: Handle ivars, class
1723        creation/initialization differently for ObjC 2.0.
1724
17252007-01-18 04:10  gb
1726
1727        * examples/objc-runtime.lisp: More ObjC 2.0, ppc64 changes.
1728
17292007-01-18 04:09  gb
1730
1731        * examples/objc-support.lisp: Note which protocols are actually
1732        used when walking classes.  (There doesn't seem to be a good way of
1733        finding a Protocol object pre-objc-2.0, and we may need to test
1734        protocol compliance to disambiguate message sends in some cases.)
1735
17362007-01-18 04:07  gb
1737
1738        * examples/opengl-ffi.lisp: Conditionalize for darwin (not
1739        necessarily darwinppc).
1740
17412007-01-18 04:06  gb
1742
1743        * examples/addressbook.lisp: Conditionalize for darwin (not
1744        necessarily darwinppc).  May want to conditionalize for bundle
1745        executable name, as well.
1746
17472007-01-18 04:05  gb
1748
1749        * compiler/PPC/PPC64/ppc64-arch.lisp: WITH-FFCALL-RESULTS.  Start
1750        to sketch out structure return code (structures are often
1751        "returned" by returning field values in registers pn DarwinPPC64.)
1752
17532007-01-18 04:04  gb
1754
1755        * compiler/PPC/PPC64/ppc64-backend.lisp: New ftd stuff; new
1756        attributes for structure args/results.
1757
17582007-01-18 04:03  gb
1759
1760        * compiler/PPC/PPC64/ppc64-vinsns.lisp: ffcall-returning registers.
1761         (Will need this for other platforms, too.)
1762
17632007-01-18 04:01  gb
1764
1765        * lib/macros.lisp: Arch-specific macro interface for
1766        WITH-FFCALL-RESULTS.
1767
17682007-01-18 04:00  gb
1769
1770        * lib/db-io.lisp: Handle the case of an encoded structure type as a
1771        return value.
1772
17732007-01-18 04:00  gb
1774
1775        * lisp-kernel/: ppc-spentry.s, ppc-spjump.s:
1776        .SPpoweropen_ffcall_return_registers.
1777
17782007-01-18 03:59  gb
1779
1780        * library/parse-ffi.lisp: At least optionally, make structure
1781        return explicit (expecting it to be handled by higher-level code.)
1782
17832007-01-18 03:58  gb
1784
1785        * lib/foreign-types.lisp: ff-call-expand-function in ftd.  Don't
1786        try to type-expand :registers <exp> form in EXTERNAL-CALL.
1787
17882007-01-18 03:55  gb
1789
1790        * level-0/PPC/ppc-misc.lisp: Get the contents of the register that
1791        may hold OS thread context.
1792
17932007-01-18 03:54  gb
1794
1795        * compiler/PPC/PPC32/ppc32-backend.lisp: ff-call-expander function
1796        in ftd.
1797
17982007-01-18 03:53  gb
1799
1800        * compiler/PPC/PPC32/ppc32-arch.lisp: WITH-FFCALL-RESULTS arch
1801        macro.
1802
18032007-01-18 03:52  gb
1804
1805        * compiler/PPC/ppc2.lisp: Poweropen ff-calls might need to return
1806        all possible result regs.  (Maybe poweropen syscall, too.)
1807
18082007-01-18 03:51  gb
1809
1810        * compiler/PPC/ppc-arch.lisp: Replace unused subprim with
1811        .SPpoweropen-ff-call-return-registers.
1812
18132007-01-18 03:50  gb
1814
1815        * compiler/nx1.lisp: Support :registers <exp> in %ff-call; when
1816        supported, backend will return all (potential) result registers in
1817        buffer at <exp>.
1818
18192007-01-16 02:01  gb
1820
1821        * level-1/l1-streams.lisp: Make sure that STREAM-READ-IVECTOR and
1822        STREAM-WRITE-IVECTOR are defined on binary stream classes.  (These
1823        functions make less sense for character streams/strings than they
1824        used to.)
1825
18262007-01-16 01:39  gb
1827
1828        * level-1/l1-sockets.lisp: Ensure that the :FORMAT argument
1829        defaults to :BIVALENT
1830
18312007-01-16 01:37  gb
1832
1833        * level-0/l0-init.lisp: Put :OPENMCL-UNICODE-STRINGS on *FEATURES*.
1834
18352007-01-11 23:58  gb
1836
1837        * compiler/PPC/ppc2.lisp: Transform (/ (* constant1 exp) constant2)
1838        into (* (/ constant1 constant2) exp).  Not very general, but makes
1839        some foreign address arithmetic better.
1840
18412007-01-11 23:56  gb
1842
1843        * lib/macros.lisp: Simple PAREF: (paref pointer
1844        foreign-pointer-or-array-type index) does simple arithmetic for
1845        you.
1846
18472007-01-11 23:54  gb
1848
1849        * lib/foreign-types.lisp: %FOREIGN-ARRAY-ACCESS-FORM.
1850
18512007-01-10 15:50  gb
1852
1853        * compiler/PPC/ppc2.lisp: ppc2-vref1: lose extra arg to
1854        double->heap vinsn.
1855
18562007-01-09 11:33  gb
1857
1858        * lisp-kernel/x86-spentry64.s: When running an unwind-protect
1859        cleanup and multiple values are being thrown, be sure to set
1860        tcr.xframe from the target catch frame.  This is necessary on
1861        general principles (GC safety), and especially necessary if the
1862        cleanup form does a non-local exit.
1863
18642007-01-08 22:12  gb
1865
1866        * examples/: objc-clos.lisp, objc-runtime.lisp, objc-support.lisp:
1867        Revive some of the old GNUstep support; add partial ObjC 2.0
1868        support (for 64-bit targets only, so far.)
1869
18702007-01-08 22:11  gb
1871
1872        * examples/cocoa.lisp: Conditionalize for darwin-target, not
1873        darwinppc-target.
1874
18752007-01-08 22:10  gb
1876
1877        * examples/cocoa-listener.lisp: Disable background layout in the
1878        listener; the whole two-thread scheme probably isn't viable, but
1879        doing this seems to suppress a timing-related symptom.
1880
18812007-01-08 22:09  gb
1882
1883        * examples/cocoa-editor.lisp: Document-begin-editing,
1884        document-end-editing: both seem to have been conditionalized
1885        backwards.
1886
18872007-01-05 16:22  gb
1888
1889        * level-0/l0-numbers.lisp: Fix another typo ...
1890
18912007-01-05 16:16  gb
1892
1893        * level-0/l0-numbers.lisp: Fix typo (ppc32::, not ppc2::).
1894
18952007-01-05 15:27  gb
1896
1897        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Missing MISC-SET-C-S32 for
1898        PPC32.
1899
19002007-01-05 06:20  gb
1901
1902        * level-0/l0-cfm-support.lisp: OPEN-SHARED-LIBRARY: freebsd version
1903        of #_dlopen doesn't return a link map, but calling #_dlinfo on the
1904        result (with the right arg) does obtain a link map.
1905       
1906        Revive shared libraries on FreeBSD, but don't do the strange
1907        Linux-specific re-opening there.  (It seems like it's possible to
1908        #_dlopen something that already has a loaded link map - like the
1909        FreeBSD dynamic linker - or something.)
1910
19112007-01-04 05:46  gb
1912
1913        * level-1/l1-pathnames.lisp: %component-match-p: handle :WILD,
1914        :WILD-INFERIORS.
1915
19162007-01-04 05:45  gb
1917
1918        * lisp-kernel/pmcl-kernel.c: Try to check for old libc versions
1919        (which may use %gs instead of %fs for tls).
1920
19212007-01-04 05:44  gb
1922
1923        * lib/numbers.lisp: Explicitly require NUMBER-CASE-MACRO.
1924
19252007-01-04 05:44  gb
1926
1927        * level-0/l0-numbers.lisp:
1928        fixnum-sfloat-compare,fixnum-dfloat-compare: if the fixnum can be
1929        accurately represented in float, do so.
1930
19312007-01-03 03:35  gb
1932
1933        * lib/sequences.lisp: Fix a few type errors, check for explicit
1934        vector-type length earlier.
1935
19362007-01-03 03:31  gb
1937
1938        * level-1/l1-files.lisp: %STD-NAME-COMPONENT, %STD-TYPE-COMPONENT:
1939        preserved :WILD, don't map it to "*".
1940
19412007-01-03 03:30  gb
1942
1943        * lib/pathnames.lisp: More whack-a-mole with pathnames
1944        (specifically, preserving :WILD as name/type value and dealing with
1945        the consequences of doing so.)
1946
19472007-01-03 03:27  gb
1948
1949        * lib/numbers.lisp: Small (mostly cosmetic) change to RATIONAL.
1950
19512007-01-02 09:57  gb
1952
1953        * lib/macros.lisp: Keep fixing CTYPECASE.
1954
19552007-01-02 09:57  gb
1956
1957        * level-1/l1-streams.lisp: DOH! STREAM-READ-LINE method on
1958        BASIC-CHARACTER-INPUT-STREAM returns both values.
1959       
1960        "Composite" (two-way, concatenated, etc) streams need a close
1961        protocol.
1962
19632007-01-02 07:00  gb
1964
1965        * level-0/l0-pred.lisp: EQUAL on physical pathnames ignores the
1966        (new) version slot, as does practically everything else.
1967
19682007-01-02 06:59  gb
1969
1970        * level-0/l0-numbers.lisp: Don't assume that fixnums can be
1971        accurately coerced to floats when comparing fixnums and floats; do
1972        the logical equvalent of calling RATIONAL on the float instead.
1973
19742007-01-01 23:41  gb
1975
1976        * level-1/l1-files.lisp: ENOUGH-NAMESTRING: don't incorporate
1977        version into returned namestring for physical pathnames.
1978
19792006-12-31 10:15  gb
1980
1981        * release-notes.txt: Update.
1982
19832006-12-31 09:13  gb
1984
1985        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump image/abi
1986        version.
1987
19882006-12-31 08:57  gb
1989
1990        * xdump/faslenv.lisp: Bump fasl-min-vers.
1991
19922006-12-31 08:49  gb
1993
1994        * lib/nfcomp.lisp: Bump current fasl version.
1995
19962006-12-31 08:33  gb
1997
1998        * lisp-kernel/: linuxppc/elf32ppclinux.x, linuxppc64/elf64ppc.x:
1999        Tweak the executable start address.
2000
20012006-12-31 02:44  gb
2002
2003        * lisp-kernel/x86-spjump64.s: On Darwin, use a .space directive to
2004        ensure that there's nothing interesting in the first few pages of
2005        the address space (and ensure that those pages are mapped.)
2006
20072006-12-31 02:43  gb
2008
2009        * lisp-kernel/darwinx8664/Makefile: Sadly, we can't use -sectalign
2010        on x86-64 (ld64 does some floating-point arithmetic, fails to
2011        account for roundoff error, and claims that 0x1000 isn't a power of
2012        2.) If you can't say anything good about a linker, it's best not to
2013        say anything at all.
2014       
2015        We can force the first segment to be mapped at 0x1000, and can
2016        waste a few pages to ensure that all low-memory pages that the lisp
2017        wants are mapped.
2018
20192006-12-31 02:33  gb
2020
2021        * level-1/l1-pathnames.lisp: %SPLIT-COMPONENT: be a little more
2022        defensive.
2023
20242006-12-31 02:32  gb
2025
2026        * compiler/nx0.lisp: NX-FORM-TYPE: handle quoted constants.
2027
20282006-12-31 02:29  gb
2029
2030        * xdump/faslenv.lisp: Bump $fasl-vers.
2031
20322006-12-31 02:28  gb
2033
2034        * level-1/version.lisp: Bump; remove "Beta" designation.
2035
20362006-12-29 20:13  gb
2037
2038        * compiler/X86/X8664/x8664-arch.lisp, lisp-kernel/area.h,
2039        lisp-kernel/lisp_globals.h, lisp-kernel/x86-constants64.h,
2040        lisp-kernel/x86-constants64.s, xdump/xx8664-fasload.lisp: Move NIL
2041        up a page on x86-64 as well.
2042
20432006-12-29 16:09  gb
2044
2045        * lisp-kernel/ppc-spjump.s: Be a little clearer about where we're
2046        .orged.
2047
20482006-12-29 15:32  gb
2049
2050        * compiler/PPC/PPC32/ppc32-arch.lisp, lisp-kernel/area.h,
2051        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
2052        lisp-kernel/darwinppc/Makefile, xdump/xppcfasload.lisp: Static area
2053        (including NIL) now one page higher on ppc32, as well.
2054
20552006-12-29 02:38  gb
2056
2057        * level-0/PPC/ppc-float.lisp: SQRT in LAP (todo: inline it.)
2058
20592006-12-29 01:38  gb
2060
2061        * compiler/PPC/PPC64/ppc64-arch.lisp: Move ppc64::nil-value (and
2062        ppc64::reservation-discharge) up a page.
2063
20642006-12-29 01:37  gb
2065
2066        * xdump/xppcfasload.lisp: xload-static-space-address for ppc64 is
2067        #x2000; still #x1000 for ppc32.  (need to set this for x86-64)
2068
20692006-12-29 01:36  gb
2070
2071        * xdump/xfasload.lisp: *xload-static-space-address* depends on the
2072        backend.  ppc64 wants it one page higher than it has been, to avoid
2073        letting unmapped pages get claimed by the dynamic linker on Darwin.
2074
20752006-12-29 01:35  gb
2076
2077        * lisp-kernel/darwinppc64/Makefile: Change seg1addr/sectalign, so
2078        that the image starts at #x1000 and aligned section data for the
2079        text section starts on the next page.
2080
20812006-12-29 01:33  gb
2082
2083        * lisp-kernel/ppc-spjump.s: Org the spjump table 3 pages from where
2084        the aligned text section data starts.
2085
20862006-12-29 01:32  gb
2087
2088        * lisp-kernel/: ppc-constants64.h, ppc-constants64.s: nil_value,
2089        etc a page higher.
2090
20912006-12-29 01:32  gb
2092
2093        * lisp-kernel/pmcl-kernel.c: Don't remap ppc64 spjump table if it's
2094        already where it should be.
2095
20962006-12-29 01:32  gb
2097
2098        * lisp-kernel/lisp_globals.h: Access lisp_globals/nrs_symbols a
2099        page higher.
2100
21012006-12-29 01:30  gb
2102
2103        * lisp-kernel/area.h: Move STATIC_BASE_ADDRESS up a page for ppc64.
2104
21052006-12-22 01:40  gb
2106
2107        * lisp-kernel/ppc-exceptions.c: Ensure that sqrt() is prototyped.
2108
21092006-12-22 01:39  gb
2110
2111        * lisp-kernel/pmcl-kernel.c: Insist on at least Panther for
2112        PPC32/Darwin.
2113       
2114        Use dlopen() on 64-bit Darwin variants.  Might want to do a runtime
2115        test and use dlfcn functions if at least Tiger.
2116       
2117        (The old dyld functions are deprecated under Leopard, and there's
2118        reason to believe that they don't work correctly on at least ppc64/
2119        Leopard; attempting to use NSCreateObjectFileImageFromFile to open
2120        a 64-bit .dylib seems to lead to memory corruption rather than
2121        returning NSObjectFileImageInappropriateFile.
2122       
2123        The old functions work better than the dlfcn functions on pre-Tiger
2124        systems.)
2125
21262006-12-19 01:24  gb
2127
2128        * library/parse-ffi.lisp: Just to be on the safe side (new pathname
2129        bugs, or old ?), append -BAK to (NAMESTRING (TRUENAME path)), not
2130        just (NAMESTRING path) when renaming.  (MERGE-PATHNAMES call is
2131        producing a pathane with a non-null VERSION component, as it
2132        arguably should have been all along.
2133
21342006-12-18 13:22  gb
2135
2136        * lib/sequences.lisp: COERCE/MAKE-SEQUENCE try to simplify vector
2137        types into concrete vector types.
2138
21392006-12-18 13:04  gb
2140
2141        * level-1/l1-pathnames.lisp: Try (halfheartedly) to maintain
2142        PATHNAME-VERSION of physical pathnames.  (Totally meaningless, but
2143        failing to do this leads to many test failures.)
2144
21452006-12-18 13:03  gb
2146
2147        * level-1/l1-numbers.lisp: Don't call out to do sqrt.
2148
21492006-12-18 12:57  gb
2150
2151        * level-1/l1-files.lisp: Try (halfheartedly) to maintain
2152        PATHNAME-VERSION of physical pathnames.  (Totally meaningless, but
2153        failing to do this leads to many test failures.)
2154
21552006-12-18 12:54  gb
2156
2157        * level-0/X86/x86-float.lisp: Do single/double-float sqrt inline.
2158
21592006-12-16 05:28  gb
2160
2161        * level-0/PPC/ppc-float.lisp: Recognize that fsqrt/fsqrts
2162        instructions have a minor opcode in frb and only have one source
2163        operand.
2164
21652006-12-16 05:27  gb
2166
2167        * level-1/ppc-error-signal.lisp: If we get an FP exception during a
2168        SQRT, note that there's only one operand and that it's in frb.
2169
21702006-12-16 05:25  gb
2171
2172        * lisp-kernel/ppc-exceptions.c: Handle (some) unimplemented
2173        instructions, notably fsqrt/fqrts, which are optional and not
2174        implemented on some PPC machines.
2175
21762006-12-16 05:24  gb
2177
2178        * lisp-kernel/ppc-asmutils.s: Add get_fpscr().
2179
21802006-12-14 19:47  gb
2181
2182        * lisp-kernel/ppc-exceptions.c: Need to handle SIGQUIT on ppc, too.
2183
21842006-12-14 16:43  gb
2185
2186        * compiler/X86/X8664/x8664-vinsns.lisp: Constraints on some
2187        double-float arithmetic vinsns should say :double-float, not
2188        :single-float.  (I suspect cut-and-paste, frankly.)
2189
21902006-12-14 16:25  gb
2191
2192        * level-1/l1-lisp-threads.lisp: *initial-lisp-thread*, not
2193        initial-thread.
2194
21952006-12-14 16:24  gb
2196
2197        * level-1/x86-trap-support.lisp: Use frame pointer when signaling
2198        error.
2199
22002006-12-14 16:14  gb
2201
2202        * library/lispequ.lisp: Add a %PHYSICAL-PATHAME-VERSION slot to
2203        physical pathnames. (Yes, this is kind of silly.)
2204
22052006-12-14 16:01  gb
2206
2207        * level-1/x86-trap-support.lisp: Recognize the kernel's attempt to
2208        signal errors for (e.g.) failed memory allocation.
2209
22102006-12-14 16:00  gb
2211
2212        * lisp-kernel/x86-exceptions.c: If a memory allocation request
2213        fails, signal a lisp error (what a concept.)
2214
22152006-12-14 15:51  gb
2216
2217        * lisp-kernel/x86-exceptions.h: Define DARWIN_USE_PSEUDO_SIGRETURN.
2218       
2219        Might be worth revisiting this.
2220
22212006-12-14 15:50  gb
2222
2223        * lisp-kernel/x86-exceptions.c: Go back to using the
2224        pseudo_sigreturn mechanism on Darwin, since doing a real sigreturn
2225        from a fake context may not be reliable.
2226       
2227        When handling an interrupt with a partially created temp stack
2228        frame, do the right thing.  (That basically means reset the frame
2229        before calling out and recreating it if we return from the
2230        callout.)
2231       
2232        Handle SIGQUIT on the altstack, to provide a way of forcibly
2233        terminating threads that's a bit more GC-safe than doing it via
2234        #_pthread_cancel.
2235       
2236        Note the tcr of the gc thread on gc entry; if an exception happens
2237        in that thread, print a message and sleep for 60 seconds.
2238       
2239        Note that there's still a race condition here: if thread A gets an
2240        exception and thread B gets the mach_exception_lock (to GC) before
2241        the exception thread can handle the message, we deadlock (thread A
2242        would be suspended in the kernel and can't respond to a suspend
2243        signal.)  We can tell that this has happened and make a good guess
2244        as to why it happened, but dealing with it will require some
2245        thought.  (If we've already issued a suspend signal and eventually
2246        raise the suspended thread's resume semaphore, it'll suspend and
2247        resume once the mach exception thread makes it runnable.  Who
2248        cleans up its exception context in that case ?  Does it matter ?)
2249
22502006-12-14 15:19  gb
2251
2252        * lisp-kernel/thread_manager.c: Ensure that newly-created threads
2253        have all signals unmasked.
2254       
2255        If a tcr is dead, ensure that its stack areas are empty.
2256       
2257        Try to run shutdown_thread_tcr as a pthread cleanup action,
2258        hopefully before Mach clobbers the thread's signal mask.
2259
22602006-12-14 15:16  gb
2261
2262        * lisp-kernel/pmcl-kernel.c: lazarus() runs with a lock on the
2263        TCR_AREA_LOCK.
2264
22652006-12-14 15:15  gb
2266
2267        * lisp-kernel/memprotect.h: Don't declare do_memo_reset(), which
2268        hasn't existed in years.
2269
22702006-12-14 15:14  gb
2271
2272        * level-1/version.lisp: Bump.
2273
22742006-12-14 15:14  gb
2275
2276        * level-1/l1-readloop.lisp: PREPARE-TO-QUIT: wait for the
2277        termination semaphore.
2278
22792006-12-14 15:13  gb
2280
2281        * level-1/l1-processes.lisp: PROCESS objects are created with a
2282        termination semaphore.
2283
22842006-12-14 15:12  gb
2285
2286        * level-1/l1-lisp-threads.lisp: THREAD-ENABLE: second arg is
2287        TERMINATION-SEMAPHORE.
2288       
2289        KILL-LISP-THREAD: don't use #_pthread_cancel, which may force the
2290        target thread to transition from running lisp code to running
2291        foreign code without advertising that fact. Send a SIGQUIT instead,
2292        and trust the SIGQUIT handler to manage that transition.  Don't try
2293        to kill the initial thread.
2294
22952006-12-09 09:52  gb
2296
2297        * level-1/l1-streams.lisp: STRING-OUTPUT-STREAMs need to override
2298        their CLEAR-OUTPUT methods.
2299       
2300        MAKE-STRING-INPUT-STREAM: handle displaced strings better (remember
2301        their displaced-index-offsets.)
2302
23032006-12-09 09:49  gb
2304
2305        * lisp-kernel/thread_manager.c: Disable underflow traps in new
2306        threads on x86-64.  (The PPC never got around to enabling them.)
2307
23082006-12-09 09:47  gb
2309
2310        * lib/macros.lisp: WITH-OUTPUT-TO-STRING: if string provided,
2311        evaluate the ELEMENT-TYPE expression (for side-effects) and ignore
2312        the result of its evaluation.
2313       
2314        Some fixes in CTYPECASE handling, which hopefully didn't break
2315        anything else.
2316
23172006-12-09 09:36  gb
2318
2319        * compiler/X86/x862.lisp: In aset2/aset3, ensure that the (final,
2320        1d) index register is set - even if the index is a constant - if we
2321        think that the store needs EGC memoization.
2322       
2323        (Note that the test case that exposed this involved storing
2324        SINGLE-FLOATs, which don't need EGC write-barrier handling on
2325        64-bit platforms.)
2326       
2327        In aref2, don't worry about reserving unscaled index registers when
2328        targeting the 1d index; the unscaled index registers aren't live
2329        after, could be NULL if the index is a constant, and any overlap
2330        between one of them and the 1d index should be handled in the
2331        vinsn(s).
2332
23332006-12-09 09:30  gb
2334
2335        * level-1/l1-typesys.lisp: Ensure that the (relatively new)
2336        built-in-classes SIMPLE-FIXNUM-VECTOR and FIXNUM-VECTOR have
2337        class-translations.
2338
23392006-12-09 09:27  gb
2340
2341        * level-1/l1-aprims.lisp: In list case of ELT: who says that value
2342        returned by NTHCDR is a LIST ? (It's not necessarily a list, so
2343        don't segfault taking its CAR without checking.)
2344
23452006-12-06 18:48  gb
2346
2347        * level-0/X86/x86-float.lisp: x86-64 version of
2348        SFLOAT-SIGNIFICAND-ZEROS: count zero bits in the shifted float, not
2349        in %imm1 (which is undefined here ...)
2350
23512006-12-06 17:05  gb
2352
2353        * compiler/nx0.lisp: DEFINE-COMPILER-MACRO: if a SETF name, use the
2354        right symbol for the named block.
2355       
2356        COMPILER-MACRO-FUNCTION, (SETF COMPILER-MACRO-FUNCTION): deal with
2357        (SETF NAME).
2358
23592006-12-05 22:44  gb
2360
2361        * release-notes.txt: Update for 061205.
2362
23632006-12-05 20:31  gb
2364
2365        * lisp-kernel/darwinppc64/Makefile: Change LDFLAGS, to keep ld64
2366        from putting a linkedit segment in the wrong place and making
2367        32-bit memory unmappable.
2368
23692006-12-05 20:30  gb
2370
2371        * level-1/version.lisp: Bump.
2372
23732006-12-05 20:29  gb
2374
2375        * lisp-kernel/pmcl-kernel.c: Use _exit(), just in case.
2376
23772006-12-05 18:53  gb
2378
2379        * level-1/l1-reader.lisp: *ALTERNATE-LINE-TERMINATOR* set to
2380        #\Return on #+darwin-target, not just #+darwinppc-target. Change
2381        doc string for *ALTERNATE-LINE-TERMINATOR*.
2382
23832006-12-04 15:13  gb
2384
2385        * level-1/version.lisp: Append a patchlevel to the version string,
2386        at least until new tarballs can be built.
2387
23882006-12-04 15:12  gb
2389
2390        * level-1/l1-streams.lisp: If stream element type upgrades to
2391        FIXNUM, upgrade it further (to largest supported SIGNED-BYTE
2392        element-type.)
2393
23942006-12-04 13:02  gb
2395
2396        * level-0/l0-bignum32.lisp: BIGNUM-BIGNUM-GCD (whatever it's
2397        called): don't bother to shift by 0 bits.  Do shift the initial U
2398        if non-zero trailing 0 BITS (was testing for non-zero trailing
2399        DIGITS.)
2400
24012006-12-04 12:52  gb
2402
2403        * level-1/l1-streams.lisp: Choke earlier on unsupported stream
2404        element-types; do some upgrading to support some more element types
2405        (BIT -> (UNSIGNED-BYTE 8)).
2406       
2407        Maybe support arbitrarily large integer types someday soon.  Maybe
2408        not.
2409
24102006-12-04 12:48  gb
2411
2412        * level-1/l1-clos-boot.lisp: Make built-in classes for istruct
2413        types (compiler stuff, mostly).
2414
24152006-12-04 12:46  gb
2416
2417        * level-0/X86/X8664/x8664-bignum.lisp: Ensure that %ASHL handles
2418        shift count of 32 (and returns 0 in that case.)
2419
24202006-12-04 12:46  gb
2421
2422        * level-0/l0-bignum64.lisp: In BIGNUM-SHIFT-RIGHT-LOOP-1, use
2423        %ASHL, not %ILSL.  (Don't want nonsense in the high 32 bits, just
2424        in case.)
2425
24262006-12-04 12:43  gb
2427
2428        * level-0/l0-numbers.lisp: Bugs in GCD-2.  Long-standing bugs in
2429        GCD-2 ...
2430
24312006-12-04 09:26  gb
2432
2433        * level-1/l1-streams.lisp: STREAM-CLEAR-INPUT: don't inherit method
2434        for STRING-INPUT-STREAMs.
2435
24362006-12-04 09:24  gb
2437
2438        * level-0/l0-bignum64.lisp: BIGNUM-SHIFT-RIGHT-1: handle shift by 0
2439        bits.  BIGNUM-BIGNUM-GCD (whatever it's called): don't bother to
2440        shift by 0 bits.
2441
24422006-12-04 09:21  gb
2443
2444        * level-1/ppc-trap-support.lisp: Reset error-reentry count before
2445        doing %SLOT-UNBOUND-TRAP.
2446
24472006-12-04 09:21  gb
2448
2449        * level-1/l1-streams.lisp: Default STREAM-POSITION method for
2450        STREAMs, returns NIL.  STREAM-POSITION method for
2451        STRING-INPUT-STREAMs.
2452
24532006-12-04 09:19  gb
2454
2455        * level-1/l1-pathnames.lisp: Derive ccl-directory from pathname
2456        containing heap image.
2457
24582006-12-03 07:41  gb
2459
2460        * level-1/l1-streams.lisp: FORCE-OUTPUT, FINISH-OUTPUT on
2461        STRING-OUTPUT-STREAMs are no-ops.
2462       
2463        Need an ioblock-based character-read-vector function for
2464        string-input-streams.
2465
24662006-12-03 07:37  gb
2467
2468        * lib/describe.lisp: Minimal DESCRIBE support for
2469        CCL::BASIC-STREAM.
2470
24712006-12-03 07:36  gb
2472
2473        * lib/macros.lisp: If :element-type is supplied in
2474        WITH-OUTPUT-TO-STRING, don't quote it.
2475
24762006-12-03 05:11  gb
2477
2478        * level-1/x86-trap-support.lisp: Define RIP-REGISTER-OFFSET, which
2479        isn't necessarily 16.
2480
24812006-12-03 05:10  gb
2482
2483        * level-1/x86-error-signal.lisp: Use RIP-REGISTER-OFFSET, which
2484        isn't necessarily 16.
2485       
2486        Use WITH-ERROR-REENTRY-DETECTION n %xerr-disp; dtrt for
2487        %slot-unbound-trap.
2488
24892006-12-03 05:09  gb
2490
2491        * level-1/l1-streams.lisp: Tweak stream hierarchy a little, to
2492        avoid some NO-NEXT-METHODs.
2493
24942006-12-03 02:42  gb
2495
2496        * compiler/nx1.lisp: Handle VALUES type specifiers in THE forms a
2497        bit better.
2498
24992006-12-03 02:41  gb
2500
2501        * compiler/nx0.lisp: Handle VALUES type specifiers in THE forms a
2502        bit.
2503
25042006-12-03 02:28  gb
2505
2506        * lisp-kernel/x86-spentry64.s: Do vector bounds checking by
2507        clearing the low byte of the header, shifting it right, and
2508        comparing the index to that.  (It's not reliable to shift the index
2509        left.)
2510
25112006-12-03 02:26  gb
2512
2513        * level-1/l1-unicode.lisp: Memory/vector encode functions: don't
2514        write BOM, leave that up to higher-level code.
2515       
2516        Start to write some higher-level code.
2517
25182006-12-03 02:23  gb
2519
2520        * level-1/l1-sysio.lisp: Fix some indentation.
2521
25222006-12-03 02:21  gb
2523
2524        * compiler/X86/X8664/x8664-vinsns.lisp: CHECK-MISC-BOUNDS: shift
2525        the header word right (after clearing its low byte) and compare the
2526        index to that.  (Shifting the index left - d'oh - obviously fails
2527        for indices of large magnitude.)
2528
25292006-11-29 21:07  gb
2530
2531        * lib/db-io.lisp: Indentation change.
2532       
2533        Add CDB-ENUMERATE-KEYS.
2534
25352006-11-29 18:37  gb
2536
2537        * lib/level-2.lisp: %DESTRUCTURE-LAMBDA-LIST: other callers of
2538        VERIFY-LAMBDA-LIST (hopefully) check to see if the alleged list is
2539        LISTP first.  (I hope ...).  Do so.
2540
25412006-11-28 18:42  gb
2542
2543        * lisp-kernel/x86-spentry64.s: Wrong register typo in .SPaset2.
2544
25452006-11-28 16:14  gb
2546
2547        * examples/cocoa-window.lisp: DEFAULT-FONT: retain the font.
2548
25492006-11-28 16:12  gb
2550
2551        * examples/objc-runtime.lisp: Wrap a (primitive)
2552        WITH-AUTORELEASE-POOL around the code which detaches the dummy
2553        NSThread.
2554
25552006-11-28 16:09  gb
2556
2557        * examples/cocoa-listener.lisp: Don't claim that a callback
2558        parameter is ignored; use IGNORABLE instead.
2559
25602006-11-21 01:28  gb
2561
2562        * level-1/l1-sockets.lisp: Typo in PATH-FROM-UNIX-ADDRESS
2563        conditionalization.
2564
25652006-11-21 00:55  gb
2566
2567        * level-1/l1-sockets.lisp: INIT-UNIX-SOCKADDR: don't use
2568        %COPY-IVECTOR-TO-PTR to copy string to foreign memory.
2569       
2570        Basic file-socket streams.
2571
25722006-11-10 05:08  gb
2573
2574        * release-notes.txt: Update.
2575
25762006-11-10 04:28  gb
2577
2578        * lisp-kernel/image.h: Bump min image version.
2579
25802006-11-10 04:19  gb
2581
2582        * xdump/heap-image.lisp: bump current image version.
2583
25842006-11-10 04:19  gb
2585
2586        * lisp-kernel/image.h: bump current, max image version.
2587
25882006-11-10 04:10  gb
2589
2590        * xdump/faslenv.lisp: Bump min fasl version.
2591
25922006-11-10 03:56  gb
2593
2594        * lib/nfcomp.lisp: bump current fasl version.
2595
25962006-11-10 03:47  gb
2597
2598        * lisp-kernel/x86-exceptions.c: save_application: use #__exit, not
2599        #_exit
2600
26012006-11-10 03:46  gb
2602
2603        * compiler/X86/x862.lisp: TYPE typo.
2604
26052006-11-10 03:32  gb
2606
2607        * xdump/faslenv.lisp: Bump max fasl version.
2608
26092006-11-10 03:25  gb
2610
2611        * level-1/version.lisp: Bump.  New snapshots today!
2612
26132006-11-09 16:26  gb
2614
2615        * level-1/l1-readloop.lisp: QUIT uses #__quit.
2616       
2617        PREPARE-TO-QUIT kill stragglers without waiting as long.
2618
26192006-11-09 15:50  gb
2620
2621        * lisp-kernel/pmcl-kernel.c: Use #_ _exit for fatal termination.
2622       
2623        Try to run lisp code after #_exit via lazarus(); this is for some
2624        cases of SAVE-APPLICATION (e.g., in the Cocoa GUI).
2625       
2626        The environment in which The Undead code runs is a little funky,
2627        especially on PPC.  There might be GC implications (cstack will
2628        contain call history as of the point when #_exit called atexit
2629        handlers, vstack & tstack are emptied in lazarus()).  We should
2630        barely run any code in this environment, but we will GC a time or
2631        two ...
2632
26332006-11-09 15:45  gb
2634
2635        * lisp-kernel/ppc-exceptions.c: Use _exit afer save-application.
2636
26372006-11-09 15:43  gb
2638
2639        * examples/: cocoa-window.lisp, cocoa.lisp: Change the quit
2640        protocol.
2641
26422006-11-09 15:42  gb
2643
2644        * examples/cocoa-listener.lisp: :set-document-edited for listener
2645        "documents" is a no-op.
2646
26472006-11-09 15:39  gb
2648
2649        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
2650        PPC64/ppc64-vinsns.lisp: 3d-array accessor stuff for PPC as well.
2651
26522006-11-09 12:50  gb
2653
2654        * compiler/X86/x862.lisp: Always check that array-ctype's
2655        dimensions are a list before taking their length.
2656
26572006-11-09 12:13  gb
2658
2659        * compiler/X86/X8664/x8664-vinsns.lisp: 3d-unscaled-index does the
2660        right thing ...
2661
26622006-11-09 10:08  gb
2663
2664        * compiler/: nx1.lisp, X86/x862.lisp, X86/X8664/x8664-vinsns.lisp:
2665        Three-arg aref/(setf aref) for x8664.
2666
26672006-11-09 05:37  gb
2668
2669        * compiler/nx0.lisp: Map array-type keywords to 3d-array type
2670        errors.
2671
26722006-11-09 05:37  gb
2673
2674        * compiler/nxenv.lisp: Operators for 3d array access.
2675
26762006-11-09 05:36  gb
2677
2678        * compiler/arch.lisp, level-1/l1-error-system.lisp,
2679        lisp-kernel/errors.s, lisp-kernel/lisp-errors.h: Type-errors for 3d
2680        array types.
2681
26822006-11-08 12:50  gb
2683
2684        * level-1/x86-trap-support.lisp: In darwin Fake Structures For
2685        Leopard nonsense: define the stack context struct separately, make
2686        the ucontext stack field an instance of it.  (Not -sure- if that
2687        was necessary, but :poweropen-target was accidentally on *FEATURES*
2688        and foreign struct layout was using read-time condtionalization to
2689        decide whether or not to use brain-dead structure-alignment rules
2690        leftover from AIX/PowerOpen.
2691
26922006-11-08 12:46  gb
2693
2694        * lisp-kernel/x86-spentry64.s: Fix comment ("/*", not "/%" ...).
2695
26962006-11-08 12:40  gb
2697
2698        * compiler/optimizers.lisp: Try to infer/insert the array type when
2699        compiler-macroexpanding MAKE-ARRAY calls.
2700
27012006-11-08 12:39  gb
2702
2703        * compiler/PPC/PPC32/ppc32-backend.lisp: DarwinPPC32 FTD follows
2704        :poweropen-alignment rules.
2705
27062006-11-08 12:38  gb
2707
2708        * lib/foreign-types.lisp: parse-foreign-record-fields: conformance
2709        to poweropen structure layout rules should be an attribute of the
2710        FTD, not done via read-time conditionalization.
2711
27122006-11-08 05:15  gb
2713
2714        * level-1/version.lisp: Bump.
2715
27162006-11-08 05:15  gb
2717
2718        * level-1/l1-streams.lisp: Some bivalent/binary fixes.
2719       
2720        TODO: get rid of "bivalent" streams, but allow switching some
2721        streams (sockets) between "character mode" and "binary mode".
2722
27232006-11-08 02:39  gb
2724
2725        * compiler/PPC/ppc2.lisp: Typo in misc-ref-u64 vinsn emit.
2726
27272006-11-07 21:10  gb
2728
2729        * compiler/optimizers.lisp: Transform three-argument AREF->%AREF3,
2730        ASET->%ASET3.
2731
27322006-11-07 20:40  gb
2733
2734        * compiler/X86/x862.lisp: Implement %aset2 in the x8664 backend.
2735
27362006-11-07 20:39  gb
2737
2738        * level-0/X86/x86-array.lisp: %aref3, %aset3.
2739
27402006-11-07 20:38  gb
2741
2742        * level-0/l0-array.lisp: Use %aref2,%aref3.
2743
27442006-11-07 20:37  gb
2745
2746        * compiler/X86/X8664/x8664-vinsns.lisp: More (often redundant)
2747        vector-store vinsns.
2748
27492006-11-07 20:37  gb
2750
2751        * compiler/X86/X8664/x8664-arch.lisp: .SParef3, .SPaset3.
2752
27532006-11-07 10:28  gb
2754
2755        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s: .SParef3,
2756        .SPaset3.
2757
27582006-11-07 10:27  gb
2759
2760        * level-0/PPC/ppc-array.lisp: %ref3, %aset3.
2761
27622006-11-07 10:26  gb
2763
2764        * lisp-kernel/ppc-spentry.s, lisp-kernel/ppc-spjump.s,
2765        compiler/PPC/ppc-arch.lisp: .SPref3, .SPaset3.
2766
27672006-11-07 10:26  gb
2768
2769        * lisp-kernel/ppc-macros.s: Define mullr, which expands into one of
2770        mullw/mulld.
2771
27722006-11-07 04:12  gb
2773
2774        * compiler/PPC/ppc2.lisp: :signed-64-bit-vector is signed ...
2775
27762006-11-06 22:07  gb
2777
2778        * compiler/nx0.lisp: nx-error-for-simple-2d-array-type: forgot the
2779        :fixnum-vector case.
2780
27812006-11-06 22:04  gb
2782
2783        * compiler/PPC/ppc2.lisp: Handle vector assignment differently;
2784        handle (setf (aref ...)) of simple 2d-arrays inline if the type is
2785        known/declared.
2786
27872006-11-06 22:02  gb
2788
2789        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
2790        Add vinsns for misc-set-s* and variants. (Identical to the unsigned
2791        versions, but it helps not to have to remember which are
2792        implemented and which aren't.)
2793
27942006-11-06 22:01  gb
2795
2796        * compiler/nxenv.lisp: general-aset2, simple-typed-aset2.
2797
27982006-11-06 22:00  gb
2799
2800        * compiler/nx1.lisp: New %ASET2 handling.
2801
28022006-11-06 21:59  gb
2803
2804        * compiler/nx0.lisp: ACODE-FORM-TYPE: use var-inittype if var is
2805        never assigned to.
2806
28072006-11-05 22:09  gb
2808
2809        * level-1/x86-trap-support.lisp: Try to work around
2810        incompatibilites in Tiger/Leopard headers.
2811
28122006-11-05 22:08  gb
2813
2814        * level-1/l1-sockets.lisp: LOOKUP-PORT: use the macro HTONS, since
2815        the foreign function may not exist.
2816
28172006-11-05 20:41  gb
2818
2819        * compiler/X86/x862.lisp: 2d array error lookup -> nx.
2820
28212006-11-05 07:55  gb
2822
2823        * level-0/X86/x86-misc.lisp: %VALID-REMAINING-TIMESPEC-TIME-P for
2824        x86-64, as well.
2825
28262006-11-05 07:52  gb
2827
2828        * level-0/X86/x86-array.lisp: %AREF2, %ASET2 in x8664 lap.
2829
28302006-11-05 07:50  gb
2831
2832        * lisp-kernel/x86-spentry64.s: pre-add displacement in .SParef2,
2833        .SPaset2.
2834
28352006-11-05 07:48  gb
2836
2837        * lisp-kernel/ppc-spentry.s: .SParef2, .SPaset2: since we aren't
2838        testing simple-array-ness, add the (possibly 0) displacement from
2839        the header before handling the simple aref of the data vector.
2840
28412006-11-05 07:47  gb
2842
2843        * lib/foreign-types.lisp: PRINT-OBJECT method for EEPS: handle
2844        pointers on PPC(64), print 64-bit addresses on 64-bit platforms.
2845
28462006-11-05 07:46  gb
2847
2848        * level-1/version.lisp: Bump; new binaries soon.
2849
28502006-11-05 07:46  gb
2851
2852        * level-1/l1-lisp-threads.lisp: %NANOSLEEP calls
2853        %VALID-REMAINING-TIMESPEC-TIME-P, which is better than sleeping for
2854        4G seconds after an EINTR on Leopard.
2855
28562006-11-05 07:44  gb
2857
2858        * level-0/PPC/PPC64/ppc64-bignum.lisp: MACPTR->FIXNUM returns NIL
2859        if any non-fixnum bits would be set in the result.  (Should
2860        probably make this true on all platforms; for PPC64, it's important
2861        for foreign function addresses that're ... suboptimally aligned.)
2862
28632006-11-05 07:42  gb
2864
2865        * level-0/PPC/ppc-misc.lisp: Try to detect the case where
2866        %NANOSLEEP's second (by reference) argument contains garbage after
2867        an EINTR.  (The L word, again.)
2868
28692006-11-05 07:41  gb
2870
2871        * level-0/PPC/ppc-array.lisp: %AREF2, %ASET2: in LAP, just call
2872        into the kernel.
2873
28742006-11-05 07:40  gb
2875
2876        * level-0/l0-cfm-support.lisp: Some platforms (the L-word) generate
2877        ppc64 functions whose addresses are not 0 mod 8, so (a) make
2878        MACPTR->FIXNUM return NIL if an address isn't representable as a
2879        fixnum and (b) make FOREIGN-SYMBOL-ENTRY return an address if it
2880        can't return a fixnum on PPC (really just affects PPC64.)
2881
28822006-11-05 07:37  gb
2883
2884        * level-0/l0-array.lisp: %aref2, %aset2: call into kernel.
2885
28862006-11-05 07:36  gb
2887
2888        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
2889        2d aref support/changes.
2890
28912006-11-05 07:36  gb
2892
2893        * compiler/PPC/ppc2.lisp: Get the PPC2 backend caught up with the
2894        x8664 wrt 2d aref.  Stll a ways to go.
2895
28962006-11-05 07:35  gb
2897
2898        * compiler/nx0.lisp: NX-ERROR-FOR-SIMPLE-2D-ARRAY-TYPE.
2899
29002006-11-04 00:05  gb
2901
2902        * level-1/version.lisp: Bump.
2903
29042006-11-03 23:10  gb
2905
2906        * level-1/ppc-error-signal.lisp: fix parens.
2907
29082006-11-03 23:09  gb
2909
2910        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: arch
2911        gvector types contains :struct, not :structure.
2912
29132006-11-03 23:08  gb
2914
2915        * compiler/PPC/ppc2.lisp: aref2: new operator name(s), always call
2916        subprim.
2917       
2918        ppc2-fixed-call-builtin: (tail-)call subprims even if they aren't
2919        in the builtin functions table.
2920
29212006-11-03 15:19  gb
2922
2923        * compiler/PPC/ppc-arch.lisp: New .SParef2, .SPaset2 subprims.
2924
29252006-11-03 15:18  gb
2926
2927        * compiler/PPC/ppc-asm.lisp: Comments/indentation.
2928
29292006-11-03 15:17  gb
2930
2931        * level-1/ppc-error-signal.lisp: Change decoding/handlng of
2932        type-error UUOs.
2933
29342006-11-03 15:16  gb
2935
2936        * lisp-kernel/: ppc-spentry.s, ppc-spjump.s: .SParef2, .SPaset2.
2937
29382006-11-03 15:16  gb
2939
2940        * lisp-kernel/: ppc-constants32.s, ppc-constants64.s: Define arrayH
2941        (array-header) layout.
2942
29432006-11-03 13:46  gb
2944
2945        * level-1/l1-clos-boot.lisp: CANONICALIZE-SPECIALIZERS optionally
2946        returns its argument if all members are SPECIALIZERS.
2947       
2948        Use CANONICALIZE-SPECIALIZERS to canonicalize FIND-METHOD
2949        arguments, for the benefit of people who haven't read the MOP spec
2950        or who don't realize that the MOP defines some things differently
2951        from CLHS.
2952
29532006-11-03 13:38  gb
2954
2955        * compiler/X86/x862.lisp: Consistently use :struct (not :structure)
2956        to refer to primitive structure type.
2957       
2958        Fix array-ctype-dimensions check in %aref1, add it to %aset1.
2959
29602006-11-03 13:37  gb
2961
2962        * compiler/X86/X8664/x8664-arch.lisp: Ensure that :STRUCT (not
2963        :STRUCTURE) is on target-gvector-types.
2964
29652006-11-03 12:53  gb
2966
2967        * lisp-kernel/x86-uuo.s: uuo_error_array_bounds, such as it is.
2968
29692006-11-03 12:52  gb
2970
2971        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s: SParef2, .SPaset2.
2972         More to come ...
2973
29742006-11-03 12:52  gb
2975
2976        * lisp-kernel/x86-constants64.s: Define array-header layout.
2977
29782006-11-03 12:51  gb
2979
2980        * lisp-kernel/: errors.s, lisp-errors.h: New type-error uuo
2981        encodings, new type-error constants.
2982
29832006-11-03 12:50  gb
2984
2985        * level-1/x86-error-signal.lisp: New range/encoding of type-error
2986        traps.
2987
29882006-11-03 12:49  gb
2989
2990        * level-1/l1-utils.lisp: (temporary) mechanism to avoid
2991        constant-redefinition CERRORs.
2992
29932006-11-03 12:48  gb
2994
2995        * level-1/l1-error-system.lisp: New %type-error-typespecs%.
2996
29972006-11-03 12:47  gb
2998
2999        * level-0/l0-pred.lisp: array--header -> array-header.
3000
30012006-11-03 12:47  gb
3002
3003        * compiler/X86/X8664/x8664-vinsns.lisp: Fix misc-set-c-u64 braino;
3004        add/change some 2d array stuff.
3005
30062006-11-03 12:43  gb
3007
3008        * compiler/X86/X8664/x8664-arch.lisp: Define .SParef2/.SPaset2
3009        subprims; seem to be much (>5x) faster than the lisp/lap versions
3010        (though we can generally be faster still when we know the
3011        element-type and/or know whether the array is simple or explicitly
3012        displaced.)
3013
30142006-11-03 12:41  gb
3015
3016        * compiler/X86/x862.lisp: Change handling of 2d-aref; lots of
3017        related changes.
3018       
3019        Split the code which handles bounds/type-checking in vref out from
3020        the code which actually does the reference, so that the latter can
3021        be used in multidimensional cases.
3022       
3023        Need to do this on PPC as well; need to do more (%aset2, 3d cases,
3024        general case.)
3025
30262006-11-03 12:38  gb
3027
3028        * compiler/nx1.lisp: Change handling of 2d-aref.
3029
30302006-11-03 12:37  gb
3031
3032        * compiler/nxenv.lisp: aref2 -> simple-typed-aref2, add
3033        general-aref2.  More changes to come (and this may affect
3034        compilation on PPC until some PPC compiler changes are
3035        made/checked-in.)
3036
30372006-11-03 12:35  gb
3038
3039        * compiler/arch.lisp: type-errors (as encoded in UUOs) are now in
3040        the range 128-255, rather than 64-127; more are defined.
3041
30422006-11-02 09:43  gb
3043
3044        * level-1/l1-error-system.lisp: Move along, nothing to see here.
3045
30462006-11-02 09:37  gb
3047
3048        * compiler/arch.lisp: New error constants; work in progress ...
3049
30502006-11-01 11:40  gb
3051
3052        * lisp-kernel/errors.s: Some new constants; more to check in later.
3053
30542006-10-31 03:39  gb
3055
3056        * level-0/l0-io.lisp: You must be reading the OLD rule book
3057        (Leopard and #$EINTR).
3058
30592006-10-31 03:21  gb
3060
3061        * lisp-kernel/ppc-exceptions.c: handle_protection_violation: pass
3062        the tcr.  Initialize "addr" before testing it ...
3063
30642006-10-31 03:21  gb
3065
3066        * lisp-kernel/lisp-exceptions.h: handle_protection_violation: pass
3067        the tcr.
3068
30692006-10-30 20:40  gb
3070
3071        * lib/defstruct.lisp: DEFSTRUCT-REF-TRANSFORM for typed vector
3072        expands into something more useful.
3073
30742006-10-30 20:39  gb
3075
3076        * lisp-kernel/ppc-spentry.s: Fix ppc32
3077        misc_ref_double_float_vector.
3078
30792006-10-30 00:24  gb
3080
3081        * level-0/l0-bignum64.lisp: Enable the destructive version of
3082        %BIGNUM-BIGNUM-GCD; conditionalize it for 64-bit targets and
3083        provide/fix supporting functions.  Seems to work on ppc64; needs
3084        testing on x8664.
3085
30862006-10-27 17:49  gb
3087
3088        * darwin-x86-headers64/libc/C/: .cvsignore, populate.sh: New file.
3089
30902006-10-25 20:36  gb
3091
3092        * level-1/l1-streams.lisp: %BIVALENT-IOBLOCK-READ-U8-BYTE (and
3093        variants): always clear the untyi-char.
3094       
3095        %ENCODED-IOBLOCK-PEEK-CHAR: the read-char-when-locked function
3096        needs an argument.
3097       
3098        SETUP-IOBLOCK-OUTPUT: there are no special output functions for
3099        bivalent streams.
3100       
3101        %IOBLOCK-BINARY-READ-VECTOR: clear any untyi char.
3102
31032006-10-24 12:35  gb
3104
3105        * level-1/version.lisp: Bump.
3106
31072006-10-24 01:29  gb
3108
3109        * lisp-kernel/x86-spentry64.s: Fix :ALLOW-OTHER-KEYS check in
3110        _SPdestbind1 (still used in inlining, sometimes.)
3111
31122006-10-24 01:05  gb
3113
3114        * release-notes.txt: Change the date, add/change some content.
3115
31162006-10-24 01:05  gb
3117
3118        * lib/macros.lisp: Reference the (bound) STREAM-VAR argument - not
3119        STREAM - in the expansion of WITH-OUTPUT-TO-STRING.
3120
31212006-10-24 00:56  gb
3122
3123        * lib/ccl-export-syms.lisp: Reference the (bound) STREAM-VAR
3124        argument - not STREAM - in the expansion of WITH-OUTPUT-TO-STRING.
3125
31262006-10-24 00:55  gb
3127
3128        * level-1/l1-streams.lisp: When recycling
3129        string-output-stream-ioblocks, set the IOBLOCK-CHARPOS to 0.
3130        (Failure to do this can screw up the pretty-printer, among other
3131        things.)
3132
31332006-10-24 00:52  gb
3134
3135        * level-1/l1-sockets.lisp: DEFAULT-CHARACTER-ENCODING for :SOCKET,
3136        *DEFAULT-SOCKET-CHARACTER-ENCODING*.
3137
31382006-10-23 17:03  gb
3139
3140        * release-notes.txt: Updated; almost ready to go (still a
3141        WITH-OUTPUT-TO-STRING/PPRINT (?) bug).
3142
31432006-10-23 16:43  gb
3144
3145        * level-1/l1-sysio.lisp: NORMALIZE-EXTERNAL-FORMAT: use
3146        *DEFAULT-EXTERNAL-FORMAT* value for :DEFAULT.
3147
31482006-10-23 16:42  gb
3149
3150        * level-1/l1-streams.lisp: Use NORMALIZE-EXTERNAL-FORMAT in (SETF
3151        STREAM-EXTERNAL-FORMAT) methods.
3152
31532006-10-23 16:41  gb
3154
3155        * lib/ccl-export-syms.lisp: Export some unicode/external-format
3156        stuff.
3157
31582006-10-23 08:27  gb
3159
3160        * level-1/version.lisp: Bump; binaries today, honest.
3161
31622006-10-23 08:27  gb
3163
3164        * level-1/l1-streams.lisp: freelist string-output-stream-ioblocks.
3165
31662006-10-23 08:26  gb
3167
3168        * lib/macros.lisp: Some/most/all of the WITH-IOBLOCK-OUTPUT-LOCKED
3169        macros were checking for the presence of an input lock ...
3170
31712006-10-23 05:40  gb
3172
3173        * level-1/l1-streams.lisp: Optimize write-string on string streams
3174        a little.
3175
31762006-10-23 05:26  gb
3177
3178        * lib/macros.lisp: WITH-OUTPUT-TO-STRING: don't expand into code
3179        which evaluates the string form twice; don't do whatever was being
3180        done to default the element type of the string stream.
3181
31822006-10-23 05:24  gb
3183
3184        * compiler/optimizers.lisp: MAKE-STRING-OUTPUT-STREAM: skip some
3185        keyword/subtype checking if element-type not provided.  (Could also
3186        skip it if it's explicit and obviously OK.)
3187
31882006-10-23 05:22  gb
3189
3190        * level-0/X86/x86-misc.lisp: %HEAP-BYTES-ALLOCATED: don't add
3191        "current" allocation if nothing's reserved.
3192
31932006-10-23 05:19  gb
3194
3195        * lisp-kernel/x86-exceptions.c: In handle_alloc_trap(), fix call to
3196        update_bytes_allocated (sign of "disp").
3197
31982006-10-22 08:02  gb
3199
3200        * compiler/PPC/ppc2.lisp: MULTIPLE-VALUE-PROG1: treat the first
3201        form like a PROGN if there are no other forms.
3202
32032006-10-22 08:01  gb
3204
3205        * level-1/l1-streams.lisp: Don't disable interrupts when calling
3206        ioblock functions.
3207       
3208        New string-stream implementation.  Better ...
3209
32102006-10-22 07:59  gb
3211
3212        * lib/macros.lisp: If WITH-OUTPUT-TO-STRING gets the string, do so
3213        before the stream closes.
3214
32152006-10-22 07:59  gb
3216
3217        * lib/pprint.lisp: Don't assume that string output stream strings
3218        have a fill-pointer; use STREAM-POSITION instead.
3219
32202006-10-22 07:57  gb
3221
3222        * lib/streams.lisp: Don't disable interrupts when calling ioblock
3223        functions, after all.
3224       
3225        Go through (new) ioblock-unread-char-function.
3226
32272006-10-22 07:55  gb
3228
3229        * lisp-kernel/darwinppc/.gdbinit: Stop trying to print strings via
3230        x/s
3231
32322006-10-21 18:46  gb
3233
3234        * level-1/l1-streams.lisp: Typo.
3235
32362006-10-21 18:41  gb
3237
3238        * lisp-kernel/x86-exceptions.c: Initialize (zero, usually) more
3239        fields in pseudo sigcontexts.
3240
32412006-10-21 18:40  gb
3242
3243        * level-1/l1-streams.lisp: Mostly locking changes (don't lock
3244        twice, etc.)
3245
32462006-10-21 18:35  gb
3247
3248        * level-0/l0-array.lisp, level-0/l0-init.lisp,
3249        level-0/l0-pred.lisp, level-0/l0-utils.lisp,
3250        level-0/PPC/ppc-array.lisp, level-0/PPC/ppc-symbol.lisp,
3251        level-0/X86/x86-symbol.lisp, level-1/l1-aprims.lisp,
3252        lib/sequences.lisp: Remove vestival #+target-8-bit-chars stuff.
3253
32542006-10-21 16:45  gb
3255
3256        * level-1/l1-unicode.lisp: New! Improved! Now with more iso-8859
3257        encodings!
3258
32592006-10-19 13:48  gb
3260
3261        * level-0/PPC/ppc-misc.lisp: Reference the source argument - not
3262        arg_z - in %safe-get-ptr.
3263
32642006-10-19 13:22  gb
3265
3266        * level-0/l0-aprims.lisp: %CSTR-POINTER: make #\Nul termination
3267        optional, use #\Sub char-code as replaement char.
3268
32692006-10-19 13:21  gb
3270
3271        * examples/objc-runtime.lisp: Missing close paren.
3272
32732006-10-19 13:19  gb
3274
3275        * examples/: cocoa-editor.lisp, cocoa-listener.lisp: Careful BLTing
3276        strings to/from foreign memory.
3277
32782006-10-19 13:18  gb
3279
3280        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Typos in UNBOX-S8.
3281
32822006-10-18 08:04  gb
3283
3284        * level-1/version.lisp: Bump.  Binaries later today ?
3285
32862006-10-18 07:38  gb
3287
3288        * level-1/l1-clos-boot.lisp: The post-bootstrapping version of
3289        (SETF FIND-CLASS) only introduces (or removes) a type name if the
3290        class becomes (or ceases to be) a properly named class.
3291       
3292        The pre-bootstrapping version handles simpler cases of that; use
3293        ALIAS-CLASS to register some early class names as type names.
3294
32952006-10-18 07:36  gb
3296
3297        * level-1/l1-clos.lisp: (SETF CLASS-NAME) can affect the type
3298        system, since only symbols which name properly-named classes are
3299        type specifiers.  Changing the name of a class can either introduce
3300        or remove a properly-named class.
3301       
3302        Classes that have the kernel-p attribute shouldn't have their names
3303        changed casually.
3304
33052006-10-18 07:33  gb
3306
3307        * level-1/l1-sockets.lisp: Accept an :EXTERNAL-FORMAT argument to
3308        MAKE-SOCKET, pass it down to whatever function actually creates a
3309        stream socket.
3310
33112006-10-18 02:12  gb
3312
3313        * compiler/X86/x862.lisp: Allow closed-over addresses in
3314        conditional-form, NOT.
3315
33162006-10-18 01:43  gb
3317
3318        * lisp-kernel/x86-exceptions.c: handle_fault() checks for
3319        safe_ref_addres.
3320
33212006-10-18 01:43  gb
3322
3323        * level-0/X86/x86-misc.lisp: %safe-get-ptr for x8664.
3324
33252006-10-18 01:41  gb
3326
3327        * compiler/X86/X8664/x8664-vinsns.lisp: Compare stack
3328        addresses/vcells to nil.
3329
33302006-10-18 01:41  gb
3331
3332        * compiler/X86/x862.lisp: Stuff for comparing memory (stack)
3333        addresses to NIL.
3334       
3335        Mark arg_z and rcx/nargs as being in use when restoring interrupt
3336        level inline.
3337
33382006-10-18 01:39  gb
3339
3340        * compiler/X86/x86-disassemble.lisp: We've had UUO-ERROR-UNBOUND
3341        for a few months now.  The disassembler is always the last to know.
3342
33432006-10-17 19:15  gb
3344
3345        * compiler/PPC/PPC32/ppc32-arch.lisp,
3346        compiler/PPC/PPC64/ppc64-arch.lisp,
3347        compiler/X86/X8664/x8664-arch.lisp, examples/objc-runtime.lisp,
3348        level-0/l0-misc.lisp, level-0/PPC/ppc-misc.lisp,
3349        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
3350        lisp-kernel/ppc-constants64.h, lisp-kernel/ppc-constants64.s,
3351        lisp-kernel/ppc-exceptions.c, lisp-kernel/x86-constants64.h,
3352        lisp-kernel/x86-constants64.s: add safe-ref-address to tcr.
3353       
3354        Handle memory faults to safe-ref-addres on PPC (so far).
3355       
3356        Try using SAFE-GET-PTR in objc runtime (untested).
3357
33582006-10-17 17:34  gb
3359
3360        * compiler/PPC/ppc2.lisp: ppc backend %aref1/%aset1: notice array
3361        type in acode.
3362
33632006-10-17 14:02  gb
3364
3365        * level-1/l1-unicode.lisp: BOM-ENCODING.
3366
33672006-10-17 14:02  gb
3368
3369        * level-1/l1-sysio.lisp: FILE-STRING-LENGTH actually does
3370        something.
3371       
3372        Clear the pending-bom flag when seeking.
3373
33742006-10-17 14:01  gb
3375
3376        * level-1/l1-streams.lisp: (SETF STREAM-EXTERNAL-FORMAT) for
3377        ioblock-based character streams.
3378
33792006-10-17 13:45  gb
3380
3381        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: bind/unbind
3382        *interrupt-level* inline.
3383
33842006-10-17 13:44  gb
3385
3386        * compiler/X86/x86-disassemble.lisp: Act like ud2a takes a one-byte
3387        immmediate operand (xuuo).
3388
33892006-10-17 13:39  gb
3390
3391        * level-1/l1-streams.lisp, lib/streams.lisp: Disable interrupts
3392        when necessary.
3393
33942006-10-17 13:39  gb
3395
3396        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
3397        PPC64/ppc64-vinsns.lisp: bind/unbind *interrupt-level* inline.
3398
33992006-10-15 17:51  gb
3400
3401        * level-1/l1-streams.lisp: Handle 32-bit character encodings.
3402       
3403        Start to extend STREAM-EXTERNAL-FORMAT, start to make it SETFable.
3404
34052006-10-15 17:51  gb
3406
3407        * level-1/l1-unicode.lisp: utf-32/ucs-4 and variants.
3408
34092006-10-15 17:50  gb
3410
3411        * level-1/l1-sysio.lisp: EXTERNAL-FORMATs are immutable, interned.
3412
34132006-10-14 07:41  gb
3414
3415        * compiler/PPC/ppc2.lisp: Fix use of ^,<- vinsn macros inside
3416        ENSURING-NODE-TARGET.
3417       
3418        Inline the fixnum case of two-arg numeric comparisons.
3419
34202006-10-14 07:39  gb
3421
3422        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3423        INLINE-SUB2 support.
3424
34252006-10-14 06:30  gb
3426
3427        * lib/defstruct.lisp: Don't (DECLARE (OPTIMIZE (SAFETY 3))) in
3428        generated DEFSTRUCT accessors.
3429
34302006-10-14 06:27  gb
3431
3432        * compiler/X86/x862.lisp: Fix many cases of ENSURING-NODE-TARGET.
3433       
3434        Do the fixnum case of two-argument subtraction inline.
3435       
3436        Inline the fixnum case of two-argument numeric comparisons.
3437       
3438        STRUCT-REF avoids typechecking when reckless.
3439
34402006-10-14 06:21  gb
3441
3442        * compiler/backend.lisp: It makes no sense to use the vinsn macros
3443        <- and ^ inside ENSURING-NODE-TARGET, so make it check for that.
3444
34452006-10-14 06:20  gb
3446
3447        * compiler/X86/X8664/x8664-vinsns.lisp: Do vector bounds-checking a
3448        little differently.
3449       
3450        Add xchg-registers.
3451
34522006-10-13 04:54  gb
3453
3454        * compiler/nx1.lisp: Use new NUMCMP operator.
3455
34562006-10-13 04:53  gb
3457
3458        * compiler/nx0.lisp: Change inline expansion: use optimize settings
3459        in effect at call time, not those in effect at definition time.
3460
34612006-10-13 04:50  gb
3462
3463        * level-0/l0-numbers.lisp: Change >=-2, <=-2, /=-2 to avoid
3464        inlining issues.
3465
34662006-10-13 04:30  gb
3467
3468        * compiler/nxenv.lisp: Replace unused num= with numcmp.
3469
34702006-10-12 19:46  gb
3471
3472        * lisp-kernel/pmcl-kernel.c: Terminate argument processing when
3473        "--" is seen.
3474
34752006-10-12 19:45  gb
3476
3477        * level-1/: l1-streams.lisp, l1-sysio.lisp, l1-unicode.lisp: Handle
3478        newline translation differenly (at the character I/O level, not the
3479        buffer level).
3480       
3481        All character encoding/decoding functions operate on octets, not
3482        necessarily code units.  (The stream encode/decode functions are an
3483        exception; serialization and byte ordering are handled by the
3484        stream.)
3485
34862006-10-09 16:34  gb
3487
3488        * level-1/l1-streams.lisp: Write  #\Sub's char-code if we can't
3489        encode a character in (implicit) iso-8859-1.
3490
34912006-10-09 16:33  gb
3492
3493        * level-0/l0-misc.lisp: %COPY-STRING-TO-U8: use #\Sub (ascii 26) as
3494        a replacement character.
3495
34962006-10-09 16:31  gb
3497
3498        * level-1/l1-unicode.lisp: :stream-encode/decode functions always
3499        write/read something, even if it's a replacement character of some
3500        sort.
3501
35022006-10-09 15:19  gb
3503
3504        * level-1/l1-streams.lisp: More stuff about line termination.  When
3505        will this end ?
3506
35072006-10-09 15:19  gb
3508
3509        * lib/chars.lisp: Use a hashtable to map characters to their names.
3510         (Maybe a sparse vector ?).
3511
35122006-10-09 15:18  gb
3513
3514        * level-1/l1-reader.lisp: Use a hashtable to map characters to
3515        their names.  (Maybe a sparse vector ?).
3516       
3517        Define #\Sub and #\Replacement_Character.
3518
35192006-10-08 21:17  gb
3520
3521        * level-1/l1-readloop-lds.lisp: SELECT-BACKTRACE: it's been all
3522        NEW-BACKTRACE for a while now.
3523
35242006-10-08 21:16  gb
3525
3526        * lisp-kernel/lisptypes.h: Need to #include <sys/signal.h> to keep
3527        Panther happy.
3528
35292006-10-08 20:30  gb
3530
3531        * lisp-kernel/x86_print.c: Print hex with leading #x, not #0x ...
3532
35332006-10-08 20:30  gb
3534
3535        * lib/dumplisp.lisp: Do some sanity checks on SAVE-APPLICATION
3536        pathname, before it's too late ...
3537
35382006-10-08 20:29  gb
3539
3540        * level-1/l1-unicode.lisp: ASCII, some other changes.
3541
35422006-10-08 20:29  gb
3543
3544        * level-1/l1-sysio.lisp: Rearrange a few things; pass
3545        :line-termination option to MAKE-FD-STREAM.
3546
35472006-10-08 20:28  gb
3548
3549        * level-1/l1-streams.lisp: Yet another line-termination translation
3550        scheme; hopefully, the last for a while. (More tedium before it's
3551        actually installed.)
3552
35532006-10-08 20:27  gb
3554
3555        * level-1/l1-reader.lisp: Add character names for #\Line_Separator,
3556        #\Paragraph_separator.
3557
35582006-10-07 20:35  gb
3559
3560        * level-1/l1-init.lisp: *TERMINAL-CHARACTER-ENCODING-NAME*.
3561
35622006-10-07 20:34  gb
3563
3564        * level-1/l1-error-signal.lisp: In %ERROR, go straight to the
3565        kernel debugger if interactive streams aren't initialized yet.
3566        (We'd probably get there sooner or later in that case; try to get
3567        there sooner.)
3568
35692006-10-07 20:33  gb
3570
3571        * level-1/l1-boot-2.lisp: Don't initialize interactive streams via
3572        DEF-LOAD-POINTERS.  Wrap that up in a function, and set a flag when
3573        the function's called (from APPLICATION's TOPLEVEL-FUNCTION
3574        method.)
3575
35762006-10-07 20:32  gb
3577
3578        * level-1/l1-application.lisp: Handle the (new)
3579        -K/--terminal-encoding command-line argument.
3580
35812006-10-07 11:14  gb
3582
3583        * level-1/l1-streams.lisp: INPUT-STREAM-P, OUTPUT-STREAM-P are true
3584        of instances if INPUT-STREAM/ OUTPUT-STREAM, respectively (not just
3585        instances of FUNDAMENTAL-INPUT/OUTPUT-STREAM).
3586
35872006-10-07 11:13  gb
3588
3589        * lisp-kernel/lisp-debug.c: Do abort() if kernel debugger is
3590        entered when --batch is in effect.
3591
35922006-10-07 11:12  gb
3593
3594        * level-1/l1-readloop.lisp: QUIT: flush *STDOUT* in
3595        PROCESS-EXIT-APPLICATION.
3596
35972006-10-07 11:11  gb
3598
3599        * level-1/l1-processes.lisp: PROCESS-EXIT-APPLICATION: flush
3600        *stdout* here.
3601
36022006-10-06 04:49  gb
3603
3604        * level-1/l1-streams.lisp: CODE-UNIT, not CODE-ELEMENT.  Add a
3605        TRANSLATE slot to IO-BUFFER.
3606
36072006-10-06 04:40  gb
3608
3609        * level-1/l1-sockets.lisp: basic (vs fundamental) socket streams.
3610
36112006-10-06 04:39  gb
3612
3613        * level-1/l1-sysio.lisp: Real, live EXTERNAL-FORMAT structures.
3614
36152006-10-06 04:38  gb
3616
3617        * level-1/version.lisp: Bump.
3618
36192006-10-06 04:38  gb
3620
3621        * level-0/l0-misc.lisp: %COPY-STRING-TO-U8: use #\? as a
3622        replacement character.
3623
36242006-10-05 14:46  gb
3625
3626        * lisp-kernel/lisptypes.h: More register name aliases.  FMH.
3627
36282006-10-05 14:46  gb
3629
3630        * lisp-kernel/x86-asmutils64.s: get_mxcsr, set_mxcsr.
3631
36322006-10-05 14:46  gb
3633
3634        * lisp-kernel/x86-exceptions.c: Save the mxcsr, load it with a
3635        C-like value (all exceptions masked) before doing a callback.  (Not
3636        doing this meant that tcr.foreign_mxcsr was often set to a "lispy"
3637        value, where most exceptions were unmasked, and this caused FP
3638        exceptions when calling out to foreign code with the "lispy"
3639        tcr.foreign_mxcsr in effect.)
3640       
3641        Mach exception stuff arranges to return via sigreturn.  Didn't fix
3642        the spurious SIGTRAPs, but might be the right idea (and might save
3643        a context switch or two.)
3644       
3645        Mach exception stuff initializes rflags to exception rflags when
3646        arranging to resume thread at handler.  Leaving them uninitialized
3647        was causing spurious SIGTRAPs, since the trace bit(s) may have been
3648        set.
3649
36502006-10-05 06:09  gb
3651
3652        * lib/macros.lisp: WITH-ENCODED-CSTR(s).  (Hey, it's a start.)
3653
36542006-10-05 06:09  gb
3655
3656        * lib/chars.lisp: CHAR-NAME: try to use at least 4 hex digits for
3657        #\U+xxxx syntax.
3658
36592006-10-05 06:08  gb
3660
3661        * level-1/l1-unicode.lisp: UCS-2, some other changes.
3662
36632006-10-05 06:07  gb
3664
3665        * level-1/l1-sysio.lisp: Try to get
3666        line-termination/external-format stuff working.
3667
36682006-10-05 05:35  gb
3669
3670        * level-1/l1-streams.lisp: Assume that character data is always
3671        encoded as one or more 8-bit octets.
3672
36732006-10-05 04:59  gb
3674
3675        * level-1/l1-boot-2.lisp: Set class-prototypes for basic-streams
3676        just before we make the first one.
3677
36782006-10-02 08:13  gb
3679
3680        * lisp-kernel/x86-exceptions.h: Darwin uses _sigtramp glue to call
3681        handlers, so we need to make handlers do a sigreturn after
3682        switching off the signal stack, etc.
3683
36842006-10-02 08:11  gb
3685
3686        * lisp-kernel/x86-exceptions.c: Don't use SIGRETURN to return from
3687        signal_handler() on Darwin (since we depend on pseudo_sigreturn
3688        handling for cleanup of tcr pending exception and since we can't
3689        easily restore the signal mask.)
3690       
3691        (Up until this point, SIGRETURN has been a nop on Darwin.)
3692
36932006-10-02 04:59  gb
3694
3695        * lisp-kernel/lisptypes.h: Compile on ppc,ppc64 osx 10.4 and
3696        earlier.
3697
36982006-10-02 04:47  gb
3699
3700        * lisp-kernel/: lisptypes.h, ppc-exceptions.c, ppc-exceptions.h:
3701        Compile on post OSX 10.4 systems, for ppc/ppc64.  (Broken on
3702        systems <= 10.4).
3703
37042006-10-02 02:46  gb
3705
3706        * lisp-kernel/: lisptypes.h, x86-exceptions.c, x86-exceptions.h:
3707        Try to make x86-64 version compile under 10.4 again; see if this
3708        breaks post-10.4 compilation.
3709
37102006-10-02 02:33  gb
3711
3712        * lisp-kernel/: lisptypes.h, pmcl-kernel.c, x86-exceptions.c,
3713        x86-exceptions.h: Change things so that they compile for x86-64 on
3714        systems later than 10.4.  Almost certainly break 10.4 compilation
3715        in the process.  (Thanks, Apple!  Any time I can cause you to waste
3716        hours on crap like this, just let me know!)
3717
37182006-09-27 20:33  gb
3719
3720        * lib/misc.lisp: DOCUMENTATION works on character-encodings.
3721
37222006-09-27 20:33  gb
3723
3724        * level-1/l1-unicode.lisp: Character-encodings have doc strings.
3725
37262006-09-27 05:46  gb
3727
3728        * level-1/l1-sysio.lisp: More FILE-STREAM changes.  Give
3729        BASIC-STREAM classes a class prototype.
3730
37312006-09-27 05:45  gb
3732
3733        * level-1/l1-streams.lisp: Some changes to FD-STREAM
3734        initialization, to make it easier to use MAKE-FD-STREAM to open
3735        (seekable) FILE-STREAMs.
3736
37372006-09-27 05:41  gb
3738
3739        * lisp-kernel/: x86-exceptions.c, x86-exceptions.h: Decode and
3740        handle UUO_ERROR_DEBUG_TRAP_WITH_STRING.
3741
37422006-09-27 05:39  gb
3743
3744        * lisp-kernel/x86-spentry64.s: Still get very occasional SIGFPE on
3745        return from (e.g.) #_asin on x86-64 Darwin.  (#_asin often does a
3746        division-by-zero, but that should be masked when in foreign code.)
3747        Don't reload the lisp mxcsr until other registers have been popped,
3748        to make debugging easier in case it's the act of reloading the
3749        mxcsr that causes the spurious trap.)
3750
37512006-09-27 05:36  gb
3752
3753        * level-0/X86/x86-misc.lisp: DEBUG-TRAP-WITH-STRING.
3754
37552006-09-27 05:35  gb
3756
3757        * level-0/nfasload.lisp: Not sure when it happened, but %FASLOAD
3758        was parenthesized in such a way as to not return the error value on
3759        error.
3760
37612006-09-27 05:34  gb
3762
3763        * level-0/l0-misc.lisp: On x8664, use a new UUO for BUG.  (Not
3764        passing context into the kernel makes it too difficult to debug/get
3765        backtrace, etc.)
3766
37672006-09-27 05:33  gb
3768
3769        * compiler/X86/: x86-asm.lisp, x86-disassemble.lisp:
3770        UUO-ERROR-DEBUG-TRAP-WITH-STRING.
3771
37722006-09-27 05:05  gb
3773
3774        * level-1/l1-clos-boot.lisp: CLASS-PROTOTYPE method for CLASS class
3775        (mostly for BUILT-IN-CLASSes).
3776
37772006-09-26 20:49  gb
3778
3779        * level-1/l1-sysio.lisp: SELECT-STREAM-CLASS: should probably take
3780        a BASIC-P argument.
3781
37822006-09-26 20:47  gb
3783
3784        * level-1/l1-streams.lisp: More changes.  Imagine that.
3785
37862006-09-26 20:46  gb
3787
3788        * compiler/: X86/X8664/x8664-vinsns.lisp, X86/x862.lisp,
3789        optimizers.lisp: (Redundant) FIXNUM decls in LDB compiler macro.
3790
37912006-09-26 20:43  gb
3792
3793        * level-1/l1-unicode.lisp: Memory/vector encode/decode functions
3794        take/return strings, not chars.
3795       
3796        Some bom stuff.
3797
37982006-09-24 20:14  gb
3799
3800        * lib/chars.lisp: Check for assumptions about character size.
3801        Remove some %i-isms (fixnum arithmetic), make assertions about type
3802        of char-code.
3803
38042006-09-24 20:12  gb
3805
3806        * level-1/l1-aprims.lisp: Remove unused (probably ancient)
3807        CHKBOUNDS function.  Simpler STRING-START-END.
3808
38092006-09-24 20:11  gb
3810
3811        * level-1/l1-streams.lisp: Some stuff to infer line-termination.
3812        Probably belongs elsewhere; some encodings may not make it at all
3813        possible.
3814
38152006-09-24 20:07  gb
3816
3817        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3818        Load-character-constant: accept :u32const on PPC32, PPC64, too.
3819
38202006-09-24 20:00  gb
3821
3822        * level-1/l1-streams.lisp: A little more u16 stuff.  Remove
3823        line-termination slot from ioblock and corresponding arg from
3824        functions which initialize it.
3825
38262006-09-24 19:59  gb
3827
3828        * level-1/l1-sysio.lisp: Input-filter, output-filter in
3829        file-ioblock.
3830
38312006-09-24 19:58  gb
3832
3833        * level-1/l1-unicode.lisp: Buffer translation functions don't
3834        belong here; start thinking about BOM.
3835
38362006-09-24 19:57  gb
3837
3838        * compiler/X86/X8664/x8664-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
3839        it's been a :u32const for the last few weeks ...
3840
38412006-09-24 04:29  gb
3842
3843        * lib/chars.lisp: CHAR-NAME looks in the *CHARACTER-NAMES* array if
3844        the code is within its bounds.
3845
38462006-09-24 04:27  gb
3847
3848        * level-1/l1-reader.lisp: Lots more character names.  Maintain
3849        mappings in a vector and a hash table, rather than in an alist.
3850
38512006-09-24 04:26  gb
3852
3853        * level-0/nfasload.lisp, xdump/xfasload.lisp, lib/nfcomp.lisp: Doh!
3854        character constant fasl encoding ($fasl-char).
3855
38562006-09-23 05:31  gb
3857
3858        * level-1/l1-unicode.lisp: Some other iso8859-n encodings.  (Not
3859        sure which are the most important.)
3860
38612006-09-23 05:29  gb
3862
3863        * level-1/l1-sysio.lisp: Start to separate
3864        line-termination/external-format stuff.
3865
38662006-09-23 05:28  gb
3867
3868        * level-1/l1-streams.lisp: Lots-o-changes.
3869
38702006-09-23 05:28  gb
3871
3872        * level-1/l1-boot-2.lisp: Make initial interactive streams use
3873        UTF-8 (mostly for debugging utf-8 ...)
3874
38752006-09-21 04:07  gb
3876
3877        * lisp-kernel/x86-spentry64.s: don't clobber callback index when
3878        doing the DARWIN_GS_HACK stuff in _SPcallback (syscall sometimes
3879        clobbered r11, sometimes didn't.)
3880
38812006-09-21 04:05  gb
3882
3883        * lisp-kernel/pmcl-kernel.c: Require mach/port.h.
3884
38852006-09-21 04:05  gb
3886
3887        * lisp-kernel/x86-exceptions.c: Save and restore errno in
3888        callback_for_interrupt.
3889
38902006-09-21 04:04  gb
3891
3892        * lisp-kernel/lisptypes.h: Guess again about preprocessor stuff for
3893        x86-64 ucontext/mcontext on Darwin.
3894
38952006-09-21 04:02  gb
3896
3897        * level-1/l1-lisp-threads.lisp: Use underscore prefix on all Darwin
3898        flavors.
3899       
3900        Add a type decl in %nanosleep.
3901
39022006-09-21 04:01  gb
3903
3904        * compiler/X86/X8664/x8664-vinsns.lisp: sign-extend/zero-extend
3905        vinsns.
3906
39072006-09-21 04:01  gb
3908
3909        * compiler/X86/x862.lisp: sign/zero-extend ffcall, syscall return
3910        values.  (Probably only matters in a few cases, like the Darwin
3911        x86-64 version of #_nanosleep, which returns a non-sign-extended
3912        "int" value if the sleep is interruted.)
3913
39142006-09-20 06:34  gb
3915
3916        * level-1/version.lisp: Bump.
3917
39182006-09-20 04:24  gb
3919
3920        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3921        slight improvements in signed-byte boxing, typechecking.
3922
39232006-09-20 04:22  gb
3924
3925        * lib/streams.lisp: WRITE-BYTE for BASIC-STREAMs.
3926
39272006-09-20 04:21  gb
3928
3929        * lib/macros.lisp: %SWAP-U16, %SWAP-U32.
3930
39312006-09-20 04:21  gb
3932
3933        * lib/level-2.lisp: %EVAL-REDEFs for new require-xx functions.
3934
39352006-09-20 04:20  gb
3936
3937        * level-1/l1-unicode.lisp: UTF-16, in native and byte-swapped
3938        versions.  Need a "logical" UTF-16, which deals with byte-order
3939        marks and a means of installing a concrete encoding.  Needs
3940        testing.
3941
39422006-09-20 04:15  gb
3943
3944        * level-1/l1-streams.lisp: Numerous changes.
3945
39462006-09-20 04:15  gb
3947
3948        * level-1/l1-sockets.lisp: %bswap16: fix type declaration.
3949
39502006-09-20 04:14  gb
3951
3952        * compiler/X86/X8664/x8664-vinsns.lisp: vinsns for signed/unsigned
3953        byte 8,16,32,64.  Tighten up some signed-byte boxing.
3954
39552006-09-20 04:12  gb
3956
3957        * compiler/X86/x862.lisp: New require ops for signed/unsigned byte
3958        8,16,32,64
3959
39602006-09-19 01:38  gb
3961
3962        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3963        vinsns for REQUIRE-[US][8,16,32,64]
3964
39652006-09-19 01:37  gb
3966
3967        * compiler/PPC/PPC32/ppc32-arch.lisp: Need
3968        THREE-DIGIT-BIGNUM-HEADER to recognize some cases of (UNSIGNED-BYTE
3969        64).
3970
39712006-09-19 01:36  gb
3972
3973        * compiler/PPC/ppc-backend.lisp: clean up an error message.
3974
39752006-09-19 01:36  gb
3976
3977        * compiler/PPC/ppc2.lisp: handle require-[us][8,16,32,64]
3978        operators.
3979
39802006-09-19 01:34  gb
3981
3982        * compiler/optimizers.lisp: REQUIRE-TYPE: transform into
3983        require-[us][8,16,32,64] when possible.
3984
39852006-09-19 01:34  gb
3986
3987        * compiler/nx1.lisp: inline require-[us][8,16,32,64].
3988
39892006-09-19 01:33  gb
3990
3991        * compiler/nxenv.lisp: New operators for require-[us][8,16,32,64].
3992
39932006-09-19 01:15  gb
3994
3995        * compiler/X86/X8664/x8664-vinsns.lisp: x8664 vinsns for
3996        typechecking signed/unsigned bytes of sizes 8,16,32,64.
3997
39982006-09-19 00:36  gb
3999
4000        * level-1/l1-streams.lisp: More changes; hard to bootstrap.
4001
40022006-09-18 21:42  gb
4003
4004        * lib/macros.lisp: Macros for locking the input/output locks of an
4005        ioblock, assuming that it exists.
4006
40072006-09-17 00:45  gb
4008
4009        * level-1/l1-streams.lisp: more changes
4010
40112006-09-13 06:52  gb
4012
4013        * level-1/l1-io.lisp: Direct BASIC-STREAM stuff for WRITE-CHAR,
4014        WRITE-STRING, TERPRI.
4015
40162006-09-13 06:08  gb
4017
4018        * lib/streams.lisp: READ-LINE changes for BASIC-STREAMs.
4019
40202006-09-13 06:07  gb
4021
4022        * level-1/l1-unicode.lisp: GET-CHARACTER-ENCODING errors if the
4023        named encoding isn't defined.
4024       
4025        Terse PRINT-OBJECT method for CHARACTER-ENCODING.
4026
40272006-09-13 06:06  gb
4028
4029        * level-1/l1-streams.lisp: More functions in the ioblock, some
4030        support for 8-bit encodings (like utf-8).  Not finished, but
4031        getting hard to bootstrap; need to check in and build on all
4032        platforms before it gets even harder.
4033
40342006-09-12 05:34  gb
4035
4036        * level-0/l0-misc.lisp: Use %CSTR-POINTER (not
4037        %copy-ivector-to-pointer) in BUG.
4038
40392006-09-12 05:31  gb
4040
4041        * lisp-kernel/x86-exceptions.c: Enter the debugger if
4042        altstack_signal_handler is entered in foreign code.  (Maybe want to
4043        signal a lisp error in some cases, but this is currently fatal and
4044        we might as well die earlier than with a stack overflow.)
4045
40462006-09-12 05:29  gb
4047
4048        * lisp-kernel/thread_manager.c: os_get_stack_bounds(): get stack
4049        direction right on FreeBSD.  (Much better than randomly scribbling
4050        on memory in the GC, as the FreeBSD port has been doing for months
4051        now ...)
4052
40532006-09-11 21:31  gb
4054
4055        * compiler/X86/x862.lisp: x862-explicit-non-fixnum-type-p looks for
4056        intersection.
4057
40582006-09-11 21:21  gb
4059
4060        * compiler/X86/x862.lisp: Partly inline 2-arg logior, logand.
4061
40622006-09-11 20:10  gb
4063
4064        * level-1/l1-unicode.lisp: Character encodings contain a
4065        LITERAL-CHAR-CODE-LIMIT field.
4066
40672006-09-11 20:09  gb
4068
4069        * level-1/l1-streams.lisp: extend IOBLOCK a bit.  Start to provide
4070        functionality for encoded streams.
4071
40722006-09-11 20:08  gb
4073
4074        * compiler/PPC/ppc2.lisp: Partialy inline 2-arg logior/logand.
4075
40762006-09-09 04:39  gb
4077
4078        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
4079        REQUIRE-CHAR-CODE: compare against boxed char-code-limit.
4080
40812006-09-09 04:21  gb
4082
4083        * level-1/l1-reader.lisp: NAME-CHAR: insist on something more
4084        reasonable for ^c syntax; don't do MOD for octal.
4085
40862006-09-09 04:21  gb
4087
4088        * compiler/X86/X8664/x8664-vinsns.lisp: require-char-code checks
4089        agains boxed Unicode limit
4090
40912006-09-09 03:56  gb
4092
4093        * lisp-kernel/x86-gc.c: purify_range(), impurify_range(): handle
4094        x8664 functions, hash tables.  (PPC versions should handle hash
4095        table key movement.)
4096
40972006-09-08 22:47  gb
4098
4099        * lib/chars.lisp: CHAR-NAME: use U+xxxx for chars with codes >=
4100        #x100.
4101
41022006-09-08 22:38  gb
4103
4104        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
4105        FIXNUM->CHAR: return NIL for surrogate pairs.
4106
41072006-09-08 22:33  gb
4108
4109        * compiler/PPC/ppc2.lisp: Don't be overly unsafe in %CHAR-CODE.
4110
41112006-09-08 22:31  gb
4112
4113        * lib/ppc-backtrace.lisp: Fix CFP-LFUN (fake stack frame case,
4114        sanity-check fn/lr).
4115
41162006-09-08 18:55  gb
4117
4118        * compiler/X86/x862.lisp: Don't be so reckless in %CODE-CHAR (don't
4119        necessarily want arbitrary expressions to be compiled unsafely; do
4120        want to avoid a little type-checking sometimes.)
4121
41222006-09-08 18:52  gb
4123
4124        * compiler/X86/X8664/x8664-vinsns.lisp: FIXNUM->CHAR returns NIL
4125        for values in the surrogate-pairs range.  (There are other things
4126        that it could plausibly return NIL for.)
4127
41282006-09-08 18:51  gb
4129
4130        * lisp-kernel/x86-gc.c: Start to get purify working on x86-64; for
4131        now, just purify strings.
4132
41332006-09-08 18:48  gb
4134
4135        * lib/macros.lisp: %CODE-CHAR asserts that code is (UNSIGNED-BYTE
4136        8), which is still useful (and exactly what it used to do.)
4137
41382006-09-08 18:47  gb
4139
4140        * lib/: compile-ccl.lisp, systems.lisp: Add l1-unicode.
4141
41422006-09-08 18:44  gb
4143
4144        * level-1/level-1.lisp: Load l1-unicode.
4145
41462006-09-08 18:44  gb
4147
4148        * level-1/l1-unicode.lisp: New file.
4149
41502006-09-07 03:50  gb
4151
4152        * lisp-kernel/area.h: Larger PURESPACE_RESERVE for x8664.
4153
41542006-09-07 03:44  gb
4155
4156        * xdump/: heap-image.lisp, xfasload.lisp, xppcfasload.lisp,
4157        xx8664-fasload.lisp: Bump abi version.  Make purespace-reserve an
4158        attribute of the backend (may need more pure space on x86-64.)
4159
41602006-09-07 03:43  gb
4161
4162        * lisp-kernel/image.h: Bump abi version.
4163
41642006-09-07 03:43  gb
4165
4166        * level-1/version.lisp: Bump.
4167
41682006-09-07 02:58  gb
4169
4170        * lisp-kernel/x86-exceptions.c: FreeBSD (at least with libthr)
4171        seems to mask synchronous signals.  Unmask them in signal handlers.
4172
41732006-09-07 02:57  gb
4174
4175        * lisp-kernel/thread_manager.c: suspend_resume_handler() : ignore
4176        signal mask.
4177
41782006-09-07 02:56  gb
4179
4180        * lisp-kernel/: lisptypes.h, ppc-constants32.h, ppc-constants32.s,
4181        ppc-constants64.h, ppc-constants64.s, ppc-gc.c, x86-constants64.h,
4182        x86-constants64.s: Lose the CHAR_SIZE_32 bootstrapping conditional
4183        (char are 32 bits wide on all platforms now.)
4184
41852006-09-07 00:40  gb
4186
4187        * lisp-kernel/x86-exceptions.c: SIGBUS might be
4188        SIGNUM_FOR_PROCESS_INTERRUPT.
4189
41902006-09-07 00:12  gb
4191
4192        * lisp-kernel/x86-spentry64.s: _SPbuiltin_aref1: use
4193        box_fixnum_no_flags.
4194
41952006-09-07 00:12  gb
4196
4197        * lisp-kernel/x86-macros.s: Define box_fixnum_no_flags (uses lea
4198        vice imul).
4199
42002006-09-06 21:18  gb
4201
4202        * compiler/X86/X8664/x8664-arch.lisp: Need
4203        MIN/MAX-8-BIT-IVECTOR-SUBTAG.
4204
42052006-09-06 18:37  gb
4206
4207        * lisp-kernel/x86-spentry64.s: misc_ref/misc_set: handle 32-bit
4208        strings.
4209
42102006-09-06 18:36  gb
4211
4212        * lisp-kernel/x86-macros.s: Zero-extend early when extracting
4213        typecodes.
4214
42152006-09-06 18:36  gb
4216
4217        * level-1/l1-streams.lisp: GET-OUTPUT-STREAM-STRING: use
4218        ENSURE-SIMPLE-STRING rather than horrible COERCE nonsense.
4219
42202006-09-06 18:35  gb
4221
4222        * level-1/l1-aprims.lisp: x8664 *immheader-1-array-element-types*
4223        contains entry for 32-bit BASE-CHAR.
4224
42252006-09-06 18:35  gb
4226
4227        * compiler/X86/X8664/x8664-vinsns.lisp: zero-extend early when
4228        extracting typecodes.
4229
42302006-09-06 18:34  gb
4231
4232        * compiler/X86/X8664/: x8664-arch.lisp, x8664-backend.lisp:
4233        32-bit-chars.
4234
42352006-09-06 18:33  gb
4236
4237        * compiler/X86/: x86-backend.lisp, x862.lisp: Defer handling of the
4238        :rcontext pseudo-register name until the target backend is in
4239        place.
4240
42412006-09-06 16:39  gb
4242
4243        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: 32-bit chars
4244        stuff for x8664.
4245
42462006-09-06 16:39  gb
4247
4248        * level-1/l1-reader.lisp: kids: bourbon and editing COPY-READTABLE
4249        don't mix!
4250
42512006-09-06 16:38  gb
4252
4253        * lib/compile-ccl.lisp: :verbose argument to rebuild-ccl.
4254
42552006-09-06 16:38  gb
4256
4257        * level-1/linux-files.lisp: process input/output: don't assume
4258        8-bit strings.
4259
42602006-09-06 14:42  gb
4261
4262        * compiler/PPC/PPC64/ppc64-backend.lisp: PPC64 callbacks are always
4263        #+poweropen-target; don't conditionalize the fp-arg-ptr argument
4264        (since that creates confustion when cross-compiling from a
4265        non-poweropen host.)
4266
42672006-09-06 00:08  gb
4268
4269        * compiler/PPC/PPC64/: ppc64-arch.lisp, ppc64-backend.lisp: remove
4270        8-bit char stuff.
4271
42722006-09-06 00:08  gb
4273
4274        * compiler/X86/X8664/x8664-arch.lisp: Forgot to set char-code-limit
4275        here.
4276
42772006-09-05 22:49  gb
4278
4279        * lib/macros.lisp: In DO-GC-AREAS, don't use comma before call to
4280        AREA-SUCC.  (Cross-compilation/ word-size issue.)
4281
42822006-09-05 22:42  gb
4283
4284        * level-0/l0-utils.lisp: If ENSURE-SIMPLE-STRING has to make a copy
4285        of a non-simple string, understand char width issues.
4286
42872006-09-05 22:41  gb
4288
4289        * level-0/nfasload.lisp: Some fixnum decls in %FIND-PKG.
4290
42912006-09-05 22:40  gb
4292
4293        * level-1/l1-aprims.lisp: ppc64 ARRAY-ELEMENT-SUBTYPES includes new
4294        string type.
4295
42962006-09-05 22:39  gb
4297
4298        * level-0/PPC/ppc-array.lisp: cr3, nor c33, in ppc64 %init-misc.
4299
43002006-09-05 22:38  gb
4301
4302        * compiler/nx0.lisp: NX-FORM-TYPEP uses NX-TARGET-TYPE.
4303
43042006-09-05 09:13  gb
4305
4306        * compiler/PPC/PPC32/ppc32-backend.lisp: darwinppc32 backend uses
4307        32-bit chars, too.
4308
43092006-09-05 09:01  gb
4310
4311        * compiler/PPC/PPC32/: ppc32-arch.lisp, ppc32-backend.lisp: ppc32
4312        defaults to 32-bit chars.
4313
43142006-09-05 05:18  gb
4315
4316        * xdump/xfasload.lisp: Deal with 32-bit lisp strings.
4317
43182006-09-05 05:18  gb
4319
4320        * lisp-kernel/linuxppc/.gdbinit: Start to depend on calling
4321        print_lisp_object, since x/s doesn't deal with 32-bit lisp strings.
4322
43232006-09-05 05:17  gb
4324
4325        * lisp-kernel/ppc-gc.c: conditionalize purify_displaced_object()
4326        for char size.
4327
43282006-09-05 05:16  gb
4329
4330        * lisp-kernel/plsym.c: find_symbol(): don't assume 8-bir lisp
4331        strings.
4332
43332006-09-05 05:15  gb
4334
4335        * lisp-kernel/lisptypes.h: Try using "u8_t" and "u32_t" for
4336        lisp_char_code; this may be more portable.
4337
43382006-09-05 05:14  gb
4339
4340        * lib/sequences.lisp: SIMPLE-1D-ARRAY-SUBSEQ: handle new strings.
4341
43422006-09-05 05:13  gb
4343
4344        * level-1/linux-files.lisp: CALL-WITH-STRING-VECTOR: don't assume
4345        8-bit char/strings.
4346
43472006-09-05 05:13  gb
4348
4349        * level-1/l1-streams.lisp: Use heap-ivectors of element-type
4350        (UNSIGNED-BYTE 8) for character streams.  (Should really depend on
4351        the coding system in use.)
4352
43532006-09-05 05:09  gb
4354
4355        * level-1/l1-aprims.lisp: Various archaic string functions: don't
4356        assume 8-bit strings.
4357
43582006-09-05 05:08  gb
4359
4360        * level-0/l0-array.lisp: Handle 32-bit strings in %UVECTOR-REPLACE.
4361
43622006-09-05 05:07  gb
4363
4364        * compiler/PPC/PPC64/ppc64-arch.lisp: No "x" in simple-base-string,
4365        when #-target-8-bit-chars.
4366
43672006-09-05 05:06  gb
4368
4369        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
4370        REQUIRE-CHAR-CODE: comparison of OBJECT with TAG is not a CMPI.
4371
43722006-09-05 05:05  gb
4373
4374        * compiler/PPC/ppc2.lisp: PPC2-VREF: handle the 32-bit
4375        :SIMPLE-STRING case with constant index.
4376
43772006-09-04 17:44  gb
4378
4379        * lisp-kernel/lisptypes.h: Linux doesn't define uint8_t.  Try
4380        "unsigned char", and cross fingers.
4381
43822006-09-04 17:38  gb
4383
4384        * lisp-kernel/: lisptypes.h, ppc_print.c, x86_print.c: Define
4385        lisp_char_code type, use it when printing lisp string in the kernel
4386        debugger.
4387
43882006-09-04 17:28  gb
4389
4390        * level-1/version.lisp: Bump.
4391
43922006-09-04 17:18  gb
4393
4394        * level-0/PPC/ppc-array.lisp: Sigh.  Test for 8-bit-char case was
4395        conditionalized backwards in PPC64 %INIT-MISC.
4396
43972006-09-04 17:05  gb
4398
4399        * level-1/l1-init.lisp: Initial value of CHAR-CODE-LIMIT derived
4400        from the target arch (for bootstrapping.)
4401
44022006-09-04 17:04  gb
4403
4404        * level-1/l1-reader.lisp: Use (UNSIGNED-BYTE 8) for array element
4405        type of rdtab.ttab.
4406       
4407        Don't treat (code-char #xca) as whitespace; do treat (code-char
4408        #xa0) as whitespace.  (The former happens to be how the latter was
4409        encoded in MacRoman.)
4410       
4411        Handle U+<hex> syntax in NAME-CHAR.
4412
44132006-09-04 16:16  gb
4414
4415        * compiler/PPC/PPC64/ppc64-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
4416        and the char code with #xff to get the low byte.
4417
44182006-09-04 16:15  gb
4419
4420        * compiler/PPC/PPC32/ppc32-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
4421        and the char code with #xff or 255., not with #x255.  (Cause lots
4422        of wackiness, mostly in readtable initialization.)
4423
44242006-09-04 16:12  gb
4425
4426        * compiler/PPC/ppc2.lisp: Use u32->char (which is defined) vice
4427        u8->char (which is no more) in %CHAR-CODE.
4428
44292006-09-04 06:04  gb
4430
4431        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
4432        Gak.  Get guard/predicate syntax right in LOAD-CHARACTER-CONSTANT.
4433
44342006-09-04 06:03  gb
4435
4436        * level-0/PPC/ppc-array.lisp: New constants in ppc32 typecode range
4437        assertion.
4438
44392006-09-04 03:44  gb
4440
4441        * level-0/PPC/ppc-array.lisp: ppc32/ppc64 %init-misc tweaks.
4442
44432006-09-04 03:43  gb
4444
4445        * compiler/PPC/ppc-lapmacros.lisp: Typo in the (unused) 64-bit/no
4446        crf case of UNBOX-BASE-CHAR.
4447
44482006-09-04 02:30  gb
4449
4450        * level-1/l1-error-system.lisp: Object-not- (mod #x110000) type
4451        error.
4452
44532006-09-04 02:29  gb
4454
4455        * level-0/PPC/ppc-symbol.lisp: conditionalize %pname-hash for char
4456        size.
4457
44582006-09-04 02:26  gb
4459
4460        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s,
4461        ppc-constants64.h, ppc-constants64.s: Conditionalize for
4462        CHAR_SIZE_32.
4463
44642006-09-04 02:24  gb
4465
4466        * compiler/PPC/PPC32/ppc32-arch.lisp,
4467        compiler/PPC/PPC32/ppc32-vinsns.lisp,
4468        compiler/PPC/PPC64/ppc64-arch.lisp,
4469        compiler/PPC/PPC64/ppc64-vinsns.lisp, level-0/l0-array.lisp,
4470        level-0/l0-pred.lisp: Conditionalize for #-target-8-bit-chars.
4471
44722006-09-04 02:23  gb
4473
4474        * compiler/PPC/ppc2.lisp: Deal - sometimes conditionally - with
4475        32-bit characters.
4476
44772006-09-04 02:22  gb
4478
4479        * compiler/arch.lisp: ERROR-OBJECT-NOT-MOD-CHAR-CODE-LIMIT.
4480
44812006-09-03 16:03  gb
4482
4483        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
4484        conditionalize new string types.
4485
44862006-09-03 16:03  gb
4487
4488        * level-0/X86/x86-symbol.lisp: %pname-hash: conditionalize for
4489        string element size.
4490
44912006-09-03 16:02  gb
4492
4493        * compiler/X86/X8664/x8664-arch.lisp, level-0/l0-array.lisp,
4494        level-0/l0-pred.lisp: Sketch out new string types (read-time
4495        conditionalized.)
4496
44972006-09-03 15:02  gb
4498
4499        * level-0/l0-init.lisp: Put :target-8-bit-chars on *features*, for
4500        bootstrapping.
4501
45022006-09-03 14:20  gb
4503
4504        * level-1/l1-streams.lisp: More missing BASIC-STREAM methods.
4505
45062006-09-03 13:22  gb
4507
4508        * compiler/: X86/X8664/x8664-backend.lisp,
4509        PPC/PPC32/ppc32-backend.lisp, PPC/PPC64/ppc64-backend.lisp:
4510        :target-8-bit-chars on target features.
4511
45122006-09-03 13:21  gb
4513
4514        * level-0/l0-int.lisp: Some comments/indentation.
4515
45162006-09-03 13:01  gb
4517
4518        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Make
4519        CHAR-CODE-LIMIT an attribute of the target arch, for bootstrapping.
4520
45212006-09-02 11:24  gb
4522
4523        * level-1/x86-error-signal.lisp, lib/db-io.lisp: Fix typo.
4524
45252006-09-02 11:15  gb
4526
4527        * lisp-kernel/x86_print.c: hex/decimal integer printers: 3 is also
4528        a hex digit.
4529
45302006-09-02 11:11  gb
4531
4532        * lisp-kernel/x86-exceptions.c: Install a "bogus signal handler" on
4533        Darwin, to deal with apparent race conditions/Mach kernel lossage.
4534       
4535        Don't do the whole msg_server here; just do the exc_server thing.
4536       
4537        Fix a couple of Mach exception-handling bugs; at least one more may
4538        remain.
4539
45402006-09-02 11:07  gb
4541
4542        * lisp-kernel/x86-asmutils64.s: Use a hlt instruction to trap in
4543        pseudo_sigreturn.
4544       
4545        Still get spurious SIGTRAPs.
4546
45472006-09-02 11:06  gb
4548
4549        * lisp-kernel/thread_manager.c: Define some things in terms of
4550        USE_MACH_SEMAPHORES or USE_POSIX_SEMAPHORES.
4551       
4552        sem_wait_forever() does repeated timed waits, since I thought that
4553        Darwin was having trouble interrpting things that waited
4554        indefinitely.  (That might just be a GDB bug.  Who can tell ?)
4555
45562006-09-02 11:03  gb
4557
4558        * lisp-kernel/Threads.h: Define some things in terms of
4559        USE_MACH_SEMAPHORES or USE_POSIX_SEMAPHORES.  Note that as of Q3
4560        2006, Darwin still doesn't implement enough POSIX semaphore
4561        functionality to make it possible to avoid the use of Mach
4562        semaphores.
4563
45642006-09-02 11:01  gb
4565
4566        * lib/db-io.lisp:
4567        Try to avoid things like %COPY-IVECTOR-TO-IVECTOR when strings are
4568        involved.
4569
45702006-09-02 11:01  gb
4571
4572        * level-1/x86-threads-utils.lisp: Things that're %HEAP-IVECTOR-P
4573        aren't bogus objects.
4574
45752006-09-02 11:00  gb
4576
4577        * level-1/l1-streams.lisp: Try to avoid things like
4578        %COPY-IVECTOR-TO-IVECTOR when strings are involved.
4579
45802006-09-02 10:59  gb
4581
4582        * level-1/l1-events.lisp: AUTO-FLUSH-INTERACTIVE-STREAMS: use
4583        FORCE-OUTPUT.
4584
45852006-09-02 10:57  gb
4586
4587        * level-0/l0-misc.lisp: %COPY-U8-TO-STRING, %COPY-STRING-TO-U8:
4588        new, to avoid %COPY-IVECTOR-TO-IVECTOR when strings are involved.
4589       
4590        %STR-FROM-PTR: take dest string as optional arg, don't assume 8-bit
4591        chars.
4592       
4593        %GET-CSTRING: change type decl, use %GET-UNSIGNED-BYTE.
4594
45952006-09-02 10:55  gb
4596
4597        * level-0/l0-aprims.lisp: %CSTR-POINTER and %CSTR-SEGMENT-POINTER:
4598        don't assume 8-bit chars.
4599
46002006-08-28 17:35  gb
4601
4602        * lisp-kernel/ppc-spentry.s: Fix tag check in 32-bit
4603        misc_set_single_float_vector.
4604
46052006-08-28 17:01  gb
4606
4607        * xdump/faslenv.lisp: Bump max fasl version.
4608
46092006-08-28 16:48  gb
4610
4611        * lib/nfcomp.lisp: Use new string ops.  Bump current fasl version.
4612
46132006-08-28 16:33  gb
4614
4615        * xdump/faslenv.lisp: Bump (max) fasl version.
4616
46172006-08-28 16:30  gb
4618
4619        * xdump/xfasload.lisp: xloader was missing a few new ops.
4620
46212006-08-28 05:34  gb
4622
4623        * xdump/xfasload.lisp: New string stuff here, too.
4624
46252006-08-28 05:28  gb
4626
4627        * level-0/nfasload.lisp: New string stuff.
4628
46292006-08-28 04:57  gb
4630
4631        * level-1/l1-streams.lisp: More missing BASIC-STREAM methods
4632        (STREAM-LINE-COLUMN, STREAM-LISTEN, STREAM-EOFP.)
4633
46342006-08-28 04:57  gb
4635
4636        * level-1/l1-reader.lisp: Use READ-CHAR instead of
4637        STREAM-READ-CHAR, since it may be faster in some cases.
4638
46392006-08-28 04:56  gb
4640
4641        * level-1/l1-events.lisp: Unscramble auto-flush-streams stuff
4642        (don't assume ioblock-based stream.)
4643
46442006-08-28 04:55  gb
4645
4646        * level-1/l1-boot-2.lisp: Initial FD-STREAMs are BASIC-STREAMs.
4647
46482006-08-28 04:55  gb
4649
4650        * level-0/PPC/ppc-symbol.lisp: Change some REQUIRE forms; cosmetic.
4651         (Maybe not even cosmetic.)
4652
46532006-08-28 04:54  gb
4654
4655        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
4656        PPC64/ppc64-vinsns.lisp: %unbox-u8, u8-vref stuff.
4657
46582006-08-28 04:53  gb
4659
4660        * xdump/faslenv.lisp: New fasl ops for new string encodings.
4661
46622006-08-28 04:52  gb
4663
4664        * lib/macros.lisp: %CHAR-CODE: for how long has limit not been 2^16
4665        ?  For how long will limit be 2^8 ?
4666
46672006-08-28 04:51  gb
4668
4669        * level-0/nfasload.lisp: More fasl ops.
4670
46712006-08-28 04:51  gb
4672
4673        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: %UNBOX-U8,
4674        u8-vref stuff.
4675
46762006-08-28 04:50  gb
4677
4678        * compiler/arch.lisp: Add CHAR-CODE-LIMIT slot to TARGET-ARCH; may
4679        not be the best way to do this.
4680
46812006-08-26 13:58  gb
4682
4683        * release-notes.txt: Updated.
4684
46852006-08-26 13:50  gb
4686
4687        * release-notes.txt: Updated.
4688
46892006-08-26 13:50  gb
4690
4691        * darwin-x86-headers64/libc/.cvsignore: Added.
4692
46932006-08-26 03:17  gb
4694
4695        * level-1/version.lisp: Bump.  New snapshots soon, I hope.
4696
46972006-08-26 03:12  gb
4698
4699        * lisp-kernel/darwinx8664/Makefile: Pass -g in ASFLAGS; same
4700        problems as always, but avoids problems with Darwin x86-64 ld64
4701        segfaulting for unknown reasons.
4702
47032006-08-26 03:11  gb
4704
4705        * lisp-kernel/x86-exceptions.h: Need to do an explicit sigreturn on
4706        Darwin (because of the sigaltstack hacks; Darwin uses sigtramp glue
4707        that we can't just return to after switching off of the alt stack.)
4708
47092006-08-26 03:08  gb
4710
4711        * lib/numbers.lisp: Check fpu overflow bit (not underflow) when
4712        deciding whether or not to signal overflow.
4713
47142006-08-26 03:08  gb
4715
4716        * level-1/x86-trap-support.lisp: Need an indirection to access
4717        mcontext from ucontext on Darwin; invent xp-gp-regs to get at
4718        mcontext64.ss.
4719
47202006-08-26 03:06  gb
4721
4722        * level-1/x86-error-signal.lisp: Add a declaration, to make this
4723        easier to step through.
4724
47252006-08-26 03:05  gb
4726
4727        * level-0/l0-float.lisp: SINGLE-FLOAT-HALF-PI: use f0 not e0, just
4728        in case.
4729
47302006-08-25 20:35  gb
4731
4732        * level-1/l1-boot-lds.lisp, level-1/l1-events.lisp,
4733        lib/ccl-export-syms.lisp: Hyphenate ADD-AUTO-FLUSH-STREAM and
4734        REMOVE-AUTO-FLUSH-STREAM.
4735       
4736        Export them, too.
4737
47382006-08-25 20:22  gb
4739
4740        * lib/streams.lisp: READ-LINE on BASIC-INPUT-STREAM w/o
4741        STREAM-READ-LINE.
4742
47432006-08-25 20:22  gb
4744
4745        * lib/macros.lisp: HANDLER-CASE: the :NO-ERROR clause can appear at
4746        most once but doesn't have to be the last clause.
4747
47482006-08-25 20:21  gb
4749
4750        * level-1/l1-streams.lisp: BASIC-OUTPUT-STREAM isn't an
4751        INPUT-STREAM.
4752       
4753        Some STREAM-READ-LINE support for BASIC-CHARACTER-INPUT-STREAM.
4754
47552006-08-25 20:19  gb
4756
4757        * level-1/l1-readloop.lisp: PREPARE-TO-QUIT: other threads should
4758        be dead by the time that streams on *OPEN-FILE-STREAMS* are closed,
4759        so unlock those streams with extreme prejudice before closing them.
4760
47612006-08-25 20:18  gb
4762
4763        * level-1/l1-pathnames.lisp: FULL-PATHNAME: remove some weird old
4764        code that assumed that interfered with handling of relative logical
4765        pathnames.
4766
47672006-08-25 20:17  gb
4768
4769        * level-1/l1-events.lisp: Rename EVENT-POLL to
4770        AUTO-FLUSH-INTERACTIVE-STREAMS.
4771       
4772        Make AUTO-FLUSH-INTERACTIVE-STREAMS do conditional locking on each
4773        stream (doing nothing if it's not :SHARING :LOCK; unconditional
4774        locking on the *AUTO-FLUSH-STREAMS-LOCK*.
4775       
4776        ADD-AUTOFLUSH-STREAM ensures that the stream is :SHARING :LOCK.
4777       
4778        REMOVE-AUTOFLUSH-STREAM.
4779
47802006-08-25 20:13  gb
4781
4782        * level-1/l1-boot-lds.lisp: MAKE-MCL-LISTENER-STREAM uses
4783        ADD-AUTOFLUSH-STREAM, REMOVE-AUTOFLUSH-STREAM.
4784
47852006-08-23 22:59  gb
4786
4787        * lisp-kernel/x86-exceptions.c: Darwin needs to decode the mxcsr on
4788        SIGFPE.
4789       
4790        DARWIN_GS_HACK changes in altstack handlers for interrupt/suspend.
4791
47922006-08-23 22:58  gb
4793
4794        * lisp-kernel/x86-spentry64.s: x86-64 Darwin's math library is
4795        pretty casual about causing spurious exceptions, so ignore them.
4796
47972006-08-23 22:57  gb
4798
4799        * lisp-kernel/darwinx8664/.gdbinit: New file; like the linuxx8664
4800        version, with different signals to be ignored by gdb.
4801
48022006-08-23 22:56  gb
4803
4804        * lisp-kernel/x86-asmutils64.s: Using ud2b to force an exception in
4805        pseudo_sigreturn() seems to cause/be related to spurious SIGTRAPs.
4806        Use int $0 instead.
4807
48082006-08-23 22:55  gb
4809
4810        * level-1/x86-trap-support.lisp: First attempt at Darwinx8664
4811        support; may need more work.
4812
48132006-08-22 02:08  gb
4814
4815        * lisp-kernel/x86_print.c: Try not to use sprintf() (at least not
4816        for printing integers), since it seems to need access to pthread
4817        data (and calling print_lisp_object() from GDB might fail if %gs is
4818        pointing at the lisp TCR.)
4819
48202006-08-22 02:06  gb
4821
4822        * lisp-kernel/x86-spentry64.s: Unbox %arg_z (boxed entrypoint)
4823        earlier in _SPffcall, before entering foreign context.  (Need to
4824        check PPC version(s) as well.)
4825       
4826        Use DARWIN_GS_HACK to swap %gs memory around when transitioning
4827        between foreign code and lisp.
4828
48292006-08-22 02:04  gb
4830
4831        * lisp-kernel/x86-macros.s: Fix a typo.
4832
48332006-08-22 02:04  gb
4834
4835        * lisp-kernel/x86-exceptions.h: Define a few more things ...
4836
48372006-08-22 02:03  gb
4838
4839        * lisp-kernel/x86-exceptions.c: Lots of changes, especially to Mach
4840        exception handling code.
4841       
4842        Do the DARWIN_GS_HACK things to overload %gs.
4843
48442006-08-22 02:02  gb
4845
4846        * lisp-kernel/x86-asmutils64.s: atomic_and(), pseudo_sigreturn()
4847        for DarwinX8664.
4848
48492006-08-22 02:01  gb
4850
4851        * lisp-kernel/thread_manager.c: Some PPC64 conditionalizations
4852        should really have tested WORD_SIZE.
4853       
4854        DARWIN_GS_HACK stuff around suspend/resume signal handlers.  (May
4855        not be necessary.)
4856       
4857        Ensure that tcr.linear gets set on x86, even if not HAVE_TLS.
4858
48592006-08-22 01:59  gb
4860
4861        * lisp-kernel/pmcl-kernel.c: Don't really flush cache lines on
4862        x8664.
4863       
4864        Some PPC64 conditionalizations should really have tested WORD_SIZE.
4865
48662006-08-22 01:58  gb
4867
4868        * lisp-kernel/m4macros.m4: Define SYSCALL_SETS_CARRY_ON_ERROR for
4869        FreeBSDX664, DarwinX8664.
4870
48712006-08-22 01:57  gb
4872
4873        * lisp-kernel/darwinx8664/Makefile: Much smaller pagezero, much
4874        lower seg1addr.
4875       
4876        Something in the (m4-generated) symbolic info in some .s files is
4877        screwy and causes ld64 to segfault; it's currently necesssary to
4878        use "strip -S" on the assembler-generated .o files.
4879
48802006-08-22 01:55  gb
4881
4882        * scripts/openmcl64: Untested changes for Darwinx8664.
4883
48842006-08-22 01:54  gb
4885
4886        * xdump/xx8664-fasload.lisp: Fix typo in darwinx8664
4887        xload-backend-info (compiler target is :darwinx8664, not
4888        :linuxx8664).
4889
48902006-08-22 01:53  gb
4891
4892        * lib/nfcomp.lisp: Dump concatenated functions from xfunctions when
4893        cross-compiling to x86 from x86.
4894
48952006-08-22 01:52  gb
4896
4897        * lib/misc.lisp: MACHINE-VERSION:  conditionalize on :DARWIN-TARGET
4898        (not :DARWINPPC-TARGET).
4899
49002006-08-22 01:50  gb
4901
4902        * lib/foreign-types.lisp: :DARWIN-TARGET (not :DARWINPPC-TARGET).
4903
49042006-08-22 01:50  gb
4905
4906        * lib/compile-ccl.lisp: :DARWINX8664 stuff.
4907
49082006-08-22 01:49  gb
4909
4910        * level-1/version.lisp: Bump.
4911
49122006-08-22 01:49  gb
4913
4914        * level-1/l1-sysio.lisp: FILE-STREAM-EXTERNAL-FORMAT stuff for
4915        BASIC-STREAMs.
4916
49172006-08-22 01:48  gb
4918
4919        * level-1/: l1-sockets.lisp, linux-files.lisp: Conditionalize on
4920        DARWIN-TARGET, not DARWINPPC-TARGET.
4921
49222006-08-22 01:47  gb
4923
4924        * level-0/l0-init.lisp: DarwinX8664 *features*.
4925
49262006-08-22 01:47  gb
4927
4928        * level-0/l0-cfm-support.lisp: Some DARWINPPC-TARGET conditionals
4929        really want to be DARWIN-TARGET.
4930
49312006-08-22 01:46  gb
4932
4933        * compiler/X86/X8664/x8664-arch.lisp: YIELD-SYSCALL for
4934        DarwinX8664.
4935
49362006-08-22 01:45  gb
4937
4938        * compiler/X86/x862.lisp: Use CROSS-CREATE-X86-FUNCTION if not
4939        compiling natively.
4940       
4941        Fix X862-FIXUP-FWD-REFS if not native function on x86.
4942
49432006-08-22 01:44  gb
4944
4945        * compiler/X86/x86-lap.lisp: Ensure that CROSS-CREATE-X86-FUNCTION
4946        is defined, even on x86.  Use it if not compiling natively on x86.
4947
49482006-08-20 23:59  gb
4949
4950        * lisp-kernel/darwinx8664/Makefile: Define DARWIN_GS_HACK.
4951
49522006-08-20 23:58  gb
4953
4954        * lisp-kernel/x86-exceptions.c: Still needs lots of work.
4955
49562006-08-20 23:58  gb
4957
4958        * lisp-kernel/x86-exceptions.h: Include Mach stuff on Darwin;
4959        prototypes for DARWIN_GS_HACK %gs segment switching.
4960
49612006-08-20 23:57  gb
4962
4963        * lisp-kernel/x86-subprims64.s: Manipulate the %gs register when a
4964        lisp thread starts, exits and DARWIN_GS_HACK is defined.
4965       
4966        This isn't so bad, but doing it around every ff-call might be.
4967
49682006-08-20 23:56  gb
4969
4970        * lisp-kernel/x86-macros.s: DARWIN_GS_HACK macros.
4971
49722006-08-20 23:53  gb
4973
4974        * lisp-kernel/thread_manager.c: Note the need for DARWIN_GS_HACK.
4975
49762006-08-20 23:51  gb
4977
4978        * lisp-kernel/x86-asmutils64.s: DARWIN_GS_HACK hacks.
4979
49802006-08-20 23:51  gb
4981
4982        * lisp-kernel/m4macros.m4: Hope that the need for DARWIN_GS_HACK is
4983        also temporary.
4984
49852006-08-20 23:50  gb
4986
4987        * lisp-kernel/lisptypes.h: Hope that the workaround for missing
4988        mcontext64 in x8664 Darwin is temporary.
4989
49902006-08-20 20:35  gb
4991
4992        * library/darwinx664-syscalls.lisp: typo
4993
49942006-08-20 20:35  gb
4995
4996        * library/darwinx8664-syscalls.lisp: spell name right
4997
49982006-08-20 17:10  gb
4999
5000        * xdump/xx8664-fasload.lisp: :darwinx8664 stuff.
5001
50022006-08-20 17:10  gb
5003
5004        * lib/db-io.lisp: :struct-by-value: don't read-time conditionalize
5005        (do other things still use read-time conditionals ?)
5006
50072006-08-20 17:09  gb
5008
5009        * compiler/X86/X8664/x8664-backend.lisp: Darwinx8664: overload %gs,
5010        setup syscall mask.
5011
50122006-08-20 17:08  gb
5013
5014        * compiler/nx1.lisp: Handle syscall, ff-call for :darwinx8664 as
5015        well.
5016
50172006-08-20 17:06  gb
5018
5019        * library/darwinx664-syscalls.lisp: New file; or's in the bit for
5020        Unix syscalls on Darwinx8664.  (Screw: should (carefully) review
5021        word-size issues.)
5022
50232006-08-20 17:03  gb
5024
5025        * library/darwinppc-syscalls.lisp: Mask for PPC.
5026
50272006-08-20 17:02  gb
5028
5029        * level-0/l0-io.lisp, level-1/l1-sockets.lisp,
5030        level-1/linux-files.lisp: Syscall conditionalization.
5031
50322006-08-20 17:01  gb
5033
5034        * level-1/l1-streams.lisp: Syscall conditionalization.
5035       
5036        SELECTION-INPUT-STREAM created with :sharing :lock.
5037
50382006-08-20 17:00  gb
5039
5040        * examples/objc-runtime.lisp: Fencepost in
5041        POINTER-IN-CFSTRING-SECTION-P.
5042
50432006-08-20 16:16  gb
5044
5045        * library/: darwinppc-syscalls.lisp, darwin-syscalls.lisp: rename
5046
50472006-08-18 09:50  gb
5048
5049        * lisp-kernel/thread_manager.c: Enable FP underflow detection on
5050        x8664.  Should do this on PPC as well, and should probably offer
5051        some backward-compatible behavior for reader.
5052
50532006-08-18 09:47  gb
5054
5055        * compiler/X86/X8664/x8664-backend.lisp: Dress up the Darwin x86-64
5056        backend a little.
5057       
5058        Explicily define lisp-context-register slot in each backend (%gs
5059        for those imolementations that follow the standard ABI, %fs for
5060        Darwin.)
5061
50622006-08-18 09:44  gb
5063
5064        * compiler/X86/X8664/x8664-vinsns.lisp: Use :rcontext when
5065        necessary.
5066
50672006-08-18 09:43  gb
5068
5069        * compiler/X86/: x86-backend.lisp, x86-lap.lisp: Recognize
5070        :rcontext as a reference to the backend's LISP-CONTEXT-REGISTER
5071        slot.
5072
50732006-08-18 09:42  gb
5074
5075        * compiler/backend.lisp: Backend now has a lisp-context-register
5076        slot.
5077
50782006-08-18 09:42  gb
5079
5080        * compiler/X86/X8664/x8664-arch.lisp: No more (constant) rcontext.
5081
50822006-08-18 09:40  gb
5083
5084        * level-0/X86/: x86-def.lisp, x86-float.lisp, x86-io.lisp,
5085        x86-misc.lisp, x86-symbol.lisp, x86-utils.lisp: Refer to rcontext
5086        segment register as :rcontext, since x86-64 Darwin doesn't laugh
5087        and play like the other children.
5088
50892006-08-18 09:29  gb
5090
5091        * lisp-kernel/x86-exceptions.c: Copy some of the Mach exception
5092        code from the PPC version and tweak it a little; needs more work.
5093
50942006-08-18 09:27  gb
5095
5096        * lisp-kernel/x86-exceptions.h: Provide some interim Darwin
5097        conditionalization.
5098
50992006-08-18 09:25  gb
5100
5101        * lisp-kernel/m4macros.m4: Spell FREEBSD correctly.
5102       
5103        Generate an equate for HAVE_TLS.
5104
51052006-08-18 09:23  gb
5106
5107        * lisp-kernel/x86-gc.c: Changes in purify_xp().
5108
51092006-08-18 09:19  gb
5110
5111        * lisp-kernel/x86-spentry64.s: Darwin x86-64 assembler doesn't like
5112        absolute jumps, prefers slower ones.
5113       
5114        Move lock prefixes to their own lines, to satisfy you-know-who.
5115       
5116        If we don't have thread-local-storage (TLS), it's hard to avoid the
5117        get_tcr() call on each calback.
5118
51192006-08-18 09:13  gb
5120
5121        * lisp-kernel/: freebsdx8664/Makefile, linuxx8664/Makefile: Tell m4
5122        that we HAVE_TLS.
5123
51242006-08-17 10:41  phil
5125
5126        * examples/FFI/:
5127        Allocating-foreign-data-on-the-lisp-heap/ptrtest-compile.sh,
5128        Allocating-foreign-data-on-the-lisp-heap/ptrtest.c,
5129        Allocating-foreign-data-on-the-lisp-heap/ptrtest.lisp,
5130        Using-basic-calls-and-types/Readme.rtf,
5131        Using-basic-calls-and-types/typetest-compile.sh,
5132        Using-basic-calls-and-types/typetest.c,
5133        Using-basic-calls-and-types/typetest.lisp: Initial version
5134
51352006-08-17 10:40  phil
5136
5137        * examples/FFI/Allocating-foreign-data-on-the-lisp-heap/Readme.rtf:
5138        [no log message]
5139
51402006-08-08 13:07  gb
5141
5142        * lisp-kernel/darwinx8664/Makefile: New file.
5143
51442006-08-08 13:07  gb
5145
5146        * lisp-kernel/x86-exceptions.h: xp accessors for Darwinx8664.
5147
51482006-08-08 13:06  gb
5149
5150        * lisp-kernel/x86-constants64.h: REG_* constants for Darwin.
5151
51522006-08-08 13:05  gb
5153
5154        * lisp-kernel/x86-asmutils64.s: Darwin assembler doesn't like lock
5155        instructions on the same line as the locked instruction.  (Maybe
5156        there's a better way to do this, than just pretending that lock is
5157        a standalone instruction, but that lock instruction does seem to be
5158        treated as a prefix.)
5159
51602006-08-08 13:03  gb
5161
5162        * lisp-kernel/pmcl-kernel.c: Treat X8664 like PPC64 (e.g., use
5163        dlfcn) on Darwin.
5164
51652006-08-08 13:02  gb
5166
5167        * lisp-kernel/lisptypes.h: xcode 2.4 headers: <i386/ucontext.h>
5168        doesn't define mcontext64, but lots of other things reference it.
5169        #define it here for now, but that'll likely break when the headers
5170        are fixed.
5171
51722006-08-08 12:58  gb
5173
5174        * lisp-kernel/lisp-debug.c: Define Iregnames for darwinx8664.
5175
51762006-08-08 12:58  gb
5177
5178        * lisp-kernel/area.h: Define an IMAGE_BASE_ADDRESS for
5179        x8664/Darwin.
5180
51812006-07-29 08:41  gb
5182
5183        * level-1/l1-streams.lisp: STREAM-WRITE-BYTE, STREAM-WRITE-IVECTOR.
5184         :BASIC defaults to T in OPEN; BASIC-FILE-STREAM probably still
5185        needs READ/WRITE- SEQUENCE support.
5186
51872006-07-29 07:39  gb
5188
5189        * level-1/l1-aprims.lisp: ALLOCATE-RESOURCE, FREE-RESOURCE: use
5190        lock.  TODO: evaluate whether resources are worthwhile;  used for
5191        string-output-stream allocation and DELETE-DUPLICATES.
5192
51932006-07-29 06:27  gb
5194
5195        * library/lispequ.lisp: Resources aren't thread-private, need
5196        locks.
5197
51982006-07-29 06:26  gb
5199
5200        * level-1/l1-sysio.lisp: MAKE-FILE-STREAM: support for
5201        BASIC-STREAMs.
5202
52032006-07-29 06:26  gb
5204
5205        * level-1/l1-streams.lisp: OPEN handles BASIC-STREAMs; not yet the
5206        default.
5207
52082006-07-29 06:25  gb
5209
5210        * level-1/l1-reader.lisp: *PARSE-STRING-RESOURCE* probably hasn't
5211        been used in 10 or 12 years.
5212
52132006-07-29 03:40  gb
5214
5215        * level-1/l1-sysio.lisp: Most BASIC-FILE-STREAM stuff.
5216
52172006-07-29 03:40  gb
5218
5219        * library/lispequ.lisp: BASIC-FILE-STREAM.EXTERNAL-FORMAT, at least
5220        for now.
5221
52222006-07-29 03:39  gb
5223
5224        * level-1/l1-streams.lisp: BASIC-IO-STREAM; ALLOCATE-BASIC-STREAM
5225        makes one more slot in BASIC-FILE-STREAM.
5226
52272006-07-28 04:17  gb
5228
5229        * level-1/version.lisp: Bump.
5230
52312006-07-28 04:15  gb
5232
5233        * level-1/l1-streams.lisp: A couple of more (soon-to-be-used) slots
5234        in IOBLOCK.
5235
52362006-07-28 01:17  gb
5237
5238        * level-1/l1-streams.lisp: Lots of changes; lots more to go.
5239
52402006-07-28 01:16  gb
5241
5242        * level-1/l1-sockets.lisp: Pass :CHARACTER-P T to MAKE-FD-STREAM.
5243
52442006-07-28 00:58  gb
5245
5246        * examples/cocoa-listener.lisp: Want :SHARING :LOCK on listener
5247        output.
5248       
5249        (SLIME probably faces the same issue; should probably do something
5250        in the auto-flush case.  Of course, it's hard to know just what to
5251        do in that case. or at least what to do safely in that case.)
5252
52532006-07-28 00:49  gb
5254
5255        * level-1/l1-sysio.lisp: Define SELECT-STREAM-CLASS on
5256        FUNDAMENTAL-FILE-STREAM.
5257
52582006-07-28 00:49  gb
5259
5260        * lib/streams.lisp: READ-BYTE for BASIC-STREAMs.
5261
52622006-07-28 00:48  gb
5263
5264        * library/lispequ.lisp: Need an explicit
5265        BASIC-STREAM-FLAG.OPEN-CHARACTER bit, due to bivalence.
5266
52672006-07-28 00:47  gb
5268
5269        * lib/macros.lisp: BASIC-STREAM-IOBLOCK.
5270
52712006-07-25 03:48  gb
5272
5273        * compiler/optimizers.lisp: Compiler-macro for BASIC-STREAM-P.
5274
52752006-07-24 04:55  gb
5276
5277        * lib/streams.lisp: READ-CHAR bypasses STREAM-READ-CHAR for
5278        BASIC-STREAMs.
5279
52802006-07-24 04:55  gb
5281
5282        * level-1/l1-streams.lisp: Some BASIC-STREAM stuff starts to
5283        appear.
5284
52852006-07-24 04:51  gb
5286
5287        * library/lispequ.lisp: Add a plist to basic-/basic-file-stream.
5288
52892006-07-24 02:43  gb
5290
5291        * level-1/l1-sysio.lisp: FILE-STREAM is now abstract (and some
5292        sublasses may get that way); FUNDAMENTAL-FILE-STREAM is an
5293        implementation of it (and BASIC-FILE-STREAM soon will be.)
5294
52952006-07-23 03:05  gb
5296
5297        * level-1/l1-clos-boot.lisp: *class-table* entry for BASIC-STREAM.
5298
52992006-07-23 03:03  gb
5300
5301        * level-1/l1-streams.lisp: STREAM-IOBLOCK now takes 2 required args
5302        and is inlined.
5303       
5304        Some bug fixes; STREAM class no longer has slots.
5305       
5306        IOBLOCK-READ-CHAR-FUNCTION used by READ-CHAR.  %ioblock-read-byte
5307        variants; fix read-byte botch (should vector according to
5308        element-type.)
5309
53102006-07-23 02:54  gb
5311
5312        * level-1/: linux-files.lisp, l1-sysio.lisp, l1-sockets.lisp:
5313        STREAM-IOBLOCK now takes 2 required args.
5314
53152006-07-23 02:54  gb
5316
5317        * level-1/version.lisp: Bump.
5318
53192006-07-23 02:53  gb
5320
5321        * library/lispequ.lisp: Start to define what a BASIC-STREAM looks
5322        like.
5323
53242006-07-23 02:53  gb
5325
5326        * lib/macros.lisp: Move stream-ioblock access/locking macros here.
5327       
5328        Likewise WITH-EAGAIN.
5329
53302006-07-23 01:12  gb
5331
5332        * level-1/: l1-sysio.lisp, l1-streams.lisp, l1-boot-2.lisp,
5333        l1-sockets.lisp: Fix a few botches.
5334       
5335        :private arg to stream creation primitives replaced with :sharing,
5336        which can have values:
5337       
5338         :private (the default; stream can only be accessed by the creating
5339        thread)
5340         :lock  (the old, often slow, default); most accesses to stream
5341        involve locking
5342         :nil or :external (stream code doesn't enforce exclusion).
5343
53442006-07-22 23:57  gb
5345
5346        * level-1/l1-streams.lisp: Bootstrapping stuff.
5347       
5348        Move along, nothing to see here.
5349
53502006-07-20 03:43  gb
5351
5352        * level-1/: l1-boot-2.lisp, l1-sockets.lisp, l1-streams.lisp,
5353        l1-sysio.lisp: First (rough) cut at making streams "private"
5354        (effectively always locked by the "owning" thread) to reduce some
5355        locking overhead.  More to come, some of which will be a little
5356        tricky to bootstrap.
5357
53582006-07-20 01:09  gb
5359
5360        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s,
5361        ppc-constants64.h, ppc-constants64.s, x86-constants64.h,
5362        x86-constants64.s: subtag_lisp_thread -> subtag_basic_stream.
5363
53642006-07-20 01:09  gb
5365
5366        * library/lispequ.lisp: new (istruct-based) LISP-THREAD accessors.
5367
53682006-07-20 01:08  gb
5369
5370        * level-1/version.lisp: Bump.
5371
53722006-07-20 01:07  gb
5373
5374        * level-1/l1-streams.lisp: Introduce "owner" slot in basic ioblock.
5375         A little tricky to bootstrap.
5376
53772006-07-20 01:05  gb
5378
5379        * level-0/l0-misc.lisp, level-1/l1-processes.lisp,
5380        level-1/l1-clos-boot.lisp, level-1/l1-lisp-threads.lisp: Use new
5381        (istruct-based) lisp-thread accessors.
5382
53832006-07-20 01:02  gb
5384
5385        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
5386        X86/X8664/x8664-arch.lisp: Get rid of the lisp-thread subtag
5387        (lisp-thread's are ISTRUCTs now); re-use it for (to-be-introduced)
5388        BASIC-STREAM.
5389
53902006-07-15 15:02  gb
5391
5392        * level-1/l1-error-system.lisp: Insert some fresh lines in the
5393        IMPOSSIBLE-NUMBER condition :REPORT method.
5394
53952006-07-15 15:00  gb
5396
5397        * compiler/X86/x862.lisp: x862-%aref1,x862-%aset1: don't try to do
5398        simple vector operations unless we're sure that the vector is a
5399        (SIMPLE-ARRAY * (*)) and we know the element-type (these were
5400        leaping into the simple-typed-vector case when the element-type was
5401        known but the vector wasn't known to be SIMPLE.
5402
54032006-07-14 05:57  gb
5404
5405        * compiler/nx0.lisp: NX-FORM-TYPEP: unqoute constants.
5406
54072006-07-13 16:01  gb
5408
5409        * level-1/l1-typesys.lisp: SPECIALIZED-ARRAY-ELEMENT-TYPES needs to
5410        know about FIXNUM arrays.
5411
54122006-07-11 14:23  gb
5413
5414        * compiler/X86/x862.lisp: Destination and 1st source arg overlap
5415        (2-address instructions) in natural logical, arithmetic operations.
5416
54172006-07-05 02:38  gb
5418
5419        * release-notes.txt: Update.
5420
54212006-07-05 02:22  gb
5422
5423        * level-0/l0-init.lisp: Reluctantly put :MCL back on *features*;
5424        its removal needs to be better publicized.
5425
54262006-07-04 22:24  gb
5427
5428        * level-1/linux-files.lisp: Use NATIVE-TRANSLATED-NAMESTRING on the
5429        PROGRAM arg to RUN-PROGRAM.
5430
54312006-07-04 22:23  gb
5432
5433        * level-1/version.lisp: Bump.
5434
54352006-06-29 02:11  gb
5436
5437        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump
5438        image-abi-version.
5439
54402006-06-28 05:24  gb
5441
5442        * level-0/l0-cfm-support.lisp: *rtld-default* wants to be a null
5443        pointer on DarwinPPC32 (at the very least, that platform's
5444        xFindSymbol gets confused by anything but a null pointer/global
5445        lookup.)
5446
54472006-06-28 05:09  gb
5448
5449        * level-1/version.lisp: Bump.  Call the FreeBSD/AMD64 version
5450        "Alpha", which may be a bit generous (pretty regular deadlock,
5451        random thread creation errors, other bugs.)
5452
54532006-06-28 05:07  gb
5454
5455        * lisp-kernel/freebsdx8664/.gdbinit: new; awfully similar to linux
5456        x86-64 version.
5457
54582006-06-28 04:04  gb
5459
5460        * lisp-kernel/x86-exceptions.c: FreeBSD doesn't do a good job of
5461        identifying the cause of XMM FP exceptions.  Try to do that by
5462        looking at MXCSR bits.
5463
54642006-06-28 04:03  gb
5465
5466        * lisp-kernel/x86-spentry64.s: FreeBSD syscalls set carry flag to
5467        indicate error return.
5468
54692006-06-28 04:03  gb
5470
5471        * level-1/: l1-sockets.lisp, linux-files.lisp,
5472        x86-trap-support.lisp: Some FreeBSD changes/fixes.
5473
54742006-06-28 04:02  gb
5475
5476        * level-0/l0-cfm-support.lisp: Remove a #+freebsd-target
5477        breakpoint.
5478
54792006-06-27 18:08  gb
5480
5481        * level-0/l0-cfm-support.lisp: fix (?) nested #+/#-.  Maybe.
5482
54832006-06-27 17:30  gb
5484
5485        * lisp-kernel/x86-exceptions.h: Fix Linux def of IS_MAYBE_INT_TRAP.
5486
54872006-06-27 17:27  gb
5488
5489        * lisp-kernel/pmcl-kernel.c: (possibly) make get_r_debug more
5490        portable; possibly break it completely ...
5491
54922006-06-27 08:55  gb
5493
5494        * lisp-kernel/x86-exceptions.c: map the altstack
5495        read/write/execute.
5496
54972006-06-27 08:54  gb
5498
5499        * lisp-kernel/thread_manager.c: Fix os_get_stack_bounds() for
5500        FreeBSD.
5501
55022006-06-27 08:54  gb
5503
5504        * lisp-kernel/Threads.h: FreeBSD needs prototypes from
5505        <pthread_np.h>
5506
55072006-06-27 08:53  gb
5508
5509        * lib/compile-ccl.lisp: New (renamed) kernel-build-direcory for
5510        :freebsdx8664.
5511
55122006-06-27 08:53  gb
5513
5514        * level-1/x86-trap-support.lisp: freebsd x8664 GPR indices.  (Needs
5515        testing.)
5516       
5517        Don't conditionalize as much code. Indices/offsets are
5518        platform-specific, but accessors defiend in terms of them needn't
5519        be.
5520
55212006-06-27 08:51  gb
5522
5523        * level-1/x86-callback-support.lisp: Remove 1st line (bogus
5524        comment.)
5525
55262006-06-27 08:50  gb
5527
5528        * level-0/l0-init.lisp: More freebsd x8664 features.
5529
55302006-06-27 08:50  gb
5531
5532        * scripts/openmcl64: Update for FreeBSD/amd64.
5533
55342006-06-27 08:47  gb
5535
5536        * compiler/X86/X8664/x8664-backend.lisp: FreeBSD backend has
5537        :freebsdx8664-target as a target-specific-feature.
5538
55392006-06-27 05:05  gb
5540
5541        * lisp-kernel/: freebsdx8664/Makefile, freebsd8664/Makefile,
5542        freebsd8664/elf_x86_64.x: directory rename
5543
55442006-06-27 04:59  gb
5545
5546        * xdump/xx8664-fasload.lisp: FreeBSD xload-backend.
5547
55482006-06-27 04:47  gb
5549
5550        * lisp-kernel/x86-exceptions.h: Some macros for FreeBSD changes.
5551
55522006-06-27 04:46  gb
5553
5554        * lisp-kernel/x86-exceptions.c: FreeBSD changes (at least enough to
5555        recognize UUOs, which generate SIGBUS vice SIGSEGV.)
5556
55572006-06-27 04:45  gb
5558
5559        * lisp-kernel/x86-asmutils64.s: Define freebsd_sigreturn.
5560       
5561        TODO (maybe): copy the sigtramp code when evacuating the altstack.
5562
55632006-06-27 04:44  gb
5564
5565        * lisp-kernel/thread_manager.c: FreeBSD sigreturn from
5566        suspend_resume_handler.
5567
55682006-06-27 04:44  gb
5569
5570        * lisp-kernel/pmcl-kernel.c: Some FreeBSD conditionalization;
5571        get_r_debug() for ELF platforms.  (Needs testing under Linux.)
5572
55732006-06-27 04:43  gb
5574
5575        * lisp-kernel/imports.s: Don't import metering-control; do import
5576        get_r_debug().
5577
55782006-06-27 04:42  gb
5579
5580        * library/x8664-freebsd-syscalls.lisp: New file.  Should check
5581        word-size stuff (here and in other versions.)
5582
55832006-06-27 04:42  gb
5584
5585        * lib/misc.lisp: Find MACHINE-VERSION string via #_sysctl on
5586        FreeBSD.
5587
55882006-06-27 04:39  gb
5589
5590        * lib/foreign-types.lisp: Signed char nonsense (should use target
5591        ftd, not reader macros here.)
5592
55932006-06-27 04:38  gb
5594
5595        * lib/compile-ccl.lisp: Some FreeBSD support.
5596
55972006-06-27 04:36  gb
5598
5599        * level-1/: l1-sockets.lisp, l1-streams.lisp, linux-files.lisp:
5600        Some FreeBSD changes/conditionalization. Maybe not enough.
5601
56022006-06-27 04:35  gb
5603
5604        * level-1/l1-boot-1.lisp: Recognize FREEBSD platform-os-name.
5605
56062006-06-27 04:34  gb
5607
5608        * level-0/X86/: .cvsignore, X8664/.cvsignore: Ignore *fsl.
5609
56102006-06-27 04:34  gb
5611
5612        * level-0/l0-io.lisp: FreeBSD syscalls.
5613
56142006-06-27 04:33  gb
5615
5616        * level-0/l0-init.lisp: Some FreeBSD features.
5617
56182006-06-27 04:33  gb
5619
5620        * level-0/l0-cfm-support.lisp: Lots of FreeBSD conditionalization,
5621        changes.
5622       
5623        MAY HAVE BROKEN LINUX PORTS; need to recompile on those platforms
5624        and test.
5625       
5626        Now depends on an imported lisp-kernel function on ELF platforms
5627        (Linux/FreeBSD), and therefore depends on recent kernel changes.
5628
56292006-06-27 04:30  gb
5630
5631        * level-0/.cvsignore: Ignore *fsl.
5632
56332006-06-27 04:29  gb
5634
5635        * compiler/X86/X8664/x8664-backend.lisp: Fix platform-syscall-mask
5636        in freebsd backend.
5637
56382006-06-27 04:27  gb
5639
5640        * compiler/X86/X8664/x8664-arch.lisp: Don't import
5641        metering-control; do import get-r-debug (for Elf shared libraries.)
5642       
5643        A yield-syscall constant for FreeBSD. (This is all a bad idea ...)
5644
56452006-06-27 04:26  gb
5646
5647        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp:
5648        Don't import metering-control; do import get-r-debug (for Elf
5649        shared libraries.)
5650
56512006-06-27 04:26  gb
5652
5653        * compiler/nx1.lisp: Use the non-eabi syscall on freebsd as well.
5654
56552006-06-26 16:38  gb
5656
5657        * compiler/X86/X8664/x8664-vinsns.lisp:
5658        SET-BIGITS-AND-HEADER-FOR-FIXNUM-OVERFLOW: need to change the
5659        (wrong) sign of the top 3 (fixnumshift) bits only.  Where did the
5660        constant #xffff000000000000 come from ?
5661
56622006-06-26 16:35  gb
5663
5664        * compiler/X86/x862.lisp: Fix some indentation.
5665
56662006-06-25 20:32  gb
5667
5668        * compiler/X86/X8664/x8664-backend.lisp: FreeBSD x8664 backend;
5669        change initialiation of x8664 foreign-type stuff.
5670
56712006-06-25 20:31  gb
5672
5673        * compiler/backend.lisp: PLATFORM-OS-FREEBSD.
5674
56752006-06-23 19:52  gb
5676
5677        * darwin-headers/: gl/C/.cvsignore, libc/C/.cvsignore,
5678        quicktime/C/.cvsignore: Ignore Developer subdirectory.  c
5679
56802006-06-23 19:28  gb
5681
5682        * release-notes.txt: Update some.
5683
56842006-06-23 19:11  gb
5685
5686        * examples/gtk2-clock.lisp: New file.
5687
56882006-06-23 18:56  gb
5689
5690        * level-1/version.lisp: Bump.
5691
56922006-06-23 18:52  gb
5693
5694        * lib/ccl-export-syms.lisp: Export DEFLOADVAR.
5695
56962006-06-22 13:39  gb
5697
5698        * x86-headers64/gnome2/C/.cvsignore: new
5699
57002006-06-22 13:36  gb
5701
5702        * x86-headers64/: gl/C/.cvsignore, gnome2/C/populate.sh: new
5703
57042006-06-22 13:33  gb
5705
5706        * x86-headers64/: gl/.cvsignore, gl/C/populate.sh,
5707        gnome2/.cvsignore: new
5708
57092006-06-22 13:30  gb
5710
5711        * examples/opengl-ffi.lisp: #+linuxppc-target -> #+linux-target.
5712
57132006-06-22 13:28  gb
5714
5715        * level-1/version.lisp: Bump.
5716
57172006-06-21 15:15  gb
5718
5719        * lisp-kernel/: ppc-constants64.h, ppc-constants64.s,
5720        ppc-spentry.s: Define new string subtags; handle them in ppc64
5721        misc_ref/misc_set.
5722
57232006-06-21 15:14  gb
5724
5725        * level-0/PPC/ppc-array.lisp: Fix %INIT-MISC (both ppc2 and ppc64
5726        versions) to handle FIXNUM vectors, new UCS4 strings.
5727
57282006-06-21 15:14  gb
5729
5730        * level-0/l0-array.lisp: Fix %INIT-MISC (bot ppc2 and ppc64
5731        versions) to handle FIXNUM vectors, new UCS4 strings.
5732
57332006-06-21 15:12  gb
5734
5735        * darwin-headers/: carbon/C/populate.sh, cocoa/C/populate.sh,
5736        gl/C/populate.sh, libc/C/populate.sh, quicktime/C/populate.sh,
5737        webkit/C/populate.sh: Use 10.4u headers from XCode SDK.
5738
57392006-06-21 15:11  gb
5740
5741        * compiler/PPC/PPC64/ppc64-arch.lisp: Add SUBTAG-NEW-STRING.
5742
57432006-06-21 15:11  gb
5744
5745        * compiler/PPC/PPC32/ppc32-arch.lisp: MAX-32-BIT-IVECTOR-SUBTAG
5746        wasn't updated with the introduction of fixnum vectors, (unused)
5747        UCS4 "new"strings.
5748
57492006-06-16 03:50  gb
5750
5751        * examples/objc-support.lisp: Re-compute static NSString info after
5752        opening an extension framework.
5753
57542006-06-16 03:45  gb
5755
5756        * examples/webkit.lisp: Use new functions for augmenting
5757        interfaces, loading framework.
5758
57592006-06-16 03:43  gb
5760
5761        * examples/objc-runtime.lisp: Juggle things around so that add-on
5762        framework bundles get loaded on appication re-launch.
5763       
5764        REVIVE-OBJC-CLASSES tells MAP-OBJC-CLASSES not to hit the database,
5765        since (a) it may not be there, or may not be where we can find it
5766        yet and (b) it's probably more reasonable to do that than it would
5767        be to teach CLOS about classes that're "discovered" when the
5768        appication's launched on a newer OS release than it was saved on.
5769
57702006-06-16 03:39  gb
5771
5772        * examples/cocoa-application.lisp: Touch tha application bundle
5773        before saving an image into it.  That -may- convincve
5774        LaunchServices to do the right thing.
5775
57762006-06-16 03:38  gb
5777
5778        * examples/objc-support.lisp: Reload any addon/framework bundles
5779        that had been loaded before the image was saved when starting a
5780        bundled application.
5781       
5782        Juggle things around, so that that works (need to be able to use
5783        low-level bridge features early.)
5784
57852006-06-16 03:36  gb
5786
5787        * lib/db-io.lisp: Disable the #? reader macro.
5788
57892006-06-14 15:42  gb
5790
5791        * level-0/: PPC/ppc-def.lisp, X86/x86-def.lisp: Fix #+APPLY+
5792        lfun-bits.
5793
57942006-06-12 20:24  gb
5795
5796        * lib/ppc-backtrace.lisp: PPC version of
5797        %find-register-argument-value had the same sort of fencepost as the
5798        x86-64 version had a few days ago.
5799
58002006-06-10 23:52  gb
5801
5802        * lib/arglist.lisp: %ARGLIST-INTERNAL: if generic-function, return
5803        its GENERIC-FUNCTION-LAMBDA-LIST.
5804
58052006-06-10 23:51  gb
5806
5807        * level-1/l1-clos.lisp: Give reader/writer method args more
5808        descriptive names. (Barely more descriptive ...)
5809
58102006-06-10 19:25  gb
5811
5812        * level-1/l1-clos-boot.lisp: Arrgh.  In
5813        %MAYBE-STD-SETF-SLOT-VALUE-USING-CLASS, we know nothing about the
5814        type of the instance, so don't use INSTANCE.SLOTS (instead, let
5815        INSTANCE-SLOTS do a TYPECASE; it's inlined at this point.)
5816       
5817        This was keeping non-standard instances - like ObjC classes and
5818        metaclasses - from having some of their slots initialized
5819        correctly.
5820
58212006-06-10 19:22  gb
5822
5823        * examples/objc-clos.lisp: PRINT-OBJECT methods for objc-class,
5824        objc-metaclass: don't die if the class is unnamed (makes it easier
5825        to print classes for debugging during initialization.)
5826
58272006-06-10 13:05  gb
5828
5829        * level-1/ppc-trap-support.lisp: Fix LinuxPPC64 versions of
5830        XP-FPSCR-INFO and XP-DOUBLE-FLOAT.
5831
58322006-06-08 05:01  gb
5833
5834        * release-notes.txt: Update a bit.
5835
58362006-06-08 03:56  gb
5837
5838        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump
5839        image-abi-version.
5840
58412006-06-08 03:46  gb
5842
5843        * xdump/faslenv.lisp: Bump (min) fasl version.
5844
58452006-06-08 03:35  gb
5846
5847        * lib/nfcomp.lisp: Bump (current) fasl-version.
5848
58492006-06-08 03:28  gb
5850
5851        * lisp-kernel/linuxx8664/Makefile: -O2.
5852
58532006-06-08 03:26  gb
5854
5855        * xdump/faslenv.lisp: Bump (max) fasl version.
5856
58572006-06-08 03:18  gb
5858
5859        * level-1/version.lisp: Bump; give x86-64 port the benefit of the
5860        doubt and claim that it's a beta.
5861
58622006-06-08 03:18  gb
5863
5864        * lisp-kernel/darwinppc64/Makefile: Enable -O2.
5865
58662006-06-08 03:17  gb
5867
5868        * lisp-kernel/darwinppc/Makefile: Some commented-out debugging
5869        options; enable -O2.
5870
58712006-06-08 02:55  gb
5872
5873        * lisp-kernel/x86-exceptions.c: thread_signal_setup() moved here.
5874        Handle suspend (and maybe someday resume, again) signals on the
5875        altstack, since we don't really want a signal context in the middle
5876        of the tagged lisp stack ...
5877
58782006-06-08 02:52  gb
5879
5880        * lisp-kernel/thread_manager.c: thread_signal_setup() moved to
5881        PLATFORM-exceptions.c; some constants/prototypes moved to
5882        Threads.h.
5883
58842006-06-08 02:51  gb
5885
5886        * lisp-kernel/ppc-exceptions.c: suspend_resume_handler() installed
5887        via install_signal_handler(); thread_signal_setup() moved here, to
5888        do that installation.
5889
58902006-06-08 02:50  gb
5891
5892        * lisp-kernel/pmcl-kernel.c: Don't enable_fp_exceptions() twice.
5893       
5894        Don't call (or define) prepare_for_the_worst(), which is kind of
5895        too bad ...
5896
58972006-06-08 02:49  gb
5898
5899        * lisp-kernel/Threads.h: suspend/resume constants, prototypes.
5900
59012006-06-08 01:11  gb
5902
5903        * level-1/l1-files.lisp: Back out of ill-advised changed to %LOAD;
5904        let OPTIMIZE proclamations persist beyond the LOAD.
5905
59062006-06-07 21:45  gb
5907
5908        * lisp-kernel/x86-subprims64.s: No nore %tsp/%Rnext_tsp.
5909
59102006-06-07 21:38  gb
5911
5912        * lisp-kernel/x86-spentry64.s: Don't maintain current/next tsp in
5913        MMX regs.  Do maintain them in TCR.
5914
59152006-06-07 21:37  gb
5916
5917        * lisp-kernel/x86-macros.s: Don't maintain %tsp when stack-consing;
5918        update (decrement) tcr.next_tsp atomically, use %stack_temp as a
5919        temporary (old tsp), finish frame by storing into tcr.save_tsp.
5920
59212006-06-07 21:34  gb
5922
5923        * lisp-kernel/x86-exceptions.c: tsp is in the TCR now.
5924
59252006-06-07 21:33  gb
5926
5927        * lisp-kernel/x86-constants64.s: No more %tsp, %Rnext_tsp.  Define
5928        %stack_temp.
5929
59302006-06-07 21:32  gb
5931
5932        * lisp-kernel/x86-constants64.h: No more Itsp, Inext_tsp.
5933
59342006-06-07 21:30  gb
5935
5936        * level-0/X86/x86-def.lisp: %CURRENT-TSP: the tsp is in the TCR
5937        now.
5938
59392006-06-07 21:30  gb
5940
5941        * compiler/X86/X8664/x8664-vinsns.lisp: Don't try to maintain %tsp
5942        (since it no longer exists ...).  Use %stack-temp in some cases.
5943
59442006-06-07 21:29  gb
5945
5946        * compiler/X86/X8664/x8664-arch.lisp: No more %tsp or %next-tsp.
5947        %stack-temp is a symbolic name for an MMX register that can be used
5948        for (e.g.) linking frames on the temp/foreign stacks (or for any
5949        other purpose ...)
5950
59512006-06-07 15:29  gb
5952
5953        * compiler/X86/X8664/x8664-vinsns.lisp: No more %Rforeign_sp.  Keep
5954        tcr.next_tsp in sync with %next_tsp Check to ensure that
5955        %tsp,tcr.save_tsp,and tcr.next_tsp all have the same value when
5956        allocating on the temp stack.  (This will soon change, so that %tsp
5957        and %next_tsp will not be canonical and the tcr fields are, then
5958        will change so that %tsp and %next_tsp will cease to exist.)
5959
59602006-06-07 15:25  gb
5961
5962        * lisp-kernel/x86-subprims64.s: No more %Rforeign_sp.
5963
59642006-06-07 15:25  gb
5965
5966        * lisp-kernel/: x86-macros.s, x86-spentry64.s: Keep tcr.next_tsp in
5967        sync with %Rnext_tsp.  No more %Rforeign_sp, but we can use %mm5 as
5968        a temporary.
5969
59702006-06-07 15:23  gb
5971
5972        * lisp-kernel/x86-exceptions.c: Find the foreign RSP from the TCR;
5973        don't need FP regs for this.  (They're sometimes invalid and
5974        sometimes missing, which is the point of recent changes.)
5975
59762006-06-07 15:21  gb
5977
5978        * lisp-kernel/x86-constants64.s: No foreign_sp.  Rename %next_tsp
5979        to %Rnext_tsp to avoid potential m4 lossage.
5980
59812006-06-07 15:20  gb
5982
5983        * lisp-kernel/x86-constants64.h: No Iforeign_sp.
5984
59852006-06-07 15:20  gb
5986
5987        * lisp-kernel/thread_manager.c: Initialize tcr->next_tsp on X86.
5988
59892006-06-07 15:19  gb
5990
5991        * level-1/version.lisp: Bump.
5992
59932006-06-07 15:19  gb
5994
5995        * level-0/X86/x86-def.lisp: Get foreign-sp from the TCR.
5996
59972006-06-07 15:18  gb
5998
5999        * compiler/X86/X8664/x8664-arch.lisp: More bootstrapping: no more
6000        foreign-sp register (though some code still uses %mm5 as a
6001        temporary, the "canonical" foreign SP is maintained in the TCR.)
6002
60032006-06-07 04:52  gb
6004
6005        * lisp-kernel/x86-macros.s: When making a catch/unwind-protect
6006        frame, get the foreign SP out of the TCR.
6007
60082006-06-07 04:52  gb
6009
6010        * compiler/X86/X8664/x8664-vinsns.lisp,
6011        lisp-kernel/x86-spentry64.s: More bootstrapping: continue to
6012        maintain the foreign sp in both the TCR and the MMX register, but
6013        consider the TCR version to be canonical.
6014
60152006-06-07 02:46  gb
6016
6017        * compiler/X86/X8664/x8664-vinsns.lisp: More bootstrapping: if the
6018        %tsp MMX register doesn't match the value in the tcr, trap.
6019        Likewise for %foreign-sp.
6020
60212006-06-07 01:29  gb
6022
6023        * compiler/X86/X8664/x8664-vinsns.lisp, lisp-kernel/x86-macros.s,
6024        lisp-kernel/x86-spentry64.s: Try to keep tcr.save_tsp in synch with
6025        %tsp, and likewise for %Rforeign_sp/tcr.foreign_sp.
6026       
6027        (The idea is to keep the temp/foreign stack pointers in the tcr and
6028        only use the MMX registers as temporaries, since it seems that
6029        handlers for asynchronous signals can't count on the MMX register
6030        values in the signal context being correct.  This seems to either
6031        be a Linux kernel bug or ill-considered if it's intentional
6032        behavior, but it seems better to work around it this way.)
6033       
6034        This is just an early step in bootstrapping that change; it's being
6035        checked into CVS so that it doesn't get lost (and so that I can
6036        recover to this point if/when I hose things on a later step.)
6037
60382006-06-07 01:24  gb
6039
6040        * compiler/X86/X8664/x8664-arch.lisp: Add a next-tsp slot to the
6041        tcr.
6042
60432006-06-07 01:22  gb
6044
6045        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Add a
6046        next_tsp slot to the tcr.
6047
60482006-06-06 04:25  gb
6049
6050        * lib/ppc-metering.lisp: no hope
6051
60522006-06-06 04:22  gb
6053
6054        * lib/x86-backtrace.lisp: %find-register-argument-value: Current
6055        frame (cfp argument) could be an exception callback frame (xcf-p
6056        may be true of it), in which case the saved register value is in
6057        the xcf.xp context.  (Basically, this means look at the first frame
6058        if it's an xcf, otherwise skip it and start with the child.)
6059
60602006-06-06 01:48  gb
6061
6062        * compiler/X86/x86-lapmacros.lisp,
6063        compiler/X86/X8664/x8664-vinsns.lisp, lisp-kernel/x86-macros.s:
6064        Using imul to box fixnums is smaller and seems to be faster than
6065        using lea with a scale factor.
6066
60672006-06-05 23:56  gb
6068
6069        * lisp-kernel/thread_manager.c: I don't think that
6070        suspend_resume_handler wants to have suspend signals unmasked, does
6071        it ?
6072
60732006-06-05 12:43  gb
6074
6075        * library/chud-metering.lisp: area-readonly is in ccl:: now.
6076
60772006-06-03 03:11  gb
6078
6079        * lisp-kernel/x86-spentry64.s: In _SPnthrowvalues: don't skip the
6080        last catch frame, do skip others (test was backwards.  As it
6081        probably had been in the single-value case at one point.)
6082
60832006-06-02 03:48  gb
6084
6085        * lib/encapsulate.lisp: Don't print trace indent/outdent stuff to
6086        *terminal-io*; do print it to *trace-output*.
6087
60882006-06-01 20:20  gb
6089
6090        * level-0/l0-array.lisp: There's a T in subtag.
6091
60922006-06-01 20:17  gb
6093
6094        * compiler/X86/x862.lisp: X862-MVCALL wasn't handling things like:
6095       
6096        (multiple-value-bind (...)   (multiple-value-call #'foo ...))
6097       
6098        correctly.
6099
61002006-06-01 20:16  gb
6101
6102        * compiler/nx0.lisp: Defvars for global optimization quantities
6103        moved to level-0.
6104
61052006-06-01 20:15  gb
6106
6107        * level-1/l1-files.lisp: Bind the variables which hold global
6108        compiler optimization quantities, since people persist in doing
6109        things like:
6110       
6111        (declaim (optimize
6112        <something-that-they-probably-think-has-local-effects>))
6113       
6114        without bothering to use EVAL-WHEN or otherwise thinking very
6115        clearly.
6116       
6117        Note that this means that anyone who wanted such a declamation to
6118        have persistent global effects is now SOL.  Blame whoever wrote
6119        (for instance) clx/glx.lisp.
6120
61212006-06-01 20:11  gb
6122
6123        * level-0/l0-init.lisp: Move *nx-speed*, etc here, so that they can
6124        be referenced early in the cold load.
6125
61262006-06-01 13:13  gb
6127
6128        * lib/x86-backtrace.lisp: In %FIND-REGISTER-ARGUMENT-VALUE, pass a
6129        pointer to ENCODED-GPR-LISP if we have to get the register value
6130        from an exception frame.
6131
61322006-05-30 19:27  gwking
6133
6134        * tools/asdf.lisp: Updated asdf to the current CVS head (revision
6135        1.98)
6136
61372006-05-30 17:12  gb
6138
6139        * level-1/version.lisp: bump again.
6140
61412006-05-30 16:31  gb
6142
6143        * lisp-kernel/x86-spentry64.s: When unwinding the stack, try to
6144        ensure that tcr.xframe is updated from the catch frame (a) in all
6145        execution paths and (b) before RSP is updated.
6146
61472006-05-30 16:30  gb
6148
6149        * level-0/l0-array.lisp, lib/sequences.lisp: Handle (simple) fixnum
6150        vectors.
6151
61522006-05-30 16:29  gb
6153
6154        * level-1/l1-typesys.lisp: Add a DEFTYPE for fixnum vectors.
6155
61562006-05-30 16:29  gb
6157
6158        * release-notes.txt: Update some more ...
6159
61602006-05-30 16:23  gb
6161
6162        * lib/ccl-export-syms.lisp: There are two 'e's in UNPROCESSED.
6163        Apparently.
6164
61652006-05-30 16:15  gb
6166
6167        * release-notes.txt: updated
6168
61692006-05-30 01:58  gb
6170
6171        * level-1/version.lisp: Bump.
6172
61732006-05-30 01:48  gb
6174
6175        * lisp-kernel/x86-exceptions.c: altstack_interrupt_handler: having
6176        made copies of the signal context and siginfo on the foreign stack,
6177        don't pass the originals to interrupt_handler().
6178       
6179        (altstack_interrupt_handler() looks suspiciously like
6180        altstack_signal_handler(), which probably had the same bug a few
6181        months ago ...)
6182       
6183        Since the alternate signal stack (as we use it) isn't reentrant,
6184        the next signal (perhaps a suspend signal) overwrote the context.
6185        Which is one reason to have made a copy in the first place ...
6186
61872006-05-30 01:43  gb
6188
6189        * level-1/l1-lisp-threads.lisp: In THREAD-ENABLE, use the new
6190        %TIMED-WAIT-ON-SEMAPHORE-PTR; regardless of whether or not a
6191        timeout is a good idea here, make sure that the timeout isn't
6192        fooled by #$EINTR.
6193
61942006-05-30 01:39  gb
6195
6196        * level-1/linux-files.lisp: Rename the old
6197        %TIMED-WAIT-ON-SEMAPHORE-PTR to %PROCESS-WAIT-ON-SEMAPHORE-PTR,
6198        since it basically waits indefinitely.
6199       
6200        Split out the functionality in TIMED-WAIT-ON-SEMAPHORE into a new
6201        %TIMED-WAIT-ON-SEMAPHORE-PTR function, so that it's possible to do
6202        a "timed wait" that handles interruptions, etc. when the caller
6203        just has a "raw" (native) semaphore.
6204       
6205        Change callers, endure warnings.  New binaries soon.
6206
62072006-05-30 01:36  gb
6208
6209        * level-0/l0-misc.lisp: When waiting for a lock, use the new
6210        %PROCESS-WAIT-ON-SEMAPHORE-PTR.
6211
62122006-05-29 22:34  gb
6213
6214        * lisp-kernel/x86-exceptions.c: The
6215        clear_tcr_save_allocptr_tag_instruction opcode array was one byte
6216        too small ...
6217
62182006-05-29 14:03  gb
6219
6220        * level-1/linux-files.lisp: In %OS-GETCWD: don't trust
6221        syscall-based getcwd (it doesn't work as it once did/is documented
6222        to on linuxx8664); use the library function on all platforms.
6223
62242006-05-29 14:02  gb
6225
6226        * lisp-kernel/x86-exceptions.c: Clear interrupt_pending flag before
6227        processing interrupt.
6228
62292006-05-28 17:01  gb
6230
6231        * lisp-kernel/ppc-exceptions.c: If we handle a
6232        SIGNAL_FOR_PROCESS_INTERRUPT trap, clear tcr->interrupt_pending.
6233       
6234        Back out of the hack that tried to work around a Darwin bug (FP
6235        exception flags were cleared in the MSR after a thread had been
6236        interrupted via pthread_kill()), since the fix seems not to be
6237        GC-safe.
6238       
6239        Add some debugging code to print when the exception lock is
6240        acquired/released.
6241
62422006-05-28 01:10  gb
6243
6244        * level-1/solaris-files.lisp: long gone
6245
62462006-05-23 20:25  gb
6247
6248        * compiler/: PPC/ppc2.lisp, X86/x862.lisp: D'oh!
6249
62502006-05-22 22:59  gb
6251
6252        * darwin-headers/addressbook/: C/populate.sh, .cvsignore,
6253        C/.cvsignore: New file.
6254
62552006-05-22 22:57  gb
6256
6257        * level-1/l1-processes.lisp: PROCESS-SUSPEND: don't allow current
6258        thread to suspend itself.
6259
62602006-05-22 22:57  gb
6261
6262        * compiler/PPC/PPC64/ppc64-vinsns.lisp: Use the SP red zone to load
6263        SINGLE-FLOAT constants.
6264       
6265        SINGLE-FLOAT foreign args are stored in the low 32 bits of each
6266        64-bit arg word, regardless of whether they're also passed in
6267        f1-f13 as well.
6268
62692006-05-22 22:55  gb
6270
6271        * compiler/PPC/PPC64/ppc64-backend.lisp: Callback fixes:
6272        SINGLE-FLOATs passed in memory are passed in the low 32 bits of the
6273        64-bit word.
6274
62752006-05-22 22:54  gb
6276
6277        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Use the red zone (on SP)
6278        for LOAD-SINGLE-FLOAT-CONSTANT, LOAD-DOUBLE-FLOAT-CONSTANT.
6279
62802006-05-22 22:53  gb
6281
6282        * compiler/PPC/PPC32/ppc32-backend.lisp: "poweropen ABI" (Darwin)
6283        callback fixes: SINGLE-FLOATs passed in memory are passed as ...
6284        SINGLE-FLOATs, so don't use %GET-SINGLE-FLOAT-FROM-DOUBLE-PTR to
6285        access them.
6286
62872006-05-22 03:53  gb
6288
6289        * level-1/version.lisp: Bump.
6290
62912006-05-22 03:32  gb
6292
6293        * compiler/X86/X8664/x8664-vinsns.lisp: fixnum->float vinsns.
6294
62952006-05-22 03:31  gb
6296
6297        * compiler/X86/x862.lisp: Numeric contagion on binops,
6298        fixnum->float.
6299
63002006-05-22 03:29  gb
6301
6302        * compiler/PPC/ppc2.lisp: Do stupid self-tail-call tricks on PPC as
6303        well.
6304
63052006-05-22 03:28  gb
6306
6307        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Load tcr.cs-limit a little
6308        earlier when creating a stack frame inline.  Doesn't seem to affect
6309        latency much.
6310
63112006-05-22 03:27  gb
6312
6313        * compiler/X86/x862.lisp: Comment formatting on the first line of
6314        the file.
6315
63162006-05-22 03:26  gb
6317
6318        * compiler/nx0.lisp: Check argument counts on self-calls.  (AFAIK,
6319        this hasn't been done for at least 20 years in MCL/OpenMCL ...)
6320
63212006-05-21 07:34  gb
6322
6323        * compiler/X86/x862.lisp: Long-standing X862-COPY-REGISTER bug.
6324
63252006-05-21 07:32  gb
6326
6327        * compiler/PPC/ppc2.lisp: Implement (late) div2; use (simple)
6328        numeric-contagion stuff for arithmetic ops.
6329
63302006-05-21 07:31  gb
6331
6332        * compiler/nx1.lisp: Use div2 for /-2.
6333
63342006-05-21 07:31  gb
6335
6336        * compiler/nx0.lisp: Binop numeric contagion.
6337
63382006-05-21 06:49  gb
6339
6340        * compiler/nx0.lisp: ACODE-REAL-CONSTANT-P.
6341
63422006-05-21 06:49  gb
6343
6344        * compiler/PPC/ppc2.lisp: Weird case in ppc2-copy-register wasn't
6345        weird, just wrong.
6346
63472006-05-21 06:17  gb
6348
6349        * level-0/l0-pred.lisp: PPC64: %typep recognizes
6350        SIMPLE-FIXNUM-VECTORs.
6351
63522006-05-21 06:16  gb
6353
6354        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6355        Fixnum vector stuff.  FIXNUM->FPR uses SP red zone.
6356
63572006-05-21 06:16  gb
6358
6359        * compiler/PPC/PPC32/ppc32-arch.lisp,
6360        compiler/PPC/PPC64/ppc64-arch.lisp, lisp-kernel/ppc-constants64.h,
6361        lisp-kernel/ppc-constants64.s, lisp-kernel/ppc-spentry.s: Fixnum
6362        vector stuff.
6363
63642006-05-21 06:15  gb
6365
6366        * compiler/PPC/ppc2.lisp: %fixnum-to-single, %fixnum-to-double.
6367       
6368        Fixnum vector vref/vset.
6369
63702006-05-21 06:15  gb
6371
6372        * compiler/: nx1.lisp, nxenv.lisp: %fixnum-to-single,
6373        %fixnum-to-double.
6374
63752006-05-21 06:14  gb
6376
6377        * compiler/nx0.lisp: More operator result types.
6378
63792006-05-21 04:35  gb
6380
6381        * level-0/l0-array.lisp, level-0/l0-pred.lisp,
6382        level-1/l1-aprims.lisp, level-1/l1-clos-boot.lisp: Integrate
6383        specialized FIXNUM array-element-type into type system, CLOS.
6384        (Knock wood.)
6385
63862006-05-21 04:34  gb
6387
6388        * lisp-kernel/x86-spentry64.s: Support for (out-of-line)
6389        fixnum-vector access (.SPmisc_ref, .SPmisc_set).
6390
63912006-05-21 04:33  gb
6392
6393        * compiler/X86/X8664/x8664-arch.lisp,
6394        lisp-kernel/x86-constants64.h, lisp-kernel/x86-constants64.s: New
6395        subtag for :fixnum-vector.
6396
63972006-05-21 04:32  gb
6398
6399        * compiler/X86/x862.lisp: 64-bit vset wasn't handling non-constant
6400        indices correctly.
6401       
6402        64-bit vset, vref: handle :FIXNUM-VECTOR.
6403
64042006-05-21 00:22  gb
6405
6406        * level-0/l0-aprims.lisp: Spell istruct-typep correctly.
6407
64082006-05-20 18:13  gb
6409
6410        * compiler/X86/x862.lisp: Do some self-tail calls (fixed args, no
6411        stack args) without restoring/re-saving NVRs.
6412
64132006-05-19 15:07  gb
6414
6415        * level-1/linux-files.lisp: RUN-PROGRAM: waiting for the child's
6416        completion semaphore (when :WAIT is true) happens inside an
6417        UNWIND-PROTECT cleanup and therefore needs to explicitly allow
6418        interrupts.
6419
64202006-05-19 15:06  gb
6421
6422        * level-0/l0-aprims.lisp: Add SEMAPHOREP, make it a type-predicate
6423        for SEMAPHORE.
6424
64252006-05-19 12:23  gwking
6426
6427        * lib/misc.lisp: Added help and redisplay to select-item-from-list.
6428        Also changed it so that it displays all items before trying to get
6429        an answer.
6430
64312006-05-19 12:00  gwking
6432
6433        * .cvsignore: The *fsl wasn't cutting it for me..., take two
6434
64352006-05-19 11:57  gwking
6436
6437        * .cvsignore: The *fsl wasn't cutting it for me...
6438
64392006-05-19 11:50  gb
6440
6441        * level-1/version.lisp: Bump.
6442
64432006-05-19 11:49  gb
6444
6445        * level-1/l1-streams.lisp: Change the EVAL-WHEN that requires
6446        syscall definitions so that it can be moused on.
6447
64482006-05-19 11:48  gb
6449
6450        * compiler/X86/X8664/: x8664-arch.lisp, x8664-vinsns.lisp:
6451        .SPeabi-syscall -> .SPsyscall.
6452
64532006-05-19 11:45  gb
6454
6455        * compiler/X86/x862.lisp: Inline ADD2, unless we know that at least
6456        one arg couldn't be a fixnum.  (Should do the same for SUB2.) This
6457        does indeed burn cache lines, but going out of line isn't cheap
6458        either.  (100 million iterations of (+ x (+ y z)) - where X Y and Z
6459        are in fact fixnums and no overflow is involved - seems to be about
6460        2X faster when inlined this way.  Not sure if that'll be the case
6461        on PPC.)
6462
64632006-05-19 11:40  gb
6464
6465        * compiler/nx0.lisp: Use NX-TARGET-TYPE in some of the acode-type
6466        stuff.
6467
64682006-05-18 14:47  gb
6469
6470        * lisp-kernel/ppc-spentry.s: When unwinding the stack (hopefully,
6471        in all places that do so ...), update tcr.xframe from
6472        catch_frame.xframe on all execution paths (in particular, do so
6473        before SP is restored from the catch_frame, since a tcr.xframe
6474        "beyond" SP is clearly bogus.)
6475
64762006-05-18 02:34  gb
6477
6478        * level-1/version.lisp: Bump.
6479
64802006-05-17 23:12  gb
6481
6482        * compiler/PPC/ppc2.lisp: "late" acode-type stuff (add2/sub2/mul2)
6483        for PPC, too.
6484
64852006-05-17 22:53  gb
6486
6487        * level-0/X86/x86-float.lisp: %FP-ERROR-FROM-STATUS: don't cons an
6488        &REST arg.  Should do a quicker test (logandc2 and a shift) to see
6489        if any unmasked exceptions were raised before even calling this ...
6490
64912006-05-17 22:51  gb
6492
6493        * compiler/X86/X8664/x8664-vinsns.lisp: If we have to spill
6494        SINGLE-FLOAT registers, spill them (boxed) on the vstack.
6495
64962006-05-17 22:50  gb
6497
6498        * compiler/X86/x862.lisp: Work harder to find acode types in some
6499        cases.
6500
65012006-05-17 22:50  gb
6502
6503        * compiler/X86/x86-disassemble.lisp: Handle (new-style) byte
6504        registers in OP-REG.
6505       
6506        Don't want to use RET very often if at all, but disassembler should
6507        treat as as a :JUMP.
6508
65092006-05-17 22:48  gb
6510
6511        * compiler/nxenv.lisp: MUL2, DIV2.
6512
65132006-05-17 22:48  gb
6514
6515        * compiler/: nx0.lisp, nx1.lisp: A little of that there
6516        type-inferencing (or, more accurately, paying a little more
6517        attention here and there.)
6518
65192006-05-12 20:40  gwking
6520
6521        * examples/addressbook.lisp: added examples/addressbook.lisp
6522
65232006-05-11 18:42  gb
6524
6525        * level-1/l1-application.lisp: Stop processing command-line
6526        arguments when "--" is encountered; anything after that "--" is
6527        retained in CCL:*UNPROCESSED-COMMAND-LINE-ARGUMENTS*.
6528
65292006-05-11 18:42  gb
6530
6531        * lib/ccl-export-syms.lisp: Export command-line stuff
6532
65332006-05-11 18:40  gb
6534
6535        * level-1/l1-processes.lisp: Lennart Staflin's fix to PRINT-OBJECT
6536        method for LOCKs.
6537
65382006-05-11 18:39  gb
6539
6540        * level-1/l1-files.lisp: In %DIFECTORY-LIST-NAMESTRING: all strings
6541        are base-strings (and always have been in OpenMCL.)
6542
65432006-05-11 18:37  gb
6544
6545        * level-1/l1-sockets.lisp: CCL:BASE-CHARACTER -> CL:BASE-CHAR.
6546
65472006-05-11 08:11  gwking
6548
6549        * lib/db-io.lisp: Added a check that the directory exists to
6550        fid-open-output in order to make it clearer what is wrong when one
6551        is unable to rebuild interface files because they are trying to do
6552        so in a place without FFI files to read!
6553
65542006-05-11 05:14  gb
6555
6556        * level-1/version.lisp, lisp-kernel/image.h, xdump/heap-image.lisp:
6557        Bump lisp-implementation-version, image-abi-version.
6558
65592006-05-11 05:04  gb
6560
6561        * xdump/faslenv.lisp: Bump (min) fasl version.
6562
65632006-05-11 04:52  gb
6564
6565        * lib/nfcomp.lisp: Bump (current) FASL version.
6566
65672006-05-11 04:52  gb
6568
6569        * level-1/l1-files.lisp: FASL-FILE-P looks for inital #xFF00
6570        (big-endian) instead of just #xff, to avoid UTF-16 BOM confusion.
6571
65722006-05-11 04:35  gb
6573
6574        * xdump/faslenv.lisp: Bump (max) fasl version.
6575
65762006-05-11 04:32  gb
6577
6578        * compiler/X86/X8664/x8664-backend.lisp: Little-endianness is a
6579        target-specific feature.
6580
65812006-05-11 03:35  gb
6582
6583        * compiler/PPC/PPC32/ppc32-arch.lisp,
6584        compiler/PPC/PPC32/ppc32-vinsns.lisp, level-0/l0-array.lisp,
6585        level-0/l0-pred.lisp, level-0/PPC/ppc-array.lisp,
6586        level-1/l1-aprims.lisp, level-1/l1-clos-boot.lisp,
6587        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
6588        lisp-kernel/ppc-spentry.s, xdump/xppcfasload.lisp: Juggle PPC32
6589        typecodes around: get rid of the (unused) old 16-bit string; add an
6590        (as yet unused) UCS-4 string type.
6591       
6592        These changes generally involve cross-compilation (or some very
6593        tricky bootstrapping that I didn't attempt)  FASL versions and
6594        kernel ABI versions will need to change, and new binaries will be
6595        made available soon.
6596
65972006-05-10 20:20  gb
6598
6599        * compiler/PPC/ppc-lapmacros.lisp,
6600        compiler/PPC/PPC32/ppc32-arch.lisp,
6601        compiler/PPC/PPC32/ppc32-vinsns.lisp,
6602        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s:
6603        Change CHARCODE-SHIFT constant on PPC32, so that the (currently
6604        8-bit) character code is stored in the #x0000xx00 byte of a
6605        CHARACTER, rather than in the #x00xx0000 byte,  This is hard to
6606        bootstrap natively (which is why I was trying to make ppc64->ppc32
6607        cross-compilation work.)
6608       
6609        Change related macros/visnsns as well.
6610
66112006-05-10 19:00  gb
6612
6613        * xdump/xppcfasload.lisp: Reintroduce a TARGET-ARCH-CASE, but I
6614        think that this is just hard to do right the way that it's being
6615        done.
6616
66172006-05-10 18:59  gb
6618
6619        * level-1/ppc-threads-utils.lisp: BOGUS-THING-P is hard to do right
6620        when cross-compiling (because word-size differences aren't handled
6621        correctly by macros.)  Until the macros are fixed, don't even try
6622        ...
6623
66242006-05-10 18:58  gb
6625
6626        * level-1/l1-clos-boot.lisp: In NEW-CLASS-WRAPPER-HASH-INDEX, user
6627        target::target-most-positive-fixnum (not the host's
6628        MOST-POSITIVE-FIXNUM).
6629
66302006-05-10 18:57  gb
6631
6632        * compiler/: nx0.lisp, nx1.lisp: Use NX-TARGET-TYPE in at least a
6633        few places.
6634
66352006-05-10 18:56  gb
6636
6637        * compiler/nx.lisp: XCOMPILE-LAMBDA binds *TARGET-BACKEND*.
6638
66392006-05-10 18:55  gb
6640
6641        * compiler/nx-basic.lisp: NX-TARGET-TYPE: there may be other
6642        differences between host and target types, but try to turn
6643        references to FIXNUM to the appropriate target-specific type.
6644
66452006-05-09 21:01  gb
6646
6647        * compiler/PPC/PPC32/ppc32-vinsns.lisp: UNBOX-BASE-CHAR just checks
6648        that the lowbyte is SUBTAG-CHARACTER; it used to rotate things
6649        around to check the high bits of the char code, but all chars have
6650        been base-chars for several years now ...
6651       
6652        UNBOX-CHARACTER was unused.
6653       
6654        (This is the first step of what may be several bootstrapping steps
6655        to change PPC32::CHARCODE-SHIFT from 16 to 8, so that we have 24
6656        easily-accessed char-code bits on PPC32.)
6657
66582006-05-09 11:48  gb
6659
6660        * lisp-kernel/xlbt.c: No psn in cs_area.
6661
66622006-05-09 02:42  gb
6663
6664        * lisp-kernel/: gc.h, ppc-gc.c: Back out of the extra Boolean arg
6665        to mark_simple_area_range().
6666
66672006-05-09 02:33  gb
6668
6669        * compiler/PPC/: PPC32/ppc32-backend.lisp,
6670        PPC64/ppc64-backend.lisp: Endianness is also target-specific.
6671
66722006-05-09 02:25  gb
6673
6674        * lisp-kernel/thread_manager.c: Thread stack areas are "owned by"
6675        the containing TCR, to make low-level debugging a bit easier.
6676
66772006-05-09 02:25  gb
6678
6679        * lisp-kernel/ppc-gc.c: Mostly some added consistency/sanity checks
6680        and debugging printfs.
6681
66822006-05-09 02:24  gb
6683
6684        * lisp-kernel/ppc-exceptions.h: Note that pc_luser_xp() needs an
6685        extra (signed_natural *) arg, for allocptr displacement.
6686
66872006-05-09 02:23  gb
6688
6689        * lisp-kernel/ppc-exceptions.c: Lots of #ifdef DEBUG fprintfs.
6690       
6691        Change the way that pc_luser_xp() and normalize_tcr() handle alloc
6692        regs/ saved TCR fields.  The general idea is that the after they
6693        run, all threads have tcr->save_allocptr/tcr_save_allocbase set to
6694        VOID_ALLOCPTR; if the thread was interrupted in lisp code, the
6695        allocbase register will be set to VOID_ALLOCPTR and allocptr will
6696        be set to either VOID_ALLOCPTR or to VOID_ALLOCPTR-disp.
6697       
6698        On an interrupt, the caller needs to pass in a signed_natural * to
6699        pick up the allocptr displacement (if consing was interrupted at
6700        the alloc trap); the interrupt handler uses this value to fix up
6701        alloptr when it returns if consing was interrupted.
6702       
6703        This is all pretty clearly right, but something still goes wrong
6704        under some combination of high thread stress, frequent allocation,
6705        and blocking ff-calls.
6706
67072006-05-09 02:17  gb
6708
6709        * lisp-kernel/plbt.c: No psn currently available.
6710
67112006-05-09 02:16  gb
6712
6713        * lisp-kernel/lisp-debug.c: Bug() passes xp to lisp_Debugger(),
6714        where it may come in handy ...
6715
67162006-05-09 02:16  gb
6717
6718        * lisp-kernel/gc.h: mark_simple_area_range() takes an added Boolean
6719        arg.
6720
67212006-05-09 02:13  gb
6722
6723        * lisp-kernel/area.h: area struct's owner is a (TCR *).
6724
67252006-05-09 02:12  gb
6726
6727        * level-1/l1-error-system.lisp: $xfunbnd was used after all.
6728        Restore it.
6729
67302006-05-09 02:12  gb
6731
6732        * level-0/l0-error.lisp, library/lispequ.lisp,
6733        lisp-kernel/errors.s: $xfunbnd was used after all.  Restore it, and
6734        recycle $XNOCDR.
6735
67362006-05-09 02:11  gb
6737
6738        * compiler/PPC/PPC64/ppc64-backend.lisp: :64-bit-target is ...
6739        target-specific.
6740
67412006-05-09 02:11  gb
6742
6743        * compiler/PPC/PPC32/ppc32-backend.lisp: :32-bit-target is ...
6744        target-specific.
6745
67462006-05-09 00:40  gb
6747
6748        * level-1/l1-lisp-threads.lisp: Foreign thread callback stuff moved
6749        here.
6750
67512006-05-09 00:39  gb
6752
6753        * level-1/x86-threads-utils.lisp: Support for BOGUS-THING-P on
6754        x8664.
6755
67562006-05-09 00:39  gb
6757
6758        * level-1/ppc-threads-utils.lisp: Move foreign-thread callback
6759        stuff up to l1-lisp-threads.lisp.
6760
67612006-05-08 22:58  gb
6762
6763        * lisp-kernel/ppc-spentry.s: misc_ref/misc_set jump tables on PPC64
6764        handle array and vector headers.
6765
67662006-05-08 22:57  gb
6767
6768        * library/lispequ.lisp: Synch errors $xbadvec, $xsetbadvec (neither
6769        of which should ever happen) with the kernel.
6770
67712006-05-08 22:56  gb
6772
6773        * level-1/l1-processes.lisp: %PROCESS-PRESET-INTERNAL doesn't need
6774        the TCR either.
6775
67762006-05-08 22:55  gb
6777
6778        * level-1/l1-error-system.lisp: $XFUNBND is no more.
6779
67802006-05-08 22:55  gb
6781
6782        * level-0/l0-error.lisp: Define the format strings for $xbadvec,
6783        $xsetbadvec.
6784
67852006-05-08 03:26  gb
6786
6787        * lisp-kernel/x86-spentry64.s: .SPstkconslist_star: ensure that
6788        flags are set to the result of decrementing %nargs at the end of
6789        the loop.
6790
67912006-05-08 03:25  gb
6792
6793        * level-1/x86-error-signal.lisp: uuo-error-udf: %err-disp-internal
6794        wants a list of condition args, not a single arg.
6795
67962006-05-08 03:24  gb
6797
6798        * level-1/l1-processes.lisp: %PROCESS-PRESET-INTERNAL doesn't need
6799        CS-AREA.
6800
68012006-05-08 03:23  gb
6802
6803        * level-0/X86/x86-symbol.lisp: %FUNCTION: signal error via
6804        uuo_error_udf, not as a type error.
6805
68062006-05-07 16:50  gb
6807
6808        * lib/describe.lisp: INSPECTOR objects haven't had FORWARDED-P
6809        slots in a long time (they probably haven't -needed- them in even
6810        longer; I think that this had to do with the old partial MOP.)
6811        Don't define the slot for FUNCTION-INSPECTOR, and don't call the
6812        accessor in STANDARD-OBJECT-SETF-LINE-N.
6813
68142006-05-07 04:39  gb
6815
6816        * x86-headers64/gtk2/: .cvsignore, C/.cvsignore, C/populate.sh: New
6817        file.
6818
68192006-05-07 04:34  gb
6820
6821        * lisp-kernel/: area.h, lisp_globals.h, memory.c, pmcl-kernel.c,
6822        thread_manager.c: Combine the AREA_LOCK and TCR_LOCK into a single
6823        lock (TCR_AREA_LOCK).  (This makes it a little harder to deadlock
6824        if code that wants both locks isn't careful to try to obtain them
6825        in some canonical order.)
6826
68272006-05-07 04:29  gb
6828
6829        * lib/x86-backtrace.lisp: Finally find those pesky registers.
6830
68312006-05-07 04:29  gb
6832
6833        * level-1/x86-threads-utils.lisp: Stub BOGUS-THING-P moves here.
6834
68352006-05-07 04:28  gb
6836
6837        * level-0/l0-cfm-support.lisp: FOREIGN-SYMBOL-ENTRY: return NIL if
6838        xFindSymbol/dlsym returns 0 on x8664.
6839
68402006-05-07 04:27  gb
6841
6842        * compiler/X86/: x86-lapmacros.lisp, X8664/x8664-vinsns.lisp: Use
6843        PSRLQ/PSLLQ for single-float boxing/unboxing.  (A few months ago,
6844        I'd mistakenly decided that it was faster to go through memory than
6845        to use these instructions.  It seems to actually be substantially
6846        slower, as one would expect.)
6847
68482006-05-07 04:25  gb
6849
6850        * compiler/X86/x86-asm.lisp: Add support for
6851        PSRLQ/PSRLDQ/PSLLQ/PSLLDQ (sse2 shifts.)
6852
68532006-05-07 04:21  gb
6854
6855        * library/hash-cons.lisp: Fix doc in comments.
6856
68572006-05-07 04:21  gb
6858
6859        * lib/ppc-backtrace.lisp: GET/SET-REGISTER-VALUE.
6860
68612006-05-07 04:20  gb
6862
6863        * lib/format.lisp: YES-OR-NO-P: bell goes to *QUERY-IO*.
6864
68652006-05-07 04:19  gb
6866
6867        * lib/backtrace-lds.lisp: Move GET/SET-REGISTER-VALUE to
6868        TARGET-backtrace.lisp.
6869
68702006-05-07 04:18  gb
6871
6872        * level-1/l1-lisp-threads.lisp: Move (implementation-dependent)
6873        BOGUS-THING-P to TARGET-thread-utils.lisp.
6874
68752006-05-07 04:17  gb
6876
6877        * level-1/ppc-threads-utils.lisp: Move (implementation-dependent)
6878        BOGUS-THING-P support here.
6879
68802006-05-07 04:16  gb
6881
6882        * level-1/l1-processes.lisp: Don't set "owner" field of tcr.cs_area
6883        to psn.
6884
68852006-05-06 15:27  gb
6886
6887        * compiler/nx1.lisp: Ash left by constant: prefer the fixnum case
6888        to the "natural" case.
6889
68902006-05-06 15:26  gb
6891
6892        * compiler/X86/x862.lisp: Pass the right number of args to
6893        NATURAL-SHIFT-LEFT and NATURAL-SHIFT-RIGHT.
6894
68952006-05-06 15:26  gb
6896
6897        * compiler/X86/X8664/x8664-vinsns.lisp: Indentation.
6898
68992006-05-06 02:09  gb
6900
6901        * lisp-kernel/thread_manager.c: Let's see: if thread X holds local
6902        A and tries to obtain lock B, and thread Y holds lock B and tries
6903        to obtain lock A, what is that a classic case of ?
6904       
6905        Try to avoid that classic deadlock case in shutdown_thread_tcr()
6906        when HAVE_TLS is in effect.  suspend_other_threads wants to hold
6907        two locks at the same time, and that's always a bit dangerous; it
6908        might be safer to merge TCR_LOCK and AREA_LOCK into a single lock
6909        that must be owned in order to manipulate either the tcr or area
6910        queues.
6911
69122006-05-06 02:04  gb
6913
6914        * level-1/linux-files.lisp: Make (%REALPATH "") behave like
6915        %REALPATH of the current directory namestring, as it does by
6916        default on some platforms (but not Linux.)
6917
69182006-05-05 20:08  gb
6919
6920        * compiler/X86/x862.lisp: x862-ff-call: really implement the
6921        simple-foreign-args stuff.  Box u64/s64, or don't ... but don't do
6922        the el-bizarro <- with a (temp) node target.
6923
69242006-05-05 20:06  gb
6925
6926        * lib/x86-backtrace.lisp: Get PC-FROM-XCF right (it needs to be
6927        relative to the tagged entrypoint, not to the start of the
6928        underlying function-vector.)
6929
69302006-05-05 13:24  gb
6931
6932        * lisp-kernel/x86-spentry64.s: Preserve NEXT-METHOD-CONTEXT when
6933        heap-consing an &REST arg.  (%allocptr and %next-method-context are
6934        the same register, so &rest clobbbers %next-method-context.)
6935       
6936        Could make separate entry points, so that this is only done when
6937        %next-method-context needs to be preserved ...
6938
69392006-05-05 13:21  gb
6940
6941        * level-0/X86/x86-def.lisp: Use RESERVED-FRAME-MARKER.
6942
69432006-05-05 02:23  gb
6944
6945        * freebsd-headers64/libc/C/populate.sh: New file.  Needs some work.
6946
69472006-05-05 02:23  gb
6948
6949        * freebsd-headers64/libc/: .cvsignore, C/.cvsignore: New file.
6950
69512006-05-05 01:37  gb
6952
6953        * level-1/version.lisp: Bump du jour.
6954
69552006-05-05 01:36  gb
6956
6957        * level-0/X86/x86-def.lisp: %FF-CALL: maintain the distinction
6958        between the first 6 words of the outgoing frame (from which GPRs
6959        will be loaded) and other words (which stay on the stack); after
6960        the first 8 FP args, floats have to be passed on the stack, even if
6961        there's still room in the first 6 words of the outgoing frame.
6962       
6963        Need to understand the struct-by-value rules better: can a struct
6964        be passed partly in registers and partly on the stack ? RTFM (or,
6965        in this case, TF ABI spec.)
6966
69672006-05-05 01:31  gb
6968
6969        * compiler/X86/x862.lisp: In X862-FF-CALL:  - the general integer
6970        case should store relative to "other-offset" (rather than   
6971        "gpr-offset") when more than 6 (not 8) GPR args have been passed. 
6972        - both the single and double-float cases were incrementing
6973        "other-offset"     twice when more than 8 FP args were involved.
6974        This had the effect of     storing floats into every other word and
6975        writing beyond the bounds of     the outgoing stack frame, possibly
6976        overwriting return addresses on the     foreign stack.
6977
69782006-05-04 23:12  gb
6979
6980        * level-1/l1-streams.lisp: James Bielman's fix to
6981        READ-TOPLEVEL-FORM (INPUT-STREAM) (EOF handling/peek-char.)
6982
69832006-05-04 18:30  gb
6984
6985        * compiler/X86/X8664/x8664-backend.lisp: When binding FP args,
6986        decrement FPR-ARG-OFFSET by 8, not -8.
6987       
6988        (This could cause values outside of the stack frame to be read, but
6989        I still haven't found what's writing beyond the frame bounds.)
6990
69912006-05-04 18:27  gb
6992
6993        * lib/x86-backtrace.lisp: If its argument is an exception callback
6994        frame, %CFP-LFUN tries to determine the relative PC associated with
6995        the frame's nominal function and return that as a second value
6996        (just as it does for a real frame.)
6997       
6998        I think that this should work a high percentage of the time, but
6999        callers should generally be prepared to deal with a NULL second
7000        return value from %CFP-LFUN.
7001
70022006-05-04 11:12  gb
7003
7004        * compiler/X86/X8664/x8664-backend.lisp: More callback issues:
7005        since we're using the same stack pointer to return values as we are
7006        to find arguments, don't try to "optimize" its initialization.
7007
70082006-05-03 18:52  gb
7009
7010        * compiler/X86/X8664/x8664-backend.lisp: Clean  up x8664 callbacks
7011        a little.  Don't coerce single float results to double; bind
7012        stack-ptr variable even if no args (might be a return value form
7013        that references it.) Failure to do the latter was creating a weird
7014        free variable reference that wasn't handled by the fasloader.
7015
70162006-05-03 18:50  gb
7017
7018        * level-0/nfasload.lisp: $fasl-vmksym-special wasn't implemented.
7019
70202006-05-03 18:49  gb
7021
7022        * lib/nfcomp.lisp: Indent a comment.
7023
70242006-05-03 18:16  gb
7025
7026        * compiler/X86/x862.lisp, level-0/X86/x86-def.lisp: In an %FF-CALL
7027        that might involve a variable-length arglist (at this level,
7028        always), set %rax to the number (0-8) of FP arguments passed in xmm
7029        registers.
7030
70312006-05-03 13:26  gb
7032
7033        * lisp-kernel/x86-exceptions.c: In find_foreign_rsp(), mask with
7034        ~15, not ~!5.  (This was causing segfaults on return from
7035        interrupts sometimes.)
7036
70372006-05-03 13:24  gb
7038
7039        * lib/backtrace.lisp: CLOSURE-CLOSED-OVER-VALUES, which is needed
7040        by SWANK/SLIME.
7041
70422006-05-03 13:23  gb
7043
7044        * lib/backtrace-lds.lisp: FRAME-SUPPLIED-ARGS, hopefully in a form
7045        that'll work on all platforms.  (Note that FRAME-SUPPLIED-ARGS
7046        seems to get many things wrong.)
7047
70482006-05-03 11:37  gb
7049
7050        * level-1/version.lisp: You mist have yesterday's version.
7051
70522006-05-03 11:37  gb
7053
7054        * level-0/X86/x86-def.lisp: Implement #'%FF-CALL.  Not too much
7055        LAP.
7056
70572006-05-03 11:36  gb
7058
7059        * level-0/l0-init.lisp: Put :X86-64 and :AMD64 on *FEATURES* if
7060        #+x8664-target.
7061
70622006-05-03 11:36  gb
7063
7064        * compiler/X86/X8664/x8664-vinsns.lisp: Bad typo in UNBOX-S64, and
7065        it can just check for a 2-digit bignum header if it has something
7066        of tag TAG-MISC.
7067
70682006-05-03 11:34  gb
7069
7070        * compiler/X86/x862.lisp: X862-COPY-REGISTER: handle :S64
7071        destinations.
7072
70732006-05-03 11:33  gb
7074
7075        * compiler/X86/x86-disassemble.lisp: Recognize
7076        uuo-error-eep-unresolved.
7077
70782006-05-02 18:07  gb
7079
7080        * level-1/version.lisp: Bump.
7081
70822006-05-02 18:07  gb
7083
7084        * lib/: backtrace-lds.lisp, describe.lisp: Comment out stuff that's
7085        (mostly ?) unused and currently PPC-specific, if it works at all
7086        ...
7087
70882006-05-02 10:27  gb
7089
7090        * level-1/l1-streams.lisp: Don't definea STREAM-CLEAR-INPUT method
7091        for STRING-INPUT-STREAMs; it's not clear what such a method should
7092        do (and fairly clear that it shouldn't do what the previous
7093        definition was doing.)
7094
70952006-05-02 10:26  gb
7096
7097        * lib/format.lisp: clear input from *query-io*, not from
7098        *terminal-io* in YES-OR-NO-P, Y-OR-N-P
7099
71002006-05-02 10:26  gb
7101
7102        * library/hash-cons.lisp: x8664 lap
7103
71042006-05-02 10:26  gb
7105
7106        * lisp-kernel/x86-gc.c: hons area stuff
7107
71082006-04-29 09:14  gb
7109
7110        * lisp-kernel/x86-exceptions.c: Write-protect handlers for stack
7111        overflow (on value/temp stacks).
7112
71132006-04-29 09:13  gb
7114
7115        * level-1/x86-trap-support.lisp: Handle stack overflow in cmain
7116        callback.
7117
71182006-04-29 09:10  gb
7119
7120        * lisp-kernel/freebsd8664/Makefile: x86-gc.o.
7121       
7122        No linker script.
7123       
7124        Use -lthr, which offers 1:1 threads.
7125
71262006-04-29 09:09  gb
7127
7128        * lisp-kernel/lisptypes.h: Remove the __sighandler typedef.
7129
71302006-04-29 09:01  gb
7131
7132        * lisp-kernel/x86-exceptions.h: xpMMXreg for FreeBSD.
7133
71342006-04-29 09:00  gb
7135
7136        * lisp-kernel/x86-exceptions.c: Don't use __sighandler_t.  (See if
7137        anything cares ...)
7138
71392006-04-29 08:59  gb
7140
7141        * lisp-kernel/x86-constants64.h: FreeBSD register constants.
7142
71432006-04-29 08:58  gb
7144
7145        * lisp-kernel/lisp-debug.c: FreeBSD regiser names.
7146
71472006-04-29 08:58  gb
7148
7149        * lisp-kernel/area.h: Update IMAGE_BASE_ADDRESS for FreeBSD.
7150
71512006-04-28 21:28  gb
7152
7153        * level-1/version.lisp: bump.
7154
71552006-04-28 21:27  gb
7156
7157        * lib/backtrace.lisp: changes to print-call-history (and "internal"
7158        version).
7159
71602006-04-28 21:24  gb
7161
7162        * lib/ppc-backtrace.lisp: Fix typo.
7163
71642006-04-28 21:23  gb
7165
7166        * level-1/l1-readloop-lds.lisp: Add :NFRAMES break loop command.
7167       
7168        Change the command/keyword parser a little, so that :FOO is just
7169        :FOO and not (:FOO).
7170       
7171        Change :B break loop command (and :F) to allow focusing on a range
7172        of frames, and change PRINT-CALL-HISTORY to more easily support
7173        that.
7174
71752006-04-28 19:37  gb
7176
7177        * level-0/PPC/ppc-numbers.lisp: Remove a quote from a LAP
7178        LOAD-CONSTANT form.
7179
71802006-04-28 19:34  gb
7181
7182        * lib/: backtrace.lisp, ppc-backtrace.lisp, x86-backtrace.lisp:
7183        Factor out a little more.  Time to see what's broken on PPC ...
7184
71852006-04-28 19:34  gb
7186
7187        * level-1/: l1-readloop-lds.lisp, l1-streams.lisp: Make parens
7188        around colon-commands optional.
7189
71902006-04-28 04:11  gb
7191
7192        * lisp-kernel/linuxx8664/.gdbinit: 'lregs' calls the kernel
7193        debugger's register display code.
7194
71952006-04-28 04:11  gb
7196
7197        * lisp-kernel/xlbt.c: Don't claim that the (legitimate) last frame
7198        on the stack is bogus.
7199
72002006-04-28 04:10  gb
7201
7202        * lisp-kernel/x86-exceptions.c: Create fake stack frames (sort of
7203        ...) when calling back for an exception.
7204
72052006-04-28 03:36  gb
7206
7207        * lisp-kernel/x86-constants64.h: A few symbolic register names.
7208       
7209        xcf struct.
7210
72112006-04-28 03:36  gb
7212
7213        * library/lispequ.lisp: FAKE-STACK-FRAME is #+ppc-target.
7214
72152006-04-28 03:36  gb
7216
7217        * lib/x86-backtrace.lisp: Implemented some stuff.
7218       
7219        Backtrace (sort of) works on x8664 now; need to find register
7220        values,  hide tagged return addresses, a few other things.
7221
72222006-04-28 03:34  gb
7223
7224        * lib/ppc-backtrace.lisp: Stuff moved here from elsewhere.
7225
72262006-04-28 03:34  gb
7227
7228        * lib/backtrace-lds.lisp: LAST-CATCH-SINCE moved elsewhere.
7229
72302006-04-28 03:33  gb
7231
7232        * level-1/x86-trap-support.lisp: Flags register accessor.
7233       
7234        New exception callback scheme.
7235
72362006-04-28 03:33  gb
7237
7238        * level-1/x86-threads-utils.lisp: The lowlevel system keeps
7239        changing.
7240
72412006-04-28 03:32  gb
7242
7243        * level-1/x86-error-signal.lisp: New exception callback stuff.
7244
72452006-04-28 03:32  gb
7246
7247        * level-1/l1-readloop-lds.lisp: No fake stack frames on x86.
7248
72492006-04-28 03:32  gb
7250
7251        * level-1/l1-lisp-threads.lisp: Move more stuff to arch-specific
7252        files.
7253
72542006-04-28 03:31  gb
7255
7256        * level-1/l1-events.lisp: No fake-stack-frames on x86, but we do
7257        have exception callback frames ...
7258
72592006-04-28 03:30  gb
7260
7261        * level-1/l1-error-system.lisp: Tweak :report method for
7262        wrong-number-of-args errors.
7263
72642006-04-28 03:30  gb
7265
7266        * level-0/X86/x86-def.lisp: Implement APPLY+.
7267
72682006-04-28 03:29  gb
7269
7270        * compiler/X86/X8664/x8664-arch.lisp: eXception Callback Frame.
7271
72722006-04-28 03:27  gb
7273
7274        * compiler/X86/x86-lapmacros.lisp: Add missing IN-PACKAGE.
7275       
7276        CHECK-NARGS: don't enforce upper bound if it's null.
7277
72782006-04-28 03:17  gb
7279
7280        * compiler/X86/x86-arch.lisp: x86 xFLAGS bits.
7281
72822006-04-28 03:16  gb
7283
7284        * compiler/nx0.lisp: Allow (FUNCTION (SETF name)) in
7285        IGNORE/IGNORABLE/DYNAMIC-EXTENT declarations.
7286
72872006-04-26 14:18  gb
7288
7289        * compiler/nx0.lisp: Allow (SETF NAME) in DEFINE-COMPILER-MACRO.
7290
72912006-04-26 14:17  gb
7292
7293        * lib/misc.lisp: Disassemble is supposed to signal an error (or "be
7294        prepared" to do so) if its argument isn't a function designator, so
7295        don't quietly call METHOD-FUNCTION for the user.
7296
72972006-04-26 13:56  gb
7298
7299        * lib/encapsulate.lisp: Use REPLACE-FUNCTION-CODE (not (SETF (UVREF
7300        ...))) in ENCAPSULATE, REMOVE-ENCAPSULATION.
7301
73022006-04-26 03:59  gb
7303
7304        * lisp-kernel/: x86-spentry64.s, x86-subprims64.s: zero out the
7305        exception bits whenever mxcsr is stored in tcr.foreign_mxcsr, so no
7306        exceptions will be pending when we start an ff-call (and the mxcsr
7307        is loaded from that location.)
7308       
7309        tcr.ffi_exception will then contain non-zero exception bits iff the
7310        most recent ff-call raised a (probably masked) FP exception.
7311       
7312        TODO: make this reentrant (PROCESS-INTERRUPT should preserve this.)
7313
73142006-04-26 03:55  gb
7315
7316        * lisp-kernel/x86-constants.s: define mxcsr exception bits.
7317
73182006-04-26 03:23  gb
7319
7320        * lisp-kernel/x86-constants64.s: Update comment on
7321        tcr.ffi_exception.
7322
73232006-04-26 03:22  gb
7324
7325        * lisp-kernel/x86-spentry64.s: Maintain tcr.ffi_exception on return
7326        from ffcall.  (Should maybe clear exception bits on entry to
7327        foreign state, so we're sure that any exception bits set in the
7328        tcr.ffi_exception slot were caused by the most recent ff-call.)
7329
73302006-04-26 03:20  gb
7331
7332        * level-0/X86/x86-float.lisp: Check MXCSR status bits from last
7333        ffcall, compare them to unmasked exception bits in current MXCSR,
7334        maybe raise FP exception.  (Note: compile this change and rebuild
7335        image before making corresponding kernel change.)
7336
73372006-04-26 02:31  gb
7338
7339        * lisp-kernel/x86-spentry64.s: .SPbuiltin-logxor was calling out to
7340        LOGAND-2, not to LOGXOR-2.  Sheesh.
7341
73422006-04-26 02:01  gb
7343
7344        * compiler/X86/X8664/x8664-vinsns.lisp: %ILOGBITP treats "large"
7345        bit numbers as tests of the sign bit.   (This is probably best
7346        viewed as being "formally undefined", but it's not too expensive to
7347        check for that.  The case where the bit number's negative is
7348        definitely undefined; I think that it also gets treated as a test
7349        of the sign bit.)
7350
73512006-04-26 01:58  gb
7352
7353        * lisp-kernel/x86-spentry64.s: Logbitp calls out if bit number
7354        negative.
7355
73562006-04-26 01:32  gb
7357
7358        * lisp-kernel/x86-spentry64.s: If both args fixnums, handle bits >=
7359        61.  (Should check here for negative bit .)
7360
73612006-04-26 01:31  gb
7362
7363        * lisp-kernel/x86-exceptions.c: If we get the "no FP regs in
7364        context" error - which typically indicates a fault during exception
7365        processing - pass the context in to the kernel debugger.
7366
73672006-04-26 01:30  gb
7368
7369        * level-0/X86/x86-pred.lisp: Change EQL doc string.
7370
73712006-04-26 00:56  gb
7372
7373        * level-0/X86/x86-pred.lisp: EQL on two bignums works much better
7374        if it compares all corresponding digits, rather than repeatedly
7375        comparing the 0th digits N times ...
7376
73772006-04-25 17:38  gb
7378
7379        * lisp-kernel/x86-spentry64.s: _SPmvslide: skip the loop if nargs
7380        is 0, not if disp is 0.  ash: always make a signed integer out of
7381        the result,  since arg is always signed.
7382
73832006-04-25 17:37  gb
7384
7385        * level-0/X86/x86-float.lisp: Negate floats by fliping the sign
7386        bit, so (for instance) (- 0.0d0) is -0.0d0.
7387
73882006-04-25 17:36  gb
7389
7390        * level-0/X86/x86-hash.lisp: Hash bignums 32 bits (not 64!) at a
7391        time.
7392
73932006-04-25 17:35  gb
7394
7395        * compiler/X86/x862.lisp: %%INEG: need to ensure that source
7396        operand is in target reg (2-address issue.)
7397
73982006-04-24 16:42  gb
7399
7400        * lisp-kernel/x86-spentry64.s: How hard can misc_set_s32 be ?
7401        Apparently, pretty hard.  It was doing a logical shift right when
7402        typechecking the value, so negative values were rejected.
7403
74042006-04-24 16:41  gb
7405
7406        * lisp-kernel/x86-exceptions.c: Call out to handle SIGFPE.  cmain
7407        callback now takes a 'signo' argument.
7408
74092006-04-24 16:40  gb
7410
7411        * level-1/x86-trap-support.lisp: Initial support for handling
7412        arithmetic errors.  Will need more work to get operation and
7413        operands right.
7414
74152006-04-24 16:39  gb
7416
7417        * lib/compile-ccl.lisp: REBUILD-CCL: :reload arg defaults to T.
7418
74192006-04-24 13:58  gb
7420
7421        * level-1/x86-error-signal.lisp: SETQ (not #'SET) in the
7422        uuo-error-reg-not-type case.
7423
74242006-04-24 13:57  gb
7425
7426        * level-0/X86/x86-float.lisp: Generally want to use FPZERO, not
7427        FP0, for 0.0[d,f]0.  (One case wanted to use fp1, but that's
7428        another story.)
7429
74302006-04-24 13:55  gb
7431
7432        * compiler/X86/X8664/x8664-vinsns.lisp: REQUIRE-REAL,
7433        REQUIRE-NUMBER: mask wont fit in 32 bits.  OTOH, doesn't need to be
7434        boxed, either.
7435
74362006-04-24 12:02  gb
7437
7438        * lisp-kernel/x86-spentry64.s: misc_set_s32: register botch.
7439        _SPtcallnfngen: several bugs, which were already fixed in similar
7440        variants.
7441
74422006-04-24 12:01  gb
7443
7444        * lisp-kernel/x86-gc.c: Use FORCE_DWS_MARK to force use of the
7445        Deutch/Waite/Schorr marker.
7446
74472006-04-24 12:00  gb
7448
7449        * lisp-kernel/pmcl-kernel.c: Only turn on GC debug bit if
7450        GC_INTEGRITY_CHECKING is defined (e.g., in Makefile.)
7451
74522006-04-24 11:59  gb
7453
7454        * level-1/linux-files.lisp: Remove debugging FORMAT call.
7455
74562006-04-24 11:58  gb
7457
7458        * level-0/X86/x86-numbers.lisp: %ROUND-NEAREST-SHORT-FLOAT->FIXNUM:
7459        argument is a SINGLE/SHORT-FLOAT, so don't access as a
7460        DOUBLE-FLOAT.
7461
74622006-04-24 11:58  gb
7463
7464        * level-0/X86/x86-float.lisp: %MAKE-FLOAT-FROM-FIXNUMS: mask the
7465        high and low words of the mantissa, to ensure that no hidden bits
7466        are set.  (Some such bits were set, causing many double-float
7467        constansts - like MOST-POSITVE-DOUBLE-FLOAT - to be bogus NaNs).
7468
74692006-04-24 02:21  gb
7470
7471        * lisp-kernel/image.c: Expect a MANAGED_STATIC section in the
7472        image.
7473       
7474        (Don't expect it to have any contents yet; that'll require several
7475        more changes.   This is all intended to support PURIFY on x8664,
7476        where we'll want to ensure that any constant referenced by a
7477        function in readonly/pure memory has a fixed, static address.)
7478
74792006-04-24 02:14  gb
7480
7481        * lisp-kernel/image.h: Bump IMAGE_ABI_VERSION.  New managed_static
7482        section makes NUM_IMAGE_SECTIONS 4.
7483
74842006-04-24 02:13  gb
7485
7486        * lisp-kernel/area.h: Typo in the definition of
7487        AREA_MANAGED_STATIC.
7488
74892006-04-24 02:12  gb
7490
7491        * lisp-kernel/: pmcl-kernel.c, kernel-globals.h: Global pointers to
7492        more areas.
7493
74942006-04-24 02:12  gb
7495
7496        * lisp-kernel/ppc-exceptions.c: EGC write-barrier labels are the
7497        addresses of instructions (not pointers thereto ...)
7498
74992006-04-24 02:11  gb
7500
7501        * lisp-kernel/ppc-gc.c: Add conditionalization to force DWS marker
7502        (mostly so that I could step through it to remember how it worked
7503        ...).
7504
75052006-04-24 02:10  gb
7506
7507        * lisp-kernel/ppc-spentry.s: write-barrier exported symbols: remove
7508        indirection.
7509
75102006-04-24 02:09  gb
7511
7512        * lisp-kernel/x86-gc.c: Remove a sanity check.
7513
75142006-04-24 02:09  gb
7515
7516        * xdump/xfasload.lisp: Create (empty) managed-static section
7517        (mostly for x8664 PURIFY, but might be useful on PPC someday.)
7518
75192006-04-24 02:08  gb
7520
7521        * xdump/heap-image.lisp: New image-abi-version, for managed-static
7522        section.
7523
75242006-04-24 02:07  gb
7525
7526        * level-1/linux-files.lisp: GET-DESCRIPTOR-FOR: try not to leak
7527        fds, take CLOSE-ON-ERROR more seriously.
7528
75292006-04-24 02:06  gb
7530
7531        * compiler/PPC/ppc2.lisp: (eq %FOREIGN-STACK-POINTER
7532        %CURRENT-FRAME-PTR) on PPC32/64.
7533
75342006-04-24 00:50  gb
7535
7536        * level-1/version.lisp: Bump.  Getting there ...
7537
75382006-04-24 00:50  gb
7539
7540        * level-0/l0-misc.lisp: Use %GET-NATURAL where possible.
7541       
7542        Note that TCRs aren't guaranteed to be in the low 32 bits on x8664,
7543        so pass them as a pointer to avoid word-size issues.
7544
75452006-04-24 00:48  gb
7546
7547        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Implement
7548        things that had been missing.
7549
75502006-04-24 00:48  gb
7551
7552        * compiler/X86/x86-disassemble.lisp: Recognize recently-defined
7553        UUOs.
7554
75552006-04-24 00:48  gb
7556
7557        * compiler/X86/x86-backend.lisp: Fix FIXUP-OPCODE-ORDINALS (again).
7558
75592006-04-24 00:47  gb
7560
7561        * compiler/X86/x86-asm.lisp: UUO-ERROR-ARRAY-BOUNDS.
7562
75632006-04-24 00:47  gb
7564
7565        * compiler/PPC/PPC64/ppc64-vinsns.lisp: A little word-size cleanup.
7566
75672006-04-24 00:47  gb
7568
7569        * compiler/nxenv.lisp: %FOREIGN-STACK-POINTER.
7570
75712006-04-24 00:46  gb
7572
7573        * compiler/nx1.lisp: WITH-C-FRAME, WITH-VARIABLE-C-FRAME: use (new)
7574        %FOREIGN-STACK-POINTER, not %CURRENT-FRAME-PTR (differ on x8664;
7575        need to boostrap on PPC).
7576       
7577        Parse %FOREIGN-STACK-POINTER.
7578
75792006-04-22 03:30  gb
7580
7581        * lisp-kernel/thread_manager.c: If we're using thread-local-storage
7582        (HAVE_TLS is defined), make shutdow_thread_tcr() dequeue the tcr,
7583        because (a) nothing else will and (b) the tcr will likely become
7584        unmapped soon, and we don't want things that walk the tcr list to
7585        segfault.
7586
75872006-04-22 03:27  gb
7588
7589        * lisp-kernel/x86-exceptions.c: Something's clearly wrong in
7590        find_foreign_rsp; call Bug() and exit() if the context has no
7591        fpregs.  (That's a symptom, not the proble, but it's slightly
7592        better to do this than to double fault, which is what seems to be
7593        happening.)
7594
75952006-04-21 10:12  gb
7596
7597        * lisp-kernel/x86-exceptions.c: implement pc_luser_xp; just has to
7598        worry about consing, write-barrier stuff.
7599
76002006-04-21 10:11  gb
7601
7602        * lisp-kernel/x86-constants.h: Define X86 flags register bits
7603        (condition codes.)
7604
76052006-04-21 10:11  gb
7606
7607        * lisp-kernel/x86-exceptions.h: change the signature of pc_luser_xp
7608        (again.)
7609       
7610        Define enumeration constants for matching the instructions that can
7611        occur during consing.
7612
76132006-04-21 10:09  gb
7614
7615        * lisp-kernel/x86-spentry64.s: Preserve %temp0 in
7616        store_node_conditional, in case pc_luser_xp() needs to complete the
7617        memoization.
7618
76192006-04-21 02:50  gb
7620
7621        * lisp-kernel/x86-spentry64.s: Use only the value of the first
7622        instance of :ALLOW-OTHER-KEYS to determine whether unknown keys are
7623        allowed.
7624
76252006-04-21 02:49  gb
7626
7627        * lisp-kernel/lisp-debug.c: Tweak things so that %rip and %flags
7628        line up with GPRs.
7629
76302006-04-21 02:48  gb
7631
7632        * lib/sequences.lisp: SIMPLE-1D-ARRAY-SUBSEQ: 64-bit vector case is
7633        #+64-bit-target, not #+ppc64-target.
7634
76352006-04-21 02:47  gb
7636
7637        * level-0/X86/x86-array.lisp: %SIMPLE-BIT-BOOLE: shift by the right
7638        amount.
7639
76402006-04-21 02:46  gb
7641
7642        * level-0/l0-array.lisp: %UVECTOR-REPLACE: 64-bit vectors aren't
7643        unique to PPC64 (but do depend on #+64-bit-target).
7644
76452006-04-21 02:46  gb
7646
7647        * compiler/X86/x862.lisp: The binding(s) of *INTERRUPT-LEVEL*
7648        confuse PROGV; remove them, for now.
7649
76502006-04-20 23:35  gb
7651
7652        * lisp-kernel/x86-spentry64.s: In the bignum case of
7653        .SPinteger-sign, sign-extend the bignum's sign digit instead of ...
7654        whatever the code was trying to do there.
7655       
7656        In the lexpr-has-two-values case of .SPspread-lexprz, load arg_y
7657        and arg_z from the correct offsets within the lexpr.
7658
76592006-04-20 04:48  gb
7660
7661        * lisp-kernel/x86-gc.c: Get the link-inverting marker written;
7662        force it to always be used, for now.
7663
76642006-04-19 17:11  gb
7665
7666        * lisp-kernel/pmcl-kernel.c: (Very) different
7667        MAXIMUM_MAPPABLE_MEMORY for Solaris.
7668
76692006-04-19 17:10  gb
7670
7671        * lisp-kernel/area.h: (Very) different IMAGE_BASE_ADDRESS for
7672        Solaris.
7673
76742006-04-19 00:35  gb
7675
7676        * lisp-kernel/x86-gc.c: Write a few paragraphs outlining how the
7677        reversing-pointer marker should work.  (Perhaps it's a strong
7678        argument for implementing "purify" soon.)
7679
76802006-04-19 00:34  gb
7681
7682        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
7683        function-boundary-marker.
7684
76852006-04-19 00:33  gb
7686
7687        * lisp-kernel/macros.h: Add node_aligned and indirect_node macros.
7688
76892006-04-18 19:35  gb
7690
7691        * lisp-kernel/x86-spentry64.s: Comparison was backwards in
7692        multiple-value case of THROW: don't want to do unbind_to if tcr's
7693        db-link matches target catch frame's.
7694
76952006-04-18 19:33  gb
7696
7697        * lisp-kernel/x86-uuo.s: Add UUO-ERROR-DEBUG-TRAP, remove
7698        UUO-ERROR-STACK-OVERFLOW.  Still need to get this completely in
7699        synch with x86-asm.
7700
77012006-04-18 19:33  gb
7702
7703        * level-1/l1-readloop-lds.lisp: Say more about the availability of
7704        :R in break messages.
7705       
7706        Say more about :C in :R.
7707
77082006-04-18 19:32  gb
7709
7710        * level-1/l1-readloop.lisp: Remove the #+x86-target debugging code
7711        in QUIT's PROCESS-INTERRUPT call, since the closure- trashing bug
7712        seems to have been fixed.
7713
77142006-04-18 19:31  gb
7715
7716        * level-1/x86-error-signal.lisp: Recognize (uuo-error-not-tag %rn
7717        x8664::subtag-catch-tag) as CANT-THROW-ERROR.  (Yes, this is a
7718        horrible kludge, but it only happens once.)
7719
77202006-04-18 19:19  gb
7721
7722        * level-1/l1-processes.lisp: Remove the #+x86-target debugging code
7723        in PROCESS-EXIT-APPLICATION, since the closure- trashing bug seems
7724        to have been fixed.
7725
77262006-04-18 19:18  gb
7727
7728        * level-0/X86/x86-pred.lisp: EQL on bignums wasn't using
7729        X8664::MISC-DATA-OFFSET, so it was comparing a few bytes beyond the
7730        ends of its arguments and ignoring the first few bytes (as well as
7731        doing misaligned memory references.)
7732
77332006-04-18 19:16  gb
7734
7735        * level-0/X86/x86-def.lisp: Insert the PPC version of APPLY+ here.
7736        This'll require some thought, mostly because of the reserved-frame
7737        issue(s).
7738
77392006-04-18 06:21  gb
7740
7741        * lisp-kernel/ppc-constants32.s: Comment mishaps.  These wacky
7742        adventures are about to end, I'm afraid.
7743
77442006-04-18 06:04  gb
7745
7746        * level-1/version.lisp: Daily bump.
7747
77482006-04-18 05:59  gb
7749
7750        * level-1/l1-sockets.lisp: Comment indentation.
7751
77522006-04-18 05:56  gb
7753
7754        * level-0/PPC/ppc-def.lisp: Move APPLY+ here.
7755
77562006-04-18 05:55  gb
7757
7758        * lib/setf-runtime.lisp: Move APPLY+ (which is defined in LAP) to
7759        ppc-def (that means that there will need to be an APPLY+ for
7760        x8664).
7761
77622006-04-18 05:38  gb
7763
7764        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Try to get the
7765        compiler and x8664-vinsn-templates to agree on vinsn-names and
7766        implement some vinsns that had been missing.  (About 15 or so
7767        undefined vinsns remain.)
7768
77692006-04-18 05:37  gb
7770
7771        * compiler/X86/x86-backend.lisp: The mechanism that tries to fixup
7772        opcode ordinals in vinsn templates (e.g., in case new instructions
7773        are defined in the assembler) wasn't checking to see if vinsn
7774        templates named in the hash table were defined.  (It was apparently
7775        getting away with this because CONSP was broken.)  So, don't try to
7776        fixup opcode ordinals in NIL, and optionally report templates
7777        that're referenced but not defined.
7778
77792006-04-18 04:38  gb
7780
7781        * compiler/X86/x862.lisp: CONSP was using the EXTRACT-FULLTAG vinsn
7782        (which only sets the low 8 bits of its destination), then comparing
7783        all 64-bits of the destination to a zero-extended 32-bit constant.
7784        (E.g., CONSP had little chance of being right all other things
7785        being equal, but may have been right more than one in 2^56 times if
7786        some random preceding instruction had zeroed the upper 56 bits.)
7787       
7788        (It's also shorter to do an 8-bit compare.)
7789
77902006-04-18 03:11  gb
7791
7792        * level-0/X86/x86-hash.lisp: box-fixnum arg order in %DFLOAT-HASH.
7793
77942006-04-18 02:51  gb
7795
7796        * compiler/X86/X8664/x8664-vinsns.lisp: Now that all assemblers are
7797        happy (well, as happy as they're going to be ...), back to finding
7798        bugs.  MULTIPLY-FIXNUMS has to unbox one arg (the source).
7799
78002006-04-18 01:26  gb
7801
7802        * lisp-kernel/thread_manager.c: Some Solaris changes.
7803
78042006-04-18 00:48  gb
7805
7806        * lisp-kernel/solarisx64/Makefile: The version of gm4 that Sun
7807        installs in /usr/sfw/bin is both newer and buggier than the version
7808        available on the "Solaris Companion" disk, which gets installed in
7809        /opt/sfw/bin.
7810       
7811        Ordinarily, I'd wonder why a "companion" disk offers to install
7812        software that's bundled as part of the installation (especially old
7813        versions of that software.)  Now I know.
7814
78152006-04-18 00:45  gb
7816
7817        * lisp-kernel/x86-spentry64.s: # __line__ wasn't a comment.
7818
78192006-04-18 00:45  gb
7820
7821        * lisp-kernel/m4macros.m4: Fix changecom.
7822
78232006-04-18 00:11  gb
7824
7825        * lisp-kernel/x86-spentry64.s: x8664 linux as doesn't like typos,
7826        but is otherwise fine with single-line /* */.
7827
78282006-04-18 00:09  gb
7829
7830        * lisp-kernel/: errors.s, imports.s, lisp.s, m4macros.m4,
7831        ppc-asmutils.s, ppc-constants.s, ppc-constants32.s,
7832        ppc-constants64.s, ppc-macros.s, ppc-spentry.s, ppc-spjump.s,
7833        ppc-subprims.s, ppc-uuo.s, x86-asmutils64.s, x86-constants.s,
7834        x86-constants64.s, x86-macros.s, x86-spentry64.s, x86-spjump64.s,
7835        x86-subprims64.s, x86-uuo.s, darwinppc/Makefile,
7836        darwinppc64/Makefile: Whoops.  Darwin as doesn't like #.  I dont
7837        like Darwin as, but we're back to single-line /* */, which is often
7838        pretty ugly and not well-supported by Emacs.
7839
78402006-04-17 23:23  gb
7841
7842        * lisp-kernel/: errors.s, imports.s, lisp.s, m4macros.m4,
7843        ppc-asmutils.s, ppc-constants.s, ppc-constants32.s,
7844        ppc-constants64.s, ppc-uuo.s, x86-asmutils64.s, x86-constants.s,
7845        x86-constants64.s, x86-macros.s, x86-spjump64.s, x86-subprims64.s,
7846        x86-uuo.s: Use #/newline for comment delimiters, which is supported
7847        by Emacs and by all current GAS versions (but see ARM conventions.)
7848         No more jerking around with this, knock wood.
7849
78502006-04-17 23:23  gb
7851
7852        * lisp-kernel/x86-spentry64.s: _SPspread_lexprz wasn't handling the
7853        case where caller provided args before the lexpr, which is much
7854        harder than the simple case.
7855       
7856        Use #/newline for comment delimiters, which is supported by Emacs
7857        and by all current GAS versions (but see ARM conventions.)  No more
7858        jerking around with this, knock wood.
7859
78602006-04-17 23:20  gb
7861
7862        * level-0/X86/x86-numbers.lisp: %FIXNUM-GCD was horrible, espcially
7863        when numbers differed greatly in magnitude.  Current (binary)
7864        algorithm is usually OK.
7865
78662006-04-17 23:17  gb
7867
7868        * compiler/X86/x86-lap.lisp: Condition name should be
7869        UNDEFINED-X86-LAP-LABEL, since it's (a) referenced and (b) that's
7870        not the problem.  Name wasn't spelled correctly in code that
7871        signals the condition, anyway.
7872
78732006-04-17 16:34  gb
7874
7875        * lisp-kernel/x86-exceptions.c: pc_luser_xp always takes a tcr
7876        argument, takes a new boolean to distinguish current tcr from
7877        others.  (The current tcr is only lusered on an interrupt; others
7878        are only lusered on GC entry.)
7879
78802006-04-17 16:33  gb
7881
7882        * lisp-kernel/x86-exceptions.h: X86 prototype for pc_luser_xp moved
7883        here.  (No deep reason not to share the new x86 signature on all
7884        architectures.)
7885
78862006-04-17 16:32  gb
7887
7888        * lisp-kernel/ppc-exceptions.h: PPC prototype for pc_luser_xp moved
7889        here.  (No deep reason not to share the new x86 signature on all
7890        architectures.)
7891
78922006-04-17 16:31  gb
7893
7894        * lisp-kernel/lisp-exceptions.h: prototype for pc_luser_xp is
7895        platform-dependent.
7896
78972006-04-17 06:49  gb
7898
7899        * level-1/l1-readloop.lisp: In the closure created in QUIT, only do
7900        CCL::DBG if (a) we're on X86 and (b) the inner closure is bad
7901        already.
7902
79032006-04-17 06:17  gb
7904
7905        * lisp-kernel/lisptypes.h: Don't know if there's such a thing as
7906        truly portable type name.
7907
79082006-04-17 06:16  gb
7909
7910        * lisp-kernel/: errors.s, lisp.s, m4macros.m4, x86-constants.s,
7911        x86-constants64.h, x86-constants64.s, x86-exceptions.c,
7912        x86-exceptions.h, x86-gc.c, x86-macros.s, x86-spentry64.s,
7913        x86-spjump64.s, x86-uuo.s: Well, // style comments seem to only
7914        work if they're at the start of a line in Linux GAS.  Try /* */
7915        comments, but limit them to a single line.  (May ultimately be
7916        better to use m4 dnl - carefully - and avoid end-of-line comments.)
7917
79182006-04-17 05:28  gb
7919
7920        * lisp-kernel/: x86-macros.s, x86-spentry64.s, x86-spjump64.s,
7921        x86-subprims64.s, x86-uuo.s: // comments.
7922
79232006-04-17 05:28  gb
7924
7925        * lisp-kernel/x86-gc.c: timeradd, timersub.  Other Solaris
7926        conditionalization.
7927
79282006-04-17 05:27  gb
7929
7930        * lisp-kernel/x86-exceptions.h: Solaris-related changes (xp
7931        accessors, etc.)
7932
79332006-04-17 05:26  gb
7934
7935        * lisp-kernel/x86-exceptions.c: Solaris-related changes (mostly in
7936        the sigstack trampoline stuff.)
7937
79382006-04-17 05:25  gb
7939
7940        * lisp-kernel/x86-constants64.h: // comments, Solaris-friendly
7941        integer types.
7942
79432006-04-17 05:24  gb
7944
7945        * lisp-kernel/: x86-asmutils64.s, x86-constants.s,
7946        x86-constants64.s: // comments.
7947
79482006-04-17 05:23  gb
7949
7950        * lisp-kernel/pmcl-kernel.c: Some Solaris conditionalization.
7951        Solaris mmap() is ... unusual.
7952
79532006-04-17 05:21  gb
7954
7955        * lisp-kernel/m4macros.m4: Use C++-style single-line comments,
7956        since Solaris version of GAS doen't handle multi-line comments (/*
7957        ... */).  It -seems- that other assemblers do handle them
7958        correctly; we'll see.
7959       
7960        Some Solaris conditionalization (ELFstabs, etc.)
7961
79622006-04-17 05:20  gb
7963
7964        * lisp-kernel/lisptypes.h: Conditionalize for Solaris (type names).
7965         We'll see what this breaks.
7966
79672006-04-17 05:19  gb
7968
7969        * lisp-kernel/lisp.h: PLATFORM_OS is PLATFORM_OS_SOLARIS when
7970        SOLARIS is defined.
7971
79722006-04-17 05:18  gb
7973
7974        * lisp-kernel/lisp-debug.c: Solaris conditionalization; print
7975        registers in predictable order.
7976
79772006-04-17 05:17  gb
7978
7979        * lisp-kernel/: errors.s, imports.s, lisp.s: Use C++-style
7980        single-line comments, since Solaris version of GAS doen't handle
7981        multi-line comments (/* ... */).  It -seems- that other assemblers
7982        do handle them correctly; we'll see.
7983
79842006-04-17 05:15  gb
7985
7986        * lisp-kernel/area.h: IMAGE_BASE_ADDRESS for SolarisX64.  Wrong.
7987
79882006-04-17 05:15  gb
7989
7990        * lisp-kernel/Threads.h: Conditionalize for Solaris.
7991       
7992        TODO: drop Jaguar support, use POSIX (vice Mach) semaphores on all
7993        platforms ?
7994
79952006-04-17 05:01  gb
7996
7997        * lisp-kernel/solarisx64/Makefile: new file
7998
79992006-04-17 04:56  gb
8000
8001        * lisp-kernel/linuxx8664/Makefile: Make it a little easier to
8002        change the name/usage of the linker script.
8003       
8004        Stop using the linker script (since spjump is the only thing in the
8005        kernel that has to be at a fixed address and we can copy it there.)
8006       
8007        Don't disable the EGC.
8008
80092006-04-17 04:54  gb
8010
8011        * lisp-kernel/x86-spjump64.s: Define spjump_start as the origin of
8012        the spjump table, exported for C (so that spjump can be mapped into
8013        low memory.)
8014
80152006-04-17 04:54  gb
8016
8017        * lisp-kernel/x86-spentry64.s: Use reserved_frame_marker.
8018       
8019        If the tlb's too small when trying to bind a special, push the
8020        binding index of the symbol we're binding (for the benefit of the
8021        handler.)
8022
80232006-04-17 04:52  gb
8024
8025        * lisp-kernel/x86-gc.c: Check for cases where a function has more
8026        code words than it has elements (can't happen, unless the
8027        function's code-words word is garbage, which seems to happen when
8028        closures get consed up in non-zeroed memory.)
8029       
8030        Make sure that we mark and forward Itemp2 (= %rcx = %temp2 =
8031        %nargs.q), which sometimes contains something tagged and
8032        non-immediate.
8033
80342006-04-17 04:48  gb
8035
8036        * lisp-kernel/x86-exceptions.c: new_heap_segment() (slowly) checks
8037        to ensure that everythings's zeroed.
8038       
8039        x8664 implementation of extend_tcr_tlb().
8040       
8041        on a gc trap, use tcr->save_allocptr (not the random value in %rbx)
8042        in call to update_bytes_allocated().
8043       
8044        normalize_tcr() - alway set tcr->save_allocptr/tcr->save_allocbase
8045        to VOID_ALLOCPTR (I -think- that this explains the crash-on-quit
8046        bug, and possibly some other instabiliy.)
8047       
8048        handle_exception: keep trying to guess how to distinguish memory
8049        faults from other sources of SIGSEGV.
8050       
8051        On debug traps, advance the PC past the UUO before entering the
8052        debugger.
8053       
8054        Handle XUUO_TLB_TOO_SMALL.
8055
80562006-04-17 04:42  gb
8057
8058        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
8059        reserved_frame_marker.
8060
80612006-04-17 04:42  gb
8062
8063        * lisp-kernel/thread_manager.c: Remove implementation of
8064        extend_tcr_tlb().
8065
80662006-04-17 04:41  gb
8067
8068        * lisp-kernel/ppc-exceptions.h: Prototype for PPC version of
8069        extend_tcr_tlb().
8070
80712006-04-17 04:41  gb
8072
8073        * lisp-kernel/ppc-exceptions.c: PPC version of extend_tcr_tlb().
8074
80752006-04-17 04:40  gb
8076
8077        * lisp-kernel/pmcl-kernel.c: Remap the spjump table on x8664, so
8078        that we don't need to use a linker script.
8079
80802006-04-17 04:40  gb
8081
8082        * lisp-kernel/Threads.h: extend-tcr-tlb: signature defined by
8083        target xxx-exceptions.h now.
8084
80852006-04-17 04:39  gb
8086
8087        * lib/misc.lisp: Some comment formatting/editing.
8088
80892006-04-17 04:38  gb
8090
8091        * level-1/version.lisp: Bump.
8092
80932006-04-17 04:38  gb
8094
8095        * level-1/l1-readloop.lisp: Some debugging code in the code which
8096        creates the final closure.  It seems that when it's bad, it's bad
8097        on creation (here.)
8098
80992006-04-17 04:37  gb
8100
8101        * level-1/l1-processes.lisp: Some debugging code in
8102        PROCESS-EXIT-APPLICATION, to try to catch whatever's causing the
8103        final closure to be trashed.
8104       
8105        I don't think that other threads were getting their allocptr's
8106        nullified correctly by the GC/normalize_tcr(); with the current
8107        debugging code in place, it seems like the closure is consed on top
8108        of something other than free, thread-private heap memory (when it's
8109        bad, it fails the first check here.  I'm not sure that the latest
8110        round of GC/normalize-tcr() changes have fixed the problem, but I
8111        haven't seen it in a while now, either.)
8112
81132006-04-17 04:32  gb
8114
8115        * level-0/X86/x86-def.lisp: %FUNCTION-CODE-BYTE (for partial
8116        disassembly, etc.).
8117
81182006-04-17 04:31  gb
8119
8120        * compiler/X86/X8664/x8664-vinsns.lisp: Use RESERVED-FRAME-MARKER
8121        in RESERVE-OUTGOING-FRAME; don't use ENSURE-RESERVED-FRAME at all
8122        (anymore.)
8123       
8124        Subprims are down in low memory again; make INIT-CLOSURE skip
8125        setting the high byte of .SPcall-closure's address if it's zero.
8126
81272006-04-17 04:28  gb
8128
8129        * compiler/X86/X8664/x8664-arch.lisp: Define RESERVED-FRAME-MARKER,
8130        which may help backtrace.
8131
81322006-04-17 04:26  gb
8133
8134        * lib/: backtrace.lisp, ppc-backtrace.lisp: Split up RAW-FRAME-REF
8135        (interface/implementation.)
8136
81372006-04-15 09:20  gb
8138
8139        * level-1/x86-callback-support.lisp: Ensure that callback
8140        trampolines are allocated in executable memory.
8141
81422006-04-15 09:12  gb
8143
8144        * lib/dumplisp.lisp: Refresh external entry points before reviving
8145        callbacks.  Reset callback storage before reviving callbacks.
8146
81472006-04-15 09:10  gb
8148
8149        * level-1/x86-error-signal.lisp: Don't prefix the unknown trap
8150        error message with a %.  (Where did that come from ?)
8151
81522006-04-15 09:08  gb
8153
8154        * level-1/ppc-callback-support.lisp: Don't (knock wood) need to do
8155        anything in RESET-CALLBACK-STORAGE for PPC, since malloc()ed memory
8156        is executable.
8157
81582006-04-14 09:02  gb
8159
8160        * lib/time.lisp: Jeez.  Save buffer, why dontcha.
8161
81622006-04-14 08:21  gb
8163
8164        * lib/time.lisp: ENCODE-UNIVERSAL-TIME: treat year 0-99 as
8165        shorthand for the nearest matching year.
8166
81672006-04-14 08:20  gb
8168
8169        * lib/format.lisp: FORMAT-PRINT-NUMBER was printing commas even
8170        when : was missing.
8171
81722006-04-13 23:09  gb
8173
8174        * lib/ppc-backtrace.lisp: Eschew missing parens.
8175
81762006-04-13 23:08  gb
8177
8178        * lib/describe.lisp: Change NTH-VALUE-IN-FRAME call.
8179
81802006-04-13 23:08  gb
8181
8182        * lib/backtrace.lisp: DBG-FORM checks the second return value from
8183        ARGLIST-FROM-MAP.
8184
81852006-04-13 23:02  gb
8186
8187        * lib/arglist.lisp: Don't pass a "conser" function around (the idea
8188        is leftover from 68K MCL).  ARGLIST-FROM-MAP tries to be consistent
8189        about returning a second value; returns values NIL, T for functions
8190        that take no args and don't have a symbol map.
8191
81922006-04-13 22:53  gb
8193
8194        * level-1/l1-lisp-threads.lisp: Try to make args to
8195        NTH-VALUE-IN-FRAME et al a little saner.
8196
81972006-04-13 22:37  gb
8198
8199        * lib/numbers.lisp: Conditionalize on word size, not PPC processor
8200        type.
8201
82022006-04-13 22:36  gb
8203
8204        * level-1/version.lisp: Bump.
8205
82062006-04-13 22:35  gb
8207
8208        * level-1/l1-aprims.lisp: Remove the DBG trap from #'APPLY.  Still
8209        trying to find the cause of the crash-on-quit bug.
8210
82112006-04-13 07:30  gb
8212
8213        * lib/ppc-backtrace.lisp: Migrate some stuff here.
8214
82152006-04-13 07:29  gb
8216
8217        * level-1/l1-lisp-threads.lisp, lib/backtrace.lisp: Migrate some
8218        stuff to target-backtrace.
8219
82202006-04-13 06:45  gb
8221
8222        * lisp-kernel/x86-gc.c: mark_root: need to handle TRAs earlier.
8223
82242006-04-13 06:44  gb
8225
8226        * lisp-kernel/pmcl-kernel.c: Set GC debug bits manually here on
8227        x8664.
8228
82292006-04-13 06:44  gb
8230
8231        * level-1/x86-error-signal.lisp: XP-ARGUMENT-LIST: only the low 13
8232        bytes of %nargs_q contain arg count.
8233
82342006-04-13 06:43  gb
8235
8236        * level-1/l1-error-system.lisp: No EVAL-PROGRAM-ERROR. Please.
8237
82382006-04-13 06:43  gb
8239
8240        * level-1/l1-aprims.lisp: Trying to find what's (sometimes)
8241        trashing a closure during QUIT; embed a #+x86-target breakpoint in
8242        APPLY.
8243
82442006-04-13 06:42  gb
8245
8246        * level-0/X86/x86-numbers.lisp: Bad typo in %FIXNUM-GCD.
8247
82482006-04-13 06:41  gb
8249
8250        * compiler/X86/x862.lisp: Lap expression changes; recycle constant
8251        operands.
8252
82532006-04-13 06:41  gb
8254
8255        * compiler/X86/x86-lap.lisp: Freelist a lot of things; use
8256        "vector-lists" instead of adjustable arrays, simplify handling of
8257        constant expressions.  Still conses hysterically; need to find out
8258        where and tone it down a bit, if possible.
8259
82602006-04-13 06:39  gb
8261
8262        * compiler/X86/x86-disassemble.lisp: Maybe no lap immediate
8263        operands; maybe no lap constant-expressions.
8264
82652006-04-13 06:39  gb
8266
8267        * compiler/X86/x86-asm.lisp: Don't need
8268        *lap-constant-0-expression*.
8269
82702006-04-13 00:46  gb
8271
8272        * lisp-kernel/linuxx8664/Makefile: Kernel depends on Makefile,
8273        linker script.
8274
82752006-04-13 00:45  gb
8276
8277        * lisp-kernel/linuxx8664/elf_x86_64.x: Use linker script from ld
8278        2.16.1 (Thanks to James Bielman).
8279
82802006-04-12 18:53  gb
8281
8282        * lisp-kernel/linuxx8664/elf_x86_64.x: Try to avoid use of
8283        PROVIDE_HIDDEN, since some versions of GNU ld don't like it.  (Most
8284        of this seems to have to do with C++ static constructors, which
8285        aren't really relevant here.)
8286
82872006-04-12 18:28  gb
8288
8289        * lisp-kernel/x86-spentry64.s: Use movd (not movq) when moving
8290        between %Rforeign_sp and GPRs.
8291
82922006-04-12 18:22  gb
8293
8294        * lisp-kernel/linuxx8664/Makefile: egc flag
8295
82962006-04-12 18:08  gb
8297
8298        * lisp-kernel/x86-gc.c: Add current/prev (temporarily) to help find
8299        where we're losing here.
8300
83012006-04-12 18:07  gb
8302
8303        * lisp-kernel/x86-exceptions.c: pc_luser_xp: notice if we're in the
8304        write barrier code, crap out if so.
8305
83062006-04-12 18:06  gb
8307
8308        * lisp-kernel/pmcl-kernel.c: Disable EGC if DISABLE_EGC is defined
8309        (presumably in a Makefile).
8310
83112006-04-12 14:50  gb
8312
8313        * level-1/version.lisp: Bump.
8314
83152006-04-12 14:46  gb
8316
8317        * lib/: compile-ccl.lisp, ppc-backtrace.lisp, systems.lisp,
8318        x86-backtrace.lisp: new target backtrace stuff.
8319
83202006-04-12 14:45  gb
8321
8322        * lib/backtrace.lisp: Start splitting things up, ideally into a
8323        mostly abstract API and gory platform- dependent implementation
8324        details.
8325
83262006-04-11 21:40  gb
8327
8328        * lisp-kernel/pmcl-kernel.c: Only way to stress-test EGC is to turn
8329        the damned thing on.  (A little painful with integrity checking
8330        enabled, as it still is by default.)
8331       
8332        TODO:
8333       
8334        - sleep (me) - non-recursive (link-inverting) marker - pc-lusering
8335        (pc_luser_xp()) - backtrace - ANSI CL tests - purify - 2d-aref - FP
8336        exception handling - check UUO usage in kernel, disassembler,
8337        exception handlers - stack overflow recovery
8338
83392006-04-11 21:24  gb
8340
8341        * lisp-kernel/x86-gc.c: Skip over function code in
8342        check_refmap_consistency.
8343
83442006-04-11 21:23  gb
8345
8346        * lisp-kernel/x86-spentry64.s: Write barrier memoization sets bits
8347        backwards.
8348
83492006-04-11 19:11  gb
8350
8351        * compiler/X86/x862.lisp: Change LABELS for new closure format.
8352
83532006-04-11 19:11  gb
8354
8355        * lisp-kernel/x86-spentry64.s: 3 words of code + inner function in
8356        a closure, no lfname slot in closure.
8357
83582006-04-11 16:29  gb
8359
8360        * lisp-kernel/linuxx8664/.gdbinit: ada  prints active dynamic (GC)
8361        area.
8362
83632006-04-11 16:29  gb
8364
8365        * lisp-kernel/x86-subprims64.s: Maintain the MXCSR on transitions
8366        between lisp/foreign code.
8367
83682006-04-11 16:29  gb
8369
8370        * lisp-kernel/x86-spentry64.s: Add write barrier stuff (may have
8371        bit-order problems.)
8372       
8373        Maintain the MXCSR on transitions between lisp/foreign code.
8374
83752006-04-11 16:28  gb
8376
8377        * lisp-kernel/x86-macros.s: Access globals in expressions.
8378
83792006-04-11 16:27  gb
8380
8381        * lisp-kernel/x86-gc.c: Start to implement EGC for X8664; this'll
8382        need some bootstrapping stuff (function boundary markers) for a few
8383        reasons, as will DWS marker.
8384
83852006-04-11 16:27  gb
8386
8387        * lisp-kernel/x86-exceptions.c: If we get an FP exception, report
8388        the siginfo error code.
8389
83902006-04-11 16:26  gb
8391
8392        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Define MXCSR
8393        fields in tcr.
8394
83952006-04-11 16:25  gb
8396
8397        * lisp-kernel/x86-constants.h: Define MXCSR bits.
8398
83992006-04-11 16:25  gb
8400
8401        * lisp-kernel/thread_manager.c: Setup the MXCSR somewhat sanely
8402        when starting a lisp thread.  (It'll be saner when FP exceptions
8403        are handled.)
8404
84052006-04-11 16:24  gb
8406
8407        * level-1/x86-error-signal.lisp: Recognize what complaints about
8408        non-uvectors are trying to tell us.
8409
84102006-04-11 16:23  gb
8411
8412        * level-1/l1-io.lisp: PRINT-OBJECT method for TRAs, symbol/function
8413        vectors.
8414
84152006-04-11 16:23  gb
8416
8417        * level-1/l1-clos-boot.lisp: Spell TAGGED-RETURN-ADDRESS with more
8418        Ses.  Define classes for function/symbol vectors.
8419
84202006-04-11 16:22  gb
8421
8422        * level-0/X86/x86-def.lisp: %RETURN-ADDRESS-OFFSET.
8423
84242006-04-11 16:21  gb
8425
8426        * compiler/X86/X8664/x8664-vinsns.lisp: Closure initialization
8427        needs to add a function boundary marker (but we can stop padding
8428        each closure with a null function name slot.)
8429
84302006-04-11 16:20  gb
8431
8432        * compiler/X86/X8664/x8664-arch.lisp: Define
8433        FUNCTION-BOUNDARY-MARKER, which should never exist in the wild.
8434
84352006-04-11 16:19  gb
8436
8437        * compiler/X86/x862.lisp: Emit a function boundary marker between
8438        code and constants. (For GC reasons.) Change closure initialization
8439        to account for it.
8440
84412006-04-11 16:18  gb
8442
8443        * compiler/X86/x86-lap.lisp: Emit a function boundary marker
8444        between code and constants. (For GC reasons.)
8445
84462006-04-11 16:17  gb
8447
8448        * compiler/X86/x86-disassemble.lisp: Require more stuff.
8449
84502006-04-11 16:17  gb
8451
8452        * compiler/nxenv.lisp: Require X8664ENV on X8664.
8453       
8454        See if we can get by without 68K condition code ...
8455
84562006-04-11 06:53  gb
8457
8458        * lisp-kernel/x86-exceptions.c: We'll need to handle FP exceptions
8459        soon.
8460
84612006-04-11 06:53  gb
8462
8463        * lib/numbers.lisp: Infinity constants conditionalized on/off
8464        during MXCSR adventures.  On now.
8465
84662006-04-11 06:52  gb
8467
8468        * lib/describe.lisp: Comment indentation.
8469       
8470        No such thing as an interpreted function; hasn't been for years.
8471
84722006-04-11 06:51  gb
8473
8474        * level-1/x86-threads-utils.lisp: Fixup lfun bits of %FIXNUM-SET et
8475        al.
8476
84772006-04-11 06:51  gb
8478
8479        * level-1/version.lisp: Bumped yesterday.
8480
84812006-04-11 06:50  gb
8482
8483        * level-1/l1-error-signal.lisp: Comments.
8484
84852006-04-11 06:50  gb
8486
8487        * level-1/l1-clos-boot.lisp: CLASS-OF handles non-simple vectors,
8488        at least.
8489
84902006-04-11 06:50  gb
8491
8492        * level-0/X86/x86-float.lisp: MXCSR stuff.  Better, mostly because
8493        a fixnum constant is boxed in %SET-MXCSR.
8494
84952006-04-11 06:49  gb
8496
8497        * level-0/X86/x86-def.lisp: Get info about register usage.
8498
84992006-04-11 06:49  gb
8500
8501        * compiler/X86/X8664/x8664-vinsns.lisp: Natural arithmetic; start
8502        work on 2d aref.  Fix MISC-SET-U64 (or some flavor thereof), which
8503        though that it was dealing with a scaled index.
8504
85052006-04-11 06:48  gb
8506
8507        * compiler/X86/x862.lisp: Natural arithmetic; start work on 2d
8508        aref.
8509
85102006-04-11 06:48  gb
8511
8512        * compiler/X86/x86-lap.lisp: FRAGs are freelisted.  Really need to
8513        do something about FRAG-CODE-BUFFERs, and need to tone down
8514        expression overkill.
8515
85162006-04-11 06:46  gb
8517
8518        * compiler/X86/x86-backend.lisp: Vinsn template fixup mechanism,
8519        for when opcode ordinals change.
8520
85212006-04-11 06:46  gb
8522
8523        * compiler/X86/x86-asm.lisp: UUO-ERROR-STACK-OVERFLOW ->
8524        UUO-ERROR-ARRAY-RANK.
8525       
8526        Vinsn template fixup mechanism, for when opcode ordinals change.
8527
85282006-04-11 06:45  gb
8529
8530        * compiler/X86/x86-arch.lisp: Try to unscramble MXCSR bits/masks.
8531
85322006-04-11 06:45  gb
8533
8534        * compiler/nx0.lisp: NX-U31-CONSTANT-P.
8535
85362006-04-11 06:44  gb
8537
8538        * compiler/dll-node.lisp: WITH-DLL-NODE-FREELIST: syntax to allow
8539        specialized list header initialization.
8540
85412006-04-11 06:43  gb
8542
8543        * level-1/l1-error-system.lisp, compiler/arch.lisp: Type errors for
8544        2d float arrays.
8545
85462006-04-10 10:19  gb
8547
8548        * lisp-kernel/x86-spentry64.s: _SPcallback is now called with the
8549        foreign SP properly obeying C alignment conventions.  In order to
8550        get it aligned for lisp usage during the callback, an extra word
8551        needs to be pushed before the backpointer to the old foreign RSP.
8552
85532006-04-10 10:18  gb
8554
8555        * lisp-kernel/x86-exceptions.c: Ensure that the copied sigcontext
8556        is 16-byte aligned, so that the foreign stack pointer is aligned
8557        according to C conventions when we enter the signal handler on that
8558        stack.
8559
85602006-04-10 10:13  gb
8561
8562        * lib/numbers.lisp: Define FP infinities, since we're running with
8563        FP exceptions masked. (We don't handle FP exceptions on X8664 yet,
8564        but this was crashing due to ldmxcsr/stmxcsr confusion, not because
8565        an unmasked FP exception was raised and unhandled.)
8566
85672006-04-10 10:10  gb
8568
8569        * lib/level-2.lisp: Remove the WARN and the conditionalization
8570        around bit/bitfield accessors on X8664.
8571
85722006-04-10 10:09  gb
8573
8574        * level-0/X86/x86-float.lisp: Repeat after me: to load the mxcsr
8575        from memory, we say "ldmxcsr".  We want to do such a load in order
8576        to write new values into the mxcsr.  To store it in memory, we say
8577        "stmxcsr".  We want to do such a store (and a subsequent load from
8578        memory) in order to access the value of the mxcsr.  Simple, no ?
8579
85802006-04-10 10:07  gb
8581
8582        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp:
8583        %GET-BIT/%SET-BIT.
8584
85852006-04-10 08:29  gb
8586
8587        * compiler/X86/X8664/x8664-vinsns.lisp: Float
8588        addition/multiplication: either arg can overlap result (and often
8589        will).  Float subtraction/division: caller should ensure that
8590        result and second arg are disjoint.
8591
85922006-04-10 08:27  gb
8593
8594        * compiler/X86/x862.lisp: Float arithmetic is two-address; ensure
8595        that result doesn't overlap second argument for non-commutative
8596        operations.
8597
85982006-04-10 08:26  gb
8599
8600        * lisp-kernel/lisp-debug.c: Show FPRs on LinuxX8664.
8601
86022006-04-10 05:12  gb
8603
8604        * lisp-kernel/thread_manager.c: Don't free dead TCRs if we didn't
8605        malloc them.
8606
86072006-04-10 05:12  gb
8608
8609        * lib/compile-ccl.lisp: REBUILD-CCL paramaters for :LINUXX8664.
8610
86112006-04-10 05:11  gb
8612
8613        * level-1/l1-pathnames.lisp: No need to reference PPC package, and
8614        good reason not to.
8615
86162006-04-10 04:39  gb
8617
8618        * xdump/xfasload.lisp: signed 32-bit, 64-bit integers in fasl files
8619        are always big-endian.
8620
86212006-04-10 04:38  gb
8622
8623        * lisp-kernel/x86-gc.c: mark_root(): if we're marking a function
8624        reachable via a TRA, update the variable "dnode" so that the
8625        correct bits get set.
8626
86272006-04-10 04:37  gb
8628
8629        * level-0/X86/X8664/x8664-bignum.lisp: Remove some breakpoints.
8630
86312006-04-10 04:37  gb
8632
8633        * level-0/X86/x86-array.lisp: %SIMPLE-BIT-BOOLE.  Could stand to be
8634        a bit simpler.
8635
86362006-04-10 04:36  gb
8637
8638        * level-0/l0-hash.lisp: Whoops: %SET-NEEDS-REHASHING is called from
8639        the MAKE-LOAD-FORM method for hashtables.
8640
86412006-04-09 09:17  gb
8642
8643        * lisp-kernel/thread_manager.c: Inflate control stack size on
8644        x8664, until DWS marker works (and do so correctly this time).
8645
86462006-04-09 09:12  gb
8647
8648        * lisp-kernel/thread_manager.c: Inflate control stack size on
8649        x8664, until DWS marker works.
8650
86512006-04-09 09:09  gb
8652
8653        * level-0/l0-hash.lisp: Now that bitvectors work, remove
8654        #+x86-target DBG trap.
8655
86562006-04-09 08:57  gb
8657
8658        * level-0/l0-hash.lisp: Set/clear rehash bits via SBIT, not AREF.
8659        (Should be exactly the same code, but may not have been 15 years
8660        ago or whenever this was written.)
8661
86622006-04-09 08:56  gb
8663
8664        * lisp-kernel/x86-spentry64.s,
8665        compiler/X86/X8664/x8664-vinsns.lisp: Clear bits in a bit vector
8666        via btrX (Bit Test and Reset), not btcX (Bit Test and Complement.)
8667
86682006-04-09 03:52  gb
8669
8670        * lisp-kernel/x86-macros.s: Parens around negative displacement in
8671        condition_to_boolean.  Not clear why this is necessary, but it
8672        seems to be.
8673
86742006-04-09 03:24  gb
8675
8676        * lisp-kernel/x86-macros.s: Use shorter sequence in
8677        condition_to_boolean.
8678
86792006-04-09 02:32  gb
8680
8681        * compiler/X86/X8664/x8664-vinsns.lisp: Using cmovCC intstead of
8682        setCC for cr-bit->boolean is 1 instruction and 2 bytes shorter, all
8683        other things being equal.
8684
86852006-04-09 01:37  gb
8686
8687        * compiler/X86/x86-asm.lisp: reg/reg variants of bsfX, bsrX had
8688        operands backwards.
8689
86902006-04-09 01:37  gb
8691
8692        * compiler/optimizers.lisp: Comment formatting.
8693
86942006-04-09 01:29  gb
8695
8696        * level-0/X86/X8664/x8664-bignum.lisp: %BIGNUM-SIGN-DIGITS:
8697        bsr/xorl != clz when (zerop n).
8698
86992006-04-08 21:25  gb
8700
8701        * lisp-kernel/x86-exceptions.c: Forget about blocking SIGINT in
8702        current thread before entering kernel debugger.
8703
87042006-04-08 21:21  gb
8705
8706        * lib/compile-ccl.lisp: early def of XLOAD-LEVEL-0: require
8707        (TARGET-XLOAD-MODULES).
8708
87092006-04-08 21:21  gb
8710
8711        * lisp-kernel/x86-spentry64.s: misc_set_s16: forgot a lognot.
8712
87132006-04-08 21:20  gb
8714
8715        * level-0/nfasload.lisp: 64-bit vectors: target::, not ppc64::.
8716
87172006-04-08 20:46  gb
8718
8719        * lib/foreign-types.lisp: Add missing paren ...
8720
87212006-04-08 20:45  gb
8722
8723        * lib/foreign-types.lisp: Recognize a :struct-by-value case.
8724
87252006-04-08 20:44  gb
8726
8727        * compiler/X86/X8664/x8664-backend.lisp: X8664 ABI seems to pass
8728        structs by value, sort of.
8729
87302006-04-08 20:43  gb
8731
8732        * x86-headers64/libc/C/populate.sh: Add -D_GNU_SOURCE to CFLAGS.
8733
87342006-04-08 20:42  gb
8735
8736        * library/hash-cons.lisp: Port some of this to x8664; need to add
8737        code to maintain "used" bitmap.
8738
87392006-04-08 20:42  gb
8740
8741        * lib/numbers.lisp: Conditionalize out the FP infinity stuff in the
8742        short term.
8743
87442006-04-08 20:41  gb
8745
8746        * lib/edit-callers.lisp: %MAP-LFIMMS: lfun-vector changes.  Should
8747        someday fix this crap.
8748
87492006-04-08 20:40  gb
8750
8751        * lib/describe.lisp: Conditionalize, a little.
8752
87532006-04-08 20:40  gb
8754
8755        * lib/db-io.lisp: SAVE-DB-FUNCTION appears to be unused.
8756
87572006-04-08 20:39  gb
8758
8759        * level-1/l1-io.lisp: PRINT-A-NAN not #+ppc-target.
8760
87612006-04-08 20:39  gb
8762
8763        * level-1/l1-readloop-lds.lisp: Error reentry stuff here.
8764
87652006-04-08 20:39  gb
8766
8767        * level-1/l1-sockets.lisp: Workaround ffi translator lossage in
8768        _inet_ntoa (just as Darwin has for years; why not fix this ?)
8769
87702006-04-08 20:38  gb
8771
8772        * level-1/ppc-trap-support.lisp: Error-reentry stuff to
8773        l1-readloop-lds (nothing to do with PPC or traps ...)
8774
87752006-04-08 20:37  gb
8776
8777        * .cvsignore: Ignore *CL*/*cl*, not necessarily *CCL*/*ccl*.
8778
87792006-04-08 04:46  gb
8780
8781        * compiler/X86/x862.lisp: X862-MVCALL needs to always save and
8782        restore, even if there's only one values-producing form (that form
8783        might produce more values than will fit in argument registers, and
8784        we therefore have to reserve space for a stack frame.)
8785
87862006-04-08 04:45  gb
8787
8788        * compiler/X86/x86-asm.lisp: Need to actually define INSERT-IMM64.
8789
87902006-04-08 04:43  gb
8791
8792        * lib/macros.lisp: Scanning backwards for instructions depends on a
8793        reasonable architecture.
8794
87952006-04-08 04:43  gb
8796
8797        * lib/compile-ccl.lisp: TARGET-XLOAD-MODULES for x8664.
8798
87992006-04-08 04:42  gb
8800
8801        * xdump/xfasload.lisp: Hide ppc32 double-float-vector stuff in
8802        target arch.
8803
88042006-04-08 04:41  gb
8805
8806        * xdump/.cvsignore: ignore *.*fsl
8807
88082006-04-07 22:46  gb
8809
8810        * compiler/nx.lisp: XCOMPILE-LAMBDA is #+ppc-target for now.
8811
88122006-04-07 22:45  gb
8813
8814        * compiler/nx1.lisp: Provide an FTYPE declaration for
8815        %DEFINE-PPC-LAP-FUNCTION.
8816
88172006-04-07 22:25  gb
8818
8819        * level-1/version.lisp: Bump.
8820
88212006-04-07 22:19  gb
8822
8823        * compiler/PPC/ppc-asm.lisp, compiler/PPC/ppc-backend.lisp,
8824        compiler/PPC/ppc-disassemble.lisp, compiler/PPC/ppc-lap.lisp,
8825        lib/backtrace-lds.lisp: ARCH::OPCODE, ARCH::OPERAND moved to CCL
8826        package.
8827
88282006-04-07 22:18  gb
8829
8830        * compiler/risc-lap.lisp: OPCODE, OPERAND moved here and from
8831        arch:: to ccl::.
8832
88332006-04-07 22:17  gb
8834
8835        * compiler/arch.lisp: OPERAND, OPCODE belong elsewhere (in
8836        RISC-LAP, for instance).  That's a different package, too.
8837
88382006-04-07 20:46  gb
8839
8840        * library/lispequ.lisp: %CONS-FAKE-STACK-FRAME here.  Really.
8841
88422006-04-07 20:45  gb
8843
8844        * level-0/l0-pred.lisp: *IMMHEADER-1-TYPES* was wrong, too.  Should
8845        I maybe look at the others, or just fix them as I stumble on them ?
8846
88472006-04-07 20:44  gb
8848
8849        * compiler/X86/X8664/x8664-vinsns.lisp: jns->jne when checking for
8850        a DOUBLE-FLOAT.
8851
88522006-04-07 20:41  gb
8853
8854        * level-0/nfasload.lisp: Print file pos in FASL-DISPATCH debug
8855        message.
8856
88572006-04-07 20:40  gb
8858
8859        * lib/nfcomp.lisp: #+x8664: Check for fulltag-immheader-1, not
8860        fulltag-immheader-0 twice in fasl-scan-dispatch
8861       
8862        FASL-DUMP-SYMBOL needs a SYMPTR->SYMVECTOR.  (Note that FASLOAD has
8863        never handled uninterned symbols that need a binding index.)
8864
88652006-04-07 07:55  gb
8866
8867        * lib/describe.lisp: Formatting changes, mostly.
8868
88692006-04-07 07:54  gb
8870
8871        * compiler/X86/x862.lisp: multiple-value-calls need to reserve an
8872        outgoing stack frame when more than 3 args/ values are involved.
8873
88742006-04-07 07:53  gb
8875
8876        * lisp-kernel/x86-spentry64.s, lisp-kernel/x86-spjump64.s,
8877        compiler/X86/X8664/x8664-arch.lisp,
8878        compiler/X86/X8664/x8664-vinsns.lisp: _SPrecover-values-for-mvcall
8879        (reserves outgoing frame if necessary.)
8880
88812006-04-07 07:52  gb
8882
8883        * level-1/ppc-trap-support.lisp: %CONS-FAKE-STACK-FRAME moved to
8884        lispequ.
8885
88862006-04-07 06:28  gb
8887
8888        * compiler/X86/X8664/x8664-vinsns.lisp: pop argument regs in the
8889        right order.
8890
88912006-04-07 06:27  gb
8892
8893        * level-0/X86/x86-misc.lisp: VALUES accounts for reserved frame.
8894
88952006-04-07 03:59  gb
8896
8897        * compiler/X86/x862.lisp: Don't push the function on the "value"
8898        stack when doing a MULTIPLE-VALUE-CALL, since its presence there
8899        can interfere with multiple-value continuations.  (Can it be popped
8900        before recovering multiple values ?  I didn't think of that, but I
8901        suspect that that'd be simpler than what I did; check this.  Maybe
8902        there is -or once was- an issue with _SPrecovervalues bashing a
8903        register.)
8904       
8905        Pushing the function on the temp stack while collecting multiple
8906        values avoids the issue (but it may be far better to simply vpop it
8907        before the call to _SPrecovervalues.)
8908       
8909        Most of the issues related to X862-MVCALL calling itself
8910        recursively have to do with cleaning the function off of the stack
8911        in non tail-call cases.  Since the function's not there anymore,
8912        the rationale for splitting this into a base and recursive case
8913        isn't very strong.
8914       
8915        Changes in X862-MVCALL exposed bugs in X862-INVOKE-FN: we don't
8916        want to emit or otherwise reference the mvpass label if it's null.
8917
89182006-04-07 03:51  gb
8919
8920        * compiler/X86/X8664/x8664-vinsns.lisp: TEMP-PUSH-NODE,
8921        TEMP-POP-NODE.
8922
89232006-04-06 21:27  gb
8924
8925        * lib/db-io.lisp: CDB-HASH-MASK happens to be =
8926        PPC32::TARGET-MOST-POSITIVE-FIXNUM.
8927
89282006-04-06 21:26  gb
8929
8930        * level-1/x86-trap-support.lisp: Bugs, not worth describing in
8931        detail.
8932
89332006-04-06 21:25  gb
8934
8935        * level-1/x86-error-signal.lisp: Bugs, not worth describing in
8936        detail ...
8937
89382006-04-06 21:24  gb
8939
8940        * level-1/l1-lisp-threads.lisp: Simplify CFP-LFUN.
8941
89422006-04-06 21:23  gb
8943
8944        * compiler/X86/X8664/x8664-backend.lisp: Fenceposts with the last
8945        gpr/fpr args.
8946
89472006-04-06 21:22  gb
8948
8949        * compiler/X86/X8664/x8664-arch.lisp: tcr->linear_end ->
8950        tcr->save_rbp.
8951
89522006-04-06 21:21  gb
8953
8954        * lisp-kernel/x86-spentry64.s: Maintain tcr->save_rbp on
8955        ffcall/callback.
8956
89572006-04-06 21:20  gb
8958
8959        * lisp-kernel/x86-exceptions.c: Setup tcr->save_rbp when doing a
8960        callback.
8961       
8962        Pass rpc to %ERR-DISP, as it expects.
8963
89642006-04-06 21:19  gb
8965
8966        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
8967        tcr->linear_end -> tcr->save_rbp.
8968
89692006-04-06 07:03  gb
8970
8971        * lisp-kernel/x86-exceptions.c: Call out to handle errors.
8972
89732006-04-06 07:03  gb
8974
8975        * lisp-kernel/linuxx8664/.gdbinit: Ignore more signals.
8976
89772006-04-06 06:44  gb
8978
8979        * compiler/X86/X8664/x8664-vinsns.lisp: Use new UUOs for
8980        slot-boundp checks, eep.address.
8981
89822006-04-06 06:43  gb
8983
8984        * compiler/X86/x862.lisp: X862-FIXUP-FWD-REFS: don't assume that
8985        functions are uvectors or that their constants start at index 1.
8986       
8987        PROGV: don't keep interrupts off in the body.
8988
89892006-04-06 05:58  gb
8990
8991        * compiler/X86/x86-asm.lisp: RESOLVE-EEP uuo needs source and dest
8992        registers to be recoverable.
8993       
8994        Use (int ($ #x8x)) for SLOT-UNBOUND, since it needs slot-vector,
8995        index, and dest reg to be recoverable.
8996       
8997        Note that the use of this range of (int N) operands may lead to
8998        confusion on platforms that use int #x80 for syscalls.  That (a)
8999        doesn't apply to x8664, since SYSCALL is present and used on x8664
9000        and (b) would only be a problem if the dest reg was %rax, which it
9001        won't be.
9002
90032006-04-06 05:53  gb
9004
9005        * lib/macros.lisp: DEFSETF for INTERRUPT-LEVEL here.
9006
90072006-04-06 05:53  gb
9008
9009        * level-0/l0-init.lisp: Better (useful) X8664 *FEATURES*.
9010
90112006-04-06 05:52  gb
9012
9013        * level-0/l0-hash.lisp: Remove some #+x86-target DBG traps.   Add a
9014        few fixnum decls in and around DO-REHASH.
9015
90162006-04-06 05:51  gb
9017
9018        * level-0/X86/x86-def.lisp: %RETURN-ADDRESS-FUNCTION: if argument
9019        is a "real" tagged return address, return the associated function.
9020
90212006-04-06 05:50  gb
9022
9023        * level-1/: x86-error-signal.lisp, x86-trap-support.lisp: Flesh
9024        this out some.  The FAKE-STACK-FRAME stuff isn't quite the right
9025        idea on X8664; may need to revise it.
9026
90272006-04-06 05:49  gb
9028
9029        * level-1/ppc-trap-support.lisp: Remove HANDLE-GC-HOOKS.
9030
90312006-04-06 05:49  gb
9032
9033        * level-1/ppc-threads-utils.lisp: DEFSETF for INTERRUPT-LEVEL moved
9034        ... anywhere but a platform-specific file.
9035
90362006-04-06 05:48  gb
9037
9038        * level-1/l1-events.lisp: HANDLE-GC-HOOKS isn't really
9039        platform-specific, so move it here.
9040
90412006-04-06 05:47  gb
9042
9043        * level-1/: l1-clos-boot.lisp, l1-clos.lisp: Hashing code expects
9044        instance.hash to be a fixnum, so violating that expectation (as was
9045        done a few weeks ago for debugging) fouls things up royally.  This
9046        may have led to instability on PPC as well.
9047
90482006-04-06 05:44  gb
9049
9050        * lisp-kernel/x86-exceptions.c: Return false (for now) on unhandled
9051        UUO.  (Need to merge code from another machine, which will try to
9052        call out to lisp.)
9053
90542006-04-06 05:43  gb
9055
9056        * lisp-kernel/pmcl-kernel.c: register_sigint_handler on x8664.
9057
90582006-04-05 06:57  gb
9059
9060        * lisp-kernel/x86-spentry64.s: nthrow variants: set %Rforeign_sp,
9061        not tcr slot.
9062       
9063        _SPcallback aligns the foreign stack the way that lisp expects.
9064
90652006-04-05 06:56  gb
9066
9067        * lisp-kernel/x86-exceptions.c: Handle more stuff, including
9068        interrupt callbacks.
9069
90702006-04-05 06:55  gb
9071
9072        * library/x8664-linux-syscalls.lisp: GETUID was wrong.
9073
90742006-04-05 06:55  gb
9075
9076        * level-1/x86-trap-support.lisp: VERY early callback for interrupt
9077        handling.
9078
90792006-04-05 06:54  gb
9080
9081        * level-1/l1-callbacks.lisp: Comment format
9082
90832006-04-05 06:54  gb
9084
9085        * level-0/X86/x86-utils.lisp: Arg order in lap macros.
9086
90872006-04-05 06:54  gb
9088
9089        * level-0/l0-pred.lisp: Get *IMMHEADER-2-TYPES* (or whatever it's
9090        called) right.
9091
90922006-04-05 06:53  gb
9093
9094        * compiler/X86/X8664/x8664-backend.lisp: DEFCALLBACK guts for
9095        X8664.
9096
90972006-04-05 05:20  gb
9098
9099        * lisp-kernel/x86-exceptions.c: Do some callbacks.  Let's see if
9100        they work yet.
9101
91022006-04-05 05:19  gb
9103
9104        * lisp-kernel/x86-spentry64.s: Use interrupt-checking macros.  Fix
9105        callback typos.
9106
91072006-04-05 05:19  gb
9108
9109        * lisp-kernel/x86-macros.s: Check for interrupts, and do so when we
9110        know that they've just become enabled.
9111
91122006-04-05 05:17  gb
9113
9114        * lisp-kernel/x86-exceptions.c: Set high bit of tcr->interrupt
9115        pending when there's ... a pending interrupt.
9116
91172006-04-05 05:17  gb
9118
9119        * lisp-kernel/x86-exceptions.h: Define xuuo stuff.
9120
91212006-04-04 21:47  gb
9122
9123        * lisp-kernel/x86-spentry64.s: callback changes.
9124
91252006-04-04 21:47  gb
9126
9127        * lisp-kernel/lisp-debug.c: rip "=", not "-".
9128
91292006-04-04 21:46  gb
9130
9131        * lisp-kernel/linuxx8664/.gdbinit: Ignore SIGPWR, until we know
9132        better.
9133
91342006-04-04 18:51  gb
9135
9136        * lisp-kernel/pmcl-kernel.c: Wimp out, back to 128GB for
9137        LinuxPPC64.
9138
91392006-04-04 18:50  gb
9140
9141        * level-1/linux-files.lisp: Don't use %GET-NATURAL in Linux version
9142        of PIPE, since file descriptors are always C ints.
9143
91442006-04-04 18:03  gb
9145
9146        * compiler/PPC/PPC32/ppc32-backend.lisp,
9147        compiler/PPC/PPC64/ppc64-backend.lisp, lib/macros.lisp: callback
9148        implementation moved to the backend.
9149
91502006-04-04 18:02  gb
9151
9152        * lib/arglist.lisp: ARGLIST-FROM-MAP: get &rest name right when
9153        &key is also present.
9154
91552006-04-04 16:10  gb
9156
9157        * lisp-kernel/pmcl-kernel.c: linuxppc64 can't mmap 512GB; try
9158        256GB.
9159
91602006-04-04 15:52  gb
9161
9162        * level-1/version.lisp: Bump. New images soon.
9163
91642006-04-04 15:52  gb
9165
9166        * compiler/backend.lisp: Add slots for callback definition.
9167
91682006-04-04 15:52  gb
9169
9170        * compiler/nx0.lisp: Remove a #-bccl.
9171
91722006-04-04 15:26  gb
9173
9174        * lisp-kernel/x86_print.c: print_unsigned_hex: conditionalize on
9175        word size.
9176
91772006-04-04 15:26  gb
9178
9179        * lisp-kernel/x86-spentry64.s: First cut of _SPcallback.
9180
91812006-04-04 15:26  gb
9182
9183        * lisp-kernel/x86-macros.s: Catch frames save foreign sp from
9184        register, not from tcr slot.
9185
91862006-04-04 15:25  gb
9187
9188        * lisp-kernel/x86-exceptions.c: Uncomment the body of
9189        interrupt_handler.
9190
91912006-04-04 15:18  gb
9192
9193        * compiler/lambda-list.lisp: %LFUN-INFO & friends: do
9194        (FUNCTION-TO-FUNCTION-VECTOR).
9195
91962006-04-04 15:18  gb
9197
9198        * compiler/X86/x86-lapmacros.lisp: check-nargs: bad comparison on
9199        max when both min and max.
9200
92012006-04-04 15:18  gb
9202
9203        * lib/macros.lisp: spurious checkin; no real change
9204
92052006-04-03 23:01  gb
9206
9207        * lisp-kernel/x86-gc.c: Make purify() a nop, for now.
9208
92092006-04-03 22:43  gb
9210
9211        * scripts/openmcl64: Maybe (check for x8664 Linux is untested).
9212
92132006-04-03 22:42  gb
9214
9215        * lisp-kernel/bits.h: Constants are word-size (not CPU-variant)
9216        -specific.
9217
92182006-04-03 22:42  gb
9219
9220        * lisp-kernel/pmcl-kernel.c: 512GB MAXIMUM_MAPPABLE_MEMORY on
9221        x8664/Linux as well.
9222
92232006-04-03 22:41  gb
9224
9225        * lisp-kernel/ppc-gc.c: Remove X86 conditionalization.  Maybe merge
9226        x86-gc.c and ppc-gc.c back into a single file someday (or at least
9227        put truly shared code there),but for now this is simpler.
9228
92292006-04-03 22:38  gb
9230
9231        * lisp-kernel/x86-exceptions.c: A little more infrastructure, so
9232        that we can actually call the GC.
9233
92342006-04-03 22:37  gb
9235
9236        * lisp-kernel/x86-exceptions.h: Define UUO, trap opcodes.
9237
92382006-04-03 22:36  gb
9239
9240        * lisp-kernel/x86-gc.c: It's ... alive.
9241
92422006-04-03 22:36  gb
9243
9244        * lisp-kernel/x86-spentry64.s: Use new vector bounds traps. How
9245        about boundp checks ?
9246
92472006-04-03 22:35  gb
9248
9249        * lisp-kernel/x86-uuo.s: New uuo definitions.
9250
92512006-04-03 22:35  gb
9252
9253        * lib/macros.lisp: DO-GC-AREAS,which is one of those macro things,
9254        moved here. Uses archmacro AREA-SUCC (defined here) to avoid
9255        TARGET-ARCH-CASE lossage.
9256
92572006-04-03 22:34  gb
9258
9259        * level-1/l1-lisp-threads.lisp: DO-GC-AREAS,which is one of those
9260        macro things, moved to macros.lisp.
9261
92622006-04-03 22:33  gb
9263
9264        * level-0/X86/x86-misc.lisp: Zero out all of the write-lock's
9265        writer slot, not just the low half.
9266
92672006-04-03 22:32  gb
9268
9269        * level-0/PPC/ppc-utils.lisp: TRUE, FALSE : cmplr vs cmplri.
9270        Typical rookie PPC assembler mistake ...
9271
92722006-04-03 22:31  gb
9273
9274        * level-0/l0-misc.lisp: %FREEBYTES looked like a job for
9275        %GET-NATURAL.
9276
92772006-04-03 22:31  gb
9278
9279        * compiler/X86/X8664/x8664-vinsns.lisp: Use newfangled UUOs.
9280
92812006-04-03 22:30  gb
9282
9283        * compiler/X86/x86-asm.lisp: Add UUO-ERROR-UNBOUND,
9284        UUO-ERROR-SLOT-UNBOUND, UUO-ERROR-EEP-UNRESOLVED.
9285
92862006-04-03 22:29  gb
9287
9288        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
9289        X86/X8664/x8664-arch.lisp: AREA-SUCC archmacro.
9290
92912006-04-01 23:36  gb
9292
9293        * lisp-kernel/x86-exceptions.h: xpMMXreg, sigaltstack stuff.
9294
92952006-04-01 23:35  gb
9296
9297        * lisp-kernel/x86-exceptions.c: take signals on an alternate signal
9298        stack, run the handler on the foreign stack (this is all intended
9299        to keep signal handlers from splatting sigcontexts all over the
9300        tagged lisp stack.)
9301
93022006-04-01 23:33  gb
9303
9304        * lisp-kernel/x86-constants64.h: mmx register indices.
9305
93062006-04-01 23:33  gb
9307
9308        * lisp-kernel/x86-asmutils64.s: switch_to_foreign_stack().
9309
93102006-04-01 23:32  gb
9311
9312        * lisp-kernel/thread_manager.c: register_cstack_holding_area_lock()
9313        takes a natural stack size.
9314
93152006-04-01 23:32  gb
9316
9317        * lisp-kernel/pmcl-kernel.c: register_cstack_holding_area_lock()
9318        takes a natural stack size, sets up alternate signal stack if
9319        USE_SIGALTSTACK.
9320
93212006-04-01 23:31  gb
9322
9323        * lisp-kernel/lisp.h: USE_SIGALTSTACK if X8664.  (Might someday
9324        depend on platform.)
9325
93262006-03-31 23:15  gb
9327
9328        * lisp-kernel/linuxx8664/Makefile: gc.o -> x86-gc.o
9329
93302006-03-31 23:00  gb
9331
9332        * lisp-kernel/x86-gc.c: New file; currently, an exact copy of
9333        ppc-gc.c, but they'll diverge some soon.
9334
93352006-03-31 22:56  gb
9336
9337        * lisp-kernel/: linuxppc/Makefile, linuxppc64/Makefile,
9338        static-linuxppc/Makefile: gc.o -> ppc-gc.o
9339
93402006-03-31 22:52  gb
9341
9342        * lisp-kernel/: darwinppc/Makefile, darwinppc64/Makefile: gc.o ->
9343        ppc-gc.o
9344
93452006-03-31 22:51  gb
9346
9347        * lisp-kernel/area.h: Need prototype for heap_area_containing().
9348        heap_node_area_containing(), which doesn't exist ... not so much.
9349
93502006-03-31 22:50  gb
9351
9352        * lisp-kernel/memory.c: Some functions moved here from gc.c before
9353        it was renamed/split.
9354
93552006-03-31 22:48  gb
9356
9357        * lisp-kernel/gc.c: rename/split
9358
93592006-03-31 22:46  gb
9360
9361        * lisp-kernel/ppc-gc.c: renamed
9362
93632006-03-31 00:54  gb
9364
9365        * lisp-kernel/x86-spentry64.s: Progvsave, progvrestore seem to
9366        work.
9367       
9368        Not sure about the tail end of the multiple-value case of THROW,
9369        but at least it's there.
9370
93712006-03-31 00:53  gb
9372
9373        * library/x8664-linux-syscalls.lisp: still need work, but more
9374        stuff (including socket syscalls) are defined now.
9375
93762006-03-31 00:52  gb
9377
9378        * level-1/version.lisp: Bump.
9379
93802006-03-31 00:52  gb
9381
9382        * level-1/l1-sockets.lisp: Conditionalize lots for x8664.
9383
93842006-03-31 00:51  gb
9385
9386        * level-0/X86/x86-def.lisp: No debug trap in %CFP-LFUN.
9387
93882006-03-31 00:50  gb
9389
9390        * level-0/l0-init.lisp: Simplify *FEATURES* init a little.  Try to
9391        ensure that :linuxx8664-target is there if it should be.
9392
93932006-03-31 00:46  gb
9394
9395        * compiler/X86/X8664/x8664-arch.lisp: Define
9396        MAX-8-BIT-IVECTOR-SUBTAG, too.
9397
93982006-03-30 03:23  gb
9399
9400        * level-1/l1-aprims.lisp: ELEMENT-SUBTYPE-TYPE for x8664.
9401
94022006-03-30 03:22  gb
9403
9404        * level-1/l1-boot-2.lisp: Load some x8664 files,
9405
94062006-03-30 03:21  gb
9407
9408        * level-1/l1-boot-3.lisp: Comments and formatting.
9409
94102006-03-30 03:20  gb
9411
9412        * level-1/l1-clos-boot.lisp: Some x8664 changes.
9413
94142006-03-30 03:20  gb
9415
9416        * level-1/l1-clos.lisp: Use REPLACE-FUNCTION-CODE another time or
9417        two.
9418       
9419        Set class's INSTANCE.HASH slots to class name, to make classes
9420        easier to identify in kernel debugger.  (Might not want to keept
9421        this, but could set/clear a bit there.)
9422
94232006-03-30 03:18  gb
9424
9425        * level-1/: l1-files.lisp, l1-dcode.lisp: Comments and formatting
9426        changes only.
9427
94282006-03-30 03:17  gb
9429
9430        * level-1/l1-lisp-threads.lisp: Start to move some stuff into
9431        platform-dependent files.
9432
94332006-03-30 03:16  gb
9434
9435        * level-1/: l1-pathnames.lisp, l1-numbers.lisp: Conditionalize.
9436
94372006-03-30 03:16  gb
9438
9439        * level-1/l1-streams.lisp: 64-bit conditionalization, and x8664
9440        stuff.
9441
94422006-03-30 03:15  gb
9443
9444        * level-1/l1-typesys.lisp: 64-bit array type on all (both) 64-bit
9445        platforms.
9446
94472006-03-30 03:13  gb
9448
9449        * level-1/l1-utils.lisp: TRUE and FALSE now in LAP.
9450
94512006-03-30 03:13  gb
9452
9453        * level-1/level-1.lisp: Load "new" x8664 files.
9454
94552006-03-30 03:12  gb
9456
9457        * level-1/linux-files.lisp: Conditionalize some for x8664.
9458
94592006-03-30 03:12  gb
9460
9461        * level-1/ppc-threads-utils.lisp: Some stuff moved here from
9462        l1-lisp-threads.
9463
94642006-03-30 03:11  gb
9465
9466        * lib/compile-ccl.lisp: X8664-related changes.
9467
94682006-03-30 03:11  gb
9469
9470        * lib/foreign-types.lisp: Setup host-ftd based on compile-time
9471        target.  Yow, recursion.
9472
94732006-03-30 03:10  gb
9474
9475        * lib/macros.lisp: LET-GLOBALLY deals with symptr/symvector stuff.
9476
94772006-03-30 03:10  gb
9478
9479        * lib/misc.lisp: Fix Linux MACHINE-INSTANCE.
9480       
9481        Move DISASSEMBLE and interface here.
9482
94832006-03-30 03:09  gb
9484
9485        * lib/nfcomp.lisp: Conditionalize for x8664; dump native functions
9486        via fasl-clfun.
9487
94882006-03-30 03:08  gb
9489
9490        * lib/prepare-mcl-environment.lisp: Needed symptr/symvector stuff.
9491
94922006-03-30 03:08  gb
9493
9494        * lib/systems.lisp: Add new x86 level-1 stuff; remove some truly
9495        ancient MCLisms.
9496
94972006-03-30 03:06  gb
9498
9499        * library/x8664-linux-syscalls.lisp: Some fixes and additions, but
9500        still needs lots of work.
9501
95022006-03-30 03:06  gb
9503
9504        * lisp-kernel/x86_print.c: If instance.hash of an instance isn't a
9505        fixnum, treat it as a class name.  (Hard to otherwise recognize
9506        classes from the kernel.)
9507
95082006-03-30 03:04  gb
9509
9510        * lisp-kernel/x86-spjump64.s: rename poweropen_callback ->callback.
9511
95122006-03-30 03:04  gb
9513
9514        * lisp-kernel/x86-spentry64.s: Lots of bug fixes.
9515       
9516        Multiple-value THROW still needs work, and CALLBACK still needs to
9517        be written (both sides).
9518
95192006-03-30 03:02  gb
9520
9521        * lisp-kernel/x86-constants64.s: No FPSCR here, but an MXCSR.
9522
95232006-03-30 03:01  gb
9524
9525        * lisp-kernel/ppc-spentry.s: Error call in misc_set_invalid
9526        involves 4 args.
9527
95282006-03-30 03:00  gb
9529
9530        * lisp-kernel/pmcl-kernel.c: Larger GC defaults if 64-bit, not just
9531        PPC64.
9532       
9533        Insist on Linux kernel 2.6 if x8664 linux.
9534
95352006-03-30 02:59  gb
9536
9537        * lisp-kernel/plsym.c: Missing #\% in format string.
9538
95392006-03-30 02:56  gb
9540
9541        * lisp-kernel/linuxx8664/.gdbinit: More stuff.
9542
95432006-03-30 02:55  gb
9544
9545        * level-1/: x86-callback-support.lisp, x86-error-signal.lisp,
9546        x86-threads-utils.lisp, x86-trap-support.lisp: Nee files.
9547
95482006-03-30 02:54  gb
9549
9550        * level-0/X86/X8664/x8664-bignum.lisp: Remove debug traps from
9551        things that're believed to be working.
9552
95532006-03-30 02:54  gb
9554
9555        * level-0/X86/x86-utils.lisp: CLASS-OF changes/fixes.  Move
9556        #'TRUE/#'FALSE here.
9557
95582006-03-30 02:53  gb
9559
9560        * level-0/X86/x86-symbol.lisp: %SYMPTR->SYMBOL: check for nilsym,
9561        not NIL.
9562
95632006-03-30 02:52  gb
9564
9565        * level-0/X86/x86-numbers.lisp: %FIXNUM-TRUNCATE: return results in
9566        the right order.
9567       
9568        %IASL: shift the right register.
9569
95702006-03-30 02:51  gb
9571
9572        * level-0/X86/x86-misc.lisp: Fix %FUDGE-HEAP-POINTER; define
9573        INTERRUPT-LEVEL.
9574
95752006-03-30 02:51  gb
9576
9577        * level-0/X86/x86-float.lisp: %get-mxcsr stores the mxcsr in memory
9578        so that we can load it into a fixnum.
9579
95802006-03-30 02:50  gb
9581
9582        * level-0/X86/x86-def.lisp: %CFP-LFUN: try to recognize
9583        multiple-value returning calls, return NIL if tra offset is 0.
9584
95852006-03-30 02:49  gb
9586
9587        * level-0/X86/x86-clos.lisp: Remove debug traps; use registers
9588        sanely in the SETF case.
9589
95902006-03-30 02:48  gb
9591
9592        * level-0/PPC/ppc-utils.lisp: Implement TRUE and FALSE in LAP.
9593
95942006-03-30 02:48  gb
9595
9596        * level-0/PPC/ppc-clos.lisp: Change the name of a constant that'll
9597        get clobbered when this is cloned anyway.  (Is that clear ?)
9598
95992006-03-30 02:47  gb
9600
9601        * level-0/l0-pred.lisp: %TYPE-OF fixes for x8664.
9602       
9603        We haven't had interpreted functions for a few years.
9604
96052006-03-30 02:46  gb
9606
9607        * level-0/l0-float.lisp: %SET-DOUBLE-FLOAT-EXP: endianness, use
9608        symbolic constant for high word.
9609
96102006-03-30 02:45  gb
9611
9612        * level-0/l0-array.lisp: SUBTAG-BYTES for X8664.
9613
96142006-03-30 02:45  gb
9615
9616        * compiler/X86/X8664/x8664-vinsns.lisp: Lots of bug fixes.
9617
96182006-03-30 02:44  gb
9619
9620        * compiler/X86/X8664/x8664-arch.lisp: REQUIRE what we need.
9621       
9622        Get CATCH-FRAME definition right.
9623       
9624        .SPpoweropen-callback -> .SPcallback.
9625
96262006-03-30 02:43  gb
9627
9628        * compiler/X86/x862.lisp: Lots of changes and bugfixes.
9629
96302006-03-30 02:42  gb
9631
9632        * compiler/X86/x86-lap.lisp: Avid path in REQUIRE; create native
9633        functions.
9634
96352006-03-30 02:42  gb
9636
9637        * compiler/X86/x86-disassemble.lisp: Run natively: provide
9638        X8664-XDISASSEMBLE.
9639
96402006-03-30 02:41  gb
9641
9642        * compiler/X86/x86-asm.lisp: Assemble things (uuos) with a "pseudo"
9643        ModRM byte, which allows encoding two 4-bit x8664 registers in a
9644        single byte.
9645
96462006-03-30 02:40  gb
9647
9648        * compiler/X86/x86-arch.lisp: Need to explicitly (REQUIRE "ARCH").
9649
96502006-03-30 02:39  gb
9651
9652        * compiler/PPC/PPC64/ppc64-arch.lisp: Define high and low 32-bit
9653        parts of a DOUBLE-FLOAT.
9654
96552006-03-30 02:39  gb
9656
9657        * compiler/PPC/ppc-disassemble.lisp: DISASSEMBLE and
9658        FUNCTION-FOR-DISASSEMBLY moved elsewhere.
9659
96602006-03-25 20:47  gb
9661
9662        * lisp-kernel/lisp-debug.c: Fix x8664 lisp register display.
9663
96642006-03-25 20:42  gb
9665
9666        * lib/ccl-export-syms.lisp: Fix export of CCL::GETENV and
9667        CCL::SETENV.
9668
96692006-03-25 20:37  gb
9670
9671        * lisp-kernel/x86-spentry64.s: Dozens of bug fixes.
9672       
9673        Do uvref (not yet uvset) via jump table.
9674
96752006-03-25 20:36  gb
9676
9677        * lisp-kernel/x86-macros.s: Do arithmetic correctly in Cons macro.
9678       
9679        Split up Misc_Alloc.
9680
96812006-03-25 20:34  gb
9682
9683        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Tag juggling.
9684
96852006-03-25 20:34  gb
9686
9687        * lisp-kernel/ppc_print.c: Identify SLOT-VECTORs in kernel
9688        debugger.
9689
96902006-03-25 20:33  gb
9691
9692        * lisp-kernel/errors.s: Add some error numbers for uvref/uvset
9693        failures that should never happen.
9694
96952006-03-25 20:32  gb
9696
9697        * lisp-kernel/lisp-debug.c: Change x8664 lisp register display.
9698
96992006-03-25 20:32  gb
9700
9701        * lisp-kernel/gc.c: IMPURIFY: maybe grow the dynamic area, but
9702        don't shrink it.
9703
97042006-03-25 20:31  gb
9705
9706        * lisp-kernel/plsym.c: Symbol address may be longer than 32 bits.
9707
97082006-03-25 20:31  gb
9709
9710        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s: sgbuf has
9711        been lisp_thread for the past few years.
9712
97132006-03-25 20:30  gb
9714
9715        * lisp-kernel/ppc-spentry.s: Do uvref/uvset via jump tables.
9716        (Fewer branches, more redundancy.)
9717
97182006-03-25 20:29  gb
9719
9720        * lisp-kernel/x86_print.c: Identify SLOT-VECTORs.  Print TRAs.
9721
97222006-03-25 20:28  gb
9723
9724        * lisp-kernel/xlbt.c: Skip over lexpr nonsense.
9725
97262006-03-25 20:28  gb
9727
9728        * lisp-kernel/linuxx8664/.gdbinit: More GDB macros.
9729
97302006-03-25 20:27  gb
9731
9732        * library/lispequ.lisp: %GF-DISPATCH-TABLE-REF uses %SVREF.
9733
97342006-03-25 20:26  gb
9735
9736        * lib/misc.lisp: MACHINE-VERSION caches the result per-session;
9737        looks in /proc/cpuinfo for something machine-dependent on Linux,
9738        passes 64-bit stuff on DarwinPPC64.
9739
97402006-03-25 20:25  gb
9741
9742        * lib/macros.lisp: LFUN-BITS-KNOWN-FUNCTIONS uses arch macros to
9743        access function vector.
9744
97452006-03-25 20:23  gb
9746
9747        * level-1/version.lisp: Bump.
9748
97492006-03-25 20:23  gb
9750
9751        * level-1/l1-io.lisp: No more interpreted functions.
9752
97532006-03-25 20:23  gb
9754
9755        * level-1/l1-dcode.lisp: Mostly comment and formatting changes.
9756
97572006-03-25 20:22  gb
9758
9759        * level-1/l1-clos.lisp: Fix typos in x86 function cloning;
9760        comment/formatting changs.
9761
97622006-03-25 20:21  gb
9763
9764        * level-1/l1-clos-boot.lisp: Lots of formatting changes; try to use
9765        DEFGLOBAL, since special variable lookup is ~10 instructions or so.
9766
97672006-03-25 20:20  gb
9768
9769        * level-1/l1-boot-1.lisp: HOST-PLATFORM, PLATFORM-DESCRIPTION:
9770        generalize, a little.
9771
97722006-03-25 20:19  gb
9773
9774        * level-1/l1-aprims.lisp: LFUN-KEYVECT access function vector, if
9775        that's not the function.  NREVERSE checks for NIL, mostly so I
9776        wouldn't have to single-step through that case in GDB.
9777
97782006-03-25 20:18  gb
9779
9780        * level-0/X86/X8664/x8664-bignum.lisp: Shift in the correct
9781        direction, sign-extend (or don't) as apropriate, etc.  Still some
9782        debug traps on things that haven't been called yet.
9783
97842006-03-25 20:17  gb
9785
9786        * level-0/X86/x86-utils.lisp: CLASS-OF fixes.
9787
97882006-03-25 20:17  gb
9789
9790        * level-0/X86/x86-pred.lisp: If the recursive list case of EQUAL
9791        fails, fail; don't fall into the uvector case ...
9792
97932006-03-25 20:16  gb
9794
9795        * level-0/X86/x86-numbers.lisp: Fenceposts in fixnum
9796        integer-length.
9797
97982006-03-25 20:15  gb
9799
9800        * level-0/X86/x86-hash.lisp: Strip-tag-to-fixnum without shifts.
9801
98022006-03-25 20:15  gb
9803
9804        * level-0/X86/x86-def.lisp: Stuff here seems to work, so far ...
9805
98062006-03-25 20:14  gb
9807
9808        * level-0/X86/x86-clos.lisp: debug traps on slot-lookup LAP
9809        prototypes.
9810
98112006-03-25 20:12  gb
9812
9813        * level-0/l0-pred.lisp: rearrange %type-of for tag changes.
9814
98152006-03-25 20:12  gb
9816
9817        * level-0/l0-numbers.lisp: No need to specify an initial value 0
9818        when stack-consing a bignum in %BIGNUM-RANDOM.  Add a fixnum decl
9819        or two.
9820
98212006-03-25 20:11  gb
9822
9823        * level-0/l0-hash.lisp: Symbol aren't (necessarily) uvectors. X86
9824        breakpoints if we hash any symbols ...
9825
98262006-03-25 20:09  gb
9827
9828        * level-0/l0-bignum64.lisp: Um, most of this is supposed to be
9829        #+64-bit-target, not #+ppc64-target.
9830
98312006-03-25 20:09  gb
9832
9833        * compiler/X86/X8664/x8664-vinsns.lisp:
9834        SET-CLOSURE-FORWARD-REFERENCE: functions aren't uvectors.
9835       
9836        Lots of other changes/fixes.
9837
98382006-03-25 20:08  gb
9839
9840        * compiler/X86/X8664/x8664-arch.lisp: Tag reorganization.
9841       
9842        MISC-SYMBOL-OFFSET, MISC-FUNCTION-OFFSET.
9843       
9844        FUNCTION-TO-FUNCTION-VECTOR, FUNCTION-VECTOR-TO-FUNCTION arch
9845        macros have something to do here.
9846
98472006-03-25 20:06  gb
9848
9849        * compiler/X86/x862.lisp: Some operators can push results directly.
9850       
9851        Lots of bug fixes.
9852
98532006-03-25 20:05  gb
9854
9855        * compiler/X86/x86-asm.lisp: CMPB: accept signed/unsigned
9856        immediate.
9857
98582006-03-25 20:04  gb
9859
9860        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Arch
9861        macros for FUNCTION-TO-FUNCTION-VECTOR and
9862        FUNCTION-VECTOR-TO-FUNCTION.
9863       
9864        (NOPs.)
9865
98662006-03-25 20:03  gb
9867
9868        * compiler/optimizers.lisp: MACPTRP.
9869
98702006-03-25 20:03  gb
9871
9872        * compiler/nx.lisp: COMPILE: don't check for INTERPRETED-FUNCTION,
9873        unless/until we have them again (in some form.)
9874
98752006-03-20 10:05  gwking
9876
9877        * lib/ccl-export-syms.lisp: Exporting getenv and setenv from CCL
9878
98792006-03-19 20:30  gb
9880
9881        * lisp-kernel/x86-spentry64.s: Old-style destructuring, VALUES.
9882
98832006-03-19 20:29  gb
9884
9885        * lisp-kernel/x86-constants64.s: Define %nargs_b.
9886
98872006-03-19 20:29  gb
9888
9889        * lisp-kernel/x86-constants.s: Define registers/bitfields used in
9890        old-style destructuring subprims.
9891
98922006-03-19 20:28  gb
9893
9894        * library/lispequ.lisp: $XNOFINFUNCTION.
9895
98962006-03-19 20:27  gb
9897
9898        * lib/level-2.lisp: Conditionalize out bit, bitfield accessors
9899        until they work ...
9900
99012006-03-19 20:27  gb
9902
9903        * lib/backtrace-lds.lisp: Conditionalize
9904        GET-REGISTER-VALUE/SET-REGISTER-VALUE catch frame access.
9905
99062006-03-19 20:26  gb
9907
9908        * level-1/: l1-clos-boot.lisp, l1-clos.lisp, l1-dcode.lisp:
9909        Conditionalize, mostly for whether the implementation has separate
9910        code-vector and function objects or not. (ppc vs x86, for now.)
9911
99122006-03-19 20:25  gb
9913
9914        * level-0/X86/x86-numbers.lisp: %FIXNUM-GCD.  Slower then the one
9915        that counts bits, but doesn't need as many registers.
9916
99172006-03-19 20:24  gb
9918
9919        * level-0/X86/x86-def.lisp: Do the lexpr/methd-context apply stuff.
9920         %X86-CLONE-FUNCTION, REPLACE-FUNCTION-CODE.
9921       
9922        Wouldn't hurt to do some typechecking in some of the lap code here.
9923
99242006-03-19 20:22  gb
9925
9926        * level-0/X86/x86-clos.lisp: Yet.
9927
99282006-03-19 20:22  gb
9929
9930        * level-0/PPC/ppc-def.lisp: REPLACE-FUNCTION-CODE abstraction.
9931
99322006-03-19 20:22  gb
9933
9934        * level-0/PPC/ppc-clos.lisp: UNSET-FIN-TRAMPOLINE doesn't reference
9935        constants.  (This could neve  have worked.)
9936
99372006-03-19 20:21  gb
9938
9939        * level-0/l0-error.lisp: Replace error format string 9.
9940
99412006-03-19 20:20  gb
9942
9943        * compiler/X86/X8664/x8664-vinsns.lisp: &lexpr fixes, old-style
9944        destructuring.
9945
99462006-03-19 20:20  gb
9947
9948        * compiler/X86/X8664/x8664-arch.lisp: Add the xtra slot to
9949        lisp-frame.  yield syscall, gf-code-size.
9950
99512006-03-19 20:19  gb
9952
9953        * compiler/X86/x862.lisp: Fix some lexpr confusion, mv-call
9954        recursive problems.
9955
99562006-03-19 20:18  gb
9957
9958        * compiler/X86/x86-lapmacros.lisp: SAVE-FRAME-VARIABLE-ARG-COUNT,
9959        CALL-SUBPRIM.
9960
99612006-03-19 20:17  gb
9962
9963        * compiler/X86/x86-lap.lisp: Support :CODE-SIZE and :ORG
9964        directives.  Change :CONSTANTS to :FIXED-CONSTANTS.
9965
99662006-03-19 20:16  gb
9967
9968        * compiler/nx1.lisp: Can use MAKE-ARRAY rather than MAKE-SEQUENCE.
9969
99702006-03-17 23:38  gb
9971
9972        * xdump/xfasload.lisp: Special case references to NIL in package
9973        htabs.
9974       
9975        Leave deleted markers behind for symbols that we haven't seen
9976        references to; leave empty (0) words empty.
9977
99782006-03-17 23:36  gb
9979
9980        * lisp-kernel/linuxx8664/.gdbinit: Add a few lisp debugging things.
9981
99822006-03-17 23:36  gb
9983
9984        * lisp-kernel/xlbt.c: Recognize multiple-value returning frames and
9985        find the real tra underneath ret1valn.
9986
99872006-03-17 23:35  gb
9988
9989        * lisp-kernel/x86-spentry64.s: "gen" tcalls had the same bug as the
9990        known-stack-args cases did several days ago.
9991
99922006-03-17 23:34  gb
9993
9994        * lisp-kernel/x86-macros.s: New do_funcall().
9995
99962006-03-17 23:33  gb
9997
9998        * lisp-kernel/x86-exceptions.c: When we field an alloc trap, make
9999        sure that both the allocptr register and the save_allocptr slot in
10000        the TCR are updated and consistent with each other.
10001
100022006-03-17 23:32  gb
10003
10004        * lisp-kernel/x86-constants64.h: A lisp frame may have two return
10005        addresses (one for the multiple-value mechanism and the real one.)
10006
100072006-03-17 23:31  gb
10008
10009        * lisp-kernel/plsym.c: If there's such a thing as fulltag_symbol,
10010        try to use it.
10011
100122006-03-17 23:29  gb
10013
10014        * level-0/X86/x86-symbol.lisp: Symptr/symvector deconflation.
10015
100162006-03-17 23:28  gb
10017
10018        * level-0/X86/x86-pred.lisp: Add %LISP-LOWBYTE-REF; could be
10019        open-coded (and may once have been.)
10020
100212006-03-17 23:27  gb
10022
10023        * level-0/nfasload.lisp: Some SYMPTR->SYMVECTOR usage.  Define
10024        %FASL-READ-SIGNED-LONG;  use it in a few places.  Assume that
10025        scalar integers are stored big-endian; construct native-endian
10026        integers from them.
10027
100282006-03-17 23:26  gb
10029
10030        * level-0/l0-symbol.lisp: Lots of SYMPTR->SYMVECTOR usage.
10031
100322006-03-17 23:25  gb
10033
10034        * level-0/l0-pred.lisp: Do %TYPE-OF for x8664.
10035
100362006-03-17 23:24  gb
10037
10038        * level-0/l0-def.lisp: Use SYMPTR->SYMVECTOR where necessary, so
10039        that we can %SVREF around in symbols.
10040       
10041        A little light reorganization, to make it easier to add debugging
10042        breakpoints for things like FUNCTION-NAME.
10043
100442006-03-17 23:22  gb
10045
10046        * compiler/X86/X8664/x8664-vinsns.lisp: Kinder, gentler
10047        CHECK-MISC-BOUND.  (What was I thinking ?)
10048       
10049        More cleanup to FUNCALL and variants.
10050       
10051        MAKE-TSP-CONS: fix braindamage, use only one register.  (Need to
10052        write down pc-luser-xp constraints for TSP allocation, but I think
10053        that this meets the current artist's conception of them.)
10054       
10055        %SYMBOL->SYMPTR does what it does on other platforms (e.g., map NIL
10056        to a proxy symbol and/or insist on a real symbol.)
10057        %SYMPTR->SYMVECTOR maps something tagged as a symbol to the
10058        underlying uvector by playing with tag bits, and %SYMVECTOR->SYMPTR
10059        does the inverse.
10060       
10061        There were two definitions of %SCHARCODE in the file; the later one
10062        (that took effect) was completely wrong.
10063
100642006-03-17 23:05  gb
10065
10066        * compiler/X86/X8664/x8664-arch.lisp: Add HONS fields to AREA
10067        definition.
10068       
10069        SYMVECTOR->SYMPTR and its inverse don't do much, but it's not worth
10070        spending a function call to do a little.
10071
100722006-03-17 23:03  gb
10073
10074        * compiler/X86/x862.lisp: Don't sign-extend the $LFBITS-NONAME-BIT;
10075        doing so had to do with 29-bit fixnums on an old 68K
10076        implementation.
10077       
10078        Fix parenthesization in %i-, so that we branch in all cases that
10079        need to.
10080       
10081        Implement %SYMPTR->SYMVECTOR and %SYMVECTOR->SYMPTR, which change
10082        something tagged X8664::FULLTAG-SYMBOL into the underlying uvector
10083        and back again.
10084
100852006-03-17 22:59  gb
10086
10087        * compiler/X86/x86-lap.lisp: Change the sign of TRA displacements,
10088        to match what the compiler expects and what some other things do.
10089       
10090        When checking to see if an ASSUMED-SHORT[-CONDITIONAL]-BRANCH can
10091        use a 1-byte branch displacement, get the sign of that displacment
10092        right.  (Doing it the wrong way was encoding a forward branch to a
10093        label 128 bytes away in one byte, which made it a backward branch
10094        128 bytes away ...)
10095
100962006-03-17 22:55  gb
10097
10098        * library/lispequ.lisp: Use NTH-IMMEDIATE to access COMBINED-METHOD
10099        slots.
10100
101012006-03-17 22:54  gb
10102
10103        * lib/nfcomp.lisp: Comments clarify that scalar integers are always
10104        dumped big-endian.  (They have to be read/written a byte at a time
10105        anyway; there's no clear advantage in writing them in native
10106        endianness.)
10107
101082006-03-17 22:52  gb
10109
10110        * lib/macros.lisp: SYMPTR->SYMVECTOR and SYMVECTOR->SYMBOL are
10111        arch-specfic (NOP on PPC, inlined tag-bits stuff on x8664.)
10112
101132006-03-17 22:50  gb
10114
10115        * level-1/l1-dcode.lisp: Star to conditionalize, a little.
10116
101172006-03-17 22:48  gb
10118
10119        * level-1/l1-boot-2.lisp: Conditionalize.
10120
101212006-03-17 22:48  gb
10122
10123        * level-1/: l1-callbacks.lisp, l1-utils.lisp: Comment formatting.
10124
101252006-03-17 22:45  gb
10126
10127        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-arch.lisp,
10128        PPC64/ppc64-arch.lisp: %SYMPTR->SYMVECTOR and %SYMVECTOR->SYMPTR
10129        shold never be called on PPC, but implement them as idenity
10130        operations, just in case.
10131
101322006-03-17 22:44  gb
10133
10134        * compiler/: nx1.lisp, nxenv.lisp: Worth inlining
10135        %SYMPTR->SYMVECTOR on x8664 (should never happen on PPC, but treat
10136        it as identity function there.)
10137
101382006-03-16 02:03  gb
10139
10140        * level-1/l1-sockets.lisp: Spell LINUX correctly.
10141
101422006-03-16 02:00  gb
10143
10144        * lisp-kernel/x86-spentry64.s: We were inlining NTH-VALUE
10145        incorrectly, but were always inlining it.
10146       
10147        Use debug traps to catch some cases that're NYI.
10148
101492006-03-16 01:58  gb
10150
10151        * lisp-kernel/lisp-debug.c: X8664 register-printing changes.
10152
101532006-03-16 01:58  gb
10154
10155        * library/parse-ffi.lisp: Treat VEC64/VEC128 like large integers,
10156        for now.
10157
101582006-03-16 01:57  gb
10159
10160        * library/lispequ.lisp: gf accessors use NTH-IMMEDIATE.
10161
101622006-03-16 01:56  gb
10163
10164        * lib/numbers.lisp: Conditionaliz on target word size.
10165
101662006-03-16 01:56  gb
10167
10168        * lib/nfcomp.lisp: Need to be aware of cases where host/target
10169        endianness differ.
10170       
10171        Byte-swap 16/32-bit constant ivectors; note that other cases may
10172        also need byte-swapping.
10173
101742006-03-16 01:54  gb
10175
10176        * lib/macros.lisp: NTH-IMMEDIATE is arch-specific; so is
10177        SET-NTH-IMMEDIATE, which is its SETF inverse.
10178
101792006-03-16 01:53  gb
10180
10181        * lib/foreign-types.lisp: So far, Darwin's the only platform that
10182        uses signed chars.  (For a good laugh, note that the PPC has an
10183        unsigned "load byte" instruction, but it takes two instructions to
10184        treat char as signed.  This is, of course, much less significant
10185        than all of the other things that are wrong about Darwin ...)
10186
101872006-03-16 01:51  gb
10188
10189        * lib/compile-ccl.lisp: RISC-LAP is PPC-specific (and maybe
10190        specific to other RISC architectures).  X86-DISASSEMBLE should be
10191        built for x8664.
10192
101932006-03-16 01:49  gb
10194
10195        * lib/backtrace-lds.lisp: Some conditinalization.
10196
101972006-03-16 01:48  gb
10198
10199        * tools/.cvsignore, library/.cvsignore: Ignore fasl extensions yet
10200        to come.
10201
102022006-03-16 01:46  gb
10203
10204        * level-1/version.lisp: Bump.
10205
102062006-03-16 01:46  gb
10207
10208        * level-1/l1-sockets.lisp: Some conditionalization; need more, and
10209        need to handle wrong-endianness.
10210
102112006-03-16 01:44  gb
10212
10213        * level-1/l1-lisp-threads.lisp: %KERNEL-GLOBAL-OFFSET-FORM:
10214        probably should lose this.  It's a function, and therefore has some
10215        trouble accessing the right (macroexpand-time) backend.
10216
102172006-03-16 01:43  gb
10218
10219        * level-1/l1-files.lisp: Set *.FASL-PATHAME* via #.'ed reference to
10220        target backend.
10221
102222006-03-16 01:42  gb
10223
10224        * level-1/l1-clos-boot.lisp: Conditionalize a little.
10225
102262006-03-16 01:42  gb
10227
10228        * level-1/l1-aprims.lisp: Use #. to set OS package name fron
10229        backend/ftd.
10230
102312006-03-16 01:41  gb
10232
10233        * level-0/X86/x86-symbol.lisp: %SYMPTR->SYMBOL is often called with
10234        real (tagged) symbols; make it a nop in that case.
10235
102362006-03-16 01:40  gb
10237
10238        * level-0/X86/x86-def.lisp: %SET-NTH-IMMEDIATE.
10239
102402006-03-16 01:40  gb
10241
10242        * level-0/X86/x86-clos.lisp: Start some of this. Still need to
10243        decide whether to use lexprs; better decide soon.
10244
102452006-03-16 01:38  gb
10246
10247        * compiler/X86/X8664/x8664-vinsns.lisp: TRAP-UNLESS-CHARACTER.
10248        Float memory accessors/setters for the constant-offset case.
10249        NTH-VALUE was wrong; now simpler.  MAKE-TSP-VCELL.  Binding
10250        subprims.
10251       
10252        Yet another FUNCALL scheme.
10253
102542006-03-16 01:36  gb
10255
10256        * level-0/l0-symbol.lisp: MAKE-SYMBOL returns the symbol pointer.
10257        Maybe conditionalize this for X8664.
10258
102592006-03-16 01:35  gb
10260
10261        * level-0/l0-io.lisp: Hopefully, the "split" 64-bit lseek is at
10262        best LinuxPPC32-specific.
10263
102642006-03-16 01:34  gb
10265
10266        * compiler/X86/x862.lisp: Use %ra0 for the inner function when
10267        making a closure, to avoid conflicts with other temps.  No need to
10268        reference memory on self-calls (and good reasons not to ...)
10269        X862-UNBOXED-INTEGER-ARG-TO-REG handles 64-bit regs.
10270
102712006-03-16 01:31  gb
10272
10273        * compiler/X86/x86-lapmacros.lisp: EXTRACT-TYPECODE: use a GENSYMed
10274        label.
10275
102762006-03-16 01:30  gb
10277
10278        * compiler/X86/x86-lap.lisp: New stuff for "pre-allocated"
10279        constants.
10280
102812006-03-16 01:29  gb
10282
10283        * compiler/X86/x86-arch.lisp: Didn't have the relatively recent
10284        STACK-SIZE.
10285
102862006-03-16 01:29  gb
10287
10288        * compiler/X86/X8664/x8664-arch.lisp: Change the
10289        %GET-KERNEL-GLOBAL[-PTR] archmacros, so that they'll work with
10290        cross-compilation.  Fixnum offsets aren't supported; they weren't
10291        used, this isn't public, and it wasn't well-defined anyway.
10292       
10293        Add %NTH-IMMEDIATE.
10294
102952006-03-16 01:28  gb
10296
10297        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp:
10298        Change the %GET-KERNEL-GLOBAL[-PTR] archmacros, so that they'll
10299        work with cross-compilation.  Fixnum offsets aren't supported; they
10300        weren't used, this isn't public, and it wasn't well-defined anyway.
10301
103022006-03-14 14:08  gb
10303
10304        * binppc/.cvsignore, l1-pfsls/.cvsignore: remove
10305
103062006-03-14 14:02  gb
10307
10308        * level-1/: l1-boot-2.lisp, level-1.lisp: Always use physical bin,
10309        l1-fasls relative pathnames.
10310
103112006-03-14 14:02  gb
10312
10313        * level-1/l1-pathnames.lisp: Simpler translations.
10314
103152006-03-14 13:51  gb
10316
10317        * l1-dfsls/.cvsignore, bindarwin/.cvsignore: removed
10318
103192006-03-14 13:31  gb
10320
10321        * bin/.cvsignore, l1-fasls/.cvsignore: new file.
10322
103232006-03-14 13:24  gb
10324
10325        * level-1/: l1-boot-2.lisp, level-1.lisp: Step 1: don't hardwire
10326        the target fasl pathname in a big #+ nest, get it from the target
10327        backend.  (Hope that works with macrolet.)
10328
103292006-03-14 13:22  gb
10330
10331        * lisp-kernel/x86-spentry64.s: _SPstack_misc_alloc fixes.
10332        _SPsyscall: just return negative return values, don't negate them.
10333
103342006-03-14 13:20  gb
10335
10336        * library/x8664-linux-syscalls.lisp: Hide the incomplete
10337        definitions.  This needs work; should use real foreign types.
10338
103392006-03-14 13:19  gb
10340
10341        * compiler/X86/X8664/x8664-vinsns.lisp: %init-gvector: pop the last
10342        element first.
10343
103442006-03-14 13:19  gb
10345
10346        * compiler/X86/X8664/x8664-backend.lisp: :linuxx8664-target on
10347        features, too.
10348
103492006-03-14 13:18  gb
10350
10351        * compiler/X86/x862.lisp: x862-allocate-initialized-gvector: works
10352        better if the gvector is actually allocated ...
10353
103542006-03-14 03:11  gb
10355
10356        * compiler/X86/x862.lisp: Remove a comment that described the
10357        mid-1990s behavior of MacsBug.
10358
103592006-03-14 03:10  gb
10360
10361        * compiler/X86/x86-lap.lisp: In X86-LAP-EQUATE-FORM, check for and
10362        disallow bindings that match defined X86 register names.
10363
103642006-03-14 03:09  gb
10365
10366        * compiler/X86/x86-disassemble.lisp: Some UUOs shouldn't terminate
10367        a disassembly block.
10368
103692006-03-14 03:09  gb
10370
10371        * library/syscall.lisp: Whoops.
10372
103732006-03-14 03:01  gb
10374
10375        * lisp-kernel/x86-spentry64.s: Fixes in _SPcall_closure,
10376        _SPstkgvector.
10377
103782006-03-14 03:00  gb
10379
10380        * lisp-kernel/x86-exceptions.c: Handle uuo_debug_trap.
10381
103822006-03-14 03:00  gb
10383
10384        * lisp-kernel/x86-constants64.h: Iflags is REG_EFL on Linux.
10385
103862006-03-14 02:59  gb
10387
10388        * lisp-kernel/lisp-debug.c: Make (R)egisters command work on x8664.
10389
103902006-03-14 02:59  gb
10391
10392        * library/syscall.lisp: BACKEND-SYSCALL-DEFINITIONS uses whatever
10393        bits are in the backend's BACKEND-PLATFORM-SYSCALL-MASK.
10394
103952006-03-14 02:57  gb
10396
10397        * library/x8664-linux-syscalls.lisp: New file. Woefully incomplete,
10398        and may need word-size fixes.
10399
104002006-03-14 02:57  gb
10401
10402        * library/ppc-linux-syscalls.lisp: Set the mask per the new (new)
10403        scheme.
10404
104052006-03-14 02:56  gb
10406
10407        * level-0/X86/x86-utils.lisp: Fix a few bugs in heap-walking code.
10408
104092006-03-14 02:56  gb
10410
10411        * level-0/X86/x86-def.lisp: %NTH-IMMEDIATE needed to box;  both it
10412        and %FUNCTION-CODE-WORDS needed to avoid naming parameters FN.
10413
104142006-03-14 02:55  gb
10415
10416        * level-1/: l1-sockets.lisp, l1-streams.lisp, linux-files.lisp: Use
10417        the right set of syscall definitions for Linux.
10418
104192006-03-14 02:54  gb
10420
10421        * level-0/nfasload.lisp: Add a fixnum declaration.
10422
104232006-03-14 02:54  gb
10424
10425        * level-0/l0-io.lisp: Include the right set of syscall defs for
10426        Linux.
10427
104282006-03-14 02:53  gb
10429
10430        * level-0/l0-symbol.lisp: Need to use %symptr->symbol for x86;
10431        harmless on PPC.
10432
104332006-03-14 02:53  gb
10434
10435        * compiler/X86/X8664/x8664-vinsns.lisp: SETUP-VCELL-ALLOCATION
10436        needs to bias the size by fulltag-misc.
10437
104382006-03-14 02:52  gb
10439
10440        * compiler/X86/X8664/x8664-backend.lisp: At least for Linux/X86/64,
10441        need to look at os/cpu/word-size to deterine applicable syscall
10442        defs.
10443
104442006-03-14 02:51  gb
10445
10446        * compiler/PPC/: PPC32/ppc32-backend.lisp,
10447        PPC64/ppc64-backend.lisp: All PPC (32/64) backends can use syscall
10448        defs for OS/CPU, regardless of word size.
10449
104502006-03-14 02:50  gb
10451
10452        * compiler/backend.lisp: Add PLATFORM-SYSCALL-MASK to backend
10453        struct.
10454
104552006-03-14 02:09  gb
10456
10457        * library/: ppc-linux-syscalls.lisp, linux-syscalls.lisp: renamed
10458
104592006-03-13 02:33  gb
10460
10461        * level-1/version.lisp: Bump.
10462
104632006-03-13 02:24  gb
10464
10465        * xdump/xfasload.lisp: AREA constants now in CCL package.
10466
104672006-03-13 02:23  gb
10468
10469        * lisp-kernel/x86-spentry64.s: ret1valn: no LEAVE here.
10470        nthrowvalues: fix several bugs.
10471
104722006-03-13 02:22  gb
10473
10474        * lisp-kernel/x86-macros.s: TSP_Alloc_Var: zero the dnode at the
10475        new tsp, as well.
10476
104772006-03-13 02:21  gb
10478
10479        * library/lispequ.lisp: Define AREA constants here (in CCL
10480        package.)
10481
104822006-03-13 02:20  gb
10483
10484        * lib/macros.lisp: Move DO-CONSING-AREAS here.  AREA-CODE is an
10485        arch macro.
10486
104872006-03-13 02:20  gb
10488
10489        * level-1/l1-lisp-threads.lisp: Move DO-CONSING-AREAS to
10490        macros.lisp.
10491
104922006-03-13 02:19  gb
10493
10494        * level-0/X86/x86-utils.lisp: Walk static, dynamic areas.
10495
104962006-03-13 02:19  gb
10497
10498        * level-0/PPC/ppc-utils.lisp: Comments.
10499
105002006-03-13 02:18  gb
10501
10502        * level-0/nfasload.lisp: %MAP-AREAS call might have to deal with
10503        symbol/symbol-vector distinction.
10504
105052006-03-13 02:18  gb
10506
10507        * level-0/l0-utils.lisp: AREA constants are in CCL package, not
10508        PPC.  %MAP-LFUNS might have to deal with function/function-vector
10509        distinction.
10510
105112006-03-13 02:17  gb
10512
10513        * level-0/l0-misc.lisp: AREA constants are in CCL package, not PPC.
10514
105152006-03-13 02:17  gb
10516
10517        * level-0/l0-hash.lisp: %GROW-HASH-TABLE is always called inside
10518        WITHOUT-INTERRUPTS, so no need to do it again.
10519
105202006-03-13 02:16  gb
10521
10522        * compiler/X86/x862.lisp: Push at most one stack frame on function
10523        entry ...
10524
105252006-03-13 02:14  gb
10526
10527        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
10528        X86/X8664/x8664-arch.lisp: AREA-CODE archmacro.
10529
105302006-03-13 02:13  gb
10531
10532        * compiler/: PPC/ppc-arch.lisp, X86/x86-arch.lisp: AREA constants
10533        moved to CCL package.
10534
105352006-03-11 23:54  gb
10536
10537        * lisp-kernel/linuxx8664/.gdbinit: Don't change handling of SIGUSR1
10538        or SIGUSR2; I don't think that we use them under Linux.
10539
105402006-03-11 23:52  gb
10541
10542        * lisp-kernel/x86-spentry64.s: builtin_eql was extracting lisptags
10543        and comparing fulltags, and thus returning false when it shouldn't
10544        have.
10545       
10546        nthrow1value was making too small of a TSP frame around the call to
10547        the cleanup code, clobbering TSP links in some cases.  It was also
10548        failing to pop catch frames.
10549       
10550        stkgvector was unimplented.
10551       
10552        _car order-of-arguments problems in (at least) spreadargz.
10553
105542006-03-11 23:47  gb
10555
10556        * lisp-kernel/x86-subprims64.s: Push a 0 and make the initial lisp
10557        %rbp point to it, to mark the end of the line.
10558
105592006-03-11 23:47  gb
10560
10561        * lisp-kernel/xlbt.c: Sketchy kernel-debugger backtrace.
10562
105632006-03-11 23:46  gb
10564
10565        * lisp-kernel/x86-constants64.h: A lisp_frame struct, for kernel
10566        backtrace.
10567
105682006-03-11 23:46  gb
10569
10570        * lisp-kernel/pmcl-kernel.c: Try (temporily) disabling Lisp's
10571        SIGINT handler.   There seem to be problems using a keyboard
10572        interrupt to awaken GDB on the version of x96-64 Linux I'm using.
10573        This didn't fix those problems completely, but we won't need to
10574        handle SIGINT in the lisp until more code works.
10575
105762006-03-11 23:43  gb
10577
10578        * lisp-kernel/macros.h: I may have parenthesized nodeheader_tag_p
10579        and immheader_tag_p; several versions of  GCC generated code that
10580        looked wrong, but since it's C it's hard to tell.   Splitting the
10581        macros up (into "mask definition" and "mask testing" seems to
10582        generate the right code (a bit test if optimization's cranked up.)
10583
105842006-03-11 23:41  gb
10585
10586        * level-0/X86/x86-misc.lisp: Fix a few typos (fixnum vs unboxed
10587        constants, etc.)
10588       
10589        %ATOMIC-DECF-PTR-IF-POSITIVE should return what we would have
10590        (might have) stored in the word accessed by the pointer (in
10591        particular, it should return a negative value if there are no other
10592        threads waiting on a recursive lock.)
10593
105942006-03-11 23:38  gb
10595
10596        * level-0/PPC/ppc-misc.lisp: Fix file name in comment.
10597
105982006-03-11 23:38  gb
10599
10600        * compiler/X86/X8664/x8664-vinsns.lisp: ENSURE-RESERVED-FRAME: test
10601        was backwards.
10602
106032006-03-11 23:37  gb
10604
10605        * compiler/X86/X8664/x8664-arch.lisp: Don't use FN as arg name in
10606        LFUN-VECTOR, since x8664::fn is a constant (symbolic register
10607        name.)
10608       
10609        Add missing close paren.
10610
106112006-03-11 23:36  gb
10612
10613        * compiler/X86/x862.lisp: Ensure stack fencepost in simple
10614        &optional arg case.
10615       
10616        Do the variable-arg-count case if complex &optional, no &rest/&key,
10617        and some (possibly unsupplied) optionals may or may not have been
10618        pushed by the caller.
10619
106202006-03-11 04:11  gb
10621
10622        * lisp-kernel/: image.c, lisp_globals.h: Fix conditionalization: we
10623        don't define PPC32, but it might be clearer if we did.
10624
106252006-03-11 03:28  gb
10626
10627        * level-1/version.lisp: Bump.
10628
106292006-03-11 03:20  gb
10630
10631        * library/: darwin-syscalls.lisp, linux-syscalls.lisp,
10632        syscall.lisp: New mechanism, mostly to make cross-compilation
10633        easier.
10634
106352006-03-11 03:20  gb
10636
10637        * level-0/X86/x86-def.lisp: Extra paren; %NTH-IMMEDIATE and
10638        function/lfun-vector stuff, CLOSURE-FUNCTION here until that can be
10639        abstracted away sanely.
10640
106412006-03-11 03:18  gb
10642
10643        * level-0/X86/x86-misc.lisp: %STORE-IMMEDIATE-CONDITIONAL needs to
10644        discard the frame that the caller reserved.
10645
106462006-03-11 03:17  gb
10647
10648        * level-0/X86/x86-clos.lisp: Comment out the PPC LAP (e.g.,
10649        everything in the file, still).
10650
106512006-03-11 03:15  gb
10652
10653        * level-0/PPC/ppc-def.lisp: CLOSURE-FUNCTION here.  (Abstract away
10654        NTH-IMMEDIATE ?)
10655
106562006-03-11 03:14  gb
10657
10658        * level-0/l0-misc.lisp: Indentation.
10659
106602006-03-11 03:13  gb
10661
10662        * level-0/l0-def.lisp: Move CLOSURE-FUNCTION to arch-specific dir.
10663        Use LFUN-VECTOR, which should hopefully compile away on PPC but
10664        needs to be there on X8664.
10665
106662006-03-11 03:11  gb
10667
10668        * compiler/X86/X8664/x8664-vinsns.lisp: Now that subprim addresses
10669        are higher, there's another significant byte to deal with in the
10670        subprim jump in %INIT-CLOSURE.
10671       
10672        Use a temporary - and a smaller instruction sequence - in
10673        MISC-ELEMENT-COUNT-FIXNUM, so that src and dest can overlap.  (More
10674        instructions, but fewer bytes.)
10675
106762006-03-11 03:08  gb
10677
10678        * compiler/PPC/PPC32/ppc32-arch.lisp,
10679        compiler/PPC/PPC64/ppc64-arch.lisp,
10680        compiler/X86/X8664/x8664-arch.lisp, lib/macros.lisp: LFUN-VECTOR
10681        and LFUN-VECTOR-LFUN are arch-specific macros.
10682
106832006-03-11 03:07  gb
10684
10685        * lisp-kernel/x86-spentry64.s: Reformat a comment.
10686
106872006-03-10 22:06  gb
10688
10689        * xdump/xx8664-fasload.lisp: Target-specific static-space (NIL
10690        representation, mostly) init functions.
10691       
10692        Move image-base-address up a few terabytes.
10693       
10694        Undefined function and macro trampolines are vectors with an
10695        executable fixnum in the 0th word.
10696
106972006-03-10 22:05  gb
10698
10699        * xdump/xppcfasload.lisp: Target-specific static-space (NIL
10700        representation, mostly) init functions.
10701
107022006-03-10 22:04  gb
10703
10704        * xdump/xfasload.lisp: Lots of changes, to deal with
10705        symbol/function tagging issues, x86 clfuns, etc.
10706
107072006-03-10 22:03  gb
10708
10709        * xdump/heap-image.lisp: Endianness, word-size conditionalization
10710        stuff.
10711
107122006-03-10 22:02  gb
10713
10714        * lisp-kernel/linuxx8664/Makefile: C files depend on lisptypes.h.
10715
107162006-03-10 22:01  gb
10717
10718        * lisp-kernel/linuxx8664/elf_x86_64.x: Don't try to link into low
10719        memory (no real reason to.) Do try to put spjump at a
10720        fixed/known/page-aligned address.
10721
107222006-03-10 21:59  gb
10723
10724        * lisp-kernel/x86_print.c: Recognize some x8664 tags.
10725
107262006-03-10 21:59  gb
10727
10728        * lisp-kernel/x86-subprims64.s: Use Rforeign_sp; get valence right
10729        on exit.
10730
107312006-03-10 21:58  gb
10732
10733        * lisp-kernel/x86-spjump64.s: Rename ffcall/syscall.
10734
107352006-03-10 21:58  gb
10736
10737        * lisp-kernel/x86-spentry64.s: Lots of fixes/changes (including
10738        ffcall/syscall).
10739
107402006-03-10 21:56  gb
10741
10742        * lisp-kernel/x86-macros.s: TSP_Alloc_Size is an immediate operand
10743        in TSP_Alloc_Fixed().
10744       
10745        Fix allocptr/allocbase comparison when consing.
10746       
10747        Misc_Alloc_Fixed: m4/gas $ conflation.
10748
107492006-03-10 21:54  gb
10750
10751        * lisp-kernel/x86-exceptions.h: Extra parens around xpGPR
10752        expansion.
10753
107542006-03-10 21:54  gb
10755
10756        * lisp-kernel/x86-exceptions.c: Actually handle something
10757        (uuo_alloc()), since we can't do much without it.
10758
107592006-03-10 21:53  gb
10760
10761        * lisp-kernel/x86-constants64.s: Call the foreign sp register
10762        Rforeign_sp, to avoid m4 lossage.
10763       
10764        nrs starts at #x2020, because NIL is between there and #x2000.
10765
107662006-03-10 21:52  gb
10767
10768        * lisp-kernel/x86-constants64.h: Iallocptr for trap handler.
10769       
10770        tcr was missing foreign_sp definition.
10771
107722006-03-10 21:51  gb
10773
10774        * lisp-kernel/thread_manager.c: get_tcr() change for HAVE_TLS case.
10775
107762006-03-10 21:51  gb
10777
10778        * lisp-kernel/ppc-exceptions.c: Put a sane value in the FPSCR
10779        before calling back to lisp on an exception.
10780
107812006-03-10 21:50  gb
10782
10783        * lisp-kernel/pmcl-kernel.c: Use address of bad_funcall, not
10784        "value".
10785       
10786        Disable EGC on x8664.
10787
107882006-03-10 21:49  gb
10789
10790        * lisp-kernel/lisptypes.h: formatting change only.
10791
107922006-03-10 21:49  gb
10793
10794        * lisp-kernel/lisp_globals.h: Layout of lisp-globals/nrs on x8664
10795        not identical to ppc64 (NIL representation differs.)
10796
107972006-03-10 21:48  gb
10798
10799        * lisp-kernel/lisp-debug.c: Lisp register stuff for x8664.
10800
108012006-03-10 21:48  gb
10802
10803        * lisp-kernel/image.c: Fix some conditionalization.
10804
108052006-03-10 21:47  gb
10806
10807        * lisp-kernel/area.h: Larger IMAGE-BASE-ADDRESS for X8664 Linux.
10808
108092006-03-10 21:46  gb
10810
10811        * library/: linux-syscalls.lisp, syscall.lisp: Try to make things a
10812        little more portable, but really need to keep things in the
10813        target-ftd.  Soon.
10814
108152006-03-10 21:45  gb
10816
10817        * level-0/l0-numbers.lisp: Don't reference
10818        TARGET::LEAST-SIGNIFICANT-BIT in ASH; express limits in terms of
10819        TARGET::NBITS-IN-WORD.
10820
108212006-03-10 21:45  gb
10822
10823        * level-0/l0-misc.lisp: Add some fixnum decls to %GET-CSTRING, so
10824        that single-stepping through it in GDB is faster.
10825
108262006-03-10 21:44  gb
10827
10828        * level-0/l0-io.lisp: %YIELD here, so all level-0 syscalls are in
10829        one file.
10830
108312006-03-10 21:43  gb
10832
10833        * level-0/l0-cfm-support.lisp: We generally want foreign symbol
10834        addresses to be boxed integers on X8664, and can't assume that
10835        they're fixnum-aligned.
10836
108372006-03-10 21:42  gb
10838
10839        * level-0/: l0-array.lisp, l0-init.lisp: Comment indentation.
10840
108412006-03-10 21:41  gb
10842
10843        * lisp-kernel/linuxx8664/.gdbinit: Well, it's a start ...
10844
108452006-03-10 21:41  gb
10846
10847        * level-0/X86/x86-utils.lisp: %KERNEL-IMPORT boxes what may not
10848        have been a fixnum.
10849
108502006-03-10 21:40  gb
10851
10852        * level-0/X86/x86-misc.lisp: Fix typo.
10853       
10854        STORE-NODE-CONDITIONAL pops stack arg, discards stack frame
10855        reserved by caller before jumping into kernel.
10856
108572006-03-10 21:39  gb
10858
10859        * level-0/X86/x86-float.lisp: Missing SET-MXCSR-CONTROL was hidden
10860        in duplicate SET-MSCSR-STATUS.  May want to always set/get the
10861        control and rounding modes.
10862
108632006-03-10 21:37  gb
10864
10865        * level-0/X86/x86-def.lisp: Comment out the missing lexpr/apply
10866        stuff, so that the rest of the file compiles.
10867
108682006-03-10 21:36  gb
10869
10870        * level-0/X86/x86-array.lisp: %INIT-MISC wants/needs to be in LAP
10871        because of write-barrier issues.
10872
108732006-03-10 21:35  gb
10874
10875        * lib/x8664env.lisp: It's OK (in fact necessary) to use FP0 as a
10876        temporary.  0.0 is in FPZERO.
10877
108782006-03-10 21:34  gb
10879
10880        * lib/nfcomp.lisp: Spit out a fasl op while writing CLFUNs.
10881
108822006-03-10 21:33  gb
10883
10884        * level-0/PPC/ppc-float.lisp: Don't CLEAR-FPU-EXCEPTIONS, at least
10885        without knowing why.
10886
108872006-03-10 21:32  gb
10888
10889        * compiler/X86/X8664/x8664-vinsns.lisp: SETcc sets the byte to 1 or
10890        0, so we need to negate.
10891       
10892        Other bug fixes and additions.
10893
108942006-03-10 21:31  gb
10895
10896        * compiler/X86/X8664/x8664-arch.lisp: Fix a typo in
10897        X8664-MISC-BYTE-SIZE.
10898       
10899        Move subprims base up to #x410000, to make it easier on the linker.
10900
109012006-03-10 21:29  gb
10902
10903        * compiler/X86/x862.lisp: Lots-o-fixes; FFI stuff.  When generating
10904        code involving a :REG8 operand, be careful to pass the 8-bit reg
10905        entry to LAP.
10906
109072006-03-10 21:27  gb
10908
10909        * compiler/X86/x86-lapmacros.lisp: X86 CMOV instructions reference
10910        the source operand (possibly generating a memory fault) even if the
10911        destination operand isn't written to.  Who knew ?
10912
109132006-03-10 21:24  gb
10914
10915        * compiler/X86/x86-disassemble.lisp: Recognize newer UUOs.
10916
109172006-03-10 21:24  gb
10918
10919        * compiler/X86/x86-lap.lisp: Use the #x80 bit in an instruction's
10920        REX prefix to indicate when the prefix needs to be emitted (even if
10921        the #x7 bits are clear).
10922
109232006-03-10 21:23  gb
10924
10925        * compiler/X86/x86-asm.lisp: A few UUOs; try to ensure that we'll
10926        generate (at least) a #x40 REX prefix if a new-style byte register
10927        is used as an operand.  (e.g., we generally don't want to refer to
10928        the traditional things like %dh, and do want to refer to the newer
10929        things like %sil.)
10930
109312006-03-10 21:20  gb
10932
10933        * compiler/X86/x86-arch.lisp: rename *X86-NILREG-RELATIVE-SYMBOLS*
10934        -> *X86-NIL-RELATIVE-SYMBOLS*.
10935
109362006-03-10 21:18  gb
10937
10938        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
10939        PPC64/ppc64-vinsns.lisp: %SINGLE-TO-DOUBLE, %DOUBLE-TO-SINGLE, to
10940        avoid consing in some simple cases.
10941
109422006-03-10 21:17  gb
10943
10944        * compiler/PPC/ppc-arch.lisp: Rename *PPC-NILREG-RELATIVE-SYMBOLS*
10945        -> *PPC-NIL-RELATIVE-SYMBOLS* (NIL hasn't been in a register in a
10946        few years.)
10947
109482006-03-10 21:15  gb
10949
10950        * compiler/optimizers.lisp: On 64-bit targets, SINGLE-FLOATs are
10951        EQL iff EQ.
10952       
10953        Try to recognize a few ways of coercing SINGLE-FLOATs to
10954        DOUBLE-FLOATs and vice versa, so that we have some chance of
10955        avoiding consing in some cases.
10956
109572006-03-10 21:13  gb
10958
10959        * compiler/nxenv.lisp: Add %SINGLE-TO-DOUBLE, %DOUBLE-TO-SINGLE.
10960        Replace unused EMBEDDED-CALL with SYSCALL.
10961
109622006-03-10 21:12  gb
10963
10964        * compiler/nx1.lisp: Just use SYSCALL operator to mark x8664
10965        syscalls.
10966
109672006-03-10 21:12  gb
10968
10969        * .cvsignore: Change patterns.
10970
109712006-03-07 06:49  gb
10972
10973        * lisp-kernel/x86-spentry64.s: Assume that fpzero (not fp0)
10974        contains 0.0.
10975       
10976        Get a few more things working, or at least written.
10977
109782006-03-07 06:48  gb
10979
10980        * lisp-kernel/: x86-macros.s, x86-subprims64.s: Assume that fpzero
10981        (not fp0) contains 0.0.
10982
109832006-03-07 06:48  gb
10984
10985        * lisp-kernel/x86-constants64.s: Define fpzero = xmm15.
10986       
10987        Pad the (misnamed) fpscr field in the TCR.
10988
109892006-03-06 06:37  gb
10990
10991        * lib/nfcomp.lisp: Initial, crude support for cross-dumping
10992        "concatenated" lisp functions.
10993
109942006-03-06 06:36  gb
10995
10996        * level-0/l0-numbers.lisp: Fix comment indentation in a function
10997        that the x8664 backend was choking on.
10998
109992006-03-06 06:36  gb
11000
11001        * compiler/X86/X8664/x8664-vinsns.lisp: use fpzero when a zero is
11002        needed,  not fp0.
11003
110042006-03-06 06:35  gb
11005
11006        * compiler/X86/X8664/x8664-arch.lisp: xmm15 is fpzero (contains
11007        0.0[de]0).  (xmm0 is used for ff-call.)
11008
110092006-03-06 06:35  gb
11010
11011        * compiler/X86/x862.lisp: X862-COMPILE: don't reserve quad for null
11012        function name, even if debug info is present.
11013
110142006-03-06 06:34  gb
11015
11016        * compiler/X86/x86-lap.lisp: RELAX-FRAG-LIST: account for (possibly
11017        non-zero) length of :ALIGN frags.  CROSS-CREATE-X86-FUNCTION: don't
11018        emit function name if it's nil, even if debug-info is present.
11019
110202006-03-06 06:30  gb
11021
11022        * compiler/X86/x86-asm.lisp: Add a declaration to suppress compiler
11023        warning on forward reference.
11024
110252006-03-06 03:27  gb
11026
11027        * xdump/xfasload.lisp: Fix parens.
11028
110292006-03-06 02:59  gb
11030
11031        * xdump/xfasload.lisp: Remove many uses of TARGET-ARCH-CASE (thus
11032        removing many uses of ppc/ppc32/ppc64 package symbols.)  Some uses
11033        remain.
11034
110352006-03-06 02:57  gb
11036
11037        * lib/macros.lisp: Define TARGET-ARCH-CASE in terms of CASE, not
11038        ECASE.
11039
110402006-03-05 19:12  gb
11041
11042        * compiler/PPC/PPC64/ppc64-arch.lisp: typecode, lisptag are in ccl
11043        package.
11044
110452006-03-05 19:01  gb
11046
11047        * level-1/version.lisp: Bump; some of this is hard to bootstrap.
11048
110492006-03-05 19:00  gb
11050
11051        * lib/macros.lisp: Move some %kernel-global nonsense here.
11052
110532006-03-05 19:00  gb
11054
11055        * level-1/l1-lisp-threads.lisp: Define macros in ... macros.lisp,
11056        of all places.
11057
110582006-03-05 18:59  gb
11059
11060        * level-0/X86/x86-array.lisp: write some code in lisp
11061        (temporarily), clean up some typos so that the file compiles.
11062
110632006-03-05 18:58  gb
11064
11065        * compiler/: arch.lisp, PPC/PPC32/ppc32-arch.lisp,
11066        PPC/PPC64/ppc64-arch.lisp, X86/X8664/x8664-arch.lisp: More
11067        parameters (mostly for xloader) in target-arch struct.
11068
110692006-03-05 18:52  gb
11070
11071        * xdump/xfasload.lisp: Get target parameters from
11072        (backend-target-arch *target-backend*)).
11073
110742006-03-05 06:17  gb
11075
11076        * xdump/xx8664-fasload.lisp: Closer ...
11077
110782006-03-05 06:17  gb
11079
11080        * xdump/hashenv.lisp: Arch macros for hashing macros.
11081
110822006-03-05 06:16  gb
11083
11084        * level-1/l1-lisp-threads.lisp: Arch macros for kernel globals.
11085
110862006-03-05 06:16  gb
11087
11088        * level-1/l1-readloop-lds.lisp: Check *interrupt-level* value, not
11089        (interrupt-level).
11090
110912006-03-05 06:15  gb
11092
11093        * level-1/l1-clos-boot.lisp: Make *class-table* a global.
11094
110952006-03-05 06:15  gb
11096
11097        * level-0/X86/X8664/x8664-bignum.lisp: use temp2.b (= cl) for
11098        variable shifts.
11099
111002006-03-05 06:14  gb
11101
11102        * level-0/nfasload.lisp: No code-vectors on x8664.
11103
111042006-03-05 06:14  gb
11105
11106        * level-0/l0-numbers.lisp: Conditionalization: 64-bit-target
11107        implies no (need for) destructive single-float ops.
11108
111092006-03-05 06:13  gb
11110
11111        * level-0/l0-misc.lisp: Remove some unused stuff.
11112
111132006-03-05 06:13  gb
11114
11115        * level-0/l0-array.lisp: array-element-type for x8664.
11116
111172006-03-05 06:12  gb
11118
11119        * compiler/X86/X