source: trunk/ccl/ChangeLog @ 6245

Last change on this file since 6245 was 6245, checked in by gb, 14 years ago
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 720.5 KB
Line 
12007-04-08 15:12  gb
2
3        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump image version.
4
52007-04-08 15:10  gb
6
7        * xdump/faslenv.lisp: Bump min fasl version.
8
92007-04-08 14:11  gb
10
11        * lisp-kernel/ppc-spjump.s: Org to the next page boundary at end of
12        jump table, to work around (still more) Apple ld64 nonsense.
13
142007-04-08 13:14  gb
15
16        * lib/nfcomp.lisp: Bump current fasl version.
17
182007-04-08 13:13  gb
19
20        * lib/ccl-export-syms.lisp: Export CCL:FREE.
21
222007-04-08 13:12  gb
23
24        * xdump/faslenv.lisp: Bump max fasl version.
25
262007-04-08 13:11  gb
27
28        * lisp-kernel/darwinppc64/Makefile: Pass -arch ppc64 to C, so that
29        people who try to build this kernel on an x86 mac will take longer
30        to realize that that's usually a bad idea.
31
322007-04-08 12:09  gb
33
34        * examples/: cocoa-application.lisp, cocoa-backtrace.lisp,
35        cocoa-defaults.lisp, cocoa-editor.lisp, cocoa-inspector.lisp,
36        cocoa-listener.lisp, cocoa-prefs.lisp, cocoa-typeout.lisp,
37        cocoa-window.lisp, cocoa.lisp:
38        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
39       
40        Some changes in font, nsstring stuff to avoid using deprecated
41        featurs.
42
432007-04-08 12:07  gb
44
45        * examples/: webkit.lisp, addressbook.lisp:
46        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
47       
48        Use OBJC:LOAD-FRAMEWORK.
49
502007-04-08 12:06  gb
51
52        * examples/tiny.lisp:
53        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
54
552007-04-08 12:05  gb
56
57        * examples/rubix/: blocks.lisp, lights.lisp, opengl.lisp,
58        rubix.lisp:
59        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
60       
61        Handle CGFLOAT issues in mouse event handlers.
62
632007-04-08 12:04  gb
64
65        * examples/bridge.lisp: Define CGFLOAT, ObjC-2 foreign types here.
66       
67        Define "foreign struct classes" for several common structure types
68        (rectangle, point, size); generate inlined accessors for their
69        slots, PRINT-OBJECT methods, initialization functions, WITH-xxx
70        macros.
71       
72        #/ reader macro: reads a string containing "constituent" characters
73        (including #\:), preserving case.  Does a little bit of
74        sanity-checking on it, then interns it in NEXTSTEP-FUNCTIONS
75        package.
76       
77        Try to deal with cases where foreign type info may be parsed or
78        unparsed.
79       
80        Introduce OBJC-DISPATCH-FUNCTIONs, which are funcallable instances.
81         SHARED-INITIALIZE :AFTER method on OBJC-DISPATCH-FUNCTION looks at
82        message info, tries to determine ambiguity, calls signature
83        function (possibly after trying to resolve ambiguity.)
84       
85        %CALL-NEXT-OBJC-METHOD does some of the same stuff at runtime,
86        calling a signature function that knows how to dispatch to SUPER
87        method. (Likewise, %CALL-NEXT-OBJC-CLASS-METHOD for class methods.)
88       
89        POSTPROCESS-OBJC-MESSAGE-INFO (re-) initializes the associated
90        OBJC-DISPATCH-FUNCTION.
91       
92        Handle PROTOCOLs differently in ambiguous SEND.
93
942007-04-08 12:04  gb
95
96        * examples/objc-runtime.lisp: Compile message send functions per
97        signature.  Handle vararg message sends, partly at runtime.  INIT
98        messages just have their signature info precomputed.  Defining a
99        named OBJC-CLASS makes the class name a static variable whose value
100        is the class (and likewise for the metaclass.)
101        %DECLARE-OBJC-MESSAGE notes method redefinition, cerrors.
102        OBJC:DEFMETHOD and support for it.
103
1042007-04-08 12:03  gb
105
106        * examples/objc-support.lisp: Use new syntax.  OBJC:LOAD-FRAMEWORK.
107         Avoid some deprecated C-string stuff (but wimp out and assume
108        ASCII.) Keep track of objc-class-count, provide
109        MAYBE-MAP-OBJC-CLASSES to map new classes iff class count changes.
110        Handle OBJC-PROTOCOLs a bit differently.  Move CGFLOAT definitions,
111        etc. elsewhere.
112
1132007-04-08 12:02  gb
114
115        * examples/objc-clos.lisp: RECOGNIZE-OBJC-OBJECT: maybe try mapping
116        classes if first try fails.  ALLOCATE-INSTANCE of objc-object:
117        don't canonicalize instance if no lisp slots (so MAKE-INSTANCE is
118        about as lightweight as MAKE-OBJC-INSTANCE.)
119
1202007-04-08 12:01  gb
121
122        * examples/name-translation.lisp:
123        COMPUTE-OBJC-TO-LISP-FUNCTION-NAME was once going to do something
124        non-trivial, now just interns in NEXSTEP-FUNCTIONS.
125
1262007-04-08 12:00  gb
127
128        * examples/objc-package.lisp: New file; export more stuff.  Import
129        some of it back into CCL.  Provide a NEXTSTEP-FUNCTIONS package for
130        pseudo-GFs.
131
1322007-04-08 11:59  gb
133
134        * lib/foreign-types.lisp: Foreign-type-ordinals, some of which are
135        canonical.  Straighten out the auxiliary-foreign-types mess a bit.
136        Intern integer types up to 64 bits.
137
1382007-04-08 11:59  gb
139
140        * lib/macros.lisp: DEFGLOBAL = DEFSTATIC.  DEFLOADVAR makes its
141        argument static.  WITH-MACPTRS is saner.  WITH-ENCODED-CSTR writes
142        NUL octet(s) to the end of the encoded string.  MAKE-GCABLE-RECORD,
143        COPY-RECORD.
144
1452007-04-08 11:58  gb
146
147        * lib/db-io.lisp: Slight changes (preserve typedef name) in
148        function/objc method arglists.  UNESCAPE-FOREIGN-NAME: handle
149        missing brackets.
150
1512007-04-08 11:57  gb
152
153        * lisp-kernel/x86-exceptions.c: Handle signals on the altstack if
154        not Darwin.  In Darwin, evactuate off of the lisp stack while
155        interrupts are still disabled.
156
1572007-04-08 11:56  gb
158
159        * lisp-kernel/x86-exceptions.h: USE_SIGALTSTACK, but not on Darwin
160        (where Apple hasn't yet invented the notion that it needs to be
161        thread-specific.)
162
1632007-04-08 11:55  gb
164
165        * lisp-kernel/thread_manager.c: Clear pending interrupt flag when
166        destroying TCR.
167
1682007-04-08 11:54  gb
169
170        * lisp-kernel/ppc-exceptions.c: Lose (commented-out) code which
171        worked around an old Darwin bug.
172
1732007-04-08 11:53  gb
174
175        * lisp-kernel/lisp.h: Don't define USE_SIGALTSTACK here.
176
1772007-04-08 11:52  gb
178
179        * lisp-kernel/image.c: Don't nuke null pointers.
180
1812007-04-08 11:52  gb
182
183        * lisp-kernel/darwinx8664/.gdbinit: Add gtra.
184
1852007-04-08 11:51  gb
186
187        * lisp-kernel/x86-spentry64.s: zeroed stack-block zeroes all bits
188        of macptr.domain, macptr.type.
189
1902007-04-08 11:50  gb
191
192        * xdump/xfasload.lisp: Deal with pkg.intern-hook.
193
1942007-04-08 11:49  gb
195
196        * library/lispequ.lisp: add pkg.intern-hook to package.
197
1982007-04-08 11:48  gb
199
200        * lib/describe.lisp: Start trying to conditionalize some of the
201        stack-frame inspector stuff.
202
2032007-04-08 11:48  gb
204
205        * lib/ffi-darwinppc64.lisp: Structures are basically passed as
206        64-bit word components, with FP fields passed in registers.  This
207        requires some special handling ("hybrid" parameters) in the
208        compiler and %FF-CALL.
209
2102007-04-08 11:47  gb
211
212        * lib/level-2.lisp: %GET-BITFIELD and SETF thereof: deal with
213        endianness.
214
2152007-04-08 11:46  gb
216
217        * lib/nfcomp.lisp: FASL-SCAN: null-pointers as constants are OK.
218
2192007-04-08 11:45  gb
220
221        * lib/source-files.lisp: From Takehiko Abe: handle EQL specializers
222        in %SOURCE-FILES-LIKE-EM.
223
2242007-04-08 11:44  gb
225
226        * lib/streams.lisp: DRIBBLE via PROCESS-DRIBBLE.
227
2282007-04-08 11:43  gb
229
230        * lib/xref.lisp: From Takehiko Abe: handle EQL specializers in
231        MAKE-XREF-ENTRY.
232
2332007-04-08 11:43  gb
234
235        * lib/ccl-export-syms.lisp: Export DEFSTATIC, PAREF, +NULL-PTR+.
236
2372007-04-08 11:42  gb
238
239        * level-1/version.lisp: Bump; new snapshots tomorrow.
240
2412007-04-08 11:41  gb
242
243        * level-1/x86-callback-support.lisp: DEFGLOBAL->DEFSTATIC
244
2452007-04-08 11:40  gb
246
247        * level-1/linux-files.lisp: Very long timeout for
248        WAIT-ON-SEMAPHORE, don't use PROCESS-WAIT, manipulate the whostate
249        if we have to wait at all.
250       
251        Same idea for TIMED-WAIT-ON-SEMAPHORE.
252       
253        Make PIPE code slightly easier to read.
254
2552007-04-08 11:39  gb
256
257        * level-1/l1-utils.lisp: DEFGLOBAL->DEFSTATIC.
258
2592007-04-08 11:38  gb
260
261        * level-1/l1-unicode.lisp: Add NUL-ENCODING field to
262        CHARACTER-ENCODING, use it to determine number/sequence of octets
263        used to encode NUL.
264
2652007-04-08 11:38  gb
266
267        * level-1/l1-streams.lisp: DEFGLOBAL->DEFSTATIC.
268       
269        READ-TOPLEVEL-FORM on ECHO-STREAM has do I/O on the echo stream (so
270        DRIBBLE works); on TWO-WAY-STREAM, should read from the input side
271        so that echoing looks more natural.
272
2732007-04-08 11:37  gb
274
275        * level-1/l1-symhash.lisp: Extra slot  (for intern hook) in PACKAGE
276        object.
277
2782007-04-08 11:36  gb
279
280        * level-1/l1-readloop-lds.lisp: Some changes, then reverted those
281        changes manually and most of the effects were cosmetic.
282        TOPLEVEL-PRINT takes an output stream arg.
283
2842007-04-08 11:35  gb
285
286        * level-1/l1-processes.lisp: Per-process DRIBBLE-ing.
287
2882007-04-08 11:34  gb
289
290        * level-1/l1-lisp-threads.lisp: %TCR-INTERRUPT: don't signal if
291        interrupt is obviously pending.
292
2932007-04-08 11:33  gb
294
295        * level-1/l1-io.lisp: Change pointer printing.
296
2972007-04-08 11:33  gb
298
299        * level-1/l1-init.lisp: +NULL-PTR+.
300
3012007-04-08 11:31  gb
302
303        * level-1/: l1-dcode.lisp, l1-events.lisp: DEFSTATIC is now the
304        preferred name for DEFGLOBAL.
305
3062007-04-08 11:30  gb
307
308        * level-1/l1-clos-boot.lisp: DEFSTATIC is now the preferred name
309        for DEFGLOBAL.
310       
311        Mechanism for associating a (built-in) class with a foreign type
312        ordinal.
313
3142007-04-08 11:29  gb
315
316        * level-1/l1-callbacks.lisp: DEFSTATIC is now the preferred name
317        for DEFGLOBAL.
318       
319        %CALLBACK-FUNCTION accepts a symbol (as well as a pointer that's
320        likely the global value of some symbol.)
321
3222007-04-08 11:28  gb
323
324        * level-1/l1-boot-2.lisp: DEFSTATIC is now the preferred name for
325        DEFGLOBAL.
326       
327        Standard CL streams now bound per-thread.
328       
329        Install standard foreign types here, not every time that
330        FOREIGN-TYPES is loaded.
331       
332        Canonicalize foreign type ordinals as soon as we can.  (This is
333        part of a scheme to give foreign types "ordinals' that can be used
334        to assert pointer types; we need some of those ordinal numbers to
335        be pre-assigned, since we can't reference foreign types early in
336        the cold load.)
337
3382007-04-08 11:27  gb
339
340        * level-1/l1-aprims.lisp: DEFSTATIC is now the preferred name for
341        DEFGLOBAL.  GCABLE-PTR-P.
342
3432007-04-07 21:25  gb
344
345        * level-0/nfasload.lisp: %INSERT-SYMBOL might call pkg.intern-hook.
346         Handle maintenance of auto-export packages differently.
347        $fasl-timm just needs an :int, not a :long.
348
3492007-04-07 21:24  gb
350
351        * level-0/l0-symbol.lisp: SET-TYPE-PREDICATE returns the
352        "functional", not random symbol guts.
353
3542007-04-07 21:23  gb
355
356        * level-0/l0-misc.lisp: Use %PTR-STORE-FIXNUM-CONDITIONAL in
357        %GET-SPIN-LOCK.  Locking code: spin lock must be released before
358        interrupts are re-enabled.
359
3602007-04-07 21:22  gb
361
362        * level-0/l0-io.lisp: FREE tries to handle gcable pointers.
363
3642007-04-07 21:20  gb
365
366        * level-0/: PPC/ppc-misc.lisp, X86/x86-misc.lisp:
367        %PTR-STORE-FIXNUM-CONDITIONAL.
368
3692007-04-07 21:19  gb
370
371        * level-0/PPC/ppc-def.lisp: Handle "hybrid" integer/float arguments
372        in DarwinPPC64 #'%FF-CALL.
373
3742007-04-07 21:19  gb
375
376        * compiler/optimizers.lisp: When trying to infer result type of
377        MAKE-ARRAY call, unquote quoted type specifier.
378       
379        Strength-reduce FLOAT when second argument is of known type.
380
3812007-04-07 21:18  gb
382
383        * compiler/nxenv.lisp: Operators of %SINGLE-FLOAT, %DOUBLE-FLOAT.
384
3852007-04-07 21:17  gb
386
387        * compiler/nx1.lisp: Allow extra "hybrid" ff-call argspecs (for
388        DarwinPPC64.) Cut-and-paste bug re: nx1-%fixnum-to-single/double.
389        Parse %short-float, %double-float when no "result" arg; can at
390        least try to constant-fold late and/or do some cases if we have
391        more type info.
392
3932007-04-07 21:16  gb
394
395        * compiler/nx0.lisp: Lose some whitespace in the "static var can't
396        be bound" error message.
397
3982007-04-07 21:15  gb
399
400        * compiler/X86/x862.lisp: Same inline/lambda-bind/dynamic-extent
401        bug as on PPC.  %SINGLE-FLOAT, %DOUBLE-FLOAT here, too.
402
4032007-04-07 21:14  gb
404
405        * compiler/X86/X8664/x8664-backend.lisp: In EXPAND-FF-CALL, adjust
406        remaning GPR/FPR counts even if arg is "simple" and passes straight
407        through to %FF-CALL.
408
4092007-04-07 21:13  gb
410
411        * compiler/PPC/ppc2.lisp: Fix a long-standing bug involving
412        LAMBDA-BIND operator, dynamic-extent &REST, and stack memoization.
413        Handle DarwinPPC64 ABI conventions, where SINGLE-FLOATs may be
414        passed in the same doubleword as GPRs.  %DOUBLE-FLOAT,
415        %SINGLE-FLOAT stuff: do inlining late, catch some other cases.
416
4172007-04-07 21:12  gb
418
419        * compiler/PPC/PPC64/ppc64-vinsns.lisp: RELOAD-SINGLE-C-ARG-HIGH,
420        for Darwin structure-passing ABI.
421
4222007-04-07 21:10  gb
423
424        * OpenMCL.app/Contents/Resources/English.lproj/:
425        MainMenu.nib/info.nib, MainMenu.nib/keyedobjects.nib,
426        MainMenu.nib/objects.nib, OpenmclInspector.nib/info.nib,
427        OpenmclInspector.nib/keyedobjects.nib,
428        OpenmclInspector.nib/objects.nib, backtrace.nib/info.nib,
429        backtrace.nib/keyedobjects.nib, backtrace.nib/objects.nib,
430        lispeditor.nib/info.nib, lispeditor.nib/keyedobjects.nib,
431        lispeditor.nib/objects.nib: Convert .nib to use utf-8
432        representation, not binary.
433
4342007-04-06 22:10  gb
435
436        * lisp-kernel/pmcl-kernel.c: Patch from Andi Kleen: set vmemoryuse
437        (RLIMIT_AS) current resource limit to max limit, since some distros
438        limit it.
439
4402007-04-03 03:11  gb
441
442        * level-1/l1-streams.lisp: Takehiko Abe's fix to
443        %IOBLOCK-WRITE-U16-ENCODED-CHAR.
444
4452007-04-02 22:10  gb
446
447        * level-1/l1-unicode.lisp: Takehiko Abe's fixes (missing "stream"
448        arg in utf-16 encode, missing #x in little-endian bom-marker
449        definition.)
450
4512007-03-14 23:10  gb
452
453        * lisp-kernel/x86-exceptions.c: Remove a debugging fprintf.
454
4552007-03-14 05:11  gb
456
457        * lib/ffi-darwinppc32.lisp: Fix typo (extra quote) in
458        generate-callback-bindings.
459
4602007-03-13 06:10  gb
461
462        * lisp-kernel/darwinx8664/Makefile: (re-)enable -O2.
463
4642007-03-13 03:58  gb
465
466        * lib/backtrace.lisp: Fix fenceposts in CLOSURE-CLOSED-OVER-VALUES.
467
4682007-03-12 05:11  gb
469
470        * lisp-kernel/x86-exceptions.c: Simplify interrupt_handler() a
471        little.
472
4732007-03-12 05:10  gb
474
475        * lib/foreign-types.lisp: Fix "extra arguments" error message in
476        %EXTERNAL-CALL-EXPANDER.
477
4782007-03-12 05:09  gb
479
480        * level-1/l1-clos-boot.lisp: class-wrapper-random-state: use
481        encapsulation, and a lock.
482
4832007-03-12 05:08  gb
484
485        * level-1/: l1-aprims.lisp, l1-numbers.lisp: *RANDOM-STATE* is
486        thread-local.
487
4882007-03-12 02:25  gb
489
490        * lisp-kernel/x86-exceptions.c: in catch_exception_raise(), try to
491        deal with variations in Mach behavior: "exception" may be
492        EXC_BAD_ACCESS when an illegal instruction causes a "general
493        protection fault".
494
4952007-03-09 15:56  gb
496
497        * level-1/l1-files.lisp: Bill's fix to (MAKE-PATHNAME :DIRECTORY
498        NIL ...)
499
5002007-03-09 00:01  gb
501
502        * lib/dumplisp.lisp: Use CLEAR-OPEN-FILE-STREAMS.
503
5042007-03-09 00:00  gb
505
506        * lib/ccl-export-syms.lisp: Accessors of open-file-streams; no more
507        *OPEN-FILE-STREAMS*.
508
5092007-03-09 00:00  gb
510
511        * level-1/: l1-streams.lisp, l1-sysio.lisp: Encapsulation for
512        open-file-streams.
513
5142007-03-08 23:59  gb
515
516        * level-1/l1-readloop.lisp: OPEN-FILE-STREAMS is a function,
517        returns a copy of a list of open file streams in PREPARE-TO-QUIT.
518
5192007-03-08 23:58  gb
520
521        * level-1/l1-init.lisp: Lose *OPEN-FILE-STREAMS* and the lock
522        associated with it.
523
5242007-03-08 23:57  gb
525
526        * level-1/l1-aprims.lisp: Bind *GENSYM-COUNTER* per-thread.
527
5282007-03-08 23:47  gb
529
530        * level-0/l0-hash.lisp: When REMHASH deletes the last entry in a
531        hash-table, it fills the hash-table vector with "free" markers.
532        (There may already be lots of "deleted" markers in the table.)
533
5342007-03-08 22:26  gb
535
536        * level-1/linux-files.lisp: *spin-lock-tries* with a trailing *.
537
5382007-03-08 22:24  gb
539
540        * lib/numbers.lisp: printing random-state: don't shift seeds.
541
5422007-03-08 22:24  gb
543
544        * level-1/l1-numbers.lisp: MAKE-RANDOM-STATE: don't shift.
545
5462007-03-08 22:24  gb
547
548        * level-0/X86/x86-numbers.lisp: Do %next-random-seed more portably.
549
5502007-03-08 22:23  gb
551
552        * level-0/PPC/PPC64/ppc64-bignum.lisp: Typo in comment.
553
5542007-03-08 22:23  gb
555
556        * level-0/PPC/ppc-numbers.lisp: Just a 32-bit version of
557        %next-random-pair.
558
5592007-03-08 22:22  gb
560
561        * level-0/l0-numbers.lisp: And, while we're at it: do the
562        next-random-seed permutation in %next-random-pair, which accepts
563        and returns a pair of 16-bit integers.  That's in lap on ppc32 and
564        in lisp on 64-bit platforms.
565
5662007-03-08 22:20  gb
567
568        * level-0/l0-numbers.lisp: Don't shift random seeds.
569
5702007-03-08 03:30  gb
571
572        * level-1/x86-error-signal.lisp: Check for trap opcode >= #x70
573        rather than >= #x80, because of the new way that
574        uuo-error-slot-unbound is encoded.
575
5762007-03-08 03:28  gb
577
578        * compiler/X86/x86-disassemble.lisp: Recognize
579        uuo-error-slot-unbound.
580
5812007-03-08 03:28  gb
582
583        * compiler/X86/x86-asm.lisp: Use (int #x7_) for
584        uuo-error-slot-unbound, since some (int #x8_) traps confuse Mach.
585
5862007-03-07 08:29  gb
587
588        * compiler/PPC/ppc2.lisp: Don't shadow the definition of PPC-DIV2.
589
5902007-03-07 07:45  gb
591
592        * level-1/linux-files.lisp: For #+linux-target, try to use
593        #_sysconf in CPU-COUNT, and fall back to parsing /proc/cpuinfo only
594        if that fails.  (CPU-COUNT is called early in the cold load, before
595        we can make the file-stream necessary to do the parsing.)
596
5972007-03-07 07:33  gb
598
599        * lisp-kernel/: linuxppc/Makefile, linuxppc64/Makefile,
600        linuxx8664/Makefile: Handle new GNU ld "hash-style" linker options.
601
6022007-03-07 07:25  gb
603
604        * lisp-kernel/x86-exceptions.h: Darwin signal return: logior in the
605        el-bizarro syscall mask, pass the magic number 0x1e as a second
606        arg, just in case.
607
6082007-03-07 07:24  gb
609
610        * level-1/l1-sysio.lisp: OPEN, CLOSE lock *OPEN-FILE-STREAMS-LOCK*
611        before accessing *OPEN-FILE-STREAMS*.
612
6132007-03-07 07:23  gb
614
615        * level-1/l1-readloop.lisp: Add comment about
616        *OPEN-FILE-STREAMS-LOCK*.
617
6182007-03-07 07:23  gb
619
620        * level-1/l1-init.lisp: Add *OPEN-FILE-STREAMS-LOCK*.
621
6222007-03-07 07:21  gb
623
624        * lib/nfcomp.lisp: Bind *FCOMP-PREVIOUS-POSITION* in
625        FCOMP-READ-LOOP (e.g., don't just hammer on the static binding.)
626
6272007-03-07 07:05  gb
628
629        * xdump/heap-image.lisp: Bump current image version.
630
6312007-03-07 07:02  gb
632
633        * lisp-kernel/x86-asmutils64.s: Some (currently unused) CPUID
634        "calls" want an argument in ecx.  Set that arg to 0 for now.
635
6362007-03-07 07:01  gb
637
638        * lisp-kernel/thread_manager.c: Use spinlocks to guard updates to
639        "real" locks; those updates can be simplified.
640       
641        lock_recursive_lock: no (ignored) timeout arg.
642
6432007-03-07 06:59  gb
644
645        * lisp-kernel/image.h: Bump current, max abi versions; continue to
646        support the old one.
647
6482007-03-07 06:59  gb
649
650        * lisp-kernel/Threads.h: #include #<sched.h>, for sched_yield()
651        prototype.  Change declaration of LOCK macro: no null timespec
652        required.  RECURSIVE_LOCKs have spinlock fields.
653
6542007-03-07 06:56  gb
655
656        * level-1/version.lisp: bump, indicate work-in-progress development
657        version.
658
6592007-03-07 06:56  gb
660
661        * level-1/linux-files.lisp: Determing *spin-lock-tries* at launch
662        time, based on cpu-count.  YIELD moved here, does #_sched_yield
663        rather than something lower-level.
664
6652007-03-07 06:53  gb
666
667        * level-0/l0-misc.lisp: Locks use spinlocks, try *spin-lock-tries*
668        to obtain them before yielding.
669
6702007-03-07 06:52  gb
671
672        * level-0/l0-io.lisp: Move YIELD elsewhere.
673
6742007-03-07 06:51  gb
675
676        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
677        X86/X8664/x8664-arch.lisp: Add spinlock field to lockptr storage
678        layout.
679
6802007-03-02 05:10  gb
681
682        * level-1/l1-application.lisp: Toplevel function: initial-listener
683        class is 'TTY-LISTENER.
684
6852007-03-02 05:09  gb
686
687        * level-1/l1-lisp-threads.lisp: Print n's value, not n in error
688        message.
689
6902007-03-02 05:09  gb
691
692        * level-1/l1-processes.lisp: New process class: TTY-LISTENER.
693       
694        EXIT-INTERACTIVE-PROCESS: for most processes, just PROCESS-KILL.
695        For TTY-LISTENER, call QUIT.
696
6972007-03-02 05:08  gb
698
699        * level-1/l1-readloop-lds.lisp: Don't call QUIT on EOF, call
700        EXIT-INTERACTIVE-PROCESS instead.
701       
702        Look at *QUIT-ON-EOF* when deciding what to do in response to EOF.
703
7042007-03-02 05:06  gb
705
706        * lib/ccl-export-syms.lisp: Export *quit-on-eof*.
707
7082007-03-02 05:06  gb
709
710        * lib/macros.lisp: WITH-MACPTRS: move initialization/modification
711        of null pointers into body.
712
7132007-03-02 05:05  gb
714
715        * lisp-kernel/x86-exceptions.c: Try to handle two more cases of
716        consus-interruptus.
717
7182007-03-02 05:05  gb
719
720        * compiler/nx0.lisp: (the <type> <constant>) transforms to
721        <constant> if constant is of type <type>.)
722       
723        Do we need an ignore-errors here ? Or does <type> need to be
724        defined ?
725
7262007-03-02 05:03  gb
727
728        * compiler/X86/x862.lisp: Do the / * thing.
729
7302007-03-02 05:02  gb
731
732        * compiler/X86/X8664/x8664-vinsns.lisp: things that do calls need
733        :call attribute.
734
7352007-03-01 04:04  gb
736
737        * lisp-kernel/x86-spentry64.s: binding primitives: set value after
738        new binding frame
739
7402007-02-28 07:04  gb
741
742        * level-0/X86/x86-numbers.lisp: In %fixnum-truncate, use -8(sp)
743        rather than %rbp; trust callback_for_interrupt() to preserve it.
744
7452007-02-28 07:03  gb
746
747        * lisp-kernel/x86-exceptions.c: Try to preserve -8(sp) across
748        callback_for_interrupt().
749
7502007-02-28 05:18  gb
751
752        * lisp-kernel/x86-gc.c: check_node: ignore tiny things (shift
753        counts) that may wind up on the vstack.
754       
755        Since those tiny things might be tagged as headers, walk the vstack
756        with new "headerless" functions that ignore headers.
757
7582007-02-28 05:16  gb
759
760        * lisp-kernel/x86-exceptions.c: In pc_luser_xp: if allocating and
761        before the alloc trap and interrupting, back out of the
762        modification to save_allocptr (and allocptr register) and set
763        *interrupt_displacement.
764
7652007-02-23 10:13  gb
766
767        * lib/foreign-types.lisp: Changes to GUESS-ALIGNMENT.  Again, this
768        only makes sense for cases where we have to guess; a bitfield
769        that's 8 bits wide still has an alignment of 1.
770       
771        Factor in the alignment of the containing int when bitfields are
772        involved.
773       
774        When parsing a record type, set the "bits" slot of each field.
775        (Not too many things look at that slot, but we want the effect of
776        loading a record from the database to match the effect of parsing a
777        definition as exactly as possible, and to be able to use EQUALP to
778        compare the results.)
779
7802007-02-23 10:06  gb
781
782        * lib/db-io.lisp: Some extra fields in
783        objc-message-info/objc-method-info structures.
784       
785        When calculating overall alignment of a structure, treat bitfields
786        as if they were :unsigned-int (since there's a "containing"
787        unsigned int that affects alignment.  N.B: this should be imposed
788        for anything that has an alignment of 1, not just a size of 1.)
789       
790        When loading integer types, try to use the precomputed types rather
791        than consing a new one.  This (a) reduces consing a little (b) is
792        more likely to get the alignment correct.  For (b), we really need
793        to distinguish between bitfields and addressable integers.
794
7952007-02-23 09:30  gb
796
797        * compiler/X86/x862.lisp: Nonsense in x862-set-bit.
798
7992007-02-22 02:33  gb
800
801        * level-0/l0-misc.lisp: Tweak ROOM output a little.
802
8032007-02-22 02:28  gb
804
805        * lisp-kernel/x86-gc.c: Fix up the verbose GC herald a bit (get
806        heap size right ...).
807
8082007-02-22 02:27  gb
809
810        * lisp-kernel/linuxx8664/Makefile: Tell GNU ld to use the
811        traditional (sysv) style of hash maps, if it understands that
812        option.
813
8142007-02-21 06:01  gb
815
816        * lisp-kernel/: ppc-gc.c, x86-gc.c: Handle the case where nothing
817        has been consed since last GC.  (There are some fenceposts there.)
818       
819        verbose GC herald tries to indicate how much is allocated in the
820        area being GCed.
821
8222007-02-21 05:58  gb
823
824        * lisp-kernel/: ppc-exceptions.c, x86-exceptions.c: If full GC is
825        deferred, ensure that a full GC happens after WITHOUT-GCING exits.
826
8272007-02-21 05:57  gb
828
829        * compiler/X86/x86-disassemble.lisp: Continue disassembly after
830        uuo-gc-trap.
831
8322007-02-19 04:50  gb
833
834        * lib/foreign-types.lisp: Use keywords more consistently.
835       
836        (Note: there seems to be a bug which is keeping the cdb data
837        structures from getting defined correctly at load time; the
838        workaround is to compile foreign-types.lisp - which defines them -
839        in the same session as and before db-io - which uses them - is
840        compiled.)
841
8422007-02-19 04:48  gb
843
844        * level-0/X86/x86-clos.lisp: UNSET-FIN-TRAMPOLINE: don't tail-call
845        error.
846
8472007-02-19 04:42  gb
848
849        * level-0/PPC/ppc-clos.lisp: UNSET-FIN-TRAMPOLINE: don't tail-call
850        the error function.
851
8522007-02-19 04:40  gb
853
854        * level-1/l1-clos-boot.lisp: MAYBE-UPDATE-OBSOLETE-INSTANCE: handle
855        funcallable objects that aren't STANDARD-GENERIC-FUNCTIONs.
856
8572007-02-19 04:40  gb
858
859        * level-1/l1-clos.lisp: Move GENERIC-FUNCTION-NAME to
860        FUNCALLABLE-STANDARD-OBJECT.
861       
862        %ALLOCATE-GF-INSTANCE: don't create a dispatch table if not
863        creating a GF.
864
8652007-02-19 04:36  gb
866
867        * lib/describe.lisp: STANDARD-OBJECT-LINE-N: handle
868        funcallable-stanard-objects better.
869
8702007-02-19 04:34  gb
871
872        * lib/ccl-export-syms.lisp: Export FUNCALLABLE-STANDARD-OBJECT from
873        CCL, OPENMCL-MOP.
874
8752007-02-19 02:09  gb
876
877        * level-1/l1-clos-boot.lisp: FUNCALLABLE-STANDARD-OBJECT is a
878        FUNCALLABLE-STANDARD-CLASS.
879
8802007-02-19 02:07  gb
881
882        * examples/bridge.lisp: MAKE-OPTIMIZED-SEND: missing "msg" arg in
883        error message.
884
8852007-02-15 02:46  gb
886
887        * examples/objc-support.lisp: Call REGISTER-OBJC-INIT-MESSAGES
888        after MAP-OBJC-CLASSES in LOAD-OBJC-EXTENSION-FRAMEWORK.
889
8902007-02-15 02:45  gb
891
892        * examples/bridge.lisp: UPDATE-OBJC-METHOD-INFO: don't process init
893        methods yet.
894
8952007-02-14 02:39  gb
896
897        * release-notes.txt: Fix a typo.
898
8992007-02-14 02:35  gb
900
901        * release-notes.txt: Update for 070214 snapshots.
902
9032007-02-13 23:36  gb
904
905        * level-1/version.lisp: Bump.
906
9072007-02-13 23:36  gb
908
909        * lisp-kernel/image.h, xdump/heap-image.lisp: Update
910        image-abi-version.
911
9122007-02-13 23:29  gb
913
914        * xdump/faslenv.lisp: Finish bumping fasl version.
915
9162007-02-13 23:15  gb
917
918        * lib/nfcomp.lisp: Bump current fasl version.
919
9202007-02-13 23:02  gb
921
922        * x86-headers64/gl/C/populate.sh: rm -rf ./usr
923
9242007-02-13 22:45  gb
925
926        * xdump/faslenv.lisp: Start bumping fasl-version.
927
9282007-02-13 22:41  gb
929
930        * freebsd-headers64/: gmp/C/populate.sh, gnome2/C/populate.sh,
931        gtk2/C/populate.sh, libc/C/populate.sh: rm -rf  ./usr
932
9332007-02-13 21:16  gb
934
935        * freebsd-headers64/gl/C/populate.sh: Avoid processing some files
936        that contain incompatible definitions of some math library stuff
937        ("log" either has to do with logarithms or logging ...).
938
9392007-02-13 18:42  gb
940
941        * lib/misc.lisp: Change the way that TIME is reported by default:
942        mention the number of available CPU cores, don't assume that
943        there's that much of a relationship between CPU time and wall-clock
944        time.
945
9462007-02-13 18:41  gb
947
948        * level-1/linux-files.lisp: Don't do whatever el-bizarro Mach thing
949        once seemed to be necessary in %%RUSAGE.  Require syscall stuff
950        when :execute, too.
951
9522007-02-13 18:35  gb
953
954        * lib/ffi-linuxppc64.lisp: It's %%get-unsigned-longlong, and the
955        offset arg is required.
956
9572007-02-13 18:12  gb
958
959        * level-0/X86/x86-misc.lisp: Add rdtsc (returns 60 bit non-negative
960        fixnum) and rdtsc64 (returns 64-bit non-negative integer.)
961
9622007-02-13 18:10  gb
963
964        * lib/time.lisp: Simpler GET-INTERNAL-RUN-TIME (tries harder not to
965        cons.)
966
9672007-02-13 18:10  gb
968
969        * examples/rubix/rubix.lisp: A little bit of cgfloat stuff; there
970        are more/other float-size issues deeper down in the code.
971
9722007-02-13 18:09  gb
973
974        * examples/objc-support.lisp: Fixup the x86-64 error-return
975        callback trampiline code (was missing a byte of machine code.)
976
9772007-02-13 18:08  gb
978
979        * examples/objc-runtime.lisp: Set the mxcsr/fpctrl fields of
980        jmp-buf to safe/sane values.
981
9822007-02-13 18:07  gb
983
984        * examples/cocoa-window.lisp: Don't change-class
985        *cocoa-event-process* until we start to run the event loop.
986       
987        Don't do _deallocHardCore: explicitly.
988
9892007-02-13 17:35  gb
990
991        * compiler/PPC/ppc2.lisp: poweropen-foreign-args: on ppc64, a
992        DOUBLE-FLOAT aliases just one gpr.
993
9942007-02-13 17:34  gb
995
996        * darwin-headers64/libc/C/populate.sh: Select the SDK directory.
997
9982007-02-13 17:34  gb
999
1000        * library/pty.lisp: return-value pointers in OPEN-PTY-PAIR are just
1001        32-bit ints, not "long".
1002
10032007-02-13 17:33  gb
1004
1005        * lib/ffi-darwinppc64.lisp: Callback arguments: update offset/delta
1006        for each scalar, not each arg.
1007       
1008        Fix some backquoting/indentation.
1009
10102007-02-13 17:31  gb
1011
1012        * lib/ffi-darwinppc32.lisp: Fix typo (^get-signed-long).
1013
10142007-02-12 16:23  gb
1015
1016        * darwin-x86-headers64/libc/C/populate.sh: Select an SDK.
1017
10182007-02-11 20:22  gb
1019
1020        * examples/bridge.lisp: method-typestring needs to be
1021        conditionalized.  How has this been working ?
1022
10232007-02-11 20:22  gb
1024
1025        * examples/cocoa-editor.lisp: remove some debugging code.
1026
10272007-02-11 20:21  gb
1028
1029        * examples/objc-runtime.lisp: %mlist-containing is
1030        #-apple-objc-2.0.
1031
10322007-02-11 20:21  gb
1033
1034        * examples/objc-support.lisp: Lose a quote mark, fix another typo.
1035
10362007-02-11 05:35  gb
1037
1038        * level-1/version.lisp: Bump.
1039
10402007-02-11 05:28  gb
1041
1042        * darwin-headers/: addressbook/C/populate.sh, carbon/C/populate.sh,
1043        cocoa/C/populate.sh, gl/C/populate.sh, libc/C/populate.sh,
1044        quicktime/C/populate.sh, webkit/C/populate.sh: Make the SDK prefix
1045        an optional argument; default to the Tiger SDK.
1046
10472007-02-11 05:26  gb
1048
1049        * lib/ffi-darwinppc32.lisp: Ignore errors; it's an error to ignore
1050        an errror.
1051
10522007-02-11 05:26  gb
1053
1054        * level-1/ppc-trap-support.lisp: Conditionalize for gratuitous
1055        Leopard renaming.  Suffer.
1056
10572007-02-11 05:25  gb
1058
1059        * level-1/l1-boot-lds.lisp: MAKE-MCL-LISTENER-PROCESS will preset
1060        an existing process (so that the listener process appears to be
1061        "persistent".)
1062
10632007-02-11 05:24  gb
1064
1065        * level-1/l1-application.lisp: LISP-DEVELOPMENT-SYSTEM tries to
1066        make the initial-listener object persistent acrosss
1067        SAVE-APPLICATION.
1068
10692007-02-11 00:01  gb
1070
1071        * examples/objc-support.lisp: Deftype for CF-FLOAT.
1072       
1073        Handle callback-error-returns on x86-64.
1074
10752007-02-11 00:00  gb
1076
1077        * examples/objc-runtime.lisp: Pointer comparisons in splay trees
1078        use %ptr<, to hide word-size differences.
1079       
1080        __NSConstantStringClassReference isn't what it used to be, so look
1081        up NSConstantStringClass the hard way.
1082       
1083        Handle ns-exception/lisp-error stuff on x86-64.
1084       
1085        Do arg/result coercions differently.  Does any code depend on
1086        COERCE-TO-ADDRESS behavior ?  (It can cause extra consing of
1087        MACPTRs).
1088       
1089        Use the new FFI interface for message-sends, callbacks to try to
1090        hide platform-specific ABI issues.
1091       
1092        The _deallocate-hook mechanism - which never really worked -
1093        probably can't work on Objc-2.0.
1094
10952007-02-10 23:54  gb
1096
1097        * examples/bridge.lisp: Make structure return-type explicit in
1098        objc-message-send calls in send/stret and variants.
1099
11002007-02-10 22:34  gb
1101
1102        * examples/cocoa-window.lisp: Some indentation changes and slight
1103        reorganization of the code; shouldn't be any functional/semantic
1104        changes.
1105
11062007-02-10 22:30  gb
1107
1108        * examples/: cocoa-editor.lisp, cocoa-prefs.lisp,
1109        cocoa-typeout.lisp: Need to ensure that floats are CG-FLOATs when
1110        appropriate; other changes for 64-bit platforms, Objc-2.0.
1111
11122007-02-10 22:28  gb
1113
1114        * examples/: webkit.lisp, tiny.lisp: Need to ensure that floats are
1115        CG-FLOATs when appropriate.
1116
11172007-02-10 22:28  gb
1118
1119        * hemlock/bin/openmcl/.cvsignore: Ignore fasls for all platforms.
1120
11212007-02-10 22:28  gb
1122
1123        * level-0/X86/x86-misc.lisp: VALUES uses :ARGLIST pseudo-op.
1124
11252007-02-10 22:27  gb
1126
1127        * lib/: ffi-linuxppc64.lisp, ffi-darwinppc32.lisp,
1128        ffi-darwinppc64.lisp, ffi-linuxppc32.lisp: EXPAND-FF-CALL:
1129        ignore-errors when trying to parse the last arglist form as a
1130        foreign type.
1131
11322007-02-10 22:26  gb
1133
1134        * lib/foreign-types.lisp: Pretty much commited to the new FF-CALL
1135        expansion ...
1136
11372007-02-10 22:26  gb
1138
1139        * lisp-kernel/x86-spentry64.s: Preserve %rax when doing ff-call;
1140        use %rdx and %r11 to hold target address.
1141
11422007-02-10 22:23  gb
1143
1144        * library/pty.lisp: Unicode stuff when accessing control char
1145        array; conditionalize for #+darwin-target, not just
1146        #+darwinppc-target.
1147
11482007-02-10 22:22  gb
1149
1150        * level-1/l1-callbacks.lisp: Fix a comment (defcallback isn't
1151        ppc-specific; the comment dated from the days of 68K MCL.)
1152
11532007-02-10 22:21  gb
1154
1155        * compiler/X86/X8664/x8664-backend.lisp: Fix some typos; do struct
1156        return 32 bits at a time, to avoid consing little bignums.
1157
11582007-02-10 22:15  gb
1159
1160        * compiler/X86/x86-lap.lisp: Support :arglist directive.
1161
11622007-02-10 22:15  gb
1163
1164        * compiler/X86/x862.lisp: alloc-c-frame vinsn takes "extra" word
1165        count, not total byte count.
1166       
1167        Fix handling of $undo-x86-c-frame in x862-nlexit.  (Need to check
1168        the PPC case, as well.)
1169
11702007-02-10 22:11  gb
1171
1172        * compiler/X86/X8664/x8664-vinsns.lisp: There doesn't need to be a
1173        "zero-extend-s8" vinsn, but there does need to be a
1174        "zero-extend-u8".
1175
11762007-02-10 05:38  gb
1177
1178        * level-0/PPC/ppc-misc.lisp: Use new :ARGLIST directive in
1179        #'VALUES.
1180
11812007-02-10 05:38  gb
1182
1183        * compiler/PPC/ppc-lap.lisp: Support an :ARGLIST directive, so that
1184        ARGLIST can say -something- about lap functions that don't take a
1185        fixed number of arguments.
1186
11872007-02-07 02:54  gb
1188
1189        * compiler/X86/X8664/x8664-backend.lisp: They spell "valu" with an
1190        "e".
1191
11922007-02-02 02:32  gb
1193
1194        * examples/: bridge.lisp, objc-clos.lisp, objc-runtime.lisp,
1195        objc-support.lisp: Start to integrate with FFI changes.  No more
1196        %SEND, process and precompile "init" messages when interfaces are
1197        accessed.  (Note: should try to handle varargs init messages, even
1198        if we have to call %FF-CALL at runtime.)
1199
12002007-02-02 02:31  gb
1201
1202        * examples/: addressbook.lisp, webkit.lisp: Change the
1203        initialization code a bit.
1204
12052007-02-02 02:27  gb
1206
1207        * lib/foreign-types.lisp: Try to fix another case involving
1208        "auxiliary types".
1209       
1210        I think that the concept of auxiliary types might make sense in a
1211        context like:
1212       
1213        (def-foreign-type nil   (:struct :foo     (:a :int)     (:b
1214        (:struct :bar (:x :int) (:y :int)))))
1215       
1216        In that case, :struct :bar is local to the definition.  In the
1217        similar case:
1218       
1219        (def-foreign-type nil   (:struct :foo     (:a :int)     (:b
1220        (:struct :bar))))
1221       
1222        :BAR is presumably defined (globally) elsewhere.
1223
12242007-02-02 02:17  gb
1225
1226        * darwin-headers/addressbook/C/populate.sh: Specify the SDK to use.
1227         (Setting "SDK=" will hopefully work with older version of xcode.)
1228
12292007-02-02 02:15  gb
1230
1231        * darwin-headers/addressbook/C/.cvsignore: Ignore ./Developer.
1232
12332007-01-31 23:26  gb
1234
1235        * compiler/PPC/ppc2.lisp: Don't treat :registers arg as a real
1236        argument in ppc2-poweropen-foreign-args.
1237
12382007-01-31 22:47  gb
1239
1240        * lib/ffi-darwinppc64.lisp: Needed ,@ to return assign structure
1241        components from registers.
1242
12432007-01-31 22:45  gb
1244
1245        * lib/db-io.lisp: UNESCAPE-FOREIGN-NAME: strings with no angle
1246        brackets are returned verbatim, not downcased.
1247
12482007-01-31 22:44  gb
1249
1250        * level-0/PPC/ppc-def.lisp: Runtime version of 64-bit %ff-call
1251        accepts :registers.
1252
12532007-01-31 16:36  gb
1254
1255        * darwin-headers64/chud/: .cvsignore, C/.cvsignore, C/populate.sh:
1256        New (and, so far, useless) files.
1257
12582007-01-31 16:35  gb
1259
1260        * library/chud-metering.lisp: Add a comment; CHUD.Framework still
1261        seems to be 32-bit only.
1262
12632007-01-31 16:34  gb
1264
1265        * darwin-headers64/libc/C/.cvsignore: Ignore ./Developer.
1266
12672007-01-31 16:34  gb
1268
1269        * darwin-headers64/libc/C/populate.sh: Use SDK; add dlfcn.h.
1270
12712007-01-31 16:33  gb
1272
1273        * lib/db-io.lisp: Tweak the warning given if CDB-OPEN fails:
1274        missing cdb file: dog bytes man; missing parent directory is more
1275        newsworthy.
1276
12772007-01-31 15:38  gb
1278
1279        * library/chud-metering.lisp: Tweak a little, so that it might work
1280        on darwinppc64 (and on darwinx8664 when purify does something
1281        there.)
1282
12832007-01-31 15:06  gb
1284
1285        * darwin-headers/libc/C/populate.sh: Add dlfcn.h.
1286
12872007-01-31 02:49  gb
1288
1289        * level-0/PPC/PPC32/ppc32-bignum.lisp: BIGNUM-NEGATE-TO-PTR.
1290
12912007-01-30 22:53  gb
1292
1293        * freebsd-headers64/: gtk2/C/.cvsignore, gtk2/C/populate.sh,
1294        gl/C/.cvsignore, gl/C/populate.sh, gnome2/.cvsignore,
1295        gnome2/C/.cvsignore, gnome2/C/populate.sh, gtk2/.cvsignore,
1296        gl/.cvsignore: new files.
1297
12982007-01-30 22:21  gb
1299
1300        * freebsd-headers64/gmp/: C/.cvsignore, C/populate.sh, .cvsignore:
1301        new files.
1302
13032007-01-30 21:58  gb
1304
1305        * level-0/l0-bignum64.lisp: BIGNUM-NEGATE-TO-POINTER.
1306
13072007-01-30 21:58  gb
1308
1309        * x86-headers64/gmp/: .cvsignore, C/.cvsignore, C/populate.sh: new
1310        file
1311
13122007-01-30 21:49  gb
1313
1314        * level-1/l1-sockets.lisp: Learn to conditionalize! It's easy and
1315        fun!
1316
13172007-01-30 21:40  gb
1318
1319        * library/openmcl-gtk-support.lisp: Conditionalize out the
1320        event-polling task.
1321
13222007-01-30 21:36  gb
1323
1324        * headers64/: gl/.cvsignore, gl/C/.cvsignore, gl/C/populate.sh,
1325        gnome2/.cvsignore, gnome2/C/.cvsignore, gnome2/C/populate.sh,
1326        gtk2/.cvsignore, gtk2/C/.cvsignore, gtk2/C/populate.sh: new file
1327
13282007-01-30 21:35  gb
1329
1330        * headers/gl/C/populate.sh: process glu.h
1331
13322007-01-30 17:47  gb
1333
1334        * library/parse-ffi.lisp: Always encode explicit structure-typed
1335        function return values.
1336       
1337        Note when we see one, for now.
1338
13392007-01-30 17:45  gb
1340
1341        * lib/foreign-types.lisp: %EXTERNAL-CALL-EXPANDER allows/requires a
1342        leading argument to be paired with a structure-typed return-type.
1343
13442007-01-30 17:43  gb
1345
1346        * lib/ffi-linuxppc32.lisp: linuxppc32 always returns structures via
1347        the first-arg hack.
1348
13492007-01-30 17:42  gb
1350
1351        * lib/db-io.lisp: Bump *interface-abi-version*, but continue to
1352        support the old version.
1353       
1354        Don't check the :struct-by-value flag when encoding function
1355        args/results.  (That decision's made above our pay grade now.)
1356       
1357        When reading a :struct/:union definition, try to update an existing
1358        defintion rather than consing up a new one (this matters if the
1359        record is anonymous.)
1360
13612007-01-30 17:39  gb
1362
1363        * level-1/l1-sockets.lisp: Try to ensure that the :FORMAT argument
1364        gets passed to MAKE-TCP-STREAM-SOCKET and MAKE-FILE-STREAM-SOCKET
1365        correctly.
1366       
1367        Fix c_socket for #+linuxppc.
1368
13692007-01-30 08:20  gb
1370
1371        * level-1/version.lisp: Bump.
1372
13732007-01-30 08:20  gb
1374
1375        * lib/compile-ccl.lisp: Use make -j to build kernel.
1376
13772007-01-30 07:02  gb
1378
1379        * lisp-kernel/x86-spentry64.s: .SPcallback returns rax/rdx,
1380        xmm0/xmm1.
1381
13822007-01-30 07:01  gb
1383
1384        * lib/macros.lisp: Use new callback interface unconditionally.  (A
1385        day's work turned into 2 weeks, somehow.)
1386
13872007-01-30 07:00  gb
1388
1389        * compiler/X86/X8664/x8664-backend.lisp, lib/ffi-darwinx8664.lisp,
1390        lib/ffi-freebsdx8664.lisp, lib/ffi-linuxx8664.lisp: New callback
1391        stuff for x8664 (all platfroms appear to use the same ABI.)
1392
13932007-01-30 03:26  gb
1394
1395        * level-0/X86/x86-misc.lisp: Don't use boxed "disp" for
1396        displacement in %ATOMIC-INCF-NODE.
1397
13982007-01-29 07:27  gb
1399
1400        * lib/macros.lisp: Enable new callback stuff on #+ppc-target.
1401
14022007-01-29 07:27  gb
1403
1404        * lib/ffi-darwinppc64.lisp: new callback stuff.
1405
14062007-01-29 07:27  gb
1407
1408        * lib/ffi-darwinppc32.lisp: typos-r-us.
1409
14102007-01-29 04:37  gb
1411
1412        * lib/ffi-darwinppc32.lisp: Flesh out darwinppc32 callback stuff.
1413
14142007-01-29 04:37  gb
1415
1416        * lib/ffi-linuxppc64.lisp: Fix some typos/bugs; more likely remain.
1417
14182007-01-29 04:36  gb
1419
1420        * lib/foreign-types.lisp: REQUIRE-FOREIGN-TYPE-BITS.
1421
14222007-01-29 04:36  gb
1423
1424        * lib/macros.lisp: Use new callback scheme for darwinppc32, too.
1425
14262007-01-29 04:36  gb
1427
1428        * compiler/PPC/PPC32/ppc32-backend.lisp: No more (old) callback
1429        stuff here.
1430
14312007-01-29 02:33  gb
1432
1433        * lib/ffi-darwinppc32.lisp: Flesh out the new callback stuff.
1434
14352007-01-28 21:47  gb
1436
1437        * lib/: ffi-linuxppc32.lisp, ffi-linuxppc64.lisp: Flesh things out
1438        a bit more, change the API, get things working ... still a moving
1439        target.
1440
14412007-01-28 21:46  gb
1442
1443        * lib/macros.lisp: For linuxppc, use the new callback mechanism.
1444        (Other platforms still need more bootstrapping.)
1445
14462007-01-28 21:44  gb
1447
1448        * compiler/PPC/PPC32/ppc32-backend.lisp: Lose the old eabi-callback
1449        stuff; linuxppc 32/64-bit callbacks now use the new scheme.
1450
14512007-01-28 03:21  gb
1452
1453        * lib/ffi-linuxppc32.lisp: Remove some typos.  Need to pass
1454        dynamic-extent, other decls separately.
1455
14562007-01-28 03:20  gb
1457
1458        * compiler/PPC/PPC32/ppc32-backend.lisp: Fix some of this stuff;
1459        use the new (ftd-based) scheme.
1460
14612007-01-28 01:43  gb
1462
1463        * compiler/PPC/PPC64/ppc64-backend.lisp: Fix some typos.  (This
1464        code's getting replaced, but fix 'em anyway.)
1465
14662007-01-28 01:42  gb
1467
1468        * lib/db-io.lisp: If a .cdb file can't be opened, show the
1469        translated pathname and mention the fact that this might indicate a
1470        problem with "ccl:"'s logical translations.
1471
14722007-01-25 04:37  gb
1473
1474        * lib/foreign-types.lisp: Never fully understood the concept
1475        "auxiliary" foreign types, but try to canonicalize intermediate
1476        struct/union/enum references, so that (EQ (PARSE-FOREIGN-TYPE
1477        '(:STRUCT :FOO))     (PARSE-FOREIGN-TYPE '(:STRUCT :FOO))) is more
1478        likely to return T (e.g., something registered in the FTD.
1479       
1480        It seems clear that this is the right thing when the structure
1481        reference is in global scope; I'm not sure what it'd mean for that
1482        not to be the case.
1483
14842007-01-25 04:32  gb
1485
1486        * lib/ffi-linuxppc32.lisp: More plausible callback-bindings
1487        callback.
1488
14892007-01-24 23:41  gb
1490
1491        * lib/ffi-linuxppc32.lisp: First cut at callback-bindings thing;
1492        may not even compile.
1493
14942007-01-24 02:39  gb
1495
1496        * compiler/: PPC/PPC32/ppc32-backend.lisp,
1497        PPC/PPC64/ppc64-backend.lisp, X86/X8664/x8664-backend.lisp: Stubs
1498        for new FTD functions.
1499
15002007-01-24 02:28  gb
1501
1502        * lib/foreign-types.lisp: A few more fields (for callbacks) in ftd
1503        defstruct.
1504
15052007-01-23 15:28  gb
1506
1507        * compiler/PPC/: PPC32/ppc32-backend.lisp,
1508        PPC64/ppc64-backend.lisp: Get FPRs from where subprim saved them.
1509        Return FPRs in the same place.  (Will need to re-work all of this
1510        for platform-dependent structure stuff.)
1511
15122007-01-23 15:26  gb
1513
1514        * lisp-kernel/ppc-spentry.s: poweropen-callback, callbackX; save fp
1515        args here.  Return all (arg) GPRs and FPRs (needs cooperation from
1516        the lisp side.)
1517
15182007-01-23 15:21  gb
1519
1520        * lisp-kernel/: ppc-constants32.s, ppc-constants64.s: Add room in
1521        c_reg_save for saved fp args (f1-f13).
1522
15232007-01-23 15:14  gb
1524
1525        * lib/foreign-types.lisp: FF-CALL implemented in terms of the new
1526        ftd hook.
1527
15282007-01-23 07:19  gb
1529
1530        * level-1/l1-clos-boot.lisp: ppc32, ppc64 also had trouble with
1531        (CLASS-OF non-simple-string).
1532
15332007-01-23 07:02  gb
1534
1535        * level-1/l1-clos-boot.lisp: x8664 class-of: typo in non-simple
1536        array case, needed new string definition.
1537
15382007-01-23 07:01  gb
1539
1540        * lib/: ffi-darwinx8664.lisp, ffi-freebsdx8664.lisp,
1541        ffi-linuxx8664.lisp: Define ffi stuff in terms of common things in
1542        compiler/X86/X8664/x8664-backend.
1543
15442007-01-23 06:59  gb
1545
1546        * compiler/X86/X8664/x8664-backend.lisp: Define (common) x8664 ffi
1547        stuff here.
1548
15492007-01-21 08:32  gb
1550
1551        * compiler/X86/x862.lisp: Name vinsn ff-call-return-registers (not
1552        "-returning-").
1553       
1554        Typecheck the :registers arg.
1555
15562007-01-21 08:32  gb
1557
1558        * compiler/X86/X8664/x8664-vinsns.lisp: ff-call-return-registers.
1559
15602007-01-21 08:31  gb
1561
1562        * compiler/X86/X8664/x8664-arch.lisp: WITH-FFCALL-RESULTS: zero the
1563        stack-block.
1564
15652007-01-21 08:31  gb
1566
1567        * lisp-kernel/x86-spentry64.s: Don't use save3 in
1568        .SPffcall_return_registers (save3 = r11); use save2 (= r13)
1569        instead.
1570
15712007-01-21 06:46  gb
1572
1573        * compiler/PPC/PPC64/ppc64-arch.lisp: WITH-FFCALL-RESULTS needs
1574        space for 13 float registers, not 31.
1575
15762007-01-21 06:45  gb
1577
1578        * compiler/X86/X8664/x8664-arch.lisp: WITH-FFCALL-RESULTS for
1579        x86-64.
1580
15812007-01-21 06:38  gb
1582
1583        * compiler/X86/x862.lisp: ff-call: handle n-word struct-by-value,
1584        register return without typos.
1585
15862007-01-21 06:15  gb
1587
1588        * compiler/X86/x862.lisp: ff-call: handle n-word struct-by-value,
1589        register return.
1590
15912007-01-21 06:14  gb
1592
1593        * compiler/nx1.lisp: Don't assume that passing a structure by value
1594        in N words is Darwin-specific.  (LinuxPPC32 is probably the only
1595        platform that doesn't support the convention.)
1596
15972007-01-21 06:12  gb
1598
1599        * compiler/X86/X8664/x8664-arch.lisp: .SPffcall-return-registers
1600        replaces .SPunused-4.
1601
16022007-01-21 06:10  gb
1603
1604        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s:
1605        .SPffcall_return_registers (just returns %rax/rdx, %xmm0/%xmm1).
1606        (replaces .SPunused_4).
1607
16082007-01-21 00:05  gb
1609
1610        * lib/: ffi-linuxppc32.lisp, ffi-linuxppc64.lisp: Use
1611        argument/result coercion functions in os::expand-ff-call.
1612
16132007-01-20 23:53  gb
1614
1615        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp: Coerce arg,
1616        results when expanding an ff-call.
1617
16182007-01-20 23:52  gb
1619
1620        * lib/foreign-types.lisp: Default (no-op) functions for coercing
1621        foreign args, results.
1622
16232007-01-20 22:31  gb
1624
1625        * lib/ffi-linuxppc64.lisp: 4 down.  Whether 2 or 3 to go depends on
1626        your perspective (and on how close x86-64 Linux and x86-64 FreeBSD
1627        are to each other.  I'd guess that they're pretty close, and that
1628        x86-64 Darwin is random.)
1629
16302007-01-20 21:55  gb
1631
1632        * lib/ffi-linuxppc32.lisp: Pretty simple.  3 down, 4 to go.
1633
16342007-01-20 19:34  gb
1635
1636        * compiler/X86/X8664/x8664-backend.lisp: Package prefixes.  D'oh!
1637
16382007-01-20 19:25  gb
1639
1640        * compiler/X86/X8664/x8664-backend.lisp: Add references to the
1641        right os::ff-call-expander.
1642
16432007-01-20 19:24  gb
1644
1645        * compiler/PPC/PPC64/ppc64-arch.lisp: Remove some wip code.
1646
16472007-01-20 19:24  gb
1648
1649        * compiler/PPC/: PPC32/ppc32-backend.lisp,
1650        PPC64/ppc64-backend.lisp: Use os::expand-ff-call, for each value of
1651        OS.
1652
16532007-01-20 19:23  gb
1654
1655        * level-1/l1-sockets.lisp: Saw an opportunity to use PAREF;
1656        probably several more.
1657
16582007-01-20 19:22  gb
1659
1660        * lib/ffi-darwinppc64.lisp: Two down, 5 to go.
1661
16622007-01-20 19:21  gb
1663
1664        * lib/ffi-darwinppc32.lisp: Looks mostly right; might need to be
1665        extended to handle coercions at the Cocoa level, and probably needs
1666        some cooperation from %EXTERNAL-CALL-EXPANDER (e.g., what's
1667        installed by #_).
1668
16692007-01-20 19:18  gb
1670
1671        * lib/db-io.lisp: Encode, decode union types in arglists.
1672
16732007-01-20 19:17  gb
1674
1675        * lib/foreign-types.lisp: ftd's :ff-call-expand-function is
1676        os::expand-ff-call.
1677       
1678        Canonicalize the :void type a bit better.
1679
16802007-01-20 19:16  gb
1681
1682        * library/parse-ffi.lisp: Remove the debugging FORMAT call.
1683
16842007-01-18 23:15  gb
1685
1686        * level-1/l1-boot-2.lisp: Load with the new ffi-backend fasls.
1687
16882007-01-18 23:15  gb
1689
1690        * lib/compile-ccl.lisp: Deal with the new ffi-backend sources.
1691
16922007-01-18 23:15  gb
1693
1694        * lib/systems.lisp: Add the new ffi-backend sources.
1695
16962007-01-18 23:14  gb
1697
1698        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp,
1699        ffi-darwinx8664.lisp, ffi-freebsdx8664.lisp, ffi-linuxppc32.lisp,
1700        ffi-linuxppc64.lisp, ffi-linuxx8664.lisp: New (so far, empty)
1701        files.
1702
17032007-01-18 04:35  gb
1704
1705        * level-1/version.lisp: Bump.
1706
17072007-01-18 04:17  gb
1708
1709        * examples/bridge.lisp: Some word-size conditionalization.  Will
1710        need more work to handle struct return/asssignment correctly on all
1711        platforms.
1712
17132007-01-18 04:15  gb
1714
1715        * examples/: cocoa-editor.lisp, cocoa-backtrace.lisp: Use CGFloat,
1716        type casts, etc.  Likwise for :<NSI>nteger, :<NSUI>nteger.
1717
17182007-01-18 04:13  gb
1719
1720        * examples/: cocoa-prefs.lisp, cocoa-listener.lisp: Use CGFloat,
1721        type casts, etc.
1722
17232007-01-18 04:12  gb
1724
1725        * examples/cocoa-window.lisp: Use CGFloat, type casts, etc.  Avoid
1726        deprecated NSFont stuff.
1727
17282007-01-18 04:11  gb
1729
1730        * examples/objc-clos.lisp: Handle ivars, class
1731        creation/initialization differently for ObjC 2.0.
1732
17332007-01-18 04:10  gb
1734
1735        * examples/objc-runtime.lisp: More ObjC 2.0, ppc64 changes.
1736
17372007-01-18 04:09  gb
1738
1739        * examples/objc-support.lisp: Note which protocols are actually
1740        used when walking classes.  (There doesn't seem to be a good way of
1741        finding a Protocol object pre-objc-2.0, and we may need to test
1742        protocol compliance to disambiguate message sends in some cases.)
1743
17442007-01-18 04:07  gb
1745
1746        * examples/opengl-ffi.lisp: Conditionalize for darwin (not
1747        necessarily darwinppc).
1748
17492007-01-18 04:06  gb
1750
1751        * examples/addressbook.lisp: Conditionalize for darwin (not
1752        necessarily darwinppc).  May want to conditionalize for bundle
1753        executable name, as well.
1754
17552007-01-18 04:05  gb
1756
1757        * compiler/PPC/PPC64/ppc64-arch.lisp: WITH-FFCALL-RESULTS.  Start
1758        to sketch out structure return code (structures are often
1759        "returned" by returning field values in registers pn DarwinPPC64.)
1760
17612007-01-18 04:04  gb
1762
1763        * compiler/PPC/PPC64/ppc64-backend.lisp: New ftd stuff; new
1764        attributes for structure args/results.
1765
17662007-01-18 04:03  gb
1767
1768        * compiler/PPC/PPC64/ppc64-vinsns.lisp: ffcall-returning registers.
1769         (Will need this for other platforms, too.)
1770
17712007-01-18 04:01  gb
1772
1773        * lib/macros.lisp: Arch-specific macro interface for
1774        WITH-FFCALL-RESULTS.
1775
17762007-01-18 04:00  gb
1777
1778        * lib/db-io.lisp: Handle the case of an encoded structure type as a
1779        return value.
1780
17812007-01-18 04:00  gb
1782
1783        * lisp-kernel/: ppc-spentry.s, ppc-spjump.s:
1784        .SPpoweropen_ffcall_return_registers.
1785
17862007-01-18 03:59  gb
1787
1788        * library/parse-ffi.lisp: At least optionally, make structure
1789        return explicit (expecting it to be handled by higher-level code.)
1790
17912007-01-18 03:58  gb
1792
1793        * lib/foreign-types.lisp: ff-call-expand-function in ftd.  Don't
1794        try to type-expand :registers <exp> form in EXTERNAL-CALL.
1795
17962007-01-18 03:55  gb
1797
1798        * level-0/PPC/ppc-misc.lisp: Get the contents of the register that
1799        may hold OS thread context.
1800
18012007-01-18 03:54  gb
1802
1803        * compiler/PPC/PPC32/ppc32-backend.lisp: ff-call-expander function
1804        in ftd.
1805
18062007-01-18 03:53  gb
1807
1808        * compiler/PPC/PPC32/ppc32-arch.lisp: WITH-FFCALL-RESULTS arch
1809        macro.
1810
18112007-01-18 03:52  gb
1812
1813        * compiler/PPC/ppc2.lisp: Poweropen ff-calls might need to return
1814        all possible result regs.  (Maybe poweropen syscall, too.)
1815
18162007-01-18 03:51  gb
1817
1818        * compiler/PPC/ppc-arch.lisp: Replace unused subprim with
1819        .SPpoweropen-ff-call-return-registers.
1820
18212007-01-18 03:50  gb
1822
1823        * compiler/nx1.lisp: Support :registers <exp> in %ff-call; when
1824        supported, backend will return all (potential) result registers in
1825        buffer at <exp>.
1826
18272007-01-16 02:01  gb
1828
1829        * level-1/l1-streams.lisp: Make sure that STREAM-READ-IVECTOR and
1830        STREAM-WRITE-IVECTOR are defined on binary stream classes.  (These
1831        functions make less sense for character streams/strings than they
1832        used to.)
1833
18342007-01-16 01:39  gb
1835
1836        * level-1/l1-sockets.lisp: Ensure that the :FORMAT argument
1837        defaults to :BIVALENT
1838
18392007-01-16 01:37  gb
1840
1841        * level-0/l0-init.lisp: Put :OPENMCL-UNICODE-STRINGS on *FEATURES*.
1842
18432007-01-11 23:58  gb
1844
1845        * compiler/PPC/ppc2.lisp: Transform (/ (* constant1 exp) constant2)
1846        into (* (/ constant1 constant2) exp).  Not very general, but makes
1847        some foreign address arithmetic better.
1848
18492007-01-11 23:56  gb
1850
1851        * lib/macros.lisp: Simple PAREF: (paref pointer
1852        foreign-pointer-or-array-type index) does simple arithmetic for
1853        you.
1854
18552007-01-11 23:54  gb
1856
1857        * lib/foreign-types.lisp: %FOREIGN-ARRAY-ACCESS-FORM.
1858
18592007-01-10 15:50  gb
1860
1861        * compiler/PPC/ppc2.lisp: ppc2-vref1: lose extra arg to
1862        double->heap vinsn.
1863
18642007-01-09 11:33  gb
1865
1866        * lisp-kernel/x86-spentry64.s: When running an unwind-protect
1867        cleanup and multiple values are being thrown, be sure to set
1868        tcr.xframe from the target catch frame.  This is necessary on
1869        general principles (GC safety), and especially necessary if the
1870        cleanup form does a non-local exit.
1871
18722007-01-08 22:12  gb
1873
1874        * examples/: objc-clos.lisp, objc-runtime.lisp, objc-support.lisp:
1875        Revive some of the old GNUstep support; add partial ObjC 2.0
1876        support (for 64-bit targets only, so far.)
1877
18782007-01-08 22:11  gb
1879
1880        * examples/cocoa.lisp: Conditionalize for darwin-target, not
1881        darwinppc-target.
1882
18832007-01-08 22:10  gb
1884
1885        * examples/cocoa-listener.lisp: Disable background layout in the
1886        listener; the whole two-thread scheme probably isn't viable, but
1887        doing this seems to suppress a timing-related symptom.
1888
18892007-01-08 22:09  gb
1890
1891        * examples/cocoa-editor.lisp: Document-begin-editing,
1892        document-end-editing: both seem to have been conditionalized
1893        backwards.
1894
18952007-01-05 16:22  gb
1896
1897        * level-0/l0-numbers.lisp: Fix another typo ...
1898
18992007-01-05 16:16  gb
1900
1901        * level-0/l0-numbers.lisp: Fix typo (ppc32::, not ppc2::).
1902
19032007-01-05 15:27  gb
1904
1905        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Missing MISC-SET-C-S32 for
1906        PPC32.
1907
19082007-01-05 06:20  gb
1909
1910        * level-0/l0-cfm-support.lisp: OPEN-SHARED-LIBRARY: freebsd version
1911        of #_dlopen doesn't return a link map, but calling #_dlinfo on the
1912        result (with the right arg) does obtain a link map.
1913       
1914        Revive shared libraries on FreeBSD, but don't do the strange
1915        Linux-specific re-opening there.  (It seems like it's possible to
1916        #_dlopen something that already has a loaded link map - like the
1917        FreeBSD dynamic linker - or something.)
1918
19192007-01-04 05:46  gb
1920
1921        * level-1/l1-pathnames.lisp: %component-match-p: handle :WILD,
1922        :WILD-INFERIORS.
1923
19242007-01-04 05:45  gb
1925
1926        * lisp-kernel/pmcl-kernel.c: Try to check for old libc versions
1927        (which may use %gs instead of %fs for tls).
1928
19292007-01-04 05:44  gb
1930
1931        * lib/numbers.lisp: Explicitly require NUMBER-CASE-MACRO.
1932
19332007-01-04 05:44  gb
1934
1935        * level-0/l0-numbers.lisp:
1936        fixnum-sfloat-compare,fixnum-dfloat-compare: if the fixnum can be
1937        accurately represented in float, do so.
1938
19392007-01-03 03:35  gb
1940
1941        * lib/sequences.lisp: Fix a few type errors, check for explicit
1942        vector-type length earlier.
1943
19442007-01-03 03:31  gb
1945
1946        * level-1/l1-files.lisp: %STD-NAME-COMPONENT, %STD-TYPE-COMPONENT:
1947        preserved :WILD, don't map it to "*".
1948
19492007-01-03 03:30  gb
1950
1951        * lib/pathnames.lisp: More whack-a-mole with pathnames
1952        (specifically, preserving :WILD as name/type value and dealing with
1953        the consequences of doing so.)
1954
19552007-01-03 03:27  gb
1956
1957        * lib/numbers.lisp: Small (mostly cosmetic) change to RATIONAL.
1958
19592007-01-02 09:57  gb
1960
1961        * lib/macros.lisp: Keep fixing CTYPECASE.
1962
19632007-01-02 09:57  gb
1964
1965        * level-1/l1-streams.lisp: DOH! STREAM-READ-LINE method on
1966        BASIC-CHARACTER-INPUT-STREAM returns both values.
1967       
1968        "Composite" (two-way, concatenated, etc) streams need a close
1969        protocol.
1970
19712007-01-02 07:00  gb
1972
1973        * level-0/l0-pred.lisp: EQUAL on physical pathnames ignores the
1974        (new) version slot, as does practically everything else.
1975
19762007-01-02 06:59  gb
1977
1978        * level-0/l0-numbers.lisp: Don't assume that fixnums can be
1979        accurately coerced to floats when comparing fixnums and floats; do
1980        the logical equvalent of calling RATIONAL on the float instead.
1981
19822007-01-01 23:41  gb
1983
1984        * level-1/l1-files.lisp: ENOUGH-NAMESTRING: don't incorporate
1985        version into returned namestring for physical pathnames.
1986
19872006-12-31 10:15  gb
1988
1989        * release-notes.txt: Update.
1990
19912006-12-31 09:13  gb
1992
1993        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump image/abi
1994        version.
1995
19962006-12-31 08:57  gb
1997
1998        * xdump/faslenv.lisp: Bump fasl-min-vers.
1999
20002006-12-31 08:49  gb
2001
2002        * lib/nfcomp.lisp: Bump current fasl version.
2003
20042006-12-31 08:33  gb
2005
2006        * lisp-kernel/: linuxppc/elf32ppclinux.x, linuxppc64/elf64ppc.x:
2007        Tweak the executable start address.
2008
20092006-12-31 02:44  gb
2010
2011        * lisp-kernel/x86-spjump64.s: On Darwin, use a .space directive to
2012        ensure that there's nothing interesting in the first few pages of
2013        the address space (and ensure that those pages are mapped.)
2014
20152006-12-31 02:43  gb
2016
2017        * lisp-kernel/darwinx8664/Makefile: Sadly, we can't use -sectalign
2018        on x86-64 (ld64 does some floating-point arithmetic, fails to
2019        account for roundoff error, and claims that 0x1000 isn't a power of
2020        2.) If you can't say anything good about a linker, it's best not to
2021        say anything at all.
2022       
2023        We can force the first segment to be mapped at 0x1000, and can
2024        waste a few pages to ensure that all low-memory pages that the lisp
2025        wants are mapped.
2026
20272006-12-31 02:33  gb
2028
2029        * level-1/l1-pathnames.lisp: %SPLIT-COMPONENT: be a little more
2030        defensive.
2031
20322006-12-31 02:32  gb
2033
2034        * compiler/nx0.lisp: NX-FORM-TYPE: handle quoted constants.
2035
20362006-12-31 02:29  gb
2037
2038        * xdump/faslenv.lisp: Bump $fasl-vers.
2039
20402006-12-31 02:28  gb
2041
2042        * level-1/version.lisp: Bump; remove "Beta" designation.
2043
20442006-12-29 20:13  gb
2045
2046        * compiler/X86/X8664/x8664-arch.lisp, lisp-kernel/area.h,
2047        lisp-kernel/lisp_globals.h, lisp-kernel/x86-constants64.h,
2048        lisp-kernel/x86-constants64.s, xdump/xx8664-fasload.lisp: Move NIL
2049        up a page on x86-64 as well.
2050
20512006-12-29 16:09  gb
2052
2053        * lisp-kernel/ppc-spjump.s: Be a little clearer about where we're
2054        .orged.
2055
20562006-12-29 15:32  gb
2057
2058        * compiler/PPC/PPC32/ppc32-arch.lisp, lisp-kernel/area.h,
2059        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
2060        lisp-kernel/darwinppc/Makefile, xdump/xppcfasload.lisp: Static area
2061        (including NIL) now one page higher on ppc32, as well.
2062
20632006-12-29 02:38  gb
2064
2065        * level-0/PPC/ppc-float.lisp: SQRT in LAP (todo: inline it.)
2066
20672006-12-29 01:38  gb
2068
2069        * compiler/PPC/PPC64/ppc64-arch.lisp: Move ppc64::nil-value (and
2070        ppc64::reservation-discharge) up a page.
2071
20722006-12-29 01:37  gb
2073
2074        * xdump/xppcfasload.lisp: xload-static-space-address for ppc64 is
2075        #x2000; still #x1000 for ppc32.  (need to set this for x86-64)
2076
20772006-12-29 01:36  gb
2078
2079        * xdump/xfasload.lisp: *xload-static-space-address* depends on the
2080        backend.  ppc64 wants it one page higher than it has been, to avoid
2081        letting unmapped pages get claimed by the dynamic linker on Darwin.
2082
20832006-12-29 01:35  gb
2084
2085        * lisp-kernel/darwinppc64/Makefile: Change seg1addr/sectalign, so
2086        that the image starts at #x1000 and aligned section data for the
2087        text section starts on the next page.
2088
20892006-12-29 01:33  gb
2090
2091        * lisp-kernel/ppc-spjump.s: Org the spjump table 3 pages from where
2092        the aligned text section data starts.
2093
20942006-12-29 01:32  gb
2095
2096        * lisp-kernel/: ppc-constants64.h, ppc-constants64.s: nil_value,
2097        etc a page higher.
2098
20992006-12-29 01:32  gb
2100
2101        * lisp-kernel/pmcl-kernel.c: Don't remap ppc64 spjump table if it's
2102        already where it should be.
2103
21042006-12-29 01:32  gb
2105
2106        * lisp-kernel/lisp_globals.h: Access lisp_globals/nrs_symbols a
2107        page higher.
2108
21092006-12-29 01:30  gb
2110
2111        * lisp-kernel/area.h: Move STATIC_BASE_ADDRESS up a page for ppc64.
2112
21132006-12-22 01:40  gb
2114
2115        * lisp-kernel/ppc-exceptions.c: Ensure that sqrt() is prototyped.
2116
21172006-12-22 01:39  gb
2118
2119        * lisp-kernel/pmcl-kernel.c: Insist on at least Panther for
2120        PPC32/Darwin.
2121       
2122        Use dlopen() on 64-bit Darwin variants.  Might want to do a runtime
2123        test and use dlfcn functions if at least Tiger.
2124       
2125        (The old dyld functions are deprecated under Leopard, and there's
2126        reason to believe that they don't work correctly on at least ppc64/
2127        Leopard; attempting to use NSCreateObjectFileImageFromFile to open
2128        a 64-bit .dylib seems to lead to memory corruption rather than
2129        returning NSObjectFileImageInappropriateFile.
2130       
2131        The old functions work better than the dlfcn functions on pre-Tiger
2132        systems.)
2133
21342006-12-19 01:24  gb
2135
2136        * library/parse-ffi.lisp: Just to be on the safe side (new pathname
2137        bugs, or old ?), append -BAK to (NAMESTRING (TRUENAME path)), not
2138        just (NAMESTRING path) when renaming.  (MERGE-PATHNAMES call is
2139        producing a pathane with a non-null VERSION component, as it
2140        arguably should have been all along.
2141
21422006-12-18 13:22  gb
2143
2144        * lib/sequences.lisp: COERCE/MAKE-SEQUENCE try to simplify vector
2145        types into concrete vector types.
2146
21472006-12-18 13:04  gb
2148
2149        * level-1/l1-pathnames.lisp: Try (halfheartedly) to maintain
2150        PATHNAME-VERSION of physical pathnames.  (Totally meaningless, but
2151        failing to do this leads to many test failures.)
2152
21532006-12-18 13:03  gb
2154
2155        * level-1/l1-numbers.lisp: Don't call out to do sqrt.
2156
21572006-12-18 12:57  gb
2158
2159        * level-1/l1-files.lisp: Try (halfheartedly) to maintain
2160        PATHNAME-VERSION of physical pathnames.  (Totally meaningless, but
2161        failing to do this leads to many test failures.)
2162
21632006-12-18 12:54  gb
2164
2165        * level-0/X86/x86-float.lisp: Do single/double-float sqrt inline.
2166
21672006-12-16 05:28  gb
2168
2169        * level-0/PPC/ppc-float.lisp: Recognize that fsqrt/fsqrts
2170        instructions have a minor opcode in frb and only have one source
2171        operand.
2172
21732006-12-16 05:27  gb
2174
2175        * level-1/ppc-error-signal.lisp: If we get an FP exception during a
2176        SQRT, note that there's only one operand and that it's in frb.
2177
21782006-12-16 05:25  gb
2179
2180        * lisp-kernel/ppc-exceptions.c: Handle (some) unimplemented
2181        instructions, notably fsqrt/fqrts, which are optional and not
2182        implemented on some PPC machines.
2183
21842006-12-16 05:24  gb
2185
2186        * lisp-kernel/ppc-asmutils.s: Add get_fpscr().
2187
21882006-12-14 19:47  gb
2189
2190        * lisp-kernel/ppc-exceptions.c: Need to handle SIGQUIT on ppc, too.
2191
21922006-12-14 16:43  gb
2193
2194        * compiler/X86/X8664/x8664-vinsns.lisp: Constraints on some
2195        double-float arithmetic vinsns should say :double-float, not
2196        :single-float.  (I suspect cut-and-paste, frankly.)
2197
21982006-12-14 16:25  gb
2199
2200        * level-1/l1-lisp-threads.lisp: *initial-lisp-thread*, not
2201        initial-thread.
2202
22032006-12-14 16:24  gb
2204
2205        * level-1/x86-trap-support.lisp: Use frame pointer when signaling
2206        error.
2207
22082006-12-14 16:14  gb
2209
2210        * library/lispequ.lisp: Add a %PHYSICAL-PATHAME-VERSION slot to
2211        physical pathnames. (Yes, this is kind of silly.)
2212
22132006-12-14 16:01  gb
2214
2215        * level-1/x86-trap-support.lisp: Recognize the kernel's attempt to
2216        signal errors for (e.g.) failed memory allocation.
2217
22182006-12-14 16:00  gb
2219
2220        * lisp-kernel/x86-exceptions.c: If a memory allocation request
2221        fails, signal a lisp error (what a concept.)
2222
22232006-12-14 15:51  gb
2224
2225        * lisp-kernel/x86-exceptions.h: Define DARWIN_USE_PSEUDO_SIGRETURN.
2226       
2227        Might be worth revisiting this.
2228
22292006-12-14 15:50  gb
2230
2231        * lisp-kernel/x86-exceptions.c: Go back to using the
2232        pseudo_sigreturn mechanism on Darwin, since doing a real sigreturn
2233        from a fake context may not be reliable.
2234       
2235        When handling an interrupt with a partially created temp stack
2236        frame, do the right thing.  (That basically means reset the frame
2237        before calling out and recreating it if we return from the
2238        callout.)
2239       
2240        Handle SIGQUIT on the altstack, to provide a way of forcibly
2241        terminating threads that's a bit more GC-safe than doing it via
2242        #_pthread_cancel.
2243       
2244        Note the tcr of the gc thread on gc entry; if an exception happens
2245        in that thread, print a message and sleep for 60 seconds.
2246       
2247        Note that there's still a race condition here: if thread A gets an
2248        exception and thread B gets the mach_exception_lock (to GC) before
2249        the exception thread can handle the message, we deadlock (thread A
2250        would be suspended in the kernel and can't respond to a suspend
2251        signal.)  We can tell that this has happened and make a good guess
2252        as to why it happened, but dealing with it will require some
2253        thought.  (If we've already issued a suspend signal and eventually
2254        raise the suspended thread's resume semaphore, it'll suspend and
2255        resume once the mach exception thread makes it runnable.  Who
2256        cleans up its exception context in that case ?  Does it matter ?)
2257
22582006-12-14 15:19  gb
2259
2260        * lisp-kernel/thread_manager.c: Ensure that newly-created threads
2261        have all signals unmasked.
2262       
2263        If a tcr is dead, ensure that its stack areas are empty.
2264       
2265        Try to run shutdown_thread_tcr as a pthread cleanup action,
2266        hopefully before Mach clobbers the thread's signal mask.
2267
22682006-12-14 15:16  gb
2269
2270        * lisp-kernel/pmcl-kernel.c: lazarus() runs with a lock on the
2271        TCR_AREA_LOCK.
2272
22732006-12-14 15:15  gb
2274
2275        * lisp-kernel/memprotect.h: Don't declare do_memo_reset(), which
2276        hasn't existed in years.
2277
22782006-12-14 15:14  gb
2279
2280        * level-1/version.lisp: Bump.
2281
22822006-12-14 15:14  gb
2283
2284        * level-1/l1-readloop.lisp: PREPARE-TO-QUIT: wait for the
2285        termination semaphore.
2286
22872006-12-14 15:13  gb
2288
2289        * level-1/l1-processes.lisp: PROCESS objects are created with a
2290        termination semaphore.
2291
22922006-12-14 15:12  gb
2293
2294        * level-1/l1-lisp-threads.lisp: THREAD-ENABLE: second arg is
2295        TERMINATION-SEMAPHORE.
2296       
2297        KILL-LISP-THREAD: don't use #_pthread_cancel, which may force the
2298        target thread to transition from running lisp code to running
2299        foreign code without advertising that fact. Send a SIGQUIT instead,
2300        and trust the SIGQUIT handler to manage that transition.  Don't try
2301        to kill the initial thread.
2302
23032006-12-09 09:52  gb
2304
2305        * level-1/l1-streams.lisp: STRING-OUTPUT-STREAMs need to override
2306        their CLEAR-OUTPUT methods.
2307       
2308        MAKE-STRING-INPUT-STREAM: handle displaced strings better (remember
2309        their displaced-index-offsets.)
2310
23112006-12-09 09:49  gb
2312
2313        * lisp-kernel/thread_manager.c: Disable underflow traps in new
2314        threads on x86-64.  (The PPC never got around to enabling them.)
2315
23162006-12-09 09:47  gb
2317
2318        * lib/macros.lisp: WITH-OUTPUT-TO-STRING: if string provided,
2319        evaluate the ELEMENT-TYPE expression (for side-effects) and ignore
2320        the result of its evaluation.
2321       
2322        Some fixes in CTYPECASE handling, which hopefully didn't break
2323        anything else.
2324
23252006-12-09 09:36  gb
2326
2327        * compiler/X86/x862.lisp: In aset2/aset3, ensure that the (final,
2328        1d) index register is set - even if the index is a constant - if we
2329        think that the store needs EGC memoization.
2330       
2331        (Note that the test case that exposed this involved storing
2332        SINGLE-FLOATs, which don't need EGC write-barrier handling on
2333        64-bit platforms.)
2334       
2335        In aref2, don't worry about reserving unscaled index registers when
2336        targeting the 1d index; the unscaled index registers aren't live
2337        after, could be NULL if the index is a constant, and any overlap
2338        between one of them and the 1d index should be handled in the
2339        vinsn(s).
2340
23412006-12-09 09:30  gb
2342
2343        * level-1/l1-typesys.lisp: Ensure that the (relatively new)
2344        built-in-classes SIMPLE-FIXNUM-VECTOR and FIXNUM-VECTOR have
2345        class-translations.
2346
23472006-12-09 09:27  gb
2348
2349        * level-1/l1-aprims.lisp: In list case of ELT: who says that value
2350        returned by NTHCDR is a LIST ? (It's not necessarily a list, so
2351        don't segfault taking its CAR without checking.)
2352
23532006-12-06 18:48  gb
2354
2355        * level-0/X86/x86-float.lisp: x86-64 version of
2356        SFLOAT-SIGNIFICAND-ZEROS: count zero bits in the shifted float, not
2357        in %imm1 (which is undefined here ...)
2358
23592006-12-06 17:05  gb
2360
2361        * compiler/nx0.lisp: DEFINE-COMPILER-MACRO: if a SETF name, use the
2362        right symbol for the named block.
2363       
2364        COMPILER-MACRO-FUNCTION, (SETF COMPILER-MACRO-FUNCTION): deal with
2365        (SETF NAME).
2366
23672006-12-05 22:44  gb
2368
2369        * release-notes.txt: Update for 061205.
2370
23712006-12-05 20:31  gb
2372
2373        * lisp-kernel/darwinppc64/Makefile: Change LDFLAGS, to keep ld64
2374        from putting a linkedit segment in the wrong place and making
2375        32-bit memory unmappable.
2376
23772006-12-05 20:30  gb
2378
2379        * level-1/version.lisp: Bump.
2380
23812006-12-05 20:29  gb
2382
2383        * lisp-kernel/pmcl-kernel.c: Use _exit(), just in case.
2384
23852006-12-05 18:53  gb
2386
2387        * level-1/l1-reader.lisp: *ALTERNATE-LINE-TERMINATOR* set to
2388        #\Return on #+darwin-target, not just #+darwinppc-target. Change
2389        doc string for *ALTERNATE-LINE-TERMINATOR*.
2390
23912006-12-04 15:13  gb
2392
2393        * level-1/version.lisp: Append a patchlevel to the version string,
2394        at least until new tarballs can be built.
2395
23962006-12-04 15:12  gb
2397
2398        * level-1/l1-streams.lisp: If stream element type upgrades to
2399        FIXNUM, upgrade it further (to largest supported SIGNED-BYTE
2400        element-type.)
2401
24022006-12-04 13:02  gb
2403
2404        * level-0/l0-bignum32.lisp: BIGNUM-BIGNUM-GCD (whatever it's
2405        called): don't bother to shift by 0 bits.  Do shift the initial U
2406        if non-zero trailing 0 BITS (was testing for non-zero trailing
2407        DIGITS.)
2408
24092006-12-04 12:52  gb
2410
2411        * level-1/l1-streams.lisp: Choke earlier on unsupported stream
2412        element-types; do some upgrading to support some more element types
2413        (BIT -> (UNSIGNED-BYTE 8)).
2414       
2415        Maybe support arbitrarily large integer types someday soon.  Maybe
2416        not.
2417
24182006-12-04 12:48  gb
2419
2420        * level-1/l1-clos-boot.lisp: Make built-in classes for istruct
2421        types (compiler stuff, mostly).
2422
24232006-12-04 12:46  gb
2424
2425        * level-0/X86/X8664/x8664-bignum.lisp: Ensure that %ASHL handles
2426        shift count of 32 (and returns 0 in that case.)
2427
24282006-12-04 12:46  gb
2429
2430        * level-0/l0-bignum64.lisp: In BIGNUM-SHIFT-RIGHT-LOOP-1, use
2431        %ASHL, not %ILSL.  (Don't want nonsense in the high 32 bits, just
2432        in case.)
2433
24342006-12-04 12:43  gb
2435
2436        * level-0/l0-numbers.lisp: Bugs in GCD-2.  Long-standing bugs in
2437        GCD-2 ...
2438
24392006-12-04 09:26  gb
2440
2441        * level-1/l1-streams.lisp: STREAM-CLEAR-INPUT: don't inherit method
2442        for STRING-INPUT-STREAMs.
2443
24442006-12-04 09:24  gb
2445
2446        * level-0/l0-bignum64.lisp: BIGNUM-SHIFT-RIGHT-1: handle shift by 0
2447        bits.  BIGNUM-BIGNUM-GCD (whatever it's called): don't bother to
2448        shift by 0 bits.
2449
24502006-12-04 09:21  gb
2451
2452        * level-1/ppc-trap-support.lisp: Reset error-reentry count before
2453        doing %SLOT-UNBOUND-TRAP.
2454
24552006-12-04 09:21  gb
2456
2457        * level-1/l1-streams.lisp: Default STREAM-POSITION method for
2458        STREAMs, returns NIL.  STREAM-POSITION method for
2459        STRING-INPUT-STREAMs.
2460
24612006-12-04 09:19  gb
2462
2463        * level-1/l1-pathnames.lisp: Derive ccl-directory from pathname
2464        containing heap image.
2465
24662006-12-03 07:41  gb
2467
2468        * level-1/l1-streams.lisp: FORCE-OUTPUT, FINISH-OUTPUT on
2469        STRING-OUTPUT-STREAMs are no-ops.
2470       
2471        Need an ioblock-based character-read-vector function for
2472        string-input-streams.
2473
24742006-12-03 07:37  gb
2475
2476        * lib/describe.lisp: Minimal DESCRIBE support for
2477        CCL::BASIC-STREAM.
2478
24792006-12-03 07:36  gb
2480
2481        * lib/macros.lisp: If :element-type is supplied in
2482        WITH-OUTPUT-TO-STRING, don't quote it.
2483
24842006-12-03 05:11  gb
2485
2486        * level-1/x86-trap-support.lisp: Define RIP-REGISTER-OFFSET, which
2487        isn't necessarily 16.
2488
24892006-12-03 05:10  gb
2490
2491        * level-1/x86-error-signal.lisp: Use RIP-REGISTER-OFFSET, which
2492        isn't necessarily 16.
2493       
2494        Use WITH-ERROR-REENTRY-DETECTION n %xerr-disp; dtrt for
2495        %slot-unbound-trap.
2496
24972006-12-03 05:09  gb
2498
2499        * level-1/l1-streams.lisp: Tweak stream hierarchy a little, to
2500        avoid some NO-NEXT-METHODs.
2501
25022006-12-03 02:42  gb
2503
2504        * compiler/nx1.lisp: Handle VALUES type specifiers in THE forms a
2505        bit better.
2506
25072006-12-03 02:41  gb
2508
2509        * compiler/nx0.lisp: Handle VALUES type specifiers in THE forms a
2510        bit.
2511
25122006-12-03 02:28  gb
2513
2514        * lisp-kernel/x86-spentry64.s: Do vector bounds checking by
2515        clearing the low byte of the header, shifting it right, and
2516        comparing the index to that.  (It's not reliable to shift the index
2517        left.)
2518
25192006-12-03 02:26  gb
2520
2521        * level-1/l1-unicode.lisp: Memory/vector encode functions: don't
2522        write BOM, leave that up to higher-level code.
2523       
2524        Start to write some higher-level code.
2525
25262006-12-03 02:23  gb
2527
2528        * level-1/l1-sysio.lisp: Fix some indentation.
2529
25302006-12-03 02:21  gb
2531
2532        * compiler/X86/X8664/x8664-vinsns.lisp: CHECK-MISC-BOUNDS: shift
2533        the header word right (after clearing its low byte) and compare the
2534        index to that.  (Shifting the index left - d'oh - obviously fails
2535        for indices of large magnitude.)
2536
25372006-11-29 21:07  gb
2538
2539        * lib/db-io.lisp: Indentation change.
2540       
2541        Add CDB-ENUMERATE-KEYS.
2542
25432006-11-29 18:37  gb
2544
2545        * lib/level-2.lisp: %DESTRUCTURE-LAMBDA-LIST: other callers of
2546        VERIFY-LAMBDA-LIST (hopefully) check to see if the alleged list is
2547        LISTP first.  (I hope ...).  Do so.
2548
25492006-11-28 18:42  gb
2550
2551        * lisp-kernel/x86-spentry64.s: Wrong register typo in .SPaset2.
2552
25532006-11-28 16:14  gb
2554
2555        * examples/cocoa-window.lisp: DEFAULT-FONT: retain the font.
2556
25572006-11-28 16:12  gb
2558
2559        * examples/objc-runtime.lisp: Wrap a (primitive)
2560        WITH-AUTORELEASE-POOL around the code which detaches the dummy
2561        NSThread.
2562
25632006-11-28 16:09  gb
2564
2565        * examples/cocoa-listener.lisp: Don't claim that a callback
2566        parameter is ignored; use IGNORABLE instead.
2567
25682006-11-21 01:28  gb
2569
2570        * level-1/l1-sockets.lisp: Typo in PATH-FROM-UNIX-ADDRESS
2571        conditionalization.
2572
25732006-11-21 00:55  gb
2574
2575        * level-1/l1-sockets.lisp: INIT-UNIX-SOCKADDR: don't use
2576        %COPY-IVECTOR-TO-PTR to copy string to foreign memory.
2577       
2578        Basic file-socket streams.
2579
25802006-11-10 05:08  gb
2581
2582        * release-notes.txt: Update.
2583
25842006-11-10 04:28  gb
2585
2586        * lisp-kernel/image.h: Bump min image version.
2587
25882006-11-10 04:19  gb
2589
2590        * xdump/heap-image.lisp: bump current image version.
2591
25922006-11-10 04:19  gb
2593
2594        * lisp-kernel/image.h: bump current, max image version.
2595
25962006-11-10 04:10  gb
2597
2598        * xdump/faslenv.lisp: Bump min fasl version.
2599
26002006-11-10 03:56  gb
2601
2602        * lib/nfcomp.lisp: bump current fasl version.
2603
26042006-11-10 03:47  gb
2605
2606        * lisp-kernel/x86-exceptions.c: save_application: use #__exit, not
2607        #_exit
2608
26092006-11-10 03:46  gb
2610
2611        * compiler/X86/x862.lisp: TYPE typo.
2612
26132006-11-10 03:32  gb
2614
2615        * xdump/faslenv.lisp: Bump max fasl version.
2616
26172006-11-10 03:25  gb
2618
2619        * level-1/version.lisp: Bump.  New snapshots today!
2620
26212006-11-09 16:26  gb
2622
2623        * level-1/l1-readloop.lisp: QUIT uses #__quit.
2624       
2625        PREPARE-TO-QUIT kill stragglers without waiting as long.
2626
26272006-11-09 15:50  gb
2628
2629        * lisp-kernel/pmcl-kernel.c: Use #_ _exit for fatal termination.
2630       
2631        Try to run lisp code after #_exit via lazarus(); this is for some
2632        cases of SAVE-APPLICATION (e.g., in the Cocoa GUI).
2633       
2634        The environment in which The Undead code runs is a little funky,
2635        especially on PPC.  There might be GC implications (cstack will
2636        contain call history as of the point when #_exit called atexit
2637        handlers, vstack & tstack are emptied in lazarus()).  We should
2638        barely run any code in this environment, but we will GC a time or
2639        two ...
2640
26412006-11-09 15:45  gb
2642
2643        * lisp-kernel/ppc-exceptions.c: Use _exit afer save-application.
2644
26452006-11-09 15:43  gb
2646
2647        * examples/: cocoa-window.lisp, cocoa.lisp: Change the quit
2648        protocol.
2649
26502006-11-09 15:42  gb
2651
2652        * examples/cocoa-listener.lisp: :set-document-edited for listener
2653        "documents" is a no-op.
2654
26552006-11-09 15:39  gb
2656
2657        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
2658        PPC64/ppc64-vinsns.lisp: 3d-array accessor stuff for PPC as well.
2659
26602006-11-09 12:50  gb
2661
2662        * compiler/X86/x862.lisp: Always check that array-ctype's
2663        dimensions are a list before taking their length.
2664
26652006-11-09 12:13  gb
2666
2667        * compiler/X86/X8664/x8664-vinsns.lisp: 3d-unscaled-index does the
2668        right thing ...
2669
26702006-11-09 10:08  gb
2671
2672        * compiler/: nx1.lisp, X86/x862.lisp, X86/X8664/x8664-vinsns.lisp:
2673        Three-arg aref/(setf aref) for x8664.
2674
26752006-11-09 05:37  gb
2676
2677        * compiler/nx0.lisp: Map array-type keywords to 3d-array type
2678        errors.
2679
26802006-11-09 05:37  gb
2681
2682        * compiler/nxenv.lisp: Operators for 3d array access.
2683
26842006-11-09 05:36  gb
2685
2686        * compiler/arch.lisp, level-1/l1-error-system.lisp,
2687        lisp-kernel/errors.s, lisp-kernel/lisp-errors.h: Type-errors for 3d
2688        array types.
2689
26902006-11-08 12:50  gb
2691
2692        * level-1/x86-trap-support.lisp: In darwin Fake Structures For
2693        Leopard nonsense: define the stack context struct separately, make
2694        the ucontext stack field an instance of it.  (Not -sure- if that
2695        was necessary, but :poweropen-target was accidentally on *FEATURES*
2696        and foreign struct layout was using read-time condtionalization to
2697        decide whether or not to use brain-dead structure-alignment rules
2698        leftover from AIX/PowerOpen.
2699
27002006-11-08 12:46  gb
2701
2702        * lisp-kernel/x86-spentry64.s: Fix comment ("/*", not "/%" ...).
2703
27042006-11-08 12:40  gb
2705
2706        * compiler/optimizers.lisp: Try to infer/insert the array type when
2707        compiler-macroexpanding MAKE-ARRAY calls.
2708
27092006-11-08 12:39  gb
2710
2711        * compiler/PPC/PPC32/ppc32-backend.lisp: DarwinPPC32 FTD follows
2712        :poweropen-alignment rules.
2713
27142006-11-08 12:38  gb
2715
2716        * lib/foreign-types.lisp: parse-foreign-record-fields: conformance
2717        to poweropen structure layout rules should be an attribute of the
2718        FTD, not done via read-time conditionalization.
2719
27202006-11-08 05:15  gb
2721
2722        * level-1/version.lisp: Bump.
2723
27242006-11-08 05:15  gb
2725
2726        * level-1/l1-streams.lisp: Some bivalent/binary fixes.
2727       
2728        TODO: get rid of "bivalent" streams, but allow switching some
2729        streams (sockets) between "character mode" and "binary mode".
2730
27312006-11-08 02:39  gb
2732
2733        * compiler/PPC/ppc2.lisp: Typo in misc-ref-u64 vinsn emit.
2734
27352006-11-07 21:10  gb
2736
2737        * compiler/optimizers.lisp: Transform three-argument AREF->%AREF3,
2738        ASET->%ASET3.
2739
27402006-11-07 20:40  gb
2741
2742        * compiler/X86/x862.lisp: Implement %aset2 in the x8664 backend.
2743
27442006-11-07 20:39  gb
2745
2746        * level-0/X86/x86-array.lisp: %aref3, %aset3.
2747
27482006-11-07 20:38  gb
2749
2750        * level-0/l0-array.lisp: Use %aref2,%aref3.
2751
27522006-11-07 20:37  gb
2753
2754        * compiler/X86/X8664/x8664-vinsns.lisp: More (often redundant)
2755        vector-store vinsns.
2756
27572006-11-07 20:37  gb
2758
2759        * compiler/X86/X8664/x8664-arch.lisp: .SParef3, .SPaset3.
2760
27612006-11-07 10:28  gb
2762
2763        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s: .SParef3,
2764        .SPaset3.
2765
27662006-11-07 10:27  gb
2767
2768        * level-0/PPC/ppc-array.lisp: %ref3, %aset3.
2769
27702006-11-07 10:26  gb
2771
2772        * lisp-kernel/ppc-spentry.s, lisp-kernel/ppc-spjump.s,
2773        compiler/PPC/ppc-arch.lisp: .SPref3, .SPaset3.
2774
27752006-11-07 10:26  gb
2776
2777        * lisp-kernel/ppc-macros.s: Define mullr, which expands into one of
2778        mullw/mulld.
2779
27802006-11-07 04:12  gb
2781
2782        * compiler/PPC/ppc2.lisp: :signed-64-bit-vector is signed ...
2783
27842006-11-06 22:07  gb
2785
2786        * compiler/nx0.lisp: nx-error-for-simple-2d-array-type: forgot the
2787        :fixnum-vector case.
2788
27892006-11-06 22:04  gb
2790
2791        * compiler/PPC/ppc2.lisp: Handle vector assignment differently;
2792        handle (setf (aref ...)) of simple 2d-arrays inline if the type is
2793        known/declared.
2794
27952006-11-06 22:02  gb
2796
2797        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
2798        Add vinsns for misc-set-s* and variants. (Identical to the unsigned
2799        versions, but it helps not to have to remember which are
2800        implemented and which aren't.)
2801
28022006-11-06 22:01  gb
2803
2804        * compiler/nxenv.lisp: general-aset2, simple-typed-aset2.
2805
28062006-11-06 22:00  gb
2807
2808        * compiler/nx1.lisp: New %ASET2 handling.
2809
28102006-11-06 21:59  gb
2811
2812        * compiler/nx0.lisp: ACODE-FORM-TYPE: use var-inittype if var is
2813        never assigned to.
2814
28152006-11-05 22:09  gb
2816
2817        * level-1/x86-trap-support.lisp: Try to work around
2818        incompatibilites in Tiger/Leopard headers.
2819
28202006-11-05 22:08  gb
2821
2822        * level-1/l1-sockets.lisp: LOOKUP-PORT: use the macro HTONS, since
2823        the foreign function may not exist.
2824
28252006-11-05 20:41  gb
2826
2827        * compiler/X86/x862.lisp: 2d array error lookup -> nx.
2828
28292006-11-05 07:55  gb
2830
2831        * level-0/X86/x86-misc.lisp: %VALID-REMAINING-TIMESPEC-TIME-P for
2832        x86-64, as well.
2833
28342006-11-05 07:52  gb
2835
2836        * level-0/X86/x86-array.lisp: %AREF2, %ASET2 in x8664 lap.
2837
28382006-11-05 07:50  gb
2839
2840        * lisp-kernel/x86-spentry64.s: pre-add displacement in .SParef2,
2841        .SPaset2.
2842
28432006-11-05 07:48  gb
2844
2845        * lisp-kernel/ppc-spentry.s: .SParef2, .SPaset2: since we aren't
2846        testing simple-array-ness, add the (possibly 0) displacement from
2847        the header before handling the simple aref of the data vector.
2848
28492006-11-05 07:47  gb
2850
2851        * lib/foreign-types.lisp: PRINT-OBJECT method for EEPS: handle
2852        pointers on PPC(64), print 64-bit addresses on 64-bit platforms.
2853
28542006-11-05 07:46  gb
2855
2856        * level-1/version.lisp: Bump; new binaries soon.
2857
28582006-11-05 07:46  gb
2859
2860        * level-1/l1-lisp-threads.lisp: %NANOSLEEP calls
2861        %VALID-REMAINING-TIMESPEC-TIME-P, which is better than sleeping for
2862        4G seconds after an EINTR on Leopard.
2863
28642006-11-05 07:44  gb
2865
2866        * level-0/PPC/PPC64/ppc64-bignum.lisp: MACPTR->FIXNUM returns NIL
2867        if any non-fixnum bits would be set in the result.  (Should
2868        probably make this true on all platforms; for PPC64, it's important
2869        for foreign function addresses that're ... suboptimally aligned.)
2870
28712006-11-05 07:42  gb
2872
2873        * level-0/PPC/ppc-misc.lisp: Try to detect the case where
2874        %NANOSLEEP's second (by reference) argument contains garbage after
2875        an EINTR.  (The L word, again.)
2876
28772006-11-05 07:41  gb
2878
2879        * level-0/PPC/ppc-array.lisp: %AREF2, %ASET2: in LAP, just call
2880        into the kernel.
2881
28822006-11-05 07:40  gb
2883
2884        * level-0/l0-cfm-support.lisp: Some platforms (the L-word) generate
2885        ppc64 functions whose addresses are not 0 mod 8, so (a) make
2886        MACPTR->FIXNUM return NIL if an address isn't representable as a
2887        fixnum and (b) make FOREIGN-SYMBOL-ENTRY return an address if it
2888        can't return a fixnum on PPC (really just affects PPC64.)
2889
28902006-11-05 07:37  gb
2891
2892        * level-0/l0-array.lisp: %aref2, %aset2: call into kernel.
2893
28942006-11-05 07:36  gb
2895
2896        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
2897        2d aref support/changes.
2898
28992006-11-05 07:36  gb
2900
2901        * compiler/PPC/ppc2.lisp: Get the PPC2 backend caught up with the
2902        x8664 wrt 2d aref.  Stll a ways to go.
2903
29042006-11-05 07:35  gb
2905
2906        * compiler/nx0.lisp: NX-ERROR-FOR-SIMPLE-2D-ARRAY-TYPE.
2907
29082006-11-04 00:05  gb
2909
2910        * level-1/version.lisp: Bump.
2911
29122006-11-03 23:10  gb
2913
2914        * level-1/ppc-error-signal.lisp: fix parens.
2915
29162006-11-03 23:09  gb
2917
2918        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: arch
2919        gvector types contains :struct, not :structure.
2920
29212006-11-03 23:08  gb
2922
2923        * compiler/PPC/ppc2.lisp: aref2: new operator name(s), always call
2924        subprim.
2925       
2926        ppc2-fixed-call-builtin: (tail-)call subprims even if they aren't
2927        in the builtin functions table.
2928
29292006-11-03 15:19  gb
2930
2931        * compiler/PPC/ppc-arch.lisp: New .SParef2, .SPaset2 subprims.
2932
29332006-11-03 15:18  gb
2934
2935        * compiler/PPC/ppc-asm.lisp: Comments/indentation.
2936
29372006-11-03 15:17  gb
2938
2939        * level-1/ppc-error-signal.lisp: Change decoding/handlng of
2940        type-error UUOs.
2941
29422006-11-03 15:16  gb
2943
2944        * lisp-kernel/: ppc-spentry.s, ppc-spjump.s: .SParef2, .SPaset2.
2945
29462006-11-03 15:16  gb
2947
2948        * lisp-kernel/: ppc-constants32.s, ppc-constants64.s: Define arrayH
2949        (array-header) layout.
2950
29512006-11-03 13:46  gb
2952
2953        * level-1/l1-clos-boot.lisp: CANONICALIZE-SPECIALIZERS optionally
2954        returns its argument if all members are SPECIALIZERS.
2955       
2956        Use CANONICALIZE-SPECIALIZERS to canonicalize FIND-METHOD
2957        arguments, for the benefit of people who haven't read the MOP spec
2958        or who don't realize that the MOP defines some things differently
2959        from CLHS.
2960
29612006-11-03 13:38  gb
2962
2963        * compiler/X86/x862.lisp: Consistently use :struct (not :structure)
2964        to refer to primitive structure type.
2965       
2966        Fix array-ctype-dimensions check in %aref1, add it to %aset1.
2967
29682006-11-03 13:37  gb
2969
2970        * compiler/X86/X8664/x8664-arch.lisp: Ensure that :STRUCT (not
2971        :STRUCTURE) is on target-gvector-types.
2972
29732006-11-03 12:53  gb
2974
2975        * lisp-kernel/x86-uuo.s: uuo_error_array_bounds, such as it is.
2976
29772006-11-03 12:52  gb
2978
2979        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s: SParef2, .SPaset2.
2980         More to come ...
2981
29822006-11-03 12:52  gb
2983
2984        * lisp-kernel/x86-constants64.s: Define array-header layout.
2985
29862006-11-03 12:51  gb
2987
2988        * lisp-kernel/: errors.s, lisp-errors.h: New type-error uuo
2989        encodings, new type-error constants.
2990
29912006-11-03 12:50  gb
2992
2993        * level-1/x86-error-signal.lisp: New range/encoding of type-error
2994        traps.
2995
29962006-11-03 12:49  gb
2997
2998        * level-1/l1-utils.lisp: (temporary) mechanism to avoid
2999        constant-redefinition CERRORs.
3000
30012006-11-03 12:48  gb
3002
3003        * level-1/l1-error-system.lisp: New %type-error-typespecs%.
3004
30052006-11-03 12:47  gb
3006
3007        * level-0/l0-pred.lisp: array--header -> array-header.
3008
30092006-11-03 12:47  gb
3010
3011        * compiler/X86/X8664/x8664-vinsns.lisp: Fix misc-set-c-u64 braino;
3012        add/change some 2d array stuff.
3013
30142006-11-03 12:43  gb
3015
3016        * compiler/X86/X8664/x8664-arch.lisp: Define .SParef2/.SPaset2
3017        subprims; seem to be much (>5x) faster than the lisp/lap versions
3018        (though we can generally be faster still when we know the
3019        element-type and/or know whether the array is simple or explicitly
3020        displaced.)
3021
30222006-11-03 12:41  gb
3023
3024        * compiler/X86/x862.lisp: Change handling of 2d-aref; lots of
3025        related changes.
3026       
3027        Split the code which handles bounds/type-checking in vref out from
3028        the code which actually does the reference, so that the latter can
3029        be used in multidimensional cases.
3030       
3031        Need to do this on PPC as well; need to do more (%aset2, 3d cases,
3032        general case.)
3033
30342006-11-03 12:38  gb
3035
3036        * compiler/nx1.lisp: Change handling of 2d-aref.
3037
30382006-11-03 12:37  gb
3039
3040        * compiler/nxenv.lisp: aref2 -> simple-typed-aref2, add
3041        general-aref2.  More changes to come (and this may affect
3042        compilation on PPC until some PPC compiler changes are
3043        made/checked-in.)
3044
30452006-11-03 12:35  gb
3046
3047        * compiler/arch.lisp: type-errors (as encoded in UUOs) are now in
3048        the range 128-255, rather than 64-127; more are defined.
3049
30502006-11-02 09:43  gb
3051
3052        * level-1/l1-error-system.lisp: Move along, nothing to see here.
3053
30542006-11-02 09:37  gb
3055
3056        * compiler/arch.lisp: New error constants; work in progress ...
3057
30582006-11-01 11:40  gb
3059
3060        * lisp-kernel/errors.s: Some new constants; more to check in later.
3061
30622006-10-31 03:39  gb
3063
3064        * level-0/l0-io.lisp: You must be reading the OLD rule book
3065        (Leopard and #$EINTR).
3066
30672006-10-31 03:21  gb
3068
3069        * lisp-kernel/ppc-exceptions.c: handle_protection_violation: pass
3070        the tcr.  Initialize "addr" before testing it ...
3071
30722006-10-31 03:21  gb
3073
3074        * lisp-kernel/lisp-exceptions.h: handle_protection_violation: pass
3075        the tcr.
3076
30772006-10-30 20:40  gb
3078
3079        * lib/defstruct.lisp: DEFSTRUCT-REF-TRANSFORM for typed vector
3080        expands into something more useful.
3081
30822006-10-30 20:39  gb
3083
3084        * lisp-kernel/ppc-spentry.s: Fix ppc32
3085        misc_ref_double_float_vector.
3086
30872006-10-30 00:24  gb
3088
3089        * level-0/l0-bignum64.lisp: Enable the destructive version of
3090        %BIGNUM-BIGNUM-GCD; conditionalize it for 64-bit targets and
3091        provide/fix supporting functions.  Seems to work on ppc64; needs
3092        testing on x8664.
3093
30942006-10-27 17:49  gb
3095
3096        * darwin-x86-headers64/libc/C/: .cvsignore, populate.sh: New file.
3097
30982006-10-25 20:36  gb
3099
3100        * level-1/l1-streams.lisp: %BIVALENT-IOBLOCK-READ-U8-BYTE (and
3101        variants): always clear the untyi-char.
3102       
3103        %ENCODED-IOBLOCK-PEEK-CHAR: the read-char-when-locked function
3104        needs an argument.
3105       
3106        SETUP-IOBLOCK-OUTPUT: there are no special output functions for
3107        bivalent streams.
3108       
3109        %IOBLOCK-BINARY-READ-VECTOR: clear any untyi char.
3110
31112006-10-24 12:35  gb
3112
3113        * level-1/version.lisp: Bump.
3114
31152006-10-24 01:29  gb
3116
3117        * lisp-kernel/x86-spentry64.s: Fix :ALLOW-OTHER-KEYS check in
3118        _SPdestbind1 (still used in inlining, sometimes.)
3119
31202006-10-24 01:05  gb
3121
3122        * release-notes.txt: Change the date, add/change some content.
3123
31242006-10-24 01:05  gb
3125
3126        * lib/macros.lisp: Reference the (bound) STREAM-VAR argument - not
3127        STREAM - in the expansion of WITH-OUTPUT-TO-STRING.
3128
31292006-10-24 00:56  gb
3130
3131        * lib/ccl-export-syms.lisp: Reference the (bound) STREAM-VAR
3132        argument - not STREAM - in the expansion of WITH-OUTPUT-TO-STRING.
3133
31342006-10-24 00:55  gb
3135
3136        * level-1/l1-streams.lisp: When recycling
3137        string-output-stream-ioblocks, set the IOBLOCK-CHARPOS to 0.
3138        (Failure to do this can screw up the pretty-printer, among other
3139        things.)
3140
31412006-10-24 00:52  gb
3142
3143        * level-1/l1-sockets.lisp: DEFAULT-CHARACTER-ENCODING for :SOCKET,
3144        *DEFAULT-SOCKET-CHARACTER-ENCODING*.
3145
31462006-10-23 17:03  gb
3147
3148        * release-notes.txt: Updated; almost ready to go (still a
3149        WITH-OUTPUT-TO-STRING/PPRINT (?) bug).
3150
31512006-10-23 16:43  gb
3152
3153        * level-1/l1-sysio.lisp: NORMALIZE-EXTERNAL-FORMAT: use
3154        *DEFAULT-EXTERNAL-FORMAT* value for :DEFAULT.
3155
31562006-10-23 16:42  gb
3157
3158        * level-1/l1-streams.lisp: Use NORMALIZE-EXTERNAL-FORMAT in (SETF
3159        STREAM-EXTERNAL-FORMAT) methods.
3160
31612006-10-23 16:41  gb
3162
3163        * lib/ccl-export-syms.lisp: Export some unicode/external-format
3164        stuff.
3165
31662006-10-23 08:27  gb
3167
3168        * level-1/version.lisp: Bump; binaries today, honest.
3169
31702006-10-23 08:27  gb
3171
3172        * level-1/l1-streams.lisp: freelist string-output-stream-ioblocks.
3173
31742006-10-23 08:26  gb
3175
3176        * lib/macros.lisp: Some/most/all of the WITH-IOBLOCK-OUTPUT-LOCKED
3177        macros were checking for the presence of an input lock ...
3178
31792006-10-23 05:40  gb
3180
3181        * level-1/l1-streams.lisp: Optimize write-string on string streams
3182        a little.
3183
31842006-10-23 05:26  gb
3185
3186        * lib/macros.lisp: WITH-OUTPUT-TO-STRING: don't expand into code
3187        which evaluates the string form twice; don't do whatever was being
3188        done to default the element type of the string stream.
3189
31902006-10-23 05:24  gb
3191
3192        * compiler/optimizers.lisp: MAKE-STRING-OUTPUT-STREAM: skip some
3193        keyword/subtype checking if element-type not provided.  (Could also
3194        skip it if it's explicit and obviously OK.)
3195
31962006-10-23 05:22  gb
3197
3198        * level-0/X86/x86-misc.lisp: %HEAP-BYTES-ALLOCATED: don't add
3199        "current" allocation if nothing's reserved.
3200
32012006-10-23 05:19  gb
3202
3203        * lisp-kernel/x86-exceptions.c: In handle_alloc_trap(), fix call to
3204        update_bytes_allocated (sign of "disp").
3205
32062006-10-22 08:02  gb
3207
3208        * compiler/PPC/ppc2.lisp: MULTIPLE-VALUE-PROG1: treat the first
3209        form like a PROGN if there are no other forms.
3210
32112006-10-22 08:01  gb
3212
3213        * level-1/l1-streams.lisp: Don't disable interrupts when calling
3214        ioblock functions.
3215       
3216        New string-stream implementation.  Better ...
3217
32182006-10-22 07:59  gb
3219
3220        * lib/macros.lisp: If WITH-OUTPUT-TO-STRING gets the string, do so
3221        before the stream closes.
3222
32232006-10-22 07:59  gb
3224
3225        * lib/pprint.lisp: Don't assume that string output stream strings
3226        have a fill-pointer; use STREAM-POSITION instead.
3227
32282006-10-22 07:57  gb
3229
3230        * lib/streams.lisp: Don't disable interrupts when calling ioblock
3231        functions, after all.
3232       
3233        Go through (new) ioblock-unread-char-function.
3234
32352006-10-22 07:55  gb
3236
3237        * lisp-kernel/darwinppc/.gdbinit: Stop trying to print strings via
3238        x/s
3239
32402006-10-21 18:46  gb
3241
3242        * level-1/l1-streams.lisp: Typo.
3243
32442006-10-21 18:41  gb
3245
3246        * lisp-kernel/x86-exceptions.c: Initialize (zero, usually) more
3247        fields in pseudo sigcontexts.
3248
32492006-10-21 18:40  gb
3250
3251        * level-1/l1-streams.lisp: Mostly locking changes (don't lock
3252        twice, etc.)
3253
32542006-10-21 18:35  gb
3255
3256        * level-0/l0-array.lisp, level-0/l0-init.lisp,
3257        level-0/l0-pred.lisp, level-0/l0-utils.lisp,
3258        level-0/PPC/ppc-array.lisp, level-0/PPC/ppc-symbol.lisp,
3259        level-0/X86/x86-symbol.lisp, level-1/l1-aprims.lisp,
3260        lib/sequences.lisp: Remove vestival #+target-8-bit-chars stuff.
3261
32622006-10-21 16:45  gb
3263
3264        * level-1/l1-unicode.lisp: New! Improved! Now with more iso-8859
3265        encodings!
3266
32672006-10-19 13:48  gb
3268
3269        * level-0/PPC/ppc-misc.lisp: Reference the source argument - not
3270        arg_z - in %safe-get-ptr.
3271
32722006-10-19 13:22  gb
3273
3274        * level-0/l0-aprims.lisp: %CSTR-POINTER: make #\Nul termination
3275        optional, use #\Sub char-code as replaement char.
3276
32772006-10-19 13:21  gb
3278
3279        * examples/objc-runtime.lisp: Missing close paren.
3280
32812006-10-19 13:19  gb
3282
3283        * examples/: cocoa-editor.lisp, cocoa-listener.lisp: Careful BLTing
3284        strings to/from foreign memory.
3285
32862006-10-19 13:18  gb
3287
3288        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Typos in UNBOX-S8.
3289
32902006-10-18 08:04  gb
3291
3292        * level-1/version.lisp: Bump.  Binaries later today ?
3293
32942006-10-18 07:38  gb
3295
3296        * level-1/l1-clos-boot.lisp: The post-bootstrapping version of
3297        (SETF FIND-CLASS) only introduces (or removes) a type name if the
3298        class becomes (or ceases to be) a properly named class.
3299       
3300        The pre-bootstrapping version handles simpler cases of that; use
3301        ALIAS-CLASS to register some early class names as type names.
3302
33032006-10-18 07:36  gb
3304
3305        * level-1/l1-clos.lisp: (SETF CLASS-NAME) can affect the type
3306        system, since only symbols which name properly-named classes are
3307        type specifiers.  Changing the name of a class can either introduce
3308        or remove a properly-named class.
3309       
3310        Classes that have the kernel-p attribute shouldn't have their names
3311        changed casually.
3312
33132006-10-18 07:33  gb
3314
3315        * level-1/l1-sockets.lisp: Accept an :EXTERNAL-FORMAT argument to
3316        MAKE-SOCKET, pass it down to whatever function actually creates a
3317        stream socket.
3318
33192006-10-18 02:12  gb
3320
3321        * compiler/X86/x862.lisp: Allow closed-over addresses in
3322        conditional-form, NOT.
3323
33242006-10-18 01:43  gb
3325
3326        * lisp-kernel/x86-exceptions.c: handle_fault() checks for
3327        safe_ref_addres.
3328
33292006-10-18 01:43  gb
3330
3331        * level-0/X86/x86-misc.lisp: %safe-get-ptr for x8664.
3332
33332006-10-18 01:41  gb
3334
3335        * compiler/X86/X8664/x8664-vinsns.lisp: Compare stack
3336        addresses/vcells to nil.
3337
33382006-10-18 01:41  gb
3339
3340        * compiler/X86/x862.lisp: Stuff for comparing memory (stack)
3341        addresses to NIL.
3342       
3343        Mark arg_z and rcx/nargs as being in use when restoring interrupt
3344        level inline.
3345
33462006-10-18 01:39  gb
3347
3348        * compiler/X86/x86-disassemble.lisp: We've had UUO-ERROR-UNBOUND
3349        for a few months now.  The disassembler is always the last to know.
3350
33512006-10-17 19:15  gb
3352
3353        * compiler/PPC/PPC32/ppc32-arch.lisp,
3354        compiler/PPC/PPC64/ppc64-arch.lisp,
3355        compiler/X86/X8664/x8664-arch.lisp, examples/objc-runtime.lisp,
3356        level-0/l0-misc.lisp, level-0/PPC/ppc-misc.lisp,
3357        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
3358        lisp-kernel/ppc-constants64.h, lisp-kernel/ppc-constants64.s,
3359        lisp-kernel/ppc-exceptions.c, lisp-kernel/x86-constants64.h,
3360        lisp-kernel/x86-constants64.s: add safe-ref-address to tcr.
3361       
3362        Handle memory faults to safe-ref-addres on PPC (so far).
3363       
3364        Try using SAFE-GET-PTR in objc runtime (untested).
3365
33662006-10-17 17:34  gb
3367
3368        * compiler/PPC/ppc2.lisp: ppc backend %aref1/%aset1: notice array
3369        type in acode.
3370
33712006-10-17 14:02  gb
3372
3373        * level-1/l1-unicode.lisp: BOM-ENCODING.
3374
33752006-10-17 14:02  gb
3376
3377        * level-1/l1-sysio.lisp: FILE-STRING-LENGTH actually does
3378        something.
3379       
3380        Clear the pending-bom flag when seeking.
3381
33822006-10-17 14:01  gb
3383
3384        * level-1/l1-streams.lisp: (SETF STREAM-EXTERNAL-FORMAT) for
3385        ioblock-based character streams.
3386
33872006-10-17 13:45  gb
3388
3389        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: bind/unbind
3390        *interrupt-level* inline.
3391
33922006-10-17 13:44  gb
3393
3394        * compiler/X86/x86-disassemble.lisp: Act like ud2a takes a one-byte
3395        immmediate operand (xuuo).
3396
33972006-10-17 13:39  gb
3398
3399        * level-1/l1-streams.lisp, lib/streams.lisp: Disable interrupts
3400        when necessary.
3401
34022006-10-17 13:39  gb
3403
3404        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
3405        PPC64/ppc64-vinsns.lisp: bind/unbind *interrupt-level* inline.
3406
34072006-10-15 17:51  gb
3408
3409        * level-1/l1-streams.lisp: Handle 32-bit character encodings.
3410       
3411        Start to extend STREAM-EXTERNAL-FORMAT, start to make it SETFable.
3412
34132006-10-15 17:51  gb
3414
3415        * level-1/l1-unicode.lisp: utf-32/ucs-4 and variants.
3416
34172006-10-15 17:50  gb
3418
3419        * level-1/l1-sysio.lisp: EXTERNAL-FORMATs are immutable, interned.
3420
34212006-10-14 07:41  gb
3422
3423        * compiler/PPC/ppc2.lisp: Fix use of ^,<- vinsn macros inside
3424        ENSURING-NODE-TARGET.
3425       
3426        Inline the fixnum case of two-arg numeric comparisons.
3427
34282006-10-14 07:39  gb
3429
3430        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3431        INLINE-SUB2 support.
3432
34332006-10-14 06:30  gb
3434
3435        * lib/defstruct.lisp: Don't (DECLARE (OPTIMIZE (SAFETY 3))) in
3436        generated DEFSTRUCT accessors.
3437
34382006-10-14 06:27  gb
3439
3440        * compiler/X86/x862.lisp: Fix many cases of ENSURING-NODE-TARGET.
3441       
3442        Do the fixnum case of two-argument subtraction inline.
3443       
3444        Inline the fixnum case of two-argument numeric comparisons.
3445       
3446        STRUCT-REF avoids typechecking when reckless.
3447
34482006-10-14 06:21  gb
3449
3450        * compiler/backend.lisp: It makes no sense to use the vinsn macros
3451        <- and ^ inside ENSURING-NODE-TARGET, so make it check for that.
3452
34532006-10-14 06:20  gb
3454
3455        * compiler/X86/X8664/x8664-vinsns.lisp: Do vector bounds-checking a
3456        little differently.
3457       
3458        Add xchg-registers.
3459
34602006-10-13 04:54  gb
3461
3462        * compiler/nx1.lisp: Use new NUMCMP operator.
3463
34642006-10-13 04:53  gb
3465
3466        * compiler/nx0.lisp: Change inline expansion: use optimize settings
3467        in effect at call time, not those in effect at definition time.
3468
34692006-10-13 04:50  gb
3470
3471        * level-0/l0-numbers.lisp: Change >=-2, <=-2, /=-2 to avoid
3472        inlining issues.
3473
34742006-10-13 04:30  gb
3475
3476        * compiler/nxenv.lisp: Replace unused num= with numcmp.
3477
34782006-10-12 19:46  gb
3479
3480        * lisp-kernel/pmcl-kernel.c: Terminate argument processing when
3481        "--" is seen.
3482
34832006-10-12 19:45  gb
3484
3485        * level-1/: l1-streams.lisp, l1-sysio.lisp, l1-unicode.lisp: Handle
3486        newline translation differenly (at the character I/O level, not the
3487        buffer level).
3488       
3489        All character encoding/decoding functions operate on octets, not
3490        necessarily code units.  (The stream encode/decode functions are an
3491        exception; serialization and byte ordering are handled by the
3492        stream.)
3493
34942006-10-09 16:34  gb
3495
3496        * level-1/l1-streams.lisp: Write  #\Sub's char-code if we can't
3497        encode a character in (implicit) iso-8859-1.
3498
34992006-10-09 16:33  gb
3500
3501        * level-0/l0-misc.lisp: %COPY-STRING-TO-U8: use #\Sub (ascii 26) as
3502        a replacement character.
3503
35042006-10-09 16:31  gb
3505
3506        * level-1/l1-unicode.lisp: :stream-encode/decode functions always
3507        write/read something, even if it's a replacement character of some
3508        sort.
3509
35102006-10-09 15:19  gb
3511
3512        * level-1/l1-streams.lisp: More stuff about line termination.  When
3513        will this end ?
3514
35152006-10-09 15:19  gb
3516
3517        * lib/chars.lisp: Use a hashtable to map characters to their names.
3518         (Maybe a sparse vector ?).
3519
35202006-10-09 15:18  gb
3521
3522        * level-1/l1-reader.lisp: Use a hashtable to map characters to
3523        their names.  (Maybe a sparse vector ?).
3524       
3525        Define #\Sub and #\Replacement_Character.
3526
35272006-10-08 21:17  gb
3528
3529        * level-1/l1-readloop-lds.lisp: SELECT-BACKTRACE: it's been all
3530        NEW-BACKTRACE for a while now.
3531
35322006-10-08 21:16  gb
3533
3534        * lisp-kernel/lisptypes.h: Need to #include <sys/signal.h> to keep
3535        Panther happy.
3536
35372006-10-08 20:30  gb
3538
3539        * lisp-kernel/x86_print.c: Print hex with leading #x, not #0x ...
3540
35412006-10-08 20:30  gb
3542
3543        * lib/dumplisp.lisp: Do some sanity checks on SAVE-APPLICATION
3544        pathname, before it's too late ...
3545
35462006-10-08 20:29  gb
3547
3548        * level-1/l1-unicode.lisp: ASCII, some other changes.
3549
35502006-10-08 20:29  gb
3551
3552        * level-1/l1-sysio.lisp: Rearrange a few things; pass
3553        :line-termination option to MAKE-FD-STREAM.
3554
35552006-10-08 20:28  gb
3556
3557        * level-1/l1-streams.lisp: Yet another line-termination translation
3558        scheme; hopefully, the last for a while. (More tedium before it's
3559        actually installed.)
3560
35612006-10-08 20:27  gb
3562
3563        * level-1/l1-reader.lisp: Add character names for #\Line_Separator,
3564        #\Paragraph_separator.
3565
35662006-10-07 20:35  gb
3567
3568        * level-1/l1-init.lisp: *TERMINAL-CHARACTER-ENCODING-NAME*.
3569
35702006-10-07 20:34  gb
3571
3572        * level-1/l1-error-signal.lisp: In %ERROR, go straight to the
3573        kernel debugger if interactive streams aren't initialized yet.
3574        (We'd probably get there sooner or later in that case; try to get
3575        there sooner.)
3576
35772006-10-07 20:33  gb
3578
3579        * level-1/l1-boot-2.lisp: Don't initialize interactive streams via
3580        DEF-LOAD-POINTERS.  Wrap that up in a function, and set a flag when
3581        the function's called (from APPLICATION's TOPLEVEL-FUNCTION
3582        method.)
3583
35842006-10-07 20:32  gb
3585
3586        * level-1/l1-application.lisp: Handle the (new)
3587        -K/--terminal-encoding command-line argument.
3588
35892006-10-07 11:14  gb
3590
3591        * level-1/l1-streams.lisp: INPUT-STREAM-P, OUTPUT-STREAM-P are true
3592        of instances if INPUT-STREAM/ OUTPUT-STREAM, respectively (not just
3593        instances of FUNDAMENTAL-INPUT/OUTPUT-STREAM).
3594
35952006-10-07 11:13  gb
3596
3597        * lisp-kernel/lisp-debug.c: Do abort() if kernel debugger is
3598        entered when --batch is in effect.
3599
36002006-10-07 11:12  gb
3601
3602        * level-1/l1-readloop.lisp: QUIT: flush *STDOUT* in
3603        PROCESS-EXIT-APPLICATION.
3604
36052006-10-07 11:11  gb
3606
3607        * level-1/l1-processes.lisp: PROCESS-EXIT-APPLICATION: flush
3608        *stdout* here.
3609
36102006-10-06 04:49  gb
3611
3612        * level-1/l1-streams.lisp: CODE-UNIT, not CODE-ELEMENT.  Add a
3613        TRANSLATE slot to IO-BUFFER.
3614
36152006-10-06 04:40  gb
3616
3617        * level-1/l1-sockets.lisp: basic (vs fundamental) socket streams.
3618
36192006-10-06 04:39  gb
3620
3621        * level-1/l1-sysio.lisp: Real, live EXTERNAL-FORMAT structures.
3622
36232006-10-06 04:38  gb
3624
3625        * level-1/version.lisp: Bump.
3626
36272006-10-06 04:38  gb
3628
3629        * level-0/l0-misc.lisp: %COPY-STRING-TO-U8: use #\? as a
3630        replacement character.
3631
36322006-10-05 14:46  gb
3633
3634        * lisp-kernel/lisptypes.h: More register name aliases.  FMH.
3635
36362006-10-05 14:46  gb
3637
3638        * lisp-kernel/x86-asmutils64.s: get_mxcsr, set_mxcsr.
3639
36402006-10-05 14:46  gb
3641
3642        * lisp-kernel/x86-exceptions.c: Save the mxcsr, load it with a
3643        C-like value (all exceptions masked) before doing a callback.  (Not
3644        doing this meant that tcr.foreign_mxcsr was often set to a "lispy"
3645        value, where most exceptions were unmasked, and this caused FP
3646        exceptions when calling out to foreign code with the "lispy"
3647        tcr.foreign_mxcsr in effect.)
3648       
3649        Mach exception stuff arranges to return via sigreturn.  Didn't fix
3650        the spurious SIGTRAPs, but might be the right idea (and might save
3651        a context switch or two.)
3652       
3653        Mach exception stuff initializes rflags to exception rflags when
3654        arranging to resume thread at handler.  Leaving them uninitialized
3655        was causing spurious SIGTRAPs, since the trace bit(s) may have been
3656        set.
3657
36582006-10-05 06:09  gb
3659
3660        * lib/macros.lisp: WITH-ENCODED-CSTR(s).  (Hey, it's a start.)
3661
36622006-10-05 06:09  gb
3663
3664        * lib/chars.lisp: CHAR-NAME: try to use at least 4 hex digits for
3665        #\U+xxxx syntax.
3666
36672006-10-05 06:08  gb
3668
3669        * level-1/l1-unicode.lisp: UCS-2, some other changes.
3670
36712006-10-05 06:07  gb
3672
3673        * level-1/l1-sysio.lisp: Try to get
3674        line-termination/external-format stuff working.
3675
36762006-10-05 05:35  gb
3677
3678        * level-1/l1-streams.lisp: Assume that character data is always
3679        encoded as one or more 8-bit octets.
3680
36812006-10-05 04:59  gb
3682
3683        * level-1/l1-boot-2.lisp: Set class-prototypes for basic-streams
3684        just before we make the first one.
3685
36862006-10-02 08:13  gb
3687
3688        * lisp-kernel/x86-exceptions.h: Darwin uses _sigtramp glue to call
3689        handlers, so we need to make handlers do a sigreturn after
3690        switching off the signal stack, etc.
3691
36922006-10-02 08:11  gb
3693
3694        * lisp-kernel/x86-exceptions.c: Don't use SIGRETURN to return from
3695        signal_handler() on Darwin (since we depend on pseudo_sigreturn
3696        handling for cleanup of tcr pending exception and since we can't
3697        easily restore the signal mask.)
3698       
3699        (Up until this point, SIGRETURN has been a nop on Darwin.)
3700
37012006-10-02 04:59  gb
3702
3703        * lisp-kernel/lisptypes.h: Compile on ppc,ppc64 osx 10.4 and
3704        earlier.
3705
37062006-10-02 04:47  gb
3707
3708        * lisp-kernel/: lisptypes.h, ppc-exceptions.c, ppc-exceptions.h:
3709        Compile on post OSX 10.4 systems, for ppc/ppc64.  (Broken on
3710        systems <= 10.4).
3711
37122006-10-02 02:46  gb
3713
3714        * lisp-kernel/: lisptypes.h, x86-exceptions.c, x86-exceptions.h:
3715        Try to make x86-64 version compile under 10.4 again; see if this
3716        breaks post-10.4 compilation.
3717
37182006-10-02 02:33  gb
3719
3720        * lisp-kernel/: lisptypes.h, pmcl-kernel.c, x86-exceptions.c,
3721        x86-exceptions.h: Change things so that they compile for x86-64 on
3722        systems later than 10.4.  Almost certainly break 10.4 compilation
3723        in the process.  (Thanks, Apple!  Any time I can cause you to waste
3724        hours on crap like this, just let me know!)
3725
37262006-09-27 20:33  gb
3727
3728        * lib/misc.lisp: DOCUMENTATION works on character-encodings.
3729
37302006-09-27 20:33  gb
3731
3732        * level-1/l1-unicode.lisp: Character-encodings have doc strings.
3733
37342006-09-27 05:46  gb
3735
3736        * level-1/l1-sysio.lisp: More FILE-STREAM changes.  Give
3737        BASIC-STREAM classes a class prototype.
3738
37392006-09-27 05:45  gb
3740
3741        * level-1/l1-streams.lisp: Some changes to FD-STREAM
3742        initialization, to make it easier to use MAKE-FD-STREAM to open
3743        (seekable) FILE-STREAMs.
3744
37452006-09-27 05:41  gb
3746
3747        * lisp-kernel/: x86-exceptions.c, x86-exceptions.h: Decode and
3748        handle UUO_ERROR_DEBUG_TRAP_WITH_STRING.
3749
37502006-09-27 05:39  gb
3751
3752        * lisp-kernel/x86-spentry64.s: Still get very occasional SIGFPE on
3753        return from (e.g.) #_asin on x86-64 Darwin.  (#_asin often does a
3754        division-by-zero, but that should be masked when in foreign code.)
3755        Don't reload the lisp mxcsr until other registers have been popped,
3756        to make debugging easier in case it's the act of reloading the
3757        mxcsr that causes the spurious trap.)
3758
37592006-09-27 05:36  gb
3760
3761        * level-0/X86/x86-misc.lisp: DEBUG-TRAP-WITH-STRING.
3762
37632006-09-27 05:35  gb
3764
3765        * level-0/nfasload.lisp: Not sure when it happened, but %FASLOAD
3766        was parenthesized in such a way as to not return the error value on
3767        error.
3768
37692006-09-27 05:34  gb
3770
3771        * level-0/l0-misc.lisp: On x8664, use a new UUO for BUG.  (Not
3772        passing context into the kernel makes it too difficult to debug/get
3773        backtrace, etc.)
3774
37752006-09-27 05:33  gb
3776
3777        * compiler/X86/: x86-asm.lisp, x86-disassemble.lisp:
3778        UUO-ERROR-DEBUG-TRAP-WITH-STRING.
3779
37802006-09-27 05:05  gb
3781
3782        * level-1/l1-clos-boot.lisp: CLASS-PROTOTYPE method for CLASS class
3783        (mostly for BUILT-IN-CLASSes).
3784
37852006-09-26 20:49  gb
3786
3787        * level-1/l1-sysio.lisp: SELECT-STREAM-CLASS: should probably take
3788        a BASIC-P argument.
3789
37902006-09-26 20:47  gb
3791
3792        * level-1/l1-streams.lisp: More changes.  Imagine that.
3793
37942006-09-26 20:46  gb
3795
3796        * compiler/: X86/X8664/x8664-vinsns.lisp, X86/x862.lisp,
3797        optimizers.lisp: (Redundant) FIXNUM decls in LDB compiler macro.
3798
37992006-09-26 20:43  gb
3800
3801        * level-1/l1-unicode.lisp: Memory/vector encode/decode functions
3802        take/return strings, not chars.
3803       
3804        Some bom stuff.
3805
38062006-09-24 20:14  gb
3807
3808        * lib/chars.lisp: Check for assumptions about character size.
3809        Remove some %i-isms (fixnum arithmetic), make assertions about type
3810        of char-code.
3811
38122006-09-24 20:12  gb
3813
3814        * level-1/l1-aprims.lisp: Remove unused (probably ancient)
3815        CHKBOUNDS function.  Simpler STRING-START-END.
3816
38172006-09-24 20:11  gb
3818
3819        * level-1/l1-streams.lisp: Some stuff to infer line-termination.
3820        Probably belongs elsewhere; some encodings may not make it at all
3821        possible.
3822
38232006-09-24 20:07  gb
3824
3825        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3826        Load-character-constant: accept :u32const on PPC32, PPC64, too.
3827
38282006-09-24 20:00  gb
3829
3830        * level-1/l1-streams.lisp: A little more u16 stuff.  Remove
3831        line-termination slot from ioblock and corresponding arg from
3832        functions which initialize it.
3833
38342006-09-24 19:59  gb
3835
3836        * level-1/l1-sysio.lisp: Input-filter, output-filter in
3837        file-ioblock.
3838
38392006-09-24 19:58  gb
3840
3841        * level-1/l1-unicode.lisp: Buffer translation functions don't
3842        belong here; start thinking about BOM.
3843
38442006-09-24 19:57  gb
3845
3846        * compiler/X86/X8664/x8664-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
3847        it's been a :u32const for the last few weeks ...
3848
38492006-09-24 04:29  gb
3850
3851        * lib/chars.lisp: CHAR-NAME looks in the *CHARACTER-NAMES* array if
3852        the code is within its bounds.
3853
38542006-09-24 04:27  gb
3855
3856        * level-1/l1-reader.lisp: Lots more character names.  Maintain
3857        mappings in a vector and a hash table, rather than in an alist.
3858
38592006-09-24 04:26  gb
3860
3861        * level-0/nfasload.lisp, xdump/xfasload.lisp, lib/nfcomp.lisp: Doh!
3862        character constant fasl encoding ($fasl-char).
3863
38642006-09-23 05:31  gb
3865
3866        * level-1/l1-unicode.lisp: Some other iso8859-n encodings.  (Not
3867        sure which are the most important.)
3868
38692006-09-23 05:29  gb
3870
3871        * level-1/l1-sysio.lisp: Start to separate
3872        line-termination/external-format stuff.
3873
38742006-09-23 05:28  gb
3875
3876        * level-1/l1-streams.lisp: Lots-o-changes.
3877
38782006-09-23 05:28  gb
3879
3880        * level-1/l1-boot-2.lisp: Make initial interactive streams use
3881        UTF-8 (mostly for debugging utf-8 ...)
3882
38832006-09-21 04:07  gb
3884
3885        * lisp-kernel/x86-spentry64.s: don't clobber callback index when
3886        doing the DARWIN_GS_HACK stuff in _SPcallback (syscall sometimes
3887        clobbered r11, sometimes didn't.)
3888
38892006-09-21 04:05  gb
3890
3891        * lisp-kernel/pmcl-kernel.c: Require mach/port.h.
3892
38932006-09-21 04:05  gb
3894
3895        * lisp-kernel/x86-exceptions.c: Save and restore errno in
3896        callback_for_interrupt.
3897
38982006-09-21 04:04  gb
3899
3900        * lisp-kernel/lisptypes.h: Guess again about preprocessor stuff for
3901        x86-64 ucontext/mcontext on Darwin.
3902
39032006-09-21 04:02  gb
3904
3905        * level-1/l1-lisp-threads.lisp: Use underscore prefix on all Darwin
3906        flavors.
3907       
3908        Add a type decl in %nanosleep.
3909
39102006-09-21 04:01  gb
3911
3912        * compiler/X86/X8664/x8664-vinsns.lisp: sign-extend/zero-extend
3913        vinsns.
3914
39152006-09-21 04:01  gb
3916
3917        * compiler/X86/x862.lisp: sign/zero-extend ffcall, syscall return
3918        values.  (Probably only matters in a few cases, like the Darwin
3919        x86-64 version of #_nanosleep, which returns a non-sign-extended
3920        "int" value if the sleep is interruted.)
3921
39222006-09-20 06:34  gb
3923
3924        * level-1/version.lisp: Bump.
3925
39262006-09-20 04:24  gb
3927
3928        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3929        slight improvements in signed-byte boxing, typechecking.
3930
39312006-09-20 04:22  gb
3932
3933        * lib/streams.lisp: WRITE-BYTE for BASIC-STREAMs.
3934
39352006-09-20 04:21  gb
3936
3937        * lib/macros.lisp: %SWAP-U16, %SWAP-U32.
3938
39392006-09-20 04:21  gb
3940
3941        * lib/level-2.lisp: %EVAL-REDEFs for new require-xx functions.
3942
39432006-09-20 04:20  gb
3944
3945        * level-1/l1-unicode.lisp: UTF-16, in native and byte-swapped
3946        versions.  Need a "logical" UTF-16, which deals with byte-order
3947        marks and a means of installing a concrete encoding.  Needs
3948        testing.
3949
39502006-09-20 04:15  gb
3951
3952        * level-1/l1-streams.lisp: Numerous changes.
3953
39542006-09-20 04:15  gb
3955
3956        * level-1/l1-sockets.lisp: %bswap16: fix type declaration.
3957
39582006-09-20 04:14  gb
3959
3960        * compiler/X86/X8664/x8664-vinsns.lisp: vinsns for signed/unsigned
3961        byte 8,16,32,64.  Tighten up some signed-byte boxing.
3962
39632006-09-20 04:12  gb
3964
3965        * compiler/X86/x862.lisp: New require ops for signed/unsigned byte
3966        8,16,32,64
3967
39682006-09-19 01:38  gb
3969
3970        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
3971        vinsns for REQUIRE-[US][8,16,32,64]
3972
39732006-09-19 01:37  gb
3974
3975        * compiler/PPC/PPC32/ppc32-arch.lisp: Need
3976        THREE-DIGIT-BIGNUM-HEADER to recognize some cases of (UNSIGNED-BYTE
3977        64).
3978
39792006-09-19 01:36  gb
3980
3981        * compiler/PPC/ppc-backend.lisp: clean up an error message.
3982
39832006-09-19 01:36  gb
3984
3985        * compiler/PPC/ppc2.lisp: handle require-[us][8,16,32,64]
3986        operators.
3987
39882006-09-19 01:34  gb
3989
3990        * compiler/optimizers.lisp: REQUIRE-TYPE: transform into
3991        require-[us][8,16,32,64] when possible.
3992
39932006-09-19 01:34  gb
3994
3995        * compiler/nx1.lisp: inline require-[us][8,16,32,64].
3996
39972006-09-19 01:33  gb
3998
3999        * compiler/nxenv.lisp: New operators for require-[us][8,16,32,64].
4000
40012006-09-19 01:15  gb
4002
4003        * compiler/X86/X8664/x8664-vinsns.lisp: x8664 vinsns for
4004        typechecking signed/unsigned bytes of sizes 8,16,32,64.
4005
40062006-09-19 00:36  gb
4007
4008        * level-1/l1-streams.lisp: More changes; hard to bootstrap.
4009
40102006-09-18 21:42  gb
4011
4012        * lib/macros.lisp: Macros for locking the input/output locks of an
4013        ioblock, assuming that it exists.
4014
40152006-09-17 00:45  gb
4016
4017        * level-1/l1-streams.lisp: more changes
4018
40192006-09-13 06:52  gb
4020
4021        * level-1/l1-io.lisp: Direct BASIC-STREAM stuff for WRITE-CHAR,
4022        WRITE-STRING, TERPRI.
4023
40242006-09-13 06:08  gb
4025
4026        * lib/streams.lisp: READ-LINE changes for BASIC-STREAMs.
4027
40282006-09-13 06:07  gb
4029
4030        * level-1/l1-unicode.lisp: GET-CHARACTER-ENCODING errors if the
4031        named encoding isn't defined.
4032       
4033        Terse PRINT-OBJECT method for CHARACTER-ENCODING.
4034
40352006-09-13 06:06  gb
4036
4037        * level-1/l1-streams.lisp: More functions in the ioblock, some
4038        support for 8-bit encodings (like utf-8).  Not finished, but
4039        getting hard to bootstrap; need to check in and build on all
4040        platforms before it gets even harder.
4041
40422006-09-12 05:34  gb
4043
4044        * level-0/l0-misc.lisp: Use %CSTR-POINTER (not
4045        %copy-ivector-to-pointer) in BUG.
4046
40472006-09-12 05:31  gb
4048
4049        * lisp-kernel/x86-exceptions.c: Enter the debugger if
4050        altstack_signal_handler is entered in foreign code.  (Maybe want to
4051        signal a lisp error in some cases, but this is currently fatal and
4052        we might as well die earlier than with a stack overflow.)
4053
40542006-09-12 05:29  gb
4055
4056        * lisp-kernel/thread_manager.c: os_get_stack_bounds(): get stack
4057        direction right on FreeBSD.  (Much better than randomly scribbling
4058        on memory in the GC, as the FreeBSD port has been doing for months
4059        now ...)
4060
40612006-09-11 21:31  gb
4062
4063        * compiler/X86/x862.lisp: x862-explicit-non-fixnum-type-p looks for
4064        intersection.
4065
40662006-09-11 21:21  gb
4067
4068        * compiler/X86/x862.lisp: Partly inline 2-arg logior, logand.
4069
40702006-09-11 20:10  gb
4071
4072        * level-1/l1-unicode.lisp: Character encodings contain a
4073        LITERAL-CHAR-CODE-LIMIT field.
4074
40752006-09-11 20:09  gb
4076
4077        * level-1/l1-streams.lisp: extend IOBLOCK a bit.  Start to provide
4078        functionality for encoded streams.
4079
40802006-09-11 20:08  gb
4081
4082        * compiler/PPC/ppc2.lisp: Partialy inline 2-arg logior/logand.
4083
40842006-09-09 04:39  gb
4085
4086        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
4087        REQUIRE-CHAR-CODE: compare against boxed char-code-limit.
4088
40892006-09-09 04:21  gb
4090
4091        * level-1/l1-reader.lisp: NAME-CHAR: insist on something more
4092        reasonable for ^c syntax; don't do MOD for octal.
4093
40942006-09-09 04:21  gb
4095
4096        * compiler/X86/X8664/x8664-vinsns.lisp: require-char-code checks
4097        agains boxed Unicode limit
4098
40992006-09-09 03:56  gb
4100
4101        * lisp-kernel/x86-gc.c: purify_range(), impurify_range(): handle
4102        x8664 functions, hash tables.  (PPC versions should handle hash
4103        table key movement.)
4104
41052006-09-08 22:47  gb
4106
4107        * lib/chars.lisp: CHAR-NAME: use U+xxxx for chars with codes >=
4108        #x100.
4109
41102006-09-08 22:38  gb
4111
4112        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
4113        FIXNUM->CHAR: return NIL for surrogate pairs.
4114
41152006-09-08 22:33  gb
4116
4117        * compiler/PPC/ppc2.lisp: Don't be overly unsafe in %CHAR-CODE.
4118
41192006-09-08 22:31  gb
4120
4121        * lib/ppc-backtrace.lisp: Fix CFP-LFUN (fake stack frame case,
4122        sanity-check fn/lr).
4123
41242006-09-08 18:55  gb
4125
4126        * compiler/X86/x862.lisp: Don't be so reckless in %CODE-CHAR (don't
4127        necessarily want arbitrary expressions to be compiled unsafely; do
4128        want to avoid a little type-checking sometimes.)
4129
41302006-09-08 18:52  gb
4131
4132        * compiler/X86/X8664/x8664-vinsns.lisp: FIXNUM->CHAR returns NIL
4133        for values in the surrogate-pairs range.  (There are other things
4134        that it could plausibly return NIL for.)
4135
41362006-09-08 18:51  gb
4137
4138        * lisp-kernel/x86-gc.c: Start to get purify working on x86-64; for
4139        now, just purify strings.
4140
41412006-09-08 18:48  gb
4142
4143        * lib/macros.lisp: %CODE-CHAR asserts that code is (UNSIGNED-BYTE
4144        8), which is still useful (and exactly what it used to do.)
4145
41462006-09-08 18:47  gb
4147
4148        * lib/: compile-ccl.lisp, systems.lisp: Add l1-unicode.
4149
41502006-09-08 18:44  gb
4151
4152        * level-1/level-1.lisp: Load l1-unicode.
4153
41542006-09-08 18:44  gb
4155
4156        * level-1/l1-unicode.lisp: New file.
4157
41582006-09-07 03:50  gb
4159
4160        * lisp-kernel/area.h: Larger PURESPACE_RESERVE for x8664.
4161
41622006-09-07 03:44  gb
4163
4164        * xdump/: heap-image.lisp, xfasload.lisp, xppcfasload.lisp,
4165        xx8664-fasload.lisp: Bump abi version.  Make purespace-reserve an
4166        attribute of the backend (may need more pure space on x86-64.)
4167
41682006-09-07 03:43  gb
4169
4170        * lisp-kernel/image.h: Bump abi version.
4171
41722006-09-07 03:43  gb
4173
4174        * level-1/version.lisp: Bump.
4175
41762006-09-07 02:58  gb
4177
4178        * lisp-kernel/x86-exceptions.c: FreeBSD (at least with libthr)
4179        seems to mask synchronous signals.  Unmask them in signal handlers.
4180
41812006-09-07 02:57  gb
4182
4183        * lisp-kernel/thread_manager.c: suspend_resume_handler() : ignore
4184        signal mask.
4185
41862006-09-07 02:56  gb
4187
4188        * lisp-kernel/: lisptypes.h, ppc-constants32.h, ppc-constants32.s,
4189        ppc-constants64.h, ppc-constants64.s, ppc-gc.c, x86-constants64.h,
4190        x86-constants64.s: Lose the CHAR_SIZE_32 bootstrapping conditional
4191        (char are 32 bits wide on all platforms now.)
4192
41932006-09-07 00:40  gb
4194
4195        * lisp-kernel/x86-exceptions.c: SIGBUS might be
4196        SIGNUM_FOR_PROCESS_INTERRUPT.
4197
41982006-09-07 00:12  gb
4199
4200        * lisp-kernel/x86-spentry64.s: _SPbuiltin_aref1: use
4201        box_fixnum_no_flags.
4202
42032006-09-07 00:12  gb
4204
4205        * lisp-kernel/x86-macros.s: Define box_fixnum_no_flags (uses lea
4206        vice imul).
4207
42082006-09-06 21:18  gb
4209
4210        * compiler/X86/X8664/x8664-arch.lisp: Need
4211        MIN/MAX-8-BIT-IVECTOR-SUBTAG.
4212
42132006-09-06 18:37  gb
4214
4215        * lisp-kernel/x86-spentry64.s: misc_ref/misc_set: handle 32-bit
4216        strings.
4217
42182006-09-06 18:36  gb
4219
4220        * lisp-kernel/x86-macros.s: Zero-extend early when extracting
4221        typecodes.
4222
42232006-09-06 18:36  gb
4224
4225        * level-1/l1-streams.lisp: GET-OUTPUT-STREAM-STRING: use
4226        ENSURE-SIMPLE-STRING rather than horrible COERCE nonsense.
4227
42282006-09-06 18:35  gb
4229
4230        * level-1/l1-aprims.lisp: x8664 *immheader-1-array-element-types*
4231        contains entry for 32-bit BASE-CHAR.
4232
42332006-09-06 18:35  gb
4234
4235        * compiler/X86/X8664/x8664-vinsns.lisp: zero-extend early when
4236        extracting typecodes.
4237
42382006-09-06 18:34  gb
4239
4240        * compiler/X86/X8664/: x8664-arch.lisp, x8664-backend.lisp:
4241        32-bit-chars.
4242
42432006-09-06 18:33  gb
4244
4245        * compiler/X86/: x86-backend.lisp, x862.lisp: Defer handling of the
4246        :rcontext pseudo-register name until the target backend is in
4247        place.
4248
42492006-09-06 16:39  gb
4250
4251        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: 32-bit chars
4252        stuff for x8664.
4253
42542006-09-06 16:39  gb
4255
4256        * level-1/l1-reader.lisp: kids: bourbon and editing COPY-READTABLE
4257        don't mix!
4258
42592006-09-06 16:38  gb
4260
4261        * lib/compile-ccl.lisp: :verbose argument to rebuild-ccl.
4262
42632006-09-06 16:38  gb
4264
4265        * level-1/linux-files.lisp: process input/output: don't assume
4266        8-bit strings.
4267
42682006-09-06 14:42  gb
4269
4270        * compiler/PPC/PPC64/ppc64-backend.lisp: PPC64 callbacks are always
4271        #+poweropen-target; don't conditionalize the fp-arg-ptr argument
4272        (since that creates confustion when cross-compiling from a
4273        non-poweropen host.)
4274
42752006-09-06 00:08  gb
4276
4277        * compiler/PPC/PPC64/: ppc64-arch.lisp, ppc64-backend.lisp: remove
4278        8-bit char stuff.
4279
42802006-09-06 00:08  gb
4281
4282        * compiler/X86/X8664/x8664-arch.lisp: Forgot to set char-code-limit
4283        here.
4284
42852006-09-05 22:49  gb
4286
4287        * lib/macros.lisp: In DO-GC-AREAS, don't use comma before call to
4288        AREA-SUCC.  (Cross-compilation/ word-size issue.)
4289
42902006-09-05 22:42  gb
4291
4292        * level-0/l0-utils.lisp: If ENSURE-SIMPLE-STRING has to make a copy
4293        of a non-simple string, understand char width issues.
4294
42952006-09-05 22:41  gb
4296
4297        * level-0/nfasload.lisp: Some fixnum decls in %FIND-PKG.
4298
42992006-09-05 22:40  gb
4300
4301        * level-1/l1-aprims.lisp: ppc64 ARRAY-ELEMENT-SUBTYPES includes new
4302        string type.
4303
43042006-09-05 22:39  gb
4305
4306        * level-0/PPC/ppc-array.lisp: cr3, nor c33, in ppc64 %init-misc.
4307
43082006-09-05 22:38  gb
4309
4310        * compiler/nx0.lisp: NX-FORM-TYPEP uses NX-TARGET-TYPE.
4311
43122006-09-05 09:13  gb
4313
4314        * compiler/PPC/PPC32/ppc32-backend.lisp: darwinppc32 backend uses
4315        32-bit chars, too.
4316
43172006-09-05 09:01  gb
4318
4319        * compiler/PPC/PPC32/: ppc32-arch.lisp, ppc32-backend.lisp: ppc32
4320        defaults to 32-bit chars.
4321
43222006-09-05 05:18  gb
4323
4324        * xdump/xfasload.lisp: Deal with 32-bit lisp strings.
4325
43262006-09-05 05:18  gb
4327
4328        * lisp-kernel/linuxppc/.gdbinit: Start to depend on calling
4329        print_lisp_object, since x/s doesn't deal with 32-bit lisp strings.
4330
43312006-09-05 05:17  gb
4332
4333        * lisp-kernel/ppc-gc.c: conditionalize purify_displaced_object()
4334        for char size.
4335
43362006-09-05 05:16  gb
4337
4338        * lisp-kernel/plsym.c: find_symbol(): don't assume 8-bir lisp
4339        strings.
4340
43412006-09-05 05:15  gb
4342
4343        * lisp-kernel/lisptypes.h: Try using "u8_t" and "u32_t" for
4344        lisp_char_code; this may be more portable.
4345
43462006-09-05 05:14  gb
4347
4348        * lib/sequences.lisp: SIMPLE-1D-ARRAY-SUBSEQ: handle new strings.
4349
43502006-09-05 05:13  gb
4351
4352        * level-1/linux-files.lisp: CALL-WITH-STRING-VECTOR: don't assume
4353        8-bit char/strings.
4354
43552006-09-05 05:13  gb
4356
4357        * level-1/l1-streams.lisp: Use heap-ivectors of element-type
4358        (UNSIGNED-BYTE 8) for character streams.  (Should really depend on
4359        the coding system in use.)
4360
43612006-09-05 05:09  gb
4362
4363        * level-1/l1-aprims.lisp: Various archaic string functions: don't
4364        assume 8-bit strings.
4365
43662006-09-05 05:08  gb
4367
4368        * level-0/l0-array.lisp: Handle 32-bit strings in %UVECTOR-REPLACE.
4369
43702006-09-05 05:07  gb
4371
4372        * compiler/PPC/PPC64/ppc64-arch.lisp: No "x" in simple-base-string,
4373        when #-target-8-bit-chars.
4374
43752006-09-05 05:06  gb
4376
4377        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
4378        REQUIRE-CHAR-CODE: comparison of OBJECT with TAG is not a CMPI.
4379
43802006-09-05 05:05  gb
4381
4382        * compiler/PPC/ppc2.lisp: PPC2-VREF: handle the 32-bit
4383        :SIMPLE-STRING case with constant index.
4384
43852006-09-04 17:44  gb
4386
4387        * lisp-kernel/lisptypes.h: Linux doesn't define uint8_t.  Try
4388        "unsigned char", and cross fingers.
4389
43902006-09-04 17:38  gb
4391
4392        * lisp-kernel/: lisptypes.h, ppc_print.c, x86_print.c: Define
4393        lisp_char_code type, use it when printing lisp string in the kernel
4394        debugger.
4395
43962006-09-04 17:28  gb
4397
4398        * level-1/version.lisp: Bump.
4399
44002006-09-04 17:18  gb
4401
4402        * level-0/PPC/ppc-array.lisp: Sigh.  Test for 8-bit-char case was
4403        conditionalized backwards in PPC64 %INIT-MISC.
4404
44052006-09-04 17:05  gb
4406
4407        * level-1/l1-init.lisp: Initial value of CHAR-CODE-LIMIT derived
4408        from the target arch (for bootstrapping.)
4409
44102006-09-04 17:04  gb
4411
4412        * level-1/l1-reader.lisp: Use (UNSIGNED-BYTE 8) for array element
4413        type of rdtab.ttab.
4414       
4415        Don't treat (code-char #xca) as whitespace; do treat (code-char
4416        #xa0) as whitespace.  (The former happens to be how the latter was
4417        encoded in MacRoman.)
4418       
4419        Handle U+<hex> syntax in NAME-CHAR.
4420
44212006-09-04 16:16  gb
4422
4423        * compiler/PPC/PPC64/ppc64-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
4424        and the char code with #xff to get the low byte.
4425
44262006-09-04 16:15  gb
4427
4428        * compiler/PPC/PPC32/ppc32-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
4429        and the char code with #xff or 255., not with #x255.  (Cause lots
4430        of wackiness, mostly in readtable initialization.)
4431
44322006-09-04 16:12  gb
4433
4434        * compiler/PPC/ppc2.lisp: Use u32->char (which is defined) vice
4435        u8->char (which is no more) in %CHAR-CODE.
4436
44372006-09-04 06:04  gb
4438
4439        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
4440        Gak.  Get guard/predicate syntax right in LOAD-CHARACTER-CONSTANT.
4441
44422006-09-04 06:03  gb
4443
4444        * level-0/PPC/ppc-array.lisp: New constants in ppc32 typecode range
4445        assertion.
4446
44472006-09-04 03:44  gb
4448
4449        * level-0/PPC/ppc-array.lisp: ppc32/ppc64 %init-misc tweaks.
4450
44512006-09-04 03:43  gb
4452
4453        * compiler/PPC/ppc-lapmacros.lisp: Typo in the (unused) 64-bit/no
4454        crf case of UNBOX-BASE-CHAR.
4455
44562006-09-04 02:30  gb
4457
4458        * level-1/l1-error-system.lisp: Object-not- (mod #x110000) type
4459        error.
4460
44612006-09-04 02:29  gb
4462
4463        * level-0/PPC/ppc-symbol.lisp: conditionalize %pname-hash for char
4464        size.
4465
44662006-09-04 02:26  gb
4467
4468        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s,
4469        ppc-constants64.h, ppc-constants64.s: Conditionalize for
4470        CHAR_SIZE_32.
4471
44722006-09-04 02:24  gb
4473
4474        * compiler/PPC/PPC32/ppc32-arch.lisp,
4475        compiler/PPC/PPC32/ppc32-vinsns.lisp,
4476        compiler/PPC/PPC64/ppc64-arch.lisp,
4477        compiler/PPC/PPC64/ppc64-vinsns.lisp, level-0/l0-array.lisp,
4478        level-0/l0-pred.lisp: Conditionalize for #-target-8-bit-chars.
4479
44802006-09-04 02:23  gb
4481
4482        * compiler/PPC/ppc2.lisp: Deal - sometimes conditionally - with
4483        32-bit characters.
4484
44852006-09-04 02:22  gb
4486
4487        * compiler/arch.lisp: ERROR-OBJECT-NOT-MOD-CHAR-CODE-LIMIT.
4488
44892006-09-03 16:03  gb
4490
4491        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
4492        conditionalize new string types.
4493
44942006-09-03 16:03  gb
4495
4496        * level-0/X86/x86-symbol.lisp: %pname-hash: conditionalize for
4497        string element size.
4498
44992006-09-03 16:02  gb
4500
4501        * compiler/X86/X8664/x8664-arch.lisp, level-0/l0-array.lisp,
4502        level-0/l0-pred.lisp: Sketch out new string types (read-time
4503        conditionalized.)
4504
45052006-09-03 15:02  gb
4506
4507        * level-0/l0-init.lisp: Put :target-8-bit-chars on *features*, for
4508        bootstrapping.
4509
45102006-09-03 14:20  gb
4511
4512        * level-1/l1-streams.lisp: More missing BASIC-STREAM methods.
4513
45142006-09-03 13:22  gb
4515
4516        * compiler/: X86/X8664/x8664-backend.lisp,
4517        PPC/PPC32/ppc32-backend.lisp, PPC/PPC64/ppc64-backend.lisp:
4518        :target-8-bit-chars on target features.
4519
45202006-09-03 13:21  gb
4521
4522        * level-0/l0-int.lisp: Some comments/indentation.
4523
45242006-09-03 13:01  gb
4525
4526        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Make
4527        CHAR-CODE-LIMIT an attribute of the target arch, for bootstrapping.
4528
45292006-09-02 11:24  gb
4530
4531        * level-1/x86-error-signal.lisp, lib/db-io.lisp: Fix typo.
4532
45332006-09-02 11:15  gb
4534
4535        * lisp-kernel/x86_print.c: hex/decimal integer printers: 3 is also
4536        a hex digit.
4537
45382006-09-02 11:11  gb
4539
4540        * lisp-kernel/x86-exceptions.c: Install a "bogus signal handler" on
4541        Darwin, to deal with apparent race conditions/Mach kernel lossage.
4542       
4543        Don't do the whole msg_server here; just do the exc_server thing.
4544       
4545        Fix a couple of Mach exception-handling bugs; at least one more may
4546        remain.
4547
45482006-09-02 11:07  gb
4549
4550        * lisp-kernel/x86-asmutils64.s: Use a hlt instruction to trap in
4551        pseudo_sigreturn.
4552       
4553        Still get spurious SIGTRAPs.
4554
45552006-09-02 11:06  gb
4556
4557        * lisp-kernel/thread_manager.c: Define some things in terms of
4558        USE_MACH_SEMAPHORES or USE_POSIX_SEMAPHORES.
4559       
4560        sem_wait_forever() does repeated timed waits, since I thought that
4561        Darwin was having trouble interrpting things that waited
4562        indefinitely.  (That might just be a GDB bug.  Who can tell ?)
4563
45642006-09-02 11:03  gb
4565
4566        * lisp-kernel/Threads.h: Define some things in terms of
4567        USE_MACH_SEMAPHORES or USE_POSIX_SEMAPHORES.  Note that as of Q3
4568        2006, Darwin still doesn't implement enough POSIX semaphore
4569        functionality to make it possible to avoid the use of Mach
4570        semaphores.
4571
45722006-09-02 11:01  gb
4573
4574        * lib/db-io.lisp:
4575        Try to avoid things like %COPY-IVECTOR-TO-IVECTOR when strings are
4576        involved.
4577
45782006-09-02 11:01  gb
4579
4580        * level-1/x86-threads-utils.lisp: Things that're %HEAP-IVECTOR-P
4581        aren't bogus objects.
4582
45832006-09-02 11:00  gb
4584
4585        * level-1/l1-streams.lisp: Try to avoid things like
4586        %COPY-IVECTOR-TO-IVECTOR when strings are involved.
4587
45882006-09-02 10:59  gb
4589
4590        * level-1/l1-events.lisp: AUTO-FLUSH-INTERACTIVE-STREAMS: use
4591        FORCE-OUTPUT.
4592
45932006-09-02 10:57  gb
4594
4595        * level-0/l0-misc.lisp: %COPY-U8-TO-STRING, %COPY-STRING-TO-U8:
4596        new, to avoid %COPY-IVECTOR-TO-IVECTOR when strings are involved.
4597       
4598        %STR-FROM-PTR: take dest string as optional arg, don't assume 8-bit
4599        chars.
4600       
4601        %GET-CSTRING: change type decl, use %GET-UNSIGNED-BYTE.
4602
46032006-09-02 10:55  gb
4604
4605        * level-0/l0-aprims.lisp: %CSTR-POINTER and %CSTR-SEGMENT-POINTER:
4606        don't assume 8-bit chars.
4607
46082006-08-28 17:35  gb
4609
4610        * lisp-kernel/ppc-spentry.s: Fix tag check in 32-bit
4611        misc_set_single_float_vector.
4612
46132006-08-28 17:01  gb
4614
4615        * xdump/faslenv.lisp: Bump max fasl version.
4616
46172006-08-28 16:48  gb
4618
4619        * lib/nfcomp.lisp: Use new string ops.  Bump current fasl version.
4620
46212006-08-28 16:33  gb
4622
4623        * xdump/faslenv.lisp: Bump (max) fasl version.
4624
46252006-08-28 16:30  gb
4626
4627        * xdump/xfasload.lisp: xloader was missing a few new ops.
4628
46292006-08-28 05:34  gb
4630
4631        * xdump/xfasload.lisp: New string stuff here, too.
4632
46332006-08-28 05:28  gb
4634
4635        * level-0/nfasload.lisp: New string stuff.
4636
46372006-08-28 04:57  gb
4638
4639        * level-1/l1-streams.lisp: More missing BASIC-STREAM methods
4640        (STREAM-LINE-COLUMN, STREAM-LISTEN, STREAM-EOFP.)
4641
46422006-08-28 04:57  gb
4643
4644        * level-1/l1-reader.lisp: Use READ-CHAR instead of
4645        STREAM-READ-CHAR, since it may be faster in some cases.
4646
46472006-08-28 04:56  gb
4648
4649        * level-1/l1-events.lisp: Unscramble auto-flush-streams stuff
4650        (don't assume ioblock-based stream.)
4651
46522006-08-28 04:55  gb
4653
4654        * level-1/l1-boot-2.lisp: Initial FD-STREAMs are BASIC-STREAMs.
4655
46562006-08-28 04:55  gb
4657
4658        * level-0/PPC/ppc-symbol.lisp: Change some REQUIRE forms; cosmetic.
4659         (Maybe not even cosmetic.)
4660
46612006-08-28 04:54  gb
4662
4663        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
4664        PPC64/ppc64-vinsns.lisp: %unbox-u8, u8-vref stuff.
4665
46662006-08-28 04:53  gb
4667
4668        * xdump/faslenv.lisp: New fasl ops for new string encodings.
4669
46702006-08-28 04:52  gb
4671
4672        * lib/macros.lisp: %CHAR-CODE: for how long has limit not been 2^16
4673        ?  For how long will limit be 2^8 ?
4674
46752006-08-28 04:51  gb
4676
4677        * level-0/nfasload.lisp: More fasl ops.
4678
46792006-08-28 04:51  gb
4680
4681        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: %UNBOX-U8,
4682        u8-vref stuff.
4683
46842006-08-28 04:50  gb
4685
4686        * compiler/arch.lisp: Add CHAR-CODE-LIMIT slot to TARGET-ARCH; may
4687        not be the best way to do this.
4688
46892006-08-26 13:58  gb
4690
4691        * release-notes.txt: Updated.
4692
46932006-08-26 13:50  gb
4694
4695        * release-notes.txt: Updated.
4696
46972006-08-26 13:50  gb
4698
4699        * darwin-x86-headers64/libc/.cvsignore: Added.
4700
47012006-08-26 03:17  gb
4702
4703        * level-1/version.lisp: Bump.  New snapshots soon, I hope.
4704
47052006-08-26 03:12  gb
4706
4707        * lisp-kernel/darwinx8664/Makefile: Pass -g in ASFLAGS; same
4708        problems as always, but avoids problems with Darwin x86-64 ld64
4709        segfaulting for unknown reasons.
4710
47112006-08-26 03:11  gb
4712
4713        * lisp-kernel/x86-exceptions.h: Need to do an explicit sigreturn on
4714        Darwin (because of the sigaltstack hacks; Darwin uses sigtramp glue
4715        that we can't just return to after switching off of the alt stack.)
4716
47172006-08-26 03:08  gb
4718
4719        * lib/numbers.lisp: Check fpu overflow bit (not underflow) when
4720        deciding whether or not to signal overflow.
4721
47222006-08-26 03:08  gb
4723
4724        * level-1/x86-trap-support.lisp: Need an indirection to access
4725        mcontext from ucontext on Darwin; invent xp-gp-regs to get at
4726        mcontext64.ss.
4727
47282006-08-26 03:06  gb
4729
4730        * level-1/x86-error-signal.lisp: Add a declaration, to make this
4731        easier to step through.
4732
47332006-08-26 03:05  gb
4734
4735        * level-0/l0-float.lisp: SINGLE-FLOAT-HALF-PI: use f0 not e0, just
4736        in case.
4737
47382006-08-25 20:35  gb
4739
4740        * level-1/l1-boot-lds.lisp, level-1/l1-events.lisp,
4741        lib/ccl-export-syms.lisp: Hyphenate ADD-AUTO-FLUSH-STREAM and
4742        REMOVE-AUTO-FLUSH-STREAM.
4743       
4744        Export them, too.
4745
47462006-08-25 20:22  gb
4747
4748        * lib/streams.lisp: READ-LINE on BASIC-INPUT-STREAM w/o
4749        STREAM-READ-LINE.
4750
47512006-08-25 20:22  gb
4752
4753        * lib/macros.lisp: HANDLER-CASE: the :NO-ERROR clause can appear at
4754        most once but doesn't have to be the last clause.
4755
47562006-08-25 20:21  gb
4757
4758        * level-1/l1-streams.lisp: BASIC-OUTPUT-STREAM isn't an
4759        INPUT-STREAM.
4760       
4761        Some STREAM-READ-LINE support for BASIC-CHARACTER-INPUT-STREAM.
4762
47632006-08-25 20:19  gb
4764
4765        * level-1/l1-readloop.lisp: PREPARE-TO-QUIT: other threads should
4766        be dead by the time that streams on *OPEN-FILE-STREAMS* are closed,
4767        so unlock those streams with extreme prejudice before closing them.
4768
47692006-08-25 20:18  gb
4770
4771        * level-1/l1-pathnames.lisp: FULL-PATHNAME: remove some weird old
4772        code that assumed that interfered with handling of relative logical
4773        pathnames.
4774
47752006-08-25 20:17  gb
4776
4777        * level-1/l1-events.lisp: Rename EVENT-POLL to
4778        AUTO-FLUSH-INTERACTIVE-STREAMS.
4779       
4780        Make AUTO-FLUSH-INTERACTIVE-STREAMS do conditional locking on each
4781        stream (doing nothing if it's not :SHARING :LOCK; unconditional
4782        locking on the *AUTO-FLUSH-STREAMS-LOCK*.
4783       
4784        ADD-AUTOFLUSH-STREAM ensures that the stream is :SHARING :LOCK.
4785       
4786        REMOVE-AUTOFLUSH-STREAM.
4787
47882006-08-25 20:13  gb
4789
4790        * level-1/l1-boot-lds.lisp: MAKE-MCL-LISTENER-STREAM uses
4791        ADD-AUTOFLUSH-STREAM, REMOVE-AUTOFLUSH-STREAM.
4792
47932006-08-23 22:59  gb
4794
4795        * lisp-kernel/x86-exceptions.c: Darwin needs to decode the mxcsr on
4796        SIGFPE.
4797       
4798        DARWIN_GS_HACK changes in altstack handlers for interrupt/suspend.
4799
48002006-08-23 22:58  gb
4801
4802        * lisp-kernel/x86-spentry64.s: x86-64 Darwin's math library is
4803        pretty casual about causing spurious exceptions, so ignore them.
4804
48052006-08-23 22:57  gb
4806
4807        * lisp-kernel/darwinx8664/.gdbinit: New file; like the linuxx8664
4808        version, with different signals to be ignored by gdb.
4809
48102006-08-23 22:56  gb
4811
4812        * lisp-kernel/x86-asmutils64.s: Using ud2b to force an exception in
4813        pseudo_sigreturn() seems to cause/be related to spurious SIGTRAPs.
4814        Use int $0 instead.
4815
48162006-08-23 22:55  gb
4817
4818        * level-1/x86-trap-support.lisp: First attempt at Darwinx8664
4819        support; may need more work.
4820
48212006-08-22 02:08  gb
4822
4823        * lisp-kernel/x86_print.c: Try not to use sprintf() (at least not
4824        for printing integers), since it seems to need access to pthread
4825        data (and calling print_lisp_object() from GDB might fail if %gs is
4826        pointing at the lisp TCR.)
4827
48282006-08-22 02:06  gb
4829
4830        * lisp-kernel/x86-spentry64.s: Unbox %arg_z (boxed entrypoint)
4831        earlier in _SPffcall, before entering foreign context.  (Need to
4832        check PPC version(s) as well.)
4833       
4834        Use DARWIN_GS_HACK to swap %gs memory around when transitioning
4835        between foreign code and lisp.
4836
48372006-08-22 02:04  gb
4838
4839        * lisp-kernel/x86-macros.s: Fix a typo.
4840
48412006-08-22 02:04  gb
4842
4843        * lisp-kernel/x86-exceptions.h: Define a few more things ...
4844
48452006-08-22 02:03  gb
4846
4847        * lisp-kernel/x86-exceptions.c: Lots of changes, especially to Mach
4848        exception handling code.
4849       
4850        Do the DARWIN_GS_HACK things to overload %gs.
4851
48522006-08-22 02:02  gb
4853
4854        * lisp-kernel/x86-asmutils64.s: atomic_and(), pseudo_sigreturn()
4855        for DarwinX8664.
4856
48572006-08-22 02:01  gb
4858
4859        * lisp-kernel/thread_manager.c: Some PPC64 conditionalizations
4860        should really have tested WORD_SIZE.
4861       
4862        DARWIN_GS_HACK stuff around suspend/resume signal handlers.  (May
4863        not be necessary.)
4864       
4865        Ensure that tcr.linear gets set on x86, even if not HAVE_TLS.
4866
48672006-08-22 01:59  gb
4868
4869        * lisp-kernel/pmcl-kernel.c: Don't really flush cache lines on
4870        x8664.
4871       
4872        Some PPC64 conditionalizations should really have tested WORD_SIZE.
4873
48742006-08-22 01:58  gb
4875
4876        * lisp-kernel/m4macros.m4: Define SYSCALL_SETS_CARRY_ON_ERROR for
4877        FreeBSDX664, DarwinX8664.
4878
48792006-08-22 01:57  gb
4880
4881        * lisp-kernel/darwinx8664/Makefile: Much smaller pagezero, much
4882        lower seg1addr.
4883       
4884        Something in the (m4-generated) symbolic info in some .s files is
4885        screwy and causes ld64 to segfault; it's currently necesssary to
4886        use "strip -S" on the assembler-generated .o files.
4887
48882006-08-22 01:55  gb
4889
4890        * scripts/openmcl64: Untested changes for Darwinx8664.
4891
48922006-08-22 01:54  gb
4893
4894        * xdump/xx8664-fasload.lisp: Fix typo in darwinx8664
4895        xload-backend-info (compiler target is :darwinx8664, not
4896        :linuxx8664).
4897
48982006-08-22 01:53  gb
4899
4900        * lib/nfcomp.lisp: Dump concatenated functions from xfunctions when
4901        cross-compiling to x86 from x86.
4902
49032006-08-22 01:52  gb
4904
4905        * lib/misc.lisp: MACHINE-VERSION:  conditionalize on :DARWIN-TARGET
4906        (not :DARWINPPC-TARGET).
4907
49082006-08-22 01:50  gb
4909
4910        * lib/foreign-types.lisp: :DARWIN-TARGET (not :DARWINPPC-TARGET).
4911
49122006-08-22 01:50  gb
4913
4914        * lib/compile-ccl.lisp: :DARWINX8664 stuff.
4915
49162006-08-22 01:49  gb
4917
4918        * level-1/version.lisp: Bump.
4919
49202006-08-22 01:49  gb
4921
4922        * level-1/l1-sysio.lisp: FILE-STREAM-EXTERNAL-FORMAT stuff for
4923        BASIC-STREAMs.
4924
49252006-08-22 01:48  gb
4926
4927        * level-1/: l1-sockets.lisp, linux-files.lisp: Conditionalize on
4928        DARWIN-TARGET, not DARWINPPC-TARGET.
4929
49302006-08-22 01:47  gb
4931
4932        * level-0/l0-init.lisp: DarwinX8664 *features*.
4933
49342006-08-22 01:47  gb
4935
4936        * level-0/l0-cfm-support.lisp: Some DARWINPPC-TARGET conditionals
4937        really want to be DARWIN-TARGET.
4938
49392006-08-22 01:46  gb
4940
4941        * compiler/X86/X8664/x8664-arch.lisp: YIELD-SYSCALL for
4942        DarwinX8664.
4943
49442006-08-22 01:45  gb
4945
4946        * compiler/X86/x862.lisp: Use CROSS-CREATE-X86-FUNCTION if not
4947        compiling natively.
4948       
4949        Fix X862-FIXUP-FWD-REFS if not native function on x86.
4950
49512006-08-22 01:44  gb
4952
4953        * compiler/X86/x86-lap.lisp: Ensure that CROSS-CREATE-X86-FUNCTION
4954        is defined, even on x86.  Use it if not compiling natively on x86.
4955
49562006-08-20 23:59  gb
4957
4958        * lisp-kernel/darwinx8664/Makefile: Define DARWIN_GS_HACK.
4959
49602006-08-20 23:58  gb
4961
4962        * lisp-kernel/x86-exceptions.c: Still needs lots of work.
4963
49642006-08-20 23:58  gb
4965
4966        * lisp-kernel/x86-exceptions.h: Include Mach stuff on Darwin;
4967        prototypes for DARWIN_GS_HACK %gs segment switching.
4968
49692006-08-20 23:57  gb
4970
4971        * lisp-kernel/x86-subprims64.s: Manipulate the %gs register when a
4972        lisp thread starts, exits and DARWIN_GS_HACK is defined.
4973       
4974        This isn't so bad, but doing it around every ff-call might be.
4975
49762006-08-20 23:56  gb
4977
4978        * lisp-kernel/x86-macros.s: DARWIN_GS_HACK macros.
4979
49802006-08-20 23:53  gb
4981
4982        * lisp-kernel/thread_manager.c: Note the need for DARWIN_GS_HACK.
4983
49842006-08-20 23:51  gb
4985
4986        * lisp-kernel/x86-asmutils64.s: DARWIN_GS_HACK hacks.
4987
49882006-08-20 23:51  gb
4989
4990        * lisp-kernel/m4macros.m4: Hope that the need for DARWIN_GS_HACK is
4991        also temporary.
4992
49932006-08-20 23:50  gb
4994
4995        * lisp-kernel/lisptypes.h: Hope that the workaround for missing
4996        mcontext64 in x8664 Darwin is temporary.
4997
49982006-08-20 20:35  gb
4999
5000        * library/darwinx664-syscalls.lisp: typo
5001
50022006-08-20 20:35  gb
5003
5004        * library/darwinx8664-syscalls.lisp: spell name right
5005
50062006-08-20 17:10  gb
5007
5008        * xdump/xx8664-fasload.lisp: :darwinx8664 stuff.
5009
50102006-08-20 17:10  gb
5011
5012        * lib/db-io.lisp: :struct-by-value: don't read-time conditionalize
5013        (do other things still use read-time conditionals ?)
5014
50152006-08-20 17:09  gb
5016
5017        * compiler/X86/X8664/x8664-backend.lisp: Darwinx8664: overload %gs,
5018        setup syscall mask.
5019
50202006-08-20 17:08  gb
5021
5022        * compiler/nx1.lisp: Handle syscall, ff-call for :darwinx8664 as
5023        well.
5024
50252006-08-20 17:06  gb
5026
5027        * library/darwinx664-syscalls.lisp: New file; or's in the bit for
5028        Unix syscalls on Darwinx8664.  (Screw: should (carefully) review
5029        word-size issues.)
5030
50312006-08-20 17:03  gb
5032
5033        * library/darwinppc-syscalls.lisp: Mask for PPC.
5034
50352006-08-20 17:02  gb
5036
5037        * level-0/l0-io.lisp, level-1/l1-sockets.lisp,
5038        level-1/linux-files.lisp: Syscall conditionalization.
5039
50402006-08-20 17:01  gb
5041
5042        * level-1/l1-streams.lisp: Syscall conditionalization.
5043       
5044        SELECTION-INPUT-STREAM created with :sharing :lock.
5045
50462006-08-20 17:00  gb
5047
5048        * examples/objc-runtime.lisp: Fencepost in
5049        POINTER-IN-CFSTRING-SECTION-P.
5050
50512006-08-20 16:16  gb
5052
5053        * library/: darwinppc-syscalls.lisp, darwin-syscalls.lisp: rename
5054
50552006-08-18 09:50  gb
5056
5057        * lisp-kernel/thread_manager.c: Enable FP underflow detection on
5058        x8664.  Should do this on PPC as well, and should probably offer
5059        some backward-compatible behavior for reader.
5060
50612006-08-18 09:47  gb
5062
5063        * compiler/X86/X8664/x8664-backend.lisp: Dress up the Darwin x86-64
5064        backend a little.
5065       
5066        Explicily define lisp-context-register slot in each backend (%gs
5067        for those imolementations that follow the standard ABI, %fs for
5068        Darwin.)
5069
50702006-08-18 09:44  gb
5071
5072        * compiler/X86/X8664/x8664-vinsns.lisp: Use :rcontext when
5073        necessary.
5074
50752006-08-18 09:43  gb
5076
5077        * compiler/X86/: x86-backend.lisp, x86-lap.lisp: Recognize
5078        :rcontext as a reference to the backend's LISP-CONTEXT-REGISTER
5079        slot.
5080
50812006-08-18 09:42  gb
5082
5083        * compiler/backend.lisp: Backend now has a lisp-context-register
5084        slot.
5085
50862006-08-18 09:42  gb
5087
5088        * compiler/X86/X8664/x8664-arch.lisp: No more (constant) rcontext.
5089
50902006-08-18 09:40  gb
5091
5092        * level-0/X86/: x86-def.lisp, x86-float.lisp, x86-io.lisp,
5093        x86-misc.lisp, x86-symbol.lisp, x86-utils.lisp: Refer to rcontext
5094        segment register as :rcontext, since x86-64 Darwin doesn't laugh
5095        and play like the other children.
5096
50972006-08-18 09:29  gb
5098
5099        * lisp-kernel/x86-exceptions.c: Copy some of the Mach exception
5100        code from the PPC version and tweak it a little; needs more work.
5101
51022006-08-18 09:27  gb
5103
5104        * lisp-kernel/x86-exceptions.h: Provide some interim Darwin
5105        conditionalization.
5106
51072006-08-18 09:25  gb
5108
5109        * lisp-kernel/m4macros.m4: Spell FREEBSD correctly.
5110       
5111        Generate an equate for HAVE_TLS.
5112
51132006-08-18 09:23  gb
5114
5115        * lisp-kernel/x86-gc.c: Changes in purify_xp().
5116
51172006-08-18 09:19  gb
5118
5119        * lisp-kernel/x86-spentry64.s: Darwin x86-64 assembler doesn't like
5120        absolute jumps, prefers slower ones.
5121       
5122        Move lock prefixes to their own lines, to satisfy you-know-who.
5123       
5124        If we don't have thread-local-storage (TLS), it's hard to avoid the
5125        get_tcr() call on each calback.
5126
51272006-08-18 09:13  gb
5128
5129        * lisp-kernel/: freebsdx8664/Makefile, linuxx8664/Makefile: Tell m4
5130        that we HAVE_TLS.
5131
51322006-08-17 10:41  phil
5133
5134        * examples/FFI/:
5135        Allocating-foreign-data-on-the-lisp-heap/ptrtest-compile.sh,
5136        Allocating-foreign-data-on-the-lisp-heap/ptrtest.c,
5137        Allocating-foreign-data-on-the-lisp-heap/ptrtest.lisp,
5138        Using-basic-calls-and-types/Readme.rtf,
5139        Using-basic-calls-and-types/typetest-compile.sh,
5140        Using-basic-calls-and-types/typetest.c,
5141        Using-basic-calls-and-types/typetest.lisp: Initial version
5142
51432006-08-17 10:40  phil
5144
5145        * examples/FFI/Allocating-foreign-data-on-the-lisp-heap/Readme.rtf:
5146        [no log message]
5147
51482006-08-08 13:07  gb
5149
5150        * lisp-kernel/darwinx8664/Makefile: New file.
5151
51522006-08-08 13:07  gb
5153
5154        * lisp-kernel/x86-exceptions.h: xp accessors for Darwinx8664.
5155
51562006-08-08 13:06  gb
5157
5158        * lisp-kernel/x86-constants64.h: REG_* constants for Darwin.
5159
51602006-08-08 13:05  gb
5161
5162        * lisp-kernel/x86-asmutils64.s: Darwin assembler doesn't like lock
5163        instructions on the same line as the locked instruction.  (Maybe
5164        there's a better way to do this, than just pretending that lock is
5165        a standalone instruction, but that lock instruction does seem to be
5166        treated as a prefix.)
5167
51682006-08-08 13:03  gb
5169
5170        * lisp-kernel/pmcl-kernel.c: Treat X8664 like PPC64 (e.g., use
5171        dlfcn) on Darwin.
5172
51732006-08-08 13:02  gb
5174
5175        * lisp-kernel/lisptypes.h: xcode 2.4 headers: <i386/ucontext.h>
5176        doesn't define mcontext64, but lots of other things reference it.
5177        #define it here for now, but that'll likely break when the headers
5178        are fixed.
5179
51802006-08-08 12:58  gb
5181
5182        * lisp-kernel/lisp-debug.c: Define Iregnames for darwinx8664.
5183
51842006-08-08 12:58  gb
5185
5186        * lisp-kernel/area.h: Define an IMAGE_BASE_ADDRESS for
5187        x8664/Darwin.
5188
51892006-07-29 08:41  gb
5190
5191        * level-1/l1-streams.lisp: STREAM-WRITE-BYTE, STREAM-WRITE-IVECTOR.
5192         :BASIC defaults to T in OPEN; BASIC-FILE-STREAM probably still
5193        needs READ/WRITE- SEQUENCE support.
5194
51952006-07-29 07:39  gb
5196
5197        * level-1/l1-aprims.lisp: ALLOCATE-RESOURCE, FREE-RESOURCE: use
5198        lock.  TODO: evaluate whether resources are worthwhile;  used for
5199        string-output-stream allocation and DELETE-DUPLICATES.
5200
52012006-07-29 06:27  gb
5202
5203        * library/lispequ.lisp: Resources aren't thread-private, need
5204        locks.
5205
52062006-07-29 06:26  gb
5207
5208        * level-1/l1-sysio.lisp: MAKE-FILE-STREAM: support for
5209        BASIC-STREAMs.
5210
52112006-07-29 06:26  gb
5212
5213        * level-1/l1-streams.lisp: OPEN handles BASIC-STREAMs; not yet the
5214        default.
5215
52162006-07-29 06:25  gb
5217
5218        * level-1/l1-reader.lisp: *PARSE-STRING-RESOURCE* probably hasn't
5219        been used in 10 or 12 years.
5220
52212006-07-29 03:40  gb
5222
5223        * level-1/l1-sysio.lisp: Most BASIC-FILE-STREAM stuff.
5224
52252006-07-29 03:40  gb
5226
5227        * library/lispequ.lisp: BASIC-FILE-STREAM.EXTERNAL-FORMAT, at least
5228        for now.
5229
52302006-07-29 03:39  gb
5231
5232        * level-1/l1-streams.lisp: BASIC-IO-STREAM; ALLOCATE-BASIC-STREAM
5233        makes one more slot in BASIC-FILE-STREAM.
5234
52352006-07-28 04:17  gb
5236
5237        * level-1/version.lisp: Bump.
5238
52392006-07-28 04:15  gb
5240
5241        * level-1/l1-streams.lisp: A couple of more (soon-to-be-used) slots
5242        in IOBLOCK.
5243
52442006-07-28 01:17  gb
5245
5246        * level-1/l1-streams.lisp: Lots of changes; lots more to go.
5247
52482006-07-28 01:16  gb
5249
5250        * level-1/l1-sockets.lisp: Pass :CHARACTER-P T to MAKE-FD-STREAM.
5251
52522006-07-28 00:58  gb
5253
5254        * examples/cocoa-listener.lisp: Want :SHARING :LOCK on listener
5255        output.
5256       
5257        (SLIME probably faces the same issue; should probably do something
5258        in the auto-flush case.  Of course, it's hard to know just what to
5259        do in that case. or at least what to do safely in that case.)
5260
52612006-07-28 00:49  gb
5262
5263        * level-1/l1-sysio.lisp: Define SELECT-STREAM-CLASS on
5264        FUNDAMENTAL-FILE-STREAM.
5265
52662006-07-28 00:49  gb
5267
5268        * lib/streams.lisp: READ-BYTE for BASIC-STREAMs.
5269
52702006-07-28 00:48  gb
5271
5272        * library/lispequ.lisp: Need an explicit
5273        BASIC-STREAM-FLAG.OPEN-CHARACTER bit, due to bivalence.
5274
52752006-07-28 00:47  gb
5276
5277        * lib/macros.lisp: BASIC-STREAM-IOBLOCK.
5278
52792006-07-25 03:48  gb
5280
5281        * compiler/optimizers.lisp: Compiler-macro for BASIC-STREAM-P.
5282
52832006-07-24 04:55  gb
5284
5285        * lib/streams.lisp: READ-CHAR bypasses STREAM-READ-CHAR for
5286        BASIC-STREAMs.
5287
52882006-07-24 04:55  gb
5289
5290        * level-1/l1-streams.lisp: Some BASIC-STREAM stuff starts to
5291        appear.
5292
52932006-07-24 04:51  gb
5294
5295        * library/lispequ.lisp: Add a plist to basic-/basic-file-stream.
5296
52972006-07-24 02:43  gb
5298
5299        * level-1/l1-sysio.lisp: FILE-STREAM is now abstract (and some
5300        sublasses may get that way); FUNDAMENTAL-FILE-STREAM is an
5301        implementation of it (and BASIC-FILE-STREAM soon will be.)
5302
53032006-07-23 03:05  gb
5304
5305        * level-1/l1-clos-boot.lisp: *class-table* entry for BASIC-STREAM.
5306
53072006-07-23 03:03  gb
5308
5309        * level-1/l1-streams.lisp: STREAM-IOBLOCK now takes 2 required args
5310        and is inlined.
5311       
5312        Some bug fixes; STREAM class no longer has slots.
5313       
5314        IOBLOCK-READ-CHAR-FUNCTION used by READ-CHAR.  %ioblock-read-byte
5315        variants; fix read-byte botch (should vector according to
5316        element-type.)
5317
53182006-07-23 02:54  gb
5319
5320        * level-1/: linux-files.lisp, l1-sysio.lisp, l1-sockets.lisp:
5321        STREAM-IOBLOCK now takes 2 required args.
5322
53232006-07-23 02:54  gb
5324
5325        * level-1/version.lisp: Bump.
5326
53272006-07-23 02:53  gb
5328
5329        * library/lispequ.lisp: Start to define what a BASIC-STREAM looks
5330        like.
5331
53322006-07-23 02:53  gb
5333
5334        * lib/macros.lisp: Move stream-ioblock access/locking macros here.
5335       
5336        Likewise WITH-EAGAIN.
5337
53382006-07-23 01:12  gb
5339
5340        * level-1/: l1-sysio.lisp, l1-streams.lisp, l1-boot-2.lisp,
5341        l1-sockets.lisp: Fix a few botches.
5342       
5343        :private arg to stream creation primitives replaced with :sharing,
5344        which can have values:
5345       
5346         :private (the default; stream can only be accessed by the creating
5347        thread)
5348         :lock  (the old, often slow, default); most accesses to stream
5349        involve locking
5350         :nil or :external (stream code doesn't enforce exclusion).
5351
53522006-07-22 23:57  gb
5353
5354        * level-1/l1-streams.lisp: Bootstrapping stuff.
5355       
5356        Move along, nothing to see here.
5357
53582006-07-20 03:43  gb
5359
5360        * level-1/: l1-boot-2.lisp, l1-sockets.lisp, l1-streams.lisp,
5361        l1-sysio.lisp: First (rough) cut at making streams "private"
5362        (effectively always locked by the "owning" thread) to reduce some
5363        locking overhead.  More to come, some of which will be a little
5364        tricky to bootstrap.
5365
53662006-07-20 01:09  gb
5367
5368        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s,
5369        ppc-constants64.h, ppc-constants64.s, x86-constants64.h,
5370        x86-constants64.s: subtag_lisp_thread -> subtag_basic_stream.
5371
53722006-07-20 01:09  gb
5373
5374        * library/lispequ.lisp: new (istruct-based) LISP-THREAD accessors.
5375
53762006-07-20 01:08  gb
5377
5378        * level-1/version.lisp: Bump.
5379
53802006-07-20 01:07  gb
5381
5382        * level-1/l1-streams.lisp: Introduce "owner" slot in basic ioblock.
5383         A little tricky to bootstrap.
5384
53852006-07-20 01:05  gb
5386
5387        * level-0/l0-misc.lisp, level-1/l1-processes.lisp,
5388        level-1/l1-clos-boot.lisp, level-1/l1-lisp-threads.lisp: Use new
5389        (istruct-based) lisp-thread accessors.
5390
53912006-07-20 01:02  gb
5392
5393        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
5394        X86/X8664/x8664-arch.lisp: Get rid of the lisp-thread subtag
5395        (lisp-thread's are ISTRUCTs now); re-use it for (to-be-introduced)
5396        BASIC-STREAM.
5397
53982006-07-15 15:02  gb
5399
5400        * level-1/l1-error-system.lisp: Insert some fresh lines in the
5401        IMPOSSIBLE-NUMBER condition :REPORT method.
5402
54032006-07-15 15:00  gb
5404
5405        * compiler/X86/x862.lisp: x862-%aref1,x862-%aset1: don't try to do
5406        simple vector operations unless we're sure that the vector is a
5407        (SIMPLE-ARRAY * (*)) and we know the element-type (these were
5408        leaping into the simple-typed-vector case when the element-type was
5409        known but the vector wasn't known to be SIMPLE.
5410
54112006-07-14 05:57  gb
5412
5413        * compiler/nx0.lisp: NX-FORM-TYPEP: unqoute constants.
5414
54152006-07-13 16:01  gb
5416
5417        * level-1/l1-typesys.lisp: SPECIALIZED-ARRAY-ELEMENT-TYPES needs to
5418        know about FIXNUM arrays.
5419
54202006-07-11 14:23  gb
5421
5422        * compiler/X86/x862.lisp: Destination and 1st source arg overlap
5423        (2-address instructions) in natural logical, arithmetic operations.
5424
54252006-07-05 02:38  gb
5426
5427        * release-notes.txt: Update.
5428
54292006-07-05 02:22  gb
5430
5431        * level-0/l0-init.lisp: Reluctantly put :MCL back on *features*;
5432        its removal needs to be better publicized.
5433
54342006-07-04 22:24  gb
5435
5436        * level-1/linux-files.lisp: Use NATIVE-TRANSLATED-NAMESTRING on the
5437        PROGRAM arg to RUN-PROGRAM.
5438
54392006-07-04 22:23  gb
5440
5441        * level-1/version.lisp: Bump.
5442
54432006-06-29 02:11  gb
5444
5445        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump
5446        image-abi-version.
5447
54482006-06-28 05:24  gb
5449
5450        * level-0/l0-cfm-support.lisp: *rtld-default* wants to be a null
5451        pointer on DarwinPPC32 (at the very least, that platform's
5452        xFindSymbol gets confused by anything but a null pointer/global
5453        lookup.)
5454
54552006-06-28 05:09  gb
5456
5457        * level-1/version.lisp: Bump.  Call the FreeBSD/AMD64 version
5458        "Alpha", which may be a bit generous (pretty regular deadlock,
5459        random thread creation errors, other bugs.)
5460
54612006-06-28 05:07  gb
5462
5463        * lisp-kernel/freebsdx8664/.gdbinit: new; awfully similar to linux
5464        x86-64 version.
5465
54662006-06-28 04:04  gb
5467
5468        * lisp-kernel/x86-exceptions.c: FreeBSD doesn't do a good job of
5469        identifying the cause of XMM FP exceptions.  Try to do that by
5470        looking at MXCSR bits.
5471
54722006-06-28 04:03  gb
5473
5474        * lisp-kernel/x86-spentry64.s: FreeBSD syscalls set carry flag to
5475        indicate error return.
5476
54772006-06-28 04:03  gb
5478
5479        * level-1/: l1-sockets.lisp, linux-files.lisp,
5480        x86-trap-support.lisp: Some FreeBSD changes/fixes.
5481
54822006-06-28 04:02  gb
5483
5484        * level-0/l0-cfm-support.lisp: Remove a #+freebsd-target
5485        breakpoint.
5486
54872006-06-27 18:08  gb
5488
5489        * level-0/l0-cfm-support.lisp: fix (?) nested #+/#-.  Maybe.
5490
54912006-06-27 17:30  gb
5492
5493        * lisp-kernel/x86-exceptions.h: Fix Linux def of IS_MAYBE_INT_TRAP.
5494
54952006-06-27 17:27  gb
5496
5497        * lisp-kernel/pmcl-kernel.c: (possibly) make get_r_debug more
5498        portable; possibly break it completely ...
5499
55002006-06-27 08:55  gb
5501
5502        * lisp-kernel/x86-exceptions.c: map the altstack
5503        read/write/execute.
5504
55052006-06-27 08:54  gb
5506
5507        * lisp-kernel/thread_manager.c: Fix os_get_stack_bounds() for
5508        FreeBSD.
5509
55102006-06-27 08:54  gb
5511
5512        * lisp-kernel/Threads.h: FreeBSD needs prototypes from
5513        <pthread_np.h>
5514
55152006-06-27 08:53  gb
5516
5517        * lib/compile-ccl.lisp: New (renamed) kernel-build-direcory for
5518        :freebsdx8664.
5519
55202006-06-27 08:53  gb
5521
5522        * level-1/x86-trap-support.lisp: freebsd x8664 GPR indices.  (Needs
5523        testing.)
5524       
5525        Don't conditionalize as much code. Indices/offsets are
5526        platform-specific, but accessors defiend in terms of them needn't
5527        be.
5528
55292006-06-27 08:51  gb
5530
5531        * level-1/x86-callback-support.lisp: Remove 1st line (bogus
5532        comment.)
5533
55342006-06-27 08:50  gb
5535
5536        * level-0/l0-init.lisp: More freebsd x8664 features.
5537
55382006-06-27 08:50  gb
5539
5540        * scripts/openmcl64: Update for FreeBSD/amd64.
5541
55422006-06-27 08:47  gb
5543
5544        * compiler/X86/X8664/x8664-backend.lisp: FreeBSD backend has
5545        :freebsdx8664-target as a target-specific-feature.
5546
55472006-06-27 05:05  gb
5548
5549        * lisp-kernel/: freebsdx8664/Makefile, freebsd8664/Makefile,
5550        freebsd8664/elf_x86_64.x: directory rename
5551
55522006-06-27 04:59  gb
5553
5554        * xdump/xx8664-fasload.lisp: FreeBSD xload-backend.
5555
55562006-06-27 04:47  gb
5557
5558        * lisp-kernel/x86-exceptions.h: Some macros for FreeBSD changes.
5559
55602006-06-27 04:46  gb
5561
5562        * lisp-kernel/x86-exceptions.c: FreeBSD changes (at least enough to
5563        recognize UUOs, which generate SIGBUS vice SIGSEGV.)
5564
55652006-06-27 04:45  gb
5566
5567        * lisp-kernel/x86-asmutils64.s: Define freebsd_sigreturn.
5568       
5569        TODO (maybe): copy the sigtramp code when evacuating the altstack.
5570
55712006-06-27 04:44  gb
5572
5573        * lisp-kernel/thread_manager.c: FreeBSD sigreturn from
5574        suspend_resume_handler.
5575
55762006-06-27 04:44  gb
5577
5578        * lisp-kernel/pmcl-kernel.c: Some FreeBSD conditionalization;
5579        get_r_debug() for ELF platforms.  (Needs testing under Linux.)
5580
55812006-06-27 04:43  gb
5582
5583        * lisp-kernel/imports.s: Don't import metering-control; do import
5584        get_r_debug().
5585
55862006-06-27 04:42  gb
5587
5588        * library/x8664-freebsd-syscalls.lisp: New file.  Should check
5589        word-size stuff (here and in other versions.)
5590
55912006-06-27 04:42  gb
5592
5593        * lib/misc.lisp: Find MACHINE-VERSION string via #_sysctl on
5594        FreeBSD.
5595
55962006-06-27 04:39  gb
5597
5598        * lib/foreign-types.lisp: Signed char nonsense (should use target
5599        ftd, not reader macros here.)
5600
56012006-06-27 04:38  gb
5602
5603        * lib/compile-ccl.lisp: Some FreeBSD support.
5604
56052006-06-27 04:36  gb
5606
5607        * level-1/: l1-sockets.lisp, l1-streams.lisp, linux-files.lisp:
5608        Some FreeBSD changes/conditionalization. Maybe not enough.
5609
56102006-06-27 04:35  gb
5611
5612        * level-1/l1-boot-1.lisp: Recognize FREEBSD platform-os-name.
5613
56142006-06-27 04:34  gb
5615
5616        * level-0/X86/: .cvsignore, X8664/.cvsignore: Ignore *fsl.
5617
56182006-06-27 04:34  gb
5619
5620        * level-0/l0-io.lisp: FreeBSD syscalls.
5621
56222006-06-27 04:33  gb
5623
5624        * level-0/l0-init.lisp: Some FreeBSD features.
5625
56262006-06-27 04:33  gb
5627
5628        * level-0/l0-cfm-support.lisp: Lots of FreeBSD conditionalization,
5629        changes.
5630       
5631        MAY HAVE BROKEN LINUX PORTS; need to recompile on those platforms
5632        and test.
5633       
5634        Now depends on an imported lisp-kernel function on ELF platforms
5635        (Linux/FreeBSD), and therefore depends on recent kernel changes.
5636
56372006-06-27 04:30  gb
5638
5639        * level-0/.cvsignore: Ignore *fsl.
5640
56412006-06-27 04:29  gb
5642
5643        * compiler/X86/X8664/x8664-backend.lisp: Fix platform-syscall-mask
5644        in freebsd backend.
5645
56462006-06-27 04:27  gb
5647
5648        * compiler/X86/X8664/x8664-arch.lisp: Don't import
5649        metering-control; do import get-r-debug (for Elf shared libraries.)
5650       
5651        A yield-syscall constant for FreeBSD. (This is all a bad idea ...)
5652
56532006-06-27 04:26  gb
5654
5655        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp:
5656        Don't import metering-control; do import get-r-debug (for Elf
5657        shared libraries.)
5658
56592006-06-27 04:26  gb
5660
5661        * compiler/nx1.lisp: Use the non-eabi syscall on freebsd as well.
5662
56632006-06-26 16:38  gb
5664
5665        * compiler/X86/X8664/x8664-vinsns.lisp:
5666        SET-BIGITS-AND-HEADER-FOR-FIXNUM-OVERFLOW: need to change the
5667        (wrong) sign of the top 3 (fixnumshift) bits only.  Where did the
5668        constant #xffff000000000000 come from ?
5669
56702006-06-26 16:35  gb
5671
5672        * compiler/X86/x862.lisp: Fix some indentation.
5673
56742006-06-25 20:32  gb
5675
5676        * compiler/X86/X8664/x8664-backend.lisp: FreeBSD x8664 backend;
5677        change initialiation of x8664 foreign-type stuff.
5678
56792006-06-25 20:31  gb
5680
5681        * compiler/backend.lisp: PLATFORM-OS-FREEBSD.
5682
56832006-06-23 19:52  gb
5684
5685        * darwin-headers/: gl/C/.cvsignore, libc/C/.cvsignore,
5686        quicktime/C/.cvsignore: Ignore Developer subdirectory.  c
5687
56882006-06-23 19:28  gb
5689
5690        * release-notes.txt: Update some.
5691
56922006-06-23 19:11  gb
5693
5694        * examples/gtk2-clock.lisp: New file.
5695
56962006-06-23 18:56  gb
5697
5698        * level-1/version.lisp: Bump.
5699
57002006-06-23 18:52  gb
5701
5702        * lib/ccl-export-syms.lisp: Export DEFLOADVAR.
5703
57042006-06-22 13:39  gb
5705
5706        * x86-headers64/gnome2/C/.cvsignore: new
5707
57082006-06-22 13:36  gb
5709
5710        * x86-headers64/: gl/C/.cvsignore, gnome2/C/populate.sh: new
5711
57122006-06-22 13:33  gb
5713
5714        * x86-headers64/: gl/.cvsignore, gl/C/populate.sh,
5715        gnome2/.cvsignore: new
5716
57172006-06-22 13:30  gb
5718
5719        * examples/opengl-ffi.lisp: #+linuxppc-target -> #+linux-target.
5720
57212006-06-22 13:28  gb
5722
5723        * level-1/version.lisp: Bump.
5724
57252006-06-21 15:15  gb
5726
5727        * lisp-kernel/: ppc-constants64.h, ppc-constants64.s,
5728        ppc-spentry.s: Define new string subtags; handle them in ppc64
5729        misc_ref/misc_set.
5730
57312006-06-21 15:14  gb
5732
5733        * level-0/PPC/ppc-array.lisp: Fix %INIT-MISC (both ppc2 and ppc64
5734        versions) to handle FIXNUM vectors, new UCS4 strings.
5735
57362006-06-21 15:14  gb
5737
5738        * level-0/l0-array.lisp: Fix %INIT-MISC (bot ppc2 and ppc64
5739        versions) to handle FIXNUM vectors, new UCS4 strings.
5740
57412006-06-21 15:12  gb
5742
5743        * darwin-headers/: carbon/C/populate.sh, cocoa/C/populate.sh,
5744        gl/C/populate.sh, libc/C/populate.sh, quicktime/C/populate.sh,
5745        webkit/C/populate.sh: Use 10.4u headers from XCode SDK.
5746
57472006-06-21 15:11  gb
5748
5749        * compiler/PPC/PPC64/ppc64-arch.lisp: Add SUBTAG-NEW-STRING.
5750
57512006-06-21 15:11  gb
5752
5753        * compiler/PPC/PPC32/ppc32-arch.lisp: MAX-32-BIT-IVECTOR-SUBTAG
5754        wasn't updated with the introduction of fixnum vectors, (unused)
5755        UCS4 "new"strings.
5756
57572006-06-16 03:50  gb
5758
5759        * examples/objc-support.lisp: Re-compute static NSString info after
5760        opening an extension framework.
5761
57622006-06-16 03:45  gb
5763
5764        * examples/webkit.lisp: Use new functions for augmenting
5765        interfaces, loading framework.
5766
57672006-06-16 03:43  gb
5768
5769        * examples/objc-runtime.lisp: Juggle things around so that add-on
5770        framework bundles get loaded on appication re-launch.
5771       
5772        REVIVE-OBJC-CLASSES tells MAP-OBJC-CLASSES not to hit the database,
5773        since (a) it may not be there, or may not be where we can find it
5774        yet and (b) it's probably more reasonable to do that than it would
5775        be to teach CLOS about classes that're "discovered" when the
5776        appication's launched on a newer OS release than it was saved on.
5777
57782006-06-16 03:39  gb
5779
5780        * examples/cocoa-application.lisp: Touch tha application bundle
5781        before saving an image into it.  That -may- convincve
5782        LaunchServices to do the right thing.
5783
57842006-06-16 03:38  gb
5785
5786        * examples/objc-support.lisp: Reload any addon/framework bundles
5787        that had been loaded before the image was saved when starting a
5788        bundled application.
5789       
5790        Juggle things around, so that that works (need to be able to use
5791        low-level bridge features early.)
5792
57932006-06-16 03:36  gb
5794
5795        * lib/db-io.lisp: Disable the #? reader macro.
5796
57972006-06-14 15:42  gb
5798
5799        * level-0/: PPC/ppc-def.lisp, X86/x86-def.lisp: Fix #+APPLY+
5800        lfun-bits.
5801
58022006-06-12 20:24  gb
5803
5804        * lib/ppc-backtrace.lisp: PPC version of
5805        %find-register-argument-value had the same sort of fencepost as the
5806        x86-64 version had a few days ago.
5807
58082006-06-10 23:52  gb
5809
5810        * lib/arglist.lisp: %ARGLIST-INTERNAL: if generic-function, return
5811        its GENERIC-FUNCTION-LAMBDA-LIST.
5812
58132006-06-10 23:51  gb
5814
5815        * level-1/l1-clos.lisp: Give reader/writer method args more
5816        descriptive names. (Barely more descriptive ...)
5817
58182006-06-10 19:25  gb
5819
5820        * level-1/l1-clos-boot.lisp: Arrgh.  In
5821        %MAYBE-STD-SETF-SLOT-VALUE-USING-CLASS, we know nothing about the
5822        type of the instance, so don't use INSTANCE.SLOTS (instead, let
5823        INSTANCE-SLOTS do a TYPECASE; it's inlined at this point.)
5824       
5825        This was keeping non-standard instances - like ObjC classes and
5826        metaclasses - from having some of their slots initialized
5827        correctly.
5828
58292006-06-10 19:22  gb
5830
5831        * examples/objc-clos.lisp: PRINT-OBJECT methods for objc-class,
5832        objc-metaclass: don't die if the class is unnamed (makes it easier
5833        to print classes for debugging during initialization.)
5834
58352006-06-10 13:05  gb
5836
5837        * level-1/ppc-trap-support.lisp: Fix LinuxPPC64 versions of
5838        XP-FPSCR-INFO and XP-DOUBLE-FLOAT.
5839
58402006-06-08 05:01  gb
5841
5842        * release-notes.txt: Update a bit.
5843
58442006-06-08 03:56  gb
5845
5846        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump
5847        image-abi-version.
5848
58492006-06-08 03:46  gb
5850
5851        * xdump/faslenv.lisp: Bump (min) fasl version.
5852
58532006-06-08 03:35  gb
5854
5855        * lib/nfcomp.lisp: Bump (current) fasl-version.
5856
58572006-06-08 03:28  gb
5858
5859        * lisp-kernel/linuxx8664/Makefile: -O2.
5860
58612006-06-08 03:26  gb
5862
5863        * xdump/faslenv.lisp: Bump (max) fasl version.
5864
58652006-06-08 03:18  gb
5866
5867        * level-1/version.lisp: Bump; give x86-64 port the benefit of the
5868        doubt and claim that it's a beta.
5869
58702006-06-08 03:18  gb
5871
5872        * lisp-kernel/darwinppc64/Makefile: Enable -O2.
5873
58742006-06-08 03:17  gb
5875
5876        * lisp-kernel/darwinppc/Makefile: Some commented-out debugging
5877        options; enable -O2.
5878
58792006-06-08 02:55  gb
5880
5881        * lisp-kernel/x86-exceptions.c: thread_signal_setup() moved here.
5882        Handle suspend (and maybe someday resume, again) signals on the
5883        altstack, since we don't really want a signal context in the middle
5884        of the tagged lisp stack ...
5885
58862006-06-08 02:52  gb
5887
5888        * lisp-kernel/thread_manager.c: thread_signal_setup() moved to
5889        PLATFORM-exceptions.c; some constants/prototypes moved to
5890        Threads.h.
5891
58922006-06-08 02:51  gb
5893
5894        * lisp-kernel/ppc-exceptions.c: suspend_resume_handler() installed
5895        via install_signal_handler(); thread_signal_setup() moved here, to
5896        do that installation.
5897
58982006-06-08 02:50  gb
5899
5900        * lisp-kernel/pmcl-kernel.c: Don't enable_fp_exceptions() twice.
5901       
5902        Don't call (or define) prepare_for_the_worst(), which is kind of
5903        too bad ...
5904
59052006-06-08 02:49  gb
5906
5907        * lisp-kernel/Threads.h: suspend/resume constants, prototypes.
5908
59092006-06-08 01:11  gb
5910
5911        * level-1/l1-files.lisp: Back out of ill-advised changed to %LOAD;
5912        let OPTIMIZE proclamations persist beyond the LOAD.
5913
59142006-06-07 21:45  gb
5915
5916        * lisp-kernel/x86-subprims64.s: No nore %tsp/%Rnext_tsp.
5917
59182006-06-07 21:38  gb
5919
5920        * lisp-kernel/x86-spentry64.s: Don't maintain current/next tsp in
5921        MMX regs.  Do maintain them in TCR.
5922
59232006-06-07 21:37  gb
5924
5925        * lisp-kernel/x86-macros.s: Don't maintain %tsp when stack-consing;
5926        update (decrement) tcr.next_tsp atomically, use %stack_temp as a
5927        temporary (old tsp), finish frame by storing into tcr.save_tsp.
5928
59292006-06-07 21:34  gb
5930
5931        * lisp-kernel/x86-exceptions.c: tsp is in the TCR now.
5932
59332006-06-07 21:33  gb
5934
5935        * lisp-kernel/x86-constants64.s: No more %tsp, %Rnext_tsp.  Define
5936        %stack_temp.
5937
59382006-06-07 21:32  gb
5939
5940        * lisp-kernel/x86-constants64.h: No more Itsp, Inext_tsp.
5941
59422006-06-07 21:30  gb
5943
5944        * level-0/X86/x86-def.lisp: %CURRENT-TSP: the tsp is in the TCR
5945        now.
5946
59472006-06-07 21:30  gb
5948
5949        * compiler/X86/X8664/x8664-vinsns.lisp: Don't try to maintain %tsp
5950        (since it no longer exists ...).  Use %stack-temp in some cases.
5951
59522006-06-07 21:29  gb
5953
5954        * compiler/X86/X8664/x8664-arch.lisp: No more %tsp or %next-tsp.
5955        %stack-temp is a symbolic name for an MMX register that can be used
5956        for (e.g.) linking frames on the temp/foreign stacks (or for any
5957        other purpose ...)
5958
59592006-06-07 15:29  gb
5960
5961        * compiler/X86/X8664/x8664-vinsns.lisp: No more %Rforeign_sp.  Keep
5962        tcr.next_tsp in sync with %next_tsp Check to ensure that
5963        %tsp,tcr.save_tsp,and tcr.next_tsp all have the same value when
5964        allocating on the temp stack.  (This will soon change, so that %tsp
5965        and %next_tsp will not be canonical and the tcr fields are, then
5966        will change so that %tsp and %next_tsp will cease to exist.)
5967
59682006-06-07 15:25  gb
5969
5970        * lisp-kernel/x86-subprims64.s: No more %Rforeign_sp.
5971
59722006-06-07 15:25  gb
5973
5974        * lisp-kernel/: x86-macros.s, x86-spentry64.s: Keep tcr.next_tsp in
5975        sync with %Rnext_tsp.  No more %Rforeign_sp, but we can use %mm5 as
5976        a temporary.
5977
59782006-06-07 15:23  gb
5979
5980        * lisp-kernel/x86-exceptions.c: Find the foreign RSP from the TCR;
5981        don't need FP regs for this.  (They're sometimes invalid and
5982        sometimes missing, which is the point of recent changes.)
5983
59842006-06-07 15:21  gb
5985
5986        * lisp-kernel/x86-constants64.s: No foreign_sp.  Rename %next_tsp
5987        to %Rnext_tsp to avoid potential m4 lossage.
5988
59892006-06-07 15:20  gb
5990
5991        * lisp-kernel/x86-constants64.h: No Iforeign_sp.
5992
59932006-06-07 15:20  gb
5994
5995        * lisp-kernel/thread_manager.c: Initialize tcr->next_tsp on X86.
5996
59972006-06-07 15:19  gb
5998
5999        * level-1/version.lisp: Bump.
6000
60012006-06-07 15:19  gb
6002
6003        * level-0/X86/x86-def.lisp: Get foreign-sp from the TCR.
6004
60052006-06-07 15:18  gb
6006
6007        * compiler/X86/X8664/x8664-arch.lisp: More bootstrapping: no more
6008        foreign-sp register (though some code still uses %mm5 as a
6009        temporary, the "canonical" foreign SP is maintained in the TCR.)
6010
60112006-06-07 04:52  gb
6012
6013        * lisp-kernel/x86-macros.s: When making a catch/unwind-protect
6014        frame, get the foreign SP out of the TCR.
6015
60162006-06-07 04:52  gb
6017
6018        * compiler/X86/X8664/x8664-vinsns.lisp,
6019        lisp-kernel/x86-spentry64.s: More bootstrapping: continue to
6020        maintain the foreign sp in both the TCR and the MMX register, but
6021        consider the TCR version to be canonical.
6022
60232006-06-07 02:46  gb
6024
6025        * compiler/X86/X8664/x8664-vinsns.lisp: More bootstrapping: if the
6026        %tsp MMX register doesn't match the value in the tcr, trap.
6027        Likewise for %foreign-sp.
6028
60292006-06-07 01:29  gb
6030
6031        * compiler/X86/X8664/x8664-vinsns.lisp, lisp-kernel/x86-macros.s,
6032        lisp-kernel/x86-spentry64.s: Try to keep tcr.save_tsp in synch with
6033        %tsp, and likewise for %Rforeign_sp/tcr.foreign_sp.
6034       
6035        (The idea is to keep the temp/foreign stack pointers in the tcr and
6036        only use the MMX registers as temporaries, since it seems that
6037        handlers for asynchronous signals can't count on the MMX register
6038        values in the signal context being correct.  This seems to either
6039        be a Linux kernel bug or ill-considered if it's intentional
6040        behavior, but it seems better to work around it this way.)
6041       
6042        This is just an early step in bootstrapping that change; it's being
6043        checked into CVS so that it doesn't get lost (and so that I can
6044        recover to this point if/when I hose things on a later step.)
6045
60462006-06-07 01:24  gb
6047
6048        * compiler/X86/X8664/x8664-arch.lisp: Add a next-tsp slot to the
6049        tcr.
6050
60512006-06-07 01:22  gb
6052
6053        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Add a
6054        next_tsp slot to the tcr.
6055
60562006-06-06 04:25  gb
6057
6058        * lib/ppc-metering.lisp: no hope
6059
60602006-06-06 04:22  gb
6061
6062        * lib/x86-backtrace.lisp: %find-register-argument-value: Current
6063        frame (cfp argument) could be an exception callback frame (xcf-p
6064        may be true of it), in which case the saved register value is in
6065        the xcf.xp context.  (Basically, this means look at the first frame
6066        if it's an xcf, otherwise skip it and start with the child.)
6067
60682006-06-06 01:48  gb
6069
6070        * compiler/X86/x86-lapmacros.lisp,
6071        compiler/X86/X8664/x8664-vinsns.lisp, lisp-kernel/x86-macros.s:
6072        Using imul to box fixnums is smaller and seems to be faster than
6073        using lea with a scale factor.
6074
60752006-06-05 23:56  gb
6076
6077        * lisp-kernel/thread_manager.c: I don't think that
6078        suspend_resume_handler wants to have suspend signals unmasked, does
6079        it ?
6080
60812006-06-05 12:43  gb
6082
6083        * library/chud-metering.lisp: area-readonly is in ccl:: now.
6084
60852006-06-03 03:11  gb
6086
6087        * lisp-kernel/x86-spentry64.s: In _SPnthrowvalues: don't skip the
6088        last catch frame, do skip others (test was backwards.  As it
6089        probably had been in the single-value case at one point.)
6090
60912006-06-02 03:48  gb
6092
6093        * lib/encapsulate.lisp: Don't print trace indent/outdent stuff to
6094        *terminal-io*; do print it to *trace-output*.
6095
60962006-06-01 20:20  gb
6097
6098        * level-0/l0-array.lisp: There's a T in subtag.
6099
61002006-06-01 20:17  gb
6101
6102        * compiler/X86/x862.lisp: X862-MVCALL wasn't handling things like:
6103       
6104        (multiple-value-bind (...)   (multiple-value-call #'foo ...))
6105       
6106        correctly.
6107
61082006-06-01 20:16  gb
6109
6110        * compiler/nx0.lisp: Defvars for global optimization quantities
6111        moved to level-0.
6112
61132006-06-01 20:15  gb
6114
6115        * level-1/l1-files.lisp: Bind the variables which hold global
6116        compiler optimization quantities, since people persist in doing
6117        things like:
6118       
6119        (declaim (optimize
6120        <something-that-they-probably-think-has-local-effects>))
6121       
6122        without bothering to use EVAL-WHEN or otherwise thinking very
6123        clearly.
6124       
6125        Note that this means that anyone who wanted such a declamation to
6126        have persistent global effects is now SOL.  Blame whoever wrote
6127        (for instance) clx/glx.lisp.
6128
61292006-06-01 20:11  gb
6130
6131        * level-0/l0-init.lisp: Move *nx-speed*, etc here, so that they can
6132        be referenced early in the cold load.
6133
61342006-06-01 13:13  gb
6135
6136        * lib/x86-backtrace.lisp: In %FIND-REGISTER-ARGUMENT-VALUE, pass a
6137        pointer to ENCODED-GPR-LISP if we have to get the register value
6138        from an exception frame.
6139
61402006-05-30 19:27  gwking
6141
6142        * tools/asdf.lisp: Updated asdf to the current CVS head (revision
6143        1.98)
6144
61452006-05-30 17:12  gb
6146
6147        * level-1/version.lisp: bump again.
6148
61492006-05-30 16:31  gb
6150
6151        * lisp-kernel/x86-spentry64.s: When unwinding the stack, try to
6152        ensure that tcr.xframe is updated from the catch frame (a) in all
6153        execution paths and (b) before RSP is updated.
6154
61552006-05-30 16:30  gb
6156
6157        * level-0/l0-array.lisp, lib/sequences.lisp: Handle (simple) fixnum
6158        vectors.
6159
61602006-05-30 16:29  gb
6161
6162        * level-1/l1-typesys.lisp: Add a DEFTYPE for fixnum vectors.
6163
61642006-05-30 16:29  gb
6165
6166        * release-notes.txt: Update some more ...
6167
61682006-05-30 16:23  gb
6169
6170        * lib/ccl-export-syms.lisp: There are two 'e's in UNPROCESSED.
6171        Apparently.
6172
61732006-05-30 16:15  gb
6174
6175        * release-notes.txt: updated
6176
61772006-05-30 01:58  gb
6178
6179        * level-1/version.lisp: Bump.
6180
61812006-05-30 01:48  gb
6182
6183        * lisp-kernel/x86-exceptions.c: altstack_interrupt_handler: having
6184        made copies of the signal context and siginfo on the foreign stack,
6185        don't pass the originals to interrupt_handler().
6186       
6187        (altstack_interrupt_handler() looks suspiciously like
6188        altstack_signal_handler(), which probably had the same bug a few
6189        months ago ...)
6190       
6191        Since the alternate signal stack (as we use it) isn't reentrant,
6192        the next signal (perhaps a suspend signal) overwrote the context.
6193        Which is one reason to have made a copy in the first place ...
6194
61952006-05-30 01:43  gb
6196
6197        * level-1/l1-lisp-threads.lisp: In THREAD-ENABLE, use the new
6198        %TIMED-WAIT-ON-SEMAPHORE-PTR; regardless of whether or not a
6199        timeout is a good idea here, make sure that the timeout isn't
6200        fooled by #$EINTR.
6201
62022006-05-30 01:39  gb
6203
6204        * level-1/linux-files.lisp: Rename the old
6205        %TIMED-WAIT-ON-SEMAPHORE-PTR to %PROCESS-WAIT-ON-SEMAPHORE-PTR,
6206        since it basically waits indefinitely.
6207       
6208        Split out the functionality in TIMED-WAIT-ON-SEMAPHORE into a new
6209        %TIMED-WAIT-ON-SEMAPHORE-PTR function, so that it's possible to do
6210        a "timed wait" that handles interruptions, etc. when the caller
6211        just has a "raw" (native) semaphore.
6212       
6213        Change callers, endure warnings.  New binaries soon.
6214
62152006-05-30 01:36  gb
6216
6217        * level-0/l0-misc.lisp: When waiting for a lock, use the new
6218        %PROCESS-WAIT-ON-SEMAPHORE-PTR.
6219
62202006-05-29 22:34  gb
6221
6222        * lisp-kernel/x86-exceptions.c: The
6223        clear_tcr_save_allocptr_tag_instruction opcode array was one byte
6224        too small ...
6225
62262006-05-29 14:03  gb
6227
6228        * level-1/linux-files.lisp: In %OS-GETCWD: don't trust
6229        syscall-based getcwd (it doesn't work as it once did/is documented
6230        to on linuxx8664); use the library function on all platforms.
6231
62322006-05-29 14:02  gb
6233
6234        * lisp-kernel/x86-exceptions.c: Clear interrupt_pending flag before
6235        processing interrupt.
6236
62372006-05-28 17:01  gb
6238
6239        * lisp-kernel/ppc-exceptions.c: If we handle a
6240        SIGNAL_FOR_PROCESS_INTERRUPT trap, clear tcr->interrupt_pending.
6241       
6242        Back out of the hack that tried to work around a Darwin bug (FP
6243        exception flags were cleared in the MSR after a thread had been
6244        interrupted via pthread_kill()), since the fix seems not to be
6245        GC-safe.
6246       
6247        Add some debugging code to print when the exception lock is
6248        acquired/released.
6249
62502006-05-28 01:10  gb
6251
6252        * level-1/solaris-files.lisp: long gone
6253
62542006-05-23 20:25  gb
6255
6256        * compiler/: PPC/ppc2.lisp, X86/x862.lisp: D'oh!
6257
62582006-05-22 22:59  gb
6259
6260        * darwin-headers/addressbook/: C/populate.sh, .cvsignore,
6261        C/.cvsignore: New file.
6262
62632006-05-22 22:57  gb
6264
6265        * level-1/l1-processes.lisp: PROCESS-SUSPEND: don't allow current
6266        thread to suspend itself.
6267
62682006-05-22 22:57  gb
6269
6270        * compiler/PPC/PPC64/ppc64-vinsns.lisp: Use the SP red zone to load
6271        SINGLE-FLOAT constants.
6272       
6273        SINGLE-FLOAT foreign args are stored in the low 32 bits of each
6274        64-bit arg word, regardless of whether they're also passed in
6275        f1-f13 as well.
6276
62772006-05-22 22:55  gb
6278
6279        * compiler/PPC/PPC64/ppc64-backend.lisp: Callback fixes:
6280        SINGLE-FLOATs passed in memory are passed in the low 32 bits of the
6281        64-bit word.
6282
62832006-05-22 22:54  gb
6284
6285        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Use the red zone (on SP)
6286        for LOAD-SINGLE-FLOAT-CONSTANT, LOAD-DOUBLE-FLOAT-CONSTANT.
6287
62882006-05-22 22:53  gb
6289
6290        * compiler/PPC/PPC32/ppc32-backend.lisp: "poweropen ABI" (Darwin)
6291        callback fixes: SINGLE-FLOATs passed in memory are passed as ...
6292        SINGLE-FLOATs, so don't use %GET-SINGLE-FLOAT-FROM-DOUBLE-PTR to
6293        access them.
6294
62952006-05-22 03:53  gb
6296
6297        * level-1/version.lisp: Bump.
6298
62992006-05-22 03:32  gb
6300
6301        * compiler/X86/X8664/x8664-vinsns.lisp: fixnum->float vinsns.
6302
63032006-05-22 03:31  gb
6304
6305        * compiler/X86/x862.lisp: Numeric contagion on binops,
6306        fixnum->float.
6307
63082006-05-22 03:29  gb
6309
6310        * compiler/PPC/ppc2.lisp: Do stupid self-tail-call tricks on PPC as
6311        well.
6312
63132006-05-22 03:28  gb
6314
6315        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Load tcr.cs-limit a little
6316        earlier when creating a stack frame inline.  Doesn't seem to affect
6317        latency much.
6318
63192006-05-22 03:27  gb
6320
6321        * compiler/X86/x862.lisp: Comment formatting on the first line of
6322        the file.
6323
63242006-05-22 03:26  gb
6325
6326        * compiler/nx0.lisp: Check argument counts on self-calls.  (AFAIK,
6327        this hasn't been done for at least 20 years in MCL/OpenMCL ...)
6328
63292006-05-21 07:34  gb
6330
6331        * compiler/X86/x862.lisp: Long-standing X862-COPY-REGISTER bug.
6332
63332006-05-21 07:32  gb
6334
6335        * compiler/PPC/ppc2.lisp: Implement (late) div2; use (simple)
6336        numeric-contagion stuff for arithmetic ops.
6337
63382006-05-21 07:31  gb
6339
6340        * compiler/nx1.lisp: Use div2 for /-2.
6341
63422006-05-21 07:31  gb
6343
6344        * compiler/nx0.lisp: Binop numeric contagion.
6345
63462006-05-21 06:49  gb
6347
6348        * compiler/nx0.lisp: ACODE-REAL-CONSTANT-P.
6349
63502006-05-21 06:49  gb
6351
6352        * compiler/PPC/ppc2.lisp: Weird case in ppc2-copy-register wasn't
6353        weird, just wrong.
6354
63552006-05-21 06:17  gb
6356
6357        * level-0/l0-pred.lisp: PPC64: %typep recognizes
6358        SIMPLE-FIXNUM-VECTORs.
6359
63602006-05-21 06:16  gb
6361
6362        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6363        Fixnum vector stuff.  FIXNUM->FPR uses SP red zone.
6364
63652006-05-21 06:16  gb
6366
6367        * compiler/PPC/PPC32/ppc32-arch.lisp,
6368        compiler/PPC/PPC64/ppc64-arch.lisp, lisp-kernel/ppc-constants64.h,
6369        lisp-kernel/ppc-constants64.s, lisp-kernel/ppc-spentry.s: Fixnum
6370        vector stuff.
6371
63722006-05-21 06:15  gb
6373
6374        * compiler/PPC/ppc2.lisp: %fixnum-to-single, %fixnum-to-double.
6375       
6376        Fixnum vector vref/vset.
6377
63782006-05-21 06:15  gb
6379
6380        * compiler/: nx1.lisp, nxenv.lisp: %fixnum-to-single,
6381        %fixnum-to-double.
6382
63832006-05-21 06:14  gb
6384
6385        * compiler/nx0.lisp: More operator result types.
6386
63872006-05-21 04:35  gb
6388
6389        * level-0/l0-array.lisp, level-0/l0-pred.lisp,
6390        level-1/l1-aprims.lisp, level-1/l1-clos-boot.lisp: Integrate
6391        specialized FIXNUM array-element-type into type system, CLOS.
6392        (Knock wood.)
6393
63942006-05-21 04:34  gb
6395
6396        * lisp-kernel/x86-spentry64.s: Support for (out-of-line)
6397        fixnum-vector access (.SPmisc_ref, .SPmisc_set).
6398
63992006-05-21 04:33  gb
6400
6401        * compiler/X86/X8664/x8664-arch.lisp,
6402        lisp-kernel/x86-constants64.h, lisp-kernel/x86-constants64.s: New
6403        subtag for :fixnum-vector.
6404
64052006-05-21 04:32  gb
6406
6407        * compiler/X86/x862.lisp: 64-bit vset wasn't handling non-constant
6408        indices correctly.
6409       
6410        64-bit vset, vref: handle :FIXNUM-VECTOR.
6411
64122006-05-21 00:22  gb
6413
6414        * level-0/l0-aprims.lisp: Spell istruct-typep correctly.
6415
64162006-05-20 18:13  gb
6417
6418        * compiler/X86/x862.lisp: Do some self-tail calls (fixed args, no
6419        stack args) without restoring/re-saving NVRs.
6420
64212006-05-19 15:07  gb
6422
6423        * level-1/linux-files.lisp: RUN-PROGRAM: waiting for the child's
6424        completion semaphore (when :WAIT is true) happens inside an
6425        UNWIND-PROTECT cleanup and therefore needs to explicitly allow
6426        interrupts.
6427
64282006-05-19 15:06  gb
6429
6430        * level-0/l0-aprims.lisp: Add SEMAPHOREP, make it a type-predicate
6431        for SEMAPHORE.
6432
64332006-05-19 12:23  gwking
6434
6435        * lib/misc.lisp: Added help and redisplay to select-item-from-list.
6436        Also changed it so that it displays all items before trying to get
6437        an answer.
6438
64392006-05-19 12:00  gwking
6440
6441        * .cvsignore: The *fsl wasn't cutting it for me..., take two
6442
64432006-05-19 11:57  gwking
6444
6445        * .cvsignore: The *fsl wasn't cutting it for me...
6446
64472006-05-19 11:50  gb
6448
6449        * level-1/version.lisp: Bump.
6450
64512006-05-19 11:49  gb
6452
6453        * level-1/l1-streams.lisp: Change the EVAL-WHEN that requires
6454        syscall definitions so that it can be moused on.
6455
64562006-05-19 11:48  gb
6457
6458        * compiler/X86/X8664/: x8664-arch.lisp, x8664-vinsns.lisp:
6459        .SPeabi-syscall -> .SPsyscall.
6460
64612006-05-19 11:45  gb
6462
6463        * compiler/X86/x862.lisp: Inline ADD2, unless we know that at least
6464        one arg couldn't be a fixnum.  (Should do the same for SUB2.) This
6465        does indeed burn cache lines, but going out of line isn't cheap
6466        either.  (100 million iterations of (+ x (+ y z)) - where X Y and Z
6467        are in fact fixnums and no overflow is involved - seems to be about
6468        2X faster when inlined this way.  Not sure if that'll be the case
6469        on PPC.)
6470
64712006-05-19 11:40  gb
6472
6473        * compiler/nx0.lisp: Use NX-TARGET-TYPE in some of the acode-type
6474        stuff.
6475
64762006-05-18 14:47  gb
6477
6478        * lisp-kernel/ppc-spentry.s: When unwinding the stack (hopefully,
6479        in all places that do so ...), update tcr.xframe from
6480        catch_frame.xframe on all execution paths (in particular, do so
6481        before SP is restored from the catch_frame, since a tcr.xframe
6482        "beyond" SP is clearly bogus.)
6483
64842006-05-18 02:34  gb
6485
6486        * level-1/version.lisp: Bump.
6487
64882006-05-17 23:12  gb
6489
6490        * compiler/PPC/ppc2.lisp: "late" acode-type stuff (add2/sub2/mul2)
6491        for PPC, too.
6492
64932006-05-17 22:53  gb
6494
6495        * level-0/X86/x86-float.lisp: %FP-ERROR-FROM-STATUS: don't cons an
6496        &REST arg.  Should do a quicker test (logandc2 and a shift) to see
6497        if any unmasked exceptions were raised before even calling this ...
6498
64992006-05-17 22:51  gb
6500
6501        * compiler/X86/X8664/x8664-vinsns.lisp: If we have to spill
6502        SINGLE-FLOAT registers, spill them (boxed) on the vstack.
6503
65042006-05-17 22:50  gb
6505
6506        * compiler/X86/x862.lisp: Work harder to find acode types in some
6507        cases.
6508
65092006-05-17 22:50  gb
6510
6511        * compiler/X86/x86-disassemble.lisp: Handle (new-style) byte
6512        registers in OP-REG.
6513       
6514        Don't want to use RET very often if at all, but disassembler should
6515        treat as as a :JUMP.
6516
65172006-05-17 22:48  gb
6518
6519        * compiler/nxenv.lisp: MUL2, DIV2.
6520
65212006-05-17 22:48  gb
6522
6523        * compiler/: nx0.lisp, nx1.lisp: A little of that there
6524        type-inferencing (or, more accurately, paying a little more
6525        attention here and there.)
6526
65272006-05-12 20:40  gwking
6528
6529        * examples/addressbook.lisp: added examples/addressbook.lisp
6530
65312006-05-11 18:42  gb
6532
6533        * level-1/l1-application.lisp: Stop processing command-line
6534        arguments when "--" is encountered; anything after that "--" is
6535        retained in CCL:*UNPROCESSED-COMMAND-LINE-ARGUMENTS*.
6536
65372006-05-11 18:42  gb
6538
6539        * lib/ccl-export-syms.lisp: Export command-line stuff
6540
65412006-05-11 18:40  gb
6542
6543        * level-1/l1-processes.lisp: Lennart Staflin's fix to PRINT-OBJECT
6544        method for LOCKs.
6545
65462006-05-11 18:39  gb
6547
6548        * level-1/l1-files.lisp: In %DIFECTORY-LIST-NAMESTRING: all strings
6549        are base-strings (and always have been in OpenMCL.)
6550
65512006-05-11 18:37  gb
6552
6553        * level-1/l1-sockets.lisp: CCL:BASE-CHARACTER -> CL:BASE-CHAR.
6554
65552006-05-11 08:11  gwking
6556
6557        * lib/db-io.lisp: Added a check that the directory exists to
6558        fid-open-output in order to make it clearer what is wrong when one
6559        is unable to rebuild interface files because they are trying to do
6560        so in a place without FFI files to read!
6561
65622006-05-11 05:14  gb
6563
6564        * level-1/version.lisp, lisp-kernel/image.h, xdump/heap-image.lisp:
6565        Bump lisp-implementation-version, image-abi-version.
6566
65672006-05-11 05:04  gb
6568
6569        * xdump/faslenv.lisp: Bump (min) fasl version.
6570
65712006-05-11 04:52  gb
6572
6573        * lib/nfcomp.lisp: Bump (current) FASL version.
6574
65752006-05-11 04:52  gb
6576
6577        * level-1/l1-files.lisp: FASL-FILE-P looks for inital #xFF00
6578        (big-endian) instead of just #xff, to avoid UTF-16 BOM confusion.
6579
65802006-05-11 04:35  gb
6581
6582        * xdump/faslenv.lisp: Bump (max) fasl version.
6583
65842006-05-11 04:32  gb
6585
6586        * compiler/X86/X8664/x8664-backend.lisp: Little-endianness is a
6587        target-specific feature.
6588
65892006-05-11 03:35  gb
6590
6591        * compiler/PPC/PPC32/ppc32-arch.lisp,
6592        compiler/PPC/PPC32/ppc32-vinsns.lisp, level-0/l0-array.lisp,
6593        level-0/l0-pred.lisp, level-0/PPC/ppc-array.lisp,
6594        level-1/l1-aprims.lisp, level-1/l1-clos-boot.lisp,
6595        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
6596        lisp-kernel/ppc-spentry.s, xdump/xppcfasload.lisp: Juggle PPC32
6597        typecodes around: get rid of the (unused) old 16-bit string; add an
6598        (as yet unused) UCS-4 string type.
6599       
6600        These changes generally involve cross-compilation (or some very
6601        tricky bootstrapping that I didn't attempt)  FASL versions and
6602        kernel ABI versions will need to change, and new binaries will be
6603        made available soon.
6604
66052006-05-10 20:20  gb
6606
6607        * compiler/PPC/ppc-lapmacros.lisp,
6608        compiler/PPC/PPC32/ppc32-arch.lisp,
6609        compiler/PPC/PPC32/ppc32-vinsns.lisp,
6610        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s:
6611        Change CHARCODE-SHIFT constant on PPC32, so that the (currently
6612        8-bit) character code is stored in the #x0000xx00 byte of a
6613        CHARACTER, rather than in the #x00xx0000 byte,  This is hard to
6614        bootstrap natively (which is why I was trying to make ppc64->ppc32
6615        cross-compilation work.)
6616       
6617        Change related macros/visnsns as well.
6618
66192006-05-10 19:00  gb
6620
6621        * xdump/xppcfasload.lisp: Reintroduce a TARGET-ARCH-CASE, but I
6622        think that this is just hard to do right the way that it's being
6623        done.
6624
66252006-05-10 18:59  gb
6626
6627        * level-1/ppc-threads-utils.lisp: BOGUS-THING-P is hard to do right
6628        when cross-compiling (because word-size differences aren't handled
6629        correctly by macros.)  Until the macros are fixed, don't even try
6630        ...
6631
66322006-05-10 18:58  gb
6633
6634        * level-1/l1-clos-boot.lisp: In NEW-CLASS-WRAPPER-HASH-INDEX, user
6635        target::target-most-positive-fixnum (not the host's
6636        MOST-POSITIVE-FIXNUM).
6637
66382006-05-10 18:57  gb
6639
6640        * compiler/: nx0.lisp, nx1.lisp: Use NX-TARGET-TYPE in at least a
6641        few places.
6642
66432006-05-10 18:56  gb
6644
6645        * compiler/nx.lisp: XCOMPILE-LAMBDA binds *TARGET-BACKEND*.
6646
66472006-05-10 18:55  gb
6648
6649        * compiler/nx-basic.lisp: NX-TARGET-TYPE: there may be other
6650        differences between host and target types, but try to turn
6651        references to FIXNUM to the appropriate target-specific type.
6652
66532006-05-09 21:01  gb
6654
6655        * compiler/PPC/PPC32/ppc32-vinsns.lisp: UNBOX-BASE-CHAR just checks
6656        that the lowbyte is SUBTAG-CHARACTER; it used to rotate things
6657        around to check the high bits of the char code, but all chars have
6658        been base-chars for several years now ...
6659       
6660        UNBOX-CHARACTER was unused.
6661       
6662        (This is the first step of what may be several bootstrapping steps
6663        to change PPC32::CHARCODE-SHIFT from 16 to 8, so that we have 24
6664        easily-accessed char-code bits on PPC32.)
6665
66662006-05-09 11:48  gb
6667
6668        * lisp-kernel/xlbt.c: No psn in cs_area.
6669
66702006-05-09 02:42  gb
6671
6672        * lisp-kernel/: gc.h, ppc-gc.c: Back out of the extra Boolean arg
6673        to mark_simple_area_range().
6674
66752006-05-09 02:33  gb
6676
6677        * compiler/PPC/: PPC32/ppc32-backend.lisp,
6678        PPC64/ppc64-backend.lisp: Endianness is also target-specific.
6679
66802006-05-09 02:25  gb
6681
6682        * lisp-kernel/thread_manager.c: Thread stack areas are "owned by"
6683        the containing TCR, to make low-level debugging a bit easier.
6684
66852006-05-09 02:25  gb
6686
6687        * lisp-kernel/ppc-gc.c: Mostly some added consistency/sanity checks
6688        and debugging printfs.
6689
66902006-05-09 02:24  gb
6691
6692        * lisp-kernel/ppc-exceptions.h: Note that pc_luser_xp() needs an
6693        extra (signed_natural *) arg, for allocptr displacement.
6694
66952006-05-09 02:23  gb
6696
6697        * lisp-kernel/ppc-exceptions.c: Lots of #ifdef DEBUG fprintfs.
6698       
6699        Change the way that pc_luser_xp() and normalize_tcr() handle alloc
6700        regs/ saved TCR fields.  The general idea is that the after they
6701        run, all threads have tcr->save_allocptr/tcr_save_allocbase set to
6702        VOID_ALLOCPTR; if the thread was interrupted in lisp code, the
6703        allocbase register will be set to VOID_ALLOCPTR and allocptr will
6704        be set to either VOID_ALLOCPTR or to VOID_ALLOCPTR-disp.
6705       
6706        On an interrupt, the caller needs to pass in a signed_natural * to
6707        pick up the allocptr displacement (if consing was interrupted at
6708        the alloc trap); the interrupt handler uses this value to fix up
6709        alloptr when it returns if consing was interrupted.
6710       
6711        This is all pretty clearly right, but something still goes wrong
6712        under some combination of high thread stress, frequent allocation,
6713        and blocking ff-calls.
6714
67152006-05-09 02:17  gb
6716
6717        * lisp-kernel/plbt.c: No psn currently available.
6718
67192006-05-09 02:16  gb
6720
6721        * lisp-kernel/lisp-debug.c: Bug() passes xp to lisp_Debugger(),
6722        where it may come in handy ...
6723
67242006-05-09 02:16  gb
6725
6726        * lisp-kernel/gc.h: mark_simple_area_range() takes an added Boolean
6727        arg.
6728
67292006-05-09 02:13  gb
6730
6731        * lisp-kernel/area.h: area struct's owner is a (TCR *).
6732
67332006-05-09 02:12  gb
6734
6735        * level-1/l1-error-system.lisp: $xfunbnd was used after all.
6736        Restore it.
6737
67382006-05-09 02:12  gb
6739
6740        * level-0/l0-error.lisp, library/lispequ.lisp,
6741        lisp-kernel/errors.s: $xfunbnd was used after all.  Restore it, and
6742        recycle $XNOCDR.
6743
67442006-05-09 02:11  gb
6745
6746        * compiler/PPC/PPC64/ppc64-backend.lisp: :64-bit-target is ...
6747        target-specific.
6748
67492006-05-09 02:11  gb
6750
6751        * compiler/PPC/PPC32/ppc32-backend.lisp: :32-bit-target is ...
6752        target-specific.
6753
67542006-05-09 00:40  gb
6755
6756        * level-1/l1-lisp-threads.lisp: Foreign thread callback stuff moved
6757        here.
6758
67592006-05-09 00:39  gb
6760
6761        * level-1/x86-threads-utils.lisp: Support for BOGUS-THING-P on
6762        x8664.
6763
67642006-05-09 00:39  gb
6765
6766        * level-1/ppc-threads-utils.lisp: Move foreign-thread callback
6767        stuff up to l1-lisp-threads.lisp.
6768
67692006-05-08 22:58  gb
6770
6771        * lisp-kernel/ppc-spentry.s: misc_ref/misc_set jump tables on PPC64
6772        handle array and vector headers.
6773
67742006-05-08 22:57  gb
6775
6776        * library/lispequ.lisp: Synch errors $xbadvec, $xsetbadvec (neither
6777        of which should ever happen) with the kernel.
6778
67792006-05-08 22:56  gb
6780
6781        * level-1/l1-processes.lisp: %PROCESS-PRESET-INTERNAL doesn't need
6782        the TCR either.
6783
67842006-05-08 22:55  gb
6785
6786        * level-1/l1-error-system.lisp: $XFUNBND is no more.
6787
67882006-05-08 22:55  gb
6789
6790        * level-0/l0-error.lisp: Define the format strings for $xbadvec,
6791        $xsetbadvec.
6792
67932006-05-08 03:26  gb
6794
6795        * lisp-kernel/x86-spentry64.s: .SPstkconslist_star: ensure that
6796        flags are set to the result of decrementing %nargs at the end of
6797        the loop.
6798
67992006-05-08 03:25  gb
6800
6801        * level-1/x86-error-signal.lisp: uuo-error-udf: %err-disp-internal
6802        wants a list of condition args, not a single arg.
6803
68042006-05-08 03:24  gb
6805
6806        * level-1/l1-processes.lisp: %PROCESS-PRESET-INTERNAL doesn't need
6807        CS-AREA.
6808
68092006-05-08 03:23  gb
6810
6811        * level-0/X86/x86-symbol.lisp: %FUNCTION: signal error via
6812        uuo_error_udf, not as a type error.
6813
68142006-05-07 16:50  gb
6815
6816        * lib/describe.lisp: INSPECTOR objects haven't had FORWARDED-P
6817        slots in a long time (they probably haven't -needed- them in even
6818        longer; I think that this had to do with the old partial MOP.)
6819        Don't define the slot for FUNCTION-INSPECTOR, and don't call the
6820        accessor in STANDARD-OBJECT-SETF-LINE-N.
6821
68222006-05-07 04:39  gb
6823
6824        * x86-headers64/gtk2/: .cvsignore, C/.cvsignore, C/populate.sh: New
6825        file.
6826
68272006-05-07 04:34  gb
6828
6829        * lisp-kernel/: area.h, lisp_globals.h, memory.c, pmcl-kernel.c,
6830        thread_manager.c: Combine the AREA_LOCK and TCR_LOCK into a single
6831        lock (TCR_AREA_LOCK).  (This makes it a little harder to deadlock
6832        if code that wants both locks isn't careful to try to obtain them
6833        in some canonical order.)
6834
68352006-05-07 04:29  gb
6836
6837        * lib/x86-backtrace.lisp: Finally find those pesky registers.
6838
68392006-05-07 04:29  gb
6840
6841        * level-1/x86-threads-utils.lisp: Stub BOGUS-THING-P moves here.
6842
68432006-05-07 04:28  gb
6844
6845        * level-0/l0-cfm-support.lisp: FOREIGN-SYMBOL-ENTRY: return NIL if
6846        xFindSymbol/dlsym returns 0 on x8664.
6847
68482006-05-07 04:27  gb
6849
6850        * compiler/X86/: x86-lapmacros.lisp, X8664/x8664-vinsns.lisp: Use
6851        PSRLQ/PSLLQ for single-float boxing/unboxing.  (A few months ago,
6852        I'd mistakenly decided that it was faster to go through memory than
6853        to use these instructions.  It seems to actually be substantially
6854        slower, as one would expect.)
6855
68562006-05-07 04:25  gb
6857
6858        * compiler/X86/x86-asm.lisp: Add support for
6859        PSRLQ/PSRLDQ/PSLLQ/PSLLDQ (sse2 shifts.)
6860
68612006-05-07 04:21  gb
6862
6863        * library/hash-cons.lisp: Fix doc in comments.
6864
68652006-05-07 04:21  gb
6866
6867        * lib/ppc-backtrace.lisp: GET/SET-REGISTER-VALUE.
6868
68692006-05-07 04:20  gb
6870
6871        * lib/format.lisp: YES-OR-NO-P: bell goes to *QUERY-IO*.
6872
68732006-05-07 04:19  gb
6874
6875        * lib/backtrace-lds.lisp: Move GET/SET-REGISTER-VALUE to
6876        TARGET-backtrace.lisp.
6877
68782006-05-07 04:18  gb
6879
6880        * level-1/l1-lisp-threads.lisp: Move (implementation-dependent)
6881        BOGUS-THING-P to TARGET-thread-utils.lisp.
6882
68832006-05-07 04:17  gb
6884
6885        * level-1/ppc-threads-utils.lisp: Move (implementation-dependent)
6886        BOGUS-THING-P support here.
6887
68882006-05-07 04:16  gb
6889
6890        * level-1/l1-processes.lisp: Don't set "owner" field of tcr.cs_area
6891        to psn.
6892
68932006-05-06 15:27  gb
6894
6895        * compiler/nx1.lisp: Ash left by constant: prefer the fixnum case
6896        to the "natural" case.
6897
68982006-05-06 15:26  gb
6899
6900        * compiler/X86/x862.lisp: Pass the right number of args to
6901        NATURAL-SHIFT-LEFT and NATURAL-SHIFT-RIGHT.
6902
69032006-05-06 15:26  gb
6904
6905        * compiler/X86/X8664/x8664-vinsns.lisp: Indentation.
6906
69072006-05-06 02:09  gb
6908
6909        * lisp-kernel/thread_manager.c: Let's see: if thread X holds local
6910        A and tries to obtain lock B, and thread Y holds lock B and tries
6911        to obtain lock A, what is that a classic case of ?
6912       
6913        Try to avoid that classic deadlock case in shutdown_thread_tcr()
6914        when HAVE_TLS is in effect.  suspend_other_threads wants to hold
6915        two locks at the same time, and that's always a bit dangerous; it
6916        might be safer to merge TCR_LOCK and AREA_LOCK into a single lock
6917        that must be owned in order to manipulate either the tcr or area
6918        queues.
6919
69202006-05-06 02:04  gb
6921
6922        * level-1/linux-files.lisp: Make (%REALPATH "") behave like
6923        %REALPATH of the current directory namestring, as it does by
6924        default on some platforms (but not Linux.)
6925
69262006-05-05 20:08  gb
6927
6928        * compiler/X86/x862.lisp: x862-ff-call: really implement the
6929        simple-foreign-args stuff.  Box u64/s64, or don't ... but don't do
6930        the el-bizarro <- with a (temp) node target.
6931
69322006-05-05 20:06  gb
6933
6934        * lib/x86-backtrace.lisp: Get PC-FROM-XCF right (it needs to be
6935        relative to the tagged entrypoint, not to the start of the
6936        underlying function-vector.)
6937
69382006-05-05 13:24  gb
6939
6940        * lisp-kernel/x86-spentry64.s: Preserve NEXT-METHOD-CONTEXT when
6941        heap-consing an &REST arg.  (%allocptr and %next-method-context are
6942        the same register, so &rest clobbbers %next-method-context.)
6943       
6944        Could make separate entry points, so that this is only done when
6945        %next-method-context needs to be preserved ...
6946
69472006-05-05 13:21  gb
6948
6949        * level-0/X86/x86-def.lisp: Use RESERVED-FRAME-MARKER.
6950
69512006-05-05 02:23  gb
6952
6953        * freebsd-headers64/libc/C/populate.sh: New file.  Needs some work.
6954
69552006-05-05 02:23  gb
6956
6957        * freebsd-headers64/libc/: .cvsignore, C/.cvsignore: New file.
6958
69592006-05-05 01:37  gb
6960
6961        * level-1/version.lisp: Bump du jour.
6962
69632006-05-05 01:36  gb
6964
6965        * level-0/X86/x86-def.lisp: %FF-CALL: maintain the distinction
6966        between the first 6 words of the outgoing frame (from which GPRs
6967        will be loaded) and other words (which stay on the stack); after
6968        the first 8 FP args, floats have to be passed on the stack, even if
6969        there's still room in the first 6 words of the outgoing frame.
6970       
6971        Need to understand the struct-by-value rules better: can a struct
6972        be passed partly in registers and partly on the stack ? RTFM (or,
6973        in this case, TF ABI spec.)
6974
69752006-05-05 01:31  gb
6976
6977        * compiler/X86/x862.lisp: In X862-FF-CALL:  - the general integer
6978        case should store relative to "other-offset" (rather than   
6979        "gpr-offset") when more than 6 (not 8) GPR args have been passed. 
6980        - both the single and double-float cases were incrementing
6981        "other-offset"     twice when more than 8 FP args were involved.
6982        This had the effect of     storing floats into every other word and
6983        writing beyond the bounds of     the outgoing stack frame, possibly
6984        overwriting return addresses on the     foreign stack.
6985
69862006-05-04 23:12  gb
6987
6988        * level-1/l1-streams.lisp: James Bielman's fix to
6989        READ-TOPLEVEL-FORM (INPUT-STREAM) (EOF handling/peek-char.)
6990
69912006-05-04 18:30  gb
6992
6993        * compiler/X86/X8664/x8664-backend.lisp: When binding FP args,
6994        decrement FPR-ARG-OFFSET by 8, not -8.
6995       
6996        (This could cause values outside of the stack frame to be read, but
6997        I still haven't found what's writing beyond the frame bounds.)
6998
69992006-05-04 18:27  gb
7000
7001        * lib/x86-backtrace.lisp: If its argument is an exception callback
7002        frame, %CFP-LFUN tries to determine the relative PC associated with
7003        the frame's nominal function and return that as a second value
7004        (just as it does for a real frame.)
7005       
7006        I think that this should work a high percentage of the time, but
7007        callers should generally be prepared to deal with a NULL second
7008        return value from %CFP-LFUN.
7009
70102006-05-04 11:12  gb
7011
7012        * compiler/X86/X8664/x8664-backend.lisp: More callback issues:
7013        since we're using the same stack pointer to return values as we are
7014        to find arguments, don't try to "optimize" its initialization.
7015
70162006-05-03 18:52  gb
7017
7018        * compiler/X86/X8664/x8664-backend.lisp: Clean  up x8664 callbacks
7019        a little.  Don't coerce single float results to double; bind
7020        stack-ptr variable even if no args (might be a return value form
7021        that references it.) Failure to do the latter was creating a weird
7022        free variable reference that wasn't handled by the fasloader.
7023
70242006-05-03 18:50  gb
7025
7026        * level-0/nfasload.lisp: $fasl-vmksym-special wasn't implemented.
7027
70282006-05-03 18:49  gb
7029
7030        * lib/nfcomp.lisp: Indent a comment.
7031
70322006-05-03 18:16  gb
7033
7034        * compiler/X86/x862.lisp, level-0/X86/x86-def.lisp: In an %FF-CALL
7035        that might involve a variable-length arglist (at this level,
7036        always), set %rax to the number (0-8) of FP arguments passed in xmm
7037        registers.
7038
70392006-05-03 13:26  gb
7040
7041        * lisp-kernel/x86-exceptions.c: In find_foreign_rsp(), mask with
7042        ~15, not ~!5.  (This was causing segfaults on return from
7043        interrupts sometimes.)
7044
70452006-05-03 13:24  gb
7046
7047        * lib/backtrace.lisp: CLOSURE-CLOSED-OVER-VALUES, which is needed
7048        by SWANK/SLIME.
7049
70502006-05-03 13:23  gb
7051
7052        * lib/backtrace-lds.lisp: FRAME-SUPPLIED-ARGS, hopefully in a form
7053        that'll work on all platforms.  (Note that FRAME-SUPPLIED-ARGS
7054        seems to get many things wrong.)
7055
70562006-05-03 11:37  gb
7057
7058        * level-1/version.lisp: You mist have yesterday's version.
7059
70602006-05-03 11:37  gb
7061
7062        * level-0/X86/x86-def.lisp: Implement #'%FF-CALL.  Not too much
7063        LAP.
7064
70652006-05-03 11:36  gb
7066
7067        * level-0/l0-init.lisp: Put :X86-64 and :AMD64 on *FEATURES* if
7068        #+x8664-target.
7069
70702006-05-03 11:36  gb
7071
7072        * compiler/X86/X8664/x8664-vinsns.lisp: Bad typo in UNBOX-S64, and
7073        it can just check for a 2-digit bignum header if it has something
7074        of tag TAG-MISC.
7075
70762006-05-03 11:34  gb
7077
7078        * compiler/X86/x862.lisp: X862-COPY-REGISTER: handle :S64
7079        destinations.
7080
70812006-05-03 11:33  gb
7082
7083        * compiler/X86/x86-disassemble.lisp: Recognize
7084        uuo-error-eep-unresolved.
7085
70862006-05-02 18:07  gb
7087
7088        * level-1/version.lisp: Bump.
7089
70902006-05-02 18:07  gb
7091
7092        * lib/: backtrace-lds.lisp, describe.lisp: Comment out stuff that's
7093        (mostly ?) unused and currently PPC-specific, if it works at all
7094        ...
7095
70962006-05-02 10:27  gb
7097
7098        * level-1/l1-streams.lisp: Don't definea STREAM-CLEAR-INPUT method
7099        for STRING-INPUT-STREAMs; it's not clear what such a method should
7100        do (and fairly clear that it shouldn't do what the previous
7101        definition was doing.)
7102
71032006-05-02 10:26  gb
7104
7105        * lib/format.lisp: clear input from *query-io*, not from
7106        *terminal-io* in YES-OR-NO-P, Y-OR-N-P
7107
71082006-05-02 10:26  gb
7109
7110        * library/hash-cons.lisp: x8664 lap
7111
71122006-05-02 10:26  gb
7113
7114        * lisp-kernel/x86-gc.c: hons area stuff
7115
71162006-04-29 09:14  gb
7117
7118        * lisp-kernel/x86-exceptions.c: Write-protect handlers for stack
7119        overflow (on value/temp stacks).
7120
71212006-04-29 09:13  gb
7122
7123        * level-1/x86-trap-support.lisp: Handle stack overflow in cmain
7124        callback.
7125
71262006-04-29 09:10  gb
7127
7128        * lisp-kernel/freebsd8664/Makefile: x86-gc.o.
7129       
7130        No linker script.
7131       
7132        Use -lthr, which offers 1:1 threads.
7133
71342006-04-29 09:09  gb
7135
7136        * lisp-kernel/lisptypes.h: Remove the __sighandler typedef.
7137
71382006-04-29 09:01  gb
7139
7140        * lisp-kernel/x86-exceptions.h: xpMMXreg for FreeBSD.
7141
71422006-04-29 09:00  gb
7143
7144        * lisp-kernel/x86-exceptions.c: Don't use __sighandler_t.  (See if
7145        anything cares ...)
7146
71472006-04-29 08:59  gb
7148
7149        * lisp-kernel/x86-constants64.h: FreeBSD register constants.
7150
71512006-04-29 08:58  gb
7152
7153        * lisp-kernel/lisp-debug.c: FreeBSD regiser names.
7154
71552006-04-29 08:58  gb
7156
7157        * lisp-kernel/area.h: Update IMAGE_BASE_ADDRESS for FreeBSD.
7158
71592006-04-28 21:28  gb
7160
7161        * level-1/version.lisp: bump.
7162
71632006-04-28 21:27  gb
7164
7165        * lib/backtrace.lisp: changes to print-call-history (and "internal"
7166        version).
7167
71682006-04-28 21:24  gb
7169
7170        * lib/ppc-backtrace.lisp: Fix typo.
7171
71722006-04-28 21:23  gb
7173
7174        * level-1/l1-readloop-lds.lisp: Add :NFRAMES break loop command.
7175       
7176        Change the command/keyword parser a little, so that :FOO is just
7177        :FOO and not (:FOO).
7178       
7179        Change :B break loop command (and :F) to allow focusing on a range
7180        of frames, and change PRINT-CALL-HISTORY to more easily support
7181        that.
7182
71832006-04-28 19:37  gb
7184
7185        * level-0/PPC/ppc-numbers.lisp: Remove a quote from a LAP
7186        LOAD-CONSTANT form.
7187
71882006-04-28 19:34  gb
7189
7190        * lib/: backtrace.lisp, ppc-backtrace.lisp, x86-backtrace.lisp:
7191        Factor out a little more.  Time to see what's broken on PPC ...
7192
71932006-04-28 19:34  gb
7194
7195        * level-1/: l1-readloop-lds.lisp, l1-streams.lisp: Make parens
7196        around colon-commands optional.
7197
71982006-04-28 04:11  gb
7199
7200        * lisp-kernel/linuxx8664/.gdbinit: 'lregs' calls the kernel
7201        debugger's register display code.
7202
72032006-04-28 04:11  gb
7204
7205        * lisp-kernel/xlbt.c: Don't claim that the (legitimate) last frame
7206        on the stack is bogus.
7207
72082006-04-28 04:10  gb
7209
7210        * lisp-kernel/x86-exceptions.c: Create fake stack frames (sort of
7211        ...) when calling back for an exception.
7212
72132006-04-28 03:36  gb
7214
7215        * lisp-kernel/x86-constants64.h: A few symbolic register names.
7216       
7217        xcf struct.
7218
72192006-04-28 03:36  gb
7220
7221        * library/lispequ.lisp: FAKE-STACK-FRAME is #+ppc-target.
7222
72232006-04-28 03:36  gb
7224
7225        * lib/x86-backtrace.lisp: Implemented some stuff.
7226       
7227        Backtrace (sort of) works on x8664 now; need to find register
7228        values,  hide tagged return addresses, a few other things.
7229
72302006-04-28 03:34  gb
7231
7232        * lib/ppc-backtrace.lisp: Stuff moved here from elsewhere.
7233
72342006-04-28 03:34  gb
7235
7236        * lib/backtrace-lds.lisp: LAST-CATCH-SINCE moved elsewhere.
7237
72382006-04-28 03:33  gb
7239
7240        * level-1/x86-trap-support.lisp: Flags register accessor.
7241       
7242        New exception callback scheme.
7243
72442006-04-28 03:33  gb
7245
7246        * level-1/x86-threads-utils.lisp: The lowlevel system keeps
7247        changing.
7248
72492006-04-28 03:32  gb
7250
7251        * level-1/x86-error-signal.lisp: New exception callback stuff.
7252
72532006-04-28 03:32  gb
7254
7255        * level-1/l1-readloop-lds.lisp: No fake stack frames on x86.
7256
72572006-04-28 03:32  gb
7258
7259        * level-1/l1-lisp-threads.lisp: Move more stuff to arch-specific
7260        files.
7261
72622006-04-28 03:31  gb
7263
7264        * level-1/l1-events.lisp: No fake-stack-frames on x86, but we do
7265        have exception callback frames ...
7266
72672006-04-28 03:30  gb
7268
7269        * level-1/l1-error-system.lisp: Tweak :report method for
7270        wrong-number-of-args errors.
7271
72722006-04-28 03:30  gb
7273
7274        * level-0/X86/x86-def.lisp: Implement APPLY+.
7275
72762006-04-28 03:29  gb
7277
7278        * compiler/X86/X8664/x8664-arch.lisp: eXception Callback Frame.
7279
72802006-04-28 03:27  gb
7281
7282        * compiler/X86/x86-lapmacros.lisp: Add missing IN-PACKAGE.
7283       
7284        CHECK-NARGS: don't enforce upper bound if it's null.
7285
72862006-04-28 03:17  gb
7287
7288        * compiler/X86/x86-arch.lisp: x86 xFLAGS bits.
7289
72902006-04-28 03:16  gb
7291
7292        * compiler/nx0.lisp: Allow (FUNCTION (SETF name)) in
7293        IGNORE/IGNORABLE/DYNAMIC-EXTENT declarations.
7294
72952006-04-26 14:18  gb
7296
7297        * compiler/nx0.lisp: Allow (SETF NAME) in DEFINE-COMPILER-MACRO.
7298
72992006-04-26 14:17  gb
7300
7301        * lib/misc.lisp: Disassemble is supposed to signal an error (or "be
7302        prepared" to do so) if its argument isn't a function designator, so
7303        don't quietly call METHOD-FUNCTION for the user.
7304
73052006-04-26 13:56  gb
7306
7307        * lib/encapsulate.lisp: Use REPLACE-FUNCTION-CODE (not (SETF (UVREF
7308        ...))) in ENCAPSULATE, REMOVE-ENCAPSULATION.
7309
73102006-04-26 03:59  gb
7311
7312        * lisp-kernel/: x86-spentry64.s, x86-subprims64.s: zero out the
7313        exception bits whenever mxcsr is stored in tcr.foreign_mxcsr, so no
7314        exceptions will be pending when we start an ff-call (and the mxcsr
7315        is loaded from that location.)
7316       
7317        tcr.ffi_exception will then contain non-zero exception bits iff the
7318        most recent ff-call raised a (probably masked) FP exception.
7319       
7320        TODO: make this reentrant (PROCESS-INTERRUPT should preserve this.)
7321
73222006-04-26 03:55  gb
7323
7324        * lisp-kernel/x86-constants.s: define mxcsr exception bits.
7325
73262006-04-26 03:23  gb
7327
7328        * lisp-kernel/x86-constants64.s: Update comment on
7329        tcr.ffi_exception.
7330
73312006-04-26 03:22  gb
7332
7333        * lisp-kernel/x86-spentry64.s: Maintain tcr.ffi_exception on return
7334        from ffcall.  (Should maybe clear exception bits on entry to
7335        foreign state, so we're sure that any exception bits set in the
7336        tcr.ffi_exception slot were caused by the most recent ff-call.)
7337
73382006-04-26 03:20  gb
7339
7340        * level-0/X86/x86-float.lisp: Check MXCSR status bits from last
7341        ffcall, compare them to unmasked exception bits in current MXCSR,
7342        maybe raise FP exception.  (Note: compile this change and rebuild
7343        image before making corresponding kernel change.)
7344
73452006-04-26 02:31  gb
7346
7347        * lisp-kernel/x86-spentry64.s: .SPbuiltin-logxor was calling out to
7348        LOGAND-2, not to LOGXOR-2.  Sheesh.
7349
73502006-04-26 02:01  gb
7351
7352        * compiler/X86/X8664/x8664-vinsns.lisp: %ILOGBITP treats "large"
7353        bit numbers as tests of the sign bit.   (This is probably best
7354        viewed as being "formally undefined", but it's not too expensive to
7355        check for that.  The case where the bit number's negative is
7356        definitely undefined; I think that it also gets treated as a test
7357        of the sign bit.)
7358
73592006-04-26 01:58  gb
7360
7361        * lisp-kernel/x86-spentry64.s: Logbitp calls out if bit number
7362        negative.
7363
73642006-04-26 01:32  gb
7365
7366        * lisp-kernel/x86-spentry64.s: If both args fixnums, handle bits >=
7367        61.  (Should check here for negative bit .)
7368
73692006-04-26 01:31  gb
7370
7371        * lisp-kernel/x86-exceptions.c: If we get the "no FP regs in
7372        context" error - which typically indicates a fault during exception
7373        processing - pass the context in to the kernel debugger.
7374
73752006-04-26 01:30  gb
7376
7377        * level-0/X86/x86-pred.lisp: Change EQL doc string.
7378
73792006-04-26 00:56  gb
7380
7381        * level-0/X86/x86-pred.lisp: EQL on two bignums works much better
7382        if it compares all corresponding digits, rather than repeatedly
7383        comparing the 0th digits N times ...
7384
73852006-04-25 17:38  gb
7386
7387        * lisp-kernel/x86-spentry64.s: _SPmvslide: skip the loop if nargs
7388        is 0, not if disp is 0.  ash: always make a signed integer out of
7389        the result,  since arg is always signed.
7390
73912006-04-25 17:37  gb
7392
7393        * level-0/X86/x86-float.lisp: Negate floats by fliping the sign
7394        bit, so (for instance) (- 0.0d0) is -0.0d0.
7395
73962006-04-25 17:36  gb
7397
7398        * level-0/X86/x86-hash.lisp: Hash bignums 32 bits (not 64!) at a
7399        time.
7400
74012006-04-25 17:35  gb
7402
7403        * compiler/X86/x862.lisp: %%INEG: need to ensure that source
7404        operand is in target reg (2-address issue.)
7405
74062006-04-24 16:42  gb
7407
7408        * lisp-kernel/x86-spentry64.s: How hard can misc_set_s32 be ?
7409        Apparently, pretty hard.  It was doing a logical shift right when
7410        typechecking the value, so negative values were rejected.
7411
74122006-04-24 16:41  gb
7413
7414        * lisp-kernel/x86-exceptions.c: Call out to handle SIGFPE.  cmain
7415        callback now takes a 'signo' argument.
7416
74172006-04-24 16:40  gb
7418
7419        * level-1/x86-trap-support.lisp: Initial support for handling
7420        arithmetic errors.  Will need more work to get operation and
7421        operands right.
7422
74232006-04-24 16:39  gb
7424
7425        * lib/compile-ccl.lisp: REBUILD-CCL: :reload arg defaults to T.
7426
74272006-04-24 13:58  gb
7428
7429        * level-1/x86-error-signal.lisp: SETQ (not #'SET) in the
7430        uuo-error-reg-not-type case.
7431
74322006-04-24 13:57  gb
7433
7434        * level-0/X86/x86-float.lisp: Generally want to use FPZERO, not
7435        FP0, for 0.0[d,f]0.  (One case wanted to use fp1, but that's
7436        another story.)
7437
74382006-04-24 13:55  gb
7439
7440        * compiler/X86/X8664/x8664-vinsns.lisp: REQUIRE-REAL,
7441        REQUIRE-NUMBER: mask wont fit in 32 bits.  OTOH, doesn't need to be
7442        boxed, either.
7443
74442006-04-24 12:02  gb
7445
7446        * lisp-kernel/x86-spentry64.s: misc_set_s32: register botch.
7447        _SPtcallnfngen: several bugs, which were already fixed in similar
7448        variants.
7449
74502006-04-24 12:01  gb
7451
7452        * lisp-kernel/x86-gc.c: Use FORCE_DWS_MARK to force use of the
7453        Deutch/Waite/Schorr marker.
7454
74552006-04-24 12:00  gb
7456
7457        * lisp-kernel/pmcl-kernel.c: Only turn on GC debug bit if
7458        GC_INTEGRITY_CHECKING is defined (e.g., in Makefile.)
7459
74602006-04-24 11:59  gb
7461
7462        * level-1/linux-files.lisp: Remove debugging FORMAT call.
7463
74642006-04-24 11:58  gb
7465
7466        * level-0/X86/x86-numbers.lisp: %ROUND-NEAREST-SHORT-FLOAT->FIXNUM:
7467        argument is a SINGLE/SHORT-FLOAT, so don't access as a
7468        DOUBLE-FLOAT.
7469
74702006-04-24 11:58  gb
7471
7472        * level-0/X86/x86-float.lisp: %MAKE-FLOAT-FROM-FIXNUMS: mask the
7473        high and low words of the mantissa, to ensure that no hidden bits
7474        are set.  (Some such bits were set, causing many double-float
7475        constansts - like MOST-POSITVE-DOUBLE-FLOAT - to be bogus NaNs).
7476
74772006-04-24 02:21  gb
7478
7479        * lisp-kernel/image.c: Expect a MANAGED_STATIC section in the
7480        image.
7481       
7482        (Don't expect it to have any contents yet; that'll require several
7483        more changes.   This is all intended to support PURIFY on x8664,
7484        where we'll want to ensure that any constant referenced by a
7485        function in readonly/pure memory has a fixed, static address.)
7486
74872006-04-24 02:14  gb
7488
7489        * lisp-kernel/image.h: Bump IMAGE_ABI_VERSION.  New managed_static
7490        section makes NUM_IMAGE_SECTIONS 4.
7491
74922006-04-24 02:13  gb
7493
7494        * lisp-kernel/area.h: Typo in the definition of
7495        AREA_MANAGED_STATIC.
7496
74972006-04-24 02:12  gb
7498
7499        * lisp-kernel/: pmcl-kernel.c, kernel-globals.h: Global pointers to
7500        more areas.
7501
75022006-04-24 02:12  gb
7503
7504        * lisp-kernel/ppc-exceptions.c: EGC write-barrier labels are the
7505        addresses of instructions (not pointers thereto ...)
7506
75072006-04-24 02:11  gb
7508
7509        * lisp-kernel/ppc-gc.c: Add conditionalization to force DWS marker
7510        (mostly so that I could step through it to remember how it worked
7511        ...).
7512
75132006-04-24 02:10  gb
7514
7515        * lisp-kernel/ppc-spentry.s: write-barrier exported symbols: remove
7516        indirection.
7517
75182006-04-24 02:09  gb
7519
7520        * lisp-kernel/x86-gc.c: Remove a sanity check.
7521
75222006-04-24 02:09  gb
7523
7524        * xdump/xfasload.lisp: Create (empty) managed-static section
7525        (mostly for x8664 PURIFY, but might be useful on PPC someday.)
7526
75272006-04-24 02:08  gb
7528
7529        * xdump/heap-image.lisp: New image-abi-version, for managed-static
7530        section.
7531
75322006-04-24 02:07  gb
7533
7534        * level-1/linux-files.lisp: GET-DESCRIPTOR-FOR: try not to leak
7535        fds, take CLOSE-ON-ERROR more seriously.
7536
75372006-04-24 02:06  gb
7538
7539        * compiler/PPC/ppc2.lisp: (eq %FOREIGN-STACK-POINTER
7540        %CURRENT-FRAME-PTR) on PPC32/64.
7541
75422006-04-24 00:50  gb
7543
7544        * level-1/version.lisp: Bump.  Getting there ...
7545
75462006-04-24 00:50  gb
7547
7548        * level-0/l0-misc.lisp: Use %GET-NATURAL where possible.
7549       
7550        Note that TCRs aren't guaranteed to be in the low 32 bits on x8664,
7551        so pass them as a pointer to avoid word-size issues.
7552
75532006-04-24 00:48  gb
7554
7555        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Implement
7556        things that had been missing.
7557
75582006-04-24 00:48  gb
7559
7560        * compiler/X86/x86-disassemble.lisp: Recognize recently-defined
7561        UUOs.
7562
75632006-04-24 00:48  gb
7564
7565        * compiler/X86/x86-backend.lisp: Fix FIXUP-OPCODE-ORDINALS (again).
7566
75672006-04-24 00:47  gb
7568
7569        * compiler/X86/x86-asm.lisp: UUO-ERROR-ARRAY-BOUNDS.
7570
75712006-04-24 00:47  gb
7572
7573        * compiler/PPC/PPC64/ppc64-vinsns.lisp: A little word-size cleanup.
7574
75752006-04-24 00:47  gb
7576
7577        * compiler/nxenv.lisp: %FOREIGN-STACK-POINTER.
7578
75792006-04-24 00:46  gb
7580
7581        * compiler/nx1.lisp: WITH-C-FRAME, WITH-VARIABLE-C-FRAME: use (new)
7582        %FOREIGN-STACK-POINTER, not %CURRENT-FRAME-PTR (differ on x8664;
7583        need to boostrap on PPC).
7584       
7585        Parse %FOREIGN-STACK-POINTER.
7586
75872006-04-22 03:30  gb
7588
7589        * lisp-kernel/thread_manager.c: If we're using thread-local-storage
7590        (HAVE_TLS is defined), make shutdow_thread_tcr() dequeue the tcr,
7591        because (a) nothing else will and (b) the tcr will likely become
7592        unmapped soon, and we don't want things that walk the tcr list to
7593        segfault.
7594
75952006-04-22 03:27  gb
7596
7597        * lisp-kernel/x86-exceptions.c: Something's clearly wrong in
7598        find_foreign_rsp; call Bug() and exit() if the context has no
7599        fpregs.  (That's a symptom, not the proble, but it's slightly
7600        better to do this than to double fault, which is what seems to be
7601        happening.)
7602
76032006-04-21 10:12  gb
7604
7605        * lisp-kernel/x86-exceptions.c: implement pc_luser_xp; just has to
7606        worry about consing, write-barrier stuff.
7607
76082006-04-21 10:11  gb
7609
7610        * lisp-kernel/x86-constants.h: Define X86 flags register bits
7611        (condition codes.)
7612
76132006-04-21 10:11  gb
7614
7615        * lisp-kernel/x86-exceptions.h: change the signature of pc_luser_xp
7616        (again.)
7617       
7618        Define enumeration constants for matching the instructions that can
7619        occur during consing.
7620
76212006-04-21 10:09  gb
7622
7623        * lisp-kernel/x86-spentry64.s: Preserve %temp0 in
7624        store_node_conditional, in case pc_luser_xp() needs to complete the
7625        memoization.
7626
76272006-04-21 02:50  gb
7628
7629        * lisp-kernel/x86-spentry64.s: Use only the value of the first
7630        instance of :ALLOW-OTHER-KEYS to determine whether unknown keys are
7631        allowed.
7632
76332006-04-21 02:49  gb
7634
7635        * lisp-kernel/lisp-debug.c: Tweak things so that %rip and %flags
7636        line up with GPRs.
7637
76382006-04-21 02:48  gb
7639
7640        * lib/sequences.lisp: SIMPLE-1D-ARRAY-SUBSEQ: 64-bit vector case is
7641        #+64-bit-target, not #+ppc64-target.
7642
76432006-04-21 02:47  gb
7644
7645        * level-0/X86/x86-array.lisp: %SIMPLE-BIT-BOOLE: shift by the right
7646        amount.
7647
76482006-04-21 02:46  gb
7649
7650        * level-0/l0-array.lisp: %UVECTOR-REPLACE: 64-bit vectors aren't
7651        unique to PPC64 (but do depend on #+64-bit-target).
7652
76532006-04-21 02:46  gb
7654
7655        * compiler/X86/x862.lisp: The binding(s) of *INTERRUPT-LEVEL*
7656        confuse PROGV; remove them, for now.
7657
76582006-04-20 23:35  gb
7659
7660        * lisp-kernel/x86-spentry64.s: In the bignum case of
7661        .SPinteger-sign, sign-extend the bignum's sign digit instead of ...
7662        whatever the code was trying to do there.
7663       
7664        In the lexpr-has-two-values case of .SPspread-lexprz, load arg_y
7665        and arg_z from the correct offsets within the lexpr.
7666
76672006-04-20 04:48  gb
7668
7669        * lisp-kernel/x86-gc.c: Get the link-inverting marker written;
7670        force it to always be used, for now.
7671
76722006-04-19 17:11  gb
7673
7674        * lisp-kernel/pmcl-kernel.c: (Very) different
7675        MAXIMUM_MAPPABLE_MEMORY for Solaris.
7676
76772006-04-19 17:10  gb
7678
7679        * lisp-kernel/area.h: (Very) different IMAGE_BASE_ADDRESS for
7680        Solaris.
7681
76822006-04-19 00:35  gb
7683
7684        * lisp-kernel/x86-gc.c: Write a few paragraphs outlining how the
7685        reversing-pointer marker should work.  (Perhaps it's a strong
7686        argument for implementing "purify" soon.)
7687
76882006-04-19 00:34  gb
7689
7690        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
7691        function-boundary-marker.
7692
76932006-04-19 00:33  gb
7694
7695        * lisp-kernel/macros.h: Add node_aligned and indirect_node macros.
7696
76972006-04-18 19:35  gb
7698
7699        * lisp-kernel/x86-spentry64.s: Comparison was backwards in
7700        multiple-value case of THROW: don't want to do unbind_to if tcr's
7701        db-link matches target catch frame's.
7702
77032006-04-18 19:33  gb
7704
7705        * lisp-kernel/x86-uuo.s: Add UUO-ERROR-DEBUG-TRAP, remove
7706        UUO-ERROR-STACK-OVERFLOW.  Still need to get this completely in
7707        synch with x86-asm.
7708
77092006-04-18 19:33  gb
7710
7711        * level-1/l1-readloop-lds.lisp: Say more about the availability of
7712        :R in break messages.
7713       
7714        Say more about :C in :R.
7715
77162006-04-18 19:32  gb
7717
7718        * level-1/l1-readloop.lisp: Remove the #+x86-target debugging code
7719        in QUIT's PROCESS-INTERRUPT call, since the closure- trashing bug
7720        seems to have been fixed.
7721
77222006-04-18 19:31  gb
7723
7724        * level-1/x86-error-signal.lisp: Recognize (uuo-error-not-tag %rn
7725        x8664::subtag-catch-tag) as CANT-THROW-ERROR.  (Yes, this is a
7726        horrible kludge, but it only happens once.)
7727
77282006-04-18 19:19  gb
7729
7730        * level-1/l1-processes.lisp: Remove the #+x86-target debugging code
7731        in PROCESS-EXIT-APPLICATION, since the closure- trashing bug seems
7732        to have been fixed.
7733
77342006-04-18 19:18  gb
7735
7736        * level-0/X86/x86-pred.lisp: EQL on bignums wasn't using
7737        X8664::MISC-DATA-OFFSET, so it was comparing a few bytes beyond the
7738        ends of its arguments and ignoring the first few bytes (as well as
7739        doing misaligned memory references.)
7740
77412006-04-18 19:16  gb
7742
7743        * level-0/X86/x86-def.lisp: Insert the PPC version of APPLY+ here.
7744        This'll require some thought, mostly because of the reserved-frame
7745        issue(s).
7746
77472006-04-18 06:21  gb
7748
7749        * lisp-kernel/ppc-constants32.s: Comment mishaps.  These wacky
7750        adventures are about to end, I'm afraid.
7751
77522006-04-18 06:04  gb
7753
7754        * level-1/version.lisp: Daily bump.
7755
77562006-04-18 05:59  gb
7757
7758        * level-1/l1-sockets.lisp: Comment indentation.
7759
77602006-04-18 05:56  gb
7761
7762        * level-0/PPC/ppc-def.lisp: Move APPLY+ here.
7763
77642006-04-18 05:55  gb
7765
7766        * lib/setf-runtime.lisp: Move APPLY+ (which is defined in LAP) to
7767        ppc-def (that means that there will need to be an APPLY+ for
7768        x8664).
7769
77702006-04-18 05:38  gb
7771
7772        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Try to get the
7773        compiler and x8664-vinsn-templates to agree on vinsn-names and
7774        implement some vinsns that had been missing.  (About 15 or so
7775        undefined vinsns remain.)
7776
77772006-04-18 05:37  gb
7778
7779        * compiler/X86/x86-backend.lisp: The mechanism that tries to fixup
7780        opcode ordinals in vinsn templates (e.g., in case new instructions
7781        are defined in the assembler) wasn't checking to see if vinsn
7782        templates named in the hash table were defined.  (It was apparently
7783        getting away with this because CONSP was broken.)  So, don't try to
7784        fixup opcode ordinals in NIL, and optionally report templates
7785        that're referenced but not defined.
7786
77872006-04-18 04:38  gb
7788
7789        * compiler/X86/x862.lisp: CONSP was using the EXTRACT-FULLTAG vinsn
7790        (which only sets the low 8 bits of its destination), then comparing
7791        all 64-bits of the destination to a zero-extended 32-bit constant.
7792        (E.g., CONSP had little chance of being right all other things
7793        being equal, but may have been right more than one in 2^56 times if
7794        some random preceding instruction had zeroed the upper 56 bits.)
7795       
7796        (It's also shorter to do an 8-bit compare.)
7797
77982006-04-18 03:11  gb
7799
7800        * level-0/X86/x86-hash.lisp: box-fixnum arg order in %DFLOAT-HASH.
7801
78022006-04-18 02:51  gb
7803
7804        * compiler/X86/X8664/x8664-vinsns.lisp: Now that all assemblers are
7805        happy (well, as happy as they're going to be ...), back to finding
7806        bugs.  MULTIPLY-FIXNUMS has to unbox one arg (the source).
7807
78082006-04-18 01:26  gb
7809
7810        * lisp-kernel/thread_manager.c: Some Solaris changes.
7811
78122006-04-18 00:48  gb
7813
7814        * lisp-kernel/solarisx64/Makefile: The version of gm4 that Sun
7815        installs in /usr/sfw/bin is both newer and buggier than the version
7816        available on the "Solaris Companion" disk, which gets installed in
7817        /opt/sfw/bin.
7818       
7819        Ordinarily, I'd wonder why a "companion" disk offers to install
7820        software that's bundled as part of the installation (especially old
7821        versions of that software.)  Now I know.
7822
78232006-04-18 00:45  gb
7824
7825        * lisp-kernel/x86-spentry64.s: # __line__ wasn't a comment.
7826
78272006-04-18 00:45  gb
7828
7829        * lisp-kernel/m4macros.m4: Fix changecom.
7830
78312006-04-18 00:11  gb
7832
7833        * lisp-kernel/x86-spentry64.s: x8664 linux as doesn't like typos,
7834        but is otherwise fine with single-line /* */.
7835
78362006-04-18 00:09  gb
7837
7838        * lisp-kernel/: errors.s, imports.s, lisp.s, m4macros.m4,
7839        ppc-asmutils.s, ppc-constants.s, ppc-constants32.s,
7840        ppc-constants64.s, ppc-macros.s, ppc-spentry.s, ppc-spjump.s,
7841        ppc-subprims.s, ppc-uuo.s, x86-asmutils64.s, x86-constants.s,
7842        x86-constants64.s, x86-macros.s, x86-spentry64.s, x86-spjump64.s,
7843        x86-subprims64.s, x86-uuo.s, darwinppc/Makefile,
7844        darwinppc64/Makefile: Whoops.  Darwin as doesn't like #.  I dont
7845        like Darwin as, but we're back to single-line /* */, which is often
7846        pretty ugly and not well-supported by Emacs.
7847
78482006-04-17 23:23  gb
7849
7850        * lisp-kernel/: errors.s, imports.s, lisp.s, m4macros.m4,
7851        ppc-asmutils.s, ppc-constants.s, ppc-constants32.s,
7852        ppc-constants64.s, ppc-uuo.s, x86-asmutils64.s, x86-constants.s,
7853        x86-constants64.s, x86-macros.s, x86-spjump64.s, x86-subprims64.s,
7854        x86-uuo.s: Use #/newline for comment delimiters, which is supported
7855        by Emacs and by all current GAS versions (but see ARM conventions.)
7856         No more jerking around with this, knock wood.
7857
78582006-04-17 23:23  gb
7859
7860        * lisp-kernel/x86-spentry64.s: _SPspread_lexprz wasn't handling the
7861        case where caller provided args before the lexpr, which is much
7862        harder than the simple case.
7863       
7864        Use #/newline for comment delimiters, which is supported by Emacs
7865        and by all current GAS versions (but see ARM conventions.)  No more
7866        jerking around with this, knock wood.
7867
78682006-04-17 23:20  gb
7869
7870        * level-0/X86/x86-numbers.lisp: %FIXNUM-GCD was horrible, espcially
7871        when numbers differed greatly in magnitude.  Current (binary)
7872        algorithm is usually OK.
7873
78742006-04-17 23:17  gb
7875
7876        * compiler/X86/x86-lap.lisp: Condition name should be
7877        UNDEFINED-X86-LAP-LABEL, since it's (a) referenced and (b) that's
7878        not the problem.  Name wasn't spelled correctly in code that
7879        signals the condition, anyway.
7880
78812006-04-17 16:34  gb
7882
7883        * lisp-kernel/x86-exceptions.c: pc_luser_xp always takes a tcr
7884        argument, takes a new boolean to distinguish current tcr from
7885        others.  (The current tcr is only lusered on an interrupt; others
7886        are only lusered on GC entry.)
7887
78882006-04-17 16:33  gb
7889
7890        * lisp-kernel/x86-exceptions.h: X86 prototype for pc_luser_xp moved
7891        here.  (No deep reason not to share the new x86 signature on all
7892        architectures.)
7893
78942006-04-17 16:32  gb
7895
7896        * lisp-kernel/ppc-exceptions.h: PPC prototype for pc_luser_xp moved
7897        here.  (No deep reason not to share the new x86 signature on all
7898        architectures.)
7899
79002006-04-17 16:31  gb
7901
7902        * lisp-kernel/lisp-exceptions.h: prototype for pc_luser_xp is
7903        platform-dependent.
7904
79052006-04-17 06:49  gb
7906
7907        * level-1/l1-readloop.lisp: In the closure created in QUIT, only do
7908        CCL::DBG if (a) we're on X86 and (b) the inner closure is bad
7909        already.
7910
79112006-04-17 06:17  gb
7912
7913        * lisp-kernel/lisptypes.h: Don't know if there's such a thing as
7914        truly portable type name.
7915
79162006-04-17 06:16  gb
7917
7918        * lisp-kernel/: errors.s, lisp.s, m4macros.m4, x86-constants.s,
7919        x86-constants64.h, x86-constants64.s, x86-exceptions.c,
7920        x86-exceptions.h, x86-gc.c, x86-macros.s, x86-spentry64.s,
7921        x86-spjump64.s, x86-uuo.s: Well, // style comments seem to only
7922        work if they're at the start of a line in Linux GAS.  Try /* */
7923        comments, but limit them to a single line.  (May ultimately be
7924        better to use m4 dnl - carefully - and avoid end-of-line comments.)
7925
79262006-04-17 05:28  gb
7927
7928        * lisp-kernel/: x86-macros.s, x86-spentry64.s, x86-spjump64.s,
7929        x86-subprims64.s, x86-uuo.s: // comments.
7930
79312006-04-17 05:28  gb
7932
7933        * lisp-kernel/x86-gc.c: timeradd, timersub.  Other Solaris
7934        conditionalization.
7935
79362006-04-17 05:27  gb
7937
7938        * lisp-kernel/x86-exceptions.h: Solaris-related changes (xp
7939        accessors, etc.)
7940
79412006-04-17 05:26  gb
7942
7943        * lisp-kernel/x86-exceptions.c: Solaris-related changes (mostly in
7944        the sigstack trampoline stuff.)
7945
79462006-04-17 05:25  gb
7947
7948        * lisp-kernel/x86-constants64.h: // comments, Solaris-friendly
7949        integer types.
7950
79512006-04-17 05:24  gb
7952
7953        * lisp-kernel/: x86-asmutils64.s, x86-constants.s,
7954        x86-constants64.s: // comments.
7955
79562006-04-17 05:23  gb
7957
7958        * lisp-kernel/pmcl-kernel.c: Some Solaris conditionalization.
7959        Solaris mmap() is ... unusual.
7960
79612006-04-17 05:21  gb
7962
7963        * lisp-kernel/m4macros.m4: Use C++-style single-line comments,
7964        since Solaris version of GAS doen't handle multi-line comments (/*
7965        ... */).  It -seems- that other assemblers do handle them
7966        correctly; we'll see.
7967       
7968        Some Solaris conditionalization (ELFstabs, etc.)
7969
79702006-04-17 05:20  gb
7971
7972        * lisp-kernel/lisptypes.h: Conditionalize for Solaris (type names).
7973         We'll see what this breaks.
7974
79752006-04-17 05:19  gb
7976
7977        * lisp-kernel/lisp.h: PLATFORM_OS is PLATFORM_OS_SOLARIS when
7978        SOLARIS is defined.
7979
79802006-04-17 05:18  gb
7981
7982        * lisp-kernel/lisp-debug.c: Solaris conditionalization; print
7983        registers in predictable order.
7984
79852006-04-17 05:17  gb
7986
7987        * lisp-kernel/: errors.s, imports.s, lisp.s: Use C++-style
7988        single-line comments, since Solaris version of GAS doen't handle
7989        multi-line comments (/* ... */).  It -seems- that other assemblers
7990        do handle them correctly; we'll see.
7991
79922006-04-17 05:15  gb
7993
7994        * lisp-kernel/area.h: IMAGE_BASE_ADDRESS for SolarisX64.  Wrong.
7995
79962006-04-17 05:15  gb
7997
7998        * lisp-kernel/Threads.h: Conditionalize for Solaris.
7999       
8000        TODO: drop Jaguar support, use POSIX (vice Mach) semaphores on all
8001        platforms ?
8002
80032006-04-17 05:01  gb
8004
8005        * lisp-kernel/solarisx64/Makefile: new file
8006
80072006-04-17 04:56  gb
8008
8009        * lisp-kernel/linuxx8664/Makefile: Make it a little easier to
8010        change the name/usage of the linker script.
8011       
8012        Stop using the linker script (since spjump is the only thing in the
8013        kernel that has to be at a fixed address and we can copy it there.)
8014       
8015        Don't disable the EGC.
8016
80172006-04-17 04:54  gb
8018
8019        * lisp-kernel/x86-spjump64.s: Define spjump_start as the origin of
8020        the spjump table, exported for C (so that spjump can be mapped into
8021        low memory.)
8022
80232006-04-17 04:54  gb
8024
8025        * lisp-kernel/x86-spentry64.s: Use reserved_frame_marker.
8026       
8027        If the tlb's too small when trying to bind a special, push the
8028        binding index of the symbol we're binding (for the benefit of the
8029        handler.)
8030
80312006-04-17 04:52  gb
8032
8033        * lisp-kernel/x86-gc.c: Check for cases where a function has more
8034        code words than it has elements (can't happen, unless the
8035        function's code-words word is garbage, which seems to happen when
8036        closures get consed up in non-zeroed memory.)
8037       
8038        Make sure that we mark and forward Itemp2 (= %rcx = %temp2 =
8039        %nargs.q), which sometimes contains something tagged and
8040        non-immediate.
8041
80422006-04-17 04:48  gb
8043
8044        * lisp-kernel/x86-exceptions.c: new_heap_segment() (slowly) checks
8045        to ensure that everythings's zeroed.
8046       
8047        x8664 implementation of extend_tcr_tlb().
8048       
8049        on a gc trap, use tcr->save_allocptr (not the random value in %rbx)
8050        in call to update_bytes_allocated().
8051       
8052        normalize_tcr() - alway set tcr->save_allocptr/tcr->save_allocbase
8053        to VOID_ALLOCPTR (I -think- that this explains the crash-on-quit
8054        bug, and possibly some other instabiliy.)
8055       
8056        handle_exception: keep trying to guess how to distinguish memory
8057        faults from other sources of SIGSEGV.
8058       
8059        On debug traps, advance the PC past the UUO before entering the
8060        debugger.
8061       
8062        Handle XUUO_TLB_TOO_SMALL.
8063
80642006-04-17 04:42  gb
8065
8066        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
8067        reserved_frame_marker.
8068
80692006-04-17 04:42  gb
8070
8071        * lisp-kernel/thread_manager.c: Remove implementation of
8072        extend_tcr_tlb().
8073
80742006-04-17 04:41  gb
8075
8076        * lisp-kernel/ppc-exceptions.h: Prototype for PPC version of
8077        extend_tcr_tlb().
8078
80792006-04-17 04:41  gb
8080
8081        * lisp-kernel/ppc-exceptions.c: PPC version of extend_tcr_tlb().
8082
80832006-04-17 04:40  gb
8084
8085        * lisp-kernel/pmcl-kernel.c: Remap the spjump table on x8664, so
8086        that we don't need to use a linker script.
8087
80882006-04-17 04:40  gb
8089
8090        * lisp-kernel/Threads.h: extend-tcr-tlb: signature defined by
8091        target xxx-exceptions.h now.
8092
80932006-04-17 04:39  gb
8094
8095        * lib/misc.lisp: Some comment formatting/editing.
8096
80972006-04-17 04:38  gb
8098
8099        * level-1/version.lisp: Bump.
8100
81012006-04-17 04:38  gb
8102
8103        * level-1/l1-readloop.lisp: Some debugging code in the code which
8104        creates the final closure.  It seems that when it's bad, it's bad
8105        on creation (here.)
8106
81072006-04-17 04:37  gb
8108
8109        * level-1/l1-processes.lisp: Some debugging code in
8110        PROCESS-EXIT-APPLICATION, to try to catch whatever's causing the
8111        final closure to be trashed.
8112       
8113        I don't think that other threads were getting their allocptr's
8114        nullified correctly by the GC/normalize_tcr(); with the current
8115        debugging code in place, it seems like the closure is consed on top
8116        of something other than free, thread-private heap memory (when it's
8117        bad, it fails the first check here.  I'm not sure that the latest
8118        round of GC/normalize-tcr() changes have fixed the problem, but I
8119        haven't seen it in a while now, either.)
8120
81212006-04-17 04:32  gb
8122
8123        * level-0/X86/x86-def.lisp: %FUNCTION-CODE-BYTE (for partial
8124        disassembly, etc.).
8125
81262006-04-17 04:31  gb
8127
8128        * compiler/X86/X8664/x8664-vinsns.lisp: Use RESERVED-FRAME-MARKER
8129        in RESERVE-OUTGOING-FRAME; don't use ENSURE-RESERVED-FRAME at all
8130        (anymore.)
8131       
8132        Subprims are down in low memory again; make INIT-CLOSURE skip
8133        setting the high byte of .SPcall-closure's address if it's zero.
8134
81352006-04-17 04:28  gb
8136
8137        * compiler/X86/X8664/x8664-arch.lisp: Define RESERVED-FRAME-MARKER,
8138        which may help backtrace.
8139
81402006-04-17 04:26  gb
8141
8142        * lib/: backtrace.lisp, ppc-backtrace.lisp: Split up RAW-FRAME-REF
8143        (interface/implementation.)
8144
81452006-04-15 09:20  gb
8146
8147        * level-1/x86-callback-support.lisp: Ensure that callback
8148        trampolines are allocated in executable memory.
8149
81502006-04-15 09:12  gb
8151
8152        * lib/dumplisp.lisp: Refresh external entry points before reviving
8153        callbacks.  Reset callback storage before reviving callbacks.
8154
81552006-04-15 09:10  gb
8156
8157        * level-1/x86-error-signal.lisp: Don't prefix the unknown trap
8158        error message with a %.  (Where did that come from ?)
8159
81602006-04-15 09:08  gb
8161
8162        * level-1/ppc-callback-support.lisp: Don't (knock wood) need to do
8163        anything in RESET-CALLBACK-STORAGE for PPC, since malloc()ed memory
8164        is executable.
8165
81662006-04-14 09:02  gb
8167
8168        * lib/time.lisp: Jeez.  Save buffer, why dontcha.
8169
81702006-04-14 08:21  gb
8171
8172        * lib/time.lisp: ENCODE-UNIVERSAL-TIME: treat year 0-99 as
8173        shorthand for the nearest matching year.
8174
81752006-04-14 08:20  gb
8176
8177        * lib/format.lisp: FORMAT-PRINT-NUMBER was printing commas even
8178        when : was missing.
8179
81802006-04-13 23:09  gb
8181
8182        * lib/ppc-backtrace.lisp: Eschew missing parens.
8183
81842006-04-13 23:08  gb
8185
8186        * lib/describe.lisp: Change NTH-VALUE-IN-FRAME call.
8187
81882006-04-13 23:08  gb
8189
8190        * lib/backtrace.lisp: DBG-FORM checks the second return value from
8191        ARGLIST-FROM-MAP.
8192
81932006-04-13 23:02  gb
8194
8195        * lib/arglist.lisp: Don't pass a "conser" function around (the idea
8196        is leftover from 68K MCL).  ARGLIST-FROM-MAP tries to be consistent
8197        about returning a second value; returns values NIL, T for functions
8198        that take no args and don't have a symbol map.
8199
82002006-04-13 22:53  gb
8201
8202        * level-1/l1-lisp-threads.lisp: Try to make args to
8203        NTH-VALUE-IN-FRAME et al a little saner.
8204
82052006-04-13 22:37  gb
8206
8207        * lib/numbers.lisp: Conditionalize on word size, not PPC processor
8208        type.
8209
82102006-04-13 22:36  gb
8211
8212        * level-1/version.lisp: Bump.
8213
82142006-04-13 22:35  gb
8215
8216        * level-1/l1-aprims.lisp: Remove the DBG trap from #'APPLY.  Still
8217        trying to find the cause of the crash-on-quit bug.
8218
82192006-04-13 07:30  gb
8220
8221        * lib/ppc-backtrace.lisp: Migrate some stuff here.
8222
82232006-04-13 07:29  gb
8224
8225        * level-1/l1-lisp-threads.lisp, lib/backtrace.lisp: Migrate some
8226        stuff to target-backtrace.
8227
82282006-04-13 06:45  gb
8229
8230        * lisp-kernel/x86-gc.c: mark_root: need to handle TRAs earlier.
8231
82322006-04-13 06:44  gb
8233
8234        * lisp-kernel/pmcl-kernel.c: Set GC debug bits manually here on
8235        x8664.
8236
82372006-04-13 06:44  gb
8238
8239        * level-1/x86-error-signal.lisp: XP-ARGUMENT-LIST: only the low 13
8240        bytes of %nargs_q contain arg count.
8241
82422006-04-13 06:43  gb
8243
8244        * level-1/l1-error-system.lisp: No EVAL-PROGRAM-ERROR. Please.
8245
82462006-04-13 06:43  gb
8247
8248        * level-1/l1-aprims.lisp: Trying to find what's (sometimes)
8249        trashing a closure during QUIT; embed a #+x86-target breakpoint in
8250        APPLY.
8251
82522006-04-13 06:42  gb
8253
8254        * level-0/X86/x86-numbers.lisp: Bad typo in %FIXNUM-GCD.
8255
82562006-04-13 06:41  gb
8257
8258        * compiler/X86/x862.lisp: Lap expression changes; recycle constant
8259        operands.
8260
82612006-04-13 06:41  gb
8262
8263        * compiler/X86/x86-lap.lisp: Freelist a lot of things; use
8264        "vector-lists" instead of adjustable arrays, simplify handling of
8265        constant expressions.  Still conses hysterically; need to find out
8266        where and tone it down a bit, if possible.
8267
82682006-04-13 06:39  gb
8269
8270        * compiler/X86/x86-disassemble.lisp: Maybe no lap immediate
8271        operands; maybe no lap constant-expressions.
8272
82732006-04-13 06:39  gb
8274
8275        * compiler/X86/x86-asm.lisp: Don't need
8276        *lap-constant-0-expression*.
8277
82782006-04-13 00:46  gb
8279
8280        * lisp-kernel/linuxx8664/Makefile: Kernel depends on Makefile,
8281        linker script.
8282
82832006-04-13 00:45  gb
8284
8285        * lisp-kernel/linuxx8664/elf_x86_64.x: Use linker script from ld
8286        2.16.1 (Thanks to James Bielman).
8287
82882006-04-12 18:53  gb
8289
8290        * lisp-kernel/linuxx8664/elf_x86_64.x: Try to avoid use of
8291        PROVIDE_HIDDEN, since some versions of GNU ld don't like it.  (Most
8292        of this seems to have to do with C++ static constructors, which
8293        aren't really relevant here.)
8294
82952006-04-12 18:28  gb
8296
8297        * lisp-kernel/x86-spentry64.s: Use movd (not movq) when moving
8298        between %Rforeign_sp and GPRs.
8299
83002006-04-12 18:22  gb
8301
8302        * lisp-kernel/linuxx8664/Makefile: egc flag
8303
83042006-04-12 18:08  gb
8305
8306        * lisp-kernel/x86-gc.c: Add current/prev (temporarily) to help find
8307        where we're losing here.
8308
83092006-04-12 18:07  gb
8310
8311        * lisp-kernel/x86-exceptions.c: pc_luser_xp: notice if we're in the
8312        write barrier code, crap out if so.
8313
83142006-04-12 18:06  gb
8315
8316        * lisp-kernel/pmcl-kernel.c: Disable EGC if DISABLE_EGC is defined
8317        (presumably in a Makefile).
8318
83192006-04-12 14:50  gb
8320
8321        * level-1/version.lisp: Bump.
8322
83232006-04-12 14:46  gb
8324
8325        * lib/: compile-ccl.lisp, ppc-backtrace.lisp, systems.lisp,
8326        x86-backtrace.lisp: new target backtrace stuff.
8327
83282006-04-12 14:45  gb
8329
8330        * lib/backtrace.lisp: Start splitting things up, ideally into a
8331        mostly abstract API and gory platform- dependent implementation
8332        details.
8333
83342006-04-11 21:40  gb
8335
8336        * lisp-kernel/pmcl-kernel.c: Only way to stress-test EGC is to turn
8337        the damned thing on.  (A little painful with integrity checking
8338        enabled, as it still is by default.)
8339       
8340        TODO:
8341       
8342        - sleep (me) - non-recursive (link-inverting) marker - pc-lusering
8343        (pc_luser_xp()) - backtrace - ANSI CL tests - purify - 2d-aref - FP
8344        exception handling - check UUO usage in kernel, disassembler,
8345        exception handlers - stack overflow recovery
8346
83472006-04-11 21:24  gb
8348
8349        * lisp-kernel/x86-gc.c: Skip over function code in
8350        check_refmap_consistency.
8351
83522006-04-11 21:23  gb
8353
8354        * lisp-kernel/x86-spentry64.s: Write barrier memoization sets bits
8355        backwards.
8356
83572006-04-11 19:11  gb
8358
8359        * compiler/X86/x862.lisp: Change LABELS for new closure format.
8360
83612006-04-11 19:11  gb
8362
8363        * lisp-kernel/x86-spentry64.s: 3 words of code + inner function in
8364        a closure, no lfname slot in closure.
8365
83662006-04-11 16:29  gb
8367
8368        * lisp-kernel/linuxx8664/.gdbinit: ada  prints active dynamic (GC)
8369        area.
8370
83712006-04-11 16:29  gb
8372
8373        * lisp-kernel/x86-subprims64.s: Maintain the MXCSR on transitions
8374        between lisp/foreign code.
8375
83762006-04-11 16:29  gb
8377
8378        * lisp-kernel/x86-spentry64.s: Add write barrier stuff (may have
8379        bit-order problems.)
8380       
8381        Maintain the MXCSR on transitions between lisp/foreign code.
8382
83832006-04-11 16:28  gb
8384
8385        * lisp-kernel/x86-macros.s: Access globals in expressions.
8386
83872006-04-11 16:27  gb
8388
8389        * lisp-kernel/x86-gc.c: Start to implement EGC for X8664; this'll
8390        need some bootstrapping stuff (function boundary markers) for a few
8391        reasons, as will DWS marker.
8392
83932006-04-11 16:27  gb
8394
8395        * lisp-kernel/x86-exceptions.c: If we get an FP exception, report
8396        the siginfo error code.
8397
83982006-04-11 16:26  gb
8399
8400        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Define MXCSR
8401        fields in tcr.
8402
84032006-04-11 16:25  gb
8404
8405        * lisp-kernel/x86-constants.h: Define MXCSR bits.
8406
84072006-04-11 16:25  gb
8408
8409        * lisp-kernel/thread_manager.c: Setup the MXCSR somewhat sanely
8410        when starting a lisp thread.  (It'll be saner when FP exceptions
8411        are handled.)
8412
84132006-04-11 16:24  gb
8414
8415        * level-1/x86-error-signal.lisp: Recognize what complaints about
8416        non-uvectors are trying to tell us.
8417
84182006-04-11 16:23  gb
8419
8420        * level-1/l1-io.lisp: PRINT-OBJECT method for TRAs, symbol/function
8421        vectors.
8422
84232006-04-11 16:23  gb
8424
8425        * level-1/l1-clos-boot.lisp: Spell TAGGED-RETURN-ADDRESS with more
8426        Ses.  Define classes for function/symbol vectors.
8427
84282006-04-11 16:22  gb
8429
8430        * level-0/X86/x86-def.lisp: %RETURN-ADDRESS-OFFSET.
8431
84322006-04-11 16:21  gb
8433
8434        * compiler/X86/X8664/x8664-vinsns.lisp: Closure initialization
8435        needs to add a function boundary marker (but we can stop padding
8436        each closure with a null function name slot.)
8437
84382006-04-11 16:20  gb
8439
8440        * compiler/X86/X8664/x8664-arch.lisp: Define
8441        FUNCTION-BOUNDARY-MARKER, which should never exist in the wild.
8442
84432006-04-11 16:19  gb
8444
8445        * compiler/X86/x862.lisp: Emit a function boundary marker between
8446        code and constants. (For GC reasons.) Change closure initialization
8447        to account for it.
8448
84492006-04-11 16:18  gb
8450
8451        * compiler/X86/x86-lap.lisp: Emit a function boundary marker
8452        between code and constants. (For GC reasons.)
8453
84542006-04-11 16:17  gb
8455
8456        * compiler/X86/x86-disassemble.lisp: Require more stuff.
8457
84582006-04-11 16:17  gb
8459
8460        * compiler/nxenv.lisp: Require X8664ENV on X8664.
8461       
8462        See if we can get by without 68K condition code ...
8463
84642006-04-11 06:53  gb
8465
8466        * lisp-kernel/x86-exceptions.c: We'll need to handle FP exceptions
8467        soon.
8468
84692006-04-11 06:53  gb
8470
8471        * lib/numbers.lisp: Infinity constants conditionalized on/off
8472        during MXCSR adventures.  On now.
8473
84742006-04-11 06:52  gb
8475
8476        * lib/describe.lisp: Comment indentation.
8477       
8478        No such thing as an interpreted function; hasn't been for years.
8479
84802006-04-11 06:51  gb
8481
8482        * level-1/x86-threads-utils.lisp: Fixup lfun bits of %FIXNUM-SET et
8483        al.
8484
84852006-04-11 06:51  gb
8486
8487        * level-1/version.lisp: Bumped yesterday.
8488
84892006-04-11 06:50  gb
8490
8491        * level-1/l1-error-signal.lisp: Comments.
8492
84932006-04-11 06:50  gb
8494
8495        * level-1/l1-clos-boot.lisp: CLASS-OF handles non-simple vectors,
8496        at least.
8497
84982006-04-11 06:50  gb
8499
8500        * level-0/X86/x86-float.lisp: MXCSR stuff.  Better, mostly because
8501        a fixnum constant is boxed in %SET-MXCSR.
8502
85032006-04-11 06:49  gb
8504
8505        * level-0/X86/x86-def.lisp: Get info about register usage.
8506
85072006-04-11 06:49  gb
8508
8509        * compiler/X86/X8664/x8664-vinsns.lisp: Natural arithmetic; start
8510        work on 2d aref.  Fix MISC-SET-U64 (or some flavor thereof), which
8511        though that it was dealing with a scaled index.
8512
85132006-04-11 06:48  gb
8514
8515        * compiler/X86/x862.lisp: Natural arithmetic; start work on 2d
8516        aref.
8517
85182006-04-11 06:48  gb
8519
8520        * compiler/X86/x86-lap.lisp: FRAGs are freelisted.  Really need to
8521        do something about FRAG-CODE-BUFFERs, and need to tone down
8522        expression overkill.
8523
85242006-04-11 06:46  gb
8525
8526        * compiler/X86/x86-backend.lisp: Vinsn template fixup mechanism,
8527        for when opcode ordinals change.
8528
85292006-04-11 06:46  gb
8530
8531        * compiler/X86/x86-asm.lisp: UUO-ERROR-STACK-OVERFLOW ->
8532        UUO-ERROR-ARRAY-RANK.
8533       
8534        Vinsn template fixup mechanism, for when opcode ordinals change.
8535
85362006-04-11 06:45  gb
8537
8538        * compiler/X86/x86-arch.lisp: Try to unscramble MXCSR bits/masks.
8539
85402006-04-11 06:45  gb
8541
8542        * compiler/nx0.lisp: NX-U31-CONSTANT-P.
8543
85442006-04-11 06:44  gb
8545
8546        * compiler/dll-node.lisp: WITH-DLL-NODE-FREELIST: syntax to allow
8547        specialized list header initialization.
8548
85492006-04-11 06:43  gb
8550
8551        * level-1/l1-error-system.lisp, compiler/arch.lisp: Type errors for
8552        2d float arrays.
8553
85542006-04-10 10:19  gb
8555
8556        * lisp-kernel/x86-spentry64.s: _SPcallback is now called with the
8557        foreign SP properly obeying C alignment conventions.  In order to
8558        get it aligned for lisp usage during the callback, an extra word
8559        needs to be pushed before the backpointer to the old foreign RSP.
8560
85612006-04-10 10:18  gb
8562
8563        * lisp-kernel/x86-exceptions.c: Ensure that the copied sigcontext
8564        is 16-byte aligned, so that the foreign stack pointer is aligned
8565        according to C conventions when we enter the signal handler on that
8566        stack.
8567
85682006-04-10 10:13  gb
8569
8570        * lib/numbers.lisp: Define FP infinities, since we're running with
8571        FP exceptions masked. (We don't handle FP exceptions on X8664 yet,
8572        but this was crashing due to ldmxcsr/stmxcsr confusion, not because
8573        an unmasked FP exception was raised and unhandled.)
8574
85752006-04-10 10:10  gb
8576
8577        * lib/level-2.lisp: Remove the WARN and the conditionalization
8578        around bit/bitfield accessors on X8664.
8579
85802006-04-10 10:09  gb
8581
8582        * level-0/X86/x86-float.lisp: Repeat after me: to load the mxcsr
8583        from memory, we say "ldmxcsr".  We want to do such a load in order
8584        to write new values into the mxcsr.  To store it in memory, we say
8585        "stmxcsr".  We want to do such a store (and a subsequent load from
8586        memory) in order to access the value of the mxcsr.  Simple, no ?
8587
85882006-04-10 10:07  gb
8589
8590        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp:
8591        %GET-BIT/%SET-BIT.
8592
85932006-04-10 08:29  gb
8594
8595        * compiler/X86/X8664/x8664-vinsns.lisp: Float
8596        addition/multiplication: either arg can overlap result (and often
8597        will).  Float subtraction/division: caller should ensure that
8598        result and second arg are disjoint.
8599
86002006-04-10 08:27  gb
8601
8602        * compiler/X86/x862.lisp: Float arithmetic is two-address; ensure
8603        that result doesn't overlap second argument for non-commutative
8604        operations.
8605
86062006-04-10 08:26  gb
8607
8608        * lisp-kernel/lisp-debug.c: Show FPRs on LinuxX8664.
8609
86102006-04-10 05:12  gb
8611
8612        * lisp-kernel/thread_manager.c: Don't free dead TCRs if we didn't
8613        malloc them.
8614
86152006-04-10 05:12  gb
8616
8617        * lib/compile-ccl.lisp: REBUILD-CCL paramaters for :LINUXX8664.
8618
86192006-04-10 05:11  gb
8620
8621        * level-1/l1-pathnames.lisp: No need to reference PPC package, and
8622        good reason not to.
8623
86242006-04-10 04:39  gb
8625
8626        * xdump/xfasload.lisp: signed 32-bit, 64-bit integers in fasl files
8627        are always big-endian.
8628
86292006-04-10 04:38  gb
8630
8631        * lisp-kernel/x86-gc.c: mark_root(): if we're marking a function
8632        reachable via a TRA, update the variable "dnode" so that the
8633        correct bits get set.
8634
86352006-04-10 04:37  gb
8636
8637        * level-0/X86/X8664/x8664-bignum.lisp: Remove some breakpoints.
8638
86392006-04-10 04:37  gb
8640
8641        * level-0/X86/x86-array.lisp: %SIMPLE-BIT-BOOLE.  Could stand to be
8642        a bit simpler.
8643
86442006-04-10 04:36  gb
8645
8646        * level-0/l0-hash.lisp: Whoops: %SET-NEEDS-REHASHING is called from
8647        the MAKE-LOAD-FORM method for hashtables.
8648
86492006-04-09 09:17  gb
8650
8651        * lisp-kernel/thread_manager.c: Inflate control stack size on
8652        x8664, until DWS marker works (and do so correctly this time).
8653
86542006-04-09 09:12  gb
8655
8656        * lisp-kernel/thread_manager.c: Inflate control stack size on
8657        x8664, until DWS marker works.
8658
86592006-04-09 09:09  gb
8660
8661        * level-0/l0-hash.lisp: Now that bitvectors work, remove
8662        #+x86-target DBG trap.
8663
86642006-04-09 08:57  gb
8665
8666        * level-0/l0-hash.lisp: Set/clear rehash bits via SBIT, not AREF.
8667        (Should be exactly the same code, but may not have been 15 years
8668        ago or whenever this was written.)
8669
86702006-04-09 08:56  gb
8671
8672        * lisp-kernel/x86-spentry64.s,
8673        compiler/X86/X8664/x8664-vinsns.lisp: Clear bits in a bit vector
8674        via btrX (Bit Test and Reset), not btcX (Bit Test and Complement.)
8675
86762006-04-09 03:52  gb
8677
8678        * lisp-kernel/x86-macros.s: Parens around negative displacement in
8679        condition_to_boolean.  Not clear why this is necessary, but it
8680        seems to be.
8681
86822006-04-09 03:24  gb
8683
8684        * lisp-kernel/x86-macros.s: Use shorter sequence in
8685        condition_to_boolean.
8686
86872006-04-09 02:32  gb
8688
8689        * compiler/X86/X8664/x8664-vinsns.lisp: Using cmovCC intstead of
8690        setCC for cr-bit->boolean is 1 instruction and 2 bytes shorter, all
8691        other things being equal.
8692
86932006-04-09 01:37  gb
8694
8695        * compiler/X86/x86-asm.lisp: reg/reg variants of bsfX, bsrX had
8696        operands backwards.
8697
86982006-04-09 01:37  gb
8699
8700        * compiler/optimizers.lisp: Comment formatting.
8701
87022006-04-09 01:29  gb
8703
8704        * level-0/X86/X8664/x8664-bignum.lisp: %BIGNUM-SIGN-DIGITS:
8705        bsr/xorl != clz when (zerop n).
8706
87072006-04-08 21:25  gb
8708
8709        * lisp-kernel/x86-exceptions.c: Forget about blocking SIGINT in
8710        current thread before entering kernel debugger.
8711
87122006-04-08 21:21  gb
8713
8714        * lib/compile-ccl.lisp: early def of XLOAD-LEVEL-0: require
8715        (TARGET-XLOAD-MODULES).
8716
87172006-04-08 21:21  gb
8718
8719        * lisp-kernel/x86-spentry64.s: misc_set_s16: forgot a lognot.
8720
87212006-04-08 21:20  gb
8722
8723        * level-0/nfasload.lisp: 64-bit vectors: target::, not ppc64::.
8724
87252006-04-08 20:46  gb
8726
8727        * lib/foreign-types.lisp: Add missing paren ...
8728
87292006-04-08 20:45  gb
8730
8731        * lib/foreign-types.lisp: Recognize a :struct-by-value case.
8732
87332006-04-08 20:44  gb
8734
8735        * compiler/X86/X8664/x8664-backend.lisp: X8664 ABI seems to pass
8736        structs by value, sort of.
8737
87382006-04-08 20:43  gb
8739
8740        * x86-headers64/libc/C/populate.sh: Add -D_GNU_SOURCE to CFLAGS.
8741
87422006-04-08 20:42  gb
8743
8744        * library/hash-cons.lisp: Port some of this to x8664; need to add
8745        code to maintain "used" bitmap.
8746
87472006-04-08 20:42  gb
8748
8749        * lib/numbers.lisp: Conditionalize out the FP infinity stuff in the
8750        short term.
8751
87522006-04-08 20:41  gb
8753
8754        * lib/edit-callers.lisp: %MAP-LFIMMS: lfun-vector changes.  Should
8755        someday fix this crap.
8756
87572006-04-08 20:40  gb
8758
8759        * lib/describe.lisp: Conditionalize, a little.
8760
87612006-04-08 20:40  gb
8762
8763        * lib/db-io.lisp: SAVE-DB-FUNCTION appears to be unused.
8764
87652006-04-08 20:39  gb
8766
8767        * level-1/l1-io.lisp: PRINT-A-NAN not #+ppc-target.
8768
87692006-04-08 20:39  gb
8770
8771        * level-1/l1-readloop-lds.lisp: Error reentry stuff here.
8772
87732006-04-08 20:39  gb
8774
8775        * level-1/l1-sockets.lisp: Workaround ffi translator lossage in
8776        _inet_ntoa (just as Darwin has for years; why not fix this ?)
8777
87782006-04-08 20:38  gb
8779
8780        * level-1/ppc-trap-support.lisp: Error-reentry stuff to
8781        l1-readloop-lds (nothing to do with PPC or traps ...)
8782
87832006-04-08 20:37  gb
8784
8785        * .cvsignore: Ignore *CL*/*cl*, not necessarily *CCL*/*ccl*.
8786
87872006-04-08 04:46  gb
8788
8789        * compiler/X86/x862.lisp: X862-MVCALL needs to always save and
8790        restore, even if there's only one values-producing form (that form
8791        might produce more values than will fit in argument registers, and
8792        we therefore have to reserve space for a stack frame.)
8793
87942006-04-08 04:45  gb
8795
8796        * compiler/X86/x86-asm.lisp: Need to actually define INSERT-IMM64.
8797
87982006-04-08 04:43  gb
8799
8800        * lib/macros.lisp: Scanning backwards for instructions depends on a
8801        reasonable architecture.
8802
88032006-04-08 04:43  gb
8804
8805        * lib/compile-ccl.lisp: TARGET-XLOAD-MODULES for x8664.
8806
88072006-04-08 04:42  gb
8808
8809        * xdump/xfasload.lisp: Hide ppc32 double-float-vector stuff in
8810        target arch.
8811
88122006-04-08 04:41  gb
8813
8814        * xdump/.cvsignore: ignore *.*fsl
8815
88162006-04-07 22:46  gb
8817
8818        * compiler/nx.lisp: XCOMPILE-LAMBDA is #+ppc-target for now.
8819
88202006-04-07 22:45  gb
8821
8822        * compiler/nx1.lisp: Provide an FTYPE declaration for
8823        %DEFINE-PPC-LAP-FUNCTION.
8824
88252006-04-07 22:25  gb
8826
8827        * level-1/version.lisp: Bump.
8828
88292006-04-07 22:19  gb
8830
8831        * compiler/PPC/ppc-asm.lisp, compiler/PPC/ppc-backend.lisp,
8832        compiler/PPC/ppc-disassemble.lisp, compiler/PPC/ppc-lap.lisp,
8833        lib/backtrace-lds.lisp: ARCH::OPCODE, ARCH::OPERAND moved to CCL
8834        package.
8835
88362006-04-07 22:18  gb
8837
8838        * compiler/risc-lap.lisp: OPCODE, OPERAND moved here and from
8839        arch:: to ccl::.
8840
88412006-04-07 22:17  gb
8842
8843        * compiler/arch.lisp: OPERAND, OPCODE belong elsewhere (in
8844        RISC-LAP, for instance).  That's a different package, too.
8845
88462006-04-07 20:46  gb
8847
8848        * library/lispequ.lisp: %CONS-FAKE-STACK-FRAME here.  Really.
8849
88502006-04-07 20:45  gb
8851
8852        * level-0/l0-pred.lisp: *IMMHEADER-1-TYPES* was wrong, too.  Should
8853        I maybe look at the others, or just fix them as I stumble on them ?
8854
88552006-04-07 20:44  gb
8856
8857        * compiler/X86/X8664/x8664-vinsns.lisp: jns->jne when checking for
8858        a DOUBLE-FLOAT.
8859
88602006-04-07 20:41  gb
8861
8862        * level-0/nfasload.lisp: Print file pos in FASL-DISPATCH debug
8863        message.
8864
88652006-04-07 20:40  gb
8866
8867        * lib/nfcomp.lisp: #+x8664: Check for fulltag-immheader-1, not
8868        fulltag-immheader-0 twice in fasl-scan-dispatch
8869       
8870        FASL-DUMP-SYMBOL needs a SYMPTR->SYMVECTOR.  (Note that FASLOAD has
8871        never handled uninterned symbols that need a binding index.)
8872
88732006-04-07 07:55  gb
8874
8875        * lib/describe.lisp: Formatting changes, mostly.
8876
88772006-04-07 07:54  gb
8878
8879        * compiler/X86/x862.lisp: multiple-value-calls need to reserve an
8880        outgoing stack frame when more than 3 args/ values are involved.
8881
88822006-04-07 07:53  gb
8883
8884        * lisp-kernel/x86-spentry64.s, lisp-kernel/x86-spjump64.s,
8885        compiler/X86/X8664/x8664-arch.lisp,
8886        compiler/X86/X8664/x8664-vinsns.lisp: _SPrecover-values-for-mvcall
8887        (reserves outgoing frame if necessary.)
8888
88892006-04-07 07:52  gb
8890
8891        * level-1/ppc-trap-support.lisp: %CONS-FAKE-STACK-FRAME moved to
8892        lispequ.
8893
88942006-04-07 06:28  gb
8895
8896        * compiler/X86/X8664/x8664-vinsns.lisp: pop argument regs in the
8897        right order.
8898
88992006-04-07 06:27  gb
8900
8901        * level-0/X86/x86-misc.lisp: VALUES accounts for reserved frame.
8902
89032006-04-07 03:59  gb
8904
8905        * compiler/X86/x862.lisp: Don't push the function on the "value"
8906        stack when doing a MULTIPLE-VALUE-CALL, since its presence there
8907        can interfere with multiple-value continuations.  (Can it be popped
8908        before recovering multiple values ?  I didn't think of that, but I
8909        suspect that that'd be simpler than what I did; check this.  Maybe
8910        there is -or once was- an issue with _SPrecovervalues bashing a
8911        register.)
8912       
8913        Pushing the function on the temp stack while collecting multiple
8914        values avoids the issue (but it may be far better to simply vpop it
8915        before the call to _SPrecovervalues.)
8916       
8917        Most of the issues related to X862-MVCALL calling itself
8918        recursively have to do with cleaning the function off of the stack
8919        in non tail-call cases.  Since the function's not there anymore,
8920        the rationale for splitting this into a base and recursive case
8921        isn't very strong.
8922       
8923        Changes in X862-MVCALL exposed bugs in X862-INVOKE-FN: we don't
8924        want to emit or otherwise reference the mvpass label if it's null.
8925
89262006-04-07 03:51  gb
8927
8928        * compiler/X86/X8664/x8664-vinsns.lisp: TEMP-PUSH-NODE,
8929        TEMP-POP-NODE.
8930
89312006-04-06 21:27  gb
8932
8933        * lib/db-io.lisp: CDB-HASH-MASK happens to be =
8934        PPC32::TARGET-MOST-POSITIVE-FIXNUM.
8935
89362006-04-06 21:26  gb
8937
8938        * level-1/x86-trap-support.lisp: Bugs, not worth describing in
8939        detail.
8940
89412006-04-06 21:25  gb
8942
8943        * level-1/x86-error-signal.lisp: Bugs, not worth describing in
8944        detail ...
8945
89462006-04-06 21:24  gb
8947
8948        * level-1/l1-lisp-threads.lisp: Simplify CFP-LFUN.
8949
89502006-04-06 21:23  gb
8951
8952        * compiler/X86/X8664/x8664-backend.lisp: Fenceposts with the last
8953        gpr/fpr args.
8954
89552006-04-06 21:22  gb
8956
8957        * compiler/X86/X8664/x8664-arch.lisp: tcr->linear_end ->
8958        tcr->save_rbp.
8959
89602006-04-06 21:21  gb
8961
8962        * lisp-kernel/x86-spentry64.s: Maintain tcr->save_rbp on
8963        ffcall/callback.
8964
89652006-04-06 21:20  gb
8966
8967        * lisp-kernel/x86-exceptions.c: Setup tcr->save_rbp when doing a
8968        callback.
8969       
8970        Pass rpc to %ERR-DISP, as it expects.
8971
89722006-04-06 21:19  gb
8973
8974        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
8975        tcr->linear_end -> tcr->save_rbp.
8976
89772006-04-06 07:03  gb
8978
8979        * lisp-kernel/x86-exceptions.c: Call out to handle errors.
8980
89812006-04-06 07:03  gb
8982
8983        * lisp-kernel/linuxx8664/.gdbinit: Ignore more signals.
8984
89852006-04-06 06:44  gb
8986
8987        * compiler/X86/X8664/x8664-vinsns.lisp: Use new UUOs for
8988        slot-boundp checks, eep.address.
8989
89902006-04-06 06:43  gb
8991
8992        * compiler/X86/x862.lisp: X862-FIXUP-FWD-REFS: don't assume that
8993        functions are uvectors or that their constants start at index 1.
8994       
8995        PROGV: don't keep interrupts off in the body.
8996
89972006-04-06 05:58  gb
8998
8999        * compiler/X86/x86-asm.lisp: RESOLVE-EEP uuo needs source and dest
9000        registers to be recoverable.
9001       
9002        Use (int ($ #x8x)) for SLOT-UNBOUND, since it needs slot-vector,
9003        index, and dest reg to be recoverable.
9004       
9005        Note that the use of this range of (int N) operands may lead to
9006        confusion on platforms that use int #x80 for syscalls.  That (a)
9007        doesn't apply to x8664, since SYSCALL is present and used on x8664
9008        and (b) would only be a problem if the dest reg was %rax, which it
9009        won't be.
9010
90112006-04-06 05:53  gb
9012
9013        * lib/macros.lisp: DEFSETF for INTERRUPT-LEVEL here.
9014
90152006-04-06 05:53  gb
9016
9017        * level-0/l0-init.lisp: Better (useful) X8664 *FEATURES*.
9018
90192006-04-06 05:52  gb
9020
9021        * level-0/l0-hash.lisp: Remove some #+x86-target DBG traps.   Add a
9022        few fixnum decls in and around DO-REHASH.
9023
90242006-04-06 05:51  gb
9025
9026        * level-0/X86/x86-def.lisp: %RETURN-ADDRESS-FUNCTION: if argument
9027        is a "real" tagged return address, return the associated function.
9028
90292006-04-06 05:50  gb
9030
9031        * level-1/: x86-error-signal.lisp, x86-trap-support.lisp: Flesh
9032        this out some.  The FAKE-STACK-FRAME stuff isn't quite the right
9033        idea on X8664; may need to revise it.
9034
90352006-04-06 05:49  gb
9036
9037        * level-1/ppc-trap-support.lisp: Remove HANDLE-GC-HOOKS.
9038
90392006-04-06 05:49  gb
9040
9041        * level-1/ppc-threads-utils.lisp: DEFSETF for INTERRUPT-LEVEL moved
9042        ... anywhere but a platform-specific file.
9043
90442006-04-06 05:48  gb
9045
9046        * level-1/l1-events.lisp: HANDLE-GC-HOOKS isn't really
9047        platform-specific, so move it here.
9048
90492006-04-06 05:47  gb
9050
9051        * level-1/: l1-clos-boot.lisp, l1-clos.lisp: Hashing code expects
9052        instance.hash to be a fixnum, so violating that expectation (as was
9053        done a few weeks ago for debugging) fouls things up royally.  This
9054        may have led to instability on PPC as well.
9055
90562006-04-06 05:44  gb
9057
9058        * lisp-kernel/x86-exceptions.c: Return false (for now) on unhandled
9059        UUO.  (Need to merge code from another machine, which will try to
9060        call out to lisp.)
9061
90622006-04-06 05:43  gb
9063
9064        * lisp-kernel/pmcl-kernel.c: register_sigint_handler on x8664.
9065
90662006-04-05 06:57  gb
9067
9068        * lisp-kernel/x86-spentry64.s: nthrow variants: set %Rforeign_sp,
9069        not tcr slot.
9070       
9071        _SPcallback aligns the foreign stack the way that lisp expects.
9072
90732006-04-05 06:56  gb
9074
9075        * lisp-kernel/x86-exceptions.c: Handle more stuff, including
9076        interrupt callbacks.
9077
90782006-04-05 06:55  gb
9079
9080        * library/x8664-linux-syscalls.lisp: GETUID was wrong.
9081
90822006-04-05 06:55  gb
9083
9084        * level-1/x86-trap-support.lisp: VERY early callback for interrupt
9085        handling.
9086
90872006-04-05 06:54  gb
9088
9089        * level-1/l1-callbacks.lisp: Comment format
9090
90912006-04-05 06:54  gb
9092
9093        * level-0/X86/x86-utils.lisp: Arg order in lap macros.
9094
90952006-04-05 06:54  gb
9096
9097        * level-0/l0-pred.lisp: Get *IMMHEADER-2-TYPES* (or whatever it's
9098        called) right.
9099
91002006-04-05 06:53  gb
9101
9102        * compiler/X86/X8664/x8664-backend.lisp: DEFCALLBACK guts for
9103        X8664.
9104
91052006-04-05 05:20  gb
9106
9107        * lisp-kernel/x86-exceptions.c: Do some callbacks.  Let's see if
9108        they work yet.
9109
91102006-04-05 05:19  gb
9111
9112        * lisp-kernel/x86-spentry64.s: Use interrupt-checking macros.  Fix
9113        callback typos.
9114
91152006-04-05 05:19  gb
9116
9117        * lisp-kernel/x86-macros.s: Check for interrupts, and do so when we
9118        know that they've just become enabled.
9119
91202006-04-05 05:17  gb
9121
9122        * lisp-kernel/x86-exceptions.c: Set high bit of tcr->interrupt
9123        pending when there's ... a pending interrupt.
9124
91252006-04-05 05:17  gb
9126
9127        * lisp-kernel/x86-exceptions.h: Define xuuo stuff.
9128
91292006-04-04 21:47  gb
9130
9131        * lisp-kernel/x86-spentry64.s: callback changes.
9132
91332006-04-04 21:47  gb
9134
9135        * lisp-kernel/lisp-debug.c: rip "=", not "-".
9136
91372006-04-04 21:46  gb
9138
9139        * lisp-kernel/linuxx8664/.gdbinit: Ignore SIGPWR, until we know
9140        better.
9141
91422006-04-04 18:51  gb
9143
9144        * lisp-kernel/pmcl-kernel.c: Wimp out, back to 128GB for
9145        LinuxPPC64.
9146
91472006-04-04 18:50  gb
9148
9149        * level-1/linux-files.lisp: Don't use %GET-NATURAL in Linux version
9150        of PIPE, since file descriptors are always C ints.
9151
91522006-04-04 18:03  gb
9153
9154        * compiler/PPC/PPC32/ppc32-backend.lisp,
9155        compiler/PPC/PPC64/ppc64-backend.lisp, lib/macros.lisp: callback
9156        implementation moved to the backend.
9157
91582006-04-04 18:02  gb
9159
9160        * lib/arglist.lisp: ARGLIST-FROM-MAP: get &rest name right when
9161        &key is also present.
9162
91632006-04-04 16:10  gb
9164
9165        * lisp-kernel/pmcl-kernel.c: linuxppc64 can't mmap 512GB; try
9166        256GB.
9167
91682006-04-04 15:52  gb
9169
9170        * level-1/version.lisp: Bump. New images soon.
9171
91722006-04-04 15:52  gb
9173
9174        * compiler/backend.lisp: Add slots for callback definition.
9175
91762006-04-04 15:52  gb
9177
9178        * compiler/nx0.lisp: Remove a #-bccl.
9179
91802006-04-04 15:26  gb
9181
9182        * lisp-kernel/x86_print.c: print_unsigned_hex: conditionalize on
9183        word size.
9184
91852006-04-04 15:26  gb
9186
9187        * lisp-kernel/x86-spentry64.s: First cut of _SPcallback.
9188
91892006-04-04 15:26  gb
9190
9191        * lisp-kernel/x86-macros.s: Catch frames save foreign sp from
9192        register, not from tcr slot.
9193
91942006-04-04 15:25  gb
9195
9196        * lisp-kernel/x86-exceptions.c: Uncomment the body of
9197        interrupt_handler.
9198
91992006-04-04 15:18  gb
9200
9201        * compiler/lambda-list.lisp: %LFUN-INFO & friends: do
9202        (FUNCTION-TO-FUNCTION-VECTOR).
9203
92042006-04-04 15:18  gb
9205
9206        * compiler/X86/x86-lapmacros.lisp: check-nargs: bad comparison on
9207        max when both min and max.
9208
92092006-04-04 15:18  gb
9210
9211        * lib/macros.lisp: spurious checkin; no real change
9212
92132006-04-03 23:01  gb
9214
9215        * lisp-kernel/x86-gc.c: Make purify() a nop, for now.
9216
92172006-04-03 22:43  gb
9218
9219        * scripts/openmcl64: Maybe (check for x8664 Linux is untested).
9220
92212006-04-03 22:42  gb
9222
9223        * lisp-kernel/bits.h: Constants are word-size (not CPU-variant)
9224        -specific.
9225
92262006-04-03 22:42  gb
9227
9228        * lisp-kernel/pmcl-kernel.c: 512GB MAXIMUM_MAPPABLE_MEMORY on
9229        x8664/Linux as well.
9230
92312006-04-03 22:41  gb
9232
9233        * lisp-kernel/ppc-gc.c: Remove X86 conditionalization.  Maybe merge
9234        x86-gc.c and ppc-gc.c back into a single file someday (or at least
9235        put truly shared code there),but for now this is simpler.
9236
92372006-04-03 22:38  gb
9238
9239        * lisp-kernel/x86-exceptions.c: A little more infrastructure, so
9240        that we can actually call the GC.
9241
92422006-04-03 22:37  gb
9243
9244        * lisp-kernel/x86-exceptions.h: Define UUO, trap opcodes.
9245
92462006-04-03 22:36  gb
9247
9248        * lisp-kernel/x86-gc.c: It's ... alive.
9249
92502006-04-03 22:36  gb
9251
9252        * lisp-kernel/x86-spentry64.s: Use new vector bounds traps. How
9253        about boundp checks ?
9254
92552006-04-03 22:35  gb
9256
9257        * lisp-kernel/x86-uuo.s: New uuo definitions.
9258
92592006-04-03 22:35  gb
9260
9261        * lib/macros.lisp: DO-GC-AREAS,which is one of those macro things,
9262        moved here. Uses archmacro AREA-SUCC (defined here) to avoid
9263        TARGET-ARCH-CASE lossage.
9264
92652006-04-03 22:34  gb
9266
9267        * level-1/l1-lisp-threads.lisp: DO-GC-AREAS,which is one of those
9268        macro things, moved to macros.lisp.
9269
92702006-04-03 22:33  gb
9271
9272        * level-0/X86/x86-misc.lisp: Zero out all of the write-lock's
9273        writer slot, not just the low half.
9274
92752006-04-03 22:32  gb
9276
9277        * level-0/PPC/ppc-utils.lisp: TRUE, FALSE : cmplr vs cmplri.
9278        Typical rookie PPC assembler mistake ...
9279
92802006-04-03 22:31  gb
9281
9282        * level-0/l0-misc.lisp: %FREEBYTES looked like a job for
9283        %GET-NATURAL.
9284
92852006-04-03 22:31  gb
9286
9287        * compiler/X86/X8664/x8664-vinsns.lisp: Use newfangled UUOs.
9288
92892006-04-03 22:30  gb
9290
9291        * compiler/X86/x86-asm.lisp: Add UUO-ERROR-UNBOUND,
9292        UUO-ERROR-SLOT-UNBOUND, UUO-ERROR-EEP-UNRESOLVED.
9293
92942006-04-03 22:29  gb
9295
9296        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
9297        X86/X8664/x8664-arch.lisp: AREA-SUCC archmacro.
9298
92992006-04-01 23:36  gb
9300
9301        * lisp-kernel/x86-exceptions.h: xpMMXreg, sigaltstack stuff.
9302
93032006-04-01 23:35  gb
9304
9305        * lisp-kernel/x86-exceptions.c: take signals on an alternate signal
9306        stack, run the handler on the foreign stack (this is all intended
9307        to keep signal handlers from splatting sigcontexts all over the
9308        tagged lisp stack.)
9309
93102006-04-01 23:33  gb
9311
9312        * lisp-kernel/x86-constants64.h: mmx register indices.
9313
93142006-04-01 23:33  gb
9315
9316        * lisp-kernel/x86-asmutils64.s: switch_to_foreign_stack().
9317
93182006-04-01 23:32  gb
9319
9320        * lisp-kernel/thread_manager.c: register_cstack_holding_area_lock()
9321        takes a natural stack size.
9322
93232006-04-01 23:32  gb
9324
9325        * lisp-kernel/pmcl-kernel.c: register_cstack_holding_area_lock()
9326        takes a natural stack size, sets up alternate signal stack if
9327        USE_SIGALTSTACK.
9328
93292006-04-01 23:31  gb
9330
9331        * lisp-kernel/lisp.h: USE_SIGALTSTACK if X8664.  (Might someday
9332        depend on platform.)
9333
93342006-03-31 23:15  gb
9335
9336        * lisp-kernel/linuxx8664/Makefile: gc.o -> x86-gc.o
9337
93382006-03-31 23:00  gb
9339
9340        * lisp-kernel/x86-gc.c: New file; currently, an exact copy of
9341        ppc-gc.c, but they'll diverge some soon.
9342
93432006-03-31 22:56  gb
9344
9345        * lisp-kernel/: linuxppc/Makefile, linuxppc64/Makefile,
9346        static-linuxppc/Makefile: gc.o -> ppc-gc.o
9347
93482006-03-31 22:52  gb
9349
9350        * lisp-kernel/: darwinppc/Makefile, darwinppc64/Makefile: gc.o ->
9351        ppc-gc.o
9352
93532006-03-31 22:51  gb
9354
9355        * lisp-kernel/area.h: Need prototype for heap_area_containing().
9356        heap_node_area_containing(), which doesn't exist ... not so much.
9357
93582006-03-31 22:50  gb
9359
9360        * lisp-kernel/memory.c: Some functions moved here from gc.c before
9361        it was renamed/split.
9362
93632006-03-31 22:48  gb
9364
9365        * lisp-kernel/gc.c: rename/split
9366
93672006-03-31 22:46  gb
9368
9369        * lisp-kernel/ppc-gc.c: renamed
9370
93712006-03-31 00:54  gb
9372
9373        * lisp-kernel/x86-spentry64.s: Progvsave, progvrestore seem to
9374        work.
9375       
9376        Not sure about the tail end of the multiple-value case of THROW,
9377        but at least it's there.
9378
93792006-03-31 00:53  gb
9380
9381        * library/x8664-linux-syscalls.lisp: still need work, but more
9382        stuff (including socket syscalls) are defined now.
9383
93842006-03-31 00:52  gb
9385
9386        * level-1/version.lisp: Bump.
9387
93882006-03-31 00:52  gb
9389
9390        * level-1/l1-sockets.lisp: Conditionalize lots for x8664.
9391
93922006-03-31 00:51  gb
9393
9394        * level-0/X86/x86-def.lisp: No debug trap in %CFP-LFUN.
9395
93962006-03-31 00:50  gb
9397
9398        * level-0/l0-init.lisp: Simplify *FEATURES* init a little.  Try to
9399        ensure that :linuxx8664-target is there if it should be.
9400
94012006-03-31 00:46  gb
9402
9403        * compiler/X86/X8664/x8664-arch.lisp: Define
9404        MAX-8-BIT-IVECTOR-SUBTAG, too.
9405
94062006-03-30 03:23  gb
9407
9408        * level-1/l1-aprims.lisp: ELEMENT-SUBTYPE-TYPE for x8664.
9409
94102006-03-30 03:22  gb
9411
9412        * level-1/l1-boot-2.lisp: Load some x8664 files,
9413
94142006-03-30 03:21  gb
9415
9416        * level-1/l1-boot-3.lisp: Comments and formatting.
9417
94182006-03-30 03:20  gb
9419
9420        * level-1/l1-clos-boot.lisp: Some x8664 changes.
9421
94222006-03-30 03:20  gb
9423
9424        * level-1/l1-clos.lisp: Use REPLACE-FUNCTION-CODE another time or
9425        two.
9426       
9427        Set class's INSTANCE.HASH slots to class name, to make classes
9428        easier to identify in kernel debugger.  (Might not want to keept
9429        this, but could set/clear a bit there.)
9430
94312006-03-30 03:18  gb
9432
9433        * level-1/: l1-files.lisp, l1-dcode.lisp: Comments and formatting
9434        changes only.
9435
94362006-03-30 03:17  gb
9437
9438        * level-1/l1-lisp-threads.lisp: Start to move some stuff into
9439        platform-dependent files.
9440
94412006-03-30 03:16  gb
9442
9443        * level-1/: l1-pathnames.lisp, l1-numbers.lisp: Conditionalize.
9444
94452006-03-30 03:16  gb
9446
9447        * level-1/l1-streams.lisp: 64-bit conditionalization, and x8664
9448        stuff.
9449
94502006-03-30 03:15  gb
9451
9452        * level-1/l1-typesys.lisp: 64-bit array type on all (both) 64-bit
9453        platforms.
9454
94552006-03-30 03:13  gb
9456
9457        * level-1/l1-utils.lisp: TRUE and FALSE now in LAP.
9458
94592006-03-30 03:13  gb
9460
9461        * level-1/level-1.lisp: Load "new" x8664 files.
9462
94632006-03-30 03:12  gb
9464
9465        * level-1/linux-files.lisp: Conditionalize some for x8664.
9466
94672006-03-30 03:12  gb
9468
9469        * level-1/ppc-threads-utils.lisp: Some stuff moved here from
9470        l1-lisp-threads.
9471
94722006-03-30 03:11  gb
9473
9474        * lib/compile-ccl.lisp: X8664-related changes.
9475
94762006-03-30 03:11  gb
9477
9478        * lib/foreign-types.lisp: Setup host-ftd based on compile-time
9479        target.  Yow, recursion.
9480
94812006-03-30 03:10  gb
9482
9483        * lib/macros.lisp: LET-GLOBALLY deals with symptr/symvector stuff.
9484
94852006-03-30 03:10  gb
9486
9487        * lib/misc.lisp: Fix Linux MACHINE-INSTANCE.
9488       
9489        Move DISASSEMBLE and interface here.
9490
94912006-03-30 03:09  gb
9492
9493        * lib/nfcomp.lisp: Conditionalize for x8664; dump native functions
9494        via fasl-clfun.
9495
94962006-03-30 03:08  gb
9497
9498        * lib/prepare-mcl-environment.lisp: Needed symptr/symvector stuff.
9499
95002006-03-30 03:08  gb
9501
9502        * lib/systems.lisp: Add new x86 level-1 stuff; remove some truly
9503        ancient MCLisms.
9504
95052006-03-30 03:06  gb
9506
9507        * library/x8664-linux-syscalls.lisp: Some fixes and additions, but
9508        still needs lots of work.
9509
95102006-03-30 03:06  gb
9511
9512        * lisp-kernel/x86_print.c: If instance.hash of an instance isn't a
9513        fixnum, treat it as a class name.  (Hard to otherwise recognize
9514        classes from the kernel.)
9515
95162006-03-30 03:04  gb
9517
9518        * lisp-kernel/x86-spjump64.s: rename poweropen_callback ->callback.
9519
95202006-03-30 03:04  gb
9521
9522        * lisp-kernel/x86-spentry64.s: Lots of bug fixes.
9523       
9524        Multiple-value THROW still needs work, and CALLBACK still needs to
9525        be written (both sides).
9526
95272006-03-30 03:02  gb
9528
9529        * lisp-kernel/x86-constants64.s: No FPSCR here, but an MXCSR.
9530
95312006-03-30 03:01  gb
9532
9533        * lisp-kernel/ppc-spentry.s: Error call in misc_set_invalid
9534        involves 4 args.
9535
95362006-03-30 03:00  gb
9537
9538        * lisp-kernel/pmcl-kernel.c: Larger GC defaults if 64-bit, not just
9539        PPC64.
9540       
9541        Insist on Linux kernel 2.6 if x8664 linux.
9542
95432006-03-30 02:59  gb
9544
9545        * lisp-kernel/plsym.c: Missing #\% in format string.
9546
95472006-03-30 02:56  gb
9548
9549        * lisp-kernel/linuxx8664/.gdbinit: More stuff.
9550
95512006-03-30 02:55  gb
9552
9553        * level-1/: x86-callback-support.lisp, x86-error-signal.lisp,
9554        x86-threads-utils.lisp, x86-trap-support.lisp: Nee files.
9555
95562006-03-30 02:54  gb
9557
9558        * level-0/X86/X8664/x8664-bignum.lisp: Remove debug traps from
9559        things that're believed to be working.
9560
95612006-03-30 02:54  gb
9562
9563        * level-0/X86/x86-utils.lisp: CLASS-OF changes/fixes.  Move
9564        #'TRUE/#'FALSE here.
9565
95662006-03-30 02:53  gb
9567
9568        * level-0/X86/x86-symbol.lisp: %SYMPTR->SYMBOL: check for nilsym,
9569        not NIL.
9570
95712006-03-30 02:52  gb
9572
9573        * level-0/X86/x86-numbers.lisp: %FIXNUM-TRUNCATE: return results in
9574        the right order.
9575       
9576        %IASL: shift the right register.
9577
95782006-03-30 02:51  gb
9579
9580        * level-0/X86/x86-misc.lisp: Fix %FUDGE-HEAP-POINTER; define
9581        INTERRUPT-LEVEL.
9582
95832006-03-30 02:51  gb
9584
9585        * level-0/X86/x86-float.lisp: %get-mxcsr stores the mxcsr in memory
9586        so that we can load it into a fixnum.
9587
95882006-03-30 02:50  gb
9589
9590        * level-0/X86/x86-def.lisp: %CFP-LFUN: try to recognize
9591        multiple-value returning calls, return NIL if tra offset is 0.
9592
95932006-03-30 02:49  gb
9594
9595        * level-0/X86/x86-clos.lisp: Remove debug traps; use registers
9596        sanely in the SETF case.
9597
95982006-03-30 02:48  gb
9599
9600        * level-0/PPC/ppc-utils.lisp: Implement TRUE and FALSE in LAP.
9601
96022006-03-30 02:48  gb
9603
9604        * level-0/PPC/ppc-clos.lisp: Change the name of a constant that'll
9605        get clobbered when this is cloned anyway.  (Is that clear ?)
9606
96072006-03-30 02:47  gb
9608
9609        * level-0/l0-pred.lisp: %TYPE-OF fixes for x8664.
9610       
9611        We haven't had interpreted functions for a few years.
9612
96132006-03-30 02:46  gb
9614
9615        * level-0/l0-float.lisp: %SET-DOUBLE-FLOAT-EXP: endianness, use
9616        symbolic constant for high word.
9617
96182006-03-30 02:45  gb
9619
9620        * level-0/l0-array.lisp: SUBTAG-BYTES for X8664.
9621
96222006-03-30 02:45  gb
9623
9624        * compiler/X86/X8664/x8664-vinsns.lisp: Lots of bug fixes.
9625
96262006-03-30 02:44  gb
9627
9628        * compiler/X86/X8664/x8664-arch.lisp: REQUIRE what we need.
9629       
9630        Get CATCH-FRAME definition right.
9631       
9632        .SPpoweropen-callback -> .SPcallback.
9633
96342006-03-30 02:43  gb
9635
9636        * compiler/X86/x862.lisp: Lots of changes and bugfixes.
9637
96382006-03-30 02:42  gb
9639
9640        * compiler/X86/x86-lap.lisp: Avid path in REQUIRE; create native
9641        functions.
9642
96432006-03-30 02:42  gb
9644
9645        * compiler/X86/x86-disassemble.lisp: Run natively: provide
9646        X8664-XDISASSEMBLE.
9647
96482006-03-30 02:41  gb
9649
9650        * compiler/X86/x86-asm.lisp: Assemble things (uuos) with a "pseudo"
9651        ModRM byte, which allows encoding two 4-bit x8664 registers in a
9652        single byte.
9653
96542006-03-30 02:40  gb
9655
9656        * compiler/X86/x86-arch.lisp: Need to explicitly (REQUIRE "ARCH").
9657
96582006-03-30 02:39  gb
9659
9660        * compiler/PPC/PPC64/ppc64-arch.lisp: Define high and low 32-bit
9661        parts of a DOUBLE-FLOAT.
9662
96632006-03-30 02:39  gb
9664
9665        * compiler/PPC/ppc-disassemble.lisp: DISASSEMBLE and
9666        FUNCTION-FOR-DISASSEMBLY moved elsewhere.
9667
96682006-03-25 20:47  gb
9669
9670        * lisp-kernel/lisp-debug.c: Fix x8664 lisp register display.
9671
96722006-03-25 20:42  gb
9673
9674        * lib/ccl-export-syms.lisp: Fix export of CCL::GETENV and
9675        CCL::SETENV.
9676
96772006-03-25 20:37  gb
9678
9679        * lisp-kernel/x86-spentry64.s: Dozens of bug fixes.
9680       
9681        Do uvref (not yet uvset) via jump table.
9682
96832006-03-25 20:36  gb
9684
9685        * lisp-kernel/x86-macros.s: Do arithmetic correctly in Cons macro.
9686       
9687        Split up Misc_Alloc.
9688
96892006-03-25 20:34  gb
9690
9691        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Tag juggling.
9692
96932006-03-25 20:34  gb
9694
9695        * lisp-kernel/ppc_print.c: Identify SLOT-VECTORs in kernel
9696        debugger.
9697
96982006-03-25 20:33  gb
9699
9700        * lisp-kernel/errors.s: Add some error numbers for uvref/uvset
9701        failures that should never happen.
9702
97032006-03-25 20:32  gb
9704
9705        * lisp-kernel/lisp-debug.c: Change x8664 lisp register display.
9706
97072006-03-25 20:32  gb
9708
9709        * lisp-kernel/gc.c: IMPURIFY: maybe grow the dynamic area, but
9710        don't shrink it.
9711
97122006-03-25 20:31  gb
9713
9714        * lisp-kernel/plsym.c: Symbol address may be longer than 32 bits.
9715
97162006-03-25 20:31  gb
9717
9718        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s: sgbuf has
9719        been lisp_thread for the past few years.
9720
97212006-03-25 20:30  gb
9722
9723        * lisp-kernel/ppc-spentry.s: Do uvref/uvset via jump tables.
9724        (Fewer branches, more redundancy.)
9725
97262006-03-25 20:29  gb
9727
9728        * lisp-kernel/x86_print.c: Identify SLOT-VECTORs.  Print TRAs.
9729
97302006-03-25 20:28  gb
9731
9732        * lisp-kernel/xlbt.c: Skip over lexpr nonsense.
9733
97342006-03-25 20:28  gb
9735
9736        * lisp-kernel/linuxx8664/.gdbinit: More GDB macros.
9737
97382006-03-25 20:27  gb
9739
9740        * library/lispequ.lisp: %GF-DISPATCH-TABLE-REF uses %SVREF.
9741
97422006-03-25 20:26  gb
9743
9744        * lib/misc.lisp: MACHINE-VERSION caches the result per-session;
9745        looks in /proc/cpuinfo for something machine-dependent on Linux,
9746        passes 64-bit stuff on DarwinPPC64.
9747
97482006-03-25 20:25  gb
9749
9750        * lib/macros.lisp: LFUN-BITS-KNOWN-FUNCTIONS uses arch macros to
9751        access function vector.
9752
97532006-03-25 20:23  gb
9754
9755        * level-1/version.lisp: Bump.
9756
97572006-03-25 20:23  gb
9758
9759        * level-1/l1-io.lisp: No more interpreted functions.
9760
97612006-03-25 20:23  gb
9762
9763        * level-1/l1-dcode.lisp: Mostly comment and formatting changes.
9764
97652006-03-25 20:22  gb
9766
9767        * level-1/l1-clos.lisp: Fix typos in x86 function cloning;
9768        comment/formatting changs.
9769
97702006-03-25 20:21  gb
9771
9772        * level-1/l1-clos-boot.lisp: Lots of formatting changes; try to use
9773        DEFGLOBAL, since special variable lookup is ~10 instructions or so.
9774
97752006-03-25 20:20  gb
9776
9777        * level-1/l1-boot-1.lisp: HOST-PLATFORM, PLATFORM-DESCRIPTION:
9778        generalize, a little.
9779
97802006-03-25 20:19  gb
9781
9782        * level-1/l1-aprims.lisp: LFUN-KEYVECT access function vector, if
9783        that's not the function.  NREVERSE checks for NIL, mostly so I
9784        wouldn't have to single-step through that case in GDB.
9785
97862006-03-25 20:18  gb
9787
9788        * level-0/X86/X8664/x8664-bignum.lisp: Shift in the correct
9789        direction, sign-extend (or don't) as apropriate, etc.  Still some
9790        debug traps on things that haven't been called yet.
9791
97922006-03-25 20:17  gb
9793
9794        * level-0/X86/x86-utils.lisp: CLASS-OF fixes.
9795
97962006-03-25 20:17  gb
9797
9798        * level-0/X86/x86-pred.lisp: If the recursive list case of EQUAL
9799        fails, fail; don't fall into the uvector case ...
9800
98012006-03-25 20:16  gb
9802
9803        * level-0/X86/x86-numbers.lisp: Fenceposts in fixnum
9804        integer-length.
9805
98062006-03-25 20:15  gb
9807
9808        * level-0/X86/x86-hash.lisp: Strip-tag-to-fixnum without shifts.
9809
98102006-03-25 20:15  gb
9811
9812        * level-0/X86/x86-def.lisp: Stuff here seems to work, so far ...
9813
98142006-03-25 20:14  gb
9815
9816        * level-0/X86/x86-clos.lisp: debug traps on slot-lookup LAP
9817        prototypes.
9818
98192006-03-25 20:12  gb
9820
9821        * level-0/l0-pred.lisp: rearrange %type-of for tag changes.
9822
98232006-03-25 20:12  gb
9824
9825        * level-0/l0-numbers.lisp: No need to specify an initial value 0
9826        when stack-consing a bignum in %BIGNUM-RANDOM.  Add a fixnum decl
9827        or two.
9828
98292006-03-25 20:11  gb
9830
9831        * level-0/l0-hash.lisp: Symbol aren't (necessarily) uvectors. X86
9832        breakpoints if we hash any symbols ...
9833
98342006-03-25 20:09  gb
9835
9836        * level-0/l0-bignum64.lisp: Um, most of this is supposed to be
9837        #+64-bit-target, not #+ppc64-target.
9838
98392006-03-25 20:09  gb
9840
9841        * compiler/X86/X8664/x8664-vinsns.lisp:
9842        SET-CLOSURE-FORWARD-REFERENCE: functions aren't uvectors.
9843       
9844        Lots of other changes/fixes.
9845
98462006-03-25 20:08  gb
9847
9848        * compiler/X86/X8664/x8664-arch.lisp: Tag reorganization.
9849       
9850        MISC-SYMBOL-OFFSET, MISC-FUNCTION-OFFSET.
9851       
9852        FUNCTION-TO-FUNCTION-VECTOR, FUNCTION-VECTOR-TO-FUNCTION arch
9853        macros have something to do here.
9854
98552006-03-25 20:06  gb
9856
9857        * compiler/X86/x862.lisp: Some operators can push results directly.
9858       
9859        Lots of bug fixes.
9860
98612006-03-25 20:05  gb
9862
9863        * compiler/X86/x86-asm.lisp: CMPB: accept signed/unsigned
9864        immediate.
9865
98662006-03-25 20:04  gb
9867
9868        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Arch
9869        macros for FUNCTION-TO-FUNCTION-VECTOR and
9870        FUNCTION-VECTOR-TO-FUNCTION.
9871       
9872        (NOPs.)
9873
98742006-03-25 20:03  gb
9875
9876        * compiler/optimizers.lisp: MACPTRP.
9877
98782006-03-25 20:03  gb
9879
9880        * compiler/nx.lisp: COMPILE: don't check for INTERPRETED-FUNCTION,
9881        unless/until we have them again (in some form.)
9882
98832006-03-20 10:05  gwking
9884
9885        * lib/ccl-export-syms.lisp: Exporting getenv and setenv from CCL
9886
98872006-03-19 20:30  gb
9888
9889        * lisp-kernel/x86-spentry64.s: Old-style destructuring, VALUES.
9890
98912006-03-19 20:29  gb
9892
9893        * lisp-kernel/x86-constants64.s: Define %nargs_b.
9894
98952006-03-19 20:29  gb
9896
9897        * lisp-kernel/x86-constants.s: Define registers/bitfields used in
9898        old-style destructuring subprims.
9899
99002006-03-19 20:28  gb
9901
9902        * library/lispequ.lisp: $XNOFINFUNCTION.
9903
99042006-03-19 20:27  gb
9905
9906        * lib/level-2.lisp: Conditionalize out bit, bitfield accessors
9907        until they work ...
9908
99092006-03-19 20:27  gb
9910
9911        * lib/backtrace-lds.lisp: Conditionalize
9912        GET-REGISTER-VALUE/SET-REGISTER-VALUE catch frame access.
9913
99142006-03-19 20:26  gb
9915
9916        * level-1/: l1-clos-boot.lisp, l1-clos.lisp, l1-dcode.lisp:
9917        Conditionalize, mostly for whether the implementation has separate
9918        code-vector and function objects or not. (ppc vs x86, for now.)
9919
99202006-03-19 20:25  gb
9921
9922        * level-0/X86/x86-numbers.lisp: %FIXNUM-GCD.  Slower then the one
9923        that counts bits, but doesn't need as many registers.
9924
99252006-03-19 20:24  gb
9926
9927        * level-0/X86/x86-def.lisp: Do the lexpr/methd-context apply stuff.
9928         %X86-CLONE-FUNCTION, REPLACE-FUNCTION-CODE.
9929       
9930        Wouldn't hurt to do some typechecking in some of the lap code here.
9931
99322006-03-19 20:22  gb
9933
9934        * level-0/X86/x86-clos.lisp: Yet.
9935
99362006-03-19 20:22  gb
9937
9938        * level-0/PPC/ppc-def.lisp: REPLACE-FUNCTION-CODE abstraction.
9939
99402006-03-19 20:22  gb
9941
9942        * level-0/PPC/ppc-clos.lisp: UNSET-FIN-TRAMPOLINE doesn't reference
9943        constants.  (This could neve  have worked.)
9944
99452006-03-19 20:21  gb
9946
9947        * level-0/l0-error.lisp: Replace error format string 9.
9948
99492006-03-19 20:20  gb
9950
9951        * compiler/X86/X8664/x8664-vinsns.lisp: &lexpr fixes, old-style
9952        destructuring.
9953
99542006-03-19 20:20  gb
9955
9956        * compiler/X86/X8664/x8664-arch.lisp: Add the xtra slot to
9957        lisp-frame.  yield syscall, gf-code-size.
9958
99592006-03-19 20:19  gb
9960
9961        * compiler/X86/x862.lisp: Fix some lexpr confusion, mv-call
9962        recursive problems.
9963
99642006-03-19 20:18  gb
9965
9966        * compiler/X86/x86-lapmacros.lisp: SAVE-FRAME-VARIABLE-ARG-COUNT,
9967        CALL-SUBPRIM.
9968
99692006-03-19 20:17  gb
9970
9971        * compiler/X86/x86-lap.lisp: Support :CODE-SIZE and :ORG
9972        directives.  Change :CONSTANTS to :FIXED-CONSTANTS.
9973
99742006-03-19 20:16  gb
9975
9976        * compiler/nx1.lisp: Can use MAKE-ARRAY rather than MAKE-SEQUENCE.
9977
99782006-03-17 23:38  gb
9979
9980        * xdump/xfasload.lisp: Special case references to NIL in package
9981        htabs.
9982       
9983        Leave deleted markers behind for symbols that we haven't seen
9984        references to; leave empty (0) words empty.
9985
99862006-03-17 23:36  gb
9987
9988        * lisp-kernel/linuxx8664/.gdbinit: Add a few lisp debugging things.
9989
99902006-03-17 23:36  gb
9991
9992        * lisp-kernel/xlbt.c: Recognize multiple-value returning frames and
9993        find the real tra underneath ret1valn.
9994
99952006-03-17 23:35  gb
9996
9997        * lisp-kernel/x86-spentry64.s: "gen" tcalls had the same bug as the
9998        known-stack-args cases did several days ago.
9999
100002006-03-17 23:34  gb
10001
10002        * lisp-kernel/x86-macros.s: New do_funcall().
10003
100042006-03-17 23:33  gb
10005
10006        * lisp-kernel/x86-exceptions.c: When we field an alloc trap, make
10007        sure that both the allocptr register and the save_allocptr slot in
10008        the TCR are updated and consistent with each other.
10009
100102006-03-17 23:32  gb
10011
10012        * lisp-kernel/x86-constants64.h: A lisp frame may have two return
10013        addresses (one for the multiple-value mechanism and the real one.)
10014
100152006-03-17 23:31  gb
10016
10017        * lisp-kernel/plsym.c: If there's such a thing as fulltag_symbol,
10018        try to use it.
10019
100202006-03-17 23:29  gb
10021
10022        * level-0/X86/x86-symbol.lisp: Symptr/symvector deconflation.
10023
100242006-03-17 23:28  gb
10025
10026        * level-0/X86/x86-pred.lisp: Add %LISP-LOWBYTE-REF; could be
10027        open-coded (and may once have been.)
10028
100292006-03-17 23:27  gb
10030
10031        * level-0/nfasload.lisp: Some SYMPTR->SYMVECTOR usage.  Define
10032        %FASL-READ-SIGNED-LONG;  use it in a few places.  Assume that
10033        scalar integers are stored big-endian; construct native-endian
10034        integers from them.
10035
100362006-03-17 23:26  gb
10037
10038        * level-0/l0-symbol.lisp: Lots of SYMPTR->SYMVECTOR usage.
10039
100402006-03-17 23:25  gb
10041
10042        * level-0/l0-pred.lisp: Do %TYPE-OF for x8664.
10043
100442006-03-17 23:24  gb
10045
10046        * level-0/l0-def.lisp: Use SYMPTR->SYMVECTOR where necessary, so
10047        that we can %SVREF around in symbols.
10048       
10049        A little light reorganization, to make it easier to add debugging
10050        breakpoints for things like FUNCTION-NAME.
10051
100522006-03-17 23:22  gb
10053
10054        * compiler/X86/X8664/x8664-vinsns.lisp: Kinder, gentler
10055        CHECK-MISC-BOUND.  (What was I thinking ?)
10056       
10057        More cleanup to FUNCALL and variants.
10058       
10059        MAKE-TSP-CONS: fix braindamage, use only one register.  (Need to
10060        write down pc-luser-xp constraints for TSP allocation, but I think
10061        that this meets the current artist's conception of them.)
10062       
10063        %SYMBOL->SYMPTR does what it does on other platforms (e.g., map NIL
10064        to a proxy symbol and/or insist on a real symbol.)
10065        %SYMPTR->SYMVECTOR maps something tagged as a symbol to the
10066        underlying uvector by playing with tag bits, and %SYMVECTOR->SYMPTR
10067        does the inverse.
10068       
10069        There were two definitions of %SCHARCODE in the file; the later one
10070        (that took effect) was completely wrong.
10071
100722006-03-17 23:05  gb
10073
10074        * compiler/X86/X8664/x8664-arch.lisp: Add HONS fields to AREA
10075        definition.
10076       
10077        SYMVECTOR->SYMPTR and its inverse don't do much, but it's not worth
10078        spending a function call to do a little.
10079
100802006-03-17 23:03  gb
10081
10082        * compiler/X86/x862.lisp: Don't sign-extend the $LFBITS-NONAME-BIT;
10083        doing so had to do with 29-bit fixnums on an old 68K
10084        implementation.
10085       
10086        Fix parenthesization in %i-, so that we branch in all cases that
10087        need to.
10088       
10089        Implement %SYMPTR->SYMVECTOR and %SYMVECTOR->SYMPTR, which change
10090        something tagged X8664::FULLTAG-SYMBOL into the underlying uvector
10091        and back again.
10092
100932006-03-17 22:59  gb
10094
10095        * compiler/X86/x86-lap.lisp: Change the sign of TRA displacements,
10096        to match what the compiler expects and what some other things do.
10097       
10098        When checking to see if an ASSUMED-SHORT[-CONDITIONAL]-BRANCH can
10099        use a 1-byte branch displacement, get the sign of that displacment
10100        right.  (Doing it the wrong way was encoding a forward branch to a
10101        label 128 bytes away in one byte, which made it a backward branch
10102        128 bytes away ...)
10103
101042006-03-17 22:55  gb
10105
10106        * library/lispequ.lisp: Use NTH-IMMEDIATE to access COMBINED-METHOD
10107        slots.
10108
101092006-03-17 22:54  gb
10110
10111        * lib/nfcomp.lisp: Comments clarify that scalar integers are always
10112        dumped big-endian.  (They have to be read/written a byte at a time
10113        anyway; there's no clear advantage in writing them in native
10114        endianness.)
10115
101162006-03-17 22:52  gb
10117
10118        * lib/macros.lisp: SYMPTR->SYMVECTOR and SYMVECTOR->SYMBOL are
10119        arch-specfic (NOP on PPC, inlined tag-bits stuff on x8664.)
10120
101212006-03-17 22:50  gb
10122
10123        * level-1/l1-dcode.lisp: Star to conditionalize, a little.
10124
101252006-03-17 22:48  gb
10126
10127        * level-1/l1-boot-2.lisp: Conditionalize.
10128
101292006-03-17 22:48  gb
10130
10131        * level-1/: l1-callbacks.lisp, l1-utils.lisp: Comment formatting.
10132
101332006-03-17 22:45  gb
10134
10135        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-arch.lisp,
10136        PPC64/ppc64-arch.lisp: %SYMPTR->SYMVECTOR and %SYMVECTOR->SYMPTR
10137        shold never be called on PPC, but implement them as idenity
10138        operations, just in case.
10139
101402006-03-17 22:44  gb
10141
10142        * compiler/: nx1.lisp, nxenv.lisp: Worth inlining
10143        %SYMPTR->SYMVECTOR on x8664 (should never happen on PPC, but treat
10144        it as identity function there.)
10145
101462006-03-16 02:03  gb
10147
10148        * level-1/l1-sockets.lisp: Spell LINUX correctly.
10149
101502006-03-16 02:00  gb
10151
10152        * lisp-kernel/x86-spentry64.s: We were inlining NTH-VALUE
10153        incorrectly, but were always inlining it.
10154       
10155        Use debug traps to catch some cases that're NYI.
10156
101572006-03-16 01:58  gb
10158
10159        * lisp-kernel/lisp-debug.c: X8664 register-printing changes.
10160
101612006-03-16 01:58  gb
10162
10163        * library/parse-ffi.lisp: Treat VEC64/VEC128 like large integers,
10164        for now.
10165
101662006-03-16 01:57  gb
10167
10168        * library/lispequ.lisp: gf accessors use NTH-IMMEDIATE.
10169
101702006-03-16 01:56  gb
10171
10172        * lib/numbers.lisp: Conditionaliz on target word size.
10173
101742006-03-16 01:56  gb
10175
10176        * lib/nfcomp.lisp: Need to be aware of cases where host/target
10177        endianness differ.
10178       
10179        Byte-swap 16/32-bit constant ivectors; note that other cases may
10180        also need byte-swapping.
10181
101822006-03-16 01:54  gb
10183
10184        * lib/macros.lisp: NTH-IMMEDIATE is arch-specific; so is
10185        SET-NTH-IMMEDIATE, which is its SETF inverse.
10186
101872006-03-16 01:53  gb
10188
10189        * lib/foreign-types.lisp: So far, Darwin's the only platform that
10190        uses signed chars.  (For a good laugh, note that the PPC has an
10191        unsigned "load byte" instruction, but it takes two instructions to
10192        treat char as signed.  This is, of course, much less significant
10193        than all of the other things that are wrong about Darwin ...)
10194
101952006-03-16 01:51  gb
10196
10197        * lib/compile-ccl.lisp: RISC-LAP is PPC-specific (and maybe
10198        specific to other RISC architectures).  X86-DISASSEMBLE should be
10199        built for x8664.
10200
102012006-03-16 01:49  gb
10202
10203        * lib/backtrace-lds.lisp: Some conditinalization.
10204
102052006-03-16 01:48  gb
10206
10207        * tools/.cvsignore, library/.cvsignore: Ignore fasl extensions yet
10208        to come.
10209
102102006-03-16 01:46  gb
10211
10212        * level-1/version.lisp: Bump.
10213
102142006-03-16 01:46  gb
10215
10216        * level-1/l1-sockets.lisp: Some conditionalization; need more, and
10217        need to handle wrong-endianness.
10218
102192006-03-16 01:44  gb
10220
10221        * level-1/l1-lisp-threads.lisp: %KERNEL-GLOBAL-OFFSET-FORM:
10222        probably should lose this.  It's a function, and therefore has some
10223        trouble accessing the right (macroexpand-time) backend.
10224
102252006-03-16 01:43  gb
10226
10227        * level-1/l1-files.lisp: Set *.FASL-PATHAME* via #.'ed reference to
10228        target backend.
10229
102302006-03-16 01:42  gb
10231
10232        * level-1/l1-clos-boot.lisp: Conditionalize a little.
10233
102342006-03-16 01:42  gb
10235
10236        * level-1/l1-aprims.lisp: Use #. to set OS package name fron
10237        backend/ftd.
10238
102392006-03-16 01:41  gb
10240
10241        * level-0/X86/x86-symbol.lisp: %SYMPTR->SYMBOL is often called with
10242        real (tagged) symbols; make it a nop in that case.
10243
102442006-03-16 01:40  gb
10245
10246        * level-0/X86/x86-def.lisp: %SET-NTH-IMMEDIATE.
10247
102482006-03-16 01:40  gb
10249
10250        * level-0/X86/x86-clos.lisp: Start some of this. Still need to
10251        decide whether to use lexprs; better decide soon.
10252
102532006-03-16 01:38  gb
10254
10255        * compiler/X86/X8664/x8664-vinsns.lisp: TRAP-UNLESS-CHARACTER.
10256        Float memory accessors/setters for the constant-offset case.
10257        NTH-VALUE was wrong; now simpler.  MAKE-TSP-VCELL.  Binding
10258        subprims.
10259       
10260        Yet another FUNCALL scheme.
10261
102622006-03-16 01:36  gb
10263
10264        * level-0/l0-symbol.lisp: MAKE-SYMBOL returns the symbol pointer.
10265        Maybe conditionalize this for X8664.
10266
102672006-03-16 01:35  gb
10268
10269        * level-0/l0-io.lisp: Hopefully, the "split" 64-bit lseek is at
10270        best LinuxPPC32-specific.
10271
102722006-03-16 01:34  gb
10273
10274        * compiler/X86/x862.lisp: Use %ra0 for the inner function when
10275        making a closure, to avoid conflicts with other temps.  No need to
10276        reference memory on self-calls (and good reasons not to ...)
10277        X862-UNBOXED-INTEGER-ARG-TO-REG handles 64-bit regs.
10278
102792006-03-16 01:31  gb
10280
10281        * compiler/X86/x86-lapmacros.lisp: EXTRACT-TYPECODE: use a GENSYMed
10282        label.
10283
102842006-03-16 01:30  gb
10285
10286        * compiler/X86/x86-lap.lisp: New stuff for "pre-allocated"
10287        constants.
10288
102892006-03-16 01:29  gb
10290
10291        * compiler/X86/x86-arch.lisp: Didn't have the relatively recent
10292        STACK-SIZE.
10293
102942006-03-16 01:29  gb
10295
10296        * compiler/X86/X8664/x8664-arch.lisp: Change the
10297        %GET-KERNEL-GLOBAL[-PTR] archmacros, so that they'll work with
10298        cross-compilation.  Fixnum offsets aren't supported; they weren't
10299        used, this isn't public, and it wasn't well-defined anyway.
10300       
10301        Add %NTH-IMMEDIATE.
10302
103032006-03-16 01:28  gb
10304
10305        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp:
10306        Change the %GET-KERNEL-GLOBAL[-PTR] archmacros, so that they'll
10307        work with cross-compilation.  Fixnum offsets aren't supported; they
10308        weren't used, this isn't public, and it wasn't well-defined anyway.
10309
103102006-03-14 14:08  gb
10311
10312        * binppc/.cvsignore, l1-pfsls/.cvsignore: remove
10313
103142006-03-14 14:02  gb
10315
10316        * level-1/: l1-boot-2.lisp, level-1.lisp: Always use physical bin,
10317        l1-fasls relative pathnames.
10318
103192006-03-14 14:02  gb
10320
10321        * level-1/l1-pathnames.lisp: Simpler translations.
10322
103232006-03-14 13:51  gb
10324
10325        * l1-dfsls/.cvsignore, bindarwin/.cvsignore: removed
10326
103272006-03-14 13:31  gb
10328
10329        * bin/.cvsignore, l1-fasls/.cvsignore: new file.
10330
103312006-03-14 13:24  gb
10332
10333        * level-1/: l1-boot-2.lisp, level-1.lisp: Step 1: don't hardwire
10334        the target fasl pathname in a big #+ nest, get it from the target
10335        backend.  (Hope that works with macrolet.)
10336
103372006-03-14 13:22  gb
10338
10339        * lisp-kernel/x86-spentry64.s: _SPstack_misc_alloc fixes.
10340        _SPsyscall: just return negative return values, don't negate them.
10341
103422006-03-14 13:20  gb
10343
10344        * library/x8664-linux-syscalls.lisp: Hide the incomplete
10345        definitions.  This needs work; should use real foreign types.
10346
103472006-03-14 13:19  gb
10348
10349        * compiler/X86/X8664/x8664-vinsns.lisp: %init-gvector: pop the last
10350        element first.
10351
103522006-03-14 13:19  gb
10353
10354        * compiler/X86/X8664/x8664-backend.lisp: :linuxx8664-target on
10355        features, too.
10356
103572006-03-14 13:18  gb
10358
10359        * compiler/X86/x862.lisp: x862-allocate-initialized-gvector: works
10360        better if the gvector is actually allocated ...
10361
103622006-03-14 03:11  gb
10363
10364        * compiler/X86/x862.lisp: Remove a comment that described the
10365        mid-1990s behavior of MacsBug.
10366
103672006-03-14 03:10  gb
10368
10369        * compiler/X86/x86-lap.lisp: In X86-LAP-EQUATE-FORM, check for and
10370        disallow bindings that match defined X86 register names.
10371
103722006-03-14 03:09  gb
10373
10374        * compiler/X86/x86-disassemble.lisp: Some UUOs shouldn't terminate
10375        a disassembly block.
10376
103772006-03-14 03:09  gb
10378
10379        * library/syscall.lisp: Whoops.
10380
103812006-03-14 03:01  gb
10382
10383        * lisp-kernel/x86-spentry64.s: Fixes in _SPcall_closure,
10384        _SPstkgvector.
10385
103862006-03-14 03:00  gb
10387
10388        * lisp-kernel/x86-exceptions.c: Handle uuo_debug_trap.
10389
103902006-03-14 03:00  gb
10391
10392        * lisp-kernel/x86-constants64.h: Iflags is REG_EFL on Linux.
10393
103942006-03-14 02:59  gb
10395
10396        * lisp-kernel/lisp-debug.c: Make (R)egisters command work on x8664.
10397
103982006-03-14 02:59  gb
10399
10400        * library/syscall.lisp: BACKEND-SYSCALL-DEFINITIONS uses whatever
10401        bits are in the backend's BACKEND-PLATFORM-SYSCALL-MASK.
10402
104032006-03-14 02:57  gb
10404
10405        * library/x8664-linux-syscalls.lisp: New file. Woefully incomplete,
10406        and may need word-size fixes.
10407
104082006-03-14 02:57  gb
10409
10410        * library/ppc-linux-syscalls.lisp: Set the mask per the new (new)
10411        scheme.
10412
104132006-03-14 02:56  gb
10414
10415        * level-0/X86/x86-utils.lisp: Fix a few bugs in heap-walking code.
10416
104172006-03-14 02:56  gb
10418
10419        * level-0/X86/x86-def.lisp: %NTH-IMMEDIATE needed to box;  both it
10420        and %FUNCTION-CODE-WORDS needed to avoid naming parameters FN.
10421
104222006-03-14 02:55  gb
10423
10424        * level-1/: l1-sockets.lisp, l1-streams.lisp, linux-files.lisp: Use
10425        the right set of syscall definitions for Linux.
10426
104272006-03-14 02:54  gb
10428
10429        * level-0/nfasload.lisp: Add a fixnum declaration.
10430
104312006-03-14 02:54  gb
10432
10433        * level-0/l0-io.lisp: Include the right set of syscall defs for
10434        Linux.
10435
104362006-03-14 02:53  gb
10437
10438        * level-0/l0-symbol.lisp: Need to use %symptr->symbol for x86;
10439        harmless on PPC.
10440
104412006-03-14 02:53  gb
10442
10443        * compiler/X86/X8664/x8664-vinsns.lisp: SETUP-VCELL-ALLOCATION
10444        needs to bias the size by fulltag-misc.
10445
104462006-03-14 02:52  gb
10447
10448        * compiler/X86/X8664/x8664-backend.lisp: At least for Linux/X86/64,
10449        need to look at os/cpu/word-size to deterine applicable syscall
10450        defs.
10451
104522006-03-14 02:51  gb
10453
10454        * compiler/PPC/: PPC32/ppc32-backend.lisp,
10455        PPC64/ppc64-backend.lisp: All PPC (32/64) backends can use syscall
10456        defs for OS/CPU, regardless of word size.
10457
104582006-03-14 02:50  gb
10459
10460        * compiler/backend.lisp: Add PLATFORM-SYSCALL-MASK to backend
10461        struct.
10462
104632006-03-14 02:09  gb
10464
10465        * library/: ppc-linux-syscalls.lisp, linux-syscalls.lisp: renamed
10466
104672006-03-13 02:33  gb
10468
10469        * level-1/version.lisp: Bump.
10470
104712006-03-13 02:24  gb
10472
10473        * xdump/xfasload.lisp: AREA constants now in CCL package.
10474
104752006-03-13 02:23  gb
10476
10477        * lisp-kernel/x86-spentry64.s: ret1valn: no LEAVE here.
10478        nthrowvalues: fix several bugs.
10479
104802006-03-13 02:22  gb
10481
10482        * lisp-kernel/x86-macros.s: TSP_Alloc_Var: zero the dnode at the
10483        new tsp, as well.
10484
104852006-03-13 02:21  gb
10486
10487        * library/lispequ.lisp: Define AREA constants here (in CCL
10488        package.)
10489
104902006-03-13 02:20  gb
10491
10492        * lib/macros.lisp: Move DO-CONSING-AREAS here.  AREA-CODE is an
10493        arch macro.
10494
104952006-03-13 02:20  gb
10496
10497        * level-1/l1-lisp-threads.lisp: Move DO-CONSING-AREAS to
10498        macros.lisp.
10499
105002006-03-13 02:19  gb
10501
10502        * level-0/X86/x86-utils.lisp: Walk static, dynamic areas.
10503
105042006-03-13 02:19  gb
10505
10506        * level-0/PPC/ppc-utils.lisp: Comments.
10507
105082006-03-13 02:18  gb
10509
10510        * level-0/nfasload.lisp: %MAP-AREAS call might have to deal with
10511        symbol/symbol-vector distinction.
10512
105132006-03-13 02:18  gb
10514
10515        * level-0/l0-utils.lisp: AREA constants are in CCL package, not
10516        PPC.  %MAP-LFUNS might have to deal with function/function-vector
10517        distinction.
10518
105192006-03-13 02:17  gb
10520
10521        * level-0/l0-misc.lisp: AREA constants are in CCL package, not PPC.
10522
105232006-03-13 02:17  gb
10524
10525        * level-0/l0-hash.lisp: %GROW-HASH-TABLE is always called inside
10526        WITHOUT-INTERRUPTS, so no need to do it again.
10527
105282006-03-13 02:16  gb
10529
10530        * compiler/X86/x862.lisp: Push at most one stack frame on function
10531        entry ...
10532
105332006-03-13 02:14  gb
10534
10535        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
10536        X86/X8664/x8664-arch.lisp: AREA-CODE archmacro.
10537
105382006-03-13 02:13  gb
10539
10540        * compiler/: PPC/ppc-arch.lisp, X86/x86-arch.lisp: AREA constants
10541        moved to CCL package.
10542
105432006-03-11 23:54  gb
10544
10545        * lisp-kernel/linuxx8664/.gdbinit: Don't change handling of SIGUSR1
10546        or SIGUSR2; I don't think that we use them under Linux.
10547
105482006-03-11 23:52  gb
10549
10550        * lisp-kernel/x86-spentry64.s: builtin_eql was extracting lisptags
10551        and comparing fulltags, and thus returning false when it shouldn't
10552        have.
10553       
10554        nthrow1value was making too small of a TSP frame around the call to
10555        the cleanup code, clobbering TSP links in some cases.  It was also
10556        failing to pop catch frames.
10557       
10558        stkgvector was unimplented.
10559       
10560        _car order-of-arguments problems in (at least) spreadargz.
10561
105622006-03-11 23:47  gb
10563
10564        * lisp-kernel/x86-subprims64.s: Push a 0 and make the initial lisp
10565        %rbp point to it, to mark the end of the line.
10566
105672006-03-11 23:47  gb
10568
10569        * lisp-kernel/xlbt.c: Sketchy kernel-debugger backtrace.
10570
105712006-03-11 23:46  gb
10572
10573        * lisp-kernel/x86-constants64.h: A lisp_frame struct, for kernel
10574        backtrace.
10575
105762006-03-11 23:46  gb
10577
10578        * lisp-kernel/pmcl-kernel.c: Try (temporily) disabling Lisp's
10579        SIGINT handler.   There seem to be problems using a keyboard
10580        interrupt to awaken GDB on the version of x96-64 Linux I'm using.
10581        This didn't fix those problems completely, but we won't need to
10582        handle SIGINT in the lisp until more code works.
10583
105842006-03-11 23:43  gb
10585
10586        * lisp-kernel/macros.h: I may have parenthesized nodeheader_tag_p
10587        and immheader_tag_p; several versions of  GCC generated code that
10588        looked wrong, but since it's C it's hard to tell.   Splitting the
10589        macros up (into "mask definition" and "mask testing" seems to
10590        generate the right code (a bit test if optimization's cranked up.)
10591
105922006-03-11 23:41  gb
10593
10594        * level-0/X86/x86-misc.lisp: Fix a few typos (fixnum vs unboxed
10595        constants, etc.)
10596       
10597        %ATOMIC-DECF-PTR-IF-POSITIVE should return what we would have
10598        (might have) stored in the word accessed by the pointer (in
10599        particular, it should return a negative value if there are no other
10600        threads waiting on a recursive lock.)
10601
106022006-03-11 23:38  gb
10603
10604        * level-0/PPC/ppc-misc.lisp: Fix file name in comment.
10605
106062006-03-11 23:38  gb
10607
10608        * compiler/X86/X8664/x8664-vinsns.lisp: ENSURE-RESERVED-FRAME: test
10609        was backwards.
10610
106112006-03-11 23:37  gb
10612
10613        * compiler/X86/X8664/x8664-arch.lisp: Don't use FN as arg name in
10614        LFUN-VECTOR, since x8664::fn is a constant (symbolic register
10615        name.)
10616       
10617        Add missing close paren.
10618
106192006-03-11 23:36  gb
10620
10621        * compiler/X86/x862.lisp: Ensure stack fencepost in simple
10622        &optional arg case.
10623       
10624        Do the variable-arg-count case if complex &optional, no &rest/&key,
10625        and some (possibly unsupplied) optionals may or may not have been
10626        pushed by the caller.
10627
106282006-03-11 04:11  gb
10629
10630        * lisp-kernel/: image.c, lisp_globals.h: Fix conditionalization: we
10631        don't define PPC32, but it might be clearer if we did.
10632
106332006-03-11 03:28  gb
10634
10635        * level-1/version.lisp: Bump.
10636
106372006-03-11 03:20  gb
10638
10639        * library/: darwin-syscalls.lisp, linux-syscalls.lisp,
10640        syscall.lisp: New mechanism, mostly to make cross-compilation
10641        easier.
10642
106432006-03-11 03:20  gb
10644
10645        * level-0/X86/x86-def.lisp: Extra paren; %NTH-IMMEDIATE and
10646        function/lfun-vector stuff, CLOSURE-FUNCTION here until that can be
10647        abstracted away sanely.
10648
106492006-03-11 03:18  gb
10650
10651        * level-0/X86/x86-misc.lisp: %STORE-IMMEDIATE-CONDITIONAL needs to
10652        discard the frame that the caller reserved.
10653
106542006-03-11 03:17  gb
10655
10656        * level-0/X86/x86-clos.lisp: Comment out the PPC LAP (e.g.,
10657        everything in the file, still).
10658
106592006-03-11 03:15  gb
10660
10661        * level-0/PPC/ppc-def.lisp: CLOSURE-FUNCTION here.  (Abstract away
10662        NTH-IMMEDIATE ?)
10663
106642006-03-11 03:14  gb
10665
10666        * level-0/l0-misc.lisp: Indentation.
10667
106682006-03-11 03:13  gb
10669
10670        * level-0/l0-def.lisp: Move CLOSURE-FUNCTION to arch-specific dir.
10671        Use LFUN-VECTOR, which should hopefully compile away on PPC but
10672        needs to be there on X8664.
10673
106742006-03-11 03:11  gb
10675
10676        * compiler/X86/X8664/x8664-vinsns.lisp: Now that subprim addresses
10677        are higher, there's another significant byte to deal with in the
10678        subprim jump in %INIT-CLOSURE.
10679       
10680        Use a temporary - and a smaller instruction sequence - in
10681        MISC-ELEMENT-COUNT-FIXNUM, so that src and dest can overlap.  (More
10682        instructions, but fewer bytes.)
10683
106842006-03-11 03:08  gb
10685
10686        * compiler/PPC/PPC32/ppc32-arch.lisp,
10687        compiler/PPC/PPC64/ppc64-arch.lisp,
10688        compiler/X86/X8664/x8664-arch.lisp, lib/macros.lisp: LFUN-VECTOR
10689        and LFUN-VECTOR-LFUN are arch-specific macros.
10690
106912006-03-11 03:07  gb
10692
10693        * lisp-kernel/x86-spentry64.s: Reformat a comment.
10694
106952006-03-10 22:06  gb
10696
10697        * xdump/xx8664-fasload.lisp: Target-specific static-space (NIL
10698        representation, mostly) init functions.
10699       
10700        Move image-base-address up a few terabytes.
10701       
10702        Undefined function and macro trampolines are vectors with an
10703        executable fixnum in the 0th word.
10704
107052006-03-10 22:05  gb
10706
10707        * xdump/xppcfasload.lisp: Target-specific static-space (NIL
10708        representation, mostly) init functions.
10709
107102006-03-10 22:04  gb
10711
10712        * xdump/xfasload.lisp: Lots of changes, to deal with
10713        symbol/function tagging issues, x86 clfuns, etc.
10714
107152006-03-10 22:03  gb
10716
10717        * xdump/heap-image.lisp: Endianness, word-size conditionalization
10718        stuff.
10719
107202006-03-10 22:02  gb
10721
10722        * lisp-kernel/linuxx8664/Makefile: C files depend on lisptypes.h.
10723
107242006-03-10 22:01  gb
10725
10726        * lisp-kernel/linuxx8664/elf_x86_64.x: Don't try to link into low
10727        memory (no real reason to.) Do try to put spjump at a
10728        fixed/known/page-aligned address.
10729
107302006-03-10 21:59  gb
10731
10732        * lisp-kernel/x86_print.c: Recognize some x8664 tags.
10733
107342006-03-10 21:59  gb
10735
10736        * lisp-kernel/x86-subprims64.s: Use Rforeign_sp; get valence right
10737        on exit.
10738
107392006-03-10 21:58  gb
10740
10741        * lisp-kernel/x86-spjump64.s: Rename ffcall/syscall.
10742
107432006-03-10 21:58  gb
10744
10745        * lisp-kernel/x86-spentry64.s: Lots of fixes/changes (including
10746        ffcall/syscall).
10747
107482006-03-10 21:56  gb
10749
10750        * lisp-kernel/x86-macros.s: TSP_Alloc_Size is an immediate operand
10751        in TSP_Alloc_Fixed().
10752       
10753        Fix allocptr/allocbase comparison when consing.
10754       
10755        Misc_Alloc_Fixed: m4/gas $ conflation.
10756
107572006-03-10 21:54  gb
10758
10759        * lisp-kernel/x86-exceptions.h: Extra parens around xpGPR
10760        expansion.
10761
107622006-03-10 21:54  gb
10763
10764        * lisp-kernel/x86-exceptions.c: Actually handle something
10765        (uuo_alloc()), since we can't do much without it.
10766
107672006-03-10 21:53  gb
10768
10769        * lisp-kernel/x86-constants64.s: Call the foreign sp register
10770        Rforeign_sp, to avoid m4 lossage.
10771       
10772        nrs starts at #x2020, because NIL is between there and #x2000.
10773
107742006-03-10 21:52  gb
10775
10776        * lisp-kernel/x86-constants64.h: Iallocptr for trap handler.
10777       
10778        tcr was missing foreign_sp definition.
10779
107802006-03-10 21:51  gb
10781
10782        * lisp-kernel/thread_manager.c: get_tcr() change for HAVE_TLS case.
10783
107842006-03-10 21:51  gb
10785
10786        * lisp-kernel/ppc-exceptions.c: Put a sane value in the FPSCR
10787        before calling back to lisp on an exception.
10788
107892006-03-10 21:50  gb
10790
10791        * lisp-kernel/pmcl-kernel.c: Use address of bad_funcall, not
10792        "value".
10793       
10794        Disable EGC on x8664.
10795
107962006-03-10 21:49  gb
10797
10798        * lisp-kernel/lisptypes.h: formatting change only.
10799
108002006-03-10 21:49  gb
10801
10802        * lisp-kernel/lisp_globals.h: Layout of lisp-globals/nrs on x8664
10803        not identical to ppc64 (NIL representation differs.)
10804
108052006-03-10 21:48  gb
10806
10807        * lisp-kernel/lisp-debug.c: Lisp register stuff for x8664.
10808
108092006-03-10 21:48  gb
10810
10811        * lisp-kernel/image.c: Fix some conditionalization.
10812
108132006-03-10 21:47  gb
10814
10815        * lisp-kernel/area.h: Larger IMAGE-BASE-ADDRESS for X8664 Linux.
10816
108172006-03-10 21:46  gb
10818
10819        * library/: linux-syscalls.lisp, syscall.lisp: Try to make things a
10820        little more portable, but really need to keep things in the
10821        target-ftd.  Soon.
10822
108232006-03-10 21:45  gb
10824
10825        * level-0/l0-numbers.lisp: Don't reference
10826        TARGET::LEAST-SIGNIFICANT-BIT in ASH; express limits in terms of
10827        TARGET::NBITS-IN-WORD.
10828
108292006-03-10 21:45  gb
10830
10831        * level-0/l0-misc.lisp: Add some fixnum decls to %GET-CSTRING, so
10832        that single-stepping through it in GDB is faster.
10833
108342006-03-10 21:44  gb
10835
10836        * level-0/l0-io.lisp: %YIELD here, so all level-0 syscalls are in
10837        one file.
10838
108392006-03-10 21:43  gb
10840
10841        * level-0/l0-cfm-support.lisp: We generally want foreign symbol
10842        addresses to be boxed integers on X8664, and can't assume that
10843        they're fixnum-aligned.
10844
108452006-03-10 21:42  gb
10846
10847        * level-0/: l0-array.lisp, l0-init.lisp: Comment indentation.
10848
108492006-03-10 21:41  gb
10850
10851        * lisp-kernel/linuxx8664/.gdbinit: Well, it's a start ...
10852
108532006-03-10 21:41  gb
10854
10855        * level-0/X86/x86-utils.lisp: %KERNEL-IMPORT boxes what may not
10856        have been a fixnum.
10857
108582006-03-10 21:40  gb
10859
10860        * level-0/X86/x86-misc.lisp: Fix typo.
10861       
10862        STORE-NODE-CONDITIONAL pops stack arg, discards stack frame
10863        reserved by caller before jumping into kernel.
10864
108652006-03-10 21:39  gb
10866
10867        * level-0/X86/x86-float.lisp: Missing SET-MXCSR-CONTROL was hidden
10868        in duplicate SET-MSCSR-STATUS.  May want to always set/get the
10869        control and rounding modes.
10870
108712006-03-10 21:37  gb
10872
10873        * level-0/X86/x86-def.lisp: Comment out the missing lexpr/apply
10874        stuff, so that the rest of the file compiles.
10875
108762006-03-10 21:36  gb
10877
10878        * level-0/X86/x86-array.lisp: %INIT-MISC wants/needs to be in LAP
10879        because of write-barrier issues.
10880
108812006-03-10 21:35  gb
10882
10883        * lib/x8664env.lisp: It's OK (in fact necessary) to use FP0 as a
10884        temporary.  0.0 is in FPZERO.
10885
108862006-03-10 21:34  gb
10887
10888        * lib/nfcomp.lisp: Spit out a fasl op while writing CLFUNs.
10889
108902006-03-10 21:33  gb
10891
10892        * level-0/PPC/ppc-float.lisp: Don't CLEAR-FPU-EXCEPTIONS, at least
10893        without knowing why.
10894
108952006-03-10 21:32  gb
10896
10897        * compiler/X86/X8664/x8664-vinsns.lisp: SETcc sets the byte to 1 or
10898        0, so we need to negate.
10899       
10900        Other bug fixes and additions.
10901
109022006-03-10 21:31  gb
10903
10904        * compiler/X86/X8664/x8664-arch.lisp: Fix a typo in
10905        X8664-MISC-BYTE-SIZE.
10906       
10907        Move subprims base up to #x410000, to make it easier on the linker.
10908
109092006-03-10 21:29  gb
10910
10911        * compiler/X86/x862.lisp: Lots-o-fixes; FFI stuff.  When generating
10912        code involving a :REG8 operand, be careful to pass the 8-bit reg
10913        entry to LAP.
10914
109152006-03-10 21:27  gb
10916
10917        * compiler/X86/x86-lapmacros.lisp: X86 CMOV instructions reference
10918        the source operand (possibly generating a memory fault) even if the
10919        destination operand isn't written to.  Who knew ?
10920
109212006-03-10 21:24  gb
10922
10923        * compiler/X86/x86-disassemble.lisp: Recognize newer UUOs.
10924
109252006-03-10 21:24  gb
10926
10927        * compiler/X86/x86-lap.lisp: Use the #x80 bit in an instruction's
10928        REX prefix to indicate when the prefix needs to be emitted (even if
10929        the #x7 bits are clear).
10930
109312006-03-10 21:23  gb
10932
10933        * compiler/X86/x86-asm.lisp: A few UUOs; try to ensure that we'll
10934        generate (at least) a #x40 REX prefix if a new-style byte register
10935        is used as an operand.  (e.g., we generally don't want to refer to
10936        the traditional things like %dh, and do want to refer to the newer
10937        things like %sil.)
10938
109392006-03-10 21:20  gb
10940
10941        * compiler/X86/x86-arch.lisp: rename *X86-NILREG-RELATIVE-SYMBOLS*
10942        -> *X86-NIL-RELATIVE-SYMBOLS*.
10943
109442006-03-10 21:18  gb
10945
10946        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
10947        PPC64/ppc64-vinsns.lisp: %SINGLE-TO-DOUBLE, %DOUBLE-TO-SINGLE, to
10948        avoid consing in some simple cases.
10949
109502006-03-10 21:17  gb
10951
10952        * compiler/PPC/ppc-arch.lisp: Rename *PPC-NILREG-RELATIVE-SYMBOLS*
10953        -> *PPC-NIL-RELATIVE-SYMBOLS* (NIL hasn't been in a register in a
10954        few years.)
10955
109562006-03-10 21:15  gb
10957
10958        * compiler/optimizers.lisp: On 64-bit targets, SINGLE-FLOATs are
10959        EQL iff EQ.
10960       
10961        Try to recognize a few ways of coercing SINGLE-FLOATs to
10962        DOUBLE-FLOATs and vice versa, so that we have some chance of
10963        avoiding consing in some cases.
10964
109652006-03-10 21:13  gb
10966
10967        * compiler/nxenv.lisp: Add %SINGLE-TO-DOUBLE, %DOUBLE-TO-SINGLE.
10968        Replace unused EMBEDDED-CALL with SYSCALL.
10969
109702006-03-10 21:12  gb
10971
10972        * compiler/nx1.lisp: Just use SYSCALL operator to mark x8664
10973        syscalls.
10974
109752006-03-10 21:12  gb
10976
10977        * .cvsignore: Change patterns.
10978
109792006-03-07 06:49  gb
10980
10981        * lisp-kernel/x86-spentry64.s: Assume that fpzero (not fp0)
10982        contains 0.0.
10983       
10984        Get a few more things working, or at least written.
10985
109862006-03-07 06:48  gb
10987
10988        * lisp-kernel/: x86-macros.s, x86-subprims64.s: Assume that fpzero
10989        (not fp0) contains 0.0.
10990
109912006-03-07 06:48  gb
10992
10993        * lisp-kernel/x86-constants64.s: Define fpzero = xmm15.
10994       
10995        Pad the (misnamed) fpscr field in the TCR.
10996
109972006-03-06 06:37  gb
10998
10999        * lib/nfcomp.lisp: Initial, crude support for cross-dumping
11000        "concatenated" lisp functions.
11001
110022006-03-06 06:36  gb
11003
11004        * level-0/l0-numbers.lisp: Fix comment indentation in a function
11005        that the x8664 backend was choking on.
11006
110072006-03-06 06:36  gb
11008
11009        * compiler/X86/X8664/x8664-vinsns.lisp: use fpzero when a zero is
11010        needed,  not fp0.
11011
110122006-03-06 06:35  gb
11013
11014        * compiler/X86/X8664/x8664-arch.lisp: xmm15 is fpzero (contains
11015        0.0[de]0).  (xmm0 is used for ff-call.)
11016
110172006-03-06 06:35  gb
11018
11019        * compiler/X86/x862.lisp: X862-COMPILE: don't reserve quad for null
11020        function name, even if debug info is present.
11021
110222006-03-06 06:34  gb
11023
11024        * compiler/X86/x86-lap.lisp: RELAX-FRAG-LIST: account for (possibly
11025        non-zero) length of :ALIGN frags.  CROSS-CREATE-X86-FUNCTION: don't
11026        emit function name if it's nil, even if debug-info is present.
11027
110282006-03-06 06:30  gb
11029
11030        * compiler/X86/x86-asm.lisp: Add a declaration to suppress compiler
11031        warning on forward reference.
11032
110332006-03-06 03:27  gb
11034
11035        * xdump/xfasload.lisp: Fix parens.
11036
110372006-03-06 02:59  gb
11038
11039        * xdump/xfasload.lisp: Remove many uses of TARGET-ARCH-CASE (thus
11040        removing many uses of ppc/ppc32/ppc64 package symbols.)  Some uses
11041        remain.
11042
110432006-03-06 02:57  gb
11044
11045        * lib/macros.lisp: Define TARGET-ARCH-CASE in terms of CASE, not
11046        ECASE.
11047
110482006-03-05 19:12  gb
11049
11050        * compiler/PPC/PPC64/ppc64-arch.lisp: typecode, lisptag are in ccl
11051        package.
11052
110532006-03-05 19:01  gb
11054
11055        * level-1/version.lisp: Bump; some of this is hard to bootstrap.
11056
110572006-03-05 19:00  gb
11058
11059        * lib/macros.lisp: Move some %kernel-global nonsense here.
11060
110612006-03-05 19:00  gb
11062
11063        * level-1/l1-lisp-threads.lisp: Define macros in ... macros.lisp,
11064        of all places.
11065
110662006-03-05 18:59  gb
11067
11068        * level-0/X86/x86-array.lisp: write some code in lisp
11069        (temporarily), clean up some typos so that the file compiles.
11070
110712006-03-05 18:58  gb
11072
11073        * compiler/: arch.lisp, PPC/PPC32/ppc32-arch.lisp,
11074        PPC/PPC64/ppc64-arch.lisp, X86/X8664/x8664-arch.lisp: More
11075        parameters (mostly for xloader) in target-arch struct.
11076
110772006-03-05 18:52  gb
11078
11079        * xdump/xfasload.lisp: Get target parameters from
11080        (backend-target-arch *target-backend*)).
11081
110822006-03-05 06:17  gb
11083
11084        * xdump/xx8664-fasload.lisp: Closer ...
11085
110862006-03-05 06:17  gb
11087
11088        * xdump/hashenv.lisp: Arch macros for hashing macros.
11089
110902006-03-05 06:16  gb
11091
11092        * level-1/l1-lisp-threads.lisp: Arch macros for kernel globals.
11093
110942006-03-05 06:16  gb
11095
11096        * level-1/l1-readloop-lds.lisp: Check *interrupt-level* value, not
11097        (interrupt-level).
11098
110992006-03-05 06:15  gb
11100
11101        * level-1/l1-clos-boot.lisp: Make *class-table* a global.
11102
111032006-03-05 06:15  gb
11104
11105        * level-0/X86/X8664/x8664-bignum.lisp: use temp2.b (= cl) for
11106        variable shifts.
11107
111082006-03-05 06:14  gb
11109
11110        * level-0/nfasload.lisp: No code-vectors on x8664.
11111
111122006-03-05 06:14  gb
11113
11114        * level-0/l0-numbers.lisp: Conditionalization: 64-bit-target
11115        implies no (need for) destructive single-float ops.
11116
111172006-03-05 06:13  gb
11118
11119        * level-0/