source: branches/ia32/ChangeLog @ 7287

Last change on this file since 7287 was 7287, checked in by rme, 13 years ago

Merged trunk changes r7244:7286

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 789.5 KB
Line 
12007-09-24 06:10  gb
2
3        * lisp-kernel/x86-exceptions.c: Missing #ifdef DARWIN in
4        arbstack_signal_handler; not used on Darwin.
5
62007-09-23 21:11  gb
7
8        * lisp-kernel/: lisp-debug.c, lisp-exceptions.h, x86-exceptions.c,
9        x86-exceptions.h: Don't use sigaltstack on any x86-64 platform:
10        even if it works, it makes it harder to deal with exceptions in
11        foreign code (we've often gotten segfaults from running out of
12        space on the alt stack, the mechanism isn't reentrant, etc.)
13       
14        Try to report cases where the kernel debugger is entered due to an
15        exception in foreign code.  Todo: make it less tempting to use (L)
16        in that case, maybe try to make backtrace find saved_rbp from tcr
17        on x86-64, etc.
18
192007-09-23 21:10  gb
20
21        * level-1/l1-application.lisp: APPLICATION-VERSION-STRING (which
22        probably was used to support "get info", back in the day) is just
23        LISP-IMPLEMENTATION-VERSION.
24
252007-09-23 09:12  gb
26
27        * xdump/xfasload.lisp: Handle saving svn revision as string or
28        fixnum.
29
302007-09-23 09:11  gb
31
32        * lib/misc.lisp: Try to use "svnversion" to get svn version info in
33        LOCAL-SVN-REVISION.
34
352007-09-22 23:13  gb
36
37        * xdump/xfasload.lisp: Set *openmcl-svn-revision* to the value of
38        (LOCAL-SVN-REVISION) when writing the bootstrapping image; this
39        will show up in the Welcome banner and LISP-IMPLEMENTATION-VERSION.
40          May want to tweak this some more, but it may make it easier to
41        determine what you're running relative to what's in SVN/CVS.
42
432007-09-22 23:12  gb
44
45        * level-1/version.lisp: Replace *OPENMCL-SUFFIX* (the thing which
46        had the date in it) with *OPENMCL-SVN-REVISION*, which is defvar'ed
47        to NIL here.  (It may be set early in the cold load or via the
48        xloader.)
49
502007-09-22 23:11  gb
51
52        * lib/pathnames.lisp: Treat NIL and :UNSPECIFIC name/type
53        components in the pattern consistently in %FILE*=.
54
552007-09-22 23:10  gb
56
57        * lib/misc.lisp: LOCAL-SVN-REVISION tries to determine the (local)
58        svn revision, by looking for a .svnrev file (used in the svn->cvs
59        synching process) or by parsing "svn info" output.
60
612007-09-21 12:10  gb
62
63        * cocoa-ide/cocoa-editor.lisp: Rename "cache" to "mirror" in
64        hemlock-text-storage.  This clarifies the purpose of the slot and
65        avoids confusion with buffer caches, which are completely
66        different.
67
682007-09-20 21:10  gb
69
70        * level-1/linux-files.lisp: Make the pipe streams created by
71        RUN-PROGRAM be basic streams
72
732007-09-19 15:10  gb
74
75        * lib/macros.lisp: Prevent unused gensym warnings in
76        with-accessors.  Same fix that Gary Palter did to with-slots.
77
782007-09-19 02:11  gb
79
80        * lib/backtrace-lds.lisp: FRAME-REQUIRED-ARGS: try to make better.
81        This is only used by SLIME; it was once used for frame restarting.
82        Try to make the result reasonable in the SLIME case.
83
842007-09-19 02:10  gb
85
86        * lib/arglist.lisp: ARGLIST-FROM-MAP: don't be afraid to say
87        &LEXPR.  ARG-NAMES-FROM-MAP: &rest in map before &keys now.
88
892007-09-18 21:10  gb
90
91        * lib/macros.lisp: In WITH-SLOTS, if there are bindings, declare
92        the gensym'ed instance symbol IGNORABLE just in case none of the
93        symbol macros are actuall used.
94
952007-09-18 05:10  gb
96
97        * level-0/l0-numbers.lisp: Typo in constant again.
98
992007-09-17 21:10  gb
100
101        * level-1/sysutils.lisp: Return all three values from
102        CCL::PRINT-DEFERRED-WARNINGS
103
1042007-09-17 06:10  gb
105
106        * level-0/l0-numbers.lisp: Simply clearing the top bit of the
107        intermediate result from %NEXT-RANDOM-PAIR had the effect of using
108        doing (mod result (expt 2 31)), not (mod result (1- (expt 2 31))).
109        Do a real MOD to obtain the next item in the series and update the
110        state with that value.  (This means that the high bit of the high
111        half of the result is always clear; or in the sign bit from the low
112        half.)
113
1142007-09-16 18:10  gb
115
116        * compiler/X86/x862.lisp: X862-BIND-LAMBDA: bind &rest before &key
117        ...
118
1192007-09-16 17:10  gb
120
121        * compiler/PPC/ppc2.lisp: PPC2-BIND-LAMBDA: rest arg is in scope
122        before key arg(s), so assign it an address before processing &key
123        initforms.
124
1252007-09-15 17:10  gb
126
127        * level-1/l1-readloop-lds.lisp: Observe *BACKTRACE-PRINT-LEVEL*,
128        -LENGTH* when printing break messages.
129
1302007-09-13 20:10  gb
131
132        * level-1/: l1-streams.lisp, linux-files.lisp: Add support for
133        :element-type to ccl:run-program to allow for binary streams
134
1352007-09-13 06:55  gb
136
137        * cocoa-ide/hemlock/: README, doc/scribe-converter/README,
138        src/elisp/README, src/spell/README: Restore some README files,
139        which had somehow gotten lost in translation.
140
1412007-09-13 06:54  gb
142
143        *
144        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
145        ib/: classes.nib, info.nib, keyedobjects.nib: not used
146
1472007-09-13 06:52  gb
148
149        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Push labels
150        for certain kinds of MULTIPLE-VALUE-CALL differently; in
151        particular, note the effect of pushing such a label on stack depth.
152
1532007-09-13 06:50  gb
154
155        * cocoa-ide/OpenMCL.app/Contents/MacOS/.cvsignore,
156        examples/cocoa/.cvsignore: New file, mostly to help ensure that the
157        containing directory exists in cvs.
158
1592007-09-06 14:10  gb
160
161        * cocoa-ide/builder-utilities.lisp: added key 'CFBundleName' to
162        write-info-plist
163
1642007-09-04 23:11  gb
165
166        * cocoa-ide/cocoa-editor.lisp: New! Improved!
167       
168        The code which arranges for editing changes to be processed in the
169        main thread now does so via an NSInvocation (ObjC's notion of a
170        closure, sort of); the methods which run in the main thread handle
171        the job of synchronizing the underlying the Hemlock string and the
172        "real" NSMutableAttributedString as well as informing the text
173        system of pending editing changes via
174        #/edited:range:changeInLength:.  The code which processes deletions
175        does the change processing before modifying the string (other
176        methods do it after the change); this seems to be necessary to
177        avoid some things that could cause ticket:50.  (I'm not sure if
178        this fixes ticket:50, but it does seem to fix a reproducible case.)
179       
180        The #/replaceCharactersInRange:withString: method on
181        hemlock-text-storage (which handles buffer changes originating from
182        non-Hemlock sources) is careful to use a :right-inserting temporary
183        mark when modifying the buffer, to help ensure that
184        insertions/deletions take place at the correct absolute position.
185        (This may at least partially address bugs related to things getting
186        confused/out-of-bounds errors when doing lots of cutting and
187        pasting, though it's hard to know without reproducible cases.)
188       
189        The macros NSSTRING-ENCODING-TO-NSINTEGER and
190        NSINTEGER-TO-NSSTRING-ENCODING are defined before they're used (at
191        least one of them wasn't.)
192       
193        The handling of text encoding for editor documents has changed in a
194        few ways.  If "automatic" encoding is used in an "Open ..." dialog
195        and is successfully able to infer a text file's encoding, the
196        encoding that was inferred becomes the document's encoding (used in
197        subsequent "save" operations.)  On some OSX versions, the automatic
198        detection mechanism can only recognize UTF-16 files that contain a
199        leading BOM (and the editor's code for dealing with the automatic
200        mechanism didn't expect this to ever work.)  On other systems, the
201        automatic mechanism can return something correct (I've seen UTF-8)
202        but possibly suboptimal.
203       
204        The Open... dialog now defaults to something derived from the
205        user's setting of CCL:*DEFAULT-FILE-CHARACTER-ENCODING*; because
206        "automatic" is a little unpredictable, the new default is probably
207        better.
208       
209        The NSDocument mechanism for creating backup files (with names of
210        the form "name~.ext") is not used; when backup files are created,
211        we try to copy the original to a file whose name conforms to the
212        (simple, non-versioned) Emacs scheme ("name.ext~").  More things
213        seem to work better when the Emacs scheme is used (though I suppose
214        some people might prefer the NSDocument scheme and we could make
215        this a preference.)
216
2172007-09-04 22:11  gb
218
219        * cocoa-ide/cocoa-listener.lisp: Don't call #/setFileName: when
220        creating a Listener, since (a) that method's deprecated in favor of
221        #/setFileURL: and (b) a newly-created Listener doesn't really have
222        an associated filename, and so shouldn't get the icon and popup in
223        its titlebar.
224       
225        Do arrange that (unless/until a listener document is saved to a
226        file) its window title is based on the underlying Hemlock buffer's
227        name.  (If one ever attempts to save a listener document, the
228        proposed file name is the internal NSDocument name; we might or
229        might not want to change that.)
230
2312007-09-04 22:10  gb
232
233        * cocoa-ide/cocoa-prefs.lisp: Suppress warnings about
234        *MODELINE-FONT-NAME*, -SIZE*.
235
2362007-09-04 19:13  gb
237
238        * lisp-kernel/: gc.h, memory.c, pmcl-kernel.c, ppc-exceptions.c,
239        ppc-gc.c, x86-exceptions.c, x86-gc.c: Lose "HeapHighWaterMark",
240        which was supposed to allow us to track the high end of a range of
241        pages that'd been written to and not freed (so we'd zero them
242        lazily when they were reallocated.)  Such a scheme would really
243        need to track both ends of such a range, and the old scheme wound
244        up being overly zealous and often zeroed pages that were already
245        zeroed.  Zero the range between the old free pointer and the new
246        one after each GC, instead.
247       
248        At least partly address ticket:101, by doing GROW-DYNAMIC-AREA more
249        carefully.
250
2512007-09-04 19:12  gb
252
253        * level-0/: l0-numbers.lisp, PPC/ppc-numbers.lisp: Fix to 64-bit
254        %NEXT-RANDOM-SEED, random algorithm comments from Bernd Beuster.
255
2562007-09-04 19:11  gb
257
258        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp,
259        ffi-linuxppc32.lisp, ffi-linuxppc64.lisp, macros.lisp: Don't coerce
260        single-float results to double-floats in DEFCALLBACK-BODY.  Do do
261        this in the PPC backends.
262       
263        (This needs testing ...)
264
2652007-09-04 19:10  gb
266
267        * compiler/X86/X8664/x8664-backend.lisp: Don't assume that
268        :single-float callback results have been coerced to :double-float
269        on x8664.
270
2712007-09-03 18:10  gb
272
273        * cocoa-ide/hemlock/src/edit-defs.lisp: Make meta-. use either the
274        selection or the symbol around point, regardless of global parsing
275        state (Ticket:95).  While in there, make meta-. with a numarg
276        prompt for symbol to look up.
277
2782007-08-30 20:10  gb
279
280        * level-1/l1-error-system.lisp: Add a restart for unbound
281        variable/undefined function errors -- if there is a unique
282        bound/fbound symbol of the same name in another package, offer to
283        use it instead.
284
2852007-08-30 19:10  gb
286
287        * cocoa-ide/cocoa-grep.lisp: Tell grep not to complain about
288        inaccesible files; it might return an exit status of 2 if it finds
289        such files, so treat that as "success" for now (ticket:98).
290
2912007-08-30 18:11  gb
292
293        * cocoa-ide/hemlock/src/doccoms.lisp: Fix format call in Show
294        Variable command output (ticket:97).
295
2962007-08-30 18:10  gb
297
298        * cocoa-ide/hemlock/src/listener.lisp: EVAL-REGION uses
299        VARIABLE-VALUE to access buffer's package (ticket:82).
300
3012007-08-30 15:11  gb
302
303        * cocoa-ide/: build-application.lisp, builder-utilities.lisp: added
304        code to copy user-supplied nibfiles into a saved application bundle
305
3062007-08-30 14:10  gb
307
308        * cocoa-ide/hemlock/src/: command.lisp, listener.lisp: Make sure
309        all callers of current-point-for-deletion handle the nil return
310        value case.  This fixes ticket:85
311
3122007-08-29 20:11  gb
313
314        * cocoa-ide/: cocoa-editor.lisp, cocoa.lisp, hemlock/TODO,
315        hemlock/doc/scribe-converter/NOTES, hemlock/maint/publish,
316        hemlock/src/bindings.lisp, hemlock/src/buffer.lisp,
317        hemlock/src/charmacs.lisp, hemlock/src/command.lisp,
318        hemlock/src/comments.lisp, hemlock/src/completion.lisp,
319        hemlock/src/cursor.lisp, hemlock/src/defsyn.lisp,
320        hemlock/src/doccoms.lisp, hemlock/src/echo.lisp,
321        hemlock/src/echocoms.lisp, hemlock/src/edit-defs.lisp,
322        hemlock/src/filecoms.lisp, hemlock/src/files.lisp,
323        hemlock/src/fill.lisp, hemlock/src/font.lisp,
324        hemlock/src/htext1.lisp, hemlock/src/htext2.lisp,
325        hemlock/src/htext3.lisp, hemlock/src/htext4.lisp,
326        hemlock/src/icom.lisp, hemlock/src/indent.lisp,
327        hemlock/src/interp.lisp, hemlock/src/kbdmac.lisp,
328        hemlock/src/key-event.lisp, hemlock/src/keysym-defs.lisp,
329        hemlock/src/killcoms.lisp, hemlock/src/line.lisp,
330        hemlock/src/linimage.lisp, hemlock/src/lispmode.lisp,
331        hemlock/src/macros.lisp, hemlock/src/main.lisp,
332        hemlock/src/morecoms.lisp, hemlock/src/package.lisp,
333        hemlock/src/pop-up-stream.lisp, hemlock/src/register.lisp,
334        hemlock/src/ring.lisp, hemlock/src/rompsite.lisp,
335        hemlock/src/search1.lisp, hemlock/src/search2.lisp,
336        hemlock/src/searchcoms.lisp, hemlock/src/srccom.lisp,
337        hemlock/src/streams.lisp, hemlock/src/struct.lisp,
338        hemlock/src/syntax.lisp, hemlock/src/table.lisp,
339        hemlock/src/text.lisp, hemlock/src/undo.lisp,
340        hemlock/src/vars.lisp, hemlock/src/archive/abbrev.lisp,
341        hemlock/src/archive/auto-save.lisp,
342        hemlock/src/archive/bit-display.lisp,
343        hemlock/src/archive/bit-screen.lisp,
344        hemlock/src/archive/bufed.lisp, hemlock/src/archive/debug.lisp,
345        hemlock/src/archive/dired.lisp, hemlock/src/archive/diredcoms.lisp,
346        hemlock/src/archive/display.lisp, hemlock/src/archive/dylan.lisp,
347        hemlock/src/archive/eval-server.lisp,
348        hemlock/src/archive/group.lisp, hemlock/src/archive/highlight.lisp,
349        hemlock/src/archive/hunk-draw.lisp, hemlock/src/archive/input.lisp,
350        hemlock/src/archive/lisp-lib.lisp,
351        hemlock/src/archive/lispbuf.lisp,
352        hemlock/src/archive/lispeval.lisp, hemlock/src/archive/mh.lisp,
353        hemlock/src/archive/netnews.lisp,
354        hemlock/src/archive/overwrite.lisp,
355        hemlock/src/archive/pascal.lisp, hemlock/src/archive/rcs.lisp,
356        hemlock/src/archive/screen.lisp, hemlock/src/archive/scribe.lisp,
357        hemlock/src/archive/shell.lisp, hemlock/src/archive/spell-aug.lisp,
358        hemlock/src/archive/spell-corr.lisp,
359        hemlock/src/archive/spell-rt.lisp,
360        hemlock/src/archive/spellcoms.lisp,
361        hemlock/src/archive/srccom.lisp, hemlock/src/archive/ts-buf.lisp,
362        hemlock/src/archive/ts-stream.lisp,
363        hemlock/src/archive/unixcoms.lisp, hemlock/src/archive/window.lisp,
364        hemlock/src/archive/winimage.lisp, hemlock/src/archive/xcoms.lisp,
365        hemlock/src/spell/spellcoms.lisp, hemlock/src/tty/termcap.lisp,
366        hemlock/src/tty/tty-disp-rt.lisp, hemlock/src/tty/tty-display.lisp,
367        hemlock/src/tty/tty-screen.lisp, hemlock/src/wire/remote.lisp,
368        hemlock/src/wire/wire.lisp, hemlock/unused/bit-stream.lisp,
369        hemlock/unused/clx-ext.lisp, hemlock/unused/ed-integrity.lisp,
370        hemlock/unused/gosmacs.lisp, hemlock/unused/hemcom.lisp,
371        hemlock/unused/hi-integrity.lisp, hemlock/unused/keytran.lisp,
372        hemlock/unused/keytrandefs.lisp, hemlock/unused/spell-build.lisp,
373        hemlock/unused/struct-ed.lisp, hemlock/unused/tty-stream.lisp,
374        hemlock/website/index.html.in: umm, load cocoa-grep where it will
375        work...
376
3772007-08-29 20:10  gb
378
379        * cocoa-ide/cocoa-editor.lisp: load cocoa-grep
380
3812007-08-29 13:11  gb
382
383        * cocoa-ide/cocoa-grep.lisp: Implement m-x grep
384
3852007-08-29 12:12  gb
386
387        * cocoa-ide/hemlock/src/indent.lisp: Indent command: if no prefix
388        arg (simple case), move point to the location of the temporary mark
389        after calling the indent function.
390
3912007-08-29 12:11  gb
392
393        * cocoa-ide/hemlock/src/lispmode.lisp: COUNT-LEADING-WHITESPACE
394        returns 2 values: the "column" (with tabs expanded) of the first
395        non-whitespace character on the line and that character's position.
396         ENSURE-LISP-INDENTATION moves the (temporary) mark to that
397        position if no changes are necessary.
398
3992007-08-29 12:10  gb
400
401        * cocoa-ide/cocoa-editor.lisp: In HEMLOCK-TEXT-VIEW #/paste:
402        method, make an NS-MUTABLE-STRING even if the string from the
403        clipboard already appears to be an NS-MUTABLE-STRING.  (NSCFString
404        is apparently a subclass of NS-MUTABLE-STRING, but isn't really ...
405         mutable.) For ticket:84.
406
4072007-08-28 23:10  gb
408
409        * cocoa-ide/: cocoa-editor.lisp, hemlock/src/command.lisp: Make
410        hi::scroll-window actually scroll, not just move insertion point
411        around.  Fixes ticket:88.
412
4132007-08-26 13:11  gb
414
415        * cocoa-ide/: build-application.lisp, builder-utilities.lisp: new
416        keyword argument to build-application: main-nib-name; names the
417        nigfile that is to be the main nib of the built application
418
4192007-08-26 12:10  gb
420
421        * cocoa-ide/: build-application.lisp, builder-utilities.lisp: added
422        application bulder to trunk
423
4242007-08-25 02:13  gb
425
426        * cocoa-ide/cocoa-listener.lisp:
427        HI::SEND-STRING-TO-LISTENER-PROCESS quotes #\^d, sends unquoted
428        #\^d after sending the string.  (This is just a workaround for
429        ticket:82; the trailing #\^d is just treated as whitespace and
430        terminates calls to READ.  We really want some way of recognizing
431        "end of selection" and treating that like a transient EOF in some
432        cases.)
433
4342007-08-25 02:12  gb
435
436        * cocoa-ide/cocoa-editor.lisp: In COCOA-EDIT, invoke
437        #/openDocumentWithContentsOfURL:display:error:, since calling
438        #/openDocumentWithContentsOfURL:display: complains that
439        #/dataRepresentationOfType: isn't implemented in 32-bit versions of
440        Cocoa.  (Note that we'd been calling
441        #/openDocumentWithContentsOfURL:display:error: as part of the m-.
442        implementation without incident.)
443
4442007-08-25 02:11  gb
445
446        * cocoa-ide/hemlock/src/morecoms.lisp: "Capitalize Word" command
447        notes buffer modification.
448
4492007-08-25 02:10  gb
450
451        * cocoa-ide/hemlock/src/htext4.lisp: FILTER-REGION notes buffer
452        modification.
453
4542007-08-23 17:17  gb
455
456        * cocoa-ide/cocoa-listener.lisp: Remove a duplicate #/continue:
457        method.
458
4592007-08-23 17:16  gb
460
461        * cocoa-ide/cocoa-editor.lisp: Remove a duplicate
462        #/editingInProgress method.  Add some more (conditionalized) debug
463        info.  If ticket:50 bug is encountered, try to force DBG on Hemlock
464        command thread as well as in Cocoa thread.  Make sure that Hemlock
465        command thread has bindings of command-processing data structures,
466        prompt data structures.  Do not bind *LAST-SEARCH-STRING* or
467        *LAST-SEARCH-PATTERN*; note that *LAST-SEARCH-STRING* is usually
468        only set by isearch when it exits.
469
4702007-08-23 17:15  gb
471
472        * cocoa-ide/cocoa-backtrace.lisp: Use new defaults-based backtrace
473        font name and size; initially, Monaco 9.  (Not yet changeable
474        through preferences panel.) Adjust outline view's row height based
475        on font height.  Set the data cell to "non-editable" (could have
476        done this in IB).  Provide handlers for some menu commands
477        (continue, restarts, exitBreak); no need to validate menu items for
478        them (those commands should be available whenever backtrace dialog
479        is active.)
480
4812007-08-23 17:14  gb
482
483        * cocoa-ide/hemlock/src/searchcoms.lisp: Use
484        RECURSIVE-GET-KEY-EVENT in isearch, query-replace.
485
4862007-08-23 17:13  gb
487
488        * cocoa-ide/hemlock/src/package.lisp: Export
489        RECURSIVE-GET-KEY-EVENT.
490
4912007-08-23 17:12  gb
492
493        * cocoa-ide/hemlock/src/lispmode.lisp: Ignore erorrs when trying to
494        read symbol for arglist.  (Should probably be more careful
495        elsewhere, too.)
496
4972007-08-23 17:11  gb
498
499        * cocoa-ide/hemlock/src/interp.lisp: Keep track of
500        *COMMAND-KEY-EVENT-BUFFER* in %COMMAND-LOOP, to enable the
501        RECURSIVE-GET-KEY-EVENT redisplay mechanism.
502
5032007-08-23 17:10  gb
504
505        * cocoa-ide/hemlock/src/echo.lisp: Don't call
506        DOCUMENT-SET-POINT-POSITION in CLEAR-ECHO-AREA: editing changes may
507        still be pending on the echo area (how ?), and
508        DOCUMENT-SET-POINT-POSITION may need to do layout/display updates.
509        Use RECURSIVE-GET-KEY-EVENT when prompting in the echo area.
510
5112007-08-23 16:11  gb
512
513        * cocoa-ide/hemlock/src/cocoa-hemlock.lisp: Define
514        RECURSIVE-GET-KEY-EVENT, to allow redisplay on the buffer
515        designated as *COMMAND-KEY-EVENT-BUFFER* in while getting key
516        events in some modal loop in a command.  (The idea is that toplevel
517        editing commands inhibit redisplay in the main buffer while they're
518        active; commands which recursively process key events and which may
519        make changes to that buffer should allow redisplay while they're
520        waiting in RECURSIVE-GET-KEY-EVENT.)
521
5222007-08-23 16:10  gb
523
524        * cocoa-ide/hemlock/src/filecoms.lisp: Use the NSDocument-based
525        revert.
526
5272007-08-18 19:11  gb
528
529        * level-1/: l1-dcode.lisp, l1-dcode.lisp: Define and use
530        %GF-DISPATCH-TABLE-STORE-CONDITIONAL; this is intended to avoid
531        race conditions where two threads try to update a distpatch table
532        index with different {wrapper, combined-method} pairs at the same
533        time.  (As it's written, if the store-conditional fails because a
534        slot that we thought was free is now in use, we simply don't cache
535        the pair and get a cache miss the next time; that may or may not be
536        more work than repeating the whole process would be.)
537       
538        The store-conditional is used on attempt to update the
539        combined-method slot in the pair; the wrapper slot is only updated
540        if the store-conditional succeeds.  Code which probes the wrapper
541        slots shouldn't be confused by a half-updated pair (should never
542        see a non-null wrapper slot and a null combined-method slot.)
543
5442007-08-18 17:11  gb
545
546        * lib/db-io.lisp: Don't treat (:* :void) as (:* nil) in
547        %DECODE-TYPE.
548
5492007-08-18 16:10  gb
550
551        * cocoa-ide/cocoa-editor.lisp: Use #/instancesRespondToSelector: to
552        determine if selection highlighting can be used, since
553        #_class_respondsToSelector requires ObjC-2.0)
554
5552007-08-16 08:22  gb
556
557        * cocoa-ide/cocoa-editor.lisp: Hemlock text storage can use
558        extended selection highlighting if it's supported.
559       
560        Clear the shift bit from key events associated with standard-chars.
561
5622007-08-16 08:20  gb
563
564        * cocoa-ide/hemlock/src/bindings.lisp: Shifted and unshifted keys
565        bound to movement commands run different commands.
566       
567        Left-mouse has the :mouse-exit logical attribute.
568
5692007-08-16 08:19  gb
570
571        * cocoa-ide/hemlock/src/buffer.lisp:
572        CURRENT-POINT-COLLAPSING-SELECTION and
573        CURRENT-POINT-EXTENDING-SELECTION replace
574        CURRENT-POINT-FOR-MOVEMENT.
575
5762007-08-16 08:18  gb
577
578        * cocoa-ide/hemlock/src/cocoa-hemlock.lisp: Simplify key-event
579        translation.
580       
581        Define NOTE-SELECTION-SET-BY-SEARCH, which can cause special
582        selection highlighting under Leopard.
583
5842007-08-16 08:16  gb
585
586        * cocoa-ide/hemlock/src/command.lisp: Movement commands come in
587        "shifted" and "unshifted" variants.
588
5892007-08-16 08:15  gb
590
591        * cocoa-ide/hemlock/src/echo.lisp: :mouse-exit is a new logical key
592        attribute.
593
5942007-08-16 08:14  gb
595
596        * cocoa-ide/hemlock/src/key-event.lisp: GET-KEY-EVENT*: clear shift
597        bit for standard-char (and upper-case.) This means that
598        #k"ctrl-shift-a" and #k"ctrl-A" both refer to the same key event
599        (in which the shift modifier isn't explicitly set) and that
600        #k"rightarrow" and #k"shift-rightarrow" are distinct (and the shift
601        modifier is set in the latter.)
602
6032007-08-16 08:13  gb
604
605        * cocoa-ide/hemlock/src/lispmode.lisp: When indenting, don't change
606        the buffer if the line's already indented properly.
607       
608        Movement commands come in two variants: those that collapse and
609        those that extend the selection.
610
6112007-08-16 08:12  gb
612
613        * cocoa-ide/hemlock/src/package.lisp: Export
614        CURRENT-POINT-EXTENDING-SELECTION and
615        CURRENT-POINT-COLLAPSING-SELECTION.  Don't export
616        CURRENT-POINT-FOR-MOVEMENT.
617
6182007-08-16 08:10  gb
619
620        * cocoa-ide/hemlock/src/searchcoms.lisp: Hilite the selection more
621        empatically (under Leopard) after successful (non incremental)
622        search.
623       
624        Incremental search also hilites the selection, but doesn't yet
625        manage the selection on failure.
626
6272007-08-16 07:10  gb
628
629        * cocoa-ide/cocoa-editor.lisp: activate-hemlock-view: implemenent
630        by invoking #/activateHemlockView on main thread; call
631        deactivate-hemlock-view on the peer.
632       
633        Not sure if edit-count fuss in deactivate-hemlock-view is correct,
634        but I'm fairly sure that this stuff needs to happen on the main
635        thread.
636
6372007-08-09 16:10  gb
638
639        * lib/arglist.lisp: Use PRINC-TO-STRING (not PRIN1-TO-STRING) in
640        ARGLIST-STRING, to avoid prinding package qualfiers (ticket:30).
641
6422007-08-07 15:10  gb
643
644        * cocoa-ide/hemlock/src/bindings.lisp: Bind home and end to
645        beginning of buffer and end of buffer.  It's Mac standard, and I
646        use it a lot.  Home was bound to "Help".
647       
648        Make clicking the mouse while incremental searching exit instead of
649        abort, leaving the insertion point where you click instead of where
650        the isearch was started.
651
6522007-08-06 23:10  gb
653
654        * cocoa-ide/: hemlock/src/bindings.lisp, hemlock/src/buffer.lisp,
655        hemlock/src/cocoa-hemlock.lisp, hemlock/src/command.lisp,
656        hemlock/src/lispmode.lisp, hemlock/src/morecoms.lisp,
657        hemlock/src/package.lisp, cocoa-editor.lisp: When generating a
658        hemlock key event, set the hemlock shift bit if the the Cocoa shift
659        bit was set.  In HI::GET-KEY-EVENT, return an event with the shift
660        bit cleared and the keysym downcased (if necessary).  Leave
661        HI::*LAST-KEY-EVENT-TYPED* as the unmodified event (which may have
662        shift bits set.) Define HI:CURRENT-POINT-FOR-MOVEMENT, which
663        deactivates the region ("collapses the selection") if the shift bit
664        was clear in HI::*LAST-KEY-EVENT-TYPED* and ensures that a region
665        is active otherwise.  Use HI:CURRENT-POINT-FOR-MOVEMENT in (most,
666        hopefully all) movement commands, to address ticket:36 .  Define a
667        "Do Nothing" hemlock command, bind #k"leftdown" (left mouse down)
668        to it to address ticket:44 .
669
6702007-08-06 19:10  gb
671
672        * objc-bridge/objc-support.lisp: careful with db stuff
673
6742007-08-04 13:12  gb
675
676        * cocoa-ide/cocoa-editor.lisp: Conditionalize an #_NSLog call.
677        Post a #k"leftdown" to Hemlock on mouseDown: in the main text view.
678         (Should maybe do this on mousedown in the echo area, too.) Some
679        indentation changes.
680
6812007-08-04 12:14  gb
682
683        * cocoa-ide/hemlock/src/bindings.lisp: Make #k"leftdown" a logical
684        :abort key event.
685
6862007-08-04 12:13  gb
687
688        * cocoa-ide/hemlock/src/doccoms.lisp: Fix format string in window
689        title for show lossage command.
690
6912007-08-04 12:12  gb
692
693        * cocoa-ide/hemlock/src/keysym-defs.lisp: Define the keysym for
694        left mouse down, so that we can use #k"leftdown".
695
6962007-08-04 12:11  gb
697
698        * cocoa-ide/hemlock/src/key-event.lisp: Revive mouse-event stuff.
699
7002007-08-03 15:10  gb
701
702        * compiler/X86/x86-disassemble.lisp: Correct spelling errors.
703
7042007-08-03 10:10  gb
705
706        * lib/backquote.lisp: Use list-to-vector, not (apply #'vector ...),
707        since the latter can run into problems with CALL-ARGUMENTS-LIMIT.
708
7092007-08-03 09:10  gb
710
711        * level-0/l0-array.lisp: Define list-to-vector.
712
7132007-08-02 07:16  gb
714
715        * cocoa-ide/cocoa-prefs.lisp: Don't make font panel broadcast
716        #/changeFont:; use targeted messages.  Ensure that font panel picks
717        up the right font.
718
7192007-08-02 07:16  gb
720
721        * cocoa-ide/cocoa-window.lisp: Don't enable "metal" style by
722        default.
723
7242007-08-02 07:15  gb
725
726        * cocoa-ide/cocoa-editor.lisp: Make "peer" text view (main text
727        view, echo area) unselectable when activating via Hemlock command.
728        Text views don't use font panel by default; enable/disable font
729        panel when setting text color.
730
7312007-08-02 07:14  gb
732
733        * cocoa-ide/.cvsignore: New.
734
7352007-08-02 07:13  gb
736
737        * lib/: ccl-export-syms.lisp, compile-ccl.lisp: Define and export
738        CREATE-INTERFACES.
739
7402007-08-02 07:12  gb
741
742        * cocoa-ide/cocoa-defaults.lisp: Don't need carbon interfaces.
743
7442007-08-02 07:11  gb
745
746        * library/parse-ffi.lisp: Don't be verbose about explict struct
747        returns.
748
7492007-08-02 07:10  gb
750
751        * objc-bridge/objc-runtime.lisp: Don't use carbon  interfaces
752        anymore.
753
7542007-07-31 19:10  gb
755
756        * darwin-x86-headers64/cocoa/: .cvsignore, C/.cvsignore,
757        C/populate.sh, C/.cvsignore, C/populate.sh: Added.
758
7592007-07-31 07:12  gb
760
761        * lib/dumplisp.lisp: Default the :MODE option to SAVE-APPLICATION
762        to #o644 (not #o666); make sure that it's actually used when
763        creating the image (even if not prepending a kernel to the image.)
764
7652007-07-31 07:11  gb
766
767        * level-1/l1-application.lisp: When processing --version option,
768        don't write to *terminal-io* (which doesn't exist yet.)
769
7702007-07-22 23:50  gb
771
772        * release-notes.txt: Add more stuff.
773
7742007-07-22 23:11  gb
775
776        * level-1/version.lisp: Bump.
777
7782007-07-22 23:10  gb
779
780        * release-notes.txt: Update for 1.1-pre-070722.
781
7822007-07-22 21:11  gb
783
784        * lib/ccl-export-syms.lisp: Export WITH-ENCODED-CSTRS.
785
7862007-07-22 21:10  gb
787
788        * cocoa-ide/README: New file.
789
7902007-07-22 18:51  gb
791
792        * cocoa-ide/cocoa-inspector.lisp: Hook name is in inspector
793        package.
794
7952007-07-22 18:50  gb
796
797        * compiler/PPC/ppc2.lisp: Put special args/locals in symbol map.
798
7992007-07-22 18:49  gb
800
801        * level-1/version.lisp: Bump.
802
8032007-07-22 18:48  gb
804
805        * level-1/: ppc-callback-support.lisp, x86-callback-support.lisp:
806        Allocate callback trampolines via mmap on ppc, too.
807
8082007-07-22 18:47  gb
809
810        * level-1/linux-files.lisp: Don't expose the PROGRAM arg to
811        RUN-PROGRAM to merge-pathnames.
812
8132007-07-22 18:46  gb
814
815        * level-1/l1-utils.lisp: Don't define BEEP.
816
8172007-07-22 18:46  gb
818
819        * level-1/l1-unicode.lisp: utf-8 length-of-memory-encoding function
820        was counting chars (nchars) twice.
821
8222007-07-22 18:45  gb
823
824        * level-1/l1-streams.lisp: selection-stream changes.
825
8262007-07-22 18:44  gb
827
828        * level-1/l1-readloop-lds.lisp: :raw breakloop command.  Put info
829        about restarts in backtrace context.
830
8312007-07-22 18:43  gb
832
833        * level-1/l1-processes.lisp: PROCESS-DEBUG-CONDITION, so that it
834        can be overridden.
835
8362007-07-22 18:42  gb
837
838        * level-1/l1-pathnames.lisp: Add objc-bridge, cocoa-ide to
839        *MODULE-SEARCH-PATH*.
840
8412007-07-22 18:41  gb
842
843        * level-1/l1-format.lisp: Handling of * format directive when
844        dealing with circularity screws up other things that expect
845        *FORMAT-ARGUMENTS* to share structure with
846        *FORMAT-ORIGINAL-ARGUMENTS*.
847
8482007-07-22 18:40  gb
849
850        * level-1/l1-files.lisp: NATIVE-UNTRANSLATED-NAMESTRING,
851        ENSURE-DIRECTORY-NAMESTRING.
852
8532007-07-22 18:40  gb
854
855        * level-1/l1-events.lisp: Handle xcf's on x86 when processing an
856        interactive break.
857
8582007-07-22 18:39  gb
859
860        * level-1/l1-error-system.lisp: Stream error context stuff.
861
8622007-07-22 18:38  gb
863
864        * level-1/l1-error-signal.lisp: Try to recognize foreign exceptions
865        (e.g., as NSExceptions.)
866
8672007-07-22 18:37  gb
868
869        * level-1/l1-clos-boot.lisp: Use COLLECT macro in
870        CLASS-SLOT-INITARGS.
871
8722007-07-22 18:36  gb
873
874        * level-1/l1-callbacks.lisp: Move the x86-64 callback trampoline
875        allocation stuff (which uses mmap to ensure that the callback is in
876        executable memory) here, since it'll be needed on ppc64 leopard, at
877        least.
878
8792007-07-22 18:35  gb
880
881        * level-1/l1-application.lisp: Argument handling and interactive
882        stream initialization happens in a :before method on
883        (toplevel-function application).
884
8852007-07-22 18:34  gb
886
887        * compiler/X86/x862.lisp: Symbol-address recording stuff: record
888        special args/locals, too.
889
8902007-07-22 18:33  gb
891
892        * compiler/X86/x86-disassemble.lisp: Support for disassemble-list,
893        for backtrace/inspect someday.
894
8952007-07-22 18:33  gb
896
897        * compiler/X86/x86-arch.lisp: Globals for ObjC2 exception stuff.
898
8992007-07-22 18:32  gb
900
901        * lib/macros.lisp: Callbacks that try to do magic foreign error
902        stuff use HANDLER-BIND, not HANDLER-CASE.
903       
904        Other callback-changes to reduce incidental consing sometimes.
905
9062007-07-22 18:31  gb
907
908        * lib/backtrace.lisp: %show-args-and-locals,
909        %stack-frames-in-context: changes for new backtrace presentation.
910
9112007-07-22 18:30  gb
912
913        * lib/compile-ccl.lisp: Remove some duplicate definitions.
914
9152007-07-22 18:29  gb
916
917        * lib/describe.lisp: Some (signigicant) stack-frame changes.
918
9192007-07-22 18:28  gb
920
921        * lib/ppc-backtrace.lisp: Tighten some things up a bit.
922
9232007-07-22 18:27  gb
924
925        * lib/arglist.lisp: Provide -some- arglist info for special
926        operators.  ARG-NAMES-FROM-MAP.
927
9282007-07-22 18:27  gb
929
930        * lib/pprint.lisp: Enter the 1990s (eval-when ..).
931
9322007-07-22 18:26  gb
933
934        * lib/source-files.lisp: Comment formatting.
935
9362007-07-22 18:25  gb
937
938        * lib/read.lisp: Use hash tables in #=, etc.  Expect reader errors
939        to provide context.
940
9412007-07-22 18:24  gb
942
943        * lib/x86-backtrace.lisp: Tighten up some frame accessors; don't
944        get confused by null register values, etc.
945
9462007-07-22 18:23  gb
947
948        * lib/time.lisp: GET-TIMEZONE: conditionalize on target word size,
949        not ppc32/ppc64.
950
9512007-07-22 18:22  gb
952
953        * level-0/l0-hash.lisp: Try to defer GC locking in GETHASH.  Some
954        64-bit key-scrambling stuff.
955
9562007-07-22 18:21  gb
957
958        * level-0/l0-misc.lisp: Less zeal in SAFE-GET-PTR.
959
9602007-07-22 18:21  gb
961
962        * level-0/l0-utils.lisp: s32->u32, u32->s32.
963
9642007-07-22 18:20  gb
965
966        * level-0/l0-error.lisp: foreign exception error stuff.
967
9682007-07-22 18:19  gb
969
970        * level-1/l1-sockets.lisp: Sockets created with :format :binary
971        don't have element-type of character, though this crap is all
972        pretty nebulous.
973
9742007-07-22 18:18  gb
975
976        * library/lispequ.lisp: $XFOREIGNEXCEPTION.
977
9782007-07-22 18:17  gb
979
980        * library/pty.lisp: set-pty-raw.
981
9822007-07-22 18:16  gb
983
984        * library/hemlock.lisp: Moved elsewhere.
985
9862007-07-22 18:15  gb
987
988        * lisp-kernel/xlbt.c: Basically, all frames on the vstack are lisp
989        frames.
990
9912007-07-22 18:14  gb
992
993        * lisp-kernel/x86-spentry64.s: Add ObjC2 exception metainfomation.
994
9952007-07-22 18:14  gb
996
997        * lisp-kernel/x86-exceptions.c: Clear and restore the tcr foreign
998        exception bit on interrupt.
999
10002007-07-22 18:13  gb
1001
1002        * lisp-kernel/x86-constants64.s: tcr.flags is a full word.  define
1003        tcr flag bits, including new one for foreign exceptions.
1004
10052007-07-22 18:12  gb
1006
1007        * lisp-kernel/x86-constants.s: Globals for ObjC2 exceptions.
1008
10092007-07-22 18:11  gb
1010
1011        * lisp-kernel/x86-constants.h: New tcr flag bit for foreign
1012        exceptions.
1013
10142007-07-22 18:10  gb
1015
1016        * lisp-kernel/thread_manager.c: ensure_stack_limit() when creatings
1017        stack for pthread.  Foreign exception callbacks: put some 0s on the
1018        stack for callback.
1019
10202007-07-22 18:09  gb
1021
1022        * lisp-kernel/ppc-spentry.s: Restore save regs on callbacks.
1023
10242007-07-22 18:08  gb
1025
1026        * lisp-kernel/pmcl-kernel.c: usage_exit() via _exit().
1027        ensure_stack_limit(): if stack size is constrained by limits, don't
1028        exceed those limits.
1029
10302007-07-22 18:08  gb
1031
1032        * lisp-kernel/lisp_globals.h: globals for ObjC2 exceptions.
1033
10342007-07-22 18:07  gb
1035
1036        * lisp-kernel/lisp.h: prototype for ensure_stack_limit().
1037
10382007-07-22 18:06  gb
1039
1040        * lisp-kernel/errors.s: XFOREIGNEXCEPTION error constant.
1041
10422007-07-22 18:03  gb
1043
1044        * OpenMCL.app/Contents/Info.plist, OpenMCL.app/Contents/PkgInfo,
1045        OpenMCL.app/Contents/MacOS/dppccl,
1046        OpenMCL.app/Contents/Resources/OpenMCLKeyBindings.dict,
1047        OpenMCL.app/Contents/Resources/openmcl-icon.icns,
1048        OpenMCL.app/Contents/Resources/English.lproj/.cvsignore,
1049        OpenMCL.app/Contents/Resources/English.lproj/Credits.rtf,
1050        OpenMCL.app/Contents/Resources/English.lproj/InfoPlist.strings,
1051        OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib/classes.n
1052        ib,
1053        OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib/info.nib,
1054        OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib/keyedobje
1055        cts.nib,
1056        OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspector.nib/c
1057        lasses.nib,
1058        OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspector.nib/i
1059        nfo.nib,
1060        OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspector.nib/k
1061        eyedobjects.nib,
1062        OpenMCL.app/Contents/Resources/English.lproj/backtrace.nib/classes.
1063        nib,
1064        OpenMCL.app/Contents/Resources/English.lproj/backtrace.nib/info.nib
1065        ,
1066        OpenMCL.app/Contents/Resources/English.lproj/backtrace.nib/keyedobj
1067        ects.nib,
1068        OpenMCL.app/Contents/Resources/English.lproj/lispeditor.nib/classes
1069        .nib,
1070        OpenMCL.app/Contents/Resources/English.lproj/lispeditor.nib/info.ni
1071        b,
1072        OpenMCL.app/Contents/Resources/English.lproj/lispeditor.nib/keyedob
1073        jects.nib, OpenMCL.app/Contents/Resources/Help/cocoa-notes.html,
1074        OpenMCL.app/Contents/Resources/Help/index.html,
1075        cocoa-ide/Info.plist-proto, cocoa-ide/cocoa-application.lisp,
1076        cocoa-ide/cocoa-backtrace.lisp, cocoa-ide/cocoa-defaults.lisp,
1077        cocoa-ide/cocoa-doc.lisp, cocoa-ide/cocoa-editor.lisp,
1078        cocoa-ide/cocoa-inspector.lisp, cocoa-ide/cocoa-listener.lisp,
1079        cocoa-ide/cocoa-prefs.lisp, cocoa-ide/cocoa-typeout.lisp,
1080        cocoa-ide/cocoa-utils.lisp, cocoa-ide/cocoa-window.lisp,
1081        cocoa-ide/cocoa.lisp, cocoa-ide/compile-hemlock.lisp,
1082        cocoa-ide/hemlock.lisp, cocoa-ide/OpenMCL.app/Contents/PkgInfo,
1083        cocoa-ide/OpenMCL.app/Contents/Resources/openmcl-icon.icns,
1084        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/.cvsignore,
1085        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/Credits.rtf,
1086        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/InfoPlist.st
1087        rings,
1088        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib
1089        /classes.nib,
1090        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib
1091        /info.nib,
1092        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib
1093        /keyedobjects.nib,
1094        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspe
1095        ctor.nib/classes.nib,
1096        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspe
1097        ctor.nib/info.nib,
1098        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspe
1099        ctor.nib/keyedobjects.nib,
1100        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/backtrace.ni
1101        b/classes.nib,
1102        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/backtrace.ni
1103        b/info.nib,
1104        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/backtrace.ni
1105        b/keyedobjects.nib,
1106        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/displaydoc.n
1107        ib/classes.nib,
1108        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/displaydoc.n
1109        ib/info.nib,
1110        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/displaydoc.n
1111        ib/keyedobjects.nib,
1112        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
1113        ib/classes.nib,
1114        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
1115        ib/info.nib,
1116        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
1117        ib/keyedobjects.nib,
1118        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/preferences.
1119        nib/classes.nib,
1120        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/preferences.
1121        nib/info.nib,
1122        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/preferences.
1123        nib/keyedobjects.nib,
1124        cocoa-ide/OpenMCL.app/Contents/Resources/Help/cocoa-notes.html,
1125        cocoa-ide/OpenMCL.app/Contents/Resources/Help/index.html,
1126        cocoa-ide/hemlock/.cvsignore, cocoa-ide/hemlock/INSTALL,
1127        cocoa-ide/hemlock/TODO, cocoa-ide/hemlock/hemlock.system,
1128        cocoa-ide/hemlock/hemlock11.cursor,
1129        cocoa-ide/hemlock/hemlock11.mask, cocoa-ide/hemlock/bin/.cvsignore,
1130        cocoa-ide/hemlock/bin/openmcl/.cvsignore,
1131        cocoa-ide/hemlock/doc/.cvsignore,
1132        cocoa-ide/hemlock/doc/cim/.cvsignore,
1133        cocoa-ide/hemlock/doc/cim/aux-sys.mss,
1134        cocoa-ide/hemlock/doc/cim/cim.mss,
1135        cocoa-ide/hemlock/doc/misc/.cvsignore,
1136        cocoa-ide/hemlock/doc/misc/compilation.order,
1137        cocoa-ide/hemlock/doc/misc/hemlock.log,
1138        cocoa-ide/hemlock/doc/misc/hemlock.upd,
1139        cocoa-ide/hemlock/doc/misc/notes.txt,
1140        cocoa-ide/hemlock/doc/misc/perq-hemlock.log,
1141        cocoa-ide/hemlock/doc/misc/things-to-do.txt,
1142        cocoa-ide/hemlock/doc/scribe-converter/.cvsignore,
1143        cocoa-ide/hemlock/doc/scribe-converter/NOTES,
1144        cocoa-ide/hemlock/doc/user/.cvsignore,
1145        cocoa-ide/hemlock/doc/user/commands.mss,
1146        cocoa-ide/hemlock/doc/user/intro.mss,
1147        cocoa-ide/hemlock/doc/user/lisp.mss,
1148        cocoa-ide/hemlock/doc/user/mail.mss,
1149        cocoa-ide/hemlock/doc/user/netnews.mss,
1150        cocoa-ide/hemlock/doc/user/special-modes.mss,
1151        cocoa-ide/hemlock/doc/user/user.mss,
1152        cocoa-ide/hemlock/maint/.cvsignore,
1153        cocoa-ide/hemlock/maint/publish,
1154        cocoa-ide/hemlock/resources/.cvsignore,
1155        cocoa-ide/hemlock/resources/XKeysymDB,
1156        cocoa-ide/hemlock/resources/mh-scan,
1157        cocoa-ide/hemlock/resources/spell-dictionary.text,
1158        cocoa-ide/hemlock/src/.cvsignore,
1159        cocoa-ide/hemlock/src/bindings-gb.lisp,
1160        cocoa-ide/hemlock/src/bindings.lisp,
1161        cocoa-ide/hemlock/src/buffer.lisp,
1162        cocoa-ide/hemlock/src/charmacs.lisp,
1163        cocoa-ide/hemlock/src/cocoa-hemlock.lisp,
1164        cocoa-ide/hemlock/src/command.lisp,
1165        cocoa-ide/hemlock/src/comments.lisp,
1166        cocoa-ide/hemlock/src/completion.lisp,
1167        cocoa-ide/hemlock/src/cursor.lisp,
1168        cocoa-ide/hemlock/src/decls.lisp,
1169        cocoa-ide/hemlock/src/defsyn.lisp,
1170        cocoa-ide/hemlock/src/doccoms.lisp,
1171        cocoa-ide/hemlock/src/echo.lisp,
1172        cocoa-ide/hemlock/src/echocoms.lisp,
1173        cocoa-ide/hemlock/src/edit-defs.lisp,
1174        cocoa-ide/hemlock/src/filecoms.lisp,
1175        cocoa-ide/hemlock/src/files.lisp, cocoa-ide/hemlock/src/fill.lisp,
1176        cocoa-ide/hemlock/src/font.lisp,
1177        cocoa-ide/hemlock/src/hemlock-ext.lisp,
1178        cocoa-ide/hemlock/src/htext1.lisp,
1179        cocoa-ide/hemlock/src/htext2.lisp,
1180        cocoa-ide/hemlock/src/htext3.lisp,
1181        cocoa-ide/hemlock/src/htext4.lisp, cocoa-ide/hemlock/src/icom.lisp,
1182        cocoa-ide/hemlock/src/indent.lisp,
1183        cocoa-ide/hemlock/src/interp.lisp,
1184        cocoa-ide/hemlock/src/kbdmac.lisp,
1185        cocoa-ide/hemlock/src/key-event.lisp,
1186        cocoa-ide/hemlock/src/keysym-defs.lisp,
1187        cocoa-ide/hemlock/src/killcoms.lisp,
1188        cocoa-ide/hemlock/src/line.lisp,
1189        cocoa-ide/hemlock/src/linimage.lisp,
1190        cocoa-ide/hemlock/src/lispdep.lisp,
1191        cocoa-ide/hemlock/src/lispmode.lisp,
1192        cocoa-ide/hemlock/src/listener.lisp,
1193        cocoa-ide/hemlock/src/macros.lisp, cocoa-ide/hemlock/src/main.lisp,
1194        cocoa-ide/hemlock/src/modeline.lisp,
1195        cocoa-ide/hemlock/src/morecoms.lisp,
1196        cocoa-ide/hemlock/src/package.lisp,
1197        cocoa-ide/hemlock/src/pop-up-stream.lisp,
1198        cocoa-ide/hemlock/src/register.lisp,
1199        cocoa-ide/hemlock/src/ring.lisp,
1200        cocoa-ide/hemlock/src/rompsite.lisp,
1201        cocoa-ide/hemlock/src/search1.lisp,
1202        cocoa-ide/hemlock/src/search2.lisp,
1203        cocoa-ide/hemlock/src/searchcoms.lisp,
1204        cocoa-ide/hemlock/src/srccom.lisp,
1205        cocoa-ide/hemlock/src/streams.lisp,
1206        cocoa-ide/hemlock/src/struct.lisp,
1207        cocoa-ide/hemlock/src/syntax.lisp,
1208        cocoa-ide/hemlock/src/table.lisp, cocoa-ide/hemlock/src/text.lisp,
1209        cocoa-ide/hemlock/src/undo.lisp, cocoa-ide/hemlock/src/vars.lisp,
1210        cocoa-ide/hemlock/src/archive/abbrev.lisp,
1211        cocoa-ide/hemlock/src/archive/auto-save.lisp,
1212        cocoa-ide/hemlock/src/archive/bit-display.lisp,
1213        cocoa-ide/hemlock/src/archive/bit-screen.lisp,
1214        cocoa-ide/hemlock/src/archive/bufed.lisp,
1215        cocoa-ide/hemlock/src/archive/debug.lisp,
1216        cocoa-ide/hemlock/src/archive/dired.lisp,
1217        cocoa-ide/hemlock/src/archive/diredcoms.lisp,
1218        cocoa-ide/hemlock/src/archive/display.lisp,
1219        cocoa-ide/hemlock/src/archive/dylan.lisp,
1220        cocoa-ide/hemlock/src/archive/eval-server.lisp,
1221        cocoa-ide/hemlock/src/archive/group.lisp,
1222        cocoa-ide/hemlock/src/archive/highlight.lisp,
1223        cocoa-ide/hemlock/src/archive/hunk-draw.lisp,
1224        cocoa-ide/hemlock/src/archive/input.lisp,
1225        cocoa-ide/hemlock/src/archive/lisp-lib.lisp,
1226        cocoa-ide/hemlock/src/archive/lispbuf.lisp,
1227        cocoa-ide/hemlock/src/archive/lispeval.lisp,
1228        cocoa-ide/hemlock/src/archive/mh.lisp,
1229        cocoa-ide/hemlock/src/archive/netnews.lisp,
1230        cocoa-ide/hemlock/src/archive/overwrite.lisp,
1231        cocoa-ide/hemlock/src/archive/pascal.lisp,
1232        cocoa-ide/hemlock/src/archive/rcs.lisp,
1233        cocoa-ide/hemlock/src/archive/screen.lisp,
1234        cocoa-ide/hemlock/src/archive/scribe.lisp,
1235        cocoa-ide/hemlock/src/archive/shell.lisp,
1236        cocoa-ide/hemlock/src/archive/spell-aug.lisp,
1237        cocoa-ide/hemlock/src/archive/spell-corr.lisp,
1238        cocoa-ide/hemlock/src/archive/spell-rt.lisp,
1239        cocoa-ide/hemlock/src/archive/spellcoms.lisp,
1240        cocoa-ide/hemlock/src/archive/srccom.lisp,
1241        cocoa-ide/hemlock/src/archive/ts-buf.lisp,
1242        cocoa-ide/hemlock/src/archive/ts-stream.lisp,
1243        cocoa-ide/hemlock/src/archive/unixcoms.lisp,
1244        cocoa-ide/hemlock/src/archive/window.lisp,
1245        cocoa-ide/hemlock/src/archive/winimage.lisp,
1246        cocoa-ide/hemlock/src/archive/xcoms.lisp,
1247        cocoa-ide/hemlock/src/elisp/.cvsignore,
1248        cocoa-ide/hemlock/src/elisp/base.lisp,
1249        cocoa-ide/hemlock/src/elisp/cmucl-hemlock-glue.lisp,
1250        cocoa-ide/hemlock/src/elisp/codewalker.lisp,
1251        cocoa-ide/hemlock/src/elisp/compile.lisp,
1252        cocoa-ide/hemlock/src/elisp/hemlock-shims.lisp,
1253        cocoa-ide/hemlock/src/elisp/implementation-needed,
1254        cocoa-ide/hemlock/src/elisp/internals.lisp,
1255        cocoa-ide/hemlock/src/elisp/loadup.lisp,
1256        cocoa-ide/hemlock/src/elisp/packages.lisp,
1257        cocoa-ide/hemlock/src/elisp/read-table.lisp,
1258        cocoa-ide/hemlock/src/spell/.cvsignore,
1259        cocoa-ide/hemlock/src/spell/build.lisp,
1260        cocoa-ide/hemlock/src/spell/classes.lisp,
1261        cocoa-ide/hemlock/src/spell/constants.lisp,
1262        cocoa-ide/hemlock/src/spell/correlate.lisp,
1263        cocoa-ide/hemlock/src/spell/flags.lisp,
1264        cocoa-ide/hemlock/src/spell/hashing.lisp,
1265        cocoa-ide/hemlock/src/spell/io.lisp,
1266        cocoa-ide/hemlock/src/spell/package.lisp,
1267        cocoa-ide/hemlock/src/spell/spell-aug.lisp,
1268        cocoa-ide/hemlock/src/spell/spell-dictionary.text,
1269        cocoa-ide/hemlock/src/spell/spell.asd,
1270        cocoa-ide/hemlock/src/spell/spellcoms.lisp,
1271        cocoa-ide/hemlock/src/tty/.cvsignore,
1272        cocoa-ide/hemlock/src/tty/termcap.lisp,
1273        cocoa-ide/hemlock/src/tty/tty-disp-rt.lisp,
1274        cocoa-ide/hemlock/src/tty/tty-display.lisp,
1275        cocoa-ide/hemlock/src/tty/tty-screen.lisp,
1276        cocoa-ide/hemlock/src/wire/.cvsignore,
1277        cocoa-ide/hemlock/src/wire/Notes,
1278        cocoa-ide/hemlock/src/wire/package.lisp,
1279        cocoa-ide/hemlock/src/wire/port.lisp,
1280        cocoa-ide/hemlock/src/wire/remote.lisp,
1281        cocoa-ide/hemlock/src/wire/wire.lisp,
1282        cocoa-ide/hemlock/unused/.cvsignore,
1283        cocoa-ide/hemlock/unused/bit-stream.lisp,
1284        cocoa-ide/hemlock/unused/clx-ext.lisp,
1285        cocoa-ide/hemlock/unused/ed-integrity.lisp,
1286        cocoa-ide/hemlock/unused/gosmacs.lisp,
1287        cocoa-ide/hemlock/unused/hacks.lisp,
1288        cocoa-ide/hemlock/unused/hemcom.lisp,
1289        cocoa-ide/hemlock/unused/hi-integrity.lisp,
1290        cocoa-ide/hemlock/unused/keytran.lisp,
1291        cocoa-ide/hemlock/unused/keytrandefs.lisp,
1292        cocoa-ide/hemlock/unused/spell-build.lisp,
1293        cocoa-ide/hemlock/unused/struct-ed.lisp,
1294        cocoa-ide/hemlock/unused/tty-stream.lisp,
1295        cocoa-ide/hemlock/website/.cvsignore,
1296        cocoa-ide/hemlock/website/index.html.in, compiler/nx0.lisp,
1297        examples/CocoaBridgeDoc.txt, examples/bridge.lisp,
1298        examples/cocoa-application.lisp, examples/cocoa-backtrace.lisp,
1299        examples/cocoa-defaults.lisp, examples/cocoa-editor.lisp,
1300        examples/cocoa-inspector.lisp, examples/cocoa-listener.lisp,
1301        examples/cocoa-prefs.lisp, examples/cocoa-textfind.lisp,
1302        examples/cocoa-typeout.lisp, examples/cocoa-window.lisp,
1303        examples/cocoa.lisp, examples/compile-hemlock.lisp,
1304        examples/fake-cfbundle-path.lisp, examples/name-translation.lisp,
1305        examples/objc-clos.lisp, examples/objc-package.lisp,
1306        examples/objc-readtable.lisp, examples/objc-runtime.lisp,
1307        examples/objc-support.lisp, examples/process-objc-modules.lisp,
1308        hemlock/.cvsignore, hemlock/INSTALL, hemlock/README, hemlock/TODO,
1309        hemlock/hemlock.system, hemlock/hemlock11.cursor,
1310        hemlock/hemlock11.mask, hemlock/bin/.cvsignore,
1311        hemlock/bin/openmcl/.cvsignore, hemlock/doc/.cvsignore,
1312        hemlock/doc/cim/.cvsignore, hemlock/doc/cim/aux-sys.mss,
1313        hemlock/doc/cim/cim.mss, hemlock/doc/misc/.cvsignore,
1314        hemlock/doc/misc/compilation.order, hemlock/doc/misc/hemlock.log,
1315        hemlock/doc/misc/hemlock.upd, hemlock/doc/misc/notes.txt,
1316        hemlock/doc/misc/perq-hemlock.log,
1317        hemlock/doc/misc/things-to-do.txt,
1318        hemlock/doc/scribe-converter/.cvsignore,
1319        hemlock/doc/scribe-converter/NOTES,
1320        hemlock/doc/scribe-converter/README, hemlock/doc/user/.cvsignore,
1321        hemlock/doc/user/commands.mss, hemlock/doc/user/intro.mss,
1322        hemlock/doc/user/lisp.mss, hemlock/doc/user/mail.mss,
1323        hemlock/doc/user/netnews.mss, hemlock/doc/user/special-modes.mss,
1324        hemlock/doc/user/user.mss, hemlock/maint/.cvsignore,
1325        hemlock/maint/publish, hemlock/resources/.cvsignore,
1326        hemlock/resources/XKeysymDB, hemlock/resources/mh-scan,
1327        hemlock/resources/spell-dictionary.text, hemlock/src/.cvsignore,
1328        hemlock/src/abbrev.lisp, hemlock/src/auto-save.lisp,
1329        hemlock/src/bindings-gb.lisp, hemlock/src/bindings.lisp,
1330        hemlock/src/bit-display.lisp, hemlock/src/bit-screen.lisp,
1331        hemlock/src/bufed.lisp, hemlock/src/buffer.lisp,
1332        hemlock/src/charmacs.lisp, hemlock/src/cocoa-hemlock.lisp,
1333        hemlock/src/command.lisp, hemlock/src/comments.lisp,
1334        hemlock/src/completion.lisp, hemlock/src/cursor.lisp,
1335        hemlock/src/debug.lisp, hemlock/src/decls.lisp,
1336        hemlock/src/defsyn.lisp, hemlock/src/dired.lisp,
1337        hemlock/src/diredcoms.lisp, hemlock/src/display.lisp,
1338        hemlock/src/doccoms.lisp, hemlock/src/dylan.lisp,
1339        hemlock/src/echo.lisp, hemlock/src/echocoms.lisp,
1340        hemlock/src/edit-defs.lisp, hemlock/src/eval-server.lisp,
1341        hemlock/src/filecoms.lisp, hemlock/src/files.lisp,
1342        hemlock/src/fill.lisp, hemlock/src/font.lisp,
1343        hemlock/src/group.lisp, hemlock/src/hemlock-ext.lisp,
1344        hemlock/src/highlight.lisp, hemlock/src/htext1.lisp,
1345        hemlock/src/htext2.lisp, hemlock/src/htext3.lisp,
1346        hemlock/src/htext4.lisp, hemlock/src/hunk-draw.lisp,
1347        hemlock/src/icom.lisp, hemlock/src/indent.lisp,
1348        hemlock/src/input.lisp, hemlock/src/interp.lisp,
1349        hemlock/src/kbdmac.lisp, hemlock/src/key-event.lisp,
1350        hemlock/src/keysym-defs.lisp, hemlock/src/killcoms.lisp,
1351        hemlock/src/line.lisp, hemlock/src/linimage.lisp,
1352        hemlock/src/lisp-lib.lisp, hemlock/src/lispbuf.lisp,
1353        hemlock/src/lispdep.lisp, hemlock/src/lispeval.lisp,
1354        hemlock/src/lispmode.lisp, hemlock/src/listener.lisp,
1355        hemlock/src/macros.lisp, hemlock/src/main.lisp,
1356        hemlock/src/mh.lisp, hemlock/src/modeline.lisp,
1357        hemlock/src/morecoms.lisp, hemlock/src/netnews.lisp,
1358        hemlock/src/overwrite.lisp, hemlock/src/package.lisp,
1359        hemlock/src/pascal.lisp, hemlock/src/pop-up-stream.lisp,
1360        hemlock/src/rcs.lisp, hemlock/src/register.lisp,
1361        hemlock/src/ring.lisp, hemlock/src/rompsite.lisp,
1362        hemlock/src/screen.lisp, hemlock/src/scribe.lisp,
1363        hemlock/src/search1.lisp, hemlock/src/search2.lisp,
1364        hemlock/src/searchcoms.lisp, hemlock/src/shell.lisp,
1365        hemlock/src/spell-aug.lisp, hemlock/src/spell-corr.lisp,
1366        hemlock/src/spell-rt.lisp, hemlock/src/spellcoms.lisp,
1367        hemlock/src/srccom.lisp, hemlock/src/streams.lisp,
1368        hemlock/src/struct.lisp, hemlock/src/syntax.lisp,
1369        hemlock/src/table.lisp, hemlock/src/text.lisp,
1370        hemlock/src/ts-buf.lisp, hemlock/src/ts-stream.lisp,
1371        hemlock/src/undo.lisp, hemlock/src/unixcoms.lisp,
1372        hemlock/src/vars.lisp, hemlock/src/window.lisp,
1373        hemlock/src/winimage.lisp, hemlock/src/xcoms.lisp,
1374        hemlock/src/elisp/.cvsignore, hemlock/src/elisp/README,
1375        hemlock/src/elisp/base.lisp,
1376        hemlock/src/elisp/cmucl-hemlock-glue.lisp,
1377        hemlock/src/elisp/codewalker.lisp, hemlock/src/elisp/compile.lisp,
1378        hemlock/src/elisp/hemlock-shims.lisp,
1379        hemlock/src/elisp/implementation-needed,
1380        hemlock/src/elisp/internals.lisp, hemlock/src/elisp/loadup.lisp,
1381        hemlock/src/elisp/packages.lisp, hemlock/src/elisp/read-table.lisp,
1382        hemlock/src/spell/.cvsignore, hemlock/src/spell/README,
1383        hemlock/src/spell/build.lisp, hemlock/src/spell/classes.lisp,
1384        hemlock/src/spell/constants.lisp, hemlock/src/spell/correlate.lisp,
1385        hemlock/src/spell/flags.lisp, hemlock/src/spell/hashing.lisp,
1386        hemlock/src/spell/io.lisp, hemlock/src/spell/package.lisp,
1387        hemlock/src/spell/spell-aug.lisp,
1388        hemlock/src/spell/spell-dictionary.text,
1389        hemlock/src/spell/spell.asd, hemlock/src/spell/spellcoms.lisp,
1390        hemlock/src/tty/.cvsignore, hemlock/src/tty/termcap.lisp,
1391        hemlock/src/tty/tty-disp-rt.lisp, hemlock/src/tty/tty-display.lisp,
1392        hemlock/src/tty/tty-screen.lisp, hemlock/src/wire/.cvsignore,
1393        hemlock/src/wire/Notes, hemlock/src/wire/package.lisp,
1394        hemlock/src/wire/port.lisp, hemlock/src/wire/remote.lisp,
1395        hemlock/src/wire/wire.lisp, hemlock/unused/.cvsignore,
1396        hemlock/unused/bit-stream.lisp, hemlock/unused/clx-ext.lisp,
1397        hemlock/unused/ed-integrity.lisp, hemlock/unused/gosmacs.lisp,
1398        hemlock/unused/hacks.lisp, hemlock/unused/hemcom.lisp,
1399        hemlock/unused/hi-integrity.lisp, hemlock/unused/keytran.lisp,
1400        hemlock/unused/keytrandefs.lisp, hemlock/unused/spell-build.lisp,
1401        hemlock/unused/struct-ed.lisp, hemlock/unused/tty-stream.lisp,
1402        hemlock/website/.cvsignore, hemlock/website/index.html.in,
1403        objc-bridge/CocoaBridgeDoc.txt, objc-bridge/bridge.lisp,
1404        objc-bridge/fake-cfbundle-path.lisp,
1405        objc-bridge/name-translation.lisp, objc-bridge/objc-clos.lisp,
1406        objc-bridge/objc-package.lisp, objc-bridge/objc-readtable.lisp,
1407        objc-bridge/objc-runtime.lisp, objc-bridge/objc-support.lisp,
1408        objc-bridge/process-objc-modules.lisp: Synch with svn rev 6898:
1409        DEFINE-COMPILER-MACRO does RECORD-SOURCE-FILE.  Directory
1410        reorganization: new "cocoa-ide" and "objc-bridge" directories; many
1411        things moved from "examples" to one of these directories,
1412        OpenMCL.app and hemock moved under "cocoa-ide".  Lots of changes in
1413        cocoa-ide, objc-bridge, and hemlock; see the svn log for the
1414        "ide-1.0" branch for details.
1415
14162007-06-15 19:10  gb
1417
1418        * lib/read.lisp: use hash tables in #=, ##.  Sometimes
1419
14202007-06-15 14:10  gb
1421
1422        * compiler/X86/x862.lisp: x862-numcmp: if both args fixnums ...
1423        x862-inline-numcmp: don't reverse cr-bit if both args fixnums
1424        (shouldn't get here if we're catching that upstream, but ...)
1425
14262007-06-01 08:34  gb
1427
1428        * level-1/l1-files.lisp: Do ~-expansion in more places.  Hopefully
1429        caught most places.
1430
14312007-06-01 08:33  gb
1432
1433        * level-1/l1-reader.lisp: %TOKEN-PACKAGE generates a READER-ERROR
1434        if it can't find the package, accepts a stream argument in order to
1435        signal that type of error.  (Note that this has never been
1436        recoverable in general, especially in the case where the input
1437        stream is *terminal-io* or shares its input stream.)
1438
14392007-06-01 08:32  gb
1440
1441        * lib/read.lisp: READER-ERORS use STREAM-ERROR-CONTEXT when
1442        reporting themselves.
1443
14442007-06-01 08:31  gb
1445
1446        * level-1/l1-error-system.lisp: Define and use
1447        STREAM-ERROR-CONTEXT.
1448
14492007-06-01 08:30  gb
1450
1451        * level-1/linux-files.lisp: Define UID-FROM-NAME, TILDE-EXPAND.
1452        Use TILDE-EXPAND in %REALPATH, but any leading tildes should
1453        probably have been caught earlier.
1454
14552007-06-01 08:29  gb
1456
1457        * level-1/l1-streams.lisp: Try to provide some context -
1458        "surrounding characters" - for reader/stream errors on character
1459        input streams.
1460
14612007-06-01 08:28  gb
1462
1463        * level-1/l1-unicode.lisp: Get number of args right in call to
1464        STRING-ENCODED-LENGTH-IN-BYTES from
1465        CSTRING-ENCODED-LENGTH-IN-BYTES.  Sorry.
1466
14672007-06-01 08:28  gb
1468
1469        * level-0/X86/x86-misc.lisp: %%get-unsigned-longlong,
1470        %%get-signed-longlong: args in UNBOX-FIXNUM macro were in the wrong
1471        order.  Both functions are usually open-coded (and the inlined
1472        versions seem to be OK), but the ObjC bridge funcalls these
1473        functions when getting/setting foreign slots of the appropriate
1474        type.
1475
14762007-06-01 08:27  gb
1477
1478        * level-1/l1-unicode.lisp: Add STRING-ENCODED-LENGTH-IN-BYTES.
1479        Make it, CSTRING-ENCODED-LENGTH-IN-BYTES, and
1480        ENCODE-STRING-FROM-MEMORY deal with non-simple strings.
1481
14822007-06-01 08:26  gb
1483
1484        * level-0/l0-aprims.lisp: Try to deal with the "SIMPLE-BASE-STRING,
1485        all of it" case in %CSTR-POINTER; deal with all other cases in
1486        %CSTR-SEGMENT-POINTER.
1487
14882007-06-01 08:25  gb
1489
1490        * level-1/x86-error-signal.lisp: xp-argument-list: stack args are
1491        under return address, exception callback frame (xcf) on stack.
1492       
1493        handle-udf-call: don't try to fix up the stack if we try to
1494        continue; let kernel deal with this after the callback.
1495
14962007-06-01 08:24  gb
1497
1498        * lisp-kernel/x86-exceptions.c: finish_function_entry: there's a
1499        return address on the top of the stack when this is entered
1500        (#-of-arguments traps).  Put it in the right place when building
1501        the frame.
1502       
1503        create_exception_callback_frame: look for tra on top of lisp stack,
1504        not in register (usually.)
1505       
1506        handle_error(): if we return after calling out for int #xc7 (call
1507        to undefined function), fix up the stack and other registers so
1508        that we can return the value(s) returned by the lisp-side handler.
1509        (It's hard for the lisp-side handler to do the stack manipulation,
1510        because of the xcf on the stack and because of the need to deal
1511        with the return address on the stack.)
1512
15132007-06-01 08:23  gb
1514
1515        * lisp-kernel/x86-spentry64.s: uuos in subrprims called via
1516        lea/jmp: push ra0 on stack before trap, for the benefit of
1517        create_exception_callback_frame().
1518
15192007-06-01 08:22  gb
1520
1521        * lib/sequences.lisp: Eric Marsden's fixes to MISMATCH
1522
15232007-06-01 08:22  gb
1524
1525        * level-1/l1-unicode.lisp: :utf-32 memory-encode function: don't
1526        write a BOM here.
1527
15282007-06-01 08:21  gb
1529
1530        * level-0/X86/x86-def.lisp: %RETURN-ADDRESS-OFFSET has been wrong
1531        since the switch to the new tra scheme.
1532
15332007-06-01 08:19  gb
1534
1535        * lib/macros.lisp: WITH-ENCODED-CSTR: accept arguments as produced
1536        by WITH-ENCODED-CSTRS.  Handle 0-termination a little more sanely.
1537
15382007-05-12 18:27  gb
1539
1540        * release-notes.txt: Update for 070512.
1541
15422007-05-12 18:27  gb
1543
1544        * lisp-kernel/ppc-exceptions.c: Fix typo in new_heap_segment().
1545
15462007-05-12 18:26  gb
1547
1548        * compiler/PPC/ppc2.lisp: Fix typo in ppc2-%i-
1549
15502007-05-12 18:25  gb
1551
1552        * level-1/version.lisp: Bump.
1553
15542007-05-12 18:24  gb
1555
1556        * lisp-kernel/ppc-exceptions.c: new_heap_segment(): don't extend
1557        heap by more than what we need if GC is obviously disabled.
1558
15592007-05-12 18:23  gb
1560
1561        * compiler/PPC/ppc2.lisp: Use *ppc2-target-half-fixnum-type* to
1562        suppress overflow checking in some cases.
1563
15642007-05-12 18:22  gb
1565
1566        * compiler/X86/x862.lisp: Fix indentation.
1567
15682007-05-12 18:22  gb
1569
1570        * lisp-kernel/x86-exceptions.c: new_heap_segment(): don't extend
1571        beyond segment if GC (obviously) disabled.
1572
15732007-05-12 18:21  gb
1574
1575        * level-1/l1-streams.lisp: Fix typo.
1576
15772007-05-12 18:20  gb
1578
1579        * level-1/: l1-streams.lisp, l1-unicode.lisp: Keep bootsrapping
1580        separate character encode/decode limits.
1581
15822007-05-12 18:19  gb
1583
1584        * level-1/l1-unicode.lisp: Start to bootstrap separate
1585        encode/decode limits.
1586
15872007-05-12 18:18  gb
1588
1589        * lisp-kernel/lisp-debug.c: Hide Darwin/Leopard exception context
1590        nonsense when referencing mxcsr in debug_show_fpu().
1591
15922007-05-12 18:17  gb
1593
1594        * lisp-kernel/lisptypes.h: Need alias for __r6 in Tiger and
1595        earlier.  Sheesh.
1596
15972007-05-12 18:17  gb
1598
1599        * level-0/l0-hash.lisp: Fix bad call to %pname-hash.
1600
16012007-05-12 18:16  gb
1602
1603        * level-1/version.lisp: Bump, for now.
1604
16052007-05-12 18:15  gb
1606
1607        * xdump/: faslenv.lisp, heap-image.lisp: Bump fasl versions, image
1608        ABI version.
1609
16102007-05-12 18:14  gb
1611
1612        * lisp-kernel/x86-spentry64.s: nmkunwind.  New calling sequence;
1613        new TRA interpretation.
1614
16152007-05-12 18:13  gb
1616
1617        * lisp-kernel/x86-spjump64.s: nmkunwind.
1618
16192007-05-12 18:12  gb
1620
1621        * lisp-kernel/x86-macros.s: Make_Catch uses %imm2, not %temp2.
1622        nMake_Catch handles return addresses on stack.  repret, for use
1623        when a one-byte ret instruction is a branch target or is preceded
1624        by a conditional branch.
1625
16262007-05-12 18:11  gb
1627
1628        * lisp-kernel/x86-gc.c: New TRA handling; new node regs in
1629        exception contexts.
1630
16312007-05-12 18:11  gb
1632
1633        * lisp-kernel/x86-exceptions.h: New stuff for finding FP state in
1634        exception context; new TRA handling.
1635
16362007-05-12 18:10  gb
1637
1638        * lisp-kernel/x86-exceptions.c: New tra handling.
1639        new_heap_segment: try to avoid requesting too much when user sets
1640        lisp_heap_gc_threshold to inappropriate value.  Pass old_valence
1641        down to fault handler, don't call out to lisp on faults in foreign
1642        code.  Handle USE_MACH_EXCEPTION_LOCK conditionalization.
1643
16442007-05-12 18:08  gb
1645
1646        * lisp-kernel/: x86-constants64.h, x86-constants64.s: New register
1647        assignments.
1648
16492007-05-12 18:07  gb
1650
1651        * lisp-kernel/x86-subprims64.s: New tra handling, new calling
1652        sequence.
1653
16542007-05-12 18:06  gb
1655
1656        * lisp-kernel/: xlbt.c, x86_print.c: New tra handling.
1657
16582007-05-12 18:05  gb
1659
1660        * lisp-kernel/x86-asmutils64.s: Use repret for RET instructions
1661        that're branch targets or that follow conditional branches.
1662
16632007-05-12 18:04  gb
1664
1665        * lisp-kernel/thread_manager.c: Conditionalize for
1666        USE_MACH_EXCEPTION_LOCK.
1667
16682007-05-12 18:03  gb
1669
1670        * lisp-kernel/ppc-spjump.s: .SPnmkunwind.
1671
16722007-05-12 18:02  gb
1673
1674        * lisp-kernel/ppc-spentry.s: .SPnmkunwind.  Old catch/unwind: do
1675        explicit blr.
1676
16772007-05-12 18:01  gb
1678
1679        * lisp-kernel/darwinppc/Makefile: Use -Wno-deprecated-declarations.
1680         Gee, I hope that works.
1681
16822007-05-12 18:00  gb
1683
1684        * lisp-kernel/ppc-macros.s: Make_Catch macro: don't include a blr.
1685
16862007-05-12 17:59  gb
1687
1688        * lisp-kernel/ppc-exceptions.h: Only declare mach_exception_lock if
1689        using the mechanism.
1690
16912007-05-12 17:59  gb
1692
1693        * lisp-kernel/ppc-exceptions.c: new_heap_segment: if we can't
1694        extend with (possibly very large) lisp_heap_gc_threshold, try
1695        smaller values.
1696       
1697        Pass "old_valence" to exception handlers; don't call out to lisp on
1698        memory faults from foreign code.
1699
17002007-05-12 17:58  gb
1701
1702        * lisp-kernel/lisptypes.h: xmm register alias nonsense.
1703
17042007-05-12 17:57  gb
1705
1706        * lisp-kernel/lisp-exceptions.h: Change some function prototypes.
1707        Don't use a MACH_EXCEPTION_LOCK on Darwin, since it doesn't seem to
1708        be correct/necessary.
1709
17102007-05-12 17:56  gb
1711
1712        * lisp-kernel/lisp-debug.c: lisp register display changes for
1713        x86-64.  Get FPU display working on x86-64.
1714
17152007-05-12 17:55  gb
1716
1717        * lisp-kernel/linuxx8664/.gdbinit: gtra, just in time for the
1718        calling-sequence change.
1719
17202007-05-12 17:54  gb
1721
1722        * lisp-kernel/image.h: New ABI version.
1723
17242007-05-12 17:54  gb
1725
1726        * lisp-kernel/darwinx8664/.gdbinit: Ignore SIGSYS.  If only I
1727        could; if only I could ...
1728
17292007-05-12 17:53  gb
1730
1731        * lib/x8664env.lisp: More imm temps! (one more ...).
1732
17332007-05-12 17:52  gb
1734
1735        * lib/nfcomp.lisp: Bump current fasl version.
1736
17372007-05-12 17:51  gb
1738
1739        * lib/macros.lisp: RLET, MAKE-RECORD, etc: don't set pointer type
1740        in cross-compiled code.
1741
17422007-05-12 17:50  gb
1743
1744        * lib/foreign-types.lisp: Don't use #. to initialize *host-ftd*
1745        interface dir, because of cross-compilation issues.
1746
17472007-05-12 17:49  gb
1748
1749        * lib/db-io.lisp: Support "queries" in FFI reader macros: #_?foo,
1750        #$?foo, and #&?foo return T if foo is defined, NIL otherwise.
1751
17522007-05-12 17:49  gb
1753
1754        * lib/compile-ccl.lisp: Lose some stuff leftover from 68k->PPC MCL
1755        transition.
1756
17572007-05-12 17:48  gb
1758
1759        * lib/ccl-export-syms.lisp: Mapped-vector stuff.
1760
17612007-05-12 17:47  gb
1762
1763        * lib/encapsulate.lisp: Add a comment.
1764
17652007-05-12 17:46  gb
1766
1767        * library/hash-cons.lisp: Very small lap change.
1768
17692007-05-12 17:45  gb
1770
1771        * level-1/ppc-threads-utils.lisp: Move %FIXNUM-REF-MACPTR and
1772        %FIXNUM-SET-MACPTR elsewhere.
1773
17742007-05-12 17:44  gb
1775
1776        * level-1/linux-files.lisp: File-mapped vectors.
1777
17782007-05-12 17:43  gb
1779
1780        * level-1/l1-streams.lisp: OPEN : :if-exists defaults to
1781        :new-version if pathname-version of filename is :NEWEST.
1782
17832007-05-12 17:43  gb
1784
1785        * level-1/l1-readloop-lds.lisp: %BREAK-IN-FRAME might be called
1786        with a CONDITION object.
1787
17882007-05-12 17:42  gb
1789
1790        * level-1/l1-processes.lisp: *HOST-PAGE-SIZE* initialized earlier.
1791
17922007-05-12 17:41  gb
1793
1794        * level-1/l1-pathnames.lisp: If there's no host component in a
1795        namestring argument, LOGICAL-PATHNAME signals a TYPE-ERROR.
1796
17972007-05-12 17:40  gb
1798
1799        * level-1/l1-lisp-threads.lisp: Initial-lisp-thread, initial
1800        listener stack sizes now static.
1801
18022007-05-12 17:39  gb
1803
1804        * level-1/l1-files.lisp: Pathname arcana.
1805
18062007-05-12 17:38  gb
1807
1808        * level-1/l1-events.lisp: Optionally, invoke debugger-hook on
1809        SIGINT.
1810
18112007-05-12 17:38  gb
1812
1813        * level-1/l1-dcode.lisp: Clear dispatch table cache if GF APO
1814        changes.
1815
18162007-05-12 17:37  gb
1817
1818        * level-0/l0-misc.lisp: Don't cons when clearing spin lock.
1819       
1820        Commented-out (#+bad-idea) GC-lock-via-exception-lock idea.
1821
18222007-05-12 17:36  gb
1823
1824        * level-0/l0-hash.lisp: Use %pname-hash to hash ... pnames.
1825
18262007-05-12 17:35  gb
1827
1828        * level-0/l0-def.lisp: %FIXNUM-REF-MACPTR, %FIXNUM-SET-MACPTR: move
1829        here.
1830
18312007-05-12 17:34  gb
1832
1833        * level-0/l0-cfm-support.lisp: Remove an old declaration.
1834
18352007-05-12 17:33  gb
1836
1837        * level-0/X86/x86-utils.lisp: New calling sequence.
1838
18392007-05-12 17:32  gb
1840
1841        * level-0/X86/x86-pred.lisp: New calling sequence. Use a CMOV in
1842        EQL.
1843
18442007-05-12 17:32  gb
1845
1846        * level-0/X86/x86-numbers.lisp: New calling sequence.  No need to
1847        be careful with %rcx (now %imm2) in shift instructions.
1848
18492007-05-12 17:30  gb
1850
1851        * level-0/X86/: x86-float.lisp, x86-misc.lisp: New calling
1852        sequence.
1853
18542007-05-12 17:29  gb
1855
1856        * level-0/X86/x86-def.lisp: Handle new-style tras, other
1857        new-calling-sequence changes.
1858
18592007-05-12 17:27  gb
1860
1861        * level-0/X86/: X8664/x8664-bignum.lisp, x86-array.lisp,
1862        x86-clos.lisp: New calling sequence.  %rcx is %imm2 now, not
1863        %temp2, and no need to be so careful with it.
1864
18652007-05-12 17:26  gb
1866
1867        * compiler/vinsn.lisp: global label-valued temporaries.
1868
18692007-05-12 17:25  gb
1870
1871        * compiler/optimizers.lisp: FLOAT with no protototype argument.
1872
18732007-05-12 17:24  gb
1874
1875        * compiler/nx0.lisp: Try to do a little type inference for more
1876        flavors of AREF.
1877
18782007-05-12 17:23  gb
1879
1880        * compiler/nx-basic.lisp: FUNCTION-INFORMATION might return an
1881        afunc (or equivalent) as a non-nil second value.
1882
18832007-05-12 17:22  gb
1884
1885        * compiler/X86/x862.lisp: Support the new (call/ret) calling
1886        sequence, new tra/talign scheme.  One more imm reg, so 3d aset is
1887        less nasty.
1888
18892007-05-12 17:21  gb
1890
1891        * compiler/X86/x86-lapmacros.lisp: Support the new (call/ret)
1892        calling sequence, new tra/talign scheme.
1893
18942007-05-12 17:21  gb
1895
1896        * compiler/X86/x86-lap.lisp: Support :talign, (@ (:^ label) (%
1897        rip)).
1898
18992007-05-12 17:20  gb
1900
1901        * compiler/X86/x86-disassemble.lisp: Recognize CALL label operands,
1902        rip-relative label refs.
1903
19042007-05-12 17:19  gb
1905
1906        * compiler/X86/x86-backend.lisp: Allow label-valued temporaries,
1907        support :talign directive in vinsn templates.
1908
19092007-05-12 17:18  gb
1910
1911        * compiler/X86/x86-asm.lisp: Add call instruction; note that %rip
1912        is a register ...
1913
19142007-05-12 17:17  gb
1915
1916        * compiler/X86/X8664/x8664-vinsns.lisp: Use "tail-aligned" calls
1917        for most things, except calls to subprims that manipulate the
1918        stack.
1919
19202007-05-12 17:16  gb
1921
1922        * compiler/X86/X8664/x8664-backend.lisp: Try to make
1923        cross-compilation with x86-64 targets a little easier, by using a
1924        cross-ftd interface directory.
1925
19262007-05-12 17:16  gb
1927
1928        * compiler/X86/X8664/x8664-arch.lisp: move away from lea/jmp,
1929        towards call/ret.  rcx is now an imm reg; ra0 = temp2.  new tra
1930        scheme.
1931
19322007-05-12 17:15  gb
1933
1934        * compiler/PPC/ppc2.lisp: %immediate-set-xxx: get sign right.
1935        unwind-protect uses nmkunwind (more happens out-of-line.)
1936
19372007-05-12 17:14  gb
1938
1939        * compiler/PPC/PPC64/ppc64-vinsns.lisp: nmkunwind.
1940
19412007-05-12 17:13  gb
1942
1943        * compiler/PPC/PPC32/ppc32-vinsns.lisp: getu32/gets32, nmkunwind.
1944
19452007-05-12 17:12  gb
1946
1947        * compiler/PPC/ppc-arch.lisp: New .SPnmkunwind.
1948
19492007-05-12 17:11  gb
1950
1951        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Make
1952        %GET-KERNEL-GLOBAL-PTR actually work.
1953
19542007-05-07 19:10  gb
1955
1956        * level-1/l1-aprims.lisp: ELT, SET-ELT: don't assume that NTHCDR
1957        returns a CONS, signal the right flavor of TYPE-ERROR if it
1958        doesn't.
1959
19602007-05-05 18:10  gb
1961
1962        * level-0/l0-hash.lisp: If PUTHASH decides that it wants to grow
1963        the hash table, it tries to enable the GC before doing so.
1964
19652007-05-04 22:10  gb
1966
1967        * compiler/nx-basic.lisp: FUNCTION-INFORMATION returns what it
1968        finds in the environment, not just non-nil.
1969
19702007-05-01 18:10  gb
1971
1972        * lisp-kernel/ppc-gc.c: Fix the "bytes allocated" message and
1973        computation for GC-VERBOSE entry.
1974
19752007-05-01 06:11  gb
1976
1977        * level-1/l1-unicode.lisp: Set literal-code-limit to #xd800 for
1978        utf-16 variants.
1979       
1980        Fix the typo (found by Takekiko Abe) in the utf-8 stream-decode
1981        function.
1982
19832007-05-01 06:10  gb
1984
1985        * level-1/ppc-trap-support.lisp: Mis-align some fields in the
1986        darwin ppc64 thread state structure, just like Apple does.  Can I
1987        blame them for getting this wrong, please ?
1988       
1989        Use the right argument names in ppc64 cmain callback; can't blame
1990        Apple.
1991
19922007-04-30 23:12  gb
1993
1994        * lisp-kernel/ppc-exceptions.c: running_under_rosetta only exists
1995        on Darwin, and should probably be removed completely.  Now that
1996        it's explicitly extern, don't try to reference it at runtime on
1997        linuxppc.
1998
19992007-04-30 23:11  gb
2000
2001        * lisp-kernel/pmcl-kernel.c: use_mach_exception_handling is
2002        referenced at runtime and explicitly extern, so make sure that it's
2003        initialized on all platforms.
2004
20052007-04-30 23:10  gb
2006
2007        * lisp-kernel/lisp.h: running_under_rosetta - which is kind of an
2008        oxymoron - is specific to Darwin.
2009
20102007-04-21 00:10  gb
2011
2012        * lib/dumplisp.lisp: In SAVE-APPLICATION: check for containing
2013        directory after translating logical pathnames; it's generally
2014        meaningless to do PROBE-FILE on the directory component of a
2015        logical pathname.
2016
20172007-04-19 15:10  gb
2018
2019        * compiler/X86/x862.lisp: In x862-aset3, maybe push/pop the val reg
2020        if it conflicts with an immediate temporary (we'll need all the imm
2021        temps we have on x86-64.)
2022
20232007-04-17 20:10  gb
2024
2025        * compiler/PPC/ppc2.lisp: Actually remember to check in the PPC
2026        version of recent aset2/aset3 register-conflict changes.
2027
20282007-04-16 15:10  gb
2029
2030        * compiler/nx0.lisp: Don't try to access ARRAY-CTYPE-ELEMENT-TYPE
2031        of things that aren't ARRAY-CTYPEs in ACODE-FORM-TYPE.
2032
20332007-04-16 14:11  gb
2034
2035        * level-1/ppc-trap-support.lisp: :signed-doubleword, not
2036        :signed-doublewod.
2037
20382007-04-16 13:10  gb
2039
2040        * level-1/ppc-trap-support.lisp, lisp-kernel/ppc-exceptions.c:
2041        Memory-fault errors on PPC, too.
2042
20432007-04-16 04:34  gb
2044
2045        * lisp-kernel/lisptypes.h: Define __err, to work around Leopard
2046        renaming nonsense.
2047
20482007-04-16 02:12  gb
2049
2050        * lisp-kernel/x86-exceptions.c: is_write_fault for FreeBSD.
2051
20522007-04-16 02:11  gb
2053
2054        * lisp-kernel/x86-exceptions.c: is_write_vault for x86-64 Linux.
2055
20562007-04-16 02:10  gb
2057
2058        * level-1/l1-error-system.lisp: Change wording of
2059        INVALID-MEMORY-ACCESS error message, a little.
2060
20612007-04-16 01:13  gb
2062
2063        * lisp-kernel/x86-exceptions.c: Call out to lisp on unhandled
2064        memory faults.
2065
20662007-04-16 01:12  gb
2067
2068        * lisp-kernel/lisp-debug.c: "advance PC" command is PPC-only, for
2069        now.
2070
20712007-04-16 01:11  gb
2072
2073        * level-1/x86-trap-support.lisp: Map SIGBUS signal to
2074        INVALID-MEMORY-ACCESS condition.
2075
20762007-04-16 01:10  gb
2077
2078        * level-1/l1-error-system.lisp: INVALID-MEMORY-ACCESS condition.
2079
20802007-04-15 19:11  gb
2081
2082        * compiler/X86/x862.lisp: Use HARD-REGSPEC-VALUE in recent
2083        aset2/aset3 changes.
2084
20852007-04-15 19:10  gb
2086
2087        * compiler/X86/x862.lisp: in aset2/aset3: don't clobber val-reg if
2088        it's an imm-reg; we need another imm-reg to do some index
2089        calculations.
2090
20912007-04-14 18:10  gb
2092
2093        * lisp-kernel/x86-exceptions.c: raise_pending_interrupt():
2094        unscramble what it means for an interrupt to be pending on x86-64.
2095
20962007-04-14 00:13  gb
2097
2098        * lisp-kernel/x86-exceptions.c: I have no idea why SIGSYS is
2099        generated when it is in ... unmentionable OS releases.
2100
21012007-04-14 00:11  gb
2102
2103        * lisp-kernel/: Threads.h, lisp.h: Say "extern" a few times, to
2104        work around laughable Apple ld64 gibberish.
2105
21062007-04-12 02:11  gb
2107
2108        * compiler/: PPC/ppc2.lisp, X86/x862.lisp: (SETF (AREF ...) ...) of
2109        two-dimensional arrays: need to target specific registers if array
2110        has element type T.
2111
21122007-04-12 02:10  gb
2113
2114        * level-0/l0-init.lisp: Add features :x86-64 and :x86_64 if
2115        appropriate, not :x86-64 twice.
2116
21172007-04-11 05:10  gb
2118
2119        * level-1/l1-streams.lisp: Set IOBLOCK-ELEMENT-TYPE to CHARACTER
2120        for bivalent streams.
2121       
2122        STREAM-ELEMENT-TYPE of BASIC-STREAM, BUFFERED-STREAM-MIXIN: don't
2123        maintain the element-type separately, just look in ioblock.
2124        (STREAM-ELEMENT-TYPE isn't required to work on closed streams.)
2125
21262007-04-10 22:10  gb
2127
2128        * lisp-kernel/x86-spentry64.s: Branch at
2129        C(egc_store_node_conditional_success_test) should bracnch
2130        backwards, not forwards.  (This was leading to spurious
2131        "<something> is not a proper list" errors, because the next label
2132        named "0" is in middle of the the _SPprogvsage code that tests for
2133        a proper list.)
2134
21352007-04-10 00:11  gb
2136
2137        * examples/: cocoa-editor.lisp, cocoa-typeout.lisp,
2138        cocoa-window.lisp, objc-support.lisp, tiny.lisp: Don't bother using
2139        RLET or equivalent to avoid making GCable pointers for ObjC
2140        dispatch function args; trust the compiler to do that for us.
2141
21422007-04-10 00:10  gb
2143
2144        * examples/bridge.lisp: If any method defined on a message passes a
2145        structure by value, install a compiler macro on the dispatch
2146        function.
2147       
2148        In that compiler, look for apparent calls to know structure
2149        constructors; replace those with calls to the corresponding
2150        initialization function, and stack-allocate a structure instance
2151        around the call.  (Suggested by Kevin Reid, and something that
2152        SEND/SLET did - sort of - that the new approach didn't.)
2153       
2154        Keep track of info about common foreign structs (initializer,
2155        constructor, etc.) to make doing stuff like this easier.
2156
21572007-04-09 16:10  gb
2158
2159        * examples/objc-clos.lisp: ALLOCATE-INSTANCE of OBJC:OBJC:CLASS: if
2160        the result of sending the init message is a null pointer, return a
2161        null pointer.
2162
21632007-04-09 00:10  gb
2164
2165        * release-notes.txt: Update for 070408.
2166       
2167        (Yes, it's 070409 here already ...)
2168
21692007-04-08 15:12  gb
2170
2171        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump image version.
2172
21732007-04-08 15:10  gb
2174
2175        * xdump/faslenv.lisp: Bump min fasl version.
2176
21772007-04-08 14:11  gb
2178
2179        * lisp-kernel/ppc-spjump.s: Org to the next page boundary at end of
2180        jump table, to work around (still more) Apple ld64 nonsense.
2181
21822007-04-08 13:14  gb
2183
2184        * lib/nfcomp.lisp: Bump current fasl version.
2185
21862007-04-08 13:13  gb
2187
2188        * lib/ccl-export-syms.lisp: Export CCL:FREE.
2189
21902007-04-08 13:12  gb
2191
2192        * xdump/faslenv.lisp: Bump max fasl version.
2193
21942007-04-08 13:11  gb
2195
2196        * lisp-kernel/darwinppc64/Makefile: Pass -arch ppc64 to C, so that
2197        people who try to build this kernel on an x86 mac will take longer
2198        to realize that that's usually a bad idea.
2199
22002007-04-08 12:09  gb
2201
2202        * examples/: cocoa-application.lisp, cocoa-backtrace.lisp,
2203        cocoa-defaults.lisp, cocoa-editor.lisp, cocoa-inspector.lisp,
2204        cocoa-listener.lisp, cocoa-prefs.lisp, cocoa-typeout.lisp,
2205        cocoa-window.lisp, cocoa.lisp:
2206        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2207       
2208        Some changes in font, nsstring stuff to avoid using deprecated
2209        featurs.
2210
22112007-04-08 12:07  gb
2212
2213        * examples/: webkit.lisp, addressbook.lisp:
2214        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2215       
2216        Use OBJC:LOAD-FRAMEWORK.
2217
22182007-04-08 12:06  gb
2219
2220        * examples/tiny.lisp:
2221        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2222
22232007-04-08 12:05  gb
2224
2225        * examples/rubix/: blocks.lisp, lights.lisp, opengl.lisp,
2226        rubix.lisp:
2227        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2228       
2229        Handle CGFLOAT issues in mouse event handlers.
2230
22312007-04-08 12:04  gb
2232
2233        * examples/bridge.lisp: Define CGFLOAT, ObjC-2 foreign types here.
2234       
2235        Define "foreign struct classes" for several common structure types
2236        (rectangle, point, size); generate inlined accessors for their
2237        slots, PRINT-OBJECT methods, initialization functions, WITH-xxx
2238        macros.
2239       
2240        #/ reader macro: reads a string containing "constituent" characters
2241        (including #\:), preserving case.  Does a little bit of
2242        sanity-checking on it, then interns it in NEXTSTEP-FUNCTIONS
2243        package.
2244       
2245        Try to deal with cases where foreign type info may be parsed or
2246        unparsed.
2247       
2248        Introduce OBJC-DISPATCH-FUNCTIONs, which are funcallable instances.
2249         SHARED-INITIALIZE :AFTER method on OBJC-DISPATCH-FUNCTION looks at
2250        message info, tries to determine ambiguity, calls signature
2251        function (possibly after trying to resolve ambiguity.)
2252       
2253        %CALL-NEXT-OBJC-METHOD does some of the same stuff at runtime,
2254        calling a signature function that knows how to dispatch to SUPER
2255        method. (Likewise, %CALL-NEXT-OBJC-CLASS-METHOD for class methods.)
2256       
2257        POSTPROCESS-OBJC-MESSAGE-INFO (re-) initializes the associated
2258        OBJC-DISPATCH-FUNCTION.
2259       
2260        Handle PROTOCOLs differently in ambiguous SEND.
2261
22622007-04-08 12:04  gb
2263
2264        * examples/objc-runtime.lisp: Compile message send functions per
2265        signature.  Handle vararg message sends, partly at runtime.  INIT
2266        messages just have their signature info precomputed.  Defining a
2267        named OBJC-CLASS makes the class name a static variable whose value
2268        is the class (and likewise for the metaclass.)
2269        %DECLARE-OBJC-MESSAGE notes method redefinition, cerrors.
2270        OBJC:DEFMETHOD and support for it.
2271
22722007-04-08 12:03  gb
2273
2274        * examples/objc-support.lisp: Use new syntax.  OBJC:LOAD-FRAMEWORK.
2275         Avoid some deprecated C-string stuff (but wimp out and assume
2276        ASCII.) Keep track of objc-class-count, provide
2277        MAYBE-MAP-OBJC-CLASSES to map new classes iff class count changes.
2278        Handle OBJC-PROTOCOLs a bit differently.  Move CGFLOAT definitions,
2279        etc. elsewhere.
2280
22812007-04-08 12:02  gb
2282
2283        * examples/objc-clos.lisp: RECOGNIZE-OBJC-OBJECT: maybe try mapping
2284        classes if first try fails.  ALLOCATE-INSTANCE of objc-object:
2285        don't canonicalize instance if no lisp slots (so MAKE-INSTANCE is
2286        about as lightweight as MAKE-OBJC-INSTANCE.)
2287
22882007-04-08 12:01  gb
2289
2290        * examples/name-translation.lisp:
2291        COMPUTE-OBJC-TO-LISP-FUNCTION-NAME was once going to do something
2292        non-trivial, now just interns in NEXSTEP-FUNCTIONS.
2293
22942007-04-08 12:00  gb
2295
2296        * examples/objc-package.lisp: New file; export more stuff.  Import
2297        some of it back into CCL.  Provide a NEXTSTEP-FUNCTIONS package for
2298        pseudo-GFs.
2299
23002007-04-08 11:59  gb
2301
2302        * lib/foreign-types.lisp: Foreign-type-ordinals, some of which are
2303        canonical.  Straighten out the auxiliary-foreign-types mess a bit.
2304        Intern integer types up to 64 bits.
2305
23062007-04-08 11:59  gb
2307
2308        * lib/macros.lisp: DEFGLOBAL = DEFSTATIC.  DEFLOADVAR makes its
2309        argument static.  WITH-MACPTRS is saner.  WITH-ENCODED-CSTR writes
2310        NUL octet(s) to the end of the encoded string.  MAKE-GCABLE-RECORD,
2311        COPY-RECORD.
2312
23132007-04-08 11:58  gb
2314
2315        * lib/db-io.lisp: Slight changes (preserve typedef name) in
2316        function/objc method arglists.  UNESCAPE-FOREIGN-NAME: handle
2317        missing brackets.
2318
23192007-04-08 11:57  gb
2320
2321        * lisp-kernel/x86-exceptions.c: Handle signals on the altstack if
2322        not Darwin.  In Darwin, evactuate off of the lisp stack while
2323        interrupts are still disabled.
2324
23252007-04-08 11:56  gb
2326
2327        * lisp-kernel/x86-exceptions.h: USE_SIGALTSTACK, but not on Darwin
2328        (where Apple hasn't yet invented the notion that it needs to be
2329        thread-specific.)
2330
23312007-04-08 11:55  gb
2332
2333        * lisp-kernel/thread_manager.c: Clear pending interrupt flag when
2334        destroying TCR.
2335
23362007-04-08 11:54  gb
2337
2338        * lisp-kernel/ppc-exceptions.c: Lose (commented-out) code which
2339        worked around an old Darwin bug.
2340
23412007-04-08 11:53  gb
2342
2343        * lisp-kernel/lisp.h: Don't define USE_SIGALTSTACK here.
2344
23452007-04-08 11:52  gb
2346
2347        * lisp-kernel/image.c: Don't nuke null pointers.
2348
23492007-04-08 11:52  gb
2350
2351        * lisp-kernel/darwinx8664/.gdbinit: Add gtra.
2352
23532007-04-08 11:51  gb
2354
2355        * lisp-kernel/x86-spentry64.s: zeroed stack-block zeroes all bits
2356        of macptr.domain, macptr.type.
2357
23582007-04-08 11:50  gb
2359
2360        * xdump/xfasload.lisp: Deal with pkg.intern-hook.
2361
23622007-04-08 11:49  gb
2363
2364        * library/lispequ.lisp: add pkg.intern-hook to package.
2365
23662007-04-08 11:48  gb
2367
2368        * lib/describe.lisp: Start trying to conditionalize some of the
2369        stack-frame inspector stuff.
2370
23712007-04-08 11:48  gb
2372
2373        * lib/ffi-darwinppc64.lisp: Structures are basically passed as
2374        64-bit word components, with FP fields passed in registers.  This
2375        requires some special handling ("hybrid" parameters) in the
2376        compiler and %FF-CALL.
2377
23782007-04-08 11:47  gb
2379
2380        * lib/level-2.lisp: %GET-BITFIELD and SETF thereof: deal with
2381        endianness.
2382
23832007-04-08 11:46  gb
2384
2385        * lib/nfcomp.lisp: FASL-SCAN: null-pointers as constants are OK.
2386
23872007-04-08 11:45  gb
2388
2389        * lib/source-files.lisp: From Takehiko Abe: handle EQL specializers
2390        in %SOURCE-FILES-LIKE-EM.
2391
23922007-04-08 11:44  gb
2393
2394        * lib/streams.lisp: DRIBBLE via PROCESS-DRIBBLE.
2395
23962007-04-08 11:43  gb
2397
2398        * lib/xref.lisp: From Takehiko Abe: handle EQL specializers in
2399        MAKE-XREF-ENTRY.
2400
24012007-04-08 11:43  gb
2402
2403        * lib/ccl-export-syms.lisp: Export DEFSTATIC, PAREF, +NULL-PTR+.
2404
24052007-04-08 11:42  gb
2406
2407        * level-1/version.lisp: Bump; new snapshots tomorrow.
2408
24092007-04-08 11:41  gb
2410
2411        * level-1/x86-callback-support.lisp: DEFGLOBAL->DEFSTATIC
2412
24132007-04-08 11:40  gb
2414
2415        * level-1/linux-files.lisp: Very long timeout for
2416        WAIT-ON-SEMAPHORE, don't use PROCESS-WAIT, manipulate the whostate
2417        if we have to wait at all.
2418       
2419        Same idea for TIMED-WAIT-ON-SEMAPHORE.
2420       
2421        Make PIPE code slightly easier to read.
2422
24232007-04-08 11:39  gb
2424
2425        * level-1/l1-utils.lisp: DEFGLOBAL->DEFSTATIC.
2426
24272007-04-08 11:38  gb
2428
2429        * level-1/l1-unicode.lisp: Add NUL-ENCODING field to
2430        CHARACTER-ENCODING, use it to determine number/sequence of octets
2431        used to encode NUL.
2432
24332007-04-08 11:38  gb
2434
2435        * level-1/l1-streams.lisp: DEFGLOBAL->DEFSTATIC.
2436       
2437        READ-TOPLEVEL-FORM on ECHO-STREAM has do I/O on the echo stream (so
2438        DRIBBLE works); on TWO-WAY-STREAM, should read from the input side
2439        so that echoing looks more natural.
2440
24412007-04-08 11:37  gb
2442
2443        * level-1/l1-symhash.lisp: Extra slot  (for intern hook) in PACKAGE
2444        object.
2445
24462007-04-08 11:36  gb
2447
2448        * level-1/l1-readloop-lds.lisp: Some changes, then reverted those
2449        changes manually and most of the effects were cosmetic.
2450        TOPLEVEL-PRINT takes an output stream arg.
2451
24522007-04-08 11:35  gb
2453
2454        * level-1/l1-processes.lisp: Per-process DRIBBLE-ing.
2455
24562007-04-08 11:34  gb
2457
2458        * level-1/l1-lisp-threads.lisp: %TCR-INTERRUPT: don't signal if
2459        interrupt is obviously pending.
2460
24612007-04-08 11:33  gb
2462
2463        * level-1/l1-io.lisp: Change pointer printing.
2464
24652007-04-08 11:33  gb
2466
2467        * level-1/l1-init.lisp: +NULL-PTR+.
2468
24692007-04-08 11:31  gb
2470
2471        * level-1/: l1-dcode.lisp, l1-events.lisp: DEFSTATIC is now the
2472        preferred name for DEFGLOBAL.
2473
24742007-04-08 11:30  gb
2475
2476        * level-1/l1-clos-boot.lisp: DEFSTATIC is now the preferred name
2477        for DEFGLOBAL.
2478       
2479        Mechanism for associating a (built-in) class with a foreign type
2480        ordinal.
2481
24822007-04-08 11:29  gb
2483
2484        * level-1/l1-callbacks.lisp: DEFSTATIC is now the preferred name
2485        for DEFGLOBAL.
2486       
2487        %CALLBACK-FUNCTION accepts a symbol (as well as a pointer that's
2488        likely the global value of some symbol.)
2489
24902007-04-08 11:28  gb
2491
2492        * level-1/l1-boot-2.lisp: DEFSTATIC is now the preferred name for
2493        DEFGLOBAL.
2494       
2495        Standard CL streams now bound per-thread.
2496       
2497        Install standard foreign types here, not every time that
2498        FOREIGN-TYPES is loaded.
2499       
2500        Canonicalize foreign type ordinals as soon as we can.  (This is
2501        part of a scheme to give foreign types "ordinals' that can be used
2502        to assert pointer types; we need some of those ordinal numbers to
2503        be pre-assigned, since we can't reference foreign types early in
2504        the cold load.)
2505
25062007-04-08 11:27  gb
2507
2508        * level-1/l1-aprims.lisp: DEFSTATIC is now the preferred name for
2509        DEFGLOBAL.  GCABLE-PTR-P.
2510
25112007-04-07 21:25  gb
2512
2513        * level-0/nfasload.lisp: %INSERT-SYMBOL might call pkg.intern-hook.
2514         Handle maintenance of auto-export packages differently.
2515        $fasl-timm just needs an :int, not a :long.
2516
25172007-04-07 21:24  gb
2518
2519        * level-0/l0-symbol.lisp: SET-TYPE-PREDICATE returns the
2520        "functional", not random symbol guts.
2521
25222007-04-07 21:23  gb
2523
2524        * level-0/l0-misc.lisp: Use %PTR-STORE-FIXNUM-CONDITIONAL in
2525        %GET-SPIN-LOCK.  Locking code: spin lock must be released before
2526        interrupts are re-enabled.
2527
25282007-04-07 21:22  gb
2529
2530        * level-0/l0-io.lisp: FREE tries to handle gcable pointers.
2531
25322007-04-07 21:20  gb
2533
2534        * level-0/: PPC/ppc-misc.lisp, X86/x86-misc.lisp:
2535        %PTR-STORE-FIXNUM-CONDITIONAL.
2536
25372007-04-07 21:19  gb
2538
2539        * level-0/PPC/ppc-def.lisp: Handle "hybrid" integer/float arguments
2540        in DarwinPPC64 #'%FF-CALL.
2541
25422007-04-07 21:19  gb
2543
2544        * compiler/optimizers.lisp: When trying to infer result type of
2545        MAKE-ARRAY call, unquote quoted type specifier.
2546       
2547        Strength-reduce FLOAT when second argument is of known type.
2548
25492007-04-07 21:18  gb
2550
2551        * compiler/nxenv.lisp: Operators of %SINGLE-FLOAT, %DOUBLE-FLOAT.
2552
25532007-04-07 21:17  gb
2554
2555        * compiler/nx1.lisp: Allow extra "hybrid" ff-call argspecs (for
2556        DarwinPPC64.) Cut-and-paste bug re: nx1-%fixnum-to-single/double.
2557        Parse %short-float, %double-float when no "result" arg; can at
2558        least try to constant-fold late and/or do some cases if we have
2559        more type info.
2560
25612007-04-07 21:16  gb
2562
2563        * compiler/nx0.lisp: Lose some whitespace in the "static var can't
2564        be bound" error message.
2565
25662007-04-07 21:15  gb
2567
2568        * compiler/X86/x862.lisp: Same inline/lambda-bind/dynamic-extent
2569        bug as on PPC.  %SINGLE-FLOAT, %DOUBLE-FLOAT here, too.
2570
25712007-04-07 21:14  gb
2572
2573        * compiler/X86/X8664/x8664-backend.lisp: In EXPAND-FF-CALL, adjust
2574        remaning GPR/FPR counts even if arg is "simple" and passes straight
2575        through to %FF-CALL.
2576
25772007-04-07 21:13  gb
2578
2579        * compiler/PPC/ppc2.lisp: Fix a long-standing bug involving
2580        LAMBDA-BIND operator, dynamic-extent &REST, and stack memoization.
2581        Handle DarwinPPC64 ABI conventions, where SINGLE-FLOATs may be
2582        passed in the same doubleword as GPRs.  %DOUBLE-FLOAT,
2583        %SINGLE-FLOAT stuff: do inlining late, catch some other cases.
2584
25852007-04-07 21:12  gb
2586
2587        * compiler/PPC/PPC64/ppc64-vinsns.lisp: RELOAD-SINGLE-C-ARG-HIGH,
2588        for Darwin structure-passing ABI.
2589
25902007-04-07 21:10  gb
2591
2592        * OpenMCL.app/Contents/Resources/English.lproj/:
2593        MainMenu.nib/info.nib, MainMenu.nib/keyedobjects.nib,
2594        MainMenu.nib/objects.nib, OpenmclInspector.nib/info.nib,
2595        OpenmclInspector.nib/keyedobjects.nib,
2596        OpenmclInspector.nib/objects.nib, backtrace.nib/info.nib,
2597        backtrace.nib/keyedobjects.nib, backtrace.nib/objects.nib,
2598        lispeditor.nib/info.nib, lispeditor.nib/keyedobjects.nib,
2599        lispeditor.nib/objects.nib: Convert .nib to use utf-8
2600        representation, not binary.
2601
26022007-04-06 22:10  gb
2603
2604        * lisp-kernel/pmcl-kernel.c: Patch from Andi Kleen: set vmemoryuse
2605        (RLIMIT_AS) current resource limit to max limit, since some distros
2606        limit it.
2607
26082007-04-03 03:11  gb
2609
2610        * level-1/l1-streams.lisp: Takehiko Abe's fix to
2611        %IOBLOCK-WRITE-U16-ENCODED-CHAR.
2612
26132007-04-02 22:10  gb
2614
2615        * level-1/l1-unicode.lisp: Takehiko Abe's fixes (missing "stream"
2616        arg in utf-16 encode, missing #x in little-endian bom-marker
2617        definition.)
2618
26192007-03-14 23:10  gb
2620
2621        * lisp-kernel/x86-exceptions.c: Remove a debugging fprintf.
2622
26232007-03-14 05:11  gb
2624
2625        * lib/ffi-darwinppc32.lisp: Fix typo (extra quote) in
2626        generate-callback-bindings.
2627
26282007-03-13 06:10  gb
2629
2630        * lisp-kernel/darwinx8664/Makefile: (re-)enable -O2.
2631
26322007-03-13 03:58  gb
2633
2634        * lib/backtrace.lisp: Fix fenceposts in CLOSURE-CLOSED-OVER-VALUES.
2635
26362007-03-12 05:11  gb
2637
2638        * lisp-kernel/x86-exceptions.c: Simplify interrupt_handler() a
2639        little.
2640
26412007-03-12 05:10  gb
2642
2643        * lib/foreign-types.lisp: Fix "extra arguments" error message in
2644        %EXTERNAL-CALL-EXPANDER.
2645
26462007-03-12 05:09  gb
2647
2648        * level-1/l1-clos-boot.lisp: class-wrapper-random-state: use
2649        encapsulation, and a lock.
2650
26512007-03-12 05:08  gb
2652
2653        * level-1/: l1-aprims.lisp, l1-numbers.lisp: *RANDOM-STATE* is
2654        thread-local.
2655
26562007-03-12 02:25  gb
2657
2658        * lisp-kernel/x86-exceptions.c: in catch_exception_raise(), try to
2659        deal with variations in Mach behavior: "exception" may be
2660        EXC_BAD_ACCESS when an illegal instruction causes a "general
2661        protection fault".
2662
26632007-03-09 15:56  gb
2664
2665        * level-1/l1-files.lisp: Bill's fix to (MAKE-PATHNAME :DIRECTORY
2666        NIL ...)
2667
26682007-03-09 00:01  gb
2669
2670        * lib/dumplisp.lisp: Use CLEAR-OPEN-FILE-STREAMS.
2671
26722007-03-09 00:00  gb
2673
2674        * lib/ccl-export-syms.lisp: Accessors of open-file-streams; no more
2675        *OPEN-FILE-STREAMS*.
2676
26772007-03-09 00:00  gb
2678
2679        * level-1/: l1-streams.lisp, l1-sysio.lisp: Encapsulation for
2680        open-file-streams.
2681
26822007-03-08 23:59  gb
2683
2684        * level-1/l1-readloop.lisp: OPEN-FILE-STREAMS is a function,
2685        returns a copy of a list of open file streams in PREPARE-TO-QUIT.
2686
26872007-03-08 23:58  gb
2688
2689        * level-1/l1-init.lisp: Lose *OPEN-FILE-STREAMS* and the lock
2690        associated with it.
2691
26922007-03-08 23:57  gb
2693
2694        * level-1/l1-aprims.lisp: Bind *GENSYM-COUNTER* per-thread.
2695
26962007-03-08 23:47  gb
2697
2698        * level-0/l0-hash.lisp: When REMHASH deletes the last entry in a
2699        hash-table, it fills the hash-table vector with "free" markers.
2700        (There may already be lots of "deleted" markers in the table.)
2701
27022007-03-08 22:26  gb
2703
2704        * level-1/linux-files.lisp: *spin-lock-tries* with a trailing *.
2705
27062007-03-08 22:24  gb
2707
2708        * lib/numbers.lisp: printing random-state: don't shift seeds.
2709
27102007-03-08 22:24  gb
2711
2712        * level-1/l1-numbers.lisp: MAKE-RANDOM-STATE: don't shift.
2713
27142007-03-08 22:24  gb
2715
2716        * level-0/X86/x86-numbers.lisp: Do %next-random-seed more portably.
2717
27182007-03-08 22:23  gb
2719
2720        * level-0/PPC/PPC64/ppc64-bignum.lisp: Typo in comment.
2721
27222007-03-08 22:23  gb
2723
2724        * level-0/PPC/ppc-numbers.lisp: Just a 32-bit version of
2725        %next-random-pair.
2726
27272007-03-08 22:22  gb
2728
2729        * level-0/l0-numbers.lisp: And, while we're at it: do the
2730        next-random-seed permutation in %next-random-pair, which accepts
2731        and returns a pair of 16-bit integers.  That's in lap on ppc32 and
2732        in lisp on 64-bit platforms.
2733
27342007-03-08 22:20  gb
2735
2736        * level-0/l0-numbers.lisp: Don't shift random seeds.
2737
27382007-03-08 03:30  gb
2739
2740        * level-1/x86-error-signal.lisp: Check for trap opcode >= #x70
2741        rather than >= #x80, because of the new way that
2742        uuo-error-slot-unbound is encoded.
2743
27442007-03-08 03:28  gb
2745
2746        * compiler/X86/x86-disassemble.lisp: Recognize
2747        uuo-error-slot-unbound.
2748
27492007-03-08 03:28  gb
2750
2751        * compiler/X86/x86-asm.lisp: Use (int #x7_) for
2752        uuo-error-slot-unbound, since some (int #x8_) traps confuse Mach.
2753
27542007-03-07 08:29  gb
2755
2756        * compiler/PPC/ppc2.lisp: Don't shadow the definition of PPC-DIV2.
2757
27582007-03-07 07:45  gb
2759
2760        * level-1/linux-files.lisp: For #+linux-target, try to use
2761        #_sysconf in CPU-COUNT, and fall back to parsing /proc/cpuinfo only
2762        if that fails.  (CPU-COUNT is called early in the cold load, before
2763        we can make the file-stream necessary to do the parsing.)
2764
27652007-03-07 07:33  gb
2766
2767        * lisp-kernel/: linuxppc/Makefile, linuxppc64/Makefile,
2768        linuxx8664/Makefile: Handle new GNU ld "hash-style" linker options.
2769
27702007-03-07 07:25  gb
2771
2772        * lisp-kernel/x86-exceptions.h: Darwin signal return: logior in the
2773        el-bizarro syscall mask, pass the magic number 0x1e as a second
2774        arg, just in case.
2775
27762007-03-07 07:24  gb
2777
2778        * level-1/l1-sysio.lisp: OPEN, CLOSE lock *OPEN-FILE-STREAMS-LOCK*
2779        before accessing *OPEN-FILE-STREAMS*.
2780
27812007-03-07 07:23  gb
2782
2783        * level-1/l1-readloop.lisp: Add comment about
2784        *OPEN-FILE-STREAMS-LOCK*.
2785
27862007-03-07 07:23  gb
2787
2788        * level-1/l1-init.lisp: Add *OPEN-FILE-STREAMS-LOCK*.
2789
27902007-03-07 07:21  gb
2791
2792        * lib/nfcomp.lisp: Bind *FCOMP-PREVIOUS-POSITION* in
2793        FCOMP-READ-LOOP (e.g., don't just hammer on the static binding.)
2794
27952007-03-07 07:05  gb
2796
2797        * xdump/heap-image.lisp: Bump current image version.
2798
27992007-03-07 07:02  gb
2800
2801        * lisp-kernel/x86-asmutils64.s: Some (currently unused) CPUID
2802        "calls" want an argument in ecx.  Set that arg to 0 for now.
2803
28042007-03-07 07:01  gb
2805
2806        * lisp-kernel/thread_manager.c: Use spinlocks to guard updates to
2807        "real" locks; those updates can be simplified.
2808       
2809        lock_recursive_lock: no (ignored) timeout arg.
2810
28112007-03-07 06:59  gb
2812
2813        * lisp-kernel/image.h: Bump current, max abi versions; continue to
2814        support the old one.
2815
28162007-03-07 06:59  gb
2817
2818        * lisp-kernel/Threads.h: #include #<sched.h>, for sched_yield()
2819        prototype.  Change declaration of LOCK macro: no null timespec
2820        required.  RECURSIVE_LOCKs have spinlock fields.
2821
28222007-03-07 06:56  gb
2823
2824        * level-1/version.lisp: bump, indicate work-in-progress development
2825        version.
2826
28272007-03-07 06:56  gb
2828
2829        * level-1/linux-files.lisp: Determing *spin-lock-tries* at launch
2830        time, based on cpu-count.  YIELD moved here, does #_sched_yield
2831        rather than something lower-level.
2832
28332007-03-07 06:53  gb
2834
2835        * level-0/l0-misc.lisp: Locks use spinlocks, try *spin-lock-tries*
2836        to obtain them before yielding.
2837
28382007-03-07 06:52  gb
2839
2840        * level-0/l0-io.lisp: Move YIELD elsewhere.
2841
28422007-03-07 06:51  gb
2843
2844        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
2845        X86/X8664/x8664-arch.lisp: Add spinlock field to lockptr storage
2846        layout.
2847
28482007-03-02 05:10  gb
2849
2850        * level-1/l1-application.lisp: Toplevel function: initial-listener
2851        class is 'TTY-LISTENER.
2852
28532007-03-02 05:09  gb
2854
2855        * level-1/l1-lisp-threads.lisp: Print n's value, not n in error
2856        message.
2857
28582007-03-02 05:09  gb
2859
2860        * level-1/l1-processes.lisp: New process class: TTY-LISTENER.
2861       
2862        EXIT-INTERACTIVE-PROCESS: for most processes, just PROCESS-KILL.
2863        For TTY-LISTENER, call QUIT.
2864
28652007-03-02 05:08  gb
2866
2867        * level-1/l1-readloop-lds.lisp: Don't call QUIT on EOF, call
2868        EXIT-INTERACTIVE-PROCESS instead.
2869       
2870        Look at *QUIT-ON-EOF* when deciding what to do in response to EOF.
2871
28722007-03-02 05:06  gb
2873
2874        * lib/ccl-export-syms.lisp: Export *quit-on-eof*.
2875
28762007-03-02 05:06  gb
2877
2878        * lib/macros.lisp: WITH-MACPTRS: move initialization/modification
2879        of null pointers into body.
2880
28812007-03-02 05:05  gb
2882
2883        * lisp-kernel/x86-exceptions.c: Try to handle two more cases of
2884        consus-interruptus.
2885
28862007-03-02 05:05  gb
2887
2888        * compiler/nx0.lisp: (the <type> <constant>) transforms to
2889        <constant> if constant is of type <type>.)
2890       
2891        Do we need an ignore-errors here ? Or does <type> need to be
2892        defined ?
2893
28942007-03-02 05:03  gb
2895
2896        * compiler/X86/x862.lisp: Do the / * thing.
2897
28982007-03-02 05:02  gb
2899
2900        * compiler/X86/X8664/x8664-vinsns.lisp: things that do calls need
2901        :call attribute.
2902
29032007-03-01 04:04  gb
2904
2905        * lisp-kernel/x86-spentry64.s: binding primitives: set value after
2906        new binding frame
2907
29082007-02-28 07:04  gb
2909
2910        * level-0/X86/x86-numbers.lisp: In %fixnum-truncate, use -8(sp)
2911        rather than %rbp; trust callback_for_interrupt() to preserve it.
2912
29132007-02-28 07:03  gb
2914
2915        * lisp-kernel/x86-exceptions.c: Try to preserve -8(sp) across
2916        callback_for_interrupt().
2917
29182007-02-28 05:18  gb
2919
2920        * lisp-kernel/x86-gc.c: check_node: ignore tiny things (shift
2921        counts) that may wind up on the vstack.
2922       
2923        Since those tiny things might be tagged as headers, walk the vstack
2924        with new "headerless" functions that ignore headers.
2925
29262007-02-28 05:16  gb
2927
2928        * lisp-kernel/x86-exceptions.c: In pc_luser_xp: if allocating and
2929        before the alloc trap and interrupting, back out of the
2930        modification to save_allocptr (and allocptr register) and set
2931        *interrupt_displacement.
2932
29332007-02-23 10:13  gb
2934
2935        * lib/foreign-types.lisp: Changes to GUESS-ALIGNMENT.  Again, this
2936        only makes sense for cases where we have to guess; a bitfield
2937        that's 8 bits wide still has an alignment of 1.
2938       
2939        Factor in the alignment of the containing int when bitfields are
2940        involved.
2941       
2942        When parsing a record type, set the "bits" slot of each field.
2943        (Not too many things look at that slot, but we want the effect of
2944        loading a record from the database to match the effect of parsing a
2945        definition as exactly as possible, and to be able to use EQUALP to
2946        compare the results.)
2947
29482007-02-23 10:06  gb
2949
2950        * lib/db-io.lisp: Some extra fields in
2951        objc-message-info/objc-method-info structures.
2952       
2953        When calculating overall alignment of a structure, treat bitfields
2954        as if they were :unsigned-int (since there's a "containing"
2955        unsigned int that affects alignment.  N.B: this should be imposed
2956        for anything that has an alignment of 1, not just a size of 1.)
2957       
2958        When loading integer types, try to use the precomputed types rather
2959        than consing a new one.  This (a) reduces consing a little (b) is
2960        more likely to get the alignment correct.  For (b), we really need
2961        to distinguish between bitfields and addressable integers.
2962
29632007-02-23 09:30  gb
2964
2965        * compiler/X86/x862.lisp: Nonsense in x862-set-bit.
2966
29672007-02-22 02:33  gb
2968
2969        * level-0/l0-misc.lisp: Tweak ROOM output a little.
2970
29712007-02-22 02:28  gb
2972
2973        * lisp-kernel/x86-gc.c: Fix up the verbose GC herald a bit (get
2974        heap size right ...).
2975
29762007-02-22 02:27  gb
2977
2978        * lisp-kernel/linuxx8664/Makefile: Tell GNU ld to use the
2979        traditional (sysv) style of hash maps, if it understands that
2980        option.
2981
29822007-02-21 06:01  gb
2983
2984        * lisp-kernel/: ppc-gc.c, x86-gc.c: Handle the case where nothing
2985        has been consed since last GC.  (There are some fenceposts there.)
2986       
2987        verbose GC herald tries to indicate how much is allocated in the
2988        area being GCed.
2989
29902007-02-21 05:58  gb
2991
2992        * lisp-kernel/: ppc-exceptions.c, x86-exceptions.c: If full GC is
2993        deferred, ensure that a full GC happens after WITHOUT-GCING exits.
2994
29952007-02-21 05:57  gb
2996
2997        * compiler/X86/x86-disassemble.lisp: Continue disassembly after
2998        uuo-gc-trap.
2999
30002007-02-19 04:50  gb
3001
3002        * lib/foreign-types.lisp: Use keywords more consistently.
3003       
3004        (Note: there seems to be a bug which is keeping the cdb data
3005        structures from getting defined correctly at load time; the
3006        workaround is to compile foreign-types.lisp - which defines them -
3007        in the same session as and before db-io - which uses them - is
3008        compiled.)
3009
30102007-02-19 04:48  gb
3011
3012        * level-0/X86/x86-clos.lisp: UNSET-FIN-TRAMPOLINE: don't tail-call
3013        error.
3014
30152007-02-19 04:42  gb
3016
3017        * level-0/PPC/ppc-clos.lisp: UNSET-FIN-TRAMPOLINE: don't tail-call
3018        the error function.
3019
30202007-02-19 04:40  gb
3021
3022        * level-1/l1-clos-boot.lisp: MAYBE-UPDATE-OBSOLETE-INSTANCE: handle
3023        funcallable objects that aren't STANDARD-GENERIC-FUNCTIONs.
3024
30252007-02-19 04:40  gb
3026
3027        * level-1/l1-clos.lisp: Move GENERIC-FUNCTION-NAME to
3028        FUNCALLABLE-STANDARD-OBJECT.
3029       
3030        %ALLOCATE-GF-INSTANCE: don't create a dispatch table if not
3031        creating a GF.
3032
30332007-02-19 04:36  gb
3034
3035        * lib/describe.lisp: STANDARD-OBJECT-LINE-N: handle
3036        funcallable-stanard-objects better.
3037
30382007-02-19 04:34  gb
3039
3040        * lib/ccl-export-syms.lisp: Export FUNCALLABLE-STANDARD-OBJECT from
3041        CCL, OPENMCL-MOP.
3042
30432007-02-19 02:09  gb
3044
3045        * level-1/l1-clos-boot.lisp: FUNCALLABLE-STANDARD-OBJECT is a
3046        FUNCALLABLE-STANDARD-CLASS.
3047
30482007-02-19 02:07  gb
3049
3050        * examples/bridge.lisp: MAKE-OPTIMIZED-SEND: missing "msg" arg in
3051        error message.
3052
30532007-02-15 02:46  gb
3054
3055        * examples/objc-support.lisp: Call REGISTER-OBJC-INIT-MESSAGES
3056        after MAP-OBJC-CLASSES in LOAD-OBJC-EXTENSION-FRAMEWORK.
3057
30582007-02-15 02:45  gb
3059
3060        * examples/bridge.lisp: UPDATE-OBJC-METHOD-INFO: don't process init
3061        methods yet.
3062
30632007-02-14 02:39  gb
3064
3065        * release-notes.txt: Fix a typo.
3066
30672007-02-14 02:35  gb
3068
3069        * release-notes.txt: Update for 070214 snapshots.
3070
30712007-02-13 23:36  gb
3072
3073        * level-1/version.lisp: Bump.
3074
30752007-02-13 23:36  gb
3076
3077        * lisp-kernel/image.h, xdump/heap-image.lisp: Update
3078        image-abi-version.
3079
30802007-02-13 23:29  gb
3081
3082        * xdump/faslenv.lisp: Finish bumping fasl version.
3083
30842007-02-13 23:15  gb
3085
3086        * lib/nfcomp.lisp: Bump current fasl version.
3087
30882007-02-13 23:02  gb
3089
3090        * x86-headers64/gl/C/populate.sh: rm -rf ./usr
3091
30922007-02-13 22:45  gb
3093
3094        * xdump/faslenv.lisp: Start bumping fasl-version.
3095
30962007-02-13 22:41  gb
3097
3098        * freebsd-headers64/: gmp/C/populate.sh, gnome2/C/populate.sh,
3099        gtk2/C/populate.sh, libc/C/populate.sh: rm -rf  ./usr
3100
31012007-02-13 21:16  gb
3102
3103        * freebsd-headers64/gl/C/populate.sh: Avoid processing some files
3104        that contain incompatible definitions of some math library stuff
3105        ("log" either has to do with logarithms or logging ...).
3106
31072007-02-13 18:42  gb
3108
3109        * lib/misc.lisp: Change the way that TIME is reported by default:
3110        mention the number of available CPU cores, don't assume that
3111        there's that much of a relationship between CPU time and wall-clock
3112        time.
3113
31142007-02-13 18:41  gb
3115
3116        * level-1/linux-files.lisp: Don't do whatever el-bizarro Mach thing
3117        once seemed to be necessary in %%RUSAGE.  Require syscall stuff
3118        when :execute, too.
3119
31202007-02-13 18:35  gb
3121
3122        * lib/ffi-linuxppc64.lisp: It's %%get-unsigned-longlong, and the
3123        offset arg is required.
3124
31252007-02-13 18:12  gb
3126
3127        * level-0/X86/x86-misc.lisp: Add rdtsc (returns 60 bit non-negative
3128        fixnum) and rdtsc64 (returns 64-bit non-negative integer.)
3129
31302007-02-13 18:10  gb
3131
3132        * lib/time.lisp: Simpler GET-INTERNAL-RUN-TIME (tries harder not to
3133        cons.)
3134
31352007-02-13 18:10  gb
3136
3137        * examples/rubix/rubix.lisp: A little bit of cgfloat stuff; there
3138        are more/other float-size issues deeper down in the code.
3139
31402007-02-13 18:09  gb
3141
3142        * examples/objc-support.lisp: Fixup the x86-64 error-return
3143        callback trampiline code (was missing a byte of machine code.)
3144
31452007-02-13 18:08  gb
3146
3147        * examples/objc-runtime.lisp: Set the mxcsr/fpctrl fields of
3148        jmp-buf to safe/sane values.
3149
31502007-02-13 18:07  gb
3151
3152        * examples/cocoa-window.lisp: Don't change-class
3153        *cocoa-event-process* until we start to run the event loop.
3154       
3155        Don't do _deallocHardCore: explicitly.
3156
31572007-02-13 17:35  gb
3158
3159        * compiler/PPC/ppc2.lisp: poweropen-foreign-args: on ppc64, a
3160        DOUBLE-FLOAT aliases just one gpr.
3161
31622007-02-13 17:34  gb
3163
3164        * darwin-headers64/libc/C/populate.sh: Select the SDK directory.
3165
31662007-02-13 17:34  gb
3167
3168        * library/pty.lisp: return-value pointers in OPEN-PTY-PAIR are just
3169        32-bit ints, not "long".
3170
31712007-02-13 17:33  gb
3172
3173        * lib/ffi-darwinppc64.lisp: Callback arguments: update offset/delta
3174        for each scalar, not each arg.
3175       
3176        Fix some backquoting/indentation.
3177
31782007-02-13 17:31  gb
3179
3180        * lib/ffi-darwinppc32.lisp: Fix typo (^get-signed-long).
3181
31822007-02-12 16:23  gb
3183
3184        * darwin-x86-headers64/libc/C/populate.sh: Select an SDK.
3185
31862007-02-11 20:22  gb
3187
3188        * examples/bridge.lisp: method-typestring needs to be
3189        conditionalized.  How has this been working ?
3190
31912007-02-11 20:22  gb
3192
3193        * examples/cocoa-editor.lisp: remove some debugging code.
3194
31952007-02-11 20:21  gb
3196
3197        * examples/objc-runtime.lisp: %mlist-containing is
3198        #-apple-objc-2.0.
3199
32002007-02-11 20:21  gb
3201
3202        * examples/objc-support.lisp: Lose a quote mark, fix another typo.
3203
32042007-02-11 05:35  gb
3205
3206        * level-1/version.lisp: Bump.
3207
32082007-02-11 05:28  gb
3209
3210        * darwin-headers/: addressbook/C/populate.sh, carbon/C/populate.sh,
3211        cocoa/C/populate.sh, gl/C/populate.sh, libc/C/populate.sh,
3212        quicktime/C/populate.sh, webkit/C/populate.sh: Make the SDK prefix
3213        an optional argument; default to the Tiger SDK.
3214
32152007-02-11 05:26  gb
3216
3217        * lib/ffi-darwinppc32.lisp: Ignore errors; it's an error to ignore
3218        an errror.
3219
32202007-02-11 05:26  gb
3221
3222        * level-1/ppc-trap-support.lisp: Conditionalize for gratuitous
3223        Leopard renaming.  Suffer.
3224
32252007-02-11 05:25  gb
3226
3227        * level-1/l1-boot-lds.lisp: MAKE-MCL-LISTENER-PROCESS will preset
3228        an existing process (so that the listener process appears to be
3229        "persistent".)
3230
32312007-02-11 05:24  gb
3232
3233        * level-1/l1-application.lisp: LISP-DEVELOPMENT-SYSTEM tries to
3234        make the initial-listener object persistent acrosss
3235        SAVE-APPLICATION.
3236
32372007-02-11 00:01  gb
3238
3239        * examples/objc-support.lisp: Deftype for CF-FLOAT.
3240       
3241        Handle callback-error-returns on x86-64.
3242
32432007-02-11 00:00  gb
3244
3245        * examples/objc-runtime.lisp: Pointer comparisons in splay trees
3246        use %ptr<, to hide word-size differences.
3247       
3248        __NSConstantStringClassReference isn't what it used to be, so look
3249        up NSConstantStringClass the hard way.
3250       
3251        Handle ns-exception/lisp-error stuff on x86-64.
3252       
3253        Do arg/result coercions differently.  Does any code depend on
3254        COERCE-TO-ADDRESS behavior ?  (It can cause extra consing of
3255        MACPTRs).
3256       
3257        Use the new FFI interface for message-sends, callbacks to try to
3258        hide platform-specific ABI issues.
3259       
3260        The _deallocate-hook mechanism - which never really worked -
3261        probably can't work on Objc-2.0.
3262
32632007-02-10 23:54  gb
3264
3265        * examples/bridge.lisp: Make structure return-type explicit in
3266        objc-message-send calls in send/stret and variants.
3267
32682007-02-10 22:34  gb
3269
3270        * examples/cocoa-window.lisp: Some indentation changes and slight
3271        reorganization of the code; shouldn't be any functional/semantic
3272        changes.
3273
32742007-02-10 22:30  gb
3275
3276        * examples/: cocoa-editor.lisp, cocoa-prefs.lisp,
3277        cocoa-typeout.lisp: Need to ensure that floats are CG-FLOATs when
3278        appropriate; other changes for 64-bit platforms, Objc-2.0.
3279
32802007-02-10 22:28  gb
3281
3282        * examples/: webkit.lisp, tiny.lisp: Need to ensure that floats are
3283        CG-FLOATs when appropriate.
3284
32852007-02-10 22:28  gb
3286
3287        * hemlock/bin/openmcl/.cvsignore: Ignore fasls for all platforms.
3288
32892007-02-10 22:28  gb
3290
3291        * level-0/X86/x86-misc.lisp: VALUES uses :ARGLIST pseudo-op.
3292
32932007-02-10 22:27  gb
3294
3295        * lib/: ffi-linuxppc64.lisp, ffi-darwinppc32.lisp,
3296        ffi-darwinppc64.lisp, ffi-linuxppc32.lisp: EXPAND-FF-CALL:
3297        ignore-errors when trying to parse the last arglist form as a
3298        foreign type.
3299
33002007-02-10 22:26  gb
3301
3302        * lib/foreign-types.lisp: Pretty much commited to the new FF-CALL
3303        expansion ...
3304
33052007-02-10 22:26  gb
3306
3307        * lisp-kernel/x86-spentry64.s: Preserve %rax when doing ff-call;
3308        use %rdx and %r11 to hold target address.
3309
33102007-02-10 22:23  gb
3311
3312        * library/pty.lisp: Unicode stuff when accessing control char
3313        array; conditionalize for #+darwin-target, not just
3314        #+darwinppc-target.
3315
33162007-02-10 22:22  gb
3317
3318        * level-1/l1-callbacks.lisp: Fix a comment (defcallback isn't
3319        ppc-specific; the comment dated from the days of 68K MCL.)
3320
33212007-02-10 22:21  gb
3322
3323        * compiler/X86/X8664/x8664-backend.lisp: Fix some typos; do struct
3324        return 32 bits at a time, to avoid consing little bignums.
3325
33262007-02-10 22:15  gb
3327
3328        * compiler/X86/x86-lap.lisp: Support :arglist directive.
3329
33302007-02-10 22:15  gb
3331
3332        * compiler/X86/x862.lisp: alloc-c-frame vinsn takes "extra" word
3333        count, not total byte count.
3334       
3335        Fix handling of $undo-x86-c-frame in x862-nlexit.  (Need to check
3336        the PPC case, as well.)
3337
33382007-02-10 22:11  gb
3339
3340        * compiler/X86/X8664/x8664-vinsns.lisp: There doesn't need to be a
3341        "zero-extend-s8" vinsn, but there does need to be a
3342        "zero-extend-u8".
3343
33442007-02-10 05:38  gb
3345
3346        * level-0/PPC/ppc-misc.lisp: Use new :ARGLIST directive in
3347        #'VALUES.
3348
33492007-02-10 05:38  gb
3350
3351        * compiler/PPC/ppc-lap.lisp: Support an :ARGLIST directive, so that
3352        ARGLIST can say -something- about lap functions that don't take a
3353        fixed number of arguments.
3354
33552007-02-07 02:54  gb
3356
3357        * compiler/X86/X8664/x8664-backend.lisp: They spell "valu" with an
3358        "e".
3359
33602007-02-02 02:32  gb
3361
3362        * examples/: bridge.lisp, objc-clos.lisp, objc-runtime.lisp,
3363        objc-support.lisp: Start to integrate with FFI changes.  No more
3364        %SEND, process and precompile "init" messages when interfaces are
3365        accessed.  (Note: should try to handle varargs init messages, even
3366        if we have to call %FF-CALL at runtime.)
3367
33682007-02-02 02:31  gb
3369
3370        * examples/: addressbook.lisp, webkit.lisp: Change the
3371        initialization code a bit.
3372
33732007-02-02 02:27  gb
3374
3375        * lib/foreign-types.lisp: Try to fix another case involving
3376        "auxiliary types".
3377       
3378        I think that the concept of auxiliary types might make sense in a
3379        context like:
3380       
3381        (def-foreign-type nil   (:struct :foo     (:a :int)     (:b
3382        (:struct :bar (:x :int) (:y :int)))))
3383       
3384        In that case, :struct :bar is local to the definition.  In the
3385        similar case:
3386       
3387        (def-foreign-type nil   (:struct :foo     (:a :int)     (:b
3388        (:struct :bar))))
3389       
3390        :BAR is presumably defined (globally) elsewhere.
3391
33922007-02-02 02:17  gb
3393
3394        * darwin-headers/addressbook/C/populate.sh: Specify the SDK to use.
3395         (Setting "SDK=" will hopefully work with older version of xcode.)
3396
33972007-02-02 02:15  gb
3398
3399        * darwin-headers/addressbook/C/.cvsignore: Ignore ./Developer.
3400
34012007-01-31 23:26  gb
3402
3403        * compiler/PPC/ppc2.lisp: Don't treat :registers arg as a real
3404        argument in ppc2-poweropen-foreign-args.
3405
34062007-01-31 22:47  gb
3407
3408        * lib/ffi-darwinppc64.lisp: Needed ,@ to return assign structure
3409        components from registers.
3410
34112007-01-31 22:45  gb
3412
3413        * lib/db-io.lisp: UNESCAPE-FOREIGN-NAME: strings with no angle
3414        brackets are returned verbatim, not downcased.
3415
34162007-01-31 22:44  gb
3417
3418        * level-0/PPC/ppc-def.lisp: Runtime version of 64-bit %ff-call
3419        accepts :registers.
3420
34212007-01-31 16:36  gb
3422
3423        * darwin-headers64/chud/: .cvsignore, C/.cvsignore, C/populate.sh:
3424        New (and, so far, useless) files.
3425
34262007-01-31 16:35  gb
3427
3428        * library/chud-metering.lisp: Add a comment; CHUD.Framework still
3429        seems to be 32-bit only.
3430
34312007-01-31 16:34  gb
3432
3433        * darwin-headers64/libc/C/.cvsignore: Ignore ./Developer.
3434
34352007-01-31 16:34  gb
3436
3437        * darwin-headers64/libc/C/populate.sh: Use SDK; add dlfcn.h.
3438
34392007-01-31 16:33  gb
3440
3441        * lib/db-io.lisp: Tweak the warning given if CDB-OPEN fails:
3442        missing cdb file: dog bytes man; missing parent directory is more
3443        newsworthy.
3444
34452007-01-31 15:38  gb
3446
3447        * library/chud-metering.lisp: Tweak a little, so that it might work
3448        on darwinppc64 (and on darwinx8664 when purify does something
3449        there.)
3450
34512007-01-31 15:06  gb
3452
3453        * darwin-headers/libc/C/populate.sh: Add dlfcn.h.
3454
34552007-01-31 02:49  gb
3456
3457        * level-0/PPC/PPC32/ppc32-bignum.lisp: BIGNUM-NEGATE-TO-PTR.
3458
34592007-01-30 22:53  gb
3460
3461        * freebsd-headers64/: gtk2/C/.cvsignore, gtk2/C/populate.sh,
3462        gl/C/.cvsignore, gl/C/populate.sh, gnome2/.cvsignore,
3463        gnome2/C/.cvsignore, gnome2/C/populate.sh, gtk2/.cvsignore,
3464        gl/.cvsignore: new files.
3465
34662007-01-30 22:21  gb
3467
3468        * freebsd-headers64/gmp/: C/.cvsignore, C/populate.sh, .cvsignore:
3469        new files.
3470
34712007-01-30 21:58  gb
3472
3473        * level-0/l0-bignum64.lisp: BIGNUM-NEGATE-TO-POINTER.
3474
34752007-01-30 21:58  gb
3476
3477        * x86-headers64/gmp/: .cvsignore, C/.cvsignore, C/populate.sh: new
3478        file
3479
34802007-01-30 21:49  gb
3481
3482        * level-1/l1-sockets.lisp: Learn to conditionalize! It's easy and
3483        fun!
3484
34852007-01-30 21:40  gb
3486
3487        * library/openmcl-gtk-support.lisp: Conditionalize out the
3488        event-polling task.
3489
34902007-01-30 21:36  gb
3491
3492        * headers64/: gl/.cvsignore, gl/C/.cvsignore, gl/C/populate.sh,
3493        gnome2/.cvsignore, gnome2/C/.cvsignore, gnome2/C/populate.sh,
3494        gtk2/.cvsignore, gtk2/C/.cvsignore, gtk2/C/populate.sh: new file
3495
34962007-01-30 21:35  gb
3497
3498        * headers/gl/C/populate.sh: process glu.h
3499
35002007-01-30 17:47  gb
3501
3502        * library/parse-ffi.lisp: Always encode explicit structure-typed
3503        function return values.
3504       
3505        Note when we see one, for now.
3506
35072007-01-30 17:45  gb
3508
3509        * lib/foreign-types.lisp: %EXTERNAL-CALL-EXPANDER allows/requires a
3510        leading argument to be paired with a structure-typed return-type.
3511
35122007-01-30 17:43  gb
3513
3514        * lib/ffi-linuxppc32.lisp: linuxppc32 always returns structures via
3515        the first-arg hack.
3516
35172007-01-30 17:42  gb
3518
3519        * lib/db-io.lisp: Bump *interface-abi-version*, but continue to
3520        support the old version.
3521       
3522        Don't check the :struct-by-value flag when encoding function
3523        args/results.  (That decision's made above our pay grade now.)
3524       
3525        When reading a :struct/:union definition, try to update an existing
3526        defintion rather than consing up a new one (this matters if the
3527        record is anonymous.)
3528
35292007-01-30 17:39  gb
3530
3531        * level-1/l1-sockets.lisp: Try to ensure that the :FORMAT argument
3532        gets passed to MAKE-TCP-STREAM-SOCKET and MAKE-FILE-STREAM-SOCKET
3533        correctly.
3534       
3535        Fix c_socket for #+linuxppc.
3536
35372007-01-30 08:20  gb
3538
3539        * level-1/version.lisp: Bump.
3540
35412007-01-30 08:20  gb
3542
3543        * lib/compile-ccl.lisp: Use make -j to build kernel.
3544
35452007-01-30 07:02  gb
3546
3547        * lisp-kernel/x86-spentry64.s: .SPcallback returns rax/rdx,
3548        xmm0/xmm1.
3549
35502007-01-30 07:01  gb
3551
3552        * lib/macros.lisp: Use new callback interface unconditionally.  (A
3553        day's work turned into 2 weeks, somehow.)
3554
35552007-01-30 07:00  gb
3556
3557        * compiler/X86/X8664/x8664-backend.lisp, lib/ffi-darwinx8664.lisp,
3558        lib/ffi-freebsdx8664.lisp, lib/ffi-linuxx8664.lisp: New callback
3559        stuff for x8664 (all platfroms appear to use the same ABI.)
3560
35612007-01-30 03:26  gb
3562
3563        * level-0/X86/x86-misc.lisp: Don't use boxed "disp" for
3564        displacement in %ATOMIC-INCF-NODE.
3565
35662007-01-29 07:27  gb
3567
3568        * lib/macros.lisp: Enable new callback stuff on #+ppc-target.
3569
35702007-01-29 07:27  gb
3571
3572        * lib/ffi-darwinppc64.lisp: new callback stuff.
3573
35742007-01-29 07:27  gb
3575
3576        * lib/ffi-darwinppc32.lisp: typos-r-us.
3577
35782007-01-29 04:37  gb
3579
3580        * lib/ffi-darwinppc32.lisp: Flesh out darwinppc32 callback stuff.
3581
35822007-01-29 04:37  gb
3583
3584        * lib/ffi-linuxppc64.lisp: Fix some typos/bugs; more likely remain.
3585
35862007-01-29 04:36  gb
3587
3588        * lib/foreign-types.lisp: REQUIRE-FOREIGN-TYPE-BITS.
3589
35902007-01-29 04:36  gb
3591
3592        * lib/macros.lisp: Use new callback scheme for darwinppc32, too.
3593
35942007-01-29 04:36  gb
3595
3596        * compiler/PPC/PPC32/ppc32-backend.lisp: No more (old) callback
3597        stuff here.
3598
35992007-01-29 02:33  gb
3600
3601        * lib/ffi-darwinppc32.lisp: Flesh out the new callback stuff.
3602
36032007-01-28 21:47  gb
3604
3605        * lib/: ffi-linuxppc32.lisp, ffi-linuxppc64.lisp: Flesh things out
3606        a bit more, change the API, get things working ... still a moving
3607        target.
3608
36092007-01-28 21:46  gb
3610
3611        * lib/macros.lisp: For linuxppc, use the new callback mechanism.
3612        (Other platforms still need more bootstrapping.)
3613
36142007-01-28 21:44  gb
3615
3616        * compiler/PPC/PPC32/ppc32-backend.lisp: Lose the old eabi-callback
3617        stuff; linuxppc 32/64-bit callbacks now use the new scheme.
3618
36192007-01-28 03:21  gb
3620
3621        * lib/ffi-linuxppc32.lisp: Remove some typos.  Need to pass
3622        dynamic-extent, other decls separately.
3623
36242007-01-28 03:20  gb
3625
3626        * compiler/PPC/PPC32/ppc32-backend.lisp: Fix some of this stuff;
3627        use the new (ftd-based) scheme.
3628
36292007-01-28 01:43  gb
3630
3631        * compiler/PPC/PPC64/ppc64-backend.lisp: Fix some typos.  (This
3632        code's getting replaced, but fix 'em anyway.)
3633
36342007-01-28 01:42  gb
3635
3636        * lib/db-io.lisp: If a .cdb file can't be opened, show the
3637        translated pathname and mention the fact that this might indicate a
3638        problem with "ccl:"'s logical translations.
3639
36402007-01-25 04:37  gb
3641
3642        * lib/foreign-types.lisp: Never fully understood the concept
3643        "auxiliary" foreign types, but try to canonicalize intermediate
3644        struct/union/enum references, so that (EQ (PARSE-FOREIGN-TYPE
3645        '(:STRUCT :FOO))     (PARSE-FOREIGN-TYPE '(:STRUCT :FOO))) is more
3646        likely to return T (e.g., something registered in the FTD.
3647       
3648        It seems clear that this is the right thing when the structure
3649        reference is in global scope; I'm not sure what it'd mean for that
3650        not to be the case.
3651
36522007-01-25 04:32  gb
3653
3654        * lib/ffi-linuxppc32.lisp: More plausible callback-bindings
3655        callback.
3656
36572007-01-24 23:41  gb
3658
3659        * lib/ffi-linuxppc32.lisp: First cut at callback-bindings thing;
3660        may not even compile.
3661
36622007-01-24 02:39  gb
3663
3664        * compiler/: PPC/PPC32/ppc32-backend.lisp,
3665        PPC/PPC64/ppc64-backend.lisp, X86/X8664/x8664-backend.lisp: Stubs
3666        for new FTD functions.
3667
36682007-01-24 02:28  gb
3669
3670        * lib/foreign-types.lisp: A few more fields (for callbacks) in ftd
3671        defstruct.
3672
36732007-01-23 15:28  gb
3674
3675        * compiler/PPC/: PPC32/ppc32-backend.lisp,
3676        PPC64/ppc64-backend.lisp: Get FPRs from where subprim saved them.
3677        Return FPRs in the same place.  (Will need to re-work all of this
3678        for platform-dependent structure stuff.)
3679
36802007-01-23 15:26  gb
3681
3682        * lisp-kernel/ppc-spentry.s: poweropen-callback, callbackX; save fp
3683        args here.  Return all (arg) GPRs and FPRs (needs cooperation from
3684        the lisp side.)
3685
36862007-01-23 15:21  gb
3687
3688        * lisp-kernel/: ppc-constants32.s, ppc-constants64.s: Add room in
3689        c_reg_save for saved fp args (f1-f13).
3690
36912007-01-23 15:14  gb
3692
3693        * lib/foreign-types.lisp: FF-CALL implemented in terms of the new
3694        ftd hook.
3695
36962007-01-23 07:19  gb
3697
3698        * level-1/l1-clos-boot.lisp: ppc32, ppc64 also had trouble with
3699        (CLASS-OF non-simple-string).
3700
37012007-01-23 07:02  gb
3702
3703        * level-1/l1-clos-boot.lisp: x8664 class-of: typo in non-simple
3704        array case, needed new string definition.
3705
37062007-01-23 07:01  gb
3707
3708        * lib/: ffi-darwinx8664.lisp, ffi-freebsdx8664.lisp,
3709        ffi-linuxx8664.lisp: Define ffi stuff in terms of common things in
3710        compiler/X86/X8664/x8664-backend.
3711
37122007-01-23 06:59  gb
3713
3714        * compiler/X86/X8664/x8664-backend.lisp: Define (common) x8664 ffi
3715        stuff here.
3716
37172007-01-21 08:32  gb
3718
3719        * compiler/X86/x862.lisp: Name vinsn ff-call-return-registers (not
3720        "-returning-").
3721       
3722        Typecheck the :registers arg.
3723
37242007-01-21 08:32  gb
3725
3726        * compiler/X86/X8664/x8664-vinsns.lisp: ff-call-return-registers.
3727
37282007-01-21 08:31  gb
3729
3730        * compiler/X86/X8664/x8664-arch.lisp: WITH-FFCALL-RESULTS: zero the
3731        stack-block.
3732
37332007-01-21 08:31  gb
3734
3735        * lisp-kernel/x86-spentry64.s: Don't use save3 in
3736        .SPffcall_return_registers (save3 = r11); use save2 (= r13)
3737        instead.
3738
37392007-01-21 06:46  gb
3740
3741        * compiler/PPC/PPC64/ppc64-arch.lisp: WITH-FFCALL-RESULTS needs
3742        space for 13 float registers, not 31.
3743
37442007-01-21 06:45  gb
3745
3746        * compiler/X86/X8664/x8664-arch.lisp: WITH-FFCALL-RESULTS for
3747        x86-64.
3748
37492007-01-21 06:38  gb
3750
3751        * compiler/X86/x862.lisp: ff-call: handle n-word struct-by-value,
3752        register return without typos.
3753
37542007-01-21 06:15  gb
3755
3756        * compiler/X86/x862.lisp: ff-call: handle n-word struct-by-value,
3757        register return.
3758
37592007-01-21 06:14  gb
3760
3761        * compiler/nx1.lisp: Don't assume that passing a structure by value
3762        in N words is Darwin-specific.  (LinuxPPC32 is probably the only
3763        platform that doesn't support the convention.)
3764
37652007-01-21 06:12  gb
3766
3767        * compiler/X86/X8664/x8664-arch.lisp: .SPffcall-return-registers
3768        replaces .SPunused-4.
3769
37702007-01-21 06:10  gb
3771
3772        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s:
3773        .SPffcall_return_registers (just returns %rax/rdx, %xmm0/%xmm1).
3774        (replaces .SPunused_4).
3775
37762007-01-21 00:05  gb
3777
3778        * lib/: ffi-linuxppc32.lisp, ffi-linuxppc64.lisp: Use
3779        argument/result coercion functions in os::expand-ff-call.
3780
37812007-01-20 23:53  gb
3782
3783        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp: Coerce arg,
3784        results when expanding an ff-call.
3785
37862007-01-20 23:52  gb
3787
3788        * lib/foreign-types.lisp: Default (no-op) functions for coercing
3789        foreign args, results.
3790
37912007-01-20 22:31  gb
3792
3793        * lib/ffi-linuxppc64.lisp: 4 down.  Whether 2 or 3 to go depends on
3794        your perspective (and on how close x86-64 Linux and x86-64 FreeBSD
3795        are to each other.  I'd guess that they're pretty close, and that
3796        x86-64 Darwin is random.)
3797
37982007-01-20 21:55  gb
3799
3800        * lib/ffi-linuxppc32.lisp: Pretty simple.  3 down, 4 to go.
3801
38022007-01-20 19:34  gb
3803
3804        * compiler/X86/X8664/x8664-backend.lisp: Package prefixes.  D'oh!
3805
38062007-01-20 19:25  gb
3807
3808        * compiler/X86/X8664/x8664-backend.lisp: Add references to the
3809        right os::ff-call-expander.
3810
38112007-01-20 19:24  gb
3812
3813        * compiler/PPC/PPC64/ppc64-arch.lisp: Remove some wip code.
3814
38152007-01-20 19:24  gb
3816
3817        * compiler/PPC/: PPC32/ppc32-backend.lisp,
3818        PPC64/ppc64-backend.lisp: Use os::expand-ff-call, for each value of
3819        OS.
3820
38212007-01-20 19:23  gb
3822
3823        * level-1/l1-sockets.lisp: Saw an opportunity to use PAREF;
3824        probably several more.
3825
38262007-01-20 19:22  gb
3827
3828        * lib/ffi-darwinppc64.lisp: Two down, 5 to go.
3829
38302007-01-20 19:21  gb
3831
3832        * lib/ffi-darwinppc32.lisp: Looks mostly right; might need to be
3833        extended to handle coercions at the Cocoa level, and probably needs
3834        some cooperation from %EXTERNAL-CALL-EXPANDER (e.g., what's
3835        installed by #_).
3836
38372007-01-20 19:18  gb
3838
3839        * lib/db-io.lisp: Encode, decode union types in arglists.
3840
38412007-01-20 19:17  gb
3842
3843        * lib/foreign-types.lisp: ftd's :ff-call-expand-function is
3844        os::expand-ff-call.
3845       
3846        Canonicalize the :void type a bit better.
3847
38482007-01-20 19:16  gb
3849
3850        * library/parse-ffi.lisp: Remove the debugging FORMAT call.
3851
38522007-01-18 23:15  gb
3853
3854        * level-1/l1-boot-2.lisp: Load with the new ffi-backend fasls.
3855
38562007-01-18 23:15  gb
3857
3858        * lib/compile-ccl.lisp: Deal with the new ffi-backend sources.
3859
38602007-01-18 23:15  gb
3861
3862        * lib/systems.lisp: Add the new ffi-backend sources.
3863
38642007-01-18 23:14  gb
3865
3866        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp,
3867        ffi-darwinx8664.lisp, ffi-freebsdx8664.lisp, ffi-linuxppc32.lisp,
3868        ffi-linuxppc64.lisp, ffi-linuxx8664.lisp: New (so far, empty)
3869        files.
3870
38712007-01-18 04:35  gb
3872
3873        * level-1/version.lisp: Bump.
3874
38752007-01-18 04:17  gb
3876
3877        * examples/bridge.lisp: Some word-size conditionalization.  Will
3878        need more work to handle struct return/asssignment correctly on all
3879        platforms.
3880
38812007-01-18 04:15  gb
3882
3883        * examples/: cocoa-editor.lisp, cocoa-backtrace.lisp: Use CGFloat,
3884        type casts, etc.  Likwise for :<NSI>nteger, :<NSUI>nteger.
3885
38862007-01-18 04:13  gb
3887
3888        * examples/: cocoa-prefs.lisp, cocoa-listener.lisp: Use CGFloat,
3889        type casts, etc.
3890
38912007-01-18 04:12  gb
3892
3893        * examples/cocoa-window.lisp: Use CGFloat, type casts, etc.  Avoid
3894        deprecated NSFont stuff.
3895
38962007-01-18 04:11  gb
3897
3898        * examples/objc-clos.lisp: Handle ivars, class
3899        creation/initialization differently for ObjC 2.0.
3900
39012007-01-18 04:10  gb
3902
3903        * examples/objc-runtime.lisp: More ObjC 2.0, ppc64 changes.
3904
39052007-01-18 04:09  gb
3906
3907        * examples/objc-support.lisp: Note which protocols are actually
3908        used when walking classes.  (There doesn't seem to be a good way of
3909        finding a Protocol object pre-objc-2.0, and we may need to test
3910        protocol compliance to disambiguate message sends in some cases.)
3911
39122007-01-18 04:07  gb
3913
3914        * examples/opengl-ffi.lisp: Conditionalize for darwin (not
3915        necessarily darwinppc).
3916
39172007-01-18 04:06  gb
3918
3919        * examples/addressbook.lisp: Conditionalize for darwin (not
3920        necessarily darwinppc).  May want to conditionalize for bundle
3921        executable name, as well.
3922
39232007-01-18 04:05  gb
3924
3925        * compiler/PPC/PPC64/ppc64-arch.lisp: WITH-FFCALL-RESULTS.  Start
3926        to sketch out structure return code (structures are often
3927        "returned" by returning field values in registers pn DarwinPPC64.)
3928
39292007-01-18 04:04  gb
3930
3931        * compiler/PPC/PPC64/ppc64-backend.lisp: New ftd stuff; new
3932        attributes for structure args/results.
3933
39342007-01-18 04:03  gb
3935
3936        * compiler/PPC/PPC64/ppc64-vinsns.lisp: ffcall-returning registers.
3937         (Will need this for other platforms, too.)
3938
39392007-01-18 04:01  gb
3940
3941        * lib/macros.lisp: Arch-specific macro interface for
3942        WITH-FFCALL-RESULTS.
3943
39442007-01-18 04:00  gb
3945
3946        * lib/db-io.lisp: Handle the case of an encoded structure type as a
3947        return value.
3948
39492007-01-18 04:00  gb
3950
3951        * lisp-kernel/: ppc-spentry.s, ppc-spjump.s:
3952        .SPpoweropen_ffcall_return_registers.
3953
39542007-01-18 03:59  gb
3955
3956        * library/parse-ffi.lisp: At least optionally, make structure
3957        return explicit (expecting it to be handled by higher-level code.)
3958
39592007-01-18 03:58  gb
3960
3961        * lib/foreign-types.lisp: ff-call-expand-function in ftd.  Don't
3962        try to type-expand :registers <exp> form in EXTERNAL-CALL.
3963
39642007-01-18 03:55  gb
3965
3966        * level-0/PPC/ppc-misc.lisp: Get the contents of the register that
3967        may hold OS thread context.
3968
39692007-01-18 03:54  gb
3970
3971        * compiler/PPC/PPC32/ppc32-backend.lisp: ff-call-expander function
3972        in ftd.
3973
39742007-01-18 03:53  gb
3975
3976        * compiler/PPC/PPC32/ppc32-arch.lisp: WITH-FFCALL-RESULTS arch
3977        macro.
3978
39792007-01-18 03:52  gb
3980
3981        * compiler/PPC/ppc2.lisp: Poweropen ff-calls might need to return
3982        all possible result regs.  (Maybe poweropen syscall, too.)
3983
39842007-01-18 03:51  gb
3985
3986        * compiler/PPC/ppc-arch.lisp: Replace unused subprim with
3987        .SPpoweropen-ff-call-return-registers.
3988
39892007-01-18 03:50  gb
3990
3991        * compiler/nx1.lisp: Support :registers <exp> in %ff-call; when
3992        supported, backend will return all (potential) result registers in
3993        buffer at <exp>.
3994
39952007-01-16 02:01  gb
3996
3997        * level-1/l1-streams.lisp: Make sure that STREAM-READ-IVECTOR and
3998        STREAM-WRITE-IVECTOR are defined on binary stream classes.  (These
3999        functions make less sense for character streams/strings than they
4000        used to.)
4001
40022007-01-16 01:39  gb
4003
4004        * level-1/l1-sockets.lisp: Ensure that the :FORMAT argument
4005        defaults to :BIVALENT
4006
40072007-01-16 01:37  gb
4008
4009        * level-0/l0-init.lisp: Put :OPENMCL-UNICODE-STRINGS on *FEATURES*.
4010
40112007-01-11 23:58  gb
4012
4013        * compiler/PPC/ppc2.lisp: Transform (/ (* constant1 exp) constant2)
4014        into (* (/ constant1 constant2) exp).  Not very general, but makes
4015        some foreign address arithmetic better.
4016
40172007-01-11 23:56  gb
4018
4019        * lib/macros.lisp: Simple PAREF: (paref pointer
4020        foreign-pointer-or-array-type index) does simple arithmetic for
4021        you.
4022
40232007-01-11 23:54  gb
4024
4025        * lib/foreign-types.lisp: %FOREIGN-ARRAY-ACCESS-FORM.
4026
40272007-01-10 15:50  gb
4028
4029        * compiler/PPC/ppc2.lisp: ppc2-vref1: lose extra arg to
4030        double->heap vinsn.
4031
40322007-01-09 11:33  gb
4033
4034        * lisp-kernel/x86-spentry64.s: When running an unwind-protect
4035        cleanup and multiple values are being thrown, be sure to set
4036        tcr.xframe from the target catch frame.  This is necessary on
4037        general principles (GC safety), and especially necessary if the
4038        cleanup form does a non-local exit.
4039
40402007-01-08 22:12  gb
4041
4042        * examples/: objc-clos.lisp, objc-runtime.lisp, objc-support.lisp:
4043        Revive some of the old GNUstep support; add partial ObjC 2.0
4044        support (for 64-bit targets only, so far.)
4045
40462007-01-08 22:11  gb
4047
4048        * examples/cocoa.lisp: Conditionalize for darwin-target, not
4049        darwinppc-target.
4050
40512007-01-08 22:10  gb
4052
4053        * examples/cocoa-listener.lisp: Disable background layout in the
4054        listener; the whole two-thread scheme probably isn't viable, but
4055        doing this seems to suppress a timing-related symptom.
4056
40572007-01-08 22:09  gb
4058
4059        * examples/cocoa-editor.lisp: Document-begin-editing,
4060        document-end-editing: both seem to have been conditionalized
4061        backwards.
4062
40632007-01-05 16:22  gb
4064
4065        * level-0/l0-numbers.lisp: Fix another typo ...
4066
40672007-01-05 16:16  gb
4068
4069        * level-0/l0-numbers.lisp: Fix typo (ppc32::, not ppc2::).
4070
40712007-01-05 15:27  gb
4072
4073        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Missing MISC-SET-C-S32 for
4074        PPC32.
4075
40762007-01-05 06:20  gb
4077
4078        * level-0/l0-cfm-support.lisp: OPEN-SHARED-LIBRARY: freebsd version
4079        of #_dlopen doesn't return a link map, but calling #_dlinfo on the
4080        result (with the right arg) does obtain a link map.
4081       
4082        Revive shared libraries on FreeBSD, but don't do the strange
4083        Linux-specific re-opening there.  (It seems like it's possible to
4084        #_dlopen something that already has a loaded link map - like the
4085        FreeBSD dynamic linker - or something.)
4086
40872007-01-04 05:46  gb
4088
4089        * level-1/l1-pathnames.lisp: %component-match-p: handle :WILD,
4090        :WILD-INFERIORS.
4091
40922007-01-04 05:45  gb
4093
4094        * lisp-kernel/pmcl-kernel.c: Try to check for old libc versions
4095        (which may use %gs instead of %fs for tls).
4096
40972007-01-04 05:44  gb
4098
4099        * lib/numbers.lisp: Explicitly require NUMBER-CASE-MACRO.
4100
41012007-01-04 05:44  gb
4102
4103        * level-0/l0-numbers.lisp:
4104        fixnum-sfloat-compare,fixnum-dfloat-compare: if the fixnum can be
4105        accurately represented in float, do so.
4106
41072007-01-03 03:35  gb
4108
4109        * lib/sequences.lisp: Fix a few type errors, check for explicit
4110        vector-type length earlier.
4111
41122007-01-03 03:31  gb
4113
4114        * level-1/l1-files.lisp: %STD-NAME-COMPONENT, %STD-TYPE-COMPONENT:
4115        preserved :WILD, don't map it to "*".
4116
41172007-01-03 03:30  gb
4118
4119        * lib/pathnames.lisp: More whack-a-mole with pathnames
4120        (specifically, preserving :WILD as name/type value and dealing with
4121        the consequences of doing so.)
4122
41232007-01-03 03:27  gb
4124
4125        * lib/numbers.lisp: Small (mostly cosmetic) change to RATIONAL.
4126
41272007-01-02 09:57  gb
4128
4129        * lib/macros.lisp: Keep fixing CTYPECASE.
4130
41312007-01-02 09:57  gb
4132
4133        * level-1/l1-streams.lisp: DOH! STREAM-READ-LINE method on
4134        BASIC-CHARACTER-INPUT-STREAM returns both values.
4135       
4136        "Composite" (two-way, concatenated, etc) streams need a close
4137        protocol.
4138
41392007-01-02 07:00  gb
4140
4141        * level-0/l0-pred.lisp: EQUAL on physical pathnames ignores the
4142        (new) version slot, as does practically everything else.
4143
41442007-01-02 06:59  gb
4145
4146        * level-0/l0-numbers.lisp: Don't assume that fixnums can be
4147        accurately coerced to floats when comparing fixnums and floats; do
4148        the logical equvalent of calling RATIONAL on the float instead.
4149
41502007-01-01 23:41  gb
4151
4152        * level-1/l1-files.lisp: ENOUGH-NAMESTRING: don't incorporate
4153        version into returned namestring for physical pathnames.
4154
41552006-12-31 10:15  gb
4156
4157        * release-notes.txt: Update.
4158
41592006-12-31 09:13  gb
4160
4161        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump image/abi
4162        version.
4163
41642006-12-31 08:57  gb
4165
4166        * xdump/faslenv.lisp: Bump fasl-min-vers.
4167
41682006-12-31 08:49  gb
4169
4170        * lib/nfcomp.lisp: Bump current fasl version.
4171
41722006-12-31 08:33  gb
4173
4174        * lisp-kernel/: linuxppc/elf32ppclinux.x, linuxppc64/elf64ppc.x:
4175        Tweak the executable start address.
4176
41772006-12-31 02:44  gb
4178
4179        * lisp-kernel/x86-spjump64.s: On Darwin, use a .space directive to
4180        ensure that there's nothing interesting in the first few pages of
4181        the address space (and ensure that those pages are mapped.)
4182
41832006-12-31 02:43  gb
4184
4185        * lisp-kernel/darwinx8664/Makefile: Sadly, we can't use -sectalign
4186        on x86-64 (ld64 does some floating-point arithmetic, fails to
4187        account for roundoff error, and claims that 0x1000 isn't a power of
4188        2.) If you can't say anything good about a linker, it's best not to
4189        say anything at all.
4190       
4191        We can force the first segment to be mapped at 0x1000, and can
4192        waste a few pages to ensure that all low-memory pages that the lisp
4193        wants are mapped.
4194
41952006-12-31 02:33  gb
4196
4197        * level-1/l1-pathnames.lisp: %SPLIT-COMPONENT: be a little more
4198        defensive.
4199
42002006-12-31 02:32  gb
4201
4202        * compiler/nx0.lisp: NX-FORM-TYPE: handle quoted constants.
4203
42042006-12-31 02:29  gb
4205
4206        * xdump/faslenv.lisp: Bump $fasl-vers.
4207
42082006-12-31 02:28  gb
4209
4210        * level-1/version.lisp: Bump; remove "Beta" designation.
4211
42122006-12-29 20:13  gb
4213
4214        * compiler/X86/X8664/x8664-arch.lisp, lisp-kernel/area.h,
4215        lisp-kernel/lisp_globals.h, lisp-kernel/x86-constants64.h,
4216        lisp-kernel/x86-constants64.s, xdump/xx8664-fasload.lisp: Move NIL
4217        up a page on x86-64 as well.
4218
42192006-12-29 16:09  gb
4220
4221        * lisp-kernel/ppc-spjump.s: Be a little clearer about where we're
4222        .orged.
4223
42242006-12-29 15:32  gb
4225
4226        * compiler/PPC/PPC32/ppc32-arch.lisp, lisp-kernel/area.h,
4227        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
4228        lisp-kernel/darwinppc/Makefile, xdump/xppcfasload.lisp: Static area
4229        (including NIL) now one page higher on ppc32, as well.
4230
42312006-12-29 02:38  gb
4232
4233        * level-0/PPC/ppc-float.lisp: SQRT in LAP (todo: inline it.)
4234
42352006-12-29 01:38  gb
4236
4237        * compiler/PPC/PPC64/ppc64-arch.lisp: Move ppc64::nil-value (and
4238        ppc64::reservation-discharge) up a page.
4239
42402006-12-29 01:37  gb
4241
4242        * xdump/xppcfasload.lisp: xload-static-space-address for ppc64 is
4243        #x2000; still #x1000 for ppc32.  (need to set this for x86-64)
4244
42452006-12-29 01:36  gb
4246
4247        * xdump/xfasload.lisp: *xload-static-space-address* depends on the
4248        backend.  ppc64 wants it one page higher than it has been, to avoid
4249        letting unmapped pages get claimed by the dynamic linker on Darwin.
4250
42512006-12-29 01:35  gb
4252
4253        * lisp-kernel/darwinppc64/Makefile: Change seg1addr/sectalign, so
4254        that the image starts at #x1000 and aligned section data for the
4255        text section starts on the next page.
4256
42572006-12-29 01:33  gb
4258
4259        * lisp-kernel/ppc-spjump.s: Org the spjump table 3 pages from where
4260        the aligned text section data starts.
4261
42622006-12-29 01:32  gb
4263
4264        * lisp-kernel/: ppc-constants64.h, ppc-constants64.s: nil_value,
4265        etc a page higher.
4266
42672006-12-29 01:32  gb
4268
4269        * lisp-kernel/pmcl-kernel.c: Don't remap ppc64 spjump table if it's
4270        already where it should be.
4271
42722006-12-29 01:32  gb
4273
4274        * lisp-kernel/lisp_globals.h: Access lisp_globals/nrs_symbols a
4275        page higher.
4276
42772006-12-29 01:30  gb
4278
4279        * lisp-kernel/area.h: Move STATIC_BASE_ADDRESS up a page for ppc64.
4280
42812006-12-22 01:40  gb
4282
4283        * lisp-kernel/ppc-exceptions.c: Ensure that sqrt() is prototyped.
4284
42852006-12-22 01:39  gb
4286
4287        * lisp-kernel/pmcl-kernel.c: Insist on at least Panther for
4288        PPC32/Darwin.
4289       
4290        Use dlopen() on 64-bit Darwin variants.  Might want to do a runtime
4291        test and use dlfcn functions if at least Tiger.
4292       
4293        (The old dyld functions are deprecated under Leopard, and there's
4294        reason to believe that they don't work correctly on at least ppc64/
4295        Leopard; attempting to use NSCreateObjectFileImageFromFile to open
4296        a 64-bit .dylib seems to lead to memory corruption rather than
4297        returning NSObjectFileImageInappropriateFile.
4298       
4299        The old functions work better than the dlfcn functions on pre-Tiger
4300        systems.)
4301
43022006-12-19 01:24  gb
4303
4304        * library/parse-ffi.lisp: Just to be on the safe side (new pathname
4305        bugs, or old ?), append -BAK to (NAMESTRING (TRUENAME path)), not
4306        just (NAMESTRING path) when renaming.  (MERGE-PATHNAMES call is
4307        producing a pathane with a non-null VERSION component, as it
4308        arguably should have been all along.
4309
43102006-12-18 13:22  gb
4311
4312        * lib/sequences.lisp: COERCE/MAKE-SEQUENCE try to simplify vector
4313        types into concrete vector types.
4314
43152006-12-18 13:04  gb
4316
4317        * level-1/l1-pathnames.lisp: Try (halfheartedly) to maintain
4318        PATHNAME-VERSION of physical pathnames.  (Totally meaningless, but
4319        failing to do this leads to many test failures.)
4320
43212006-12-18 13:03  gb
4322
4323        * level-1/l1-numbers.lisp: Don't call out to do sqrt.
4324
43252006-12-18 12:57  gb
4326
4327        * level-1/l1-files.lisp: Try (halfheartedly) to maintain
4328        PATHNAME-VERSION of physical pathnames.  (Totally meaningless, but
4329        failing to do this leads to many test failures.)
4330
43312006-12-18 12:54  gb
4332
4333        * level-0/X86/x86-float.lisp: Do single/double-float sqrt inline.
4334
43352006-12-16 05:28  gb
4336
4337        * level-0/PPC/ppc-float.lisp: Recognize that fsqrt/fsqrts
4338        instructions have a minor opcode in frb and only have one source
4339        operand.
4340
43412006-12-16 05:27  gb
4342
4343        * level-1/ppc-error-signal.lisp: If we get an FP exception during a
4344        SQRT, note that there's only one operand and that it's in frb.
4345
43462006-12-16 05:25  gb
4347
4348        * lisp-kernel/ppc-exceptions.c: Handle (some) unimplemented
4349        instructions, notably fsqrt/fqrts, which are optional and not
4350        implemented on some PPC machines.
4351
43522006-12-16 05:24  gb
4353
4354        * lisp-kernel/ppc-asmutils.s: Add get_fpscr().
4355
43562006-12-14 19:47  gb
4357
4358        * lisp-kernel/ppc-exceptions.c: Need to handle SIGQUIT on ppc, too.
4359
43602006-12-14 16:43  gb
4361
4362        * compiler/X86/X8664/x8664-vinsns.lisp: Constraints on some
4363        double-float arithmetic vinsns should say :double-float, not
4364        :single-float.  (I suspect cut-and-paste, frankly.)
4365
43662006-12-14 16:25  gb
4367
4368        * level-1/l1-lisp-threads.lisp: *initial-lisp-thread*, not
4369        initial-thread.
4370
43712006-12-14 16:24  gb
4372
4373        * level-1/x86-trap-support.lisp: Use frame pointer when signaling
4374        error.
4375
43762006-12-14 16:14  gb
4377
4378        * library/lispequ.lisp: Add a %PHYSICAL-PATHAME-VERSION slot to
4379        physical pathnames. (Yes, this is kind of silly.)
4380
43812006-12-14 16:01  gb
4382
4383        * level-1/x86-trap-support.lisp: Recognize the kernel's attempt to
4384        signal errors for (e.g.) failed memory allocation.
4385
43862006-12-14 16:00  gb
4387
4388        * lisp-kernel/x86-exceptions.c: If a memory allocation request
4389        fails, signal a lisp error (what a concept.)
4390
43912006-12-14 15:51  gb
4392
4393        * lisp-kernel/x86-exceptions.h: Define DARWIN_USE_PSEUDO_SIGRETURN.
4394       
4395        Might be worth revisiting this.
4396
43972006-12-14 15:50  gb
4398
4399        * lisp-kernel/x86-exceptions.c: Go back to using the
4400        pseudo_sigreturn mechanism on Darwin, since doing a real sigreturn
4401        from a fake context may not be reliable.
4402       
4403        When handling an interrupt with a partially created temp stack
4404        frame, do the right thing.  (That basically means reset the frame
4405        before calling out and recreating it if we return from the
4406        callout.)
4407       
4408        Handle SIGQUIT on the altstack, to provide a way of forcibly
4409        terminating threads that's a bit more GC-safe than doing it via
4410        #_pthread_cancel.
4411       
4412        Note the tcr of the gc thread on gc entry; if an exception happens
4413        in that thread, print a message and sleep for 60 seconds.
4414       
4415        Note that there's still a race condition here: if thread A gets an
4416        exception and thread B gets the mach_exception_lock (to GC) before
4417        the exception thread can handle the message, we deadlock (thread A
4418        would be suspended in the kernel and can't respond to a suspend
4419        signal.)  We can tell that this has happened and make a good guess
4420        as to why it happened, but dealing with it will require some
4421        thought.  (If we've already issued a suspend signal and eventually
4422        raise the suspended thread's resume semaphore, it'll suspend and
4423        resume once the mach exception thread makes it runnable.  Who
4424        cleans up its exception context in that case ?  Does it matter ?)
4425
44262006-12-14 15:19  gb
4427
4428        * lisp-kernel/thread_manager.c: Ensure that newly-created threads
4429        have all signals unmasked.
4430       
4431        If a tcr is dead, ensure that its stack areas are empty.
4432       
4433        Try to run shutdown_thread_tcr as a pthread cleanup action,
4434        hopefully before Mach clobbers the thread's signal mask.
4435
44362006-12-14 15:16  gb
4437
4438        * lisp-kernel/pmcl-kernel.c: lazarus() runs with a lock on the
4439        TCR_AREA_LOCK.
4440
44412006-12-14 15:15  gb
4442
4443        * lisp-kernel/memprotect.h: Don't declare do_memo_reset(), which
4444        hasn't existed in years.
4445
44462006-12-14 15:14  gb
4447
4448        * level-1/version.lisp: Bump.
4449
44502006-12-14 15:14  gb
4451
4452        * level-1/l1-readloop.lisp: PREPARE-TO-QUIT: wait for the
4453        termination semaphore.
4454
44552006-12-14 15:13  gb
4456
4457        * level-1/l1-processes.lisp: PROCESS objects are created with a
4458        termination semaphore.
4459
44602006-12-14 15:12  gb
4461
4462        * level-1/l1-lisp-threads.lisp: THREAD-ENABLE: second arg is
4463        TERMINATION-SEMAPHORE.
4464       
4465        KILL-LISP-THREAD: don't use #_pthread_cancel, which may force the
4466        target thread to transition from running lisp code to running
4467        foreign code without advertising that fact. Send a SIGQUIT instead,
4468        and trust the SIGQUIT handler to manage that transition.  Don't try
4469        to kill the initial thread.
4470
44712006-12-09 09:52  gb
4472
4473        * level-1/l1-streams.lisp: STRING-OUTPUT-STREAMs need to override
4474        their CLEAR-OUTPUT methods.
4475       
4476        MAKE-STRING-INPUT-STREAM: handle displaced strings better (remember
4477        their displaced-index-offsets.)
4478
44792006-12-09 09:49  gb
4480
4481        * lisp-kernel/thread_manager.c: Disable underflow traps in new
4482        threads on x86-64.  (The PPC never got around to enabling them.)
4483
44842006-12-09 09:47  gb
4485
4486        * lib/macros.lisp: WITH-OUTPUT-TO-STRING: if string provided,
4487        evaluate the ELEMENT-TYPE expression (for side-effects) and ignore
4488        the result of its evaluation.
4489       
4490        Some fixes in CTYPECASE handling, which hopefully didn't break
4491        anything else.
4492
44932006-12-09 09:36  gb
4494
4495        * compiler/X86/x862.lisp: In aset2/aset3, ensure that the (final,
4496        1d) index register is set - even if the index is a constant - if we
4497        think that the store needs EGC memoization.
4498       
4499        (Note that the test case that exposed this involved storing
4500        SINGLE-FLOATs, which don't need EGC write-barrier handling on
4501        64-bit platforms.)
4502       
4503        In aref2, don't worry about reserving unscaled index registers when
4504        targeting the 1d index; the unscaled index registers aren't live
4505        after, could be NULL if the index is a constant, and any overlap
4506        between one of them and the 1d index should be handled in the
4507        vinsn(s).
4508
45092006-12-09 09:30  gb
4510
4511        * level-1/l1-typesys.lisp: Ensure that the (relatively new)
4512        built-in-classes SIMPLE-FIXNUM-VECTOR and FIXNUM-VECTOR have
4513        class-translations.
4514
45152006-12-09 09:27  gb
4516
4517        * level-1/l1-aprims.lisp: In list case of ELT: who says that value
4518        returned by NTHCDR is a LIST ? (It's not necessarily a list, so
4519        don't segfault taking its CAR without checking.)
4520
45212006-12-06 18:48  gb
4522
4523        * level-0/X86/x86-float.lisp: x86-64 version of
4524        SFLOAT-SIGNIFICAND-ZEROS: count zero bits in the shifted float, not
4525        in %imm1 (which is undefined here ...)
4526
45272006-12-06 17:05  gb
4528
4529        * compiler/nx0.lisp: DEFINE-COMPILER-MACRO: if a SETF name, use the
4530        right symbol for the named block.
4531       
4532        COMPILER-MACRO-FUNCTION, (SETF COMPILER-MACRO-FUNCTION): deal with
4533        (SETF NAME).
4534
45352006-12-05 22:44  gb
4536
4537        * release-notes.txt: Update for 061205.
4538
45392006-12-05 20:31  gb
4540
4541        * lisp-kernel/darwinppc64/Makefile: Change LDFLAGS, to keep ld64
4542        from putting a linkedit segment in the wrong place and making
4543        32-bit memory unmappable.
4544
45452006-12-05 20:30  gb
4546
4547        * level-1/version.lisp: Bump.
4548
45492006-12-05 20:29  gb
4550
4551        * lisp-kernel/pmcl-kernel.c: Use _exit(), just in case.
4552
45532006-12-05 18:53  gb
4554
4555        * level-1/l1-reader.lisp: *ALTERNATE-LINE-TERMINATOR* set to
4556        #\Return on #+darwin-target, not just #+darwinppc-target. Change
4557        doc string for *ALTERNATE-LINE-TERMINATOR*.
4558
45592006-12-04 15:13  gb
4560
4561        * level-1/version.lisp: Append a patchlevel to the version string,
4562        at least until new tarballs can be built.
4563
45642006-12-04 15:12  gb
4565
4566        * level-1/l1-streams.lisp: If stream element type upgrades to
4567        FIXNUM, upgrade it further (to largest supported SIGNED-BYTE
4568        element-type.)
4569
45702006-12-04 13:02  gb
4571
4572        * level-0/l0-bignum32.lisp: BIGNUM-BIGNUM-GCD (whatever it's
4573        called): don't bother to shift by 0 bits.  Do shift the initial U
4574        if non-zero trailing 0 BITS (was testing for non-zero trailing
4575        DIGITS.)
4576
45772006-12-04 12:52  gb
4578
4579        * level-1/l1-streams.lisp: Choke earlier on unsupported stream
4580        element-types; do some upgrading to support some more element types
4581        (BIT -> (UNSIGNED-BYTE 8)).
4582       
4583        Maybe support arbitrarily large integer types someday soon.  Maybe
4584        not.
4585
45862006-12-04 12:48  gb
4587
4588        * level-1/l1-clos-boot.lisp: Make built-in classes for istruct
4589        types (compiler stuff, mostly).
4590
45912006-12-04 12:46  gb
4592
4593        * level-0/X86/X8664/x8664-bignum.lisp: Ensure that %ASHL handles
4594        shift count of 32 (and returns 0 in that case.)
4595
45962006-12-04 12:46  gb
4597
4598        * level-0/l0-bignum64.lisp: In BIGNUM-SHIFT-RIGHT-LOOP-1, use
4599        %ASHL, not %ILSL.  (Don't want nonsense in the high 32 bits, just
4600        in case.)
4601
46022006-12-04 12:43  gb
4603
4604        * level-0/l0-numbers.lisp: Bugs in GCD-2.  Long-standing bugs in
4605        GCD-2 ...
4606
46072006-12-04 09:26  gb
4608
4609        * level-1/l1-streams.lisp: STREAM-CLEAR-INPUT: don't inherit method
4610        for STRING-INPUT-STREAMs.
4611
46122006-12-04 09:24  gb
4613
4614        * level-0/l0-bignum64.lisp: BIGNUM-SHIFT-RIGHT-1: handle shift by 0
4615        bits.  BIGNUM-BIGNUM-GCD (whatever it's called): don't bother to
4616        shift by 0 bits.
4617
46182006-12-04 09:21  gb
4619
4620        * level-1/ppc-trap-support.lisp: Reset error-reentry count before
4621        doing %SLOT-UNBOUND-TRAP.
4622
46232006-12-04 09:21  gb
4624
4625        * level-1/l1-streams.lisp: Default STREAM-POSITION method for
4626        STREAMs, returns NIL.  STREAM-POSITION method for
4627        STRING-INPUT-STREAMs.
4628
46292006-12-04 09:19  gb
4630
4631        * level-1/l1-pathnames.lisp: Derive ccl-directory from pathname
4632        containing heap image.
4633
46342006-12-03 07:41  gb
4635
4636        * level-1/l1-streams.lisp: FORCE-OUTPUT, FINISH-OUTPUT on
4637        STRING-OUTPUT-STREAMs are no-ops.
4638       
4639        Need an ioblock-based character-read-vector function for
4640        string-input-streams.
4641
46422006-12-03 07:37  gb
4643
4644        * lib/describe.lisp: Minimal DESCRIBE support for
4645        CCL::BASIC-STREAM.
4646
46472006-12-03 07:36  gb
4648
4649        * lib/macros.lisp: If :element-type is supplied in
4650        WITH-OUTPUT-TO-STRING, don't quote it.
4651
46522006-12-03 05:11  gb
4653
4654        * level-1/x86-trap-support.lisp: Define RIP-REGISTER-OFFSET, which
4655        isn't necessarily 16.
4656
46572006-12-03 05:10  gb
4658
4659        * level-1/x86-error-signal.lisp: Use RIP-REGISTER-OFFSET, which
4660        isn't necessarily 16.
4661       
4662        Use WITH-ERROR-REENTRY-DETECTION n %xerr-disp; dtrt for
4663        %slot-unbound-trap.
4664
46652006-12-03 05:09  gb
4666
4667        * level-1/l1-streams.lisp: Tweak stream hierarchy a little, to
4668        avoid some NO-NEXT-METHODs.
4669
46702006-12-03 02:42  gb
4671
4672        * compiler/nx1.lisp: Handle VALUES type specifiers in THE forms a
4673        bit better.
4674
46752006-12-03 02:41  gb
4676
4677        * compiler/nx0.lisp: Handle VALUES type specifiers in THE forms a
4678        bit.
4679
46802006-12-03 02:28  gb
4681
4682        * lisp-kernel/x86-spentry64.s: Do vector bounds checking by
4683        clearing the low byte of the header, shifting it right, and
4684        comparing the index to that.  (It's not reliable to shift the index
4685        left.)
4686
46872006-12-03 02:26  gb
4688
4689        * level-1/l1-unicode.lisp: Memory/vector encode functions: don't
4690        write BOM, leave that up to higher-level code.
4691       
4692        Start to write some higher-level code.
4693
46942006-12-03 02:23  gb
4695
4696        * level-1/l1-sysio.lisp: Fix some indentation.
4697
46982006-12-03 02:21  gb
4699
4700        * compiler/X86/X8664/x8664-vinsns.lisp: CHECK-MISC-BOUNDS: shift
4701        the header word right (after clearing its low byte) and compare the
4702        index to that.  (Shifting the index left - d'oh - obviously fails
4703        for indices of large magnitude.)
4704
47052006-11-29 21:07  gb
4706
4707        * lib/db-io.lisp: Indentation change.
4708       
4709        Add CDB-ENUMERATE-KEYS.
4710
47112006-11-29 18:37  gb
4712
4713        * lib/level-2.lisp: %DESTRUCTURE-LAMBDA-LIST: other callers of
4714        VERIFY-LAMBDA-LIST (hopefully) check to see if the alleged list is
4715        LISTP first.  (I hope ...).  Do so.
4716
47172006-11-28 18:42  gb
4718
4719        * lisp-kernel/x86-spentry64.s: Wrong register typo in .SPaset2.
4720
47212006-11-28 16:14  gb
4722
4723        * examples/cocoa-window.lisp: DEFAULT-FONT: retain the font.
4724
47252006-11-28 16:12  gb
4726
4727        * examples/objc-runtime.lisp: Wrap a (primitive)
4728        WITH-AUTORELEASE-POOL around the code which detaches the dummy
4729        NSThread.
4730
47312006-11-28 16:09  gb
4732
4733        * examples/cocoa-listener.lisp: Don't claim that a callback
4734        parameter is ignored; use IGNORABLE instead.
4735
47362006-11-21 01:28  gb
4737
4738        * level-1/l1-sockets.lisp: Typo in PATH-FROM-UNIX-ADDRESS
4739        conditionalization.
4740
47412006-11-21 00:55  gb
4742
4743        * level-1/l1-sockets.lisp: INIT-UNIX-SOCKADDR: don't use
4744        %COPY-IVECTOR-TO-PTR to copy string to foreign memory.
4745       
4746        Basic file-socket streams.
4747
47482006-11-10 05:08  gb
4749
4750        * release-notes.txt: Update.
4751
47522006-11-10 04:28  gb
4753
4754        * lisp-kernel/image.h: Bump min image version.
4755
47562006-11-10 04:19  gb
4757
4758        * xdump/heap-image.lisp: bump current image version.
4759
47602006-11-10 04:19  gb
4761
4762        * lisp-kernel/image.h: bump current, max image version.
4763
47642006-11-10 04:10  gb
4765
4766        * xdump/faslenv.lisp: Bump min fasl version.
4767
47682006-11-10 03:56  gb
4769
4770        * lib/nfcomp.lisp: bump current fasl version.
4771
47722006-11-10 03:47  gb
4773
4774        * lisp-kernel/x86-exceptions.c: save_application: use #__exit, not
4775        #_exit
4776
47772006-11-10 03:46  gb
4778
4779        * compiler/X86/x862.lisp: TYPE typo.
4780
47812006-11-10 03:32  gb
4782
4783        * xdump/faslenv.lisp: Bump max fasl version.
4784
47852006-11-10 03:25  gb
4786
4787        * level-1/version.lisp: Bump.  New snapshots today!
4788
47892006-11-09 16:26  gb
4790
4791        * level-1/l1-readloop.lisp: QUIT uses #__quit.
4792       
4793        PREPARE-TO-QUIT kill stragglers without waiting as long.
4794
47952006-11-09 15:50  gb
4796
4797        * lisp-kernel/pmcl-kernel.c: Use #_ _exit for fatal termination.
4798       
4799        Try to run lisp code after #_exit via lazarus(); this is for some
4800        cases of SAVE-APPLICATION (e.g., in the Cocoa GUI).
4801       
4802        The environment in which The Undead code runs is a little funky,
4803        especially on PPC.  There might be GC implications (cstack will
4804        contain call history as of the point when #_exit called atexit
4805        handlers, vstack & tstack are emptied in lazarus()).  We should
4806        barely run any code in this environment, but we will GC a time or
4807        two ...
4808
48092006-11-09 15:45  gb
4810
4811        * lisp-kernel/ppc-exceptions.c: Use _exit afer save-application.
4812
48132006-11-09 15:43  gb
4814
4815        * examples/: cocoa-window.lisp, cocoa.lisp: Change the quit
4816        protocol.
4817
48182006-11-09 15:42  gb
4819
4820        * examples/cocoa-listener.lisp: :set-document-edited for listener
4821        "documents" is a no-op.
4822
48232006-11-09 15:39  gb
4824
4825        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
4826        PPC64/ppc64-vinsns.lisp: 3d-array accessor stuff for PPC as well.
4827
48282006-11-09 12:50  gb
4829
4830        * compiler/X86/x862.lisp: Always check that array-ctype's
4831        dimensions are a list before taking their length.
4832
48332006-11-09 12:13  gb
4834
4835        * compiler/X86/X8664/x8664-vinsns.lisp: 3d-unscaled-index does the
4836        right thing ...
4837
48382006-11-09 10:08  gb
4839
4840        * compiler/: nx1.lisp, X86/x862.lisp, X86/X8664/x8664-vinsns.lisp:
4841        Three-arg aref/(setf aref) for x8664.
4842
48432006-11-09 05:37  gb
4844
4845        * compiler/nx0.lisp: Map array-type keywords to 3d-array type
4846        errors.
4847
48482006-11-09 05:37  gb
4849
4850        * compiler/nxenv.lisp: Operators for 3d array access.
4851
48522006-11-09 05:36  gb
4853
4854        * compiler/arch.lisp, level-1/l1-error-system.lisp,
4855        lisp-kernel/errors.s, lisp-kernel/lisp-errors.h: Type-errors for 3d
4856        array types.
4857
48582006-11-08 12:50  gb
4859
4860        * level-1/x86-trap-support.lisp: In darwin Fake Structures For
4861        Leopard nonsense: define the stack context struct separately, make
4862        the ucontext stack field an instance of it.  (Not -sure- if that
4863        was necessary, but :poweropen-target was accidentally on *FEATURES*
4864        and foreign struct layout was using read-time condtionalization to
4865        decide whether or not to use brain-dead structure-alignment rules
4866        leftover from AIX/PowerOpen.
4867
48682006-11-08 12:46  gb
4869
4870        * lisp-kernel/x86-spentry64.s: Fix comment ("/*", not "/%" ...).
4871
48722006-11-08 12:40  gb
4873
4874        * compiler/optimizers.lisp: Try to infer/insert the array type when
4875        compiler-macroexpanding MAKE-ARRAY calls.
4876
48772006-11-08 12:39  gb
4878
4879        * compiler/PPC/PPC32/ppc32-backend.lisp: DarwinPPC32 FTD follows
4880        :poweropen-alignment rules.
4881
48822006-11-08 12:38  gb
4883
4884        * lib/foreign-types.lisp: parse-foreign-record-fields: conformance
4885        to poweropen structure layout rules should be an attribute of the
4886        FTD, not done via read-time conditionalization.
4887
48882006-11-08 05:15  gb
4889
4890        * level-1/version.lisp: Bump.
4891
48922006-11-08 05:15  gb
4893
4894        * level-1/l1-streams.lisp: Some bivalent/binary fixes.
4895       
4896        TODO: get rid of "bivalent" streams, but allow switching some
4897        streams (sockets) between "character mode" and "binary mode".
4898
48992006-11-08 02:39  gb
4900
4901        * compiler/PPC/ppc2.lisp: Typo in misc-ref-u64 vinsn emit.
4902
49032006-11-07 21:10  gb
4904
4905        * compiler/optimizers.lisp: Transform three-argument AREF->%AREF3,
4906        ASET->%ASET3.
4907
49082006-11-07 20:40  gb
4909
4910        * compiler/X86/x862.lisp: Implement %aset2 in the x8664 backend.
4911
49122006-11-07 20:39  gb
4913
4914        * level-0/X86/x86-array.lisp: %aref3, %aset3.
4915
49162006-11-07 20:38  gb
4917
4918        * level-0/l0-array.lisp: Use %aref2,%aref3.
4919
49202006-11-07 20:37  gb
4921
4922        * compiler/X86/X8664/x8664-vinsns.lisp: More (often redundant)
4923        vector-store vinsns.
4924
49252006-11-07 20:37  gb
4926
4927        * compiler/X86/X8664/x8664-arch.lisp: .SParef3, .SPaset3.
4928
49292006-11-07 10:28  gb
4930
4931        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s: .SParef3,
4932        .SPaset3.
4933
49342006-11-07 10:27  gb
4935
4936        * level-0/PPC/ppc-array.lisp: %ref3, %aset3.
4937
49382006-11-07 10:26  gb
4939
4940        * lisp-kernel/ppc-spentry.s, lisp-kernel/ppc-spjump.s,
4941        compiler/PPC/ppc-arch.lisp: .SPref3, .SPaset3.
4942
49432006-11-07 10:26  gb
4944
4945        * lisp-kernel/ppc-macros.s: Define mullr, which expands into one of
4946        mullw/mulld.
4947
49482006-11-07 04:12  gb
4949
4950        * compiler/PPC/ppc2.lisp: :signed-64-bit-vector is signed ...
4951
49522006-11-06 22:07  gb
4953
4954        * compiler/nx0.lisp: nx-error-for-simple-2d-array-type: forgot the
4955        :fixnum-vector case.
4956
49572006-11-06 22:04  gb
4958
4959        * compiler/PPC/ppc2.lisp: Handle vector assignment differently;
4960        handle (setf (aref ...)) of simple 2d-arrays inline if the type is
4961        known/declared.
4962
49632006-11-06 22:02  gb
4964
4965        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
4966        Add vinsns for misc-set-s* and variants. (Identical to the unsigned
4967        versions, but it helps not to have to remember which are
4968        implemented and which aren't.)
4969
49702006-11-06 22:01  gb
4971
4972        * compiler/nxenv.lisp: general-aset2, simple-typed-aset2.
4973
49742006-11-06 22:00  gb
4975
4976        * compiler/nx1.lisp: New %ASET2 handling.
4977
49782006-11-06 21:59  gb
4979
4980        * compiler/nx0.lisp: ACODE-FORM-TYPE: use var-inittype if var is
4981        never assigned to.
4982
49832006-11-05 22:09  gb
4984
4985        * level-1/x86-trap-support.lisp: Try to work around
4986        incompatibilites in Tiger/Leopard headers.
4987
49882006-11-05 22:08  gb
4989
4990        * level-1/l1-sockets.lisp: LOOKUP-PORT: use the macro HTONS, since
4991        the foreign function may not exist.
4992
49932006-11-05 20:41  gb
4994
4995        * compiler/X86/x862.lisp: 2d array error lookup -> nx.
4996
49972006-11-05 07:55  gb
4998
4999        * level-0/X86/x86-misc.lisp: %VALID-REMAINING-TIMESPEC-TIME-P for
5000        x86-64, as well.
5001
50022006-11-05 07:52  gb
5003
5004        * level-0/X86/x86-array.lisp: %AREF2, %ASET2 in x8664 lap.
5005
50062006-11-05 07:50  gb
5007
5008        * lisp-kernel/x86-spentry64.s: pre-add displacement in .SParef2,
5009        .SPaset2.
5010
50112006-11-05 07:48  gb
5012
5013        * lisp-kernel/ppc-spentry.s: .SParef2, .SPaset2: since we aren't
5014        testing simple-array-ness, add the (possibly 0) displacement from
5015        the header before handling the simple aref of the data vector.
5016
50172006-11-05 07:47  gb
5018
5019        * lib/foreign-types.lisp: PRINT-OBJECT method for EEPS: handle
5020        pointers on PPC(64), print 64-bit addresses on 64-bit platforms.
5021
50222006-11-05 07:46  gb
5023
5024        * level-1/version.lisp: Bump; new binaries soon.
5025
50262006-11-05 07:46  gb
5027
5028        * level-1/l1-lisp-threads.lisp: %NANOSLEEP calls
5029        %VALID-REMAINING-TIMESPEC-TIME-P, which is better than sleeping for
5030        4G seconds after an EINTR on Leopard.
5031
50322006-11-05 07:44  gb
5033
5034        * level-0/PPC/PPC64/ppc64-bignum.lisp: MACPTR->FIXNUM returns NIL
5035        if any non-fixnum bits would be set in the result.  (Should
5036        probably make this true on all platforms; for PPC64, it's important
5037        for foreign function addresses that're ... suboptimally aligned.)
5038
50392006-11-05 07:42  gb
5040
5041        * level-0/PPC/ppc-misc.lisp: Try to detect the case where
5042        %NANOSLEEP's second (by reference) argument contains garbage after
5043        an EINTR.  (The L word, again.)
5044
50452006-11-05 07:41  gb
5046
5047        * level-0/PPC/ppc-array.lisp: %AREF2, %ASET2: in LAP, just call
5048        into the kernel.
5049
50502006-11-05 07:40  gb
5051
5052        * level-0/l0-cfm-support.lisp: Some platforms (the L-word) generate
5053        ppc64 functions whose addresses are not 0 mod 8, so (a) make
5054        MACPTR->FIXNUM return NIL if an address isn't representable as a
5055        fixnum and (b) make FOREIGN-SYMBOL-ENTRY return an address if it
5056        can't return a fixnum on PPC (really just affects PPC64.)
5057
50582006-11-05 07:37  gb
5059
5060        * level-0/l0-array.lisp: %aref2, %aset2: call into kernel.
5061
50622006-11-05 07:36  gb
5063
5064        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
5065        2d aref support/changes.
5066
50672006-11-05 07:36  gb
5068
5069        * compiler/PPC/ppc2.lisp: Get the PPC2 backend caught up with the
5070        x8664 wrt 2d aref.  Stll a ways to go.
5071
50722006-11-05 07:35  gb
5073
5074        * compiler/nx0.lisp: NX-ERROR-FOR-SIMPLE-2D-ARRAY-TYPE.
5075
50762006-11-04 00:05  gb
5077
5078        * level-1/version.lisp: Bump.
5079
50802006-11-03 23:10  gb
5081
5082        * level-1/ppc-error-signal.lisp: fix parens.
5083
50842006-11-03 23:09  gb
5085
5086        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: arch
5087        gvector types contains :struct, not :structure.
5088
50892006-11-03 23:08  gb
5090
5091        * compiler/PPC/ppc2.lisp: aref2: new operator name(s), always call
5092        subprim.
5093       
5094        ppc2-fixed-call-builtin: (tail-)call subprims even if they aren't
5095        in the builtin functions table.
5096
50972006-11-03 15:19  gb
5098
5099        * compiler/PPC/ppc-arch.lisp: New .SParef2, .SPaset2 subprims.
5100
51012006-11-03 15:18  gb
5102
5103        * compiler/PPC/ppc-asm.lisp: Comments/indentation.
5104
51052006-11-03 15:17  gb
5106
5107        * level-1/ppc-error-signal.lisp: Change decoding/handlng of
5108        type-error UUOs.
5109
51102006-11-03 15:16  gb
5111
5112        * lisp-kernel/: ppc-spentry.s, ppc-spjump.s: .SParef2, .SPaset2.
5113
51142006-11-03 15:16  gb
5115
5116        * lisp-kernel/: ppc-constants32.s, ppc-constants64.s: Define arrayH
5117        (array-header) layout.
5118
51192006-11-03 13:46  gb
5120
5121        * level-1/l1-clos-boot.lisp: CANONICALIZE-SPECIALIZERS optionally
5122        returns its argument if all members are SPECIALIZERS.
5123       
5124        Use CANONICALIZE-SPECIALIZERS to canonicalize FIND-METHOD
5125        arguments, for the benefit of people who haven't read the MOP spec
5126        or who don't realize that the MOP defines some things differently
5127        from CLHS.
5128
51292006-11-03 13:38  gb
5130
5131        * compiler/X86/x862.lisp: Consistently use :struct (not :structure)
5132        to refer to primitive structure type.
5133       
5134        Fix array-ctype-dimensions check in %aref1, add it to %aset1.
5135
51362006-11-03 13:37  gb
5137
5138        * compiler/X86/X8664/x8664-arch.lisp: Ensure that :STRUCT (not
5139        :STRUCTURE) is on target-gvector-types.
5140
51412006-11-03 12:53  gb
5142
5143        * lisp-kernel/x86-uuo.s: uuo_error_array_bounds, such as it is.
5144
51452006-11-03 12:52  gb
5146
5147        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s: SParef2, .SPaset2.
5148         More to come ...
5149
51502006-11-03 12:52  gb
5151
5152        * lisp-kernel/x86-constants64.s: Define array-header layout.
5153
51542006-11-03 12:51  gb
5155
5156        * lisp-kernel/: errors.s, lisp-errors.h: New type-error uuo
5157        encodings, new type-error constants.
5158
51592006-11-03 12:50  gb
5160
5161        * level-1/x86-error-signal.lisp: New range/encoding of type-error
5162        traps.
5163
51642006-11-03 12:49  gb
5165
5166        * level-1/l1-utils.lisp: (temporary) mechanism to avoid
5167        constant-redefinition CERRORs.
5168
51692006-11-03 12:48  gb
5170
5171        * level-1/l1-error-system.lisp: New %type-error-typespecs%.
5172
51732006-11-03 12:47  gb
5174
5175        * level-0/l0-pred.lisp: array--header -> array-header.
5176
51772006-11-03 12:47  gb
5178
5179        * compiler/X86/X8664/x8664-vinsns.lisp: Fix misc-set-c-u64 braino;
5180        add/change some 2d array stuff.
5181
51822006-11-03 12:43  gb
5183
5184        * compiler/X86/X8664/x8664-arch.lisp: Define .SParef2/.SPaset2
5185        subprims; seem to be much (>5x) faster than the lisp/lap versions
5186        (though we can generally be faster still when we know the
5187        element-type and/or know whether the array is simple or explicitly
5188        displaced.)
5189
51902006-11-03 12:41  gb
5191
5192        * compiler/X86/x862.lisp: Change handling of 2d-aref; lots of
5193        related changes.
5194       
5195        Split the code which handles bounds/type-checking in vref out from
5196        the code which actually does the reference, so that the latter can
5197        be used in multidimensional cases.
5198       
5199        Need to do this on PPC as well; need to do more (%aset2, 3d cases,
5200        general case.)
5201
52022006-11-03 12:38  gb
5203
5204        * compiler/nx1.lisp: Change handling of 2d-aref.
5205
52062006-11-03 12:37  gb
5207
5208        * compiler/nxenv.lisp: aref2 -> simple-typed-aref2, add
5209        general-aref2.  More changes to come (and this may affect
5210        compilation on PPC until some PPC compiler changes are
5211        made/checked-in.)
5212
52132006-11-03 12:35  gb
5214
5215        * compiler/arch.lisp: type-errors (as encoded in UUOs) are now in
5216        the range 128-255, rather than 64-127; more are defined.
5217
52182006-11-02 09:43  gb
5219
5220        * level-1/l1-error-system.lisp: Move along, nothing to see here.
5221
52222006-11-02 09:37  gb
5223
5224        * compiler/arch.lisp: New error constants; work in progress ...
5225
52262006-11-01 11:40  gb
5227
5228        * lisp-kernel/errors.s: Some new constants; more to check in later.
5229
52302006-10-31 03:39  gb
5231
5232        * level-0/l0-io.lisp: You must be reading the OLD rule book
5233        (Leopard and #$EINTR).
5234
52352006-10-31 03:21  gb
5236
5237        * lisp-kernel/ppc-exceptions.c: handle_protection_violation: pass
5238        the tcr.  Initialize "addr" before testing it ...
5239
52402006-10-31 03:21  gb
5241
5242        * lisp-kernel/lisp-exceptions.h: handle_protection_violation: pass
5243        the tcr.
5244
52452006-10-30 20:40  gb
5246
5247        * lib/defstruct.lisp: DEFSTRUCT-REF-TRANSFORM for typed vector
5248        expands into something more useful.
5249
52502006-10-30 20:39  gb
5251
5252        * lisp-kernel/ppc-spentry.s: Fix ppc32
5253        misc_ref_double_float_vector.
5254
52552006-10-30 00:24  gb
5256
5257        * level-0/l0-bignum64.lisp: Enable the destructive version of
5258        %BIGNUM-BIGNUM-GCD; conditionalize it for 64-bit targets and
5259        provide/fix supporting functions.  Seems to work on ppc64; needs
5260        testing on x8664.
5261
52622006-10-27 17:49  gb
5263
5264        * darwin-x86-headers64/libc/C/: .cvsignore, populate.sh: New file.
5265
52662006-10-25 20:36  gb
5267
5268        * level-1/l1-streams.lisp: %BIVALENT-IOBLOCK-READ-U8-BYTE (and
5269        variants): always clear the untyi-char.
5270       
5271        %ENCODED-IOBLOCK-PEEK-CHAR: the read-char-when-locked function
5272        needs an argument.
5273       
5274        SETUP-IOBLOCK-OUTPUT: there are no special output functions for
5275        bivalent streams.
5276       
5277        %IOBLOCK-BINARY-READ-VECTOR: clear any untyi char.
5278
52792006-10-24 12:35  gb
5280
5281        * level-1/version.lisp: Bump.
5282
52832006-10-24 01:29  gb
5284
5285        * lisp-kernel/x86-spentry64.s: Fix :ALLOW-OTHER-KEYS check in
5286        _SPdestbind1 (still used in inlining, sometimes.)
5287
52882006-10-24 01:05  gb
5289
5290        * release-notes.txt: Change the date, add/change some content.
5291
52922006-10-24 01:05  gb
5293
5294        * lib/macros.lisp: Reference the (bound) STREAM-VAR argument - not
5295        STREAM - in the expansion of WITH-OUTPUT-TO-STRING.
5296
52972006-10-24 00:56  gb
5298
5299        * lib/ccl-export-syms.lisp: Reference the (bound) STREAM-VAR
5300        argument - not STREAM - in the expansion of WITH-OUTPUT-TO-STRING.
5301
53022006-10-24 00:55  gb
5303
5304        * level-1/l1-streams.lisp: When recycling
5305        string-output-stream-ioblocks, set the IOBLOCK-CHARPOS to 0.
5306        (Failure to do this can screw up the pretty-printer, among other
5307        things.)
5308
53092006-10-24 00:52  gb
5310
5311        * level-1/l1-sockets.lisp: DEFAULT-CHARACTER-ENCODING for :SOCKET,
5312        *DEFAULT-SOCKET-CHARACTER-ENCODING*.
5313
53142006-10-23 17:03  gb
5315
5316        * release-notes.txt: Updated; almost ready to go (still a
5317        WITH-OUTPUT-TO-STRING/PPRINT (?) bug).
5318
53192006-10-23 16:43  gb
5320
5321        * level-1/l1-sysio.lisp: NORMALIZE-EXTERNAL-FORMAT: use
5322        *DEFAULT-EXTERNAL-FORMAT* value for :DEFAULT.
5323
53242006-10-23 16:42  gb
5325
5326        * level-1/l1-streams.lisp: Use NORMALIZE-EXTERNAL-FORMAT in (SETF
5327        STREAM-EXTERNAL-FORMAT) methods.
5328
53292006-10-23 16:41  gb
5330
5331        * lib/ccl-export-syms.lisp: Export some unicode/external-format
5332        stuff.
5333
53342006-10-23 08:27  gb
5335
5336        * level-1/version.lisp: Bump; binaries today, honest.
5337
53382006-10-23 08:27  gb
5339
5340        * level-1/l1-streams.lisp: freelist string-output-stream-ioblocks.
5341
53422006-10-23 08:26  gb
5343
5344        * lib/macros.lisp: Some/most/all of the WITH-IOBLOCK-OUTPUT-LOCKED
5345        macros were checking for the presence of an input lock ...
5346
53472006-10-23 05:40  gb
5348
5349        * level-1/l1-streams.lisp: Optimize write-string on string streams
5350        a little.
5351
53522006-10-23 05:26  gb
5353
5354        * lib/macros.lisp: WITH-OUTPUT-TO-STRING: don't expand into code
5355        which evaluates the string form twice; don't do whatever was being
5356        done to default the element type of the string stream.
5357
53582006-10-23 05:24  gb
5359
5360        * compiler/optimizers.lisp: MAKE-STRING-OUTPUT-STREAM: skip some
5361        keyword/subtype checking if element-type not provided.  (Could also
5362        skip it if it's explicit and obviously OK.)
5363
53642006-10-23 05:22  gb
5365
5366        * level-0/X86/x86-misc.lisp: %HEAP-BYTES-ALLOCATED: don't add
5367        "current" allocation if nothing's reserved.
5368
53692006-10-23 05:19  gb
5370
5371        * lisp-kernel/x86-exceptions.c: In handle_alloc_trap(), fix call to
5372        update_bytes_allocated (sign of "disp").
5373
53742006-10-22 08:02  gb
5375
5376        * compiler/PPC/ppc2.lisp: MULTIPLE-VALUE-PROG1: treat the first
5377        form like a PROGN if there are no other forms.
5378
53792006-10-22 08:01  gb
5380
5381        * level-1/l1-streams.lisp: Don't disable interrupts when calling
5382        ioblock functions.
5383       
5384        New string-stream implementation.  Better ...
5385
53862006-10-22 07:59  gb
5387
5388        * lib/macros.lisp: If WITH-OUTPUT-TO-STRING gets the string, do so
5389        before the stream closes.
5390
53912006-10-22 07:59  gb
5392
5393        * lib/pprint.lisp: Don't assume that string output stream strings
5394        have a fill-pointer; use STREAM-POSITION instead.
5395
53962006-10-22 07:57  gb
5397
5398        * lib/streams.lisp: Don't disable interrupts when calling ioblock
5399        functions, after all.
5400       
5401        Go through (new) ioblock-unread-char-function.
5402
54032006-10-22 07:55  gb
5404
5405        * lisp-kernel/darwinppc/.gdbinit: Stop trying to print strings via
5406        x/s
5407
54082006-10-21 18:46  gb
5409
5410        * level-1/l1-streams.lisp: Typo.
5411
54122006-10-21 18:41  gb
5413
5414        * lisp-kernel/x86-exceptions.c: Initialize (zero, usually) more
5415        fields in pseudo sigcontexts.
5416
54172006-10-21 18:40  gb
5418
5419        * level-1/l1-streams.lisp: Mostly locking changes (don't lock
5420        twice, etc.)
5421
54222006-10-21 18:35  gb
5423
5424        * level-0/l0-array.lisp, level-0/l0-init.lisp,
5425        level-0/l0-pred.lisp, level-0/l0-utils.lisp,
5426        level-0/PPC/ppc-array.lisp, level-0/PPC/ppc-symbol.lisp,
5427        level-0/X86/x86-symbol.lisp, level-1/l1-aprims.lisp,
5428        lib/sequences.lisp: Remove vestival #+target-8-bit-chars stuff.
5429
54302006-10-21 16:45  gb
5431
5432        * level-1/l1-unicode.lisp: New! Improved! Now with more iso-8859
5433        encodings!
5434
54352006-10-19 13:48  gb
5436
5437        * level-0/PPC/ppc-misc.lisp: Reference the source argument - not
5438        arg_z - in %safe-get-ptr.
5439
54402006-10-19 13:22  gb
5441
5442        * level-0/l0-aprims.lisp: %CSTR-POINTER: make #\Nul termination
5443        optional, use #\Sub char-code as replaement char.
5444
54452006-10-19 13:21  gb
5446
5447        * examples/objc-runtime.lisp: Missing close paren.
5448
54492006-10-19 13:19  gb
5450
5451        * examples/: cocoa-editor.lisp, cocoa-listener.lisp: Careful BLTing
5452        strings to/from foreign memory.
5453
54542006-10-19 13:18  gb
5455
5456        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Typos in UNBOX-S8.
5457
54582006-10-18 08:04  gb
5459
5460        * level-1/version.lisp: Bump.  Binaries later today ?
5461
54622006-10-18 07:38  gb
5463
5464        * level-1/l1-clos-boot.lisp: The post-bootstrapping version of
5465        (SETF FIND-CLASS) only introduces (or removes) a type name if the
5466        class becomes (or ceases to be) a properly named class.
5467       
5468        The pre-bootstrapping version handles simpler cases of that; use
5469        ALIAS-CLASS to register some early class names as type names.
5470
54712006-10-18 07:36  gb
5472
5473        * level-1/l1-clos.lisp: (SETF CLASS-NAME) can affect the type
5474        system, since only symbols which name properly-named classes are
5475        type specifiers.  Changing the name of a class can either introduce
5476        or remove a properly-named class.
5477       
5478        Classes that have the kernel-p attribute shouldn't have their names
5479        changed casually.
5480
54812006-10-18 07:33  gb
5482
5483        * level-1/l1-sockets.lisp: Accept an :EXTERNAL-FORMAT argument to
5484        MAKE-SOCKET, pass it down to whatever function actually creates a
5485        stream socket.
5486
54872006-10-18 02:12  gb
5488
5489        * compiler/X86/x862.lisp: Allow closed-over addresses in
5490        conditional-form, NOT.
5491
54922006-10-18 01:43  gb
5493
5494        * lisp-kernel/x86-exceptions.c: handle_fault() checks for
5495        safe_ref_addres.
5496
54972006-10-18 01:43  gb
5498
5499        * level-0/X86/x86-misc.lisp: %safe-get-ptr for x8664.
5500
55012006-10-18 01:41  gb
5502
5503        * compiler/X86/X8664/x8664-vinsns.lisp: Compare stack
5504        addresses/vcells to nil.
5505
55062006-10-18 01:41  gb
5507
5508        * compiler/X86/x862.lisp: Stuff for comparing memory (stack)
5509        addresses to NIL.
5510       
5511        Mark arg_z and rcx/nargs as being in use when restoring interrupt
5512        level inline.
5513
55142006-10-18 01:39  gb
5515
5516        * compiler/X86/x86-disassemble.lisp: We've had UUO-ERROR-UNBOUND
5517        for a few months now.  The disassembler is always the last to know.
5518
55192006-10-17 19:15  gb
5520
5521        * compiler/PPC/PPC32/ppc32-arch.lisp,
5522        compiler/PPC/PPC64/ppc64-arch.lisp,
5523        compiler/X86/X8664/x8664-arch.lisp, examples/objc-runtime.lisp,
5524        level-0/l0-misc.lisp, level-0/PPC/ppc-misc.lisp,
5525        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
5526        lisp-kernel/ppc-constants64.h, lisp-kernel/ppc-constants64.s,
5527        lisp-kernel/ppc-exceptions.c, lisp-kernel/x86-constants64.h,
5528        lisp-kernel/x86-constants64.s: add safe-ref-address to tcr.
5529       
5530        Handle memory faults to safe-ref-addres on PPC (so far).
5531       
5532        Try using SAFE-GET-PTR in objc runtime (untested).
5533
55342006-10-17 17:34  gb
5535
5536        * compiler/PPC/ppc2.lisp: ppc backend %aref1/%aset1: notice array
5537        type in acode.
5538
55392006-10-17 14:02  gb
5540
5541        * level-1/l1-unicode.lisp: BOM-ENCODING.
5542
55432006-10-17 14:02  gb
5544
5545        * level-1/l1-sysio.lisp: FILE-STRING-LENGTH actually does
5546        something.
5547       
5548        Clear the pending-bom flag when seeking.
5549
55502006-10-17 14:01  gb
5551
5552        * level-1/l1-streams.lisp: (SETF STREAM-EXTERNAL-FORMAT) for
5553        ioblock-based character streams.
5554
55552006-10-17 13:45  gb
5556
5557        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: bind/unbind
5558        *interrupt-level* inline.
5559
55602006-10-17 13:44  gb
5561
5562        * compiler/X86/x86-disassemble.lisp: Act like ud2a takes a one-byte
5563        immmediate operand (xuuo).
5564
55652006-10-17 13:39  gb
5566
5567        * level-1/l1-streams.lisp, lib/streams.lisp: Disable interrupts
5568        when necessary.
5569
55702006-10-17 13:39  gb
5571
5572        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
5573        PPC64/ppc64-vinsns.lisp: bind/unbind *interrupt-level* inline.
5574
55752006-10-15 17:51  gb
5576
5577        * level-1/l1-streams.lisp: Handle 32-bit character encodings.
5578       
5579        Start to extend STREAM-EXTERNAL-FORMAT, start to make it SETFable.
5580
55812006-10-15 17:51  gb
5582
5583        * level-1/l1-unicode.lisp: utf-32/ucs-4 and variants.
5584
55852006-10-15 17:50  gb
5586
5587        * level-1/l1-sysio.lisp: EXTERNAL-FORMATs are immutable, interned.
5588
55892006-10-14 07:41  gb
5590
5591        * compiler/PPC/ppc2.lisp: Fix use of ^,<- vinsn macros inside
5592        ENSURING-NODE-TARGET.
5593       
5594        Inline the fixnum case of two-arg numeric comparisons.
5595
55962006-10-14 07:39  gb
5597
5598        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
5599        INLINE-SUB2 support.
5600
56012006-10-14 06:30  gb
5602
5603        * lib/defstruct.lisp: Don't (DECLARE (OPTIMIZE (SAFETY 3))) in
5604        generated DEFSTRUCT accessors.
5605
56062006-10-14 06:27  gb
5607
5608        * compiler/X86/x862.lisp: Fix many cases of ENSURING-NODE-TARGET.
5609       
5610        Do the fixnum case of two-argument subtraction inline.
5611       
5612        Inline the fixnum case of two-argument numeric comparisons.
5613       
5614        STRUCT-REF avoids typechecking when reckless.
5615
56162006-10-14 06:21  gb
5617
5618        * compiler/backend.lisp: It makes no sense to use the vinsn macros
5619        <- and ^ inside ENSURING-NODE-TARGET, so make it check for that.
5620
56212006-10-14 06:20  gb
5622
5623        * compiler/X86/X8664/x8664-vinsns.lisp: Do vector bounds-checking a
5624        little differently.
5625       
5626        Add xchg-registers.
5627
56282006-10-13 04:54  gb
5629
5630        * compiler/nx1.lisp: Use new NUMCMP operator.
5631
56322006-10-13 04:53  gb
5633
5634        * compiler/nx0.lisp: Change inline expansion: use optimize settings
5635        in effect at call time, not those in effect at definition time.
5636
56372006-10-13 04:50  gb
5638
5639        * level-0/l0-numbers.lisp: Change >=-2, <=-2, /=-2 to avoid
5640        inlining issues.
5641
56422006-10-13 04:30  gb
5643
5644        * compiler/nxenv.lisp: Replace unused num= with numcmp.
5645
56462006-10-12 19:46  gb
5647
5648        * lisp-kernel/pmcl-kernel.c: Terminate argument processing when
5649        "--" is seen.
5650
56512006-10-12 19:45  gb
5652
5653        * level-1/: l1-streams.lisp, l1-sysio.lisp, l1-unicode.lisp: Handle
5654        newline translation differenly (at the character I/O level, not the
5655        buffer level).
5656       
5657        All character encoding/decoding functions operate on octets, not
5658        necessarily code units.  (The stream encode/decode functions are an
5659        exception; serialization and byte ordering are handled by the
5660        stream.)
5661
56622006-10-09 16:34  gb
5663
5664        * level-1/l1-streams.lisp: Write  #\Sub's char-code if we can't
5665        encode a character in (implicit) iso-8859-1.
5666
56672006-10-09 16:33  gb
5668
5669        * level-0/l0-misc.lisp: %COPY-STRING-TO-U8: use #\Sub (ascii 26) as
5670        a replacement character.
5671
56722006-10-09 16:31  gb
5673
5674        * level-1/l1-unicode.lisp: :stream-encode/decode functions always
5675        write/read something, even if it's a replacement character of some
5676        sort.
5677
56782006-10-09 15:19  gb
5679
5680        * level-1/l1-streams.lisp: More stuff about line termination.  When
5681        will this end ?
5682
56832006-10-09 15:19  gb
5684
5685        * lib/chars.lisp: Use a hashtable to map characters to their names.
5686         (Maybe a sparse vector ?).
5687
56882006-10-09 15:18  gb
5689
5690        * level-1/l1-reader.lisp: Use a hashtable to map characters to
5691        their names.  (Maybe a sparse vector ?).
5692       
5693        Define #\Sub and #\Replacement_Character.
5694
56952006-10-08 21:17  gb
5696
5697        * level-1/l1-readloop-lds.lisp: SELECT-BACKTRACE: it's been all
5698        NEW-BACKTRACE for a while now.
5699
57002006-10-08 21:16  gb
5701
5702        * lisp-kernel/lisptypes.h: Need to #include <sys/signal.h> to keep
5703        Panther happy.
5704
57052006-10-08 20:30  gb
5706
5707        * lisp-kernel/x86_print.c: Print hex with leading #x, not #0x ...
5708
57092006-10-08 20:30  gb
5710
5711        * lib/dumplisp.lisp: Do some sanity checks on SAVE-APPLICATION
5712        pathname, before it's too late ...
5713
57142006-10-08 20:29  gb
5715
5716        * level-1/l1-unicode.lisp: ASCII, some other changes.
5717
57182006-10-08 20:29  gb
5719
5720        * level-1/l1-sysio.lisp: Rearrange a few things; pass
5721        :line-termination option to MAKE-FD-STREAM.
5722
57232006-10-08 20:28  gb
5724
5725        * level-1/l1-streams.lisp: Yet another line-termination translation
5726        scheme; hopefully, the last for a while. (More tedium before it's
5727        actually installed.)
5728
57292006-10-08 20:27  gb
5730
5731        * level-1/l1-reader.lisp: Add character names for #\Line_Separator,
5732        #\Paragraph_separator.
5733
57342006-10-07 20:35  gb
5735
5736        * level-1/l1-init.lisp: *TERMINAL-CHARACTER-ENCODING-NAME*.
5737
57382006-10-07 20:34  gb
5739
5740        * level-1/l1-error-signal.lisp: In %ERROR, go straight to the
5741        kernel debugger if interactive streams aren't initialized yet.
5742        (We'd probably get there sooner or later in that case; try to get
5743        there sooner.)
5744
57452006-10-07 20:33  gb
5746
5747        * level-1/l1-boot-2.lisp: Don't initialize interactive streams via
5748        DEF-LOAD-POINTERS.  Wrap that up in a function, and set a flag when
5749        the function's called (from APPLICATION's TOPLEVEL-FUNCTION
5750        method.)
5751
57522006-10-07 20:32  gb
5753
5754        * level-1/l1-application.lisp: Handle the (new)
5755        -K/--terminal-encoding command-line argument.
5756
57572006-10-07 11:14  gb
5758
5759        * level-1/l1-streams.lisp: INPUT-STREAM-P, OUTPUT-STREAM-P are true
5760        of instances if INPUT-STREAM/ OUTPUT-STREAM, respectively (not just
5761        instances of FUNDAMENTAL-INPUT/OUTPUT-STREAM).
5762
57632006-10-07 11:13  gb
5764
5765        * lisp-kernel/lisp-debug.c: Do abort() if kernel debugger is
5766        entered when --batch is in effect.
5767
57682006-10-07 11:12  gb
5769
5770        * level-1/l1-readloop.lisp: QUIT: flush *STDOUT* in
5771        PROCESS-EXIT-APPLICATION.
5772
57732006-10-07 11:11  gb
5774
5775        * level-1/l1-processes.lisp: PROCESS-EXIT-APPLICATION: flush
5776        *stdout* here.
5777
57782006-10-06 04:49  gb
5779
5780        * level-1/l1-streams.lisp: CODE-UNIT, not CODE-ELEMENT.  Add a
5781        TRANSLATE slot to IO-BUFFER.
5782
57832006-10-06 04:40  gb
5784
5785        * level-1/l1-sockets.lisp: basic (vs fundamental) socket streams.
5786
57872006-10-06 04:39  gb
5788
5789        * level-1/l1-sysio.lisp: Real, live EXTERNAL-FORMAT structures.
5790
57912006-10-06 04:38  gb
5792
5793        * level-1/version.lisp: Bump.
5794
57952006-10-06 04:38  gb
5796
5797        * level-0/l0-misc.lisp: %COPY-STRING-TO-U8: use #\? as a
5798        replacement character.
5799
58002006-10-05 14:46  gb
5801
5802        * lisp-kernel/lisptypes.h: More register name aliases.  FMH.
5803
58042006-10-05 14:46  gb
5805
5806        * lisp-kernel/x86-asmutils64.s: get_mxcsr, set_mxcsr.
5807
58082006-10-05 14:46  gb
5809
5810        * lisp-kernel/x86-exceptions.c: Save the mxcsr, load it with a
5811        C-like value (all exceptions masked) before doing a callback.  (Not
5812        doing this meant that tcr.foreign_mxcsr was often set to a "lispy"
5813        value, where most exceptions were unmasked, and this caused FP
5814        exceptions when calling out to foreign code with the "lispy"
5815        tcr.foreign_mxcsr in effect.)
5816       
5817        Mach exception stuff arranges to return via sigreturn.  Didn't fix
5818        the spurious SIGTRAPs, but might be the right idea (and might save
5819        a context switch or two.)
5820       
5821        Mach exception stuff initializes rflags to exception rflags when
5822        arranging to resume thread at handler.  Leaving them uninitialized
5823        was causing spurious SIGTRAPs, since the trace bit(s) may have been
5824        set.
5825
58262006-10-05 06:09  gb
5827
5828        * lib/macros.lisp: WITH-ENCODED-CSTR(s).  (Hey, it's a start.)
5829
58302006-10-05 06:09  gb
5831
5832        * lib/chars.lisp: CHAR-NAME: try to use at least 4 hex digits for
5833        #\U+xxxx syntax.
5834
58352006-10-05 06:08  gb
5836
5837        * level-1/l1-unicode.lisp: UCS-2, some other changes.
5838
58392006-10-05 06:07  gb
5840
5841        * level-1/l1-sysio.lisp: Try to get
5842        line-termination/external-format stuff working.
5843
58442006-10-05 05:35  gb
5845
5846        * level-1/l1-streams.lisp: Assume that character data is always
5847        encoded as one or more 8-bit octets.
5848
58492006-10-05 04:59  gb
5850
5851        * level-1/l1-boot-2.lisp: Set class-prototypes for basic-streams
5852        just before we make the first one.
5853
58542006-10-02 08:13  gb
5855
5856        * lisp-kernel/x86-exceptions.h: Darwin uses _sigtramp glue to call
5857        handlers, so we need to make handlers do a sigreturn after
5858        switching off the signal stack, etc.
5859
58602006-10-02 08:11  gb
5861
5862        * lisp-kernel/x86-exceptions.c: Don't use SIGRETURN to return from
5863        signal_handler() on Darwin (since we depend on pseudo_sigreturn
5864        handling for cleanup of tcr pending exception and since we can't
5865        easily restore the signal mask.)
5866       
5867        (Up until this point, SIGRETURN has been a nop on Darwin.)
5868
58692006-10-02 04:59  gb
5870
5871        * lisp-kernel/lisptypes.h: Compile on ppc,ppc64 osx 10.4 and
5872        earlier.
5873
58742006-10-02 04:47  gb
5875
5876        * lisp-kernel/: lisptypes.h, ppc-exceptions.c, ppc-exceptions.h:
5877        Compile on post OSX 10.4 systems, for ppc/ppc64.  (Broken on
5878        systems <= 10.4).
5879
58802006-10-02 02:46  gb
5881
5882        * lisp-kernel/: lisptypes.h, x86-exceptions.c, x86-exceptions.h:
5883        Try to make x86-64 version compile under 10.4 again; see if this
5884        breaks post-10.4 compilation.
5885
58862006-10-02 02:33  gb
5887
5888        * lisp-kernel/: lisptypes.h, pmcl-kernel.c, x86-exceptions.c,
5889        x86-exceptions.h: Change things so that they compile for x86-64 on
5890        systems later than 10.4.  Almost certainly break 10.4 compilation
5891        in the process.  (Thanks, Apple!  Any time I can cause you to waste
5892        hours on crap like this, just let me know!)
5893
58942006-09-27 20:33  gb
5895
5896        * lib/misc.lisp: DOCUMENTATION works on character-encodings.
5897
58982006-09-27 20:33  gb
5899
5900        * level-1/l1-unicode.lisp: Character-encodings have doc strings.
5901
59022006-09-27 05:46  gb
5903
5904        * level-1/l1-sysio.lisp: More FILE-STREAM changes.  Give
5905        BASIC-STREAM classes a class prototype.
5906
59072006-09-27 05:45  gb
5908
5909        * level-1/l1-streams.lisp: Some changes to FD-STREAM
5910        initialization, to make it easier to use MAKE-FD-STREAM to open
5911        (seekable) FILE-STREAMs.
5912
59132006-09-27 05:41  gb
5914
5915        * lisp-kernel/: x86-exceptions.c, x86-exceptions.h: Decode and
5916        handle UUO_ERROR_DEBUG_TRAP_WITH_STRING.
5917
59182006-09-27 05:39  gb
5919
5920        * lisp-kernel/x86-spentry64.s: Still get very occasional SIGFPE on
5921        return from (e.g.) #_asin on x86-64 Darwin.  (#_asin often does a
5922        division-by-zero, but that should be masked when in foreign code.)
5923        Don't reload the lisp mxcsr until other registers have been popped,
5924        to make debugging easier in case it's the act of reloading the
5925        mxcsr that causes the spurious trap.)
5926
59272006-09-27 05:36  gb
5928
5929        * level-0/X86/x86-misc.lisp: DEBUG-TRAP-WITH-STRING.
5930
59312006-09-27 05:35  gb
5932
5933        * level-0/nfasload.lisp: Not sure when it happened, but %FASLOAD
5934        was parenthesized in such a way as to not return the error value on
5935        error.
5936
59372006-09-27 05:34  gb
5938
5939        * level-0/l0-misc.lisp: On x8664, use a new UUO for BUG.  (Not
5940        passing context into the kernel makes it too difficult to debug/get
5941        backtrace, etc.)
5942
59432006-09-27 05:33  gb
5944
5945        * compiler/X86/: x86-asm.lisp, x86-disassemble.lisp:
5946        UUO-ERROR-DEBUG-TRAP-WITH-STRING.
5947
59482006-09-27 05:05  gb
5949
5950        * level-1/l1-clos-boot.lisp: CLASS-PROTOTYPE method for CLASS class
5951        (mostly for BUILT-IN-CLASSes).
5952
59532006-09-26 20:49  gb
5954
5955        * level-1/l1-sysio.lisp: SELECT-STREAM-CLASS: should probably take
5956        a BASIC-P argument.
5957
59582006-09-26 20:47  gb
5959
5960        * level-1/l1-streams.lisp: More changes.  Imagine that.
5961
59622006-09-26 20:46  gb
5963
5964        * compiler/: X86/X8664/x8664-vinsns.lisp, X86/x862.lisp,
5965        optimizers.lisp: (Redundant) FIXNUM decls in LDB compiler macro.
5966
59672006-09-26 20:43  gb
5968
5969        * level-1/l1-unicode.lisp: Memory/vector encode/decode functions
5970        take/return strings, not chars.
5971       
5972        Some bom stuff.
5973
59742006-09-24 20:14  gb
5975
5976        * lib/chars.lisp: Check for assumptions about character size.
5977        Remove some %i-isms (fixnum arithmetic), make assertions about type
5978        of char-code.
5979
59802006-09-24 20:12  gb
5981
5982        * level-1/l1-aprims.lisp: Remove unused (probably ancient)
5983        CHKBOUNDS function.  Simpler STRING-START-END.
5984
59852006-09-24 20:11  gb
5986
5987        * level-1/l1-streams.lisp: Some stuff to infer line-termination.
5988        Probably belongs elsewhere; some encodings may not make it at all
5989        possible.
5990
59912006-09-24 20:07  gb
5992
5993        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
5994        Load-character-constant: accept :u32const on PPC32, PPC64, too.
5995
59962006-09-24 20:00  gb
5997
5998        * level-1/l1-streams.lisp: A little more u16 stuff.  Remove
5999        line-termination slot from ioblock and corresponding arg from
6000        functions which initialize it.
6001
60022006-09-24 19:59  gb
6003
6004        * level-1/l1-sysio.lisp: Input-filter, output-filter in
6005        file-ioblock.
6006
60072006-09-24 19:58  gb
6008
6009        * level-1/l1-unicode.lisp: Buffer translation functions don't
6010        belong here; start thinking about BOM.
6011
60122006-09-24 19:57  gb
6013
6014        * compiler/X86/X8664/x8664-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
6015        it's been a :u32const for the last few weeks ...
6016
60172006-09-24 04:29  gb
6018
6019        * lib/chars.lisp: CHAR-NAME looks in the *CHARACTER-NAMES* array if
6020        the code is within its bounds.
6021
60222006-09-24 04:27  gb
6023
6024        * level-1/l1-reader.lisp: Lots more character names.  Maintain
6025        mappings in a vector and a hash table, rather than in an alist.
6026
60272006-09-24 04:26  gb
6028
6029        * level-0/nfasload.lisp, xdump/xfasload.lisp, lib/nfcomp.lisp: Doh!
6030        character constant fasl encoding ($fasl-char).
6031
60322006-09-23 05:31  gb
6033
6034        * level-1/l1-unicode.lisp: Some other iso8859-n encodings.  (Not
6035        sure which are the most important.)
6036
60372006-09-23 05:29  gb
6038
6039        * level-1/l1-sysio.lisp: Start to separate
6040        line-termination/external-format stuff.
6041
60422006-09-23 05:28  gb
6043
6044        * level-1/l1-streams.lisp: Lots-o-changes.
6045
60462006-09-23 05:28  gb
6047
6048        * level-1/l1-boot-2.lisp: Make initial interactive streams use
6049        UTF-8 (mostly for debugging utf-8 ...)
6050
60512006-09-21 04:07  gb
6052
6053        * lisp-kernel/x86-spentry64.s: don't clobber callback index when
6054        doing the DARWIN_GS_HACK stuff in _SPcallback (syscall sometimes
6055        clobbered r11, sometimes didn't.)
6056
60572006-09-21 04:05  gb
6058
6059        * lisp-kernel/pmcl-kernel.c: Require mach/port.h.
6060
60612006-09-21 04:05  gb
6062
6063        * lisp-kernel/x86-exceptions.c: Save and restore errno in
6064        callback_for_interrupt.
6065
60662006-09-21 04:04  gb
6067
6068        * lisp-kernel/lisptypes.h: Guess again about preprocessor stuff for
6069        x86-64 ucontext/mcontext on Darwin.
6070
60712006-09-21 04:02  gb
6072
6073        * level-1/l1-lisp-threads.lisp: Use underscore prefix on all Darwin
6074        flavors.
6075       
6076        Add a type decl in %nanosleep.
6077
60782006-09-21 04:01  gb
6079
6080        * compiler/X86/X8664/x8664-vinsns.lisp: sign-extend/zero-extend
6081        vinsns.
6082
60832006-09-21 04:01  gb
6084
6085        * compiler/X86/x862.lisp: sign/zero-extend ffcall, syscall return
6086        values.  (Probably only matters in a few cases, like the Darwin
6087        x86-64 version of #_nanosleep, which returns a non-sign-extended
6088        "int" value if the sleep is interruted.)
6089
60902006-09-20 06:34  gb
6091
6092        * level-1/version.lisp: Bump.
6093
60942006-09-20 04:24  gb
6095
6096        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6097        slight improvements in signed-byte boxing, typechecking.
6098
60992006-09-20 04:22  gb
6100
6101        * lib/streams.lisp: WRITE-BYTE for BASIC-STREAMs.
6102
61032006-09-20 04:21  gb
6104
6105        * lib/macros.lisp: %SWAP-U16, %SWAP-U32.
6106
61072006-09-20 04:21  gb
6108
6109        * lib/level-2.lisp: %EVAL-REDEFs for new require-xx functions.
6110
61112006-09-20 04:20  gb
6112
6113        * level-1/l1-unicode.lisp: UTF-16, in native and byte-swapped
6114        versions.  Need a "logical" UTF-16, which deals with byte-order
6115        marks and a means of installing a concrete encoding.  Needs
6116        testing.
6117
61182006-09-20 04:15  gb
6119
6120        * level-1/l1-streams.lisp: Numerous changes.
6121
61222006-09-20 04:15  gb
6123
6124        * level-1/l1-sockets.lisp: %bswap16: fix type declaration.
6125
61262006-09-20 04:14  gb
6127
6128        * compiler/X86/X8664/x8664-vinsns.lisp: vinsns for signed/unsigned
6129        byte 8,16,32,64.  Tighten up some signed-byte boxing.
6130
61312006-09-20 04:12  gb
6132
6133        * compiler/X86/x862.lisp: New require ops for signed/unsigned byte
6134        8,16,32,64
6135
61362006-09-19 01:38  gb
6137
6138        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6139        vinsns for REQUIRE-[US][8,16,32,64]
6140
61412006-09-19 01:37  gb
6142
6143        * compiler/PPC/PPC32/ppc32-arch.lisp: Need
6144        THREE-DIGIT-BIGNUM-HEADER to recognize some cases of (UNSIGNED-BYTE
6145        64).
6146
61472006-09-19 01:36  gb
6148
6149        * compiler/PPC/ppc-backend.lisp: clean up an error message.
6150
61512006-09-19 01:36  gb
6152
6153        * compiler/PPC/ppc2.lisp: handle require-[us][8,16,32,64]
6154        operators.
6155
61562006-09-19 01:34  gb
6157
6158        * compiler/optimizers.lisp: REQUIRE-TYPE: transform into
6159        require-[us][8,16,32,64] when possible.
6160
61612006-09-19 01:34  gb
6162
6163        * compiler/nx1.lisp: inline require-[us][8,16,32,64].
6164
61652006-09-19 01:33  gb
6166
6167        * compiler/nxenv.lisp: New operators for require-[us][8,16,32,64].
6168
61692006-09-19 01:15  gb
6170
6171        * compiler/X86/X8664/x8664-vinsns.lisp: x8664 vinsns for
6172        typechecking signed/unsigned bytes of sizes 8,16,32,64.
6173
61742006-09-19 00:36  gb
6175
6176        * level-1/l1-streams.lisp: More changes; hard to bootstrap.
6177
61782006-09-18 21:42  gb
6179
6180        * lib/macros.lisp: Macros for locking the input/output locks of an
6181        ioblock, assuming that it exists.
6182
61832006-09-17 00:45  gb
6184
6185        * level-1/l1-streams.lisp: more changes
6186
61872006-09-13 06:52  gb
6188
6189        * level-1/l1-io.lisp: Direct BASIC-STREAM stuff for WRITE-CHAR,
6190        WRITE-STRING, TERPRI.
6191
61922006-09-13 06:08  gb
6193
6194        * lib/streams.lisp: READ-LINE changes for BASIC-STREAMs.
6195
61962006-09-13 06:07  gb
6197
6198        * level-1/l1-unicode.lisp: GET-CHARACTER-ENCODING errors if the
6199        named encoding isn't defined.
6200       
6201        Terse PRINT-OBJECT method for CHARACTER-ENCODING.
6202
62032006-09-13 06:06  gb
6204
6205        * level-1/l1-streams.lisp: More functions in the ioblock, some
6206        support for 8-bit encodings (like utf-8).  Not finished, but
6207        getting hard to bootstrap; need to check in and build on all
6208        platforms before it gets even harder.
6209
62102006-09-12 05:34  gb
6211
6212        * level-0/l0-misc.lisp: Use %CSTR-POINTER (not
6213        %copy-ivector-to-pointer) in BUG.
6214
62152006-09-12 05:31  gb
6216
6217        * lisp-kernel/x86-exceptions.c: Enter the debugger if
6218        altstack_signal_handler is entered in foreign code.  (Maybe want to
6219        signal a lisp error in some cases, but this is currently fatal and
6220        we might as well die earlier than with a stack overflow.)
6221
62222006-09-12 05:29  gb
6223
6224        * lisp-kernel/thread_manager.c: os_get_stack_bounds(): get stack
6225        direction right on FreeBSD.  (Much better than randomly scribbling
6226        on memory in the GC, as the FreeBSD port has been doing for months
6227        now ...)
6228
62292006-09-11 21:31  gb
6230
6231        * compiler/X86/x862.lisp: x862-explicit-non-fixnum-type-p looks for
6232        intersection.
6233
62342006-09-11 21:21  gb
6235
6236        * compiler/X86/x862.lisp: Partly inline 2-arg logior, logand.
6237
62382006-09-11 20:10  gb
6239
6240        * level-1/l1-unicode.lisp: Character encodings contain a
6241        LITERAL-CHAR-CODE-LIMIT field.
6242
62432006-09-11 20:09  gb
6244
6245        * level-1/l1-streams.lisp: extend IOBLOCK a bit.  Start to provide
6246        functionality for encoded streams.
6247
62482006-09-11 20:08  gb
6249
6250        * compiler/PPC/ppc2.lisp: Partialy inline 2-arg logior/logand.
6251
62522006-09-09 04:39  gb
6253
6254        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6255        REQUIRE-CHAR-CODE: compare against boxed char-code-limit.
6256
62572006-09-09 04:21  gb
6258
6259        * level-1/l1-reader.lisp: NAME-CHAR: insist on something more
6260        reasonable for ^c syntax; don't do MOD for octal.
6261
62622006-09-09 04:21  gb
6263
6264        * compiler/X86/X8664/x8664-vinsns.lisp: require-char-code checks
6265        agains boxed Unicode limit
6266
62672006-09-09 03:56  gb
6268
6269        * lisp-kernel/x86-gc.c: purify_range(), impurify_range(): handle
6270        x8664 functions, hash tables.  (PPC versions should handle hash
6271        table key movement.)
6272
62732006-09-08 22:47  gb
6274
6275        * lib/chars.lisp: CHAR-NAME: use U+xxxx for chars with codes >=
6276        #x100.
6277
62782006-09-08 22:38  gb
6279
6280        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6281        FIXNUM->CHAR: return NIL for surrogate pairs.
6282
62832006-09-08 22:33  gb
6284
6285        * compiler/PPC/ppc2.lisp: Don't be overly unsafe in %CHAR-CODE.
6286
62872006-09-08 22:31  gb
6288
6289        * lib/ppc-backtrace.lisp: Fix CFP-LFUN (fake stack frame case,
6290        sanity-check fn/lr).
6291
62922006-09-08 18:55  gb
6293
6294        * compiler/X86/x862.lisp: Don't be so reckless in %CODE-CHAR (don't
6295        necessarily want arbitrary expressions to be compiled unsafely; do
6296        want to avoid a little type-checking sometimes.)
6297
62982006-09-08 18:52  gb
6299
6300        * compiler/X86/X8664/x8664-vinsns.lisp: FIXNUM->CHAR returns NIL
6301        for values in the surrogate-pairs range.  (There are other things
6302        that it could plausibly return NIL for.)
6303
63042006-09-08 18:51  gb
6305
6306        * lisp-kernel/x86-gc.c: Start to get purify working on x86-64; for
6307        now, just purify strings.
6308
63092006-09-08 18:48  gb
6310
6311        * lib/macros.lisp: %CODE-CHAR asserts that code is (UNSIGNED-BYTE
6312        8), which is still useful (and exactly what it used to do.)
6313
63142006-09-08 18:47  gb
6315
6316        * lib/: compile-ccl.lisp, systems.lisp: Add l1-unicode.
6317
63182006-09-08 18:44  gb
6319
6320        * level-1/level-1.lisp: Load l1-unicode.
6321
63222006-09-08 18:44  gb
6323
6324        * level-1/l1-unicode.lisp: New file.
6325
63262006-09-07 03:50  gb
6327
6328        * lisp-kernel/area.h: Larger PURESPACE_RESERVE for x8664.
6329
63302006-09-07 03:44  gb
6331
6332        * xdump/: heap-image.lisp, xfasload.lisp, xppcfasload.lisp,
6333        xx8664-fasload.lisp: Bump abi version.  Make purespace-reserve an
6334        attribute of the backend (may need more pure space on x86-64.)
6335
63362006-09-07 03:43  gb
6337
6338        * lisp-kernel/image.h: Bump abi version.
6339
63402006-09-07 03:43  gb
6341
6342        * level-1/version.lisp: Bump.
6343
63442006-09-07 02:58  gb
6345
6346        * lisp-kernel/x86-exceptions.c: FreeBSD (at least with libthr)
6347        seems to mask synchronous signals.  Unmask them in signal handlers.
6348
63492006-09-07 02:57  gb
6350
6351        * lisp-kernel/thread_manager.c: suspend_resume_handler() : ignore
6352        signal mask.
6353
63542006-09-07 02:56  gb
6355
6356        * lisp-kernel/: lisptypes.h, ppc-constants32.h, ppc-constants32.s,
6357        ppc-constants64.h, ppc-constants64.s, ppc-gc.c, x86-constants64.h,
6358        x86-constants64.s: Lose the CHAR_SIZE_32 bootstrapping conditional
6359        (char are 32 bits wide on all platforms now.)
6360
63612006-09-07 00:40  gb
6362
6363        * lisp-kernel/x86-exceptions.c: SIGBUS might be
6364        SIGNUM_FOR_PROCESS_INTERRUPT.
6365
63662006-09-07 00:12  gb
6367
6368        * lisp-kernel/x86-spentry64.s: _SPbuiltin_aref1: use
6369        box_fixnum_no_flags.
6370
63712006-09-07 00:12  gb
6372
6373        * lisp-kernel/x86-macros.s: Define box_fixnum_no_flags (uses lea
6374        vice imul).
6375
63762006-09-06 21:18  gb
6377
6378        * compiler/X86/X8664/x8664-arch.lisp: Need
6379        MIN/MAX-8-BIT-IVECTOR-SUBTAG.
6380
63812006-09-06 18:37  gb
6382
6383        * lisp-kernel/x86-spentry64.s: misc_ref/misc_set: handle 32-bit
6384        strings.
6385
63862006-09-06 18:36  gb
6387
6388        * lisp-kernel/x86-macros.s: Zero-extend early when extracting
6389        typecodes.
6390
63912006-09-06 18:36  gb
6392
6393        * level-1/l1-streams.lisp: GET-OUTPUT-STREAM-STRING: use
6394        ENSURE-SIMPLE-STRING rather than horrible COERCE nonsense.
6395
63962006-09-06 18:35  gb
6397
6398        * level-1/l1-aprims.lisp: x8664 *immheader-1-array-element-types*
6399        contains entry for 32-bit BASE-CHAR.
6400
64012006-09-06 18:35  gb
6402
6403        * compiler/X86/X8664/x8664-vinsns.lisp: zero-extend early when
6404        extracting typecodes.
6405
64062006-09-06 18:34  gb
6407
6408        * compiler/X86/X8664/: x8664-arch.lisp, x8664-backend.lisp:
6409        32-bit-chars.
6410
64112006-09-06 18:33  gb
6412
6413        * compiler/X86/: x86-backend.lisp, x862.lisp: Defer handling of the
6414        :rcontext pseudo-register name until the target backend is in
6415        place.
6416
64172006-09-06 16:39  gb
6418
6419        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: 32-bit chars
6420        stuff for x8664.
6421
64222006-09-06 16:39  gb
6423
6424        * level-1/l1-reader.lisp: kids: bourbon and editing COPY-READTABLE
6425        don't mix!
6426
64272006-09-06 16:38  gb
6428
6429        * lib/compile-ccl.lisp: :verbose argument to rebuild-ccl.
6430
64312006-09-06 16:38  gb
6432
6433        * level-1/linux-files.lisp: process input/output: don't assume
6434        8-bit strings.
6435
64362006-09-06 14:42  gb
6437
6438        * compiler/PPC/PPC64/ppc64-backend.lisp: PPC64 callbacks are always
6439        #+poweropen-target; don't conditionalize the fp-arg-ptr argument
6440        (since that creates confustion when cross-compiling from a
6441        non-poweropen host.)
6442
64432006-09-06 00:08  gb
6444
6445        * compiler/PPC/PPC64/: ppc64-arch.lisp, ppc64-backend.lisp: remove
6446        8-bit char stuff.
6447
64482006-09-06 00:08  gb
6449
6450        * compiler/X86/X8664/x8664-arch.lisp: Forgot to set char-code-limit
6451        here.
6452
64532006-09-05 22:49  gb
6454
6455        * lib/macros.lisp: In DO-GC-AREAS, don't use comma before call to
6456        AREA-SUCC.  (Cross-compilation/ word-size issue.)
6457
64582006-09-05 22:42  gb
6459
6460        * level-0/l0-utils.lisp: If ENSURE-SIMPLE-STRING has to make a copy
6461        of a non-simple string, understand char width issues.
6462
64632006-09-05 22:41  gb
6464
6465        * level-0/nfasload.lisp: Some fixnum decls in %FIND-PKG.
6466
64672006-09-05 22:40  gb
6468
6469        * level-1/l1-aprims.lisp: ppc64 ARRAY-ELEMENT-SUBTYPES includes new
6470        string type.
6471
64722006-09-05 22:39  gb
6473
6474        * level-0/PPC/ppc-array.lisp: cr3, nor c33, in ppc64 %init-misc.
6475
64762006-09-05 22:38  gb
6477
6478        * compiler/nx0.lisp: NX-FORM-TYPEP uses NX-TARGET-TYPE.
6479
64802006-09-05 09:13  gb
6481
6482        * compiler/PPC/PPC32/ppc32-backend.lisp: darwinppc32 backend uses
6483        32-bit chars, too.
6484
64852006-09-05 09:01  gb
6486
6487        * compiler/PPC/PPC32/: ppc32-arch.lisp, ppc32-backend.lisp: ppc32
6488        defaults to 32-bit chars.
6489
64902006-09-05 05:18  gb
6491
6492        * xdump/xfasload.lisp: Deal with 32-bit lisp strings.
6493
64942006-09-05 05:18  gb
6495
6496        * lisp-kernel/linuxppc/.gdbinit: Start to depend on calling
6497        print_lisp_object, since x/s doesn't deal with 32-bit lisp strings.
6498
64992006-09-05 05:17  gb
6500
6501        * lisp-kernel/ppc-gc.c: conditionalize purify_displaced_object()
6502        for char size.
6503
65042006-09-05 05:16  gb
6505
6506        * lisp-kernel/plsym.c: find_symbol(): don't assume 8-bir lisp
6507        strings.
6508
65092006-09-05 05:15  gb
6510
6511        * lisp-kernel/lisptypes.h: Try using "u8_t" and "u32_t" for
6512        lisp_char_code; this may be more portable.
6513
65142006-09-05 05:14  gb
6515
6516        * lib/sequences.lisp: SIMPLE-1D-ARRAY-SUBSEQ: handle new strings.
6517
65182006-09-05 05:13  gb
6519
6520        * level-1/linux-files.lisp: CALL-WITH-STRING-VECTOR: don't assume
6521        8-bit char/strings.
6522
65232006-09-05 05:13  gb
6524
6525        * level-1/l1-streams.lisp: Use heap-ivectors of element-type
6526        (UNSIGNED-BYTE 8) for character streams.  (Should really depend on
6527        the coding system in use.)
6528
65292006-09-05 05:09  gb
6530
6531        * level-1/l1-aprims.lisp: Various archaic string functions: don't
6532        assume 8-bit strings.
6533
65342006-09-05 05:08  gb
6535
6536        * level-0/l0-array.lisp: Handle 32-bit strings in %UVECTOR-REPLACE.
6537
65382006-09-05 05:07  gb
6539
6540        * compiler/PPC/PPC64/ppc64-arch.lisp: No "x" in simple-base-string,
6541        when #-target-8-bit-chars.
6542
65432006-09-05 05:06  gb
6544
6545        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6546        REQUIRE-CHAR-CODE: comparison of OBJECT with TAG is not a CMPI.
6547
65482006-09-05 05:05  gb
6549
6550        * compiler/PPC/ppc2.lisp: PPC2-VREF: handle the 32-bit
6551        :SIMPLE-STRING case with constant index.
6552
65532006-09-04 17:44  gb
6554
6555        * lisp-kernel/lisptypes.h: Linux doesn't define uint8_t.  Try
6556        "unsigned char", and cross fingers.
6557
65582006-09-04 17:38  gb
6559
6560        * lisp-kernel/: lisptypes.h, ppc_print.c, x86_print.c: Define
6561        lisp_char_code type, use it when printing lisp string in the kernel
6562        debugger.
6563
65642006-09-04 17:28  gb
6565
6566        * level-1/version.lisp: Bump.
6567
65682006-09-04 17:18  gb
6569
6570        * level-0/PPC/ppc-array.lisp: Sigh.  Test for 8-bit-char case was
6571        conditionalized backwards in PPC64 %INIT-MISC.
6572
65732006-09-04 17:05  gb
6574
6575        * level-1/l1-init.lisp: Initial value of CHAR-CODE-LIMIT derived
6576        from the target arch (for bootstrapping.)
6577
65782006-09-04 17:04  gb
6579
6580        * level-1/l1-reader.lisp: Use (UNSIGNED-BYTE 8) for array element
6581        type of rdtab.ttab.
6582       
6583        Don't treat (code-char #xca) as whitespace; do treat (code-char
6584        #xa0) as whitespace.  (The former happens to be how the latter was
6585        encoded in MacRoman.)
6586       
6587        Handle U+<hex> syntax in NAME-CHAR.
6588
65892006-09-04 16:16  gb
6590
6591        * compiler/PPC/PPC64/ppc64-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
6592        and the char code with #xff to get the low byte.
6593
65942006-09-04 16:15  gb
6595
6596        * compiler/PPC/PPC32/ppc32-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
6597        and the char code with #xff or 255., not with #x255.  (Cause lots
6598        of wackiness, mostly in readtable initialization.)
6599
66002006-09-04 16:12  gb
6601
6602        * compiler/PPC/ppc2.lisp: Use u32->char (which is defined) vice
6603        u8->char (which is no more) in %CHAR-CODE.
6604
66052006-09-04 06:04  gb
6606
6607        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6608        Gak.  Get guard/predicate syntax right in LOAD-CHARACTER-CONSTANT.
6609
66102006-09-04 06:03  gb
6611
6612        * level-0/PPC/ppc-array.lisp: New constants in ppc32 typecode range
6613        assertion.
6614
66152006-09-04 03:44  gb
6616
6617        * level-0/PPC/ppc-array.lisp: ppc32/ppc64 %init-misc tweaks.
6618
66192006-09-04 03:43  gb
6620
6621        * compiler/PPC/ppc-lapmacros.lisp: Typo in the (unused) 64-bit/no
6622        crf case of UNBOX-BASE-CHAR.
6623
66242006-09-04 02:30  gb
6625
6626        * level-1/l1-error-system.lisp: Object-not- (mod #x110000) type
6627        error.
6628
66292006-09-04 02:29  gb
6630
6631        * level-0/PPC/ppc-symbol.lisp: conditionalize %pname-hash for char
6632        size.
6633
66342006-09-04 02:26  gb
6635
6636        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s,
6637        ppc-constants64.h, ppc-constants64.s: Conditionalize for
6638        CHAR_SIZE_32.
6639
66402006-09-04 02:24  gb
6641
6642        * compiler/PPC/PPC32/ppc32-arch.lisp,
6643        compiler/PPC/PPC32/ppc32-vinsns.lisp,
6644        compiler/PPC/PPC64/ppc64-arch.lisp,
6645        compiler/PPC/PPC64/ppc64-vinsns.lisp, level-0/l0-array.lisp,
6646        level-0/l0-pred.lisp: Conditionalize for #-target-8-bit-chars.
6647
66482006-09-04 02:23  gb
6649
6650        * compiler/PPC/ppc2.lisp: Deal - sometimes conditionally - with
6651        32-bit characters.
6652
66532006-09-04 02:22  gb
6654
6655        * compiler/arch.lisp: ERROR-OBJECT-NOT-MOD-CHAR-CODE-LIMIT.
6656
66572006-09-03 16:03  gb
6658
6659        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
6660        conditionalize new string types.
6661
66622006-09-03 16:03  gb
6663
6664        * level-0/X86/x86-symbol.lisp: %pname-hash: conditionalize for
6665        string element size.
6666
66672006-09-03 16:02  gb
6668
6669        * compiler/X86/X8664/x8664-arch.lisp, level-0/l0-array.lisp,
6670        level-0/l0-pred.lisp: Sketch out new string types (read-time
6671        conditionalized.)
6672
66732006-09-03 15:02  gb
6674
6675        * level-0/l0-init.lisp: Put :target-8-bit-chars on *features*, for
6676        bootstrapping.
6677
66782006-09-03 14:20  gb
6679
6680        * level-1/l1-streams.lisp: More missing BASIC-STREAM methods.
6681
66822006-09-03 13:22  gb
6683
6684        * compiler/: X86/X8664/x8664-backend.lisp,
6685        PPC/PPC32/ppc32-backend.lisp, PPC/PPC64/ppc64-backend.lisp:
6686        :target-8-bit-chars on target features.
6687
66882006-09-03 13:21  gb
6689
6690        * level-0/l0-int.lisp: Some comments/indentation.
6691
66922006-09-03 13:01  gb
6693
6694        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Make
6695        CHAR-CODE-LIMIT an attribute of the target arch, for bootstrapping.
6696
66972006-09-02 11:24  gb
6698
6699        * level-1/x86-error-signal.lisp, lib/db-io.lisp: Fix typo.
6700
67012006-09-02 11:15  gb
6702
6703        * lisp-kernel/x86_print.c: hex/decimal integer printers: 3 is also
6704        a hex digit.
6705
67062006-09-02 11:11  gb
6707
6708        * lisp-kernel/x86-exceptions.c: Install a "bogus signal handler" on
6709        Darwin, to deal with apparent race conditions/Mach kernel lossage.
6710       
6711        Don't do the whole msg_server here; just do the exc_server thing.
6712       
6713        Fix a couple of Mach exception-handling bugs; at least one more may
6714        remain.
6715
67162006-09-02 11:07  gb
6717
6718        * lisp-kernel/x86-asmutils64.s: Use a hlt instruction to trap in
6719        pseudo_sigreturn.
6720       
6721        Still get spurious SIGTRAPs.
6722
67232006-09-02 11:06  gb
6724
6725        * lisp-kernel/thread_manager.c: Define some things in terms of
6726        USE_MACH_SEMAPHORES or USE_POSIX_SEMAPHORES.
6727       
6728        sem_wait_forever() does repeated timed waits, since I thought that
6729        Darwin was having trouble interrpting things that waited
6730        indefinitely.  (That might just be a GDB bug.  Who can tell ?)
6731
67322006-09-02 11:03  gb
6733
6734        * lisp-kernel/Threads.h: Define some things in terms of
6735        USE_MACH_SEMAPHORES or USE_POSIX_SEMAPHORES.  Note that as of Q3
6736        2006, Darwin still doesn't implement enough POSIX semaphore
6737        functionality to make it possible to avoid the use of Mach
6738        semaphores.
6739
67402006-09-02 11:01  gb
6741
6742        * lib/db-io.lisp:
6743        Try to avoid things like %COPY-IVECTOR-TO-IVECTOR when strings are
6744        involved.
6745
67462006-09-02 11:01  gb
6747
6748        * level-1/x86-threads-utils.lisp: Things that're %HEAP-IVECTOR-P
6749        aren't bogus objects.
6750
67512006-09-02 11:00  gb
6752
6753        * level-1/l1-streams.lisp: Try to avoid things like
6754        %COPY-IVECTOR-TO-IVECTOR when strings are involved.
6755
67562006-09-02 10:59  gb
6757
6758        * level-1/l1-events.lisp: AUTO-FLUSH-INTERACTIVE-STREAMS: use
6759        FORCE-OUTPUT.
6760
67612006-09-02 10:57  gb
6762
6763        * level-0/l0-misc.lisp: %COPY-U8-TO-STRING, %COPY-STRING-TO-U8:
6764        new, to avoid %COPY-IVECTOR-TO-IVECTOR when strings are involved.
6765       
6766        %STR-FROM-PTR: take dest string as optional arg, don't assume 8-bit
6767        chars.
6768       
6769        %GET-CSTRING: change type decl, use %GET-UNSIGNED-BYTE.
6770
67712006-09-02 10:55  gb
6772
6773        * level-0/l0-aprims.lisp: %CSTR-POINTER and %CSTR-SEGMENT-POINTER:
6774        don't assume 8-bit chars.
6775
67762006-08-28 17:35  gb
6777
6778        * lisp-kernel/ppc-spentry.s: Fix tag check in 32-bit
6779        misc_set_single_float_vector.
6780
67812006-08-28 17:01  gb
6782
6783        * xdump/faslenv.lisp: Bump max fasl version.
6784
67852006-08-28 16:48  gb
6786
6787        * lib/nfcomp.lisp: Use new string ops.  Bump current fasl version.
6788
67892006-08-28 16:33  gb
6790
6791        * xdump/faslenv.lisp: Bump (max) fasl version.
6792
67932006-08-28 16:30  gb
6794
6795        * xdump/xfasload.lisp: xloader was missing a few new ops.
6796
67972006-08-28 05:34  gb
6798
6799        * xdump/xfasload.lisp: New string stuff here, too.
6800
68012006-08-28 05:28  gb
6802
6803        * level-0/nfasload.lisp: New string stuff.
6804
68052006-08-28 04:57  gb
6806
6807        * level-1/l1-streams.lisp: More missing BASIC-STREAM methods
6808        (STREAM-LINE-COLUMN, STREAM-LISTEN, STREAM-EOFP.)
6809
68102006-08-28 04:57  gb
6811
6812        * level-1/l1-reader.lisp: Use READ-CHAR instead of
6813        STREAM-READ-CHAR, since it may be faster in some cases.
6814
68152006-08-28 04:56  gb
6816
6817        * level-1/l1-events.lisp: Unscramble auto-flush-streams stuff
6818        (don't assume ioblock-based stream.)
6819
68202006-08-28 04:55  gb
6821
6822        * level-1/l1-boot-2.lisp: Initial FD-STREAMs are BASIC-STREAMs.
6823
68242006-08-28 04:55  gb
6825
6826        * level-0/PPC/ppc-symbol.lisp: Change some REQUIRE forms; cosmetic.
6827         (Maybe not even cosmetic.)
6828
68292006-08-28 04:54  gb
6830
6831        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
6832        PPC64/ppc64-vinsns.lisp: %unbox-u8, u8-vref stuff.
6833
68342006-08-28 04:53  gb
6835
6836        * xdump/faslenv.lisp: New fasl ops for new string encodings.
6837
68382006-08-28 04:52  gb
6839
6840        * lib/macros.lisp: %CHAR-CODE: for how long has limit not been 2^16
6841        ?  For how long will limit be 2^8 ?
6842
68432006-08-28 04:51  gb
6844
6845        * level-0/nfasload.lisp: More fasl ops.
6846
68472006-08-28 04:51  gb
6848
6849        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: %UNBOX-U8,
6850        u8-vref stuff.
6851
68522006-08-28 04:50  gb
6853
6854        * compiler/arch.lisp: Add CHAR-CODE-LIMIT slot to TARGET-ARCH; may
6855        not be the best way to do this.
6856
68572006-08-26 13:58  gb
6858
6859        * release-notes.txt: Updated.
6860
68612006-08-26 13:50  gb
6862
6863        * release-notes.txt: Updated.
6864
68652006-08-26 13:50  gb
6866
6867        * darwin-x86-headers64/libc/.cvsignore: Added.
6868
68692006-08-26 03:17  gb
6870
6871        * level-1/version.lisp: Bump.  New snapshots soon, I hope.
6872
68732006-08-26 03:12  gb
6874
6875        * lisp-kernel/darwinx8664/Makefile: Pass -g in ASFLAGS; same
6876        problems as always, but avoids problems with Darwin x86-64 ld64
6877        segfaulting for unknown reasons.
6878
68792006-08-26 03:11  gb
6880
6881        * lisp-kernel/x86-exceptions.h: Need to do an explicit sigreturn on
6882        Darwin (because of the sigaltstack hacks; Darwin uses sigtramp glue
6883        that we can't just return to after switching off of the alt stack.)
6884
68852006-08-26 03:08  gb
6886
6887        * lib/numbers.lisp: Check fpu overflow bit (not underflow) when
6888        deciding whether or not to signal overflow.
6889
68902006-08-26 03:08  gb
6891
6892        * level-1/x86-trap-support.lisp: Need an indirection to access
6893        mcontext from ucontext on Darwin; invent xp-gp-regs to get at
6894        mcontext64.ss.
6895
68962006-08-26 03:06  gb
6897
6898        * level-1/x86-error-signal.lisp: Add a declaration, to make this
6899        easier to step through.
6900
69012006-08-26 03:05  gb
6902
6903        * level-0/l0-float.lisp: SINGLE-FLOAT-HALF-PI: use f0 not e0, just
6904        in case.
6905
69062006-08-25 20:35  gb
6907
6908        * level-1/l1-boot-lds.lisp, level-1/l1-events.lisp,
6909        lib/ccl-export-syms.lisp: Hyphenate ADD-AUTO-FLUSH-STREAM and
6910        REMOVE-AUTO-FLUSH-STREAM.
6911       
6912        Export them, too.
6913
69142006-08-25 20:22  gb
6915
6916        * lib/streams.lisp: READ-LINE on BASIC-INPUT-STREAM w/o
6917        STREAM-READ-LINE.
6918
69192006-08-25 20:22  gb
6920
6921        * lib/macros.lisp: HANDLER-CASE: the :NO-ERROR clause can appear at
6922        most once but doesn't have to be the last clause.
6923
69242006-08-25 20:21  gb
6925
6926        * level-1/l1-streams.lisp: BASIC-OUTPUT-STREAM isn't an
6927        INPUT-STREAM.
6928       
6929        Some STREAM-READ-LINE support for BASIC-CHARACTER-INPUT-STREAM.
6930
69312006-08-25 20:19  gb
6932
6933        * level-1/l1-readloop.lisp: PREPARE-TO-QUIT: other threads should
6934        be dead by the time that streams on *OPEN-FILE-STREAMS* are closed,
6935        so unlock those streams with extreme prejudice before closing them.
6936
69372006-08-25 20:18  gb
6938
6939        * level-1/l1-pathnames.lisp: FULL-PATHNAME: remove some weird old
6940        code that assumed that interfered with handling of relative logical
6941        pathnames.
6942
69432006-08-25 20:17  gb
6944
6945        * level-1/l1-events.lisp: Rename EVENT-POLL to
6946        AUTO-FLUSH-INTERACTIVE-STREAMS.
6947       
6948        Make AUTO-FLUSH-INTERACTIVE-STREAMS do conditional locking on each
6949        stream (doing nothing if it's not :SHARING :LOCK; unconditional
6950        locking on the *AUTO-FLUSH-STREAMS-LOCK*.
6951       
6952        ADD-AUTOFLUSH-STREAM ensures that the stream is :SHARING :LOCK.
6953       
6954        REMOVE-AUTOFLUSH-STREAM.
6955
69562006-08-25 20:13  gb
6957
6958        * level-1/l1-boot-lds.lisp: MAKE-MCL-LISTENER-STREAM uses
6959        ADD-AUTOFLUSH-STREAM, REMOVE-AUTOFLUSH-STREAM.
6960
69612006-08-23 22:59  gb
6962
6963        * lisp-kernel/x86-exceptions.c: Darwin needs to decode the mxcsr on
6964        SIGFPE.
6965       
6966        DARWIN_GS_HACK changes in altstack handlers for interrupt/suspend.
6967
69682006-08-23 22:58  gb
6969
6970        * lisp-kernel/x86-spentry64.s: x86-64 Darwin's math library is
6971        pretty casual about causing spurious exceptions, so ignore them.
6972
69732006-08-23 22:57  gb
6974
6975        * lisp-kernel/darwinx8664/.gdbinit: New file; like the linuxx8664
6976        version, with different signals to be ignored by gdb.
6977
69782006-08-23 22:56  gb
6979
6980        * lisp-kernel/x86-asmutils64.s: Using ud2b to force an exception in
6981        pseudo_sigreturn() seems to cause/be related to spurious SIGTRAPs.
6982        Use int $0 instead.
6983
69842006-08-23 22:55  gb
6985
6986        * level-1/x86-trap-support.lisp: First attempt at Darwinx8664
6987        support; may need more work.
6988
69892006-08-22 02:08  gb
6990
6991        * lisp-kernel/x86_print.c: Try not to use sprintf() (at least not
6992        for printing integers), since it seems to need access to pthread
6993        data (and calling print_lisp_object() from GDB might fail if %gs is
6994        pointing at the lisp TCR.)
6995
69962006-08-22 02:06  gb
6997
6998        * lisp-kernel/x86-spentry64.s: Unbox %arg_z (boxed entrypoint)
6999        earlier in _SPffcall, before entering foreign context.  (Need to
7000        check PPC version(s) as well.)
7001       
7002        Use DARWIN_GS_HACK to swap %gs memory around when transitioning
7003        between foreign code and lisp.
7004
70052006-08-22 02:04  gb
7006
7007        * lisp-kernel/x86-macros.s: Fix a typo.
7008
70092006-08-22 02:04  gb
7010
7011        * lisp-kernel/x86-exceptions.h: Define a few more things ...
7012
70132006-08-22 02:03  gb
7014
7015        * lisp-kernel/x86-exceptions.c: Lots of changes, especially to Mach
7016        exception handling code.
7017       
7018        Do the DARWIN_GS_HACK things to overload %gs.
7019
70202006-08-22 02:02  gb
7021
7022        * lisp-kernel/x86-asmutils64.s: atomic_and(), pseudo_sigreturn()
7023        for DarwinX8664.
7024
70252006-08-22 02:01  gb
7026
7027        * lisp-kernel/thread_manager.c: Some PPC64 conditionalizations
7028        should really have tested WORD_SIZE.
7029       
7030        DARWIN_GS_HACK stuff around suspend/resume signal handlers.  (May
7031        not be necessary.)
7032       
7033        Ensure that tcr.linear gets set on x86, even if not HAVE_TLS.
7034
70352006-08-22 01:59  gb
7036
7037        * lisp-kernel/pmcl-kernel.c: Don't really flush cache lines on
7038        x8664.
7039       
7040        Some PPC64 conditionalizations should really have tested WORD_SIZE.
7041
70422006-08-22 01:58  gb
7043
7044        * lisp-kernel/m4macros.m4: Define SYSCALL_SETS_CARRY_ON_ERROR for
7045        FreeBSDX664, DarwinX8664.
7046
70472006-08-22 01:57  gb
7048
7049        * lisp-kernel/darwinx8664/Makefile: Much smaller pagezero, much
7050        lower seg1addr.
7051       
7052        Something in the (m4-generated) symbolic info in some .s files is
7053        screwy and causes ld64 to segfault; it's currently necesssary to
7054        use "strip -S" on the assembler-generated .o files.
7055
70562006-08-22 01:55  gb
7057
7058        * scripts/openmcl64: Untested changes for Darwinx8664.
7059
70602006-08-22 01:54  gb
7061
7062        * xdump/xx8664-fasload.lisp: Fix typo in darwinx8664
7063        xload-backend-info (compiler target is :darwinx8664, not
7064        :linuxx8664).
7065
70662006-08-22 01:53  gb
7067
7068        * lib/nfcomp.lisp: Dump concatenated functions from xfunctions when
7069        cross-compiling to x86 from x86.
7070
70712006-08-22 01:52  gb
7072
7073        * lib/misc.lisp: MACHINE-VERSION:  conditionalize on :DARWIN-TARGET
7074        (not :DARWINPPC-TARGET).
7075
70762006-08-22 01:50  gb
7077
7078        * lib/foreign-types.lisp: :DARWIN-TARGET (not :DARWINPPC-TARGET).
7079
70802006-08-22 01:50  gb
7081
7082        * lib/compile-ccl.lisp: :DARWINX8664 stuff.
7083
70842006-08-22 01:49  gb
7085
7086        * level-1/version.lisp: Bump.
7087
70882006-08-22 01:49  gb
7089
7090        * level-1/l1-sysio.lisp: FILE-STREAM-EXTERNAL-FORMAT stuff for
7091        BASIC-STREAMs.
7092
70932006-08-22 01:48  gb
7094
7095        * level-1/: l1-sockets.lisp, linux-files.lisp: Conditionalize on
7096        DARWIN-TARGET, not DARWINPPC-TARGET.
7097
70982006-08-22 01:47  gb
7099
7100        * level-0/l0-init.lisp: DarwinX8664 *features*.
7101
71022006-08-22 01:47  gb
7103
7104        * level-0/l0-cfm-support.lisp: Some DARWINPPC-TARGET conditionals
7105        really want to be DARWIN-TARGET.
7106
71072006-08-22 01:46  gb
7108
7109        * compiler/X86/X8664/x8664-arch.lisp: YIELD-SYSCALL for
7110        DarwinX8664.
7111
71122006-08-22 01:45  gb
7113
7114        * compiler/X86/x862.lisp: Use CROSS-CREATE-X86-FUNCTION if not
7115        compiling natively.
7116       
7117        Fix X862-FIXUP-FWD-REFS if not native function on x86.
7118
71192006-08-22 01:44  gb
7120
7121        * compiler/X86/x86-lap.lisp: Ensure that CROSS-CREATE-X86-FUNCTION
7122        is defined, even on x86.  Use it if not compiling natively on x86.
7123
71242006-08-20 23:59  gb
7125
7126        * lisp-kernel/darwinx8664/Makefile: Define DARWIN_GS_HACK.
7127
71282006-08-20 23:58  gb
7129
7130        * lisp-kernel/x86-exceptions.c: Still needs lots of work.
7131
71322006-08-20 23:58  gb
7133
7134        * lisp-kernel/x86-exceptions.h: Include Mach stuff on Darwin;
7135        prototypes for DARWIN_GS_HACK %gs segment switching.
7136
71372006-08-20 23:57  gb
7138
7139        * lisp-kernel/x86-subprims64.s: Manipulate the %gs register when a
7140        lisp thread starts, exits and DARWIN_GS_HACK is defined.
7141       
7142        This isn't so bad, but doing it around every ff-call might be.
7143
71442006-08-20 23:56  gb
7145
7146        * lisp-kernel/x86-macros.s: DARWIN_GS_HACK macros.
7147
71482006-08-20 23:53  gb
7149
7150        * lisp-kernel/thread_manager.c: Note the need for DARWIN_GS_HACK.
7151
71522006-08-20 23:51  gb
7153
7154        * lisp-kernel/x86-asmutils64.s: DARWIN_GS_HACK hacks.
7155
71562006-08-20 23:51  gb
7157
7158        * lisp-kernel/m4macros.m4: Hope that the need for DARWIN_GS_HACK is
7159        also temporary.
7160
71612006-08-20 23:50  gb
7162
7163        * lisp-kernel/lisptypes.h: Hope that the workaround for missing
7164        mcontext64 in x8664 Darwin is temporary.
7165
71662006-08-20 20:35  gb
7167
7168        * library/darwinx664-syscalls.lisp: typo
7169
71702006-08-20 20:35  gb
7171
7172        * library/darwinx8664-syscalls.lisp: spell name right
7173
71742006-08-20 17:10  gb
7175
7176        * xdump/xx8664-fasload.lisp: :darwinx8664 stuff.
7177
71782006-08-20 17:10  gb
7179
7180        * lib/db-io.lisp: :struct-by-value: don't read-time conditionalize
7181        (do other things still use read-time conditionals ?)
7182
71832006-08-20 17:09  gb
7184
7185        * compiler/X86/X8664/x8664-backend.lisp: Darwinx8664: overload %gs,
7186        setup syscall mask.
7187
71882006-08-20 17:08  gb
7189
7190        * compiler/nx1.lisp: Handle syscall, ff-call for :darwinx8664 as
7191        well.
7192
71932006-08-20 17:06  gb
7194
7195        * library/darwinx664-syscalls.lisp: New file; or's in the bit for
7196        Unix syscalls on Darwinx8664.  (Screw: should (carefully) review
7197        word-size issues.)
7198
71992006-08-20 17:03  gb
7200
7201        * library/darwinppc-syscalls.lisp: Mask for PPC.
7202
72032006-08-20 17:02  gb
7204
7205        * level-0/l0-io.lisp, level-1/l1-sockets.lisp,
7206        level-1/linux-files.lisp: Syscall conditionalization.
7207
72082006-08-20 17:01  gb
7209
7210        * level-1/l1-streams.lisp: Syscall conditionalization.
7211       
7212        SELECTION-INPUT-STREAM created with :sharing :lock.
7213
72142006-08-20 17:00  gb
7215
7216        * examples/objc-runtime.lisp: Fencepost in
7217        POINTER-IN-CFSTRING-SECTION-P.
7218
72192006-08-20 16:16  gb
7220
7221        * library/: darwinppc-syscalls.lisp, darwin-syscalls.lisp: rename
7222
72232006-08-18 09:50  gb
7224
7225        * lisp-kernel/thread_manager.c: Enable FP underflow detection on
7226        x8664.  Should do this on PPC as well, and should probably offer
7227        some backward-compatible behavior for reader.
7228
72292006-08-18 09:47  gb
7230
7231        * compiler/X86/X8664/x8664-backend.lisp: Dress up the Darwin x86-64
7232        backend a little.
7233       
7234        Explicily define lisp-context-register slot in each backend (%gs
7235        for those imolementations that follow the standard ABI, %fs for
7236        Darwin.)
7237
72382006-08-18 09:44  gb
7239
7240        * compiler/X86/X8664/x8664-vinsns.lisp: Use :rcontext when
7241        necessary.
7242
72432006-08-18 09:43  gb
7244
7245        * compiler/X86/: x86-backend.lisp, x86-lap.lisp: Recognize
7246        :rcontext as a reference to the backend's LISP-CONTEXT-REGISTER
7247        slot.
7248
72492006-08-18 09:42  gb
7250
7251        * compiler/backend.lisp: Backend now has a lisp-context-register
7252        slot.
7253
72542006-08-18 09:42  gb
7255
7256        * compiler/X86/X8664/x8664-arch.lisp: No more (constant) rcontext.
7257
72582006-08-18 09:40  gb
7259
7260        * level-0/X86/: x86-def.lisp, x86-float.lisp, x86-io.lisp,
7261        x86-misc.lisp, x86-symbol.lisp, x86-utils.lisp: Refer to rcontext
7262        segment register as :rcontext, since x86-64 Darwin doesn't laugh
7263        and play like the other children.
7264
72652006-08-18 09:29  gb
7266
7267        * lisp-kernel/x86-exceptions.c: Copy some of the Mach exception
7268        code from the PPC version and tweak it a little; needs more work.
7269
72702006-08-18 09:27  gb
7271
7272        * lisp-kernel/x86-exceptions.h: Provide some interim Darwin
7273        conditionalization.
7274
72752006-08-18 09:25  gb
7276
7277        * lisp-kernel/m4macros.m4: Spell FREEBSD correctly.
7278       
7279        Generate an equate for HAVE_TLS.
7280
72812006-08-18 09:23  gb
7282
7283        * lisp-kernel/x86-gc.c: Changes in purify_xp().
7284
72852006-08-18 09:19  gb
7286
7287        * lisp-kernel/x86-spentry64.s: Darwin x86-64 assembler doesn't like
7288        absolute jumps, prefers slower ones.
7289       
7290        Move lock prefixes to their own lines, to satisfy you-know-who.
7291       
7292        If we don't have thread-local-storage (TLS), it's hard to avoid the
7293        get_tcr() call on each calback.
7294
72952006-08-18 09:13  gb
7296
7297        * lisp-kernel/: freebsdx8664/Makefile, linuxx8664/Makefile: Tell m4
7298        that we HAVE_TLS.
7299
73002006-08-17 10:41  phil
7301
7302        * examples/FFI/:
7303        Allocating-foreign-data-on-the-lisp-heap/ptrtest-compile.sh,
7304        Allocating-foreign-data-on-the-lisp-heap/ptrtest.c,
7305        Allocating-foreign-data-on-the-lisp-heap/ptrtest.lisp,
7306        Using-basic-calls-and-types/Readme.rtf,
7307        Using-basic-calls-and-types/typetest-compile.sh,
7308        Using-basic-calls-and-types/typetest.c,
7309        Using-basic-calls-and-types/typetest.lisp: Initial version
7310
73112006-08-17 10:40  phil
7312
7313        * examples/FFI/Allocating-foreign-data-on-the-lisp-heap/Readme.rtf:
7314        [no log message]
7315
73162006-08-08 13:07  gb
7317
7318        * lisp-kernel/darwinx8664/Makefile: New file.
7319
73202006-08-08 13:07  gb
7321
7322        * lisp-kernel/x86-exceptions.h: xp accessors for Darwinx8664.
7323
73242006-08-08 13:06  gb
7325
7326        * lisp-kernel/x86-constants64.h: REG_* constants for Darwin.
7327
73282006-08-08 13:05  gb
7329
7330        * lisp-kernel/x86-asmutils64.s: Darwin assembler doesn't like lock
7331        instructions on the same line as the locked instruction.  (Maybe
7332        there's a better way to do this, than just pretending that lock is
7333        a standalone instruction, but that lock instruction does seem to be
7334        treated as a prefix.)
7335
73362006-08-08 13:03  gb
7337
7338        * lisp-kernel/pmcl-kernel.c: Treat X8664 like PPC64 (e.g., use
7339        dlfcn) on Darwin.
7340
73412006-08-08 13:02  gb
7342
7343        * lisp-kernel/lisptypes.h: xcode 2.4 headers: <i386/ucontext.h>
7344        doesn't define mcontext64, but lots of other things reference it.
7345        #define it here for now, but that'll likely break when the headers
7346        are fixed.
7347
73482006-08-08 12:58  gb
7349
7350        * lisp-kernel/lisp-debug.c: Define Iregnames for darwinx8664.
7351
73522006-08-08 12:58  gb
7353
7354        * lisp-kernel/area.h: Define an IMAGE_BASE_ADDRESS for
7355        x8664/Darwin.
7356
73572006-07-29 08:41  gb
7358
7359        * level-1/l1-streams.lisp: STREAM-WRITE-BYTE, STREAM-WRITE-IVECTOR.
7360         :BASIC defaults to T in OPEN; BASIC-FILE-STREAM probably still
7361        needs READ/WRITE- SEQUENCE support.
7362
73632006-07-29 07:39  gb
7364
7365        * level-1/l1-aprims.lisp: ALLOCATE-RESOURCE, FREE-RESOURCE: use
7366        lock.  TODO: evaluate whether resources are worthwhile;  used for
7367        string-output-stream allocation and DELETE-DUPLICATES.
7368
73692006-07-29 06:27  gb
7370
7371        * library/lispequ.lisp: Resources aren't thread-private, need
7372        locks.
7373
73742006-07-29 06:26  gb
7375
7376        * level-1/l1-sysio.lisp: MAKE-FILE-STREAM: support for
7377        BASIC-STREAMs.
7378
73792006-07-29 06:26  gb
7380
7381        * level-1/l1-streams.lisp: OPEN handles BASIC-STREAMs; not yet the
7382        default.
7383
73842006-07-29 06:25  gb
7385
7386        * level-1/l1-reader.lisp: *PARSE-STRING-RESOURCE* probably hasn't
7387        been used in 10 or 12 years.
7388
73892006-07-29 03:40  gb
7390
7391        * level-1/l1-sysio.lisp: Most BASIC-FILE-STREAM stuff.
7392
73932006-07-29 03:40  gb
7394
7395        * library/lispequ.lisp: BASIC-FILE-STREAM.EXTERNAL-FORMAT, at least
7396        for now.
7397
73982006-07-29 03:39  gb
7399
7400        * level-1/l1-streams.lisp: BASIC-IO-STREAM; ALLOCATE-BASIC-STREAM
7401        makes one more slot in BASIC-FILE-STREAM.
7402
74032006-07-28 04:17  gb
7404
7405        * level-1/version.lisp: Bump.
7406
74072006-07-28 04:15  gb
7408
7409        * level-1/l1-streams.lisp: A couple of more (soon-to-be-used) slots
7410        in IOBLOCK.
7411
74122006-07-28 01:17  gb
7413
7414        * level-1/l1-streams.lisp: Lots of changes; lots more to go.
7415
74162006-07-28 01:16  gb
7417
7418        * level-1/l1-sockets.lisp: Pass :CHARACTER-P T to MAKE-FD-STREAM.
7419
74202006-07-28 00:58  gb
7421
7422        * examples/cocoa-listener.lisp: Want :SHARING :LOCK on listener
7423        output.
7424       
7425        (SLIME probably faces the same issue; should probably do something
7426        in the auto-flush case.  Of course, it's hard to know just what to
7427        do in that case. or at least what to do safely in that case.)
7428
74292006-07-28 00:49  gb
7430
7431        * level-1/l1-sysio.lisp: Define SELECT-STREAM-CLASS on
7432        FUNDAMENTAL-FILE-STREAM.
7433
74342006-07-28 00:49  gb
7435
7436        * lib/streams.lisp: READ-BYTE for BASIC-STREAMs.
7437
74382006-07-28 00:48  gb
7439
7440        * library/lispequ.lisp: Need an explicit
7441        BASIC-STREAM-FLAG.OPEN-CHARACTER bit, due to bivalence.
7442
74432006-07-28 00:47  gb
7444
7445        * lib/macros.lisp: BASIC-STREAM-IOBLOCK.
7446
74472006-07-25 03:48  gb
7448
7449        * compiler/optimizers.lisp: Compiler-macro for BASIC-STREAM-P.
7450
74512006-07-24 04:55  gb
7452
7453        * lib/streams.lisp: READ-CHAR bypasses STREAM-READ-CHAR for
7454        BASIC-STREAMs.
7455
74562006-07-24 04:55  gb
7457
7458        * level-1/l1-streams.lisp: Some BASIC-STREAM stuff starts to
7459        appear.
7460
74612006-07-24 04:51  gb
7462
7463        * library/lispequ.lisp: Add a plist to basic-/basic-file-stream.
7464
74652006-07-24 02:43  gb
7466
7467        * level-1/l1-sysio.lisp: FILE-STREAM is now abstract (and some
7468        sublasses may get that way); FUNDAMENTAL-FILE-STREAM is an
7469        implementation of it (and BASIC-FILE-STREAM soon will be.)
7470
74712006-07-23 03:05  gb
7472
7473        * level-1/l1-clos-boot.lisp: *class-table* entry for BASIC-STREAM.
7474
74752006-07-23 03:03  gb
7476
7477        * level-1/l1-streams.lisp: STREAM-IOBLOCK now takes 2 required args
7478        and is inlined.
7479       
7480        Some bug fixes; STREAM class no longer has slots.
7481       
7482        IOBLOCK-READ-CHAR-FUNCTION used by READ-CHAR.  %ioblock-read-byte
7483        variants; fix read-byte botch (should vector according to
7484        element-type.)
7485
74862006-07-23 02:54  gb
7487
7488        * level-1/: linux-files.lisp, l1-sysio.lisp, l1-sockets.lisp:
7489        STREAM-IOBLOCK now takes 2 required args.
7490
74912006-07-23 02:54  gb
7492
7493        * level-1/version.lisp: Bump.
7494
74952006-07-23 02:53  gb
7496
7497        * library/lispequ.lisp: Start to define what a BASIC-STREAM looks
7498        like.
7499
75002006-07-23 02:53  gb
7501
7502        * lib/macros.lisp: Move stream-ioblock access/locking macros here.
7503       
7504        Likewise WITH-EAGAIN.
7505
75062006-07-23 01:12  gb
7507
7508        * level-1/: l1-sysio.lisp, l1-streams.lisp, l1-boot-2.lisp,
7509        l1-sockets.lisp: Fix a few botches.
7510       
7511        :private arg to stream creation primitives replaced with :sharing,
7512        which can have values:
7513       
7514         :private (the default; stream can only be accessed by the creating
7515        thread)
7516         :lock  (the old, often slow, default); most accesses to stream
7517        involve locking
7518         :nil or :external (stream code doesn't enforce exclusion).
7519
75202006-07-22 23:57  gb
7521
7522        * level-1/l1-streams.lisp: Bootstrapping stuff.
7523       
7524        Move along, nothing to see here.
7525
75262006-07-20 03:43  gb
7527
7528        * level-1/: l1-boot-2.lisp, l1-sockets.lisp, l1-streams.lisp,
7529        l1-sysio.lisp: First (rough) cut at making streams "private"
7530        (effectively always locked by the "owning" thread) to reduce some
7531        locking overhead.  More to come, some of which will be a little
7532        tricky to bootstrap.
7533
75342006-07-20 01:09  gb
7535
7536        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s,
7537        ppc-constants64.h, ppc-constants64.s, x86-constants64.h,
7538        x86-constants64.s: subtag_lisp_thread -> subtag_basic_stream.
7539
75402006-07-20 01:09  gb
7541
7542        * library/lispequ.lisp: new (istruct-based) LISP-THREAD accessors.
7543
75442006-07-20 01:08  gb
7545
7546        * level-1/version.lisp: Bump.
7547
75482006-07-20 01:07  gb
7549
7550        * level-1/l1-streams.lisp: Introduce "owner" slot in basic ioblock.
7551         A little tricky to bootstrap.
7552
75532006-07-20 01:05  gb
7554
7555        * level-0/l0-misc.lisp, level-1/l1-processes.lisp,
7556        level-1/l1-clos-boot.lisp, level-1/l1-lisp-threads.lisp: Use new
7557        (istruct-based) lisp-thread accessors.
7558
75592006-07-20 01:02  gb
7560
7561        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
7562        X86/X8664/x8664-arch.lisp: Get rid of the lisp-thread subtag
7563        (lisp-thread's are ISTRUCTs now); re-use it for (to-be-introduced)
7564        BASIC-STREAM.
7565
75662006-07-15 15:02  gb
7567
7568        * level-1/l1-error-system.lisp: Insert some fresh lines in the
7569        IMPOSSIBLE-NUMBER condition :REPORT method.
7570
75712006-07-15 15:00  gb
7572
7573        * compiler/X86/x862.lisp: x862-%aref1,x862-%aset1: don't try to do
7574        simple vector operations unless we're sure that the vector is a
7575        (SIMPLE-ARRAY * (*)) and we know the element-type (these were
7576        leaping into the simple-typed-vector case when the element-type was
7577        known but the vector wasn't known to be SIMPLE.
7578
75792006-07-14 05:57  gb
7580
7581        * compiler/nx0.lisp: NX-FORM-TYPEP: unqoute constants.
7582
75832006-07-13 16:01  gb
7584
7585        * level-1/l1-typesys.lisp: SPECIALIZED-ARRAY-ELEMENT-TYPES needs to
7586        know about FIXNUM arrays.
7587
75882006-07-11 14:23  gb
7589
7590        * compiler/X86/x862.lisp: Destination and 1st source arg overlap
7591        (2-address instructions) in natural logical, arithmetic operations.
7592
75932006-07-05 02:38  gb
7594
7595        * release-notes.txt: Update.
7596
75972006-07-05 02:22  gb
7598
7599        * level-0/l0-init.lisp: Reluctantly put :MCL back on *features*;
7600        its removal needs to be better publicized.
7601
76022006-07-04 22:24  gb
7603
7604        * level-1/linux-files.lisp: Use NATIVE-TRANSLATED-NAMESTRING on the
7605        PROGRAM arg to RUN-PROGRAM.
7606
76072006-07-04 22:23  gb
7608
7609        * level-1/version.lisp: Bump.
7610
76112006-06-29 02:11  gb
7612
7613        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump
7614        image-abi-version.
7615
76162006-06-28 05:24  gb
7617
7618        * level-0/l0-cfm-support.lisp: *rtld-default* wants to be a null
7619        pointer on DarwinPPC32 (at the very least, that platform's
7620        xFindSymbol gets confused by anything but a null pointer/global
7621        lookup.)
7622
76232006-06-28 05:09  gb
7624
7625        * level-1/version.lisp: Bump.  Call the FreeBSD/AMD64 version
7626        "Alpha", which may be a bit generous (pretty regular deadlock,
7627        random thread creation errors, other bugs.)
7628
76292006-06-28 05:07  gb
7630
7631        * lisp-kernel/freebsdx8664/.gdbinit: new; awfully similar to linux
7632        x86-64 version.
7633
76342006-06-28 04:04  gb
7635
7636        * lisp-kernel/x86-exceptions.c: FreeBSD doesn't do a good job of
7637        identifying the cause of XMM FP exceptions.  Try to do that by
7638        looking at MXCSR bits.
7639
76402006-06-28 04:03  gb
7641
7642        * lisp-kernel/x86-spentry64.s: FreeBSD syscalls set carry flag to
7643        indicate error return.
7644
76452006-06-28 04:03  gb
7646
7647        * level-1/: l1-sockets.lisp, linux-files.lisp,
7648        x86-trap-support.lisp: Some FreeBSD changes/fixes.
7649
76502006-06-28 04:02  gb
7651
7652        * level-0/l0-cfm-support.lisp: Remove a #+freebsd-target
7653        breakpoint.
7654
76552006-06-27 18:08  gb
7656
7657        * level-0/l0-cfm-support.lisp: fix (?) nested #+/#-.  Maybe.
7658
76592006-06-27 17:30  gb
7660
7661        * lisp-kernel/x86-exceptions.h: Fix Linux def of IS_MAYBE_INT_TRAP.
7662
76632006-06-27 17:27  gb
7664
7665        * lisp-kernel/pmcl-kernel.c: (possibly) make get_r_debug more
7666        portable; possibly break it completely ...
7667
76682006-06-27 08:55  gb
7669
7670        * lisp-kernel/x86-exceptions.c: map the altstack
7671        read/write/execute.
7672
76732006-06-27 08:54  gb
7674
7675        * lisp-kernel/thread_manager.c: Fix os_get_stack_bounds() for
7676        FreeBSD.
7677
76782006-06-27 08:54  gb
7679
7680        * lisp-kernel/Threads.h: FreeBSD needs prototypes from
7681        <pthread_np.h>
7682
76832006-06-27 08:53  gb
7684
7685        * lib/compile-ccl.lisp: New (renamed) kernel-build-direcory for
7686        :freebsdx8664.
7687
76882006-06-27 08:53  gb
7689
7690        * level-1/x86-trap-support.lisp: freebsd x8664 GPR indices.  (Needs
7691        testing.)
7692       
7693        Don't conditionalize as much code. Indices/offsets are
7694        platform-specific, but accessors defiend in terms of them needn't
7695        be.
7696
76972006-06-27 08:51  gb
7698
7699        * level-1/x86-callback-support.lisp: Remove 1st line (bogus
7700        comment.)
7701
77022006-06-27 08:50  gb
7703
7704        * level-0/l0-init.lisp: More freebsd x8664 features.
7705
77062006-06-27 08:50  gb
7707
7708        * scripts/openmcl64: Update for FreeBSD/amd64.
7709
77102006-06-27 08:47  gb
7711
7712        * compiler/X86/X8664/x8664-backend.lisp: FreeBSD backend has
7713        :freebsdx8664-target as a target-specific-feature.
7714
77152006-06-27 05:05  gb
7716
7717        * lisp-kernel/: freebsdx8664/Makefile, freebsd8664/Makefile,
7718        freebsd8664/elf_x86_64.x: directory rename
7719
77202006-06-27 04:59  gb
7721
7722        * xdump/xx8664-fasload.lisp: FreeBSD xload-backend.
7723
77242006-06-27 04:47  gb
7725
7726        * lisp-kernel/x86-exceptions.h: Some macros for FreeBSD changes.
7727
77282006-06-27 04:46  gb
7729
7730        * lisp-kernel/x86-exceptions.c: FreeBSD changes (at least enough to
7731        recognize UUOs, which generate SIGBUS vice SIGSEGV.)
7732
77332006-06-27 04:45  gb
7734
7735        * lisp-kernel/x86-asmutils64.s: Define freebsd_sigreturn.
7736       
7737        TODO (maybe): copy the sigtramp code when evacuating the altstack.
7738
77392006-06-27 04:44  gb
7740
7741        * lisp-kernel/thread_manager.c: FreeBSD sigreturn from
7742        suspend_resume_handler.
7743
77442006-06-27 04:44  gb
7745
7746        * lisp-kernel/pmcl-kernel.c: Some FreeBSD conditionalization;
7747        get_r_debug() for ELF platforms.  (Needs testing under Linux.)
7748
77492006-06-27 04:43  gb
7750
7751        * lisp-kernel/imports.s: Don't import metering-control; do import
7752        get_r_debug().
7753
77542006-06-27 04:42  gb
7755
7756        * library/x8664-freebsd-syscalls.lisp: New file.  Should check
7757        word-size stuff (here and in other versions.)
7758
77592006-06-27 04:42  gb
7760
7761        * lib/misc.lisp: Find MACHINE-VERSION string via #_sysctl on
7762        FreeBSD.
7763
77642006-06-27 04:39  gb
7765
7766        * lib/foreign-types.lisp: Signed char nonsense (should use target
7767        ftd, not reader macros here.)
7768
77692006-06-27 04:38  gb
7770
7771        * lib/compile-ccl.lisp: Some FreeBSD support.
7772
77732006-06-27 04:36  gb
7774
7775        * level-1/: l1-sockets.lisp, l1-streams.lisp, linux-files.lisp:
7776        Some FreeBSD changes/conditionalization. Maybe not enough.
7777
77782006-06-27 04:35  gb
7779
7780        * level-1/l1-boot-1.lisp: Recognize FREEBSD platform-os-name.
7781
77822006-06-27 04:34  gb
7783
7784        * level-0/X86/: .cvsignore, X8664/.cvsignore: Ignore *fsl.
7785
77862006-06-27 04:34  gb
7787
7788        * level-0/l0-io.lisp: FreeBSD syscalls.
7789
77902006-06-27 04:33  gb
7791
7792        * level-0/l0-init.lisp: Some FreeBSD features.
7793
77942006-06-27 04:33  gb
7795
7796        * level-0/l0-cfm-support.lisp: Lots of FreeBSD conditionalization,
7797        changes.
7798       
7799        MAY HAVE BROKEN LINUX PORTS; need to recompile on those platforms
7800        and test.
7801       
7802        Now depends on an imported lisp-kernel function on ELF platforms
7803        (Linux/FreeBSD), and therefore depends on recent kernel changes.
7804
78052006-06-27 04:30  gb
7806
7807        * level-0/.cvsignore: Ignore *fsl.
7808
78092006-06-27 04:29  gb
7810
7811        * compiler/X86/X8664/x8664-backend.lisp: Fix platform-syscall-mask
7812        in freebsd backend.
7813
78142006-06-27 04:27  gb
7815
7816        * compiler/X86/X8664/x8664-arch.lisp: Don't import
7817        metering-control; do import get-r-debug (for Elf shared libraries.)
7818       
7819        A yield-syscall constant for FreeBSD. (This is all a bad idea ...)
7820
78212006-06-27 04:26  gb
7822
7823        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp:
7824        Don't import metering-control; do import get-r-debug (for Elf
7825        shared libraries.)
7826
78272006-06-27 04:26  gb
7828
7829        * compiler/nx1.lisp: Use the non-eabi syscall on freebsd as well.
7830
78312006-06-26 16:38  gb
7832
7833        * compiler/X86/X8664/x8664-vinsns.lisp:
7834        SET-BIGITS-AND-HEADER-FOR-FIXNUM-OVERFLOW: need to change the
7835        (wrong) sign of the top 3 (fixnumshift) bits only.  Where did the
7836        constant #xffff000000000000 come from ?
7837
78382006-06-26 16:35  gb
7839
7840        * compiler/X86/x862.lisp: Fix some indentation.
7841
78422006-06-25 20:32  gb
7843
7844        * compiler/X86/X8664/x8664-backend.lisp: FreeBSD x8664 backend;
7845        change initialiation of x8664 foreign-type stuff.
7846
78472006-06-25 20:31  gb
7848
7849        * compiler/backend.lisp: PLATFORM-OS-FREEBSD.
7850
78512006-06-23 19:52  gb
7852
7853        * darwin-headers/: gl/C/.cvsignore, libc/C/.cvsignore,
7854        quicktime/C/.cvsignore: Ignore Developer subdirectory.  c
7855
78562006-06-23 19:28  gb
7857
7858        * release-notes.txt: Update some.
7859
78602006-06-23 19:11  gb
7861
7862        * examples/gtk2-clock.lisp: New file.
7863
78642006-06-23 18:56  gb
7865
7866        * level-1/version.lisp: Bump.
7867
78682006-06-23 18:52  gb
7869
7870        * lib/ccl-export-syms.lisp: Export DEFLOADVAR.
7871
78722006-06-22 13:39  gb
7873
7874        * x86-headers64/gnome2/C/.cvsignore: new
7875
78762006-06-22 13:36  gb
7877
7878        * x86-headers64/: gl/C/.cvsignore, gnome2/C/populate.sh: new
7879
78802006-06-22 13:33  gb
7881
7882        * x86-headers64/: gl/.cvsignore, gl/C/populate.sh,
7883        gnome2/.cvsignore: new
7884
78852006-06-22 13:30  gb
7886
7887        * examples/opengl-ffi.lisp: #+linuxppc-target -> #+linux-target.
7888
78892006-06-22 13:28  gb
7890
7891        * level-1/version.lisp: Bump.
7892
78932006-06-21 15:15  gb
7894
7895        * lisp-kernel/: ppc-constants64.h, ppc-constants64.s,
7896        ppc-spentry.s: Define new string subtags; handle them in ppc64
7897        misc_ref/misc_set.
7898
78992006-06-21 15:14  gb
7900
7901        * level-0/PPC/ppc-array.lisp: Fix %INIT-MISC (both ppc2 and ppc64
7902        versions) to handle FIXNUM vectors, new UCS4 strings.
7903
79042006-06-21 15:14  gb
7905
7906        * level-0/l0-array.lisp: Fix %INIT-MISC (bot ppc2 and ppc64
7907        versions) to handle FIXNUM vectors, new UCS4 strings.
7908
79092006-06-21 15:12  gb
7910
7911        * darwin-headers/: carbon/C/populate.sh, cocoa/C/populate.sh,
7912        gl/C/populate.sh, libc/C/populate.sh, quicktime/C/populate.sh,
7913        webkit/C/populate.sh: Use 10.4u headers from XCode SDK.
7914
79152006-06-21 15:11  gb
7916
7917        * compiler/PPC/PPC64/ppc64-arch.lisp: Add SUBTAG-NEW-STRING.
7918
79192006-06-21 15:11  gb
7920
7921        * compiler/PPC/PPC32/ppc32-arch.lisp: MAX-32-BIT-IVECTOR-SUBTAG
7922        wasn't updated with the introduction of fixnum vectors, (unused)
7923        UCS4 "new"strings.
7924
79252006-06-16 03:50  gb
7926
7927        * examples/objc-support.lisp: Re-compute static NSString info after
7928        opening an extension framework.
7929
79302006-06-16 03:45  gb
7931
7932        * examples/webkit.lisp: Use new functions for augmenting
7933        interfaces, loading framework.
7934
79352006-06-16 03:43  gb
7936
7937        * examples/objc-runtime.lisp: Juggle things around so that add-on
7938        framework bundles get loaded on appication re-launch.
7939       
7940        REVIVE-OBJC-CLASSES tells MAP-OBJC-CLASSES not to hit the database,
7941        since (a) it may not be there, or may not be where we can find it
7942        yet and (b) it's probably more reasonable to do that than it would
7943        be to teach CLOS about classes that're "discovered" when the
7944        appication's launched on a newer OS release than it was saved on.
7945
79462006-06-16 03:39  gb
7947
7948        * examples/cocoa-application.lisp: Touch tha application bundle
7949        before saving an image into it.  That -may- convincve
7950        LaunchServices to do the right thing.
7951
79522006-06-16 03:38  gb
7953
7954        * examples/objc-support.lisp: Reload any addon/framework bundles
7955        that had been loaded before the image was saved when starting a
7956        bundled application.
7957       
7958        Juggle things around, so that that works (need to be able to use
7959        low-level bridge features early.)
7960
79612006-06-16 03:36  gb
7962
7963        * lib/db-io.lisp: Disable the #? reader macro.
7964
79652006-06-14 15:42  gb
7966
7967        * level-0/: PPC/ppc-def.lisp, X86/x86-def.lisp: Fix #+APPLY+
7968        lfun-bits.
7969
79702006-06-12 20:24  gb
7971
7972        * lib/ppc-backtrace.lisp: PPC version of
7973        %find-register-argument-value had the same sort of fencepost as the
7974        x86-64 version had a few days ago.
7975
79762006-06-10 23:52  gb
7977
7978        * lib/arglist.lisp: %ARGLIST-INTERNAL: if generic-function, return
7979        its GENERIC-FUNCTION-LAMBDA-LIST.
7980
79812006-06-10 23:51  gb
7982
7983        * level-1/l1-clos.lisp: Give reader/writer method args more
7984        descriptive names. (Barely more descriptive ...)
7985
79862006-06-10 19:25  gb
7987
7988        * level-1/l1-clos-boot.lisp: Arrgh.  In
7989        %MAYBE-STD-SETF-SLOT-VALUE-USING-CLASS, we know nothing about the
7990        type of the instance, so don't use INSTANCE.SLOTS (instead, let
7991        INSTANCE-SLOTS do a TYPECASE; it's inlined at this point.)
7992       
7993        This was keeping non-standard instances - like ObjC classes and
7994        metaclasses - from having some of their slots initialized
7995        correctly.
7996
79972006-06-10 19:22  gb
7998
7999        * examples/objc-clos.lisp: PRINT-OBJECT methods for objc-class,
8000        objc-metaclass: don't die if the class is unnamed (makes it easier
8001        to print classes for debugging during initialization.)
8002
80032006-06-10 13:05  gb
8004
8005        * level-1/ppc-trap-support.lisp: Fix LinuxPPC64 versions of
8006        XP-FPSCR-INFO and XP-DOUBLE-FLOAT.
8007
80082006-06-08 05:01  gb
8009
8010        * release-notes.txt: Update a bit.
8011
80122006-06-08 03:56  gb
8013
8014        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump
8015        image-abi-version.
8016
80172006-06-08 03:46  gb
8018
8019        * xdump/faslenv.lisp: Bump (min) fasl version.
8020
80212006-06-08 03:35  gb
8022
8023        * lib/nfcomp.lisp: Bump (current) fasl-version.
8024
80252006-06-08 03:28  gb
8026
8027        * lisp-kernel/linuxx8664/Makefile: -O2.
8028
80292006-06-08 03:26  gb
8030
8031        * xdump/faslenv.lisp: Bump (max) fasl version.
8032
80332006-06-08 03:18  gb
8034
8035        * level-1/version.lisp: Bump; give x86-64 port the benefit of the
8036        doubt and claim that it's a beta.
8037
80382006-06-08 03:18  gb
8039
8040        * lisp-kernel/darwinppc64/Makefile: Enable -O2.
8041
80422006-06-08 03:17  gb
8043
8044        * lisp-kernel/darwinppc/Makefile: Some commented-out debugging
8045        options; enable -O2.
8046
80472006-06-08 02:55  gb
8048
8049        * lisp-kernel/x86-exceptions.c: thread_signal_setup() moved here.
8050        Handle suspend (and maybe someday resume, again) signals on the
8051        altstack, since we don't really want a signal context in the middle
8052        of the tagged lisp stack ...
8053
80542006-06-08 02:52  gb
8055
8056        * lisp-kernel/thread_manager.c: thread_signal_setup() moved to
8057        PLATFORM-exceptions.c; some constants/prototypes moved to
8058        Threads.h.
8059
80602006-06-08 02:51  gb
8061
8062        * lisp-kernel/ppc-exceptions.c: suspend_resume_handler() installed
8063        via install_signal_handler(); thread_signal_setup() moved here, to
8064        do that installation.
8065
80662006-06-08 02:50  gb
8067
8068        * lisp-kernel/pmcl-kernel.c: Don't enable_fp_exceptions() twice.
8069       
8070        Don't call (or define) prepare_for_the_worst(), which is kind of
8071        too bad ...
8072
80732006-06-08 02:49  gb
8074
8075        * lisp-kernel/Threads.h: suspend/resume constants, prototypes.
8076
80772006-06-08 01:11  gb
8078
8079        * level-1/l1-files.lisp: Back out of ill-advised changed to %LOAD;
8080        let OPTIMIZE proclamations persist beyond the LOAD.
8081
80822006-06-07 21:45  gb
8083
8084        * lisp-kernel/x86-subprims64.s: No nore %tsp/%Rnext_tsp.
8085
80862006-06-07 21:38  gb
8087
8088        * lisp-kernel/x86-spentry64.s: Don't maintain current/next tsp in
8089        MMX regs.  Do maintain them in TCR.
8090
80912006-06-07 21:37  gb
8092
8093        * lisp-kernel/x86-macros.s: Don't maintain %tsp when stack-consing;
8094        update (decrement) tcr.next_tsp atomically, use %stack_temp as a
8095        temporary (old tsp), finish frame by storing into tcr.save_tsp.
8096
80972006-06-07 21:34  gb
8098
8099        * lisp-kernel/x86-exceptions.c: tsp is in the TCR now.
8100
81012006-06-07 21:33  gb
8102
8103        * lisp-kernel/x86-constants64.s: No more %tsp, %Rnext_tsp.  Define
8104        %stack_temp.
8105
81062006-06-07 21:32  gb
8107
8108        * lisp-kernel/x86-constants64.h: No more Itsp, Inext_tsp.
8109
81102006-06-07 21:30  gb
8111
8112        * level-0/X86/x86-def.lisp: %CURRENT-TSP: the tsp is in the TCR
8113        now.
8114
81152006-06-07 21:30  gb
8116
8117        * compiler/X86/X8664/x8664-vinsns.lisp: Don't try to maintain %tsp
8118        (since it no longer exists ...).  Use %stack-temp in some cases.
8119
81202006-06-07 21:29  gb
8121
8122        * compiler/X86/X8664/x8664-arch.lisp: No more %tsp or %next-tsp.
8123        %stack-temp is a symbolic name for an MMX register that can be used
8124        for (e.g.) linking frames on the temp/foreign stacks (or for any
8125        other purpose ...)
8126
81272006-06-07 15:29  gb
8128
8129        * compiler/X86/X8664/x8664-vinsns.lisp: No more %Rforeign_sp.  Keep
8130        tcr.next_tsp in sync with %next_tsp Check to ensure that
8131        %tsp,tcr.save_tsp,and tcr.next_tsp all have the same value when
8132        allocating on the temp stack.  (This will soon change, so that %tsp
8133        and %next_tsp will not be canonical and the tcr fields are, then
8134        will change so that %tsp and %next_tsp will cease to exist.)
8135
81362006-06-07 15:25  gb
8137
8138        * lisp-kernel/x86-subprims64.s: No more %Rforeign_sp.
8139
81402006-06-07 15:25  gb
8141
8142        * lisp-kernel/: x86-macros.s, x86-spentry64.s: Keep tcr.next_tsp in
8143        sync with %Rnext_tsp.  No more %Rforeign_sp, but we can use %mm5 as
8144        a temporary.
8145
81462006-06-07 15:23  gb
8147
8148        * lisp-kernel/x86-exceptions.c: Find the foreign RSP from the TCR;
8149        don't need FP regs for this.  (They're sometimes invalid and
8150        sometimes missing, which is the point of recent changes.)
8151
81522006-06-07 15:21  gb
8153
8154        * lisp-kernel/x86-constants64.s: No foreign_sp.  Rename %next_tsp
8155        to %Rnext_tsp to avoid potential m4 lossage.
8156
81572006-06-07 15:20  gb
8158
8159        * lisp-kernel/x86-constants64.h: No Iforeign_sp.
8160
81612006-06-07 15:20  gb
8162
8163        * lisp-kernel/thread_manager.c: Initialize tcr->next_tsp on X86.
8164
81652006-06-07 15:19  gb
8166
8167        * level-1/version.lisp: Bump.
8168
81692006-06-07 15:19  gb
8170
8171        * level-0/X86/x86-def.lisp: Get foreign-sp from the TCR.
8172
81732006-06-07 15:18  gb
8174
8175        * compiler/X86/X8664/x8664-arch.lisp: More bootstrapping: no more
8176        foreign-sp register (though some code still uses %mm5 as a
8177        temporary, the "canonical" foreign SP is maintained in the TCR.)
8178
81792006-06-07 04:52  gb
8180
8181        * lisp-kernel/x86-macros.s: When making a catch/unwind-protect
8182        frame, get the foreign SP out of the TCR.
8183
81842006-06-07 04:52  gb
8185
8186        * compiler/X86/X8664/x8664-vinsns.lisp,
8187        lisp-kernel/x86-spentry64.s: More bootstrapping: continue to
8188        maintain the foreign sp in both the TCR and the MMX register, but
8189        consider the TCR version to be canonical.
8190
81912006-06-07 02:46  gb
8192
8193        * compiler/X86/X8664/x8664-vinsns.lisp: More bootstrapping: if the
8194        %tsp MMX register doesn't match the value in the tcr, trap.
8195        Likewise for %foreign-sp.
8196
81972006-06-07 01:29  gb
8198
8199        * compiler/X86/X8664/x8664-vinsns.lisp, lisp-kernel/x86-macros.s,
8200        lisp-kernel/x86-spentry64.s: Try to keep tcr.save_tsp in synch with
8201        %tsp, and likewise for %Rforeign_sp/tcr.foreign_sp.
8202       
8203        (The idea is to keep the temp/foreign stack pointers in the tcr and
8204        only use the MMX registers as temporaries, since it seems that
8205        handlers for asynchronous signals can't count on the MMX register
8206        values in the signal context being correct.  This seems to either
8207        be a Linux kernel bug or ill-considered if it's intentional
8208        behavior, but it seems better to work around it this way.)
8209       
8210        This is just an early step in bootstrapping that change; it's being
8211        checked into CVS so that it doesn't get lost (and so that I can
8212        recover to this point if/when I hose things on a later step.)
8213
82142006-06-07 01:24  gb
8215
8216        * compiler/X86/X8664/x8664-arch.lisp: Add a next-tsp slot to the
8217        tcr.
8218
82192006-06-07 01:22  gb
8220
8221        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Add a
8222        next_tsp slot to the tcr.
8223
82242006-06-06 04:25  gb
8225
8226        * lib/ppc-metering.lisp: no hope
8227
82282006-06-06 04:22  gb
8229
8230        * lib/x86-backtrace.lisp: %find-register-argument-value: Current
8231        frame (cfp argument) could be an exception callback frame (xcf-p
8232        may be true of it), in which case the saved register value is in
8233        the xcf.xp context.  (Basically, this means look at the first frame
8234        if it's an xcf, otherwise skip it and start with the child.)
8235
82362006-06-06 01:48  gb
8237
8238        * compiler/X86/x86-lapmacros.lisp,
8239        compiler/X86/X8664/x8664-vinsns.lisp, lisp-kernel/x86-macros.s:
8240        Using imul to box fixnums is smaller and seems to be faster than
8241        using lea with a scale factor.
8242
82432006-06-05 23:56  gb
8244
8245        * lisp-kernel/thread_manager.c: I don't think that
8246        suspend_resume_handler wants to have suspend signals unmasked, does
8247        it ?
8248
82492006-06-05 12:43  gb
8250
8251        * library/chud-metering.lisp: area-readonly is in ccl:: now.
8252
82532006-06-03 03:11  gb
8254
8255        * lisp-kernel/x86-spentry64.s: In _SPnthrowvalues: don't skip the
8256        last catch frame, do skip others (test was backwards.  As it
8257        probably had been in the single-value case at one point.)
8258
82592006-06-02 03:48  gb
8260
8261        * lib/encapsulate.lisp: Don't print trace indent/outdent stuff to
8262        *terminal-io*; do print it to *trace-output*.
8263
82642006-06-01 20:20  gb
8265
8266        * level-0/l0-array.lisp: There's a T in subtag.
8267
82682006-06-01 20:17  gb
8269
8270        * compiler/X86/x862.lisp: X862-MVCALL wasn't handling things like:
8271       
8272        (multiple-value-bind (...)   (multiple-value-call #'foo ...))
8273       
8274        correctly.
8275
82762006-06-01 20:16  gb
8277
8278        * compiler/nx0.lisp: Defvars for global optimization quantities
8279        moved to level-0.
8280
82812006-06-01 20:15  gb
8282
8283        * level-1/l1-files.lisp: Bind the variables which hold global
8284        compiler optimization quantities, since people persist in doing
8285        things like:
8286       
8287        (declaim (optimize
8288        <something-that-they-probably-think-has-local-effects>))
8289       
8290        without bothering to use EVAL-WHEN or otherwise thinking very
8291        clearly.
8292       
8293        Note that this means that anyone who wanted such a declamation to
8294        have persistent global effects is now SOL.  Blame whoever wrote
8295        (for instance) clx/glx.lisp.
8296
82972006-06-01 20:11  gb
8298
8299        * level-0/l0-init.lisp: Move *nx-speed*, etc here, so that they can
8300        be referenced early in the cold load.
8301
83022006-06-01 13:13  gb
8303
8304        * lib/x86-backtrace.lisp: In %FIND-REGISTER-ARGUMENT-VALUE, pass a
8305        pointer to ENCODED-GPR-LISP if we have to get the register value
8306        from an exception frame.
8307
83082006-05-30 19:27  gwking
8309
8310        * tools/asdf.lisp: Updated asdf to the current CVS head (revision
8311        1.98)
8312
83132006-05-30 17:12  gb
8314
8315        * level-1/version.lisp: bump again.
8316
83172006-05-30 16:31  gb
8318
8319        * lisp-kernel/x86-spentry64.s: When unwinding the stack, try to
8320        ensure that tcr.xframe is updated from the catch frame (a) in all
8321        execution paths and (b) before RSP is updated.
8322
83232006-05-30 16:30  gb
8324
8325        * level-0/l0-array.lisp, lib/sequences.lisp: Handle (simple) fixnum
8326        vectors.
8327
83282006-05-30 16:29  gb
8329
8330        * level-1/l1-typesys.lisp: Add a DEFTYPE for fixnum vectors.
8331
83322006-05-30 16:29  gb
8333
8334        * release-notes.txt: Update some more ...
8335
83362006-05-30 16:23  gb
8337
8338        * lib/ccl-export-syms.lisp: There are two 'e's in UNPROCESSED.
8339        Apparently.
8340
83412006-05-30 16:15  gb
8342
8343        * release-notes.txt: updated
8344
83452006-05-30 01:58  gb
8346
8347        * level-1/version.lisp: Bump.
8348
83492006-05-30 01:48  gb
8350
8351        * lisp-kernel/x86-exceptions.c: altstack_interrupt_handler: having
8352        made copies of the signal context and siginfo on the foreign stack,
8353        don't pass the originals to interrupt_handler().
8354       
8355        (altstack_interrupt_handler() looks suspiciously like
8356        altstack_signal_handler(), which probably had the same bug a few
8357        months ago ...)
8358       
8359        Since the alternate signal stack (as we use it) isn't reentrant,
8360        the next signal (perhaps a suspend signal) overwrote the context.
8361        Which is one reason to have made a copy in the first place ...
8362
83632006-05-30 01:43  gb
8364
8365        * level-1/l1-lisp-threads.lisp: In THREAD-ENABLE, use the new
8366        %TIMED-WAIT-ON-SEMAPHORE-PTR; regardless of whether or not a
8367        timeout is a good idea here, make sure that the timeout isn't
8368        fooled by #$EINTR.
8369
83702006-05-30 01:39  gb
8371
8372        * level-1/linux-files.lisp: Rename the old
8373        %TIMED-WAIT-ON-SEMAPHORE-PTR to %PROCESS-WAIT-ON-SEMAPHORE-PTR,
8374        since it basically waits indefinitely.
8375       
8376        Split out the functionality in TIMED-WAIT-ON-SEMAPHORE into a new
8377        %TIMED-WAIT-ON-SEMAPHORE-PTR function, so that it's possible to do
8378        a "timed wait" that handles interruptions, etc. when the caller
8379        just has a "raw" (native) semaphore.
8380       
8381        Change callers, endure warnings.  New binaries soon.
8382
83832006-05-30 01:36  gb
8384
8385        * level-0/l0-misc.lisp: When waiting for a lock, use the new
8386        %PROCESS-WAIT-ON-SEMAPHORE-PTR.
8387
83882006-05-29 22:34  gb
8389
8390        * lisp-kernel/x86-exceptions.c: The
8391        clear_tcr_save_allocptr_tag_instruction opcode array was one byte
8392        too small ...
8393
83942006-05-29 14:03  gb
8395
8396        * level-1/linux-files.lisp: In %OS-GETCWD: don't trust
8397        syscall-based getcwd (it doesn't work as it once did/is documented
8398        to on linuxx8664); use the library function on all platforms.
8399
84002006-05-29 14:02  gb
8401
8402        * lisp-kernel/x86-exceptions.c: Clear interrupt_pending flag before
8403        processing interrupt.
8404
84052006-05-28 17:01  gb
8406
8407        * lisp-kernel/ppc-exceptions.c: If we handle a
8408        SIGNAL_FOR_PROCESS_INTERRUPT trap, clear tcr->interrupt_pending.
8409       
8410        Back out of the hack that tried to work around a Darwin bug (FP
8411        exception flags were cleared in the MSR after a thread had been
8412        interrupted via pthread_kill()), since the fix seems not to be
8413        GC-safe.
8414       
8415        Add some debugging code to print when the exception lock is
8416        acquired/released.
8417
84182006-05-28 01:10  gb
8419
8420        * level-1/solaris-files.lisp: long gone
8421
84222006-05-23 20:25  gb
8423
8424        * compiler/: PPC/ppc2.lisp, X86/x862.lisp: D'oh!
8425
84262006-05-22 22:59  gb
8427
8428        * darwin-headers/addressbook/: C/populate.sh, .cvsignore,
8429        C/.cvsignore: New file.
8430
84312006-05-22 22:57  gb
8432
8433        * level-1/l1-processes.lisp: PROCESS-SUSPEND: don't allow current
8434        thread to suspend itself.
8435
84362006-05-22 22:57  gb
8437
8438        * compiler/PPC/PPC64/ppc64-vinsns.lisp: Use the SP red zone to load
8439        SINGLE-FLOAT constants.
8440       
8441        SINGLE-FLOAT foreign args are stored in the low 32 bits of each
8442        64-bit arg word, regardless of whether they're also passed in
8443        f1-f13 as well.
8444
84452006-05-22 22:55  gb
8446
8447        * compiler/PPC/PPC64/ppc64-backend.lisp: Callback fixes:
8448        SINGLE-FLOATs passed in memory are passed in the low 32 bits of the
8449        64-bit word.
8450
84512006-05-22 22:54  gb
8452
8453        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Use the red zone (on SP)
8454        for LOAD-SINGLE-FLOAT-CONSTANT, LOAD-DOUBLE-FLOAT-CONSTANT.
8455
84562006-05-22 22:53  gb
8457
8458        * compiler/PPC/PPC32/ppc32-backend.lisp: "poweropen ABI" (Darwin)
8459        callback fixes: SINGLE-FLOATs passed in memory are passed as ...
8460        SINGLE-FLOATs, so don't use %GET-SINGLE-FLOAT-FROM-DOUBLE-PTR to
8461        access them.
8462
84632006-05-22 03:53  gb
8464
8465        * level-1/version.lisp: Bump.
8466
84672006-05-22 03:32  gb
8468
8469        * compiler/X86/X8664/x8664-vinsns.lisp: fixnum->float vinsns.
8470
84712006-05-22 03:31  gb
8472
8473        * compiler/X86/x862.lisp: Numeric contagion on binops,
8474        fixnum->float.
8475
84762006-05-22 03:29  gb
8477
8478        * compiler/PPC/ppc2.lisp: Do stupid self-tail-call tricks on PPC as
8479        well.
8480
84812006-05-22 03:28  gb
8482
8483        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Load tcr.cs-limit a little
8484        earlier when creating a stack frame inline.  Doesn't seem to affect
8485        latency much.
8486
84872006-05-22 03:27  gb
8488
8489        * compiler/X86/x862.lisp: Comment formatting on the first line of
8490        the file.
8491
84922006-05-22 03:26  gb
8493
8494        * compiler/nx0.lisp: Check argument counts on self-calls.  (AFAIK,
8495        this hasn't been done for at least 20 years in MCL/OpenMCL ...)
8496
84972006-05-21 07:34  gb
8498
8499        * compiler/X86/x862.lisp: Long-standing X862-COPY-REGISTER bug.
8500
85012006-05-21 07:32  gb
8502
8503        * compiler/PPC/ppc2.lisp: Implement (late) div2; use (simple)
8504        numeric-contagion stuff for arithmetic ops.
8505
85062006-05-21 07:31  gb
8507
8508        * compiler/nx1.lisp: Use div2 for /-2.
8509
85102006-05-21 07:31  gb
8511
8512        * compiler/nx0.lisp: Binop numeric contagion.
8513
85142006-05-21 06:49  gb
8515
8516        * compiler/nx0.lisp: ACODE-REAL-CONSTANT-P.
8517
85182006-05-21 06:49  gb
8519
8520        * compiler/PPC/ppc2.lisp: Weird case in ppc2-copy-register wasn't
8521        weird, just wrong.
8522
85232006-05-21 06:17  gb
8524
8525        * level-0/l0-pred.lisp: PPC64: %typep recognizes
8526        SIMPLE-FIXNUM-VECTORs.
8527
85282006-05-21 06:16  gb
8529
8530        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
8531        Fixnum vector stuff.  FIXNUM->FPR uses SP red zone.
8532
85332006-05-21 06:16  gb
8534
8535        * compiler/PPC/PPC32/ppc32-arch.lisp,
8536        compiler/PPC/PPC64/ppc64-arch.lisp, lisp-kernel/ppc-constants64.h,
8537        lisp-kernel/ppc-constants64.s, lisp-kernel/ppc-spentry.s: Fixnum
8538        vector stuff.
8539
85402006-05-21 06:15  gb
8541
8542        * compiler/PPC/ppc2.lisp: %fixnum-to-single, %fixnum-to-double.
8543       
8544        Fixnum vector vref/vset.
8545
85462006-05-21 06:15  gb
8547
8548        * compiler/: nx1.lisp, nxenv.lisp: %fixnum-to-single,
8549        %fixnum-to-double.
8550
85512006-05-21 06:14  gb
8552
8553        * compiler/nx0.lisp: More operator result types.
8554
85552006-05-21 04:35  gb
8556
8557        * level-0/l0-array.lisp, level-0/l0-pred.lisp,
8558        level-1/l1-aprims.lisp, level-1/l1-clos-boot.lisp: Integrate
8559        specialized FIXNUM array-element-type into type system, CLOS.
8560        (Knock wood.)
8561
85622006-05-21 04:34  gb
8563
8564        * lisp-kernel/x86-spentry64.s: Support for (out-of-line)
8565        fixnum-vector access (.SPmisc_ref, .SPmisc_set).
8566
85672006-05-21 04:33  gb
8568
8569        * compiler/X86/X8664/x8664-arch.lisp,
8570        lisp-kernel/x86-constants64.h, lisp-kernel/x86-constants64.s: New
8571        subtag for :fixnum-vector.
8572
85732006-05-21 04:32  gb
8574
8575        * compiler/X86/x862.lisp: 64-bit vset wasn't handling non-constant
8576        indices correctly.
8577       
8578        64-bit vset, vref: handle :FIXNUM-VECTOR.
8579
85802006-05-21 00:22  gb
8581
8582        * level-0/l0-aprims.lisp: Spell istruct-typep correctly.
8583
85842006-05-20 18:13  gb
8585
8586        * compiler/X86/x862.lisp: Do some self-tail calls (fixed args, no
8587        stack args) without restoring/re-saving NVRs.
8588
85892006-05-19 15:07  gb
8590
8591        * level-1/linux-files.lisp: RUN-PROGRAM: waiting for the child's
8592        completion semaphore (when :WAIT is true) happens inside an
8593        UNWIND-PROTECT cleanup and therefore needs to explicitly allow
8594        interrupts.
8595
85962006-05-19 15:06  gb
8597
8598        * level-0/l0-aprims.lisp: Add SEMAPHOREP, make it a type-predicate
8599        for SEMAPHORE.
8600
86012006-05-19 12:23  gwking
8602
8603        * lib/misc.lisp: Added help and redisplay to select-item-from-list.
8604        Also changed it so that it displays all items before trying to get
8605        an answer.
8606
86072006-05-19 12:00  gwking
8608
8609        * .cvsignore: The *fsl wasn't cutting it for me..., take two
8610
86112006-05-19 11:57  gwking
8612
8613        * .cvsignore: The *fsl wasn't cutting it for me...
8614
86152006-05-19 11:50  gb
8616
8617        * level-1/version.lisp: Bump.
8618
86192006-05-19 11:49  gb
8620
8621        * level-1/l1-streams.lisp: Change the EVAL-WHEN that requires
8622        syscall definitions so that it can be moused on.
8623
86242006-05-19 11:48  gb
8625
8626        * compiler/X86/X8664/: x8664-arch.lisp, x8664-vinsns.lisp:
8627        .SPeabi-syscall -> .SPsyscall.
8628
86292006-05-19 11:45  gb
8630
8631        * compiler/X86/x862.lisp: Inline ADD2, unless we know that at least
8632        one arg couldn't be a fixnum.  (Should do the same for SUB2.) This
8633        does indeed burn cache lines, but going out of line isn't cheap
8634        either.  (100 million iterations of (+ x (+ y z)) - where X Y and Z
8635        are in fact fixnums and no overflow is involved - seems to be about
8636        2X faster when inlined this way.  Not sure if that'll be the case
8637        on PPC.)
8638
86392006-05-19 11:40  gb
8640
8641        * compiler/nx0.lisp: Use NX-TARGET-TYPE in some of the acode-type
8642        stuff.
8643
86442006-05-18 14:47  gb
8645
8646        * lisp-kernel/ppc-spentry.s: When unwinding the stack (hopefully,
8647        in all places that do so ...), update tcr.xframe from
8648        catch_frame.xframe on all execution paths (in particular, do so
8649        before SP is restored from the catch_frame, since a tcr.xframe
8650        "beyond" SP is clearly bogus.)
8651
86522006-05-18 02:34  gb
8653
8654        * level-1/version.lisp: Bump.
8655
86562006-05-17 23:12  gb
8657
8658        * compiler/PPC/ppc2.lisp: "late" acode-type stuff (add2/sub2/mul2)
8659        for PPC, too.
8660
86612006-05-17 22:53  gb
8662
8663        * level-0/X86/x86-float.lisp: %FP-ERROR-FROM-STATUS: don't cons an
8664        &REST arg.  Should do a quicker test (logandc2 and a shift) to see
8665        if any unmasked exceptions were raised before even calling this ...
8666
86672006-05-17 22:51  gb
8668
8669        * compiler/X86/X8664/x8664-vinsns.lisp: If we have to spill
8670        SINGLE-FLOAT registers, spill them (boxed) on the vstack.
8671
86722006-05-17 22:50  gb
8673
8674        * compiler/X86/x862.lisp: Work harder to find acode types in some
8675        cases.
8676
86772006-05-17 22:50  gb
8678
8679        * compiler/X86/x86-disassemble.lisp: Handle (new-style) byte
8680        registers in OP-REG.
8681       
8682        Don't want to use RET very often if at all, but disassembler should
8683        treat as as a :JUMP.
8684
86852006-05-17 22:48  gb
8686
8687        * compiler/nxenv.lisp: MUL2, DIV2.
8688
86892006-05-17 22:48  gb
8690
8691        * compiler/: nx0.lisp, nx1.lisp: A little of that there
8692        type-inferencing (or, more accurately, paying a little more
8693        attention here and there.)
8694
86952006-05-12 20:40  gwking
8696
8697        * examples/addressbook.lisp: added examples/addressbook.lisp
8698
86992006-05-11 18:42  gb
8700
8701        * level-1/l1-application.lisp: Stop processing command-line
8702        arguments when "--" is encountered; anything after that "--" is
8703        retained in CCL:*UNPROCESSED-COMMAND-LINE-ARGUMENTS*.
8704
87052006-05-11 18:42  gb
8706
8707        * lib/ccl-export-syms.lisp: Export command-line stuff
8708
87092006-05-11 18:40  gb
8710
8711        * level-1/l1-processes.lisp: Lennart Staflin's fix to PRINT-OBJECT
8712        method for LOCKs.
8713
87142006-05-11 18:39  gb
8715
8716        * level-1/l1-files.lisp: In %DIFECTORY-LIST-NAMESTRING: all strings
8717        are base-strings (and always have been in OpenMCL.)
8718
87192006-05-11 18:37  gb
8720
8721        * level-1/l1-sockets.lisp: CCL:BASE-CHARACTER -> CL:BASE-CHAR.
8722
87232006-05-11 08:11  gwking
8724
8725        * lib/db-io.lisp: Added a check that the directory exists to
8726        fid-open-output in order to make it clearer what is wrong when one
8727        is unable to rebuild interface files because they are trying to do
8728        so in a place without FFI files to read!
8729
87302006-05-11 05:14  gb
8731
8732        * level-1/version.lisp, lisp-kernel/image.h, xdump/heap-image.lisp:
8733        Bump lisp-implementation-version, image-abi-version.
8734
87352006-05-11 05:04  gb
8736
8737        * xdump/faslenv.lisp: Bump (min) fasl version.
8738
87392006-05-11 04:52  gb
8740
8741        * lib/nfcomp.lisp: Bump (current) FASL version.
8742
87432006-05-11 04:52  gb
8744
8745        * level-1/l1-files.lisp: FASL-FILE-P looks for inital #xFF00
8746        (big-endian) instead of just #xff, to avoid UTF-16 BOM confusion.
8747
87482006-05-11 04:35  gb
8749
8750        * xdump/faslenv.lisp: Bump (max) fasl version.
8751
87522006-05-11 04:32  gb
8753
8754        * compiler/X86/X8664/x8664-backend.lisp: Little-endianness is a
8755        target-specific feature.
8756
87572006-05-11 03:35  gb
8758
8759        * compiler/PPC/PPC32/ppc32-arch.lisp,
8760        compiler/PPC/PPC32/ppc32-vinsns.lisp, level-0/l0-array.lisp,
8761        level-0/l0-pred.lisp, level-0/PPC/ppc-array.lisp,
8762        level-1/l1-aprims.lisp, level-1/l1-clos-boot.lisp,
8763        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
8764        lisp-kernel/ppc-spentry.s, xdump/xppcfasload.lisp: Juggle PPC32
8765        typecodes around: get rid of the (unused) old 16-bit string; add an
8766        (as yet unused) UCS-4 string type.
8767       
8768        These changes generally involve cross-compilation (or some very
8769        tricky bootstrapping that I didn't attempt)  FASL versions and
8770        kernel ABI versions will need to change, and new binaries will be
8771        made available soon.
8772
87732006-05-10 20:20  gb
8774
8775        * compiler/PPC/ppc-lapmacros.lisp,
8776        compiler/PPC/PPC32/ppc32-arch.lisp,
8777        compiler/PPC/PPC32/ppc32-vinsns.lisp,
8778        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s:
8779        Change CHARCODE-SHIFT constant on PPC32, so that the (currently
8780        8-bit) character code is stored in the #x0000xx00 byte of a
8781        CHARACTER, rather than in the #x00xx0000 byte,  This is hard to
8782        bootstrap natively (which is why I was trying to make ppc64->ppc32
8783        cross-compilation work.)
8784       
8785        Change related macros/visnsns as well.
8786
87872006-05-10 19:00  gb
8788
8789        * xdump/xppcfasload.lisp: Reintroduce a TARGET-ARCH-CASE, but I
8790        think that this is just hard to do right the way that it's being
8791        done.
8792
87932006-05-10 18:59  gb
8794
8795        * level-1/ppc-threads-utils.lisp: BOGUS-THING-P is hard to do right
8796        when cross-compiling (because word-size differences aren't handled
8797        correctly by macros.)  Until the macros are fixed, don't even try
8798        ...
8799
88002006-05-10 18:58  gb
8801
8802        * level-1/l1-clos-boot.lisp: In NEW-CLASS-WRAPPER-HASH-INDEX, user
8803        target::target-most-positive-fixnum (not the host's
8804        MOST-POSITIVE-FIXNUM).
8805
88062006-05-10 18:57  gb
8807
8808        * compiler/: nx0.lisp, nx1.lisp: Use NX-TARGET-TYPE in at least a
8809        few places.
8810
88112006-05-10 18:56  gb
8812
8813        * compiler/nx.lisp: XCOMPILE-LAMBDA binds *TARGET-BACKEND*.
8814
88152006-05-10 18:55  gb
8816
8817        * compiler/nx-basic.lisp: NX-TARGET-TYPE: there may be other
8818        differences between host and target types, but try to turn
8819        references to FIXNUM to the appropriate target-specific type.
8820
88212006-05-09 21:01  gb
8822
8823        * compiler/PPC/PPC32/ppc32-vinsns.lisp: UNBOX-BASE-CHAR just checks
8824        that the lowbyte is SUBTAG-CHARACTER; it used to rotate things
8825        around to check the high bits of the char code, but all chars have
8826        been base-chars for several years now ...
8827       
8828        UNBOX-CHARACTER was unused.
8829       
8830        (This is the first step of what may be several bootstrapping steps
8831        to change PPC32::CHARCODE-SHIFT from 16 to 8, so that we have 24
8832        easily-accessed char-code bits on PPC32.)
8833
88342006-05-09 11:48  gb
8835
8836        * lisp-kernel/xlbt.c: No psn in cs_area.
8837
88382006-05-09 02:42  gb
8839
8840        * lisp-kernel/: gc.h, ppc-gc.c: Back out of the extra Boolean arg
8841        to mark_simple_area_range().
8842
88432006-05-09 02:33  gb
8844
8845        * compiler/PPC/: PPC32/ppc32-backend.lisp,
8846        PPC64/ppc64-backend.lisp: Endianness is also target-specific.
8847
88482006-05-09 02:25  gb
8849
8850        * lisp-kernel/thread_manager.c: Thread stack areas are "owned by"
8851        the containing TCR, to make low-level debugging a bit easier.
8852
88532006-05-09 02:25  gb
8854
8855        * lisp-kernel/ppc-gc.c: Mostly some added consistency/sanity checks
8856        and debugging printfs.
8857
88582006-05-09 02:24  gb
8859
8860        * lisp-kernel/ppc-exceptions.h: Note that pc_luser_xp() needs an
8861        extra (signed_natural *) arg, for allocptr displacement.
8862
88632006-05-09 02:23  gb
8864
8865        * lisp-kernel/ppc-exceptions.c: Lots of #ifdef DEBUG fprintfs.
8866       
8867        Change the way that pc_luser_xp() and normalize_tcr() handle alloc
8868        regs/ saved TCR fields.  The general idea is that the after they
8869        run, all threads have tcr->save_allocptr/tcr_save_allocbase set to
8870        VOID_ALLOCPTR; if the thread was interrupted in lisp code, the
8871        allocbase register will be set to VOID_ALLOCPTR and allocptr will
8872        be set to either VOID_ALLOCPTR or to VOID_ALLOCPTR-disp.
8873       
8874        On an interrupt, the caller needs to pass in a signed_natural * to
8875        pick up the allocptr displacement (if consing was interrupted at
8876        the alloc trap); the interrupt handler uses this value to fix up
8877        alloptr when it returns if consing was interrupted.
8878       
8879        This is all pretty clearly right, but something still goes wrong
8880        under some combination of high thread stress, frequent allocation,
8881        and blocking ff-calls.
8882
88832006-05-09 02:17  gb
8884
8885        * lisp-kernel/plbt.c: No psn currently available.
8886
88872006-05-09 02:16  gb
8888
8889        * lisp-kernel/lisp-debug.c: Bug() passes xp to lisp_Debugger(),
8890        where it may come in handy ...
8891
88922006-05-09 02:16  gb
8893
8894        * lisp-kernel/gc.h: mark_simple_area_range() takes an added Boolean
8895        arg.
8896
88972006-05-09 02:13  gb
8898
8899        * lisp-kernel/area.h: area struct's owner is a (TCR *).
8900
89012006-05-09 02:12  gb
8902
8903        * level-1/l1-error-system.lisp: $xfunbnd was used after all.
8904        Restore it.
8905
89062006-05-09 02:12  gb
8907
8908        * level-0/l0-error.lisp, library/lispequ.lisp,
8909        lisp-kernel/errors.s: $xfunbnd was used after all.  Restore it, and
8910        recycle $XNOCDR.
8911
89122006-05-09 02:11  gb
8913
8914        * compiler/PPC/PPC64/ppc64-backend.lisp: :64-bit-target is ...
8915        target-specific.
8916
89172006-05-09 02:11  gb
8918
8919        * compiler/PPC/PPC32/ppc32-backend.lisp: :32-bit-target is ...
8920        target-specific.
8921
89222006-05-09 00:40  gb
8923
8924        * level-1/l1-lisp-threads.lisp: Foreign thread callback stuff moved
8925        here.
8926
89272006-05-09 00:39  gb
8928
8929        * level-1/x86-threads-utils.lisp: Support for BOGUS-THING-P on
8930        x8664.
8931
89322006-05-09 00:39  gb
8933
8934        * level-1/ppc-threads-utils.lisp: Move foreign-thread callback
8935        stuff up to l1-lisp-threads.lisp.
8936
89372006-05-08 22:58  gb
8938
8939        * lisp-kernel/ppc-spentry.s: misc_ref/misc_set jump tables on PPC64
8940        handle array and vector headers.
8941
89422006-05-08 22:57  gb
8943
8944        * library/lispequ.lisp: Synch errors $xbadvec, $xsetbadvec (neither
8945        of which should ever happen) with the kernel.
8946
89472006-05-08 22:56  gb
8948
8949        * level-1/l1-processes.lisp: %PROCESS-PRESET-INTERNAL doesn't need
8950        the TCR either.
8951
89522006-05-08 22:55  gb
8953
8954        * level-1/l1-error-system.lisp: $XFUNBND is no more.
8955
89562006-05-08 22:55  gb
8957
8958        * level-0/l0-error.lisp: Define the format strings for $xbadvec,
8959        $xsetbadvec.
8960
89612006-05-08 03:26  gb
8962
8963        * lisp-kernel/x86-spentry64.s: .SPstkconslist_star: ensure that
8964        flags are set to the result of decrementing %nargs at the end of
8965        the loop.
8966
89672006-05-08 03:25  gb
8968
8969        * level-1/x86-error-signal.lisp: uuo-error-udf: %err-disp-internal
8970        wants a list of condition args, not a single arg.
8971
89722006-05-08 03:24  gb
8973
8974        * level-1/l1-processes.lisp: %PROCESS-PRESET-INTERNAL doesn't need
8975        CS-AREA.
8976
89772006-05-08 03:23  gb
8978
8979        * level-0/X86/x86-symbol.lisp: %FUNCTION: signal error via
8980        uuo_error_udf, not as a type error.
8981
89822006-05-07 16:50  gb
8983
8984        * lib/describe.lisp: INSPECTOR objects haven't had FORWARDED-P
8985        slots in a long time (they probably haven't -needed- them in even
8986        longer; I think that this had to do with the old partial MOP.)
8987        Don't define the slot for FUNCTION-INSPECTOR, and don't call the
8988        accessor in STANDARD-OBJECT-SETF-LINE-N.
8989
89902006-05-07 04:39  gb
8991
8992        * x86-headers64/gtk2/: .cvsignore, C/.cvsignore, C/populate.sh: New
8993        file.
8994
89952006-05-07 04:34  gb
8996
8997        * lisp-kernel/: area.h, lisp_globals.h, memory.c, pmcl-kernel.c,
8998        thread_manager.c: Combine the AREA_LOCK and TCR_LOCK into a single
8999        lock (TCR_AREA_LOCK).  (This makes it a little harder to deadlock
9000        if code that wants both locks isn't careful to try to obtain them
9001        in some canonical order.)
9002
90032006-05-07 04:29  gb
9004
9005        * lib/x86-backtrace.lisp: Finally find those pesky registers.
9006
90072006-05-07 04:29  gb
9008
9009        * level-1/x86-threads-utils.lisp: Stub BOGUS-THING-P moves here.
9010
90112006-05-07 04:28  gb
9012
9013        * level-0/l0-cfm-support.lisp: FOREIGN-SYMBOL-ENTRY: return NIL if
9014        xFindSymbol/dlsym returns 0 on x8664.
9015
90162006-05-07 04:27  gb
9017
9018        * compiler/X86/: x86-lapmacros.lisp, X8664/x8664-vinsns.lisp: Use
9019        PSRLQ/PSLLQ for single-float boxing/unboxing.  (A few months ago,
9020        I'd mistakenly decided that it was faster to go through memory than
9021        to use these instructions.  It seems to actually be substantially
9022        slower, as one would expect.)
9023
90242006-05-07 04:25  gb
9025
9026        * compiler/X86/x86-asm.lisp: Add support for
9027        PSRLQ/PSRLDQ/PSLLQ/PSLLDQ (sse2 shifts.)
9028
90292006-05-07 04:21  gb
9030
9031        * library/hash-cons.lisp: Fix doc in comments.
9032
90332006-05-07 04:21  gb
9034
9035        * lib/ppc-backtrace.lisp: GET/SET-REGISTER-VALUE.
9036
90372006-05-07 04:20  gb
9038
9039        * lib/format.lisp: YES-OR-NO-P: bell goes to *QUERY-IO*.
9040
90412006-05-07 04:19  gb
9042
9043        * lib/backtrace-lds.lisp: Move GET/SET-REGISTER-VALUE to
9044        TARGET-backtrace.lisp.
9045
90462006-05-07 04:18  gb
9047
9048        * level-1/l1-lisp-threads.lisp: Move (implementation-dependent)
9049        BOGUS-THING-P to TARGET-thread-utils.lisp.
9050
90512006-05-07 04:17  gb
9052
9053        * level-1/ppc-threads-utils.lisp: Move (implementation-dependent)
9054        BOGUS-THING-P support here.
9055
90562006-05-07 04:16  gb
9057
9058        * level-1/l1-processes.lisp: Don't set "owner" field of tcr.cs_area
9059        to psn.
9060
90612006-05-06 15:27  gb
9062
9063        * compiler/nx1.lisp: Ash left by constant: prefer the fixnum case
9064        to the "natural" case.
9065
90662006-05-06 15:26  gb
9067
9068        * compiler/X86/x862.lisp: Pass the right number of args to
9069        NATURAL-SHIFT-LEFT and NATURAL-SHIFT-RIGHT.
9070
90712006-05-06 15:26  gb
9072
9073        * compiler/X86/X8664/x8664-vinsns.lisp: Indentation.
9074
90752006-05-06 02:09  gb
9076
9077        * lisp-kernel/thread_manager.c: Let's see: if thread X holds local
9078        A and tries to obtain lock B, and thread Y holds lock B and tries
9079        to obtain lock A, what is that a classic case of ?
9080       
9081        Try to avoid that classic deadlock case in shutdown_thread_tcr()
9082        when HAVE_TLS is in effect.  suspend_other_threads wants to hold
9083        two locks at the same time, and that's always a bit dangerous; it
9084        might be safer to merge TCR_LOCK and AREA_LOCK into a single lock
9085        that must be owned in order to manipulate either the tcr or area
9086        queues.
9087
90882006-05-06 02:04  gb
9089
9090        * level-1/linux-files.lisp: Make (%REALPATH "") behave like
9091        %REALPATH of the current directory namestring, as it does by
9092        default on some platforms (but not Linux.)
9093
90942006-05-05 20:08  gb
9095
9096        * compiler/X86/x862.lisp: x862-ff-call: really implement the
9097        simple-foreign-args stuff.  Box u64/s64, or don't ... but don't do
9098        the el-bizarro <- with a (temp) node target.
9099
91002006-05-05 20:06  gb
9101
9102        * lib/x86-backtrace.lisp: Get PC-FROM-XCF right (it needs to be
9103        relative to the tagged entrypoint, not to the start of the
9104        underlying function-vector.)
9105
91062006-05-05 13:24  gb
9107
9108        * lisp-kernel/x86-spentry64.s: Preserve NEXT-METHOD-CONTEXT when
9109        heap-consing an &REST arg.  (%allocptr and %next-method-context are
9110        the same register, so &rest clobbbers %next-method-context.)
9111       
9112        Could make separate entry points, so that this is only done when
9113        %next-method-context needs to be preserved ...
9114
91152006-05-05 13:21  gb
9116
9117        * level-0/X86/x86-def.lisp: Use RESERVED-FRAME-MARKER.
9118
91192006-05-05 02:23  gb
9120
9121        * freebsd-headers64/libc/C/populate.sh: New file.  Needs some work.
9122
91232006-05-05 02:23  gb
9124
9125        * freebsd-headers64/libc/: .cvsignore, C/.cvsignore: New file.
9126
91272006-05-05 01:37  gb
9128
9129        * level-1/version.lisp: Bump du jour.
9130
91312006-05-05 01:36  gb
9132
9133        * level-0/X86/x86-def.lisp: %FF-CALL: maintain the distinction
9134        between the first 6 words of the outgoing frame (from which GPRs
9135        will be loaded) and other words (which stay on the stack); after
9136        the first 8 FP args, floats have to be passed on the stack, even if
9137        there's still room in the first 6 words of the outgoing frame.
9138       
9139        Need to understand the struct-by-value rules better: can a struct
9140        be passed partly in registers and partly on the stack ? RTFM (or,
9141        in this case, TF ABI spec.)
9142
91432006-05-05 01:31  gb
9144
9145        * compiler/X86/x862.lisp: In X862-FF-CALL:  - the general integer
9146        case should store relative to "other-offset" (rather than   
9147        "gpr-offset") when more than 6 (not 8) GPR args have been passed. 
9148        - both the single and double-float cases were incrementing
9149        "other-offset"     twice when more than 8 FP args were involved.
9150        This had the effect of     storing floats into every other word and
9151        writing beyond the bounds of     the outgoing stack frame, possibly
9152        overwriting return addresses on the     foreign stack.
9153
91542006-05-04 23:12  gb
9155
9156        * level-1/l1-streams.lisp: James Bielman's fix to
9157        READ-TOPLEVEL-FORM (INPUT-STREAM) (EOF handling/peek-char.)
9158
91592006-05-04 18:30  gb
9160
9161        * compiler/X86/X8664/x8664-backend.lisp: When binding FP args,
9162        decrement FPR-ARG-OFFSET by 8, not -8.
9163       
9164        (This could cause values outside of the stack frame to be read, but
9165        I still haven't found what's writing beyond the frame bounds.)
9166
91672006-05-04 18:27  gb
9168
9169        * lib/x86-backtrace.lisp: If its argument is an exception callback
9170        frame, %CFP-LFUN tries to determine the relative PC associated with
9171        the frame's nominal function and return that as a second value
9172        (just as it does for a real frame.)
9173       
9174        I think that this should work a high percentage of the time, but
9175        callers should generally be prepared to deal with a NULL second
9176        return value from %CFP-LFUN.
9177
91782006-05-04 11:12  gb
9179
9180        * compiler/X86/X8664/x8664-backend.lisp: More callback issues:
9181        since we're using the same stack pointer to return values as we are
9182        to find arguments, don't try to "optimize" its initialization.
9183
91842006-05-03 18:52  gb
9185
9186        * compiler/X86/X8664/x8664-backend.lisp: Clean  up x8664 callbacks
9187        a little.  Don't coerce single float results to double; bind
9188        stack-ptr variable even if no args (might be a return value form
9189        that references it.) Failure to do the latter was creating a weird
9190        free variable reference that wasn't handled by the fasloader.
9191
91922006-05-03 18:50  gb
9193
9194        * level-0/nfasload.lisp: $fasl-vmksym-special wasn't implemented.
9195
91962006-05-03 18:49  gb
9197
9198        * lib/nfcomp.lisp: Indent a comment.
9199
92002006-05-03 18:16  gb
9201
9202        * compiler/X86/x862.lisp, level-0/X86/x86-def.lisp: In an %FF-CALL
9203        that might involve a variable-length arglist (at this level,
9204        always), set %rax to the number (0-8) of FP arguments passed in xmm
9205        registers.
9206
92072006-05-03 13:26  gb
9208
9209        * lisp-kernel/x86-exceptions.c: In find_foreign_rsp(), mask with
9210        ~15, not ~!5.  (This was causing segfaults on return from
9211        interrupts sometimes.)
9212
92132006-05-03 13:24  gb
9214
9215        * lib/backtrace.lisp: CLOSURE-CLOSED-OVER-VALUES, which is needed
9216        by SWANK/SLIME.
9217
92182006-05-03 13:23  gb
9219
9220        * lib/backtrace-lds.lisp: FRAME-SUPPLIED-ARGS, hopefully in a form
9221        that'll work on all platforms.  (Note that FRAME-SUPPLIED-ARGS
9222        seems to get many things wrong.)
9223
92242006-05-03 11:37  gb
9225
9226        * level-1/version.lisp: You mist have yesterday's version.
9227
92282006-05-03 11:37  gb
9229
9230        * level-0/X86/x86-def.lisp: Implement #'%FF-CALL.  Not too much
9231        LAP.
9232
92332006-05-03 11:36  gb
9234
9235        * level-0/l0-init.lisp: Put :X86-64 and :AMD64 on *FEATURES* if
9236        #+x8664-target.
9237
92382006-05-03 11:36  gb
9239
9240        * compiler/X86/X8664/x8664-vinsns.lisp: Bad typo in UNBOX-S64, and
9241        it can just check for a 2-digit bignum header if it has something
9242        of tag TAG-MISC.
9243
92442006-05-03 11:34  gb
9245
9246        * compiler/X86/x862.lisp: X862-COPY-REGISTER: handle :S64
9247        destinations.
9248
92492006-05-03 11:33  gb
9250
9251        * compiler/X86/x86-disassemble.lisp: Recognize
9252        uuo-error-eep-unresolved.
9253
92542006-05-02 18:07  gb
9255
9256        * level-1/version.lisp: Bump.
9257
92582006-05-02 18:07  gb
9259
9260        * lib/: backtrace-lds.lisp, describe.lisp: Comment out stuff that's
9261        (mostly ?) unused and currently PPC-specific, if it works at all
9262        ...
9263
92642006-05-02 10:27  gb
9265
9266        * level-1/l1-streams.lisp: Don't definea STREAM-CLEAR-INPUT method
9267        for STRING-INPUT-STREAMs; it's not clear what such a method should
9268        do (and fairly clear that it shouldn't do what the previous
9269        definition was doing.)
9270
92712006-05-02 10:26  gb
9272
9273        * lib/format.lisp: clear input from *query-io*, not from
9274        *terminal-io* in YES-OR-NO-P, Y-OR-N-P
9275
92762006-05-02 10:26  gb
9277
9278        * library/hash-cons.lisp: x8664 lap
9279
92802006-05-02 10:26  gb
9281
9282        * lisp-kernel/x86-gc.c: hons area stuff
9283
92842006-04-29 09:14  gb
9285
9286        * lisp-kernel/x86-exceptions.c: Write-protect handlers for stack
9287        overflow (on value/temp stacks).
9288
92892006-04-29 09:13  gb
9290
9291        * level-1/x86-trap-support.lisp: Handle stack overflow in cmain
9292        callback.
9293
92942006-04-29 09:10  gb
9295
9296        * lisp-kernel/freebsd8664/Makefile: x86-gc.o.
9297       
9298        No linker script.
9299       
9300        Use -lthr, which offers 1:1 threads.
9301
93022006-04-29 09:09  gb
9303
9304        * lisp-kernel/lisptypes.h: Remove the __sighandler typedef.
9305
93062006-04-29 09:01  gb
9307
9308        * lisp-kernel/x86-exceptions.h: xpMMXreg for FreeBSD.
9309
93102006-04-29 09:00  gb
9311
9312        * lisp-kernel/x86-exceptions.c: Don't use __sighandler_t.  (See if
9313        anything cares ...)
9314
93152006-04-29 08:59  gb
9316
9317        * lisp-kernel/x86-constants64.h: FreeBSD register constants.
9318
93192006-04-29 08:58  gb
9320
9321        * lisp-kernel/lisp-debug.c: FreeBSD regiser names.
9322
93232006-04-29 08:58  gb
9324
9325        * lisp-kernel/area.h: Update IMAGE_BASE_ADDRESS for FreeBSD.
9326
93272006-04-28 21:28  gb
9328
9329        * level-1/version.lisp: bump.
9330
93312006-04-28 21:27  gb
9332
9333        * lib/backtrace.lisp: changes to print-call-history (and "internal"
9334        version).
9335
93362006-04-28 21:24  gb
9337
9338        * lib/ppc-backtrace.lisp: Fix typo.
9339
93402006-04-28 21:23  gb
9341
9342        * level-1/l1-readloop-lds.lisp: Add :NFRAMES break loop command.
9343       
9344        Change the command/keyword parser a little, so that :FOO is just
9345        :FOO and not (:FOO).
9346       
9347        Change :B break loop command (and :F) to allow focusing on a range
9348        of frames, and change PRINT-CALL-HISTORY to more easily support
9349        that.
9350
93512006-04-28 19:37  gb
9352
9353        * level-0/PPC/ppc-numbers.lisp: Remove a quote from a LAP
9354        LOAD-CONSTANT form.
9355
93562006-04-28 19:34  gb
9357
9358        * lib/: backtrace.lisp, ppc-backtrace.lisp, x86-backtrace.lisp:
9359        Factor out a little more.  Time to see what's broken on PPC ...
9360
93612006-04-28 19:34  gb
9362
9363        * level-1/: l1-readloop-lds.lisp, l1-streams.lisp: Make parens
9364        around colon-commands optional.
9365
93662006-04-28 04:11  gb
9367
9368        * lisp-kernel/linuxx8664/.gdbinit: 'lregs' calls the kernel
9369        debugger's register display code.
9370
93712006-04-28 04:11  gb
9372
9373        * lisp-kernel/xlbt.c: Don't claim that the (legitimate) last frame
9374        on the stack is bogus.
9375
93762006-04-28 04:10  gb
9377
9378        * lisp-kernel/x86-exceptions.c: Create fake stack frames (sort of
9379        ...) when calling back for an exception.
9380
93812006-04-28 03:36  gb
9382
9383        * lisp-kernel/x86-constants64.h: A few symbolic register names.
9384       
9385        xcf struct.
9386
93872006-04-28 03:36  gb
9388
9389        * library/lispequ.lisp: FAKE-STACK-FRAME is #+ppc-target.
9390
93912006-04-28 03:36  gb
9392
9393        * lib/x86-backtrace.lisp: Implemented some stuff.
9394       
9395        Backtrace (sort of) works on x8664 now; need to find register
9396        values,  hide tagged return addresses, a few other things.
9397
93982006-04-28 03:34  gb
9399
9400        * lib/ppc-backtrace.lisp: Stuff moved here from elsewhere.
9401
94022006-04-28 03:34  gb
9403
9404        * lib/backtrace-lds.lisp: LAST-CATCH-SINCE moved elsewhere.
9405
94062006-04-28 03:33  gb
9407
9408        * level-1/x86-trap-support.lisp: Flags register accessor.
9409       
9410        New exception callback scheme.
9411
94122006-04-28 03:33  gb
9413
9414        * level-1/x86-threads-utils.lisp: The lowlevel system keeps
9415        changing.
9416
94172006-04-28 03:32  gb
9418
9419        * level-1/x86-error-signal.lisp: New exception callback stuff.
9420
94212006-04-28 03:32  gb
9422
9423        * level-1/l1-readloop-lds.lisp: No fake stack frames on x86.
9424
94252006-04-28 03:32  gb
9426
9427        * level-1/l1-lisp-threads.lisp: Move more stuff to arch-specific
9428        files.
9429
94302006-04-28 03:31  gb
9431
9432        * level-1/l1-events.lisp: No fake-stack-frames on x86, but we do
9433        have exception callback frames ...
9434
94352006-04-28 03:30  gb
9436
9437        * level-1/l1-error-system.lisp: Tweak :report method for
9438        wrong-number-of-args errors.
9439
94402006-04-28 03:30  gb
9441
9442        * level-0/X86/x86-def.lisp: Implement APPLY+.
9443
94442006-04-28 03:29  gb
9445
9446        * compiler/X86/X8664/x8664-arch.lisp: eXception Callback Frame.
9447
94482006-04-28 03:27  gb
9449
9450        * compiler/X86/x86-lapmacros.lisp: Add missing IN-PACKAGE.
9451       
9452        CHECK-NARGS: don't enforce upper bound if it's null.
9453
94542006-04-28 03:17  gb
9455
9456        * compiler/X86/x86-arch.lisp: x86 xFLAGS bits.
9457
94582006-04-28 03:16  gb
9459
9460        * compiler/nx0.lisp: Allow (FUNCTION (SETF name)) in
9461        IGNORE/IGNORABLE/DYNAMIC-EXTENT declarations.
9462
94632006-04-26 14:18  gb
9464
9465        * compiler/nx0.lisp: Allow (SETF NAME) in DEFINE-COMPILER-MACRO.
9466
94672006-04-26 14:17  gb
9468
9469        * lib/misc.lisp: Disassemble is supposed to signal an error (or "be
9470        prepared" to do so) if its argument isn't a function designator, so
9471        don't quietly call METHOD-FUNCTION for the user.
9472
94732006-04-26 13:56  gb
9474
9475        * lib/encapsulate.lisp: Use REPLACE-FUNCTION-CODE (not (SETF (UVREF
9476        ...))) in ENCAPSULATE, REMOVE-ENCAPSULATION.
9477
94782006-04-26 03:59  gb
9479
9480        * lisp-kernel/: x86-spentry64.s, x86-subprims64.s: zero out the
9481        exception bits whenever mxcsr is stored in tcr.foreign_mxcsr, so no
9482        exceptions will be pending when we start an ff-call (and the mxcsr
9483        is loaded from that location.)
9484       
9485        tcr.ffi_exception will then contain non-zero exception bits iff the
9486        most recent ff-call raised a (probably masked) FP exception.
9487       
9488        TODO: make this reentrant (PROCESS-INTERRUPT should preserve this.)
9489
94902006-04-26 03:55  gb
9491
9492        * lisp-kernel/x86-constants.s: define mxcsr exception bits.
9493
94942006-04-26 03:23  gb
9495
9496        * lisp-kernel/x86-constants64.s: Update comment on
9497        tcr.ffi_exception.
9498
94992006-04-26 03:22  gb
9500
9501        * lisp-kernel/x86-spentry64.s: Maintain tcr.ffi_exception on return
9502        from ffcall.  (Should maybe clear exception bits on entry to
9503        foreign state, so we're sure that any exception bits set in the
9504        tcr.ffi_exception slot were caused by the most recent ff-call.)
9505
95062006-04-26 03:20  gb
9507
9508        * level-0/X86/x86-float.lisp: Check MXCSR status bits from last
9509        ffcall, compare them to unmasked exception bits in current MXCSR,
9510        maybe raise FP exception.  (Note: compile this change and rebuild
9511        image before making corresponding kernel change.)
9512
95132006-04-26 02:31  gb
9514
9515        * lisp-kernel/x86-spentry64.s: .SPbuiltin-logxor was calling out to
9516        LOGAND-2, not to LOGXOR-2.  Sheesh.
9517
95182006-04-26 02:01  gb
9519
9520        * compiler/X86/X8664/x8664-vinsns.lisp: %ILOGBITP treats "large"
9521        bit numbers as tests of the sign bit.   (This is probably best
9522        viewed as being "formally undefined", but it's not too expensive to
9523        check for that.  The case where the bit number's negative is
9524        definitely undefined; I think that it also gets treated as a test
9525        of the sign bit.)
9526
95272006-04-26 01:58  gb
9528
9529        * lisp-kernel/x86-spentry64.s: Logbitp calls out if bit number
9530        negative.
9531
95322006-04-26 01:32  gb
9533
9534        * lisp-kernel/x86-spentry64.s: If both args fixnums, handle bits >=
9535        61.  (Should check here for negative bit .)
9536
95372006-04-26 01:31  gb
9538
9539        * lisp-kernel/x86-exceptions.c: If we get the "no FP regs in
9540        context" error - which typically indicates a fault during exception
9541        processing - pass the context in to the kernel debugger.
9542
95432006-04-26 01:30  gb
9544
9545        * level-0/X86/x86-pred.lisp: Change EQL doc string.
9546
95472006-04-26 00:56  gb
9548
9549        * level-0/X86/x86-pred.lisp: EQL on two bignums works much better
9550        if it compares all corresponding digits, rather than repeatedly
9551        comparing the 0th digits N times ...
9552
95532006-04-25 17:38  gb
9554
9555        * lisp-kernel/x86-spentry64.s: _SPmvslide: skip the loop if nargs
9556        is 0, not if disp is 0.  ash: always make a signed integer out of
9557        the result,  since arg is always signed.
9558
95592006-04-25 17:37  gb
9560
9561        * level-0/X86/x86-float.lisp: Negate floats by fliping the sign
9562        bit, so (for instance) (- 0.0d0) is -0.0d0.
9563
95642006-04-25 17:36  gb
9565
9566        * level-0/X86/x86-hash.lisp: Hash bignums 32 bits (not 64!) at a
9567        time.
9568
95692006-04-25 17:35  gb
9570
9571        * compiler/X86/x862.lisp: %%INEG: need to ensure that source
9572        operand is in target reg (2-address issue.)
9573
95742006-04-24 16:42  gb
9575
9576        * lisp-kernel/x86-spentry64.s: How hard can misc_set_s32 be ?
9577        Apparently, pretty hard.  It was doing a logical shift right when
9578        typechecking the value, so negative values were rejected.
9579
95802006-04-24 16:41  gb
9581
9582        * lisp-kernel/x86-exceptions.c: Call out to handle SIGFPE.  cmain
9583        callback now takes a 'signo' argument.
9584
95852006-04-24 16:40  gb
9586
9587        * level-1/x86-trap-support.lisp: Initial support for handling
9588        arithmetic errors.  Will need more work to get operation and
9589        operands right.
9590
95912006-04-24 16:39  gb
9592
9593        * lib/compile-ccl.lisp: REBUILD-CCL: :reload arg defaults to T.
9594
95952006-04-24 13:58  gb
9596
9597        * level-1/x86-error-signal.lisp: SETQ (not #'SET) in the
9598        uuo-error-reg-not-type case.
9599
96002006-04-24 13:57  gb
9601
9602        * level-0/X86/x86-float.lisp: Generally want to use FPZERO, not
9603        FP0, for 0.0[d,f]0.  (One case wanted to use fp1, but that's
9604        another story.)
9605
96062006-04-24 13:55  gb
9607
9608        * compiler/X86/X8664/x8664-vinsns.lisp: REQUIRE-REAL,
9609        REQUIRE-NUMBER: mask wont fit in 32 bits.  OTOH, doesn't need to be
9610        boxed, either.
9611
96122006-04-24 12:02  gb
9613
9614        * lisp-kernel/x86-spentry64.s: misc_set_s32: register botch.
9615        _SPtcallnfngen: several bugs, which were already fixed in similar
9616        variants.
9617
96182006-04-24 12:01  gb
9619
9620        * lisp-kernel/x86-gc.c: Use FORCE_DWS_MARK to force use of the
9621        Deutch/Waite/Schorr marker.
9622
96232006-04-24 12:00  gb
9624
9625        * lisp-kernel/pmcl-kernel.c: Only turn on GC debug bit if
9626        GC_INTEGRITY_CHECKING is defined (e.g., in Makefile.)
9627
96282006-04-24 11:59  gb
9629
9630        * level-1/linux-files.lisp: Remove debugging FORMAT call.
9631
96322006-04-24 11:58  gb
9633
9634        * level-0/X86/x86-numbers.lisp: %ROUND-NEAREST-SHORT-FLOAT->FIXNUM:
9635        argument is a SINGLE/SHORT-FLOAT, so don't access as a
9636        DOUBLE-FLOAT.
9637
96382006-04-24 11:58  gb
9639
9640        * level-0/X86/x86-float.lisp: %MAKE-FLOAT-FROM-FIXNUMS: mask the
9641        high and low words of the mantissa, to ensure that no hidden bits
9642        are set.  (Some such bits were set, causing many double-float
9643        constansts - like MOST-POSITVE-DOUBLE-FLOAT - to be bogus NaNs).
9644
96452006-04-24 02:21  gb
9646
9647        * lisp-kernel/image.c: Expect a MANAGED_STATIC section in the
9648        image.
9649       
9650        (Don't expect it to have any contents yet; that'll require several
9651        more changes.   This is all intended to support PURIFY on x8664,
9652        where we'll want to ensure that any constant referenced by a
9653        function in readonly/pure memory has a fixed, static address.)
9654
96552006-04-24 02:14  gb
9656
9657        * lisp-kernel/image.h: Bump IMAGE_ABI_VERSION.  New managed_static
9658        section makes NUM_IMAGE_SECTIONS 4.
9659
96602006-04-24 02:13  gb
9661
9662        * lisp-kernel/area.h: Typo in the definition of
9663        AREA_MANAGED_STATIC.
9664
96652006-04-24 02:12  gb
9666
9667        * lisp-kernel/: pmcl-kernel.c, kernel-globals.h: Global pointers to
9668        more areas.
9669
96702006-04-24 02:12  gb
9671
9672        * lisp-kernel/ppc-exceptions.c: EGC write-barrier labels are the
9673        addresses of instructions (not pointers thereto ...)
9674
96752006-04-24 02:11  gb
9676
9677        * lisp-kernel/ppc-gc.c: Add conditionalization to force DWS marker
9678        (mostly so that I could step through it to remember how it worked
9679        ...).
9680
96812006-04-24 02:10  gb
9682
9683        * lisp-kernel/ppc-spentry.s: write-barrier exported symbols: remove
9684        indirection.
9685
96862006-04-24 02:09  gb
9687
9688        * lisp-kernel/x86-gc.c: Remove a sanity check.
9689
96902006-04-24 02:09  gb
9691
9692        * xdump/xfasload.lisp: Create (empty) managed-static section
9693        (mostly for x8664 PURIFY, but might be useful on PPC someday.)
9694
96952006-04-24 02:08  gb
9696
9697        * xdump/heap-image.lisp: New image-abi-version, for managed-static
9698        section.
9699
97002006-04-24 02:07  gb
9701
9702        * level-1/linux-files.lisp: GET-DESCRIPTOR-FOR: try not to leak
9703        fds, take CLOSE-ON-ERROR more seriously.
9704
97052006-04-24 02:06  gb
9706
9707        * compiler/PPC/ppc2.lisp: (eq %FOREIGN-STACK-POINTER
9708        %CURRENT-FRAME-PTR) on PPC32/64.
9709
97102006-04-24 00:50  gb
9711
9712        * level-1/version.lisp: Bump.  Getting there ...
9713
97142006-04-24 00:50  gb
9715
9716        * level-0/l0-misc.lisp: Use %GET-NATURAL where possible.
9717       
9718        Note that TCRs aren't guaranteed to be in the low 32 bits on x8664,
9719        so pass them as a pointer to avoid word-size issues.
9720
97212006-04-24 00:48  gb
9722
9723        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Implement
9724        things that had been missing.
9725
97262006-04-24 00:48  gb
9727
9728        * compiler/X86/x86-disassemble.lisp: Recognize recently-defined
9729        UUOs.
9730
97312006-04-24 00:48  gb
9732
9733        * compiler/X86/x86-backend.lisp: Fix FIXUP-OPCODE-ORDINALS (again).
9734
97352006-04-24 00:47  gb
9736
9737        * compiler/X86/x86-asm.lisp: UUO-ERROR-ARRAY-BOUNDS.
9738
97392006-04-24 00:47  gb
9740
9741        * compiler/PPC/PPC64/ppc64-vinsns.lisp: A little word-size cleanup.
9742
97432006-04-24 00:47  gb
9744
9745        * compiler/nxenv.lisp: %FOREIGN-STACK-POINTER.
9746
97472006-04-24 00:46  gb
9748
9749        * compiler/nx1.lisp: WITH-C-FRAME, WITH-VARIABLE-C-FRAME: use (new)
9750        %FOREIGN-STACK-POINTER, not %CURRENT-FRAME-PTR (differ on x8664;
9751        need to boostrap on PPC).
9752       
9753        Parse %FOREIGN-STACK-POINTER.
9754
97552006-04-22 03:30  gb
9756
9757        * lisp-kernel/thread_manager.c: If we're using thread-local-storage
9758        (HAVE_TLS is defined), make shutdow_thread_tcr() dequeue the tcr,
9759        because (a) nothing else will and (b) the tcr will likely become
9760        unmapped soon, and we don't want things that walk the tcr list to
9761        segfault.
9762
97632006-04-22 03:27  gb
9764
9765        * lisp-kernel/x86-exceptions.c: Something's clearly wrong in
9766        find_foreign_rsp; call Bug() and exit() if the context has no
9767        fpregs.  (That's a symptom, not the proble, but it's slightly
9768        better to do this than to double fault, which is what seems to be
9769        happening.)
9770
97712006-04-21 10:12  gb
9772
9773        * lisp-kernel/x86-exceptions.c: implement pc_luser_xp; just has to
9774        worry about consing, write-barrier stuff.
9775
97762006-04-21 10:11  gb
9777
9778        * lisp-kernel/x86-constants.h: Define X86 flags register bits
9779        (condition codes.)
9780
97812006-04-21 10:11  gb
9782
9783        * lisp-kernel/x86-exceptions.h: change the signature of pc_luser_xp
9784        (again.)
9785       
9786        Define enumeration constants for matching the instructions that can
9787        occur during consing.
9788
97892006-04-21 10:09  gb
9790
9791        * lisp-kernel/x86-spentry64.s: Preserve %temp0 in
9792        store_node_conditional, in case pc_luser_xp() needs to complete the
9793        memoization.
9794
97952006-04-21 02:50  gb
9796
9797        * lisp-kernel/x86-spentry64.s: Use only the value of the first
9798        instance of :ALLOW-OTHER-KEYS to determine whether unknown keys are
9799        allowed.
9800
98012006-04-21 02:49  gb
9802
9803        * lisp-kernel/lisp-debug.c: Tweak things so that %rip and %flags
9804        line up with GPRs.
9805
98062006-04-21 02:48  gb
9807
9808        * lib/sequences.lisp: SIMPLE-1D-ARRAY-SUBSEQ: 64-bit vector case is
9809        #+64-bit-target, not #+ppc64-target.
9810
98112006-04-21 02:47  gb
9812
9813        * level-0/X86/x86-array.lisp: %SIMPLE-BIT-BOOLE: shift by the right
9814        amount.
9815
98162006-04-21 02:46  gb
9817
9818        * level-0/l0-array.lisp: %UVECTOR-REPLACE: 64-bit vectors aren't
9819        unique to PPC64 (but do depend on #+64-bit-target).
9820
98212006-04-21 02:46  gb
9822
9823        * compiler/X86/x862.lisp: The binding(s) of *INTERRUPT-LEVEL*
9824        confuse PROGV; remove them, for now.
9825
98262006-04-20 23:35  gb
9827
9828        * lisp-kernel/x86-spentry64.s: In the bignum case of
9829        .SPinteger-sign, sign-extend the bignum's sign digit instead of ...
9830        whatever the code was trying to do there.
9831       
9832        In the lexpr-has-two-values case of .SPspread-lexprz, load arg_y
9833        and arg_z from the correct offsets within the lexpr.
9834
98352006-04-20 04:48  gb
9836
9837        * lisp-kernel/x86-gc.c: Get the link-inverting marker written;
9838        force it to always be used, for now.
9839
98402006-04-19 17:11  gb
9841
9842        * lisp-kernel/pmcl-kernel.c: (Very) different
9843        MAXIMUM_MAPPABLE_MEMORY for Solaris.
9844
98452006-04-19 17:10  gb
9846
9847        * lisp-kernel/area.h: (Very) different IMAGE_BASE_ADDRESS for
9848        Solaris.
9849
98502006-04-19 00:35  gb
9851
9852        * lisp-kernel/x86-gc.c: Write a few paragraphs outlining how the
9853        reversing-pointer marker should work.  (Perhaps it's a strong
9854        argument for implementing "purify" soon.)
9855
98562006-04-19 00:34  gb
9857
9858        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
9859        function-boundary-marker.
9860
98612006-04-19 00:33  gb
9862
9863        * lisp-kernel/macros.h: Add node_aligned and indirect_node macros.
9864
98652006-04-18 19:35  gb
9866
9867        * lisp-kernel/x86-spentry64.s: Comparison was backwards in
9868        multiple-value case of THROW: don't want to do unbind_to if tcr's
9869        db-link matches target catch frame's.
9870
98712006-04-18 19:33  gb
9872
9873        * lisp-kernel/x86-uuo.s: Add UUO-ERROR-DEBUG-TRAP, remove
9874        UUO-ERROR-STACK-OVERFLOW.  Still need to get this completely in
9875        synch with x86-asm.
9876
98772006-04-18 19:33  gb
9878
9879        * level-1/l1-readloop-lds.lisp: Say more about the availability of
9880        :R in break messages.
9881       
9882        Say more about :C in :R.
9883
98842006-04-18 19:32  gb
9885
9886        * level-1/l1-readloop.lisp: Remove the #+x86-target debugging code
9887        in QUIT's PROCESS-INTERRUPT call, since the closure- trashing bug
9888        seems to have been fixed.
9889
98902006-04-18 19:31  gb
9891
9892        * level-1/x86-error-signal.lisp: Recognize (uuo-error-not-tag %rn
9893        x8664::subtag-catch-tag) as CANT-THROW-ERROR.  (Yes, this is a
9894        horrible kludge, but it only happens once.)
9895
98962006-04-18 19:19  gb
9897
9898        * level-1/l1-processes.lisp: Remove the #+x86-target debugging code
9899        in PROCESS-EXIT-APPLICATION, since the closure- trashing bug seems
9900        to have been fixed.
9901
99022006-04-18 19:18  gb
9903
9904        * level-0/X86/x86-pred.lisp: EQL on bignums wasn't using
9905        X8664::MISC-DATA-OFFSET, so it was comparing a few bytes beyond the
9906        ends of its arguments and ignoring the first few bytes (as well as
9907        doing misaligned memory references.)
9908
99092006-04-18 19:16  gb
9910
9911        * level-0/X86/x86-def.lisp: Insert the PPC version of APPLY+ here.
9912        This'll require some thought, mostly because of the reserved-frame
9913        issue(s).
9914
99152006-04-18 06:21  gb
9916
9917        * lisp-kernel/ppc-constants32.s: Comment mishaps.  These wacky
9918        adventures are about to end, I'm afraid.
9919
99202006-04-18 06:04  gb
9921
9922        * level-1/version.lisp: Daily bump.
9923
99242006-04-18 05:59  gb
9925
9926        * level-1/l1-sockets.lisp: Comment indentation.
9927
99282006-04-18 05:56  gb
9929
9930        * level-0/PPC/ppc-def.lisp: Move APPLY+ here.
9931
99322006-04-18 05:55  gb
9933
9934        * lib/setf-runtime.lisp: Move APPLY+ (which is defined in LAP) to
9935        ppc-def (that means that there will need to be an APPLY+ for
9936        x8664).
9937
99382006-04-18 05:38  gb
9939
9940        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Try to get the
9941        compiler and x8664-vinsn-templates to agree on vinsn-names and
9942        implement some vinsns that had been missing.  (About 15 or so
9943        undefined vinsns remain.)
9944
99452006-04-18 05:37  gb
9946
9947        * compiler/X86/x86-backend.lisp: The mechanism that tries to fixup
9948        opcode ordinals in vinsn templates (e.g., in case new instructions
9949        are defined in the assembler) wasn't checking to see if vinsn
9950        templates named in the hash table were defined.  (It was apparently
9951        getting away with this because CONSP was broken.)  So, don't try to
9952        fixup opcode ordinals in NIL, and optionally report templates
9953        that're referenced but not defined.
9954
99552006-04-18 04:38  gb
9956
9957        * compiler/X86/x862.lisp: CONSP was using the EXTRACT-FULLTAG vinsn
9958        (which only sets the low 8 bits of its destination), then comparing
9959        all 64-bits of the destination to a zero-extended 32-bit constant.
9960        (E.g., CONSP had little chance of being right all other things
9961        being equal, but may have been right more than one in 2^56 times if
9962        some random preceding instruction had zeroed the upper 56 bits.)
9963       
9964        (It's also shorter to do an 8-bit compare.)
9965
99662006-04-18 03:11  gb
9967
9968        * level-0/X86/x86-hash.lisp: box-fixnum arg order in %DFLOAT-HASH.
9969
99702006-04-18 02:51  gb
9971
9972        * compiler/X86/X8664/x8664-vinsns.lisp: Now that all assemblers are
9973        happy (well, as happy as they're going to be ...), back to finding
9974        bugs.  MULTIPLY-FIXNUMS has to unbox one arg (the source).
9975
99762006-04-18 01:26  gb
9977
9978        * lisp-kernel/thread_manager.c: Some Solaris changes.
9979
99802006-04-18 00:48  gb
9981
9982        * lisp-kernel/solarisx64/Makefile: The version of gm4 that Sun
9983        installs in /usr/sfw/bin is both newer and buggier than the version
9984        available on the "Solaris Companion" disk, which gets installed in
9985        /opt/sfw/bin.
9986       
9987        Ordinarily, I'd wonder why a "companion" disk offers to install
9988        software that's bundled as part of the installation (especially old
9989        versions of that software.)  Now I know.
9990
99912006-04-18 00:45  gb
9992
9993        * lisp-kernel/x86-spentry64.s: # __line__ wasn't a comment.
9994
99952006-04-18 00:45  gb
9996
9997        * lisp-kernel/m4macros.m4: Fix changecom.
9998
99992006-04-18 00:11  gb
10000
10001        * lisp-kernel/x86-spentry64.s: x8664 linux as doesn't like typos,
10002        but is otherwise fine with single-line /* */.
10003
100042006-04-18 00:09  gb
10005
10006        * lisp-kernel/: errors.s, imports.s, lisp.s, m4macros.m4,
10007        ppc-asmutils.s, ppc-constants.s, ppc-constants32.s,
10008        ppc-constants64.s, ppc-macros.s, ppc-spentry.s, ppc-spjump.s,
10009        ppc-subprims.s, ppc-uuo.s, x86-asmutils64.s, x86-constants.s,
10010        x86-constants64.s, x86-macros.s, x86-spentry64.s, x86-spjump64.s,
10011        x86-subprims64.s, x86-uuo.s, darwinppc/Makefile,
10012        darwinppc64/Makefile: Whoops.  Darwin as doesn't like #.  I dont
10013        like Darwin as, but we're back to single-line /* */, which is often
10014        pretty ugly and not well-supported by Emacs.
10015
100162006-04-17 23:23  gb
10017
10018        * lisp-kernel/: errors.s, imports.s, lisp.s, m4macros.m4,
10019        ppc-asmutils.s, ppc-constants.s, ppc-constants32.s,
10020        ppc-constants64.s, ppc-uuo.s, x86-asmutils64.s, x86-constants.s,
10021        x86-constants64.s, x86-macros.s, x86-spjump64.s, x86-subprims64.s,
10022        x86-uuo.s: Use #/newline for comment delimiters, which is supported
10023        by Emacs and by all current GAS versions (but see ARM conventions.)
10024         No more jerking around with this, knock wood.
10025
100262006-04-17 23:23  gb
10027
10028        * lisp-kernel/x86-spentry64.s: _SPspread_lexprz wasn't handling the
10029        case where caller provided args before the lexpr, which is much
10030        harder than the simple case.
10031       
10032        Use #/newline for comment delimiters, which is supported by Emacs
10033        and by all current GAS versions (but see ARM conventions.)  No more
10034        jerking around with this, knock wood.
10035
100362006-04-17 23:20  gb
10037
10038        * level-0/X86/x86-numbers.lisp: %FIXNUM-GCD was horrible, espcially
10039        when numbers differed greatly in magnitude.  Current (binary)
10040        algorithm is usually OK.
10041
100422006-04-17 23:17  gb
10043
10044        * compiler/X86/x86-lap.lisp: Condition name should be
10045        UNDEFINED-X86-LAP-LABEL, since it's (a) referenced and (b) that's
10046        not the problem.  Name wasn't spelled correctly in code that
10047        signals the condition, anyway.
10048
100492006-04-17 16:34  gb
10050
10051        * lisp-kernel/x86-exceptions.c: pc_luser_xp always takes a tcr
10052        argument, takes a new boolean to distinguish current tcr from
10053        others.  (The current tcr is only lusered on an interrupt; others
10054        are only lusered on GC entry.)
10055
100562006-04-17 16:33  gb
10057
10058        * lisp-kernel/x86-exceptions.h: X86 prototype for pc_luser_xp moved
10059        here.  (No deep reason not to share the new x86 signature on all
10060        architectures.)
10061
100622006-04-17 16:32  gb
10063
10064        * lisp-kernel/ppc-exceptions.h: PPC prototype for pc_luser_xp moved
10065        here.  (No deep reason not to share the new x86 signature on all
10066        architectures.)
10067
100682006-04-17 16:31  gb
10069
10070        * lisp-kernel/lisp-exceptions.h: prototype for pc_luser_xp is
10071        platform-dependent.
10072
100732006-04-17 06:49  gb
10074
10075        * level-1/l1-readloop.lisp: In the closure created in QUIT, only do
10076        CCL::DBG if (a) we're on X86 and (b) the inner closure is bad
10077        already.
10078
100792006-04-17 06:17  gb
10080
10081        * lisp-kernel/lisptypes.h: Don't know if there's such a thing as
10082        truly portable type name.
10083
100842006-04-17 06:16  gb
10085
10086        * lisp-kernel/: errors.s, lisp.s, m4macros.m4, x86-constants.s,
10087        x86-constants64.h, x86-constants64.s, x86-exceptions.c,
10088        x86-exceptions.h, x86-gc.c, x86-macros.s, x86-spentry64.s,
10089        x86-spjump64.s, x86-uuo.s: Well, // style comments seem to only
10090        work if they're at the start of a line in Linux GAS.  Try /* */
10091        comments, but limit them to a single line.  (May ultimately be
10092        better to use m4 dnl - carefully - and avoid end-of-line comments.)
10093
100942006-04-17 05:28  gb
10095
10096        * lisp-kernel/: x86-macros.s, x86-spentry64.s, x86-spjump64.s,
10097        x86-subprims64.s, x86-uuo.s: // comments.
10098
100992006-04-17 05:28  gb
10100
10101        * lisp-kernel/x86-gc.c: timeradd, timersub.  Other Solaris
10102        conditionalization.
10103
101042006-04-17 05:27  gb
10105
10106        * lisp-kernel/x86-exceptions.h: Solaris-related changes (xp
10107        accessors, etc.)
10108
101092006-04-17 05:26  gb
10110
10111        * lisp-kernel/x86-exceptions.c: Solaris-related changes (mostly in
10112        the sigstack trampoline stuff.)
10113
101142006-04-17 05:25  gb
10115
10116        * lisp-kernel/x86-constants64.h: // comments, Solaris-friendly
10117        integer types.
10118
101192006-04-17 05:24  gb
10120
10121        * lisp-kernel/: x86-asmutils64.s, x86-constants.s,
10122        x86-constants64.s: // comments.
10123
101242006-04-17 05:23  gb
10125
10126        * lisp-kernel/pmcl-kernel.c: Some Solaris conditionalization.
10127        Solaris mmap() is ... unusual.
10128
101292006-04-17 05:21  gb
10130
10131        * lisp-kernel/m4macros.m4: Use C++-style single-line comments,
10132        since Solaris version of GAS doen't handle multi-line comments (/*
10133        ... */).  It -seems- that other assemblers do handle them
10134        correctly; we'll see.
10135       
10136        Some Solaris conditionalization (ELFstabs, etc.)
10137
101382006-04-17 05:20  gb
10139
10140        * lisp-kernel/lisptypes.h: Conditionalize for Solaris (type names).
10141         We'll see what this breaks.
10142
101432006-04-17 05:19  gb
10144
10145        * lisp-kernel/lisp.h: PLATFORM_OS is PLATFORM_OS_SOLARIS when
10146        SOLARIS is defined.
10147
101482006-04-17 05:18  gb
10149
10150        * lisp-kernel/lisp-debug.c: Solaris conditionalization; print
10151        registers in predictable order.
10152
101532006-04-17 05:17  gb
10154
10155        * lisp-kernel/: errors.s, imports.s, lisp.s: Use C++-style
10156        single-line comments, since Solaris version of GAS doen't handle
10157        multi-line comments (/* ... */).  It -seems- that other assemblers
10158        do handle them correctly; we'll see.
10159
101602006-04-17 05:15  gb
10161
10162        * lisp-kernel/area.h: IMAGE_BASE_ADDRESS for SolarisX64.  Wrong.
10163
101642006-04-17 05:15  gb
10165
10166        * lisp-kernel/Threads.h: Conditionalize for Solaris.
10167       
10168        TODO: drop Jaguar support, use POSIX (vice Mach) semaphores on all
10169        platforms ?
10170
101712006-04-17 05:01  gb
10172
10173        * lisp-kernel/solarisx64/Makefile: new file
10174
101752006-04-17 04:56  gb
10176
10177        * lisp-kernel/linuxx8664/Makefile: Make it a little easier to
10178        change the name/usage of the linker script.
10179       
10180        Stop using the linker script (since spjump is the only thing in the
10181        kernel that has to be at a fixed address and we can copy it there.)
10182       
10183        Don't disable the EGC.
10184
101852006-04-17 04:54  gb
10186
10187        * lisp-kernel/x86-spjump64.s: Define spjump_start as the origin of
10188        the spjump table, exported for C (so that spjump can be mapped into
10189        low memory.)
10190
101912006-04-17 04:54  gb
10192
10193        * lisp-kernel/x86-spentry64.s: Use reserved_frame_marker.
10194       
10195        If the tlb's too small when trying to bind a special, push the
10196        binding index of the symbol we're binding (for the benefit of the
10197        handler.)
10198
101992006-04-17 04:52  gb
10200
10201        * lisp-kernel/x86-gc.c: Check for cases where a function has more
10202        code words than it has elements (can't happen, unless the
10203        function's code-words word is garbage, which seems to happen when
10204        closures get consed up in non-zeroed memory.)
10205       
10206        Make sure that we mark and forward Itemp2 (= %rcx = %temp2 =
10207        %nargs.q), which sometimes contains something tagged and
10208        non-immediate.
10209
102102006-04-17 04:48  gb
10211
10212        * lisp-kernel/x86-exceptions.c: new_heap_segment() (slowly) checks
10213        to ensure that everythings's zeroed.
10214       
10215        x8664 implementation of extend_tcr_tlb().
10216       
10217        on a gc trap, use tcr->save_allocptr (not the random value in %rbx)
10218        in call to update_bytes_allocated().
10219       
10220        normalize_tcr() - alway set tcr->save_allocptr/tcr->save_allocbase
10221        to VOID_ALLOCPTR (I -think- that this explains the crash-on-quit
10222        bug, and possibly some other instabiliy.)
10223       
10224        handle_exception: keep trying to guess how to distinguish memory
10225        faults from other sources of SIGSEGV.
10226       
10227        On debug traps, advance the PC past the UUO before entering the
10228        debugger.
10229       
10230        Handle XUUO_TLB_TOO_SMALL.
10231
102322006-04-17 04:42  gb
10233
10234        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
10235        reserved_frame_marker.
10236
102372006-04-17 04:42  gb
10238
10239        * lisp-kernel/thread_manager.c: Remove implementation of
10240        extend_tcr_tlb().
10241
102422006-04-17 04:41  gb
10243
10244        * lisp-kernel/ppc-exceptions.h: Prototype for PPC version of
10245        extend_tcr_tlb().
10246
102472006-04-17 04:41  gb
10248
10249        * lisp-kernel/ppc-exceptions.c: PPC version of extend_tcr_tlb().
10250
102512006-04-17 04:40  gb
10252
10253        * lisp-kernel/pmcl-kernel.c: Remap the spjump table on x8664, so
10254        that we don't need to use a linker script.
10255
102562006-04-17 04:40  gb
10257
10258        * lisp-kernel/Threads.h: extend-tcr-tlb: signature defined by
10259        target xxx-exceptions.h now.
10260
102612006-04-17 04:39  gb
10262
10263        * lib/misc.lisp: Some comment formatting/editing.
10264
102652006-04-17 04:38  gb
10266
10267        * level-1/version.lisp: Bump.
10268
102692006-04-17 04:38  gb
10270
10271        * level-1/l1-readloop.lisp: Some debugging code in the code which
10272        creates the final closure.  It seems that when it's bad, it's bad
10273        on creation (here.)
10274
102752006-04-17 04:37  gb
10276
10277        * level-1/l1-processes.lisp: Some debugging code in
10278        PROCESS-EXIT-APPLICATION, to try to catch whatever's causing the
10279        final closure to be trashed.
10280       
10281        I don't think that other threads were getting their allocptr's
10282        nullified correctly by the GC/normalize_tcr(); with the current
10283        debugging code in place, it seems like the closure is consed on top
10284        of something other than free, thread-private heap memory (when it's
10285        bad, it fails the first check here.  I'm not sure that the latest
10286        round of GC/normalize-tcr() changes have fixed the problem, but I
10287        haven't seen it in a while now, either.)
10288
102892006-04-17 04:32  gb
10290
10291        * level-0/X86/x86-def.lisp: %FUNCTION-CODE-BYTE (for partial
10292        disassembly, etc.).
10293
102942006-04-17 04:31  gb
10295
10296        * compiler/X86/X8664/x8664-vinsns.lisp: Use RESERVED-FRAME-MARKER
10297        in RESERVE-OUTGOING-FRAME; don't use ENSURE-RESERVED-FRAME at all
10298        (anymore.)
10299       
10300        Subprims are down in low memory again; make INIT-CLOSURE skip
10301        setting the high byte of .SPcall-closure's address if it's zero.
10302
103032006-04-17 04:28  gb
10304
10305        * compiler/X86/X8664/x8664-arch.lisp: Define RESERVED-FRAME-MARKER,
10306        which may help backtrace.
10307
103082006-04-17 04:26  gb
10309
10310        * lib/: backtrace.lisp, ppc-backtrace.lisp: Split up RAW-FRAME-REF
10311        (interface/implementation.)
10312
103132006-04-15 09:20  gb
10314
10315        * level-1/x86-callback-support.lisp: Ensure that callback
10316        trampolines are allocated in executable memory.
10317
103182006-04-15 09:12  gb
10319
10320        * lib/dumplisp.lisp: Refresh external entry points before reviving
10321        callbacks.  Reset callback storage before reviving callbacks.
10322
103232006-04-15 09:10  gb
10324
10325        * level-1/x86-error-signal.lisp: Don't prefix the unknown trap
10326        error message with a %.  (Where did that come from ?)
10327
103282006-04-15 09:08  gb
10329
10330        * level-1/ppc-callback-support.lisp: Don't (knock wood) need to do
10331        anything in RESET-CALLBACK-STORAGE for PPC, since malloc()ed memory
10332        is executable.
10333
103342006-04-14 09:02  gb
10335
10336        * lib/time.lisp: Jeez.  Save buffer, why dontcha.
10337
103382006-04-14 08:21  gb
10339
10340        * lib/time.lisp: ENCODE-UNIVERSAL-TIME: treat year 0-99 as
10341        shorthand for the nearest matching year.
10342
103432006-04-14 08:20  gb
10344
10345        * lib/format.lisp: FORMAT-PRINT-NUMBER was printing commas even
10346        when : was missing.
10347
103482006-04-13 23:09  gb
10349
10350        * lib/ppc-backtrace.lisp: Eschew missing parens.
10351
103522006-04-13 23:08  gb
10353
10354        * lib/describe.lisp: Change NTH-VALUE-IN-FRAME call.
10355
103562006-04-13 23:08  gb
10357
10358        * lib/backtrace.lisp: DBG-FORM checks the second return value from
10359        ARGLIST-FROM-MAP.
10360
103612006-04-13 23:02  gb
10362
10363        * lib/arglist.lisp: Don't pass a "conser" function around (the idea
10364        is leftover from 68K MCL).  ARGLIST-FROM-MAP tries to be consistent
10365        about returning a second value; returns values NIL, T for functions
10366        that take no args and don't have a symbol map.
10367
103682006-04-13 22:53  gb
10369
10370        * level-1/l1-lisp-threads.lisp: Try to make args to
10371        NTH-VALUE-IN-FRAME et al a little saner.
10372
103732006-04-13 22:37  gb
10374
10375        * lib/numbers.lisp: Conditionalize on word size, not PPC processor
10376        type.
10377
103782006-04-13 22:36  gb
10379
10380        * level-1/version.lisp: Bump.
10381
103822006-04-13 22:35  gb
10383
10384        * level-1/l1-aprims.lisp: Remove the DBG trap from #'APPLY.  Still
10385        trying to find the cause of the crash-on-quit bug.
10386
103872006-04-13 07:30  gb
10388
10389        * lib/ppc-backtrace.lisp: Migrate some stuff here.
10390
103912006-04-13 07:29  gb
10392
10393        * level-1/l1-lisp-threads.lisp, lib/backtrace.lisp: Migrate some
10394        stuff to target-backtrace.
10395
103962006-04-13 06:45  gb
10397
10398        * lisp-kernel/x86-gc.c: mark_root: need to handle TRAs earlier.
10399
104002006-04-13 06:44  gb
10401
10402        * lisp-kernel/pmcl-kernel.c: Set GC debug bits manually here on
10403        x8664.
10404
104052006-04-13 06:44  gb
10406
10407        * level-1/x86-error-signal.lisp: XP-ARGUMENT-LIST: only the low 13
10408        bytes of %nargs_q contain arg count.
10409
104102006-04-13 06:43  gb
10411
10412        * level-1/l1-error-system.lisp: No EVAL-PROGRAM-ERROR. Please.
10413
104142006-04-13 06:43  gb
10415
10416        * level-1/l1-aprims.lisp: Trying to find what's (sometimes)
10417        trashing a closure during QUIT; embed a #+x86-target breakpoint in
10418        APPLY.
10419
104202006-04-13 06:42  gb
10421
10422        * level-0/X86/x86-numbers.lisp: Bad typo in %FIXNUM-GCD.
10423
104242006-04-13 06:41  gb
10425
10426        * compiler/X86/x862.lisp: Lap expression changes; recycle constant
10427        operands.
10428
104292006-04-13 06:41  gb
10430
10431        * compiler/X86/x86-lap.lisp: Freelist a lot of things; use
10432        "vector-lists" instead of adjustable arrays, simplify handling of
10433        constant expressions.  Still conses hysterically; need to find out
10434        where and tone it down a bit, if possible.
10435
104362006-04-13 06:39  gb
10437
10438        * compiler/X86/x86-disassemble.lisp: Maybe no lap immediate
10439        operands; maybe no lap constant-expressions.
10440
104412006-04-13 06:39  gb
10442
10443        * compiler/X86/x86-asm.lisp: Don't need
10444        *lap-constant-0-expression*.
10445
104462006-04-13 00:46  gb
10447
10448        * lisp-kernel/linuxx8664/Makefile: Kernel depends on Makefile,
10449        linker script.
10450
104512006-04-13 00:45  gb
10452
10453        * lisp-kernel/linuxx8664/elf_x86_64.x: Use linker script from ld
10454        2.16.1 (Thanks to James Bielman).
10455
104562006-04-12 18:53  gb
10457
10458        * lisp-kernel/linuxx8664/elf_x86_64.x: Try to avoid use of
10459        PROVIDE_HIDDEN, since some versions of GNU ld don't like it.  (Most
10460        of this seems to have to do with C++ static constructors, which
10461        aren't really relevant here.)
10462
104632006-04-12 18:28  gb
10464
10465        * lisp-kernel/x86-spentry64.s: Use movd (not movq) when moving
10466        between %Rforeign_sp and GPRs.
10467
104682006-04-12 18:22  gb
10469
10470        * lisp-kernel/linuxx8664/Makefile: egc flag
10471
104722006-04-12 18:08  gb
10473
10474        * lisp-kernel/x86-gc.c: Add current/prev (temporarily) to help find
10475        where we're losing here.
10476
104772006-04-12 18:07  gb
10478
10479        * lisp-kernel/x86-exceptions.c: pc_luser_xp: notice if we're in the
10480        write barrier code, crap out if so.
10481
104822006-04-12 18:06  gb
10483
10484        * lisp-kernel/pmcl-kernel.c: Disable EGC if DISABLE_EGC is defined
10485        (presumably in a Makefile).
10486
104872006-04-12 14:50  gb
10488
10489        * level-1/version.lisp: Bump.
10490
104912006-04-12 14:46  gb
10492
10493        * lib/: compile-ccl.lisp, ppc-backtrace.lisp, systems.lisp,
10494        x86-backtrace.lisp: new target backtrace stuff.
10495
104962006-04-12 14:45  gb
10497
10498        * lib/backtrace.lisp: Start splitting things up, ideally into a
10499        mostly abstract API and gory platform- dependent implementation
10500        details.
10501
105022006-04-11 21:40  gb
10503
10504        * lisp-kernel/pmcl-kernel.c: Only way to stress-test EGC is to turn
10505        the damned thing on.  (A little painful with integrity checking
10506        enabled, as it still is by default.)
10507       
10508        TODO:
10509       
10510        - sleep (me) - non-recursive (link-inverting) marker - pc-lusering
10511        (pc_luser_xp()) - backtrace - ANSI CL tests - purify - 2d-aref - FP
10512        exception handling - check UUO usage in kernel, disassembler,
10513        exception handlers - stack overflow recovery
10514
105152006-04-11 21:24  gb
10516
10517        * lisp-kernel/x86-gc.c: Skip over function code in
10518        check_refmap_consistency.
10519
105202006-04-11 21:23  gb
10521
10522        * lisp-kernel/x86-spentry64.s: Write barrier memoization sets bits
10523        backwards.
10524
105252006-04-11 19:11  gb
10526
10527        * compiler/X86/x862.lisp: Change LABELS for new closure format.
10528
105292006-04-11 19:11  gb
10530
10531        * lisp-kernel/x86-spentry64.s: 3 words of code + inner function in
10532        a closure, no lfname slot in closure.
10533
105342006-04-11 16:29  gb
10535
10536        * lisp-kernel/linuxx8664/.gdbinit: ada  prints active dynamic (GC)
10537        area.
10538
105392006-04-11 16:29  gb
10540
10541        * lisp-kernel/x86-subprims64.s: Maintain the MXCSR on transitions
10542        between lisp/foreign code.
10543
105442006-04-11 16:29  gb
10545
10546        * lisp-kernel/x86-spentry64.s: Add write barrier stuff (may have
10547        bit-order problems.)
10548       
10549        Maintain the MXCSR on transitions between lisp/foreign code.
10550
105512006-04-11 16:28  gb
10552
10553        * lisp-kernel/x86-macros.s: Access globals in expressions.
10554
105552006-04-11 16:27  gb
10556
10557        * lisp-kernel/x86-gc.c: Start to implement EGC for X8664; this'll
10558        need some bootstrapping stuff (function boundary markers) for a few
10559        reasons, as will DWS marker.
10560
105612006-04-11 16:27  gb
10562
10563        * lisp-kernel/x86-exceptions.c: If we get an FP exception, report
10564        the siginfo error code.
10565
105662006-04-11 16:26  gb
10567
10568        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Define MXCSR
10569        fields in tcr.
10570
105712006-04-11 16:25  gb
10572
10573        * lisp-kernel/x86-constants.h: Define MXCSR bits.
10574
105752006-04-11 16:25  gb
10576
10577        * lisp-kernel/thread_manager.c: Setup the MXCSR somewhat sanely
10578        when starting a lisp thread.  (It'll be saner when FP exceptions
10579        are handled.)
10580
105812006-04-11 16:24  gb
10582
10583        * level-1/x86-error-signal.lisp: Recognize what complaints about
10584        non-uvectors are trying to tell us.
10585
105862006-04-11 16:23  gb
10587
10588        * level-1/l1-io.lisp: PRINT-OBJECT method for TRAs, symbol/function
10589        vectors.
10590
105912006-04-11 16:23  gb
10592
10593        * level-1/l1-clos-boot.lisp: Spell TAGGED-RETURN-ADDRESS with more
10594        Ses.  Define classes for function/symbol vectors.
10595
105962006-04-11 16:22  gb
10597
10598        * level-0/X86/x86-def.lisp: %RETURN-ADDRESS-OFFSET.
10599
106002006-04-11 16:21  gb
10601
10602        * compiler/X86/X8664/x8664-vinsns.lisp: Closure initialization
10603        needs to add a function boundary marker (but we can stop padding
10604        each closure with a null function name slot.)
10605
106062006-04-11 16:20  gb
10607
10608        * compiler/X86/X8664/x8664-arch.lisp: Define
10609        FUNCTION-BOUNDARY-MARKER, which should never exist in the wild.
10610
106112006-04-11 16:19  gb
10612
10613        * compiler/X86/x862.lisp: Emit a function boundary marker between
10614        code and constants. (For GC reasons.) Change closure initialization
10615        to account for it.
10616
106172006-04-11 16:18  gb
10618
10619        * compiler/X86/x86-lap.lisp: Emit a function boundary marker
10620        between code and constants. (For GC reasons.)
10621
106222006-04-11 16:17  gb
10623
10624        * compiler/X86/x86-disassemble.lisp: Require more stuff.
10625
106262006-04-11 16:17  gb
10627
10628        * compiler/nxenv.lisp: Require X8664ENV on X8664.
10629       
10630        See if we can get by without 68K condition code ...
10631
106322006-04-11 06:53  gb
10633
10634        * lisp-kernel/x86-exceptions.c: We'll need to handle FP exceptions
10635        soon.
10636
106372006-04-11 06:53  gb
10638
10639        * lib/numbers.lisp: Infinity constants conditionalized on/off
10640        during MXCSR adventures.  On now.
10641
106422006-04-11 06:52  gb
10643
10644        * lib/describe.lisp: Comment indentation.
10645       
10646        No such thing as an interpreted function; hasn't been for years.
10647
106482006-04-11 06:51  gb
10649
10650        * level-1/x86-threads-utils.lisp: Fixup lfun bits of %FIXNUM-SET et
10651        al.
10652
106532006-04-11 06:51  gb
10654
10655        * level-1/version.lisp: Bumped yesterday.
10656
106572006-04-11 06:50  gb
10658
10659        * level-1/l1-error-signal.lisp: Comments.
10660
106612006-04-11 06:50  gb
10662
10663        * level-1/l1-clos-boot.lisp: CLASS-OF handles non-simple vectors,
10664        at least.
10665
106662006-04-11 06:50  gb
10667
10668        * level-0/X86/x86-float.lisp: MXCSR stuff.  Better, mostly because
10669        a fixnum constant is boxed in %SET-MXCSR.
10670
106712006-04-11 06:49  gb
10672
10673        * level-0/X86/x86-def.lisp: Get info about register usage.
10674
106752006-04-11 06:49  gb
10676
10677        * compiler/X86/X8664/x8664-vinsns.lisp: Natural arithmetic; start
10678        work on 2d aref.  Fix MISC-SET-U64 (or some flavor thereof), which
10679        though that it was dealing with a scaled index.
10680
106812006-04-11 06:48  gb
10682
10683        * compiler/X86/x862.lisp: Natural arithmetic; start work on 2d
10684        aref.
10685
106862006-04-11 06:48  gb
10687
10688        * compiler/X86/x86-lap.lisp: FRAGs are freelisted.  Really need to
10689        do something about FRAG-CODE-BUFFERs, and need to tone down
10690        expression overkill.
10691
106922006-04-11 06:46  gb
10693
10694        * compiler/X86/x86-backend.lisp: Vinsn template fixup mechanism,
10695        for when opcode ordinals change.
10696
106972006-04-11 06:46  gb
10698
10699        * compiler/X86/x86-asm.lisp: UUO-ERROR-STACK-OVERFLOW ->
10700        UUO-ERROR-ARRAY-RANK.
10701       
10702        Vinsn template fixup mechanism, for when opcode ordinals change.
10703
107042006-04-11 06:45  gb
10705
10706        * compiler/X86/x86-arch.lisp: Try to unscramble MXCSR bits/masks.
10707
107082006-04-11 06:45  gb
10709
10710        * compiler/nx0.lisp: NX-U31-CONSTANT-P.
10711
107122006-04-11 06:44  gb
10713
10714        * compiler/dll-node.lisp: WITH-DLL-NODE-FREELIST: syntax to allow
10715        specialized list header initialization.
10716
107172006-04-11 06:43  gb
10718
10719        * level-1/l1-error-system.lisp, compiler/arch.lisp: Type errors for
10720        2d float arrays.
10721
107222006-04-10 10:19  gb
10723
10724        * lisp-kernel/x86-spentry64.s: _SPcallback is now called with the
10725        foreign SP properly obeying C alignment conventions.  In order to
10726        get it aligned for lisp usage during the callback, an extra word
10727        needs to be pushed before the backpointer to the old foreign RSP.
10728
107292006-04-10 10:18  gb
10730
10731        * lisp-kernel/x86-exceptions.c: Ensure that the copied sigcontext
10732        is 16-byte aligned, so that the foreign stack pointer is aligned
10733        according to C conventions when we enter the signal handler on that
10734        stack.
10735
107362006-04-10 10:13  gb
10737
10738        * lib/numbers.lisp: Define FP infinities, since we're running with
10739        FP exceptions masked. (We don't handle FP exceptions on X8664 yet,
10740        but this was crashing due to ldmxcsr/stmxcsr confusion, not because
10741        an unmasked FP exception was raised and unhandled.)
10742
107432006-04-10 10:10  gb
10744
10745        * lib/level-2.lisp: Remove the WARN and the conditionalization
10746        around bit/bitfield accessors on X8664.
10747
107482006-04-10 10:09  gb
10749
10750        * level-0/X86/x86-float.lisp: Repeat after me: to load the mxcsr
10751        from memory, we say "ldmxcsr".  We want to do such a load in order
10752        to write new values into the mxcsr.  To store it in memory, we say
10753        "stmxcsr".  We want to do such a store (and a subsequent load from
10754        memory) in order to access the value of the mxcsr.  Simple, no ?
10755
107562006-04-10 10:07  gb
10757
10758        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp:
10759        %GET-BIT/%SET-BIT.
10760
107612006-04-10 08:29  gb
10762
10763        * compiler/X86/X8664/x8664-vinsns.lisp: Float
10764        addition/multiplication: either arg can overlap result (and often
10765        will).  Float subtraction/division: caller should ensure that
10766        result and second arg are disjoint.
10767
107682006-04-10 08:27  gb
10769
10770        * compiler/X86/x862.lisp: Float arithmetic is two-address; ensure
10771        that result doesn't overlap second argument for non-commutative
10772        operations.
10773
107742006-04-10 08:26  gb
10775
10776        * lisp-kernel/lisp-debug.c: Show FPRs on LinuxX8664.
10777
107782006-04-10 05:12  gb
10779
10780        * lisp-kernel/thread_manager.c: Don't free dead TCRs if we didn't
10781        malloc them.
10782
107832006-04-10 05:12  gb
10784
10785        * lib/compile-ccl.lisp: REBUILD-CCL paramaters for :LINUXX8664.
10786
107872006-04-10 05:11  gb
10788
10789        * level-1/l1-pathnames.lisp: No need to reference PPC package, and
10790        good reason not to.
10791
107922006-04-10 04:39  gb
10793
10794        * xdump/xfasload.lisp: signed 32-bit, 64-bit integers in fasl files
10795        are always big-endian.
10796
107972006-04-10 04:38  gb
10798
10799        * lisp-kernel/x86-gc.c: mark_root(): if we're marking a function
10800        reachable via a TRA, update the variable "dnode" so that the
10801        correct bits get set.
10802
108032006-04-10 04:37  gb
10804
10805        * level-0/X86/X8664/x8664-bignum.lisp: Remove some breakpoints.
10806
108072006-04-10 04:37  gb
10808
10809        * level-0/X86/x86-array.lisp: %SIMPLE-BIT-BOOLE.  Could stand to be
10810        a bit simpler.
10811
108122006-04-10 04:36  gb
10813
10814        * level-0/l0-hash.lisp: Whoops: %SET-NEEDS-REHASHING is called from
10815        the MAKE-LOAD-FORM method for hashtables.
10816
108172006-04-09 09:17  gb
10818
10819        * lisp-kernel/thread_manager.c: Inflate control stack size on
10820        x8664, until DWS marker works (and do so correctly this time).
10821
108222006-04-09 09:12  gb
10823
10824        * lisp-kernel/thread_manager.c: Inflate control stack size on
10825        x8664, until DWS marker works.
10826
108272006-04-09 09:09  gb
10828
10829        * level-0/l0-hash.lisp: Now that bitvectors work, remove
10830        #+x86-target DBG trap.
10831
108322006-04-09 08:57  gb
10833
10834        * level-0/l0-hash.lisp: Set/clear rehash bits via SBIT, not AREF.
10835        (Should be exactly the same code, but may not have been 15 years
10836        ago or whenever this was written.)
10837
108382006-04-09 08:56  gb
10839
10840        * lisp-kernel/x86-spentry64.s,
10841        compiler/X86/X8664/x8664-vinsns.lisp: Clear bits in a bit vector
10842        via btrX (Bit Test and Reset), not btcX (Bit Test and Complement.)
10843
108442006-04-09 03:52  gb
10845
10846        * lisp-kernel/x86-macros.s: Parens around negative displacement in
10847        condition_to_boolean.  Not clear why this is necessary, but it
10848        seems to be.
10849
108502006-04-09 03:24  gb
10851
10852        * lisp-kernel/x86-macros.s: Use shorter sequence in
10853        condition_to_boolean.
10854
108552006-04-09 02:32  gb
10856
10857        * compiler/X86/X8664/x8664-vinsns.lisp: Using cmovCC intstead of
10858        setCC for cr-bit->boolean is 1 instruction and 2 bytes shorter, all
10859        other things being equal.
10860
108612006-04-09 01:37  gb
10862
10863        * compiler/X86/x86-asm.lisp: reg/reg variants of bsfX, bsrX had
10864        operands backwards.
10865
108662006-04-09 01:37  gb
10867
10868        * compiler/optimizers.lisp: Comment formatting.
10869
108702006-04-09 01:29  gb
10871
10872        * level-0/X86/X8664/x8664-bignum.lisp: %BIGNUM-SIGN-DIGITS:
10873        bsr/xorl != clz when (zerop n).
10874
108752006-04-08 21:25  gb
10876
10877        * lisp-kernel/x86-exceptions.c: Forget about blocking SIGINT in
10878        current thread before entering kernel debugger.
10879
108802006-04-08 21:21  gb
10881
10882        * lib/compile-ccl.lisp: early def of XLOAD-LEVEL-0: require
10883        (TARGET-XLOAD-MODULES).
10884
108852006-04-08 21:21  gb
10886
10887        * lisp-kernel/x86-spentry64.s: misc_set_s16: forgot a lognot.
10888
108892006-04-08 21:20  gb
10890
10891        * level-0/nfasload.lisp: 64-bit vectors: target::, not ppc64::.
10892
108932006-04-08 20:46  gb
10894
10895        * lib/foreign-types.lisp: Add missing paren ...
10896