source: trunk/ccl/ChangeLog @ 7233

Last change on this file since 7233 was 7233, checked in by gb, 13 years ago
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 785.9 KB
Line 
12007-09-16 18:10  gb
2
3        * compiler/X86/x862.lisp: X862-BIND-LAMBDA: bind &rest before &key
4        ...
5
62007-09-16 17:10  gb
7
8        * compiler/PPC/ppc2.lisp: PPC2-BIND-LAMBDA: rest arg is in scope
9        before key arg(s), so assign it an address before processing &key
10        initforms.
11
122007-09-15 17:10  gb
13
14        * level-1/l1-readloop-lds.lisp: Observe *BACKTRACE-PRINT-LEVEL*,
15        -LENGTH* when printing break messages.
16
172007-09-13 20:10  gb
18
19        * level-1/: l1-streams.lisp, linux-files.lisp: Add support for
20        :element-type to ccl:run-program to allow for binary streams
21
222007-09-13 06:55  gb
23
24        * cocoa-ide/hemlock/: README, doc/scribe-converter/README,
25        src/elisp/README, src/spell/README: Restore some README files,
26        which had somehow gotten lost in translation.
27
282007-09-13 06:54  gb
29
30        *
31        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
32        ib/: classes.nib, info.nib, keyedobjects.nib: not used
33
342007-09-13 06:52  gb
35
36        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Push labels
37        for certain kinds of MULTIPLE-VALUE-CALL differently; in
38        particular, note the effect of pushing such a label on stack depth.
39
402007-09-13 06:50  gb
41
42        * cocoa-ide/OpenMCL.app/Contents/MacOS/.cvsignore,
43        examples/cocoa/.cvsignore: New file, mostly to help ensure that the
44        containing directory exists in cvs.
45
462007-09-06 14:10  gb
47
48        * cocoa-ide/builder-utilities.lisp: added key 'CFBundleName' to
49        write-info-plist
50
512007-09-04 23:11  gb
52
53        * cocoa-ide/cocoa-editor.lisp: New! Improved!
54       
55        The code which arranges for editing changes to be processed in the
56        main thread now does so via an NSInvocation (ObjC's notion of a
57        closure, sort of); the methods which run in the main thread handle
58        the job of synchronizing the underlying the Hemlock string and the
59        "real" NSMutableAttributedString as well as informing the text
60        system of pending editing changes via
61        #/edited:range:changeInLength:.  The code which processes deletions
62        does the change processing before modifying the string (other
63        methods do it after the change); this seems to be necessary to
64        avoid some things that could cause ticket:50.  (I'm not sure if
65        this fixes ticket:50, but it does seem to fix a reproducible case.)
66       
67        The #/replaceCharactersInRange:withString: method on
68        hemlock-text-storage (which handles buffer changes originating from
69        non-Hemlock sources) is careful to use a :right-inserting temporary
70        mark when modifying the buffer, to help ensure that
71        insertions/deletions take place at the correct absolute position.
72        (This may at least partially address bugs related to things getting
73        confused/out-of-bounds errors when doing lots of cutting and
74        pasting, though it's hard to know without reproducible cases.)
75       
76        The macros NSSTRING-ENCODING-TO-NSINTEGER and
77        NSINTEGER-TO-NSSTRING-ENCODING are defined before they're used (at
78        least one of them wasn't.)
79       
80        The handling of text encoding for editor documents has changed in a
81        few ways.  If "automatic" encoding is used in an "Open ..." dialog
82        and is successfully able to infer a text file's encoding, the
83        encoding that was inferred becomes the document's encoding (used in
84        subsequent "save" operations.)  On some OSX versions, the automatic
85        detection mechanism can only recognize UTF-16 files that contain a
86        leading BOM (and the editor's code for dealing with the automatic
87        mechanism didn't expect this to ever work.)  On other systems, the
88        automatic mechanism can return something correct (I've seen UTF-8)
89        but possibly suboptimal.
90       
91        The Open... dialog now defaults to something derived from the
92        user's setting of CCL:*DEFAULT-FILE-CHARACTER-ENCODING*; because
93        "automatic" is a little unpredictable, the new default is probably
94        better.
95       
96        The NSDocument mechanism for creating backup files (with names of
97        the form "name~.ext") is not used; when backup files are created,
98        we try to copy the original to a file whose name conforms to the
99        (simple, non-versioned) Emacs scheme ("name.ext~").  More things
100        seem to work better when the Emacs scheme is used (though I suppose
101        some people might prefer the NSDocument scheme and we could make
102        this a preference.)
103
1042007-09-04 22:11  gb
105
106        * cocoa-ide/cocoa-listener.lisp: Don't call #/setFileName: when
107        creating a Listener, since (a) that method's deprecated in favor of
108        #/setFileURL: and (b) a newly-created Listener doesn't really have
109        an associated filename, and so shouldn't get the icon and popup in
110        its titlebar.
111       
112        Do arrange that (unless/until a listener document is saved to a
113        file) its window title is based on the underlying Hemlock buffer's
114        name.  (If one ever attempts to save a listener document, the
115        proposed file name is the internal NSDocument name; we might or
116        might not want to change that.)
117
1182007-09-04 22:10  gb
119
120        * cocoa-ide/cocoa-prefs.lisp: Suppress warnings about
121        *MODELINE-FONT-NAME*, -SIZE*.
122
1232007-09-04 19:13  gb
124
125        * lisp-kernel/: gc.h, memory.c, pmcl-kernel.c, ppc-exceptions.c,
126        ppc-gc.c, x86-exceptions.c, x86-gc.c: Lose "HeapHighWaterMark",
127        which was supposed to allow us to track the high end of a range of
128        pages that'd been written to and not freed (so we'd zero them
129        lazily when they were reallocated.)  Such a scheme would really
130        need to track both ends of such a range, and the old scheme wound
131        up being overly zealous and often zeroed pages that were already
132        zeroed.  Zero the range between the old free pointer and the new
133        one after each GC, instead.
134       
135        At least partly address ticket:101, by doing GROW-DYNAMIC-AREA more
136        carefully.
137
1382007-09-04 19:12  gb
139
140        * level-0/: l0-numbers.lisp, PPC/ppc-numbers.lisp: Fix to 64-bit
141        %NEXT-RANDOM-SEED, random algorithm comments from Bernd Beuster.
142
1432007-09-04 19:11  gb
144
145        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp,
146        ffi-linuxppc32.lisp, ffi-linuxppc64.lisp, macros.lisp: Don't coerce
147        single-float results to double-floats in DEFCALLBACK-BODY.  Do do
148        this in the PPC backends.
149       
150        (This needs testing ...)
151
1522007-09-04 19:10  gb
153
154        * compiler/X86/X8664/x8664-backend.lisp: Don't assume that
155        :single-float callback results have been coerced to :double-float
156        on x8664.
157
1582007-09-03 18:10  gb
159
160        * cocoa-ide/hemlock/src/edit-defs.lisp: Make meta-. use either the
161        selection or the symbol around point, regardless of global parsing
162        state (Ticket:95).  While in there, make meta-. with a numarg
163        prompt for symbol to look up.
164
1652007-08-30 20:10  gb
166
167        * level-1/l1-error-system.lisp: Add a restart for unbound
168        variable/undefined function errors -- if there is a unique
169        bound/fbound symbol of the same name in another package, offer to
170        use it instead.
171
1722007-08-30 19:10  gb
173
174        * cocoa-ide/cocoa-grep.lisp: Tell grep not to complain about
175        inaccesible files; it might return an exit status of 2 if it finds
176        such files, so treat that as "success" for now (ticket:98).
177
1782007-08-30 18:11  gb
179
180        * cocoa-ide/hemlock/src/doccoms.lisp: Fix format call in Show
181        Variable command output (ticket:97).
182
1832007-08-30 18:10  gb
184
185        * cocoa-ide/hemlock/src/listener.lisp: EVAL-REGION uses
186        VARIABLE-VALUE to access buffer's package (ticket:82).
187
1882007-08-30 15:11  gb
189
190        * cocoa-ide/: build-application.lisp, builder-utilities.lisp: added
191        code to copy user-supplied nibfiles into a saved application bundle
192
1932007-08-30 14:10  gb
194
195        * cocoa-ide/hemlock/src/: command.lisp, listener.lisp: Make sure
196        all callers of current-point-for-deletion handle the nil return
197        value case.  This fixes ticket:85
198
1992007-08-29 20:11  gb
200
201        * cocoa-ide/: cocoa-editor.lisp, cocoa.lisp, hemlock/TODO,
202        hemlock/doc/scribe-converter/NOTES, hemlock/maint/publish,
203        hemlock/src/bindings.lisp, hemlock/src/buffer.lisp,
204        hemlock/src/charmacs.lisp, hemlock/src/command.lisp,
205        hemlock/src/comments.lisp, hemlock/src/completion.lisp,
206        hemlock/src/cursor.lisp, hemlock/src/defsyn.lisp,
207        hemlock/src/doccoms.lisp, hemlock/src/echo.lisp,
208        hemlock/src/echocoms.lisp, hemlock/src/edit-defs.lisp,
209        hemlock/src/filecoms.lisp, hemlock/src/files.lisp,
210        hemlock/src/fill.lisp, hemlock/src/font.lisp,
211        hemlock/src/htext1.lisp, hemlock/src/htext2.lisp,
212        hemlock/src/htext3.lisp, hemlock/src/htext4.lisp,
213        hemlock/src/icom.lisp, hemlock/src/indent.lisp,
214        hemlock/src/interp.lisp, hemlock/src/kbdmac.lisp,
215        hemlock/src/key-event.lisp, hemlock/src/keysym-defs.lisp,
216        hemlock/src/killcoms.lisp, hemlock/src/line.lisp,
217        hemlock/src/linimage.lisp, hemlock/src/lispmode.lisp,
218        hemlock/src/macros.lisp, hemlock/src/main.lisp,
219        hemlock/src/morecoms.lisp, hemlock/src/package.lisp,
220        hemlock/src/pop-up-stream.lisp, hemlock/src/register.lisp,
221        hemlock/src/ring.lisp, hemlock/src/rompsite.lisp,
222        hemlock/src/search1.lisp, hemlock/src/search2.lisp,
223        hemlock/src/searchcoms.lisp, hemlock/src/srccom.lisp,
224        hemlock/src/streams.lisp, hemlock/src/struct.lisp,
225        hemlock/src/syntax.lisp, hemlock/src/table.lisp,
226        hemlock/src/text.lisp, hemlock/src/undo.lisp,
227        hemlock/src/vars.lisp, hemlock/src/archive/abbrev.lisp,
228        hemlock/src/archive/auto-save.lisp,
229        hemlock/src/archive/bit-display.lisp,
230        hemlock/src/archive/bit-screen.lisp,
231        hemlock/src/archive/bufed.lisp, hemlock/src/archive/debug.lisp,
232        hemlock/src/archive/dired.lisp, hemlock/src/archive/diredcoms.lisp,
233        hemlock/src/archive/display.lisp, hemlock/src/archive/dylan.lisp,
234        hemlock/src/archive/eval-server.lisp,
235        hemlock/src/archive/group.lisp, hemlock/src/archive/highlight.lisp,
236        hemlock/src/archive/hunk-draw.lisp, hemlock/src/archive/input.lisp,
237        hemlock/src/archive/lisp-lib.lisp,
238        hemlock/src/archive/lispbuf.lisp,
239        hemlock/src/archive/lispeval.lisp, hemlock/src/archive/mh.lisp,
240        hemlock/src/archive/netnews.lisp,
241        hemlock/src/archive/overwrite.lisp,
242        hemlock/src/archive/pascal.lisp, hemlock/src/archive/rcs.lisp,
243        hemlock/src/archive/screen.lisp, hemlock/src/archive/scribe.lisp,
244        hemlock/src/archive/shell.lisp, hemlock/src/archive/spell-aug.lisp,
245        hemlock/src/archive/spell-corr.lisp,
246        hemlock/src/archive/spell-rt.lisp,
247        hemlock/src/archive/spellcoms.lisp,
248        hemlock/src/archive/srccom.lisp, hemlock/src/archive/ts-buf.lisp,
249        hemlock/src/archive/ts-stream.lisp,
250        hemlock/src/archive/unixcoms.lisp, hemlock/src/archive/window.lisp,
251        hemlock/src/archive/winimage.lisp, hemlock/src/archive/xcoms.lisp,
252        hemlock/src/spell/spellcoms.lisp, hemlock/src/tty/termcap.lisp,
253        hemlock/src/tty/tty-disp-rt.lisp, hemlock/src/tty/tty-display.lisp,
254        hemlock/src/tty/tty-screen.lisp, hemlock/src/wire/remote.lisp,
255        hemlock/src/wire/wire.lisp, hemlock/unused/bit-stream.lisp,
256        hemlock/unused/clx-ext.lisp, hemlock/unused/ed-integrity.lisp,
257        hemlock/unused/gosmacs.lisp, hemlock/unused/hemcom.lisp,
258        hemlock/unused/hi-integrity.lisp, hemlock/unused/keytran.lisp,
259        hemlock/unused/keytrandefs.lisp, hemlock/unused/spell-build.lisp,
260        hemlock/unused/struct-ed.lisp, hemlock/unused/tty-stream.lisp,
261        hemlock/website/index.html.in: umm, load cocoa-grep where it will
262        work...
263
2642007-08-29 20:10  gb
265
266        * cocoa-ide/cocoa-editor.lisp: load cocoa-grep
267
2682007-08-29 13:11  gb
269
270        * cocoa-ide/cocoa-grep.lisp: Implement m-x grep
271
2722007-08-29 12:12  gb
273
274        * cocoa-ide/hemlock/src/indent.lisp: Indent command: if no prefix
275        arg (simple case), move point to the location of the temporary mark
276        after calling the indent function.
277
2782007-08-29 12:11  gb
279
280        * cocoa-ide/hemlock/src/lispmode.lisp: COUNT-LEADING-WHITESPACE
281        returns 2 values: the "column" (with tabs expanded) of the first
282        non-whitespace character on the line and that character's position.
283         ENSURE-LISP-INDENTATION moves the (temporary) mark to that
284        position if no changes are necessary.
285
2862007-08-29 12:10  gb
287
288        * cocoa-ide/cocoa-editor.lisp: In HEMLOCK-TEXT-VIEW #/paste:
289        method, make an NS-MUTABLE-STRING even if the string from the
290        clipboard already appears to be an NS-MUTABLE-STRING.  (NSCFString
291        is apparently a subclass of NS-MUTABLE-STRING, but isn't really ...
292         mutable.) For ticket:84.
293
2942007-08-28 23:10  gb
295
296        * cocoa-ide/: cocoa-editor.lisp, hemlock/src/command.lisp: Make
297        hi::scroll-window actually scroll, not just move insertion point
298        around.  Fixes ticket:88.
299
3002007-08-26 13:11  gb
301
302        * cocoa-ide/: build-application.lisp, builder-utilities.lisp: new
303        keyword argument to build-application: main-nib-name; names the
304        nigfile that is to be the main nib of the built application
305
3062007-08-26 12:10  gb
307
308        * cocoa-ide/: build-application.lisp, builder-utilities.lisp: added
309        application bulder to trunk
310
3112007-08-25 02:13  gb
312
313        * cocoa-ide/cocoa-listener.lisp:
314        HI::SEND-STRING-TO-LISTENER-PROCESS quotes #\^d, sends unquoted
315        #\^d after sending the string.  (This is just a workaround for
316        ticket:82; the trailing #\^d is just treated as whitespace and
317        terminates calls to READ.  We really want some way of recognizing
318        "end of selection" and treating that like a transient EOF in some
319        cases.)
320
3212007-08-25 02:12  gb
322
323        * cocoa-ide/cocoa-editor.lisp: In COCOA-EDIT, invoke
324        #/openDocumentWithContentsOfURL:display:error:, since calling
325        #/openDocumentWithContentsOfURL:display: complains that
326        #/dataRepresentationOfType: isn't implemented in 32-bit versions of
327        Cocoa.  (Note that we'd been calling
328        #/openDocumentWithContentsOfURL:display:error: as part of the m-.
329        implementation without incident.)
330
3312007-08-25 02:11  gb
332
333        * cocoa-ide/hemlock/src/morecoms.lisp: "Capitalize Word" command
334        notes buffer modification.
335
3362007-08-25 02:10  gb
337
338        * cocoa-ide/hemlock/src/htext4.lisp: FILTER-REGION notes buffer
339        modification.
340
3412007-08-23 17:17  gb
342
343        * cocoa-ide/cocoa-listener.lisp: Remove a duplicate #/continue:
344        method.
345
3462007-08-23 17:16  gb
347
348        * cocoa-ide/cocoa-editor.lisp: Remove a duplicate
349        #/editingInProgress method.  Add some more (conditionalized) debug
350        info.  If ticket:50 bug is encountered, try to force DBG on Hemlock
351        command thread as well as in Cocoa thread.  Make sure that Hemlock
352        command thread has bindings of command-processing data structures,
353        prompt data structures.  Do not bind *LAST-SEARCH-STRING* or
354        *LAST-SEARCH-PATTERN*; note that *LAST-SEARCH-STRING* is usually
355        only set by isearch when it exits.
356
3572007-08-23 17:15  gb
358
359        * cocoa-ide/cocoa-backtrace.lisp: Use new defaults-based backtrace
360        font name and size; initially, Monaco 9.  (Not yet changeable
361        through preferences panel.) Adjust outline view's row height based
362        on font height.  Set the data cell to "non-editable" (could have
363        done this in IB).  Provide handlers for some menu commands
364        (continue, restarts, exitBreak); no need to validate menu items for
365        them (those commands should be available whenever backtrace dialog
366        is active.)
367
3682007-08-23 17:14  gb
369
370        * cocoa-ide/hemlock/src/searchcoms.lisp: Use
371        RECURSIVE-GET-KEY-EVENT in isearch, query-replace.
372
3732007-08-23 17:13  gb
374
375        * cocoa-ide/hemlock/src/package.lisp: Export
376        RECURSIVE-GET-KEY-EVENT.
377
3782007-08-23 17:12  gb
379
380        * cocoa-ide/hemlock/src/lispmode.lisp: Ignore erorrs when trying to
381        read symbol for arglist.  (Should probably be more careful
382        elsewhere, too.)
383
3842007-08-23 17:11  gb
385
386        * cocoa-ide/hemlock/src/interp.lisp: Keep track of
387        *COMMAND-KEY-EVENT-BUFFER* in %COMMAND-LOOP, to enable the
388        RECURSIVE-GET-KEY-EVENT redisplay mechanism.
389
3902007-08-23 17:10  gb
391
392        * cocoa-ide/hemlock/src/echo.lisp: Don't call
393        DOCUMENT-SET-POINT-POSITION in CLEAR-ECHO-AREA: editing changes may
394        still be pending on the echo area (how ?), and
395        DOCUMENT-SET-POINT-POSITION may need to do layout/display updates.
396        Use RECURSIVE-GET-KEY-EVENT when prompting in the echo area.
397
3982007-08-23 16:11  gb
399
400        * cocoa-ide/hemlock/src/cocoa-hemlock.lisp: Define
401        RECURSIVE-GET-KEY-EVENT, to allow redisplay on the buffer
402        designated as *COMMAND-KEY-EVENT-BUFFER* in while getting key
403        events in some modal loop in a command.  (The idea is that toplevel
404        editing commands inhibit redisplay in the main buffer while they're
405        active; commands which recursively process key events and which may
406        make changes to that buffer should allow redisplay while they're
407        waiting in RECURSIVE-GET-KEY-EVENT.)
408
4092007-08-23 16:10  gb
410
411        * cocoa-ide/hemlock/src/filecoms.lisp: Use the NSDocument-based
412        revert.
413
4142007-08-18 19:11  gb
415
416        * level-1/: l1-dcode.lisp, l1-dcode.lisp: Define and use
417        %GF-DISPATCH-TABLE-STORE-CONDITIONAL; this is intended to avoid
418        race conditions where two threads try to update a distpatch table
419        index with different {wrapper, combined-method} pairs at the same
420        time.  (As it's written, if the store-conditional fails because a
421        slot that we thought was free is now in use, we simply don't cache
422        the pair and get a cache miss the next time; that may or may not be
423        more work than repeating the whole process would be.)
424       
425        The store-conditional is used on attempt to update the
426        combined-method slot in the pair; the wrapper slot is only updated
427        if the store-conditional succeeds.  Code which probes the wrapper
428        slots shouldn't be confused by a half-updated pair (should never
429        see a non-null wrapper slot and a null combined-method slot.)
430
4312007-08-18 17:11  gb
432
433        * lib/db-io.lisp: Don't treat (:* :void) as (:* nil) in
434        %DECODE-TYPE.
435
4362007-08-18 16:10  gb
437
438        * cocoa-ide/cocoa-editor.lisp: Use #/instancesRespondToSelector: to
439        determine if selection highlighting can be used, since
440        #_class_respondsToSelector requires ObjC-2.0)
441
4422007-08-16 08:22  gb
443
444        * cocoa-ide/cocoa-editor.lisp: Hemlock text storage can use
445        extended selection highlighting if it's supported.
446       
447        Clear the shift bit from key events associated with standard-chars.
448
4492007-08-16 08:20  gb
450
451        * cocoa-ide/hemlock/src/bindings.lisp: Shifted and unshifted keys
452        bound to movement commands run different commands.
453       
454        Left-mouse has the :mouse-exit logical attribute.
455
4562007-08-16 08:19  gb
457
458        * cocoa-ide/hemlock/src/buffer.lisp:
459        CURRENT-POINT-COLLAPSING-SELECTION and
460        CURRENT-POINT-EXTENDING-SELECTION replace
461        CURRENT-POINT-FOR-MOVEMENT.
462
4632007-08-16 08:18  gb
464
465        * cocoa-ide/hemlock/src/cocoa-hemlock.lisp: Simplify key-event
466        translation.
467       
468        Define NOTE-SELECTION-SET-BY-SEARCH, which can cause special
469        selection highlighting under Leopard.
470
4712007-08-16 08:16  gb
472
473        * cocoa-ide/hemlock/src/command.lisp: Movement commands come in
474        "shifted" and "unshifted" variants.
475
4762007-08-16 08:15  gb
477
478        * cocoa-ide/hemlock/src/echo.lisp: :mouse-exit is a new logical key
479        attribute.
480
4812007-08-16 08:14  gb
482
483        * cocoa-ide/hemlock/src/key-event.lisp: GET-KEY-EVENT*: clear shift
484        bit for standard-char (and upper-case.) This means that
485        #k"ctrl-shift-a" and #k"ctrl-A" both refer to the same key event
486        (in which the shift modifier isn't explicitly set) and that
487        #k"rightarrow" and #k"shift-rightarrow" are distinct (and the shift
488        modifier is set in the latter.)
489
4902007-08-16 08:13  gb
491
492        * cocoa-ide/hemlock/src/lispmode.lisp: When indenting, don't change
493        the buffer if the line's already indented properly.
494       
495        Movement commands come in two variants: those that collapse and
496        those that extend the selection.
497
4982007-08-16 08:12  gb
499
500        * cocoa-ide/hemlock/src/package.lisp: Export
501        CURRENT-POINT-EXTENDING-SELECTION and
502        CURRENT-POINT-COLLAPSING-SELECTION.  Don't export
503        CURRENT-POINT-FOR-MOVEMENT.
504
5052007-08-16 08:10  gb
506
507        * cocoa-ide/hemlock/src/searchcoms.lisp: Hilite the selection more
508        empatically (under Leopard) after successful (non incremental)
509        search.
510       
511        Incremental search also hilites the selection, but doesn't yet
512        manage the selection on failure.
513
5142007-08-16 07:10  gb
515
516        * cocoa-ide/cocoa-editor.lisp: activate-hemlock-view: implemenent
517        by invoking #/activateHemlockView on main thread; call
518        deactivate-hemlock-view on the peer.
519       
520        Not sure if edit-count fuss in deactivate-hemlock-view is correct,
521        but I'm fairly sure that this stuff needs to happen on the main
522        thread.
523
5242007-08-09 16:10  gb
525
526        * lib/arglist.lisp: Use PRINC-TO-STRING (not PRIN1-TO-STRING) in
527        ARGLIST-STRING, to avoid prinding package qualfiers (ticket:30).
528
5292007-08-07 15:10  gb
530
531        * cocoa-ide/hemlock/src/bindings.lisp: Bind home and end to
532        beginning of buffer and end of buffer.  It's Mac standard, and I
533        use it a lot.  Home was bound to "Help".
534       
535        Make clicking the mouse while incremental searching exit instead of
536        abort, leaving the insertion point where you click instead of where
537        the isearch was started.
538
5392007-08-06 23:10  gb
540
541        * cocoa-ide/: hemlock/src/bindings.lisp, hemlock/src/buffer.lisp,
542        hemlock/src/cocoa-hemlock.lisp, hemlock/src/command.lisp,
543        hemlock/src/lispmode.lisp, hemlock/src/morecoms.lisp,
544        hemlock/src/package.lisp, cocoa-editor.lisp: When generating a
545        hemlock key event, set the hemlock shift bit if the the Cocoa shift
546        bit was set.  In HI::GET-KEY-EVENT, return an event with the shift
547        bit cleared and the keysym downcased (if necessary).  Leave
548        HI::*LAST-KEY-EVENT-TYPED* as the unmodified event (which may have
549        shift bits set.) Define HI:CURRENT-POINT-FOR-MOVEMENT, which
550        deactivates the region ("collapses the selection") if the shift bit
551        was clear in HI::*LAST-KEY-EVENT-TYPED* and ensures that a region
552        is active otherwise.  Use HI:CURRENT-POINT-FOR-MOVEMENT in (most,
553        hopefully all) movement commands, to address ticket:36 .  Define a
554        "Do Nothing" hemlock command, bind #k"leftdown" (left mouse down)
555        to it to address ticket:44 .
556
5572007-08-06 19:10  gb
558
559        * objc-bridge/objc-support.lisp: careful with db stuff
560
5612007-08-04 13:12  gb
562
563        * cocoa-ide/cocoa-editor.lisp: Conditionalize an #_NSLog call.
564        Post a #k"leftdown" to Hemlock on mouseDown: in the main text view.
565         (Should maybe do this on mousedown in the echo area, too.) Some
566        indentation changes.
567
5682007-08-04 12:14  gb
569
570        * cocoa-ide/hemlock/src/bindings.lisp: Make #k"leftdown" a logical
571        :abort key event.
572
5732007-08-04 12:13  gb
574
575        * cocoa-ide/hemlock/src/doccoms.lisp: Fix format string in window
576        title for show lossage command.
577
5782007-08-04 12:12  gb
579
580        * cocoa-ide/hemlock/src/keysym-defs.lisp: Define the keysym for
581        left mouse down, so that we can use #k"leftdown".
582
5832007-08-04 12:11  gb
584
585        * cocoa-ide/hemlock/src/key-event.lisp: Revive mouse-event stuff.
586
5872007-08-03 15:10  gb
588
589        * compiler/X86/x86-disassemble.lisp: Correct spelling errors.
590
5912007-08-03 10:10  gb
592
593        * lib/backquote.lisp: Use list-to-vector, not (apply #'vector ...),
594        since the latter can run into problems with CALL-ARGUMENTS-LIMIT.
595
5962007-08-03 09:10  gb
597
598        * level-0/l0-array.lisp: Define list-to-vector.
599
6002007-08-02 07:16  gb
601
602        * cocoa-ide/cocoa-prefs.lisp: Don't make font panel broadcast
603        #/changeFont:; use targeted messages.  Ensure that font panel picks
604        up the right font.
605
6062007-08-02 07:16  gb
607
608        * cocoa-ide/cocoa-window.lisp: Don't enable "metal" style by
609        default.
610
6112007-08-02 07:15  gb
612
613        * cocoa-ide/cocoa-editor.lisp: Make "peer" text view (main text
614        view, echo area) unselectable when activating via Hemlock command.
615        Text views don't use font panel by default; enable/disable font
616        panel when setting text color.
617
6182007-08-02 07:14  gb
619
620        * cocoa-ide/.cvsignore: New.
621
6222007-08-02 07:13  gb
623
624        * lib/: ccl-export-syms.lisp, compile-ccl.lisp: Define and export
625        CREATE-INTERFACES.
626
6272007-08-02 07:12  gb
628
629        * cocoa-ide/cocoa-defaults.lisp: Don't need carbon interfaces.
630
6312007-08-02 07:11  gb
632
633        * library/parse-ffi.lisp: Don't be verbose about explict struct
634        returns.
635
6362007-08-02 07:10  gb
637
638        * objc-bridge/objc-runtime.lisp: Don't use carbon  interfaces
639        anymore.
640
6412007-07-31 19:10  gb
642
643        * darwin-x86-headers64/cocoa/: .cvsignore, C/.cvsignore,
644        C/populate.sh, C/.cvsignore, C/populate.sh: Added.
645
6462007-07-31 07:12  gb
647
648        * lib/dumplisp.lisp: Default the :MODE option to SAVE-APPLICATION
649        to #o644 (not #o666); make sure that it's actually used when
650        creating the image (even if not prepending a kernel to the image.)
651
6522007-07-31 07:11  gb
653
654        * level-1/l1-application.lisp: When processing --version option,
655        don't write to *terminal-io* (which doesn't exist yet.)
656
6572007-07-22 23:50  gb
658
659        * release-notes.txt: Add more stuff.
660
6612007-07-22 23:11  gb
662
663        * level-1/version.lisp: Bump.
664
6652007-07-22 23:10  gb
666
667        * release-notes.txt: Update for 1.1-pre-070722.
668
6692007-07-22 21:11  gb
670
671        * lib/ccl-export-syms.lisp: Export WITH-ENCODED-CSTRS.
672
6732007-07-22 21:10  gb
674
675        * cocoa-ide/README: New file.
676
6772007-07-22 18:51  gb
678
679        * cocoa-ide/cocoa-inspector.lisp: Hook name is in inspector
680        package.
681
6822007-07-22 18:50  gb
683
684        * compiler/PPC/ppc2.lisp: Put special args/locals in symbol map.
685
6862007-07-22 18:49  gb
687
688        * level-1/version.lisp: Bump.
689
6902007-07-22 18:48  gb
691
692        * level-1/: ppc-callback-support.lisp, x86-callback-support.lisp:
693        Allocate callback trampolines via mmap on ppc, too.
694
6952007-07-22 18:47  gb
696
697        * level-1/linux-files.lisp: Don't expose the PROGRAM arg to
698        RUN-PROGRAM to merge-pathnames.
699
7002007-07-22 18:46  gb
701
702        * level-1/l1-utils.lisp: Don't define BEEP.
703
7042007-07-22 18:46  gb
705
706        * level-1/l1-unicode.lisp: utf-8 length-of-memory-encoding function
707        was counting chars (nchars) twice.
708
7092007-07-22 18:45  gb
710
711        * level-1/l1-streams.lisp: selection-stream changes.
712
7132007-07-22 18:44  gb
714
715        * level-1/l1-readloop-lds.lisp: :raw breakloop command.  Put info
716        about restarts in backtrace context.
717
7182007-07-22 18:43  gb
719
720        * level-1/l1-processes.lisp: PROCESS-DEBUG-CONDITION, so that it
721        can be overridden.
722
7232007-07-22 18:42  gb
724
725        * level-1/l1-pathnames.lisp: Add objc-bridge, cocoa-ide to
726        *MODULE-SEARCH-PATH*.
727
7282007-07-22 18:41  gb
729
730        * level-1/l1-format.lisp: Handling of * format directive when
731        dealing with circularity screws up other things that expect
732        *FORMAT-ARGUMENTS* to share structure with
733        *FORMAT-ORIGINAL-ARGUMENTS*.
734
7352007-07-22 18:40  gb
736
737        * level-1/l1-files.lisp: NATIVE-UNTRANSLATED-NAMESTRING,
738        ENSURE-DIRECTORY-NAMESTRING.
739
7402007-07-22 18:40  gb
741
742        * level-1/l1-events.lisp: Handle xcf's on x86 when processing an
743        interactive break.
744
7452007-07-22 18:39  gb
746
747        * level-1/l1-error-system.lisp: Stream error context stuff.
748
7492007-07-22 18:38  gb
750
751        * level-1/l1-error-signal.lisp: Try to recognize foreign exceptions
752        (e.g., as NSExceptions.)
753
7542007-07-22 18:37  gb
755
756        * level-1/l1-clos-boot.lisp: Use COLLECT macro in
757        CLASS-SLOT-INITARGS.
758
7592007-07-22 18:36  gb
760
761        * level-1/l1-callbacks.lisp: Move the x86-64 callback trampoline
762        allocation stuff (which uses mmap to ensure that the callback is in
763        executable memory) here, since it'll be needed on ppc64 leopard, at
764        least.
765
7662007-07-22 18:35  gb
767
768        * level-1/l1-application.lisp: Argument handling and interactive
769        stream initialization happens in a :before method on
770        (toplevel-function application).
771
7722007-07-22 18:34  gb
773
774        * compiler/X86/x862.lisp: Symbol-address recording stuff: record
775        special args/locals, too.
776
7772007-07-22 18:33  gb
778
779        * compiler/X86/x86-disassemble.lisp: Support for disassemble-list,
780        for backtrace/inspect someday.
781
7822007-07-22 18:33  gb
783
784        * compiler/X86/x86-arch.lisp: Globals for ObjC2 exception stuff.
785
7862007-07-22 18:32  gb
787
788        * lib/macros.lisp: Callbacks that try to do magic foreign error
789        stuff use HANDLER-BIND, not HANDLER-CASE.
790       
791        Other callback-changes to reduce incidental consing sometimes.
792
7932007-07-22 18:31  gb
794
795        * lib/backtrace.lisp: %show-args-and-locals,
796        %stack-frames-in-context: changes for new backtrace presentation.
797
7982007-07-22 18:30  gb
799
800        * lib/compile-ccl.lisp: Remove some duplicate definitions.
801
8022007-07-22 18:29  gb
803
804        * lib/describe.lisp: Some (signigicant) stack-frame changes.
805
8062007-07-22 18:28  gb
807
808        * lib/ppc-backtrace.lisp: Tighten some things up a bit.
809
8102007-07-22 18:27  gb
811
812        * lib/arglist.lisp: Provide -some- arglist info for special
813        operators.  ARG-NAMES-FROM-MAP.
814
8152007-07-22 18:27  gb
816
817        * lib/pprint.lisp: Enter the 1990s (eval-when ..).
818
8192007-07-22 18:26  gb
820
821        * lib/source-files.lisp: Comment formatting.
822
8232007-07-22 18:25  gb
824
825        * lib/read.lisp: Use hash tables in #=, etc.  Expect reader errors
826        to provide context.
827
8282007-07-22 18:24  gb
829
830        * lib/x86-backtrace.lisp: Tighten up some frame accessors; don't
831        get confused by null register values, etc.
832
8332007-07-22 18:23  gb
834
835        * lib/time.lisp: GET-TIMEZONE: conditionalize on target word size,
836        not ppc32/ppc64.
837
8382007-07-22 18:22  gb
839
840        * level-0/l0-hash.lisp: Try to defer GC locking in GETHASH.  Some
841        64-bit key-scrambling stuff.
842
8432007-07-22 18:21  gb
844
845        * level-0/l0-misc.lisp: Less zeal in SAFE-GET-PTR.
846
8472007-07-22 18:21  gb
848
849        * level-0/l0-utils.lisp: s32->u32, u32->s32.
850
8512007-07-22 18:20  gb
852
853        * level-0/l0-error.lisp: foreign exception error stuff.
854
8552007-07-22 18:19  gb
856
857        * level-1/l1-sockets.lisp: Sockets created with :format :binary
858        don't have element-type of character, though this crap is all
859        pretty nebulous.
860
8612007-07-22 18:18  gb
862
863        * library/lispequ.lisp: $XFOREIGNEXCEPTION.
864
8652007-07-22 18:17  gb
866
867        * library/pty.lisp: set-pty-raw.
868
8692007-07-22 18:16  gb
870
871        * library/hemlock.lisp: Moved elsewhere.
872
8732007-07-22 18:15  gb
874
875        * lisp-kernel/xlbt.c: Basically, all frames on the vstack are lisp
876        frames.
877
8782007-07-22 18:14  gb
879
880        * lisp-kernel/x86-spentry64.s: Add ObjC2 exception metainfomation.
881
8822007-07-22 18:14  gb
883
884        * lisp-kernel/x86-exceptions.c: Clear and restore the tcr foreign
885        exception bit on interrupt.
886
8872007-07-22 18:13  gb
888
889        * lisp-kernel/x86-constants64.s: tcr.flags is a full word.  define
890        tcr flag bits, including new one for foreign exceptions.
891
8922007-07-22 18:12  gb
893
894        * lisp-kernel/x86-constants.s: Globals for ObjC2 exceptions.
895
8962007-07-22 18:11  gb
897
898        * lisp-kernel/x86-constants.h: New tcr flag bit for foreign
899        exceptions.
900
9012007-07-22 18:10  gb
902
903        * lisp-kernel/thread_manager.c: ensure_stack_limit() when creatings
904        stack for pthread.  Foreign exception callbacks: put some 0s on the
905        stack for callback.
906
9072007-07-22 18:09  gb
908
909        * lisp-kernel/ppc-spentry.s: Restore save regs on callbacks.
910
9112007-07-22 18:08  gb
912
913        * lisp-kernel/pmcl-kernel.c: usage_exit() via _exit().
914        ensure_stack_limit(): if stack size is constrained by limits, don't
915        exceed those limits.
916
9172007-07-22 18:08  gb
918
919        * lisp-kernel/lisp_globals.h: globals for ObjC2 exceptions.
920
9212007-07-22 18:07  gb
922
923        * lisp-kernel/lisp.h: prototype for ensure_stack_limit().
924
9252007-07-22 18:06  gb
926
927        * lisp-kernel/errors.s: XFOREIGNEXCEPTION error constant.
928
9292007-07-22 18:03  gb
930
931        * OpenMCL.app/Contents/Info.plist, OpenMCL.app/Contents/PkgInfo,
932        OpenMCL.app/Contents/MacOS/dppccl,
933        OpenMCL.app/Contents/Resources/OpenMCLKeyBindings.dict,
934        OpenMCL.app/Contents/Resources/openmcl-icon.icns,
935        OpenMCL.app/Contents/Resources/English.lproj/.cvsignore,
936        OpenMCL.app/Contents/Resources/English.lproj/Credits.rtf,
937        OpenMCL.app/Contents/Resources/English.lproj/InfoPlist.strings,
938        OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib/classes.n
939        ib,
940        OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib/info.nib,
941        OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib/keyedobje
942        cts.nib,
943        OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspector.nib/c
944        lasses.nib,
945        OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspector.nib/i
946        nfo.nib,
947        OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspector.nib/k
948        eyedobjects.nib,
949        OpenMCL.app/Contents/Resources/English.lproj/backtrace.nib/classes.
950        nib,
951        OpenMCL.app/Contents/Resources/English.lproj/backtrace.nib/info.nib
952        ,
953        OpenMCL.app/Contents/Resources/English.lproj/backtrace.nib/keyedobj
954        ects.nib,
955        OpenMCL.app/Contents/Resources/English.lproj/lispeditor.nib/classes
956        .nib,
957        OpenMCL.app/Contents/Resources/English.lproj/lispeditor.nib/info.ni
958        b,
959        OpenMCL.app/Contents/Resources/English.lproj/lispeditor.nib/keyedob
960        jects.nib, OpenMCL.app/Contents/Resources/Help/cocoa-notes.html,
961        OpenMCL.app/Contents/Resources/Help/index.html,
962        cocoa-ide/Info.plist-proto, cocoa-ide/cocoa-application.lisp,
963        cocoa-ide/cocoa-backtrace.lisp, cocoa-ide/cocoa-defaults.lisp,
964        cocoa-ide/cocoa-doc.lisp, cocoa-ide/cocoa-editor.lisp,
965        cocoa-ide/cocoa-inspector.lisp, cocoa-ide/cocoa-listener.lisp,
966        cocoa-ide/cocoa-prefs.lisp, cocoa-ide/cocoa-typeout.lisp,
967        cocoa-ide/cocoa-utils.lisp, cocoa-ide/cocoa-window.lisp,
968        cocoa-ide/cocoa.lisp, cocoa-ide/compile-hemlock.lisp,
969        cocoa-ide/hemlock.lisp, cocoa-ide/OpenMCL.app/Contents/PkgInfo,
970        cocoa-ide/OpenMCL.app/Contents/Resources/openmcl-icon.icns,
971        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/.cvsignore,
972        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/Credits.rtf,
973        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/InfoPlist.st
974        rings,
975        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib
976        /classes.nib,
977        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib
978        /info.nib,
979        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/MainMenu.nib
980        /keyedobjects.nib,
981        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspe
982        ctor.nib/classes.nib,
983        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspe
984        ctor.nib/info.nib,
985        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/OpenmclInspe
986        ctor.nib/keyedobjects.nib,
987        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/backtrace.ni
988        b/classes.nib,
989        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/backtrace.ni
990        b/info.nib,
991        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/backtrace.ni
992        b/keyedobjects.nib,
993        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/displaydoc.n
994        ib/classes.nib,
995        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/displaydoc.n
996        ib/info.nib,
997        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/displaydoc.n
998        ib/keyedobjects.nib,
999        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
1000        ib/classes.nib,
1001        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
1002        ib/info.nib,
1003        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/lispeditor.n
1004        ib/keyedobjects.nib,
1005        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/preferences.
1006        nib/classes.nib,
1007        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/preferences.
1008        nib/info.nib,
1009        cocoa-ide/OpenMCL.app/Contents/Resources/English.lproj/preferences.
1010        nib/keyedobjects.nib,
1011        cocoa-ide/OpenMCL.app/Contents/Resources/Help/cocoa-notes.html,
1012        cocoa-ide/OpenMCL.app/Contents/Resources/Help/index.html,
1013        cocoa-ide/hemlock/.cvsignore, cocoa-ide/hemlock/INSTALL,
1014        cocoa-ide/hemlock/TODO, cocoa-ide/hemlock/hemlock.system,
1015        cocoa-ide/hemlock/hemlock11.cursor,
1016        cocoa-ide/hemlock/hemlock11.mask, cocoa-ide/hemlock/bin/.cvsignore,
1017        cocoa-ide/hemlock/bin/openmcl/.cvsignore,
1018        cocoa-ide/hemlock/doc/.cvsignore,
1019        cocoa-ide/hemlock/doc/cim/.cvsignore,
1020        cocoa-ide/hemlock/doc/cim/aux-sys.mss,
1021        cocoa-ide/hemlock/doc/cim/cim.mss,
1022        cocoa-ide/hemlock/doc/misc/.cvsignore,
1023        cocoa-ide/hemlock/doc/misc/compilation.order,
1024        cocoa-ide/hemlock/doc/misc/hemlock.log,
1025        cocoa-ide/hemlock/doc/misc/hemlock.upd,
1026        cocoa-ide/hemlock/doc/misc/notes.txt,
1027        cocoa-ide/hemlock/doc/misc/perq-hemlock.log,
1028        cocoa-ide/hemlock/doc/misc/things-to-do.txt,
1029        cocoa-ide/hemlock/doc/scribe-converter/.cvsignore,
1030        cocoa-ide/hemlock/doc/scribe-converter/NOTES,
1031        cocoa-ide/hemlock/doc/user/.cvsignore,
1032        cocoa-ide/hemlock/doc/user/commands.mss,
1033        cocoa-ide/hemlock/doc/user/intro.mss,
1034        cocoa-ide/hemlock/doc/user/lisp.mss,
1035        cocoa-ide/hemlock/doc/user/mail.mss,
1036        cocoa-ide/hemlock/doc/user/netnews.mss,
1037        cocoa-ide/hemlock/doc/user/special-modes.mss,
1038        cocoa-ide/hemlock/doc/user/user.mss,
1039        cocoa-ide/hemlock/maint/.cvsignore,
1040        cocoa-ide/hemlock/maint/publish,
1041        cocoa-ide/hemlock/resources/.cvsignore,
1042        cocoa-ide/hemlock/resources/XKeysymDB,
1043        cocoa-ide/hemlock/resources/mh-scan,
1044        cocoa-ide/hemlock/resources/spell-dictionary.text,
1045        cocoa-ide/hemlock/src/.cvsignore,
1046        cocoa-ide/hemlock/src/bindings-gb.lisp,
1047        cocoa-ide/hemlock/src/bindings.lisp,
1048        cocoa-ide/hemlock/src/buffer.lisp,
1049        cocoa-ide/hemlock/src/charmacs.lisp,
1050        cocoa-ide/hemlock/src/cocoa-hemlock.lisp,
1051        cocoa-ide/hemlock/src/command.lisp,
1052        cocoa-ide/hemlock/src/comments.lisp,
1053        cocoa-ide/hemlock/src/completion.lisp,
1054        cocoa-ide/hemlock/src/cursor.lisp,
1055        cocoa-ide/hemlock/src/decls.lisp,
1056        cocoa-ide/hemlock/src/defsyn.lisp,
1057        cocoa-ide/hemlock/src/doccoms.lisp,
1058        cocoa-ide/hemlock/src/echo.lisp,
1059        cocoa-ide/hemlock/src/echocoms.lisp,
1060        cocoa-ide/hemlock/src/edit-defs.lisp,
1061        cocoa-ide/hemlock/src/filecoms.lisp,
1062        cocoa-ide/hemlock/src/files.lisp, cocoa-ide/hemlock/src/fill.lisp,
1063        cocoa-ide/hemlock/src/font.lisp,
1064        cocoa-ide/hemlock/src/hemlock-ext.lisp,
1065        cocoa-ide/hemlock/src/htext1.lisp,
1066        cocoa-ide/hemlock/src/htext2.lisp,
1067        cocoa-ide/hemlock/src/htext3.lisp,
1068        cocoa-ide/hemlock/src/htext4.lisp, cocoa-ide/hemlock/src/icom.lisp,
1069        cocoa-ide/hemlock/src/indent.lisp,
1070        cocoa-ide/hemlock/src/interp.lisp,
1071        cocoa-ide/hemlock/src/kbdmac.lisp,
1072        cocoa-ide/hemlock/src/key-event.lisp,
1073        cocoa-ide/hemlock/src/keysym-defs.lisp,
1074        cocoa-ide/hemlock/src/killcoms.lisp,
1075        cocoa-ide/hemlock/src/line.lisp,
1076        cocoa-ide/hemlock/src/linimage.lisp,
1077        cocoa-ide/hemlock/src/lispdep.lisp,
1078        cocoa-ide/hemlock/src/lispmode.lisp,
1079        cocoa-ide/hemlock/src/listener.lisp,
1080        cocoa-ide/hemlock/src/macros.lisp, cocoa-ide/hemlock/src/main.lisp,
1081        cocoa-ide/hemlock/src/modeline.lisp,
1082        cocoa-ide/hemlock/src/morecoms.lisp,
1083        cocoa-ide/hemlock/src/package.lisp,
1084        cocoa-ide/hemlock/src/pop-up-stream.lisp,
1085        cocoa-ide/hemlock/src/register.lisp,
1086        cocoa-ide/hemlock/src/ring.lisp,
1087        cocoa-ide/hemlock/src/rompsite.lisp,
1088        cocoa-ide/hemlock/src/search1.lisp,
1089        cocoa-ide/hemlock/src/search2.lisp,
1090        cocoa-ide/hemlock/src/searchcoms.lisp,
1091        cocoa-ide/hemlock/src/srccom.lisp,
1092        cocoa-ide/hemlock/src/streams.lisp,
1093        cocoa-ide/hemlock/src/struct.lisp,
1094        cocoa-ide/hemlock/src/syntax.lisp,
1095        cocoa-ide/hemlock/src/table.lisp, cocoa-ide/hemlock/src/text.lisp,
1096        cocoa-ide/hemlock/src/undo.lisp, cocoa-ide/hemlock/src/vars.lisp,
1097        cocoa-ide/hemlock/src/archive/abbrev.lisp,
1098        cocoa-ide/hemlock/src/archive/auto-save.lisp,
1099        cocoa-ide/hemlock/src/archive/bit-display.lisp,
1100        cocoa-ide/hemlock/src/archive/bit-screen.lisp,
1101        cocoa-ide/hemlock/src/archive/bufed.lisp,
1102        cocoa-ide/hemlock/src/archive/debug.lisp,
1103        cocoa-ide/hemlock/src/archive/dired.lisp,
1104        cocoa-ide/hemlock/src/archive/diredcoms.lisp,
1105        cocoa-ide/hemlock/src/archive/display.lisp,
1106        cocoa-ide/hemlock/src/archive/dylan.lisp,
1107        cocoa-ide/hemlock/src/archive/eval-server.lisp,
1108        cocoa-ide/hemlock/src/archive/group.lisp,
1109        cocoa-ide/hemlock/src/archive/highlight.lisp,
1110        cocoa-ide/hemlock/src/archive/hunk-draw.lisp,
1111        cocoa-ide/hemlock/src/archive/input.lisp,
1112        cocoa-ide/hemlock/src/archive/lisp-lib.lisp,
1113        cocoa-ide/hemlock/src/archive/lispbuf.lisp,
1114        cocoa-ide/hemlock/src/archive/lispeval.lisp,
1115        cocoa-ide/hemlock/src/archive/mh.lisp,
1116        cocoa-ide/hemlock/src/archive/netnews.lisp,
1117        cocoa-ide/hemlock/src/archive/overwrite.lisp,
1118        cocoa-ide/hemlock/src/archive/pascal.lisp,
1119        cocoa-ide/hemlock/src/archive/rcs.lisp,
1120        cocoa-ide/hemlock/src/archive/screen.lisp,
1121        cocoa-ide/hemlock/src/archive/scribe.lisp,
1122        cocoa-ide/hemlock/src/archive/shell.lisp,
1123        cocoa-ide/hemlock/src/archive/spell-aug.lisp,
1124        cocoa-ide/hemlock/src/archive/spell-corr.lisp,
1125        cocoa-ide/hemlock/src/archive/spell-rt.lisp,
1126        cocoa-ide/hemlock/src/archive/spellcoms.lisp,
1127        cocoa-ide/hemlock/src/archive/srccom.lisp,
1128        cocoa-ide/hemlock/src/archive/ts-buf.lisp,
1129        cocoa-ide/hemlock/src/archive/ts-stream.lisp,
1130        cocoa-ide/hemlock/src/archive/unixcoms.lisp,
1131        cocoa-ide/hemlock/src/archive/window.lisp,
1132        cocoa-ide/hemlock/src/archive/winimage.lisp,
1133        cocoa-ide/hemlock/src/archive/xcoms.lisp,
1134        cocoa-ide/hemlock/src/elisp/.cvsignore,
1135        cocoa-ide/hemlock/src/elisp/base.lisp,
1136        cocoa-ide/hemlock/src/elisp/cmucl-hemlock-glue.lisp,
1137        cocoa-ide/hemlock/src/elisp/codewalker.lisp,
1138        cocoa-ide/hemlock/src/elisp/compile.lisp,
1139        cocoa-ide/hemlock/src/elisp/hemlock-shims.lisp,
1140        cocoa-ide/hemlock/src/elisp/implementation-needed,
1141        cocoa-ide/hemlock/src/elisp/internals.lisp,
1142        cocoa-ide/hemlock/src/elisp/loadup.lisp,
1143        cocoa-ide/hemlock/src/elisp/packages.lisp,
1144        cocoa-ide/hemlock/src/elisp/read-table.lisp,
1145        cocoa-ide/hemlock/src/spell/.cvsignore,
1146        cocoa-ide/hemlock/src/spell/build.lisp,
1147        cocoa-ide/hemlock/src/spell/classes.lisp,
1148        cocoa-ide/hemlock/src/spell/constants.lisp,
1149        cocoa-ide/hemlock/src/spell/correlate.lisp,
1150        cocoa-ide/hemlock/src/spell/flags.lisp,
1151        cocoa-ide/hemlock/src/spell/hashing.lisp,
1152        cocoa-ide/hemlock/src/spell/io.lisp,
1153        cocoa-ide/hemlock/src/spell/package.lisp,
1154        cocoa-ide/hemlock/src/spell/spell-aug.lisp,
1155        cocoa-ide/hemlock/src/spell/spell-dictionary.text,
1156        cocoa-ide/hemlock/src/spell/spell.asd,
1157        cocoa-ide/hemlock/src/spell/spellcoms.lisp,
1158        cocoa-ide/hemlock/src/tty/.cvsignore,
1159        cocoa-ide/hemlock/src/tty/termcap.lisp,
1160        cocoa-ide/hemlock/src/tty/tty-disp-rt.lisp,
1161        cocoa-ide/hemlock/src/tty/tty-display.lisp,
1162        cocoa-ide/hemlock/src/tty/tty-screen.lisp,
1163        cocoa-ide/hemlock/src/wire/.cvsignore,
1164        cocoa-ide/hemlock/src/wire/Notes,
1165        cocoa-ide/hemlock/src/wire/package.lisp,
1166        cocoa-ide/hemlock/src/wire/port.lisp,
1167        cocoa-ide/hemlock/src/wire/remote.lisp,
1168        cocoa-ide/hemlock/src/wire/wire.lisp,
1169        cocoa-ide/hemlock/unused/.cvsignore,
1170        cocoa-ide/hemlock/unused/bit-stream.lisp,
1171        cocoa-ide/hemlock/unused/clx-ext.lisp,
1172        cocoa-ide/hemlock/unused/ed-integrity.lisp,
1173        cocoa-ide/hemlock/unused/gosmacs.lisp,
1174        cocoa-ide/hemlock/unused/hacks.lisp,
1175        cocoa-ide/hemlock/unused/hemcom.lisp,
1176        cocoa-ide/hemlock/unused/hi-integrity.lisp,
1177        cocoa-ide/hemlock/unused/keytran.lisp,
1178        cocoa-ide/hemlock/unused/keytrandefs.lisp,
1179        cocoa-ide/hemlock/unused/spell-build.lisp,
1180        cocoa-ide/hemlock/unused/struct-ed.lisp,
1181        cocoa-ide/hemlock/unused/tty-stream.lisp,
1182        cocoa-ide/hemlock/website/.cvsignore,
1183        cocoa-ide/hemlock/website/index.html.in, compiler/nx0.lisp,
1184        examples/CocoaBridgeDoc.txt, examples/bridge.lisp,
1185        examples/cocoa-application.lisp, examples/cocoa-backtrace.lisp,
1186        examples/cocoa-defaults.lisp, examples/cocoa-editor.lisp,
1187        examples/cocoa-inspector.lisp, examples/cocoa-listener.lisp,
1188        examples/cocoa-prefs.lisp, examples/cocoa-textfind.lisp,
1189        examples/cocoa-typeout.lisp, examples/cocoa-window.lisp,
1190        examples/cocoa.lisp, examples/compile-hemlock.lisp,
1191        examples/fake-cfbundle-path.lisp, examples/name-translation.lisp,
1192        examples/objc-clos.lisp, examples/objc-package.lisp,
1193        examples/objc-readtable.lisp, examples/objc-runtime.lisp,
1194        examples/objc-support.lisp, examples/process-objc-modules.lisp,
1195        hemlock/.cvsignore, hemlock/INSTALL, hemlock/README, hemlock/TODO,
1196        hemlock/hemlock.system, hemlock/hemlock11.cursor,
1197        hemlock/hemlock11.mask, hemlock/bin/.cvsignore,
1198        hemlock/bin/openmcl/.cvsignore, hemlock/doc/.cvsignore,
1199        hemlock/doc/cim/.cvsignore, hemlock/doc/cim/aux-sys.mss,
1200        hemlock/doc/cim/cim.mss, hemlock/doc/misc/.cvsignore,
1201        hemlock/doc/misc/compilation.order, hemlock/doc/misc/hemlock.log,
1202        hemlock/doc/misc/hemlock.upd, hemlock/doc/misc/notes.txt,
1203        hemlock/doc/misc/perq-hemlock.log,
1204        hemlock/doc/misc/things-to-do.txt,
1205        hemlock/doc/scribe-converter/.cvsignore,
1206        hemlock/doc/scribe-converter/NOTES,
1207        hemlock/doc/scribe-converter/README, hemlock/doc/user/.cvsignore,
1208        hemlock/doc/user/commands.mss, hemlock/doc/user/intro.mss,
1209        hemlock/doc/user/lisp.mss, hemlock/doc/user/mail.mss,
1210        hemlock/doc/user/netnews.mss, hemlock/doc/user/special-modes.mss,
1211        hemlock/doc/user/user.mss, hemlock/maint/.cvsignore,
1212        hemlock/maint/publish, hemlock/resources/.cvsignore,
1213        hemlock/resources/XKeysymDB, hemlock/resources/mh-scan,
1214        hemlock/resources/spell-dictionary.text, hemlock/src/.cvsignore,
1215        hemlock/src/abbrev.lisp, hemlock/src/auto-save.lisp,
1216        hemlock/src/bindings-gb.lisp, hemlock/src/bindings.lisp,
1217        hemlock/src/bit-display.lisp, hemlock/src/bit-screen.lisp,
1218        hemlock/src/bufed.lisp, hemlock/src/buffer.lisp,
1219        hemlock/src/charmacs.lisp, hemlock/src/cocoa-hemlock.lisp,
1220        hemlock/src/command.lisp, hemlock/src/comments.lisp,
1221        hemlock/src/completion.lisp, hemlock/src/cursor.lisp,
1222        hemlock/src/debug.lisp, hemlock/src/decls.lisp,
1223        hemlock/src/defsyn.lisp, hemlock/src/dired.lisp,
1224        hemlock/src/diredcoms.lisp, hemlock/src/display.lisp,
1225        hemlock/src/doccoms.lisp, hemlock/src/dylan.lisp,
1226        hemlock/src/echo.lisp, hemlock/src/echocoms.lisp,
1227        hemlock/src/edit-defs.lisp, hemlock/src/eval-server.lisp,
1228        hemlock/src/filecoms.lisp, hemlock/src/files.lisp,
1229        hemlock/src/fill.lisp, hemlock/src/font.lisp,
1230        hemlock/src/group.lisp, hemlock/src/hemlock-ext.lisp,
1231        hemlock/src/highlight.lisp, hemlock/src/htext1.lisp,
1232        hemlock/src/htext2.lisp, hemlock/src/htext3.lisp,
1233        hemlock/src/htext4.lisp, hemlock/src/hunk-draw.lisp,
1234        hemlock/src/icom.lisp, hemlock/src/indent.lisp,
1235        hemlock/src/input.lisp, hemlock/src/interp.lisp,
1236        hemlock/src/kbdmac.lisp, hemlock/src/key-event.lisp,
1237        hemlock/src/keysym-defs.lisp, hemlock/src/killcoms.lisp,
1238        hemlock/src/line.lisp, hemlock/src/linimage.lisp,
1239        hemlock/src/lisp-lib.lisp, hemlock/src/lispbuf.lisp,
1240        hemlock/src/lispdep.lisp, hemlock/src/lispeval.lisp,
1241        hemlock/src/lispmode.lisp, hemlock/src/listener.lisp,
1242        hemlock/src/macros.lisp, hemlock/src/main.lisp,
1243        hemlock/src/mh.lisp, hemlock/src/modeline.lisp,
1244        hemlock/src/morecoms.lisp, hemlock/src/netnews.lisp,
1245        hemlock/src/overwrite.lisp, hemlock/src/package.lisp,
1246        hemlock/src/pascal.lisp, hemlock/src/pop-up-stream.lisp,
1247        hemlock/src/rcs.lisp, hemlock/src/register.lisp,
1248        hemlock/src/ring.lisp, hemlock/src/rompsite.lisp,
1249        hemlock/src/screen.lisp, hemlock/src/scribe.lisp,
1250        hemlock/src/search1.lisp, hemlock/src/search2.lisp,
1251        hemlock/src/searchcoms.lisp, hemlock/src/shell.lisp,
1252        hemlock/src/spell-aug.lisp, hemlock/src/spell-corr.lisp,
1253        hemlock/src/spell-rt.lisp, hemlock/src/spellcoms.lisp,
1254        hemlock/src/srccom.lisp, hemlock/src/streams.lisp,
1255        hemlock/src/struct.lisp, hemlock/src/syntax.lisp,
1256        hemlock/src/table.lisp, hemlock/src/text.lisp,
1257        hemlock/src/ts-buf.lisp, hemlock/src/ts-stream.lisp,
1258        hemlock/src/undo.lisp, hemlock/src/unixcoms.lisp,
1259        hemlock/src/vars.lisp, hemlock/src/window.lisp,
1260        hemlock/src/winimage.lisp, hemlock/src/xcoms.lisp,
1261        hemlock/src/elisp/.cvsignore, hemlock/src/elisp/README,
1262        hemlock/src/elisp/base.lisp,
1263        hemlock/src/elisp/cmucl-hemlock-glue.lisp,
1264        hemlock/src/elisp/codewalker.lisp, hemlock/src/elisp/compile.lisp,
1265        hemlock/src/elisp/hemlock-shims.lisp,
1266        hemlock/src/elisp/implementation-needed,
1267        hemlock/src/elisp/internals.lisp, hemlock/src/elisp/loadup.lisp,
1268        hemlock/src/elisp/packages.lisp, hemlock/src/elisp/read-table.lisp,
1269        hemlock/src/spell/.cvsignore, hemlock/src/spell/README,
1270        hemlock/src/spell/build.lisp, hemlock/src/spell/classes.lisp,
1271        hemlock/src/spell/constants.lisp, hemlock/src/spell/correlate.lisp,
1272        hemlock/src/spell/flags.lisp, hemlock/src/spell/hashing.lisp,
1273        hemlock/src/spell/io.lisp, hemlock/src/spell/package.lisp,
1274        hemlock/src/spell/spell-aug.lisp,
1275        hemlock/src/spell/spell-dictionary.text,
1276        hemlock/src/spell/spell.asd, hemlock/src/spell/spellcoms.lisp,
1277        hemlock/src/tty/.cvsignore, hemlock/src/tty/termcap.lisp,
1278        hemlock/src/tty/tty-disp-rt.lisp, hemlock/src/tty/tty-display.lisp,
1279        hemlock/src/tty/tty-screen.lisp, hemlock/src/wire/.cvsignore,
1280        hemlock/src/wire/Notes, hemlock/src/wire/package.lisp,
1281        hemlock/src/wire/port.lisp, hemlock/src/wire/remote.lisp,
1282        hemlock/src/wire/wire.lisp, hemlock/unused/.cvsignore,
1283        hemlock/unused/bit-stream.lisp, hemlock/unused/clx-ext.lisp,
1284        hemlock/unused/ed-integrity.lisp, hemlock/unused/gosmacs.lisp,
1285        hemlock/unused/hacks.lisp, hemlock/unused/hemcom.lisp,
1286        hemlock/unused/hi-integrity.lisp, hemlock/unused/keytran.lisp,
1287        hemlock/unused/keytrandefs.lisp, hemlock/unused/spell-build.lisp,
1288        hemlock/unused/struct-ed.lisp, hemlock/unused/tty-stream.lisp,
1289        hemlock/website/.cvsignore, hemlock/website/index.html.in,
1290        objc-bridge/CocoaBridgeDoc.txt, objc-bridge/bridge.lisp,
1291        objc-bridge/fake-cfbundle-path.lisp,
1292        objc-bridge/name-translation.lisp, objc-bridge/objc-clos.lisp,
1293        objc-bridge/objc-package.lisp, objc-bridge/objc-readtable.lisp,
1294        objc-bridge/objc-runtime.lisp, objc-bridge/objc-support.lisp,
1295        objc-bridge/process-objc-modules.lisp: Synch with svn rev 6898:
1296        DEFINE-COMPILER-MACRO does RECORD-SOURCE-FILE.  Directory
1297        reorganization: new "cocoa-ide" and "objc-bridge" directories; many
1298        things moved from "examples" to one of these directories,
1299        OpenMCL.app and hemock moved under "cocoa-ide".  Lots of changes in
1300        cocoa-ide, objc-bridge, and hemlock; see the svn log for the
1301        "ide-1.0" branch for details.
1302
13032007-06-15 19:10  gb
1304
1305        * lib/read.lisp: use hash tables in #=, ##.  Sometimes
1306
13072007-06-15 14:10  gb
1308
1309        * compiler/X86/x862.lisp: x862-numcmp: if both args fixnums ...
1310        x862-inline-numcmp: don't reverse cr-bit if both args fixnums
1311        (shouldn't get here if we're catching that upstream, but ...)
1312
13132007-06-01 08:34  gb
1314
1315        * level-1/l1-files.lisp: Do ~-expansion in more places.  Hopefully
1316        caught most places.
1317
13182007-06-01 08:33  gb
1319
1320        * level-1/l1-reader.lisp: %TOKEN-PACKAGE generates a READER-ERROR
1321        if it can't find the package, accepts a stream argument in order to
1322        signal that type of error.  (Note that this has never been
1323        recoverable in general, especially in the case where the input
1324        stream is *terminal-io* or shares its input stream.)
1325
13262007-06-01 08:32  gb
1327
1328        * lib/read.lisp: READER-ERORS use STREAM-ERROR-CONTEXT when
1329        reporting themselves.
1330
13312007-06-01 08:31  gb
1332
1333        * level-1/l1-error-system.lisp: Define and use
1334        STREAM-ERROR-CONTEXT.
1335
13362007-06-01 08:30  gb
1337
1338        * level-1/linux-files.lisp: Define UID-FROM-NAME, TILDE-EXPAND.
1339        Use TILDE-EXPAND in %REALPATH, but any leading tildes should
1340        probably have been caught earlier.
1341
13422007-06-01 08:29  gb
1343
1344        * level-1/l1-streams.lisp: Try to provide some context -
1345        "surrounding characters" - for reader/stream errors on character
1346        input streams.
1347
13482007-06-01 08:28  gb
1349
1350        * level-1/l1-unicode.lisp: Get number of args right in call to
1351        STRING-ENCODED-LENGTH-IN-BYTES from
1352        CSTRING-ENCODED-LENGTH-IN-BYTES.  Sorry.
1353
13542007-06-01 08:28  gb
1355
1356        * level-0/X86/x86-misc.lisp: %%get-unsigned-longlong,
1357        %%get-signed-longlong: args in UNBOX-FIXNUM macro were in the wrong
1358        order.  Both functions are usually open-coded (and the inlined
1359        versions seem to be OK), but the ObjC bridge funcalls these
1360        functions when getting/setting foreign slots of the appropriate
1361        type.
1362
13632007-06-01 08:27  gb
1364
1365        * level-1/l1-unicode.lisp: Add STRING-ENCODED-LENGTH-IN-BYTES.
1366        Make it, CSTRING-ENCODED-LENGTH-IN-BYTES, and
1367        ENCODE-STRING-FROM-MEMORY deal with non-simple strings.
1368
13692007-06-01 08:26  gb
1370
1371        * level-0/l0-aprims.lisp: Try to deal with the "SIMPLE-BASE-STRING,
1372        all of it" case in %CSTR-POINTER; deal with all other cases in
1373        %CSTR-SEGMENT-POINTER.
1374
13752007-06-01 08:25  gb
1376
1377        * level-1/x86-error-signal.lisp: xp-argument-list: stack args are
1378        under return address, exception callback frame (xcf) on stack.
1379       
1380        handle-udf-call: don't try to fix up the stack if we try to
1381        continue; let kernel deal with this after the callback.
1382
13832007-06-01 08:24  gb
1384
1385        * lisp-kernel/x86-exceptions.c: finish_function_entry: there's a
1386        return address on the top of the stack when this is entered
1387        (#-of-arguments traps).  Put it in the right place when building
1388        the frame.
1389       
1390        create_exception_callback_frame: look for tra on top of lisp stack,
1391        not in register (usually.)
1392       
1393        handle_error(): if we return after calling out for int #xc7 (call
1394        to undefined function), fix up the stack and other registers so
1395        that we can return the value(s) returned by the lisp-side handler.
1396        (It's hard for the lisp-side handler to do the stack manipulation,
1397        because of the xcf on the stack and because of the need to deal
1398        with the return address on the stack.)
1399
14002007-06-01 08:23  gb
1401
1402        * lisp-kernel/x86-spentry64.s: uuos in subrprims called via
1403        lea/jmp: push ra0 on stack before trap, for the benefit of
1404        create_exception_callback_frame().
1405
14062007-06-01 08:22  gb
1407
1408        * lib/sequences.lisp: Eric Marsden's fixes to MISMATCH
1409
14102007-06-01 08:22  gb
1411
1412        * level-1/l1-unicode.lisp: :utf-32 memory-encode function: don't
1413        write a BOM here.
1414
14152007-06-01 08:21  gb
1416
1417        * level-0/X86/x86-def.lisp: %RETURN-ADDRESS-OFFSET has been wrong
1418        since the switch to the new tra scheme.
1419
14202007-06-01 08:19  gb
1421
1422        * lib/macros.lisp: WITH-ENCODED-CSTR: accept arguments as produced
1423        by WITH-ENCODED-CSTRS.  Handle 0-termination a little more sanely.
1424
14252007-05-12 18:27  gb
1426
1427        * release-notes.txt: Update for 070512.
1428
14292007-05-12 18:27  gb
1430
1431        * lisp-kernel/ppc-exceptions.c: Fix typo in new_heap_segment().
1432
14332007-05-12 18:26  gb
1434
1435        * compiler/PPC/ppc2.lisp: Fix typo in ppc2-%i-
1436
14372007-05-12 18:25  gb
1438
1439        * level-1/version.lisp: Bump.
1440
14412007-05-12 18:24  gb
1442
1443        * lisp-kernel/ppc-exceptions.c: new_heap_segment(): don't extend
1444        heap by more than what we need if GC is obviously disabled.
1445
14462007-05-12 18:23  gb
1447
1448        * compiler/PPC/ppc2.lisp: Use *ppc2-target-half-fixnum-type* to
1449        suppress overflow checking in some cases.
1450
14512007-05-12 18:22  gb
1452
1453        * compiler/X86/x862.lisp: Fix indentation.
1454
14552007-05-12 18:22  gb
1456
1457        * lisp-kernel/x86-exceptions.c: new_heap_segment(): don't extend
1458        beyond segment if GC (obviously) disabled.
1459
14602007-05-12 18:21  gb
1461
1462        * level-1/l1-streams.lisp: Fix typo.
1463
14642007-05-12 18:20  gb
1465
1466        * level-1/: l1-streams.lisp, l1-unicode.lisp: Keep bootsrapping
1467        separate character encode/decode limits.
1468
14692007-05-12 18:19  gb
1470
1471        * level-1/l1-unicode.lisp: Start to bootstrap separate
1472        encode/decode limits.
1473
14742007-05-12 18:18  gb
1475
1476        * lisp-kernel/lisp-debug.c: Hide Darwin/Leopard exception context
1477        nonsense when referencing mxcsr in debug_show_fpu().
1478
14792007-05-12 18:17  gb
1480
1481        * lisp-kernel/lisptypes.h: Need alias for __r6 in Tiger and
1482        earlier.  Sheesh.
1483
14842007-05-12 18:17  gb
1485
1486        * level-0/l0-hash.lisp: Fix bad call to %pname-hash.
1487
14882007-05-12 18:16  gb
1489
1490        * level-1/version.lisp: Bump, for now.
1491
14922007-05-12 18:15  gb
1493
1494        * xdump/: faslenv.lisp, heap-image.lisp: Bump fasl versions, image
1495        ABI version.
1496
14972007-05-12 18:14  gb
1498
1499        * lisp-kernel/x86-spentry64.s: nmkunwind.  New calling sequence;
1500        new TRA interpretation.
1501
15022007-05-12 18:13  gb
1503
1504        * lisp-kernel/x86-spjump64.s: nmkunwind.
1505
15062007-05-12 18:12  gb
1507
1508        * lisp-kernel/x86-macros.s: Make_Catch uses %imm2, not %temp2.
1509        nMake_Catch handles return addresses on stack.  repret, for use
1510        when a one-byte ret instruction is a branch target or is preceded
1511        by a conditional branch.
1512
15132007-05-12 18:11  gb
1514
1515        * lisp-kernel/x86-gc.c: New TRA handling; new node regs in
1516        exception contexts.
1517
15182007-05-12 18:11  gb
1519
1520        * lisp-kernel/x86-exceptions.h: New stuff for finding FP state in
1521        exception context; new TRA handling.
1522
15232007-05-12 18:10  gb
1524
1525        * lisp-kernel/x86-exceptions.c: New tra handling.
1526        new_heap_segment: try to avoid requesting too much when user sets
1527        lisp_heap_gc_threshold to inappropriate value.  Pass old_valence
1528        down to fault handler, don't call out to lisp on faults in foreign
1529        code.  Handle USE_MACH_EXCEPTION_LOCK conditionalization.
1530
15312007-05-12 18:08  gb
1532
1533        * lisp-kernel/: x86-constants64.h, x86-constants64.s: New register
1534        assignments.
1535
15362007-05-12 18:07  gb
1537
1538        * lisp-kernel/x86-subprims64.s: New tra handling, new calling
1539        sequence.
1540
15412007-05-12 18:06  gb
1542
1543        * lisp-kernel/: xlbt.c, x86_print.c: New tra handling.
1544
15452007-05-12 18:05  gb
1546
1547        * lisp-kernel/x86-asmutils64.s: Use repret for RET instructions
1548        that're branch targets or that follow conditional branches.
1549
15502007-05-12 18:04  gb
1551
1552        * lisp-kernel/thread_manager.c: Conditionalize for
1553        USE_MACH_EXCEPTION_LOCK.
1554
15552007-05-12 18:03  gb
1556
1557        * lisp-kernel/ppc-spjump.s: .SPnmkunwind.
1558
15592007-05-12 18:02  gb
1560
1561        * lisp-kernel/ppc-spentry.s: .SPnmkunwind.  Old catch/unwind: do
1562        explicit blr.
1563
15642007-05-12 18:01  gb
1565
1566        * lisp-kernel/darwinppc/Makefile: Use -Wno-deprecated-declarations.
1567         Gee, I hope that works.
1568
15692007-05-12 18:00  gb
1570
1571        * lisp-kernel/ppc-macros.s: Make_Catch macro: don't include a blr.
1572
15732007-05-12 17:59  gb
1574
1575        * lisp-kernel/ppc-exceptions.h: Only declare mach_exception_lock if
1576        using the mechanism.
1577
15782007-05-12 17:59  gb
1579
1580        * lisp-kernel/ppc-exceptions.c: new_heap_segment: if we can't
1581        extend with (possibly very large) lisp_heap_gc_threshold, try
1582        smaller values.
1583       
1584        Pass "old_valence" to exception handlers; don't call out to lisp on
1585        memory faults from foreign code.
1586
15872007-05-12 17:58  gb
1588
1589        * lisp-kernel/lisptypes.h: xmm register alias nonsense.
1590
15912007-05-12 17:57  gb
1592
1593        * lisp-kernel/lisp-exceptions.h: Change some function prototypes.
1594        Don't use a MACH_EXCEPTION_LOCK on Darwin, since it doesn't seem to
1595        be correct/necessary.
1596
15972007-05-12 17:56  gb
1598
1599        * lisp-kernel/lisp-debug.c: lisp register display changes for
1600        x86-64.  Get FPU display working on x86-64.
1601
16022007-05-12 17:55  gb
1603
1604        * lisp-kernel/linuxx8664/.gdbinit: gtra, just in time for the
1605        calling-sequence change.
1606
16072007-05-12 17:54  gb
1608
1609        * lisp-kernel/image.h: New ABI version.
1610
16112007-05-12 17:54  gb
1612
1613        * lisp-kernel/darwinx8664/.gdbinit: Ignore SIGSYS.  If only I
1614        could; if only I could ...
1615
16162007-05-12 17:53  gb
1617
1618        * lib/x8664env.lisp: More imm temps! (one more ...).
1619
16202007-05-12 17:52  gb
1621
1622        * lib/nfcomp.lisp: Bump current fasl version.
1623
16242007-05-12 17:51  gb
1625
1626        * lib/macros.lisp: RLET, MAKE-RECORD, etc: don't set pointer type
1627        in cross-compiled code.
1628
16292007-05-12 17:50  gb
1630
1631        * lib/foreign-types.lisp: Don't use #. to initialize *host-ftd*
1632        interface dir, because of cross-compilation issues.
1633
16342007-05-12 17:49  gb
1635
1636        * lib/db-io.lisp: Support "queries" in FFI reader macros: #_?foo,
1637        #$?foo, and #&?foo return T if foo is defined, NIL otherwise.
1638
16392007-05-12 17:49  gb
1640
1641        * lib/compile-ccl.lisp: Lose some stuff leftover from 68k->PPC MCL
1642        transition.
1643
16442007-05-12 17:48  gb
1645
1646        * lib/ccl-export-syms.lisp: Mapped-vector stuff.
1647
16482007-05-12 17:47  gb
1649
1650        * lib/encapsulate.lisp: Add a comment.
1651
16522007-05-12 17:46  gb
1653
1654        * library/hash-cons.lisp: Very small lap change.
1655
16562007-05-12 17:45  gb
1657
1658        * level-1/ppc-threads-utils.lisp: Move %FIXNUM-REF-MACPTR and
1659        %FIXNUM-SET-MACPTR elsewhere.
1660
16612007-05-12 17:44  gb
1662
1663        * level-1/linux-files.lisp: File-mapped vectors.
1664
16652007-05-12 17:43  gb
1666
1667        * level-1/l1-streams.lisp: OPEN : :if-exists defaults to
1668        :new-version if pathname-version of filename is :NEWEST.
1669
16702007-05-12 17:43  gb
1671
1672        * level-1/l1-readloop-lds.lisp: %BREAK-IN-FRAME might be called
1673        with a CONDITION object.
1674
16752007-05-12 17:42  gb
1676
1677        * level-1/l1-processes.lisp: *HOST-PAGE-SIZE* initialized earlier.
1678
16792007-05-12 17:41  gb
1680
1681        * level-1/l1-pathnames.lisp: If there's no host component in a
1682        namestring argument, LOGICAL-PATHNAME signals a TYPE-ERROR.
1683
16842007-05-12 17:40  gb
1685
1686        * level-1/l1-lisp-threads.lisp: Initial-lisp-thread, initial
1687        listener stack sizes now static.
1688
16892007-05-12 17:39  gb
1690
1691        * level-1/l1-files.lisp: Pathname arcana.
1692
16932007-05-12 17:38  gb
1694
1695        * level-1/l1-events.lisp: Optionally, invoke debugger-hook on
1696        SIGINT.
1697
16982007-05-12 17:38  gb
1699
1700        * level-1/l1-dcode.lisp: Clear dispatch table cache if GF APO
1701        changes.
1702
17032007-05-12 17:37  gb
1704
1705        * level-0/l0-misc.lisp: Don't cons when clearing spin lock.
1706       
1707        Commented-out (#+bad-idea) GC-lock-via-exception-lock idea.
1708
17092007-05-12 17:36  gb
1710
1711        * level-0/l0-hash.lisp: Use %pname-hash to hash ... pnames.
1712
17132007-05-12 17:35  gb
1714
1715        * level-0/l0-def.lisp: %FIXNUM-REF-MACPTR, %FIXNUM-SET-MACPTR: move
1716        here.
1717
17182007-05-12 17:34  gb
1719
1720        * level-0/l0-cfm-support.lisp: Remove an old declaration.
1721
17222007-05-12 17:33  gb
1723
1724        * level-0/X86/x86-utils.lisp: New calling sequence.
1725
17262007-05-12 17:32  gb
1727
1728        * level-0/X86/x86-pred.lisp: New calling sequence. Use a CMOV in
1729        EQL.
1730
17312007-05-12 17:32  gb
1732
1733        * level-0/X86/x86-numbers.lisp: New calling sequence.  No need to
1734        be careful with %rcx (now %imm2) in shift instructions.
1735
17362007-05-12 17:30  gb
1737
1738        * level-0/X86/: x86-float.lisp, x86-misc.lisp: New calling
1739        sequence.
1740
17412007-05-12 17:29  gb
1742
1743        * level-0/X86/x86-def.lisp: Handle new-style tras, other
1744        new-calling-sequence changes.
1745
17462007-05-12 17:27  gb
1747
1748        * level-0/X86/: X8664/x8664-bignum.lisp, x86-array.lisp,
1749        x86-clos.lisp: New calling sequence.  %rcx is %imm2 now, not
1750        %temp2, and no need to be so careful with it.
1751
17522007-05-12 17:26  gb
1753
1754        * compiler/vinsn.lisp: global label-valued temporaries.
1755
17562007-05-12 17:25  gb
1757
1758        * compiler/optimizers.lisp: FLOAT with no protototype argument.
1759
17602007-05-12 17:24  gb
1761
1762        * compiler/nx0.lisp: Try to do a little type inference for more
1763        flavors of AREF.
1764
17652007-05-12 17:23  gb
1766
1767        * compiler/nx-basic.lisp: FUNCTION-INFORMATION might return an
1768        afunc (or equivalent) as a non-nil second value.
1769
17702007-05-12 17:22  gb
1771
1772        * compiler/X86/x862.lisp: Support the new (call/ret) calling
1773        sequence, new tra/talign scheme.  One more imm reg, so 3d aset is
1774        less nasty.
1775
17762007-05-12 17:21  gb
1777
1778        * compiler/X86/x86-lapmacros.lisp: Support the new (call/ret)
1779        calling sequence, new tra/talign scheme.
1780
17812007-05-12 17:21  gb
1782
1783        * compiler/X86/x86-lap.lisp: Support :talign, (@ (:^ label) (%
1784        rip)).
1785
17862007-05-12 17:20  gb
1787
1788        * compiler/X86/x86-disassemble.lisp: Recognize CALL label operands,
1789        rip-relative label refs.
1790
17912007-05-12 17:19  gb
1792
1793        * compiler/X86/x86-backend.lisp: Allow label-valued temporaries,
1794        support :talign directive in vinsn templates.
1795
17962007-05-12 17:18  gb
1797
1798        * compiler/X86/x86-asm.lisp: Add call instruction; note that %rip
1799        is a register ...
1800
18012007-05-12 17:17  gb
1802
1803        * compiler/X86/X8664/x8664-vinsns.lisp: Use "tail-aligned" calls
1804        for most things, except calls to subprims that manipulate the
1805        stack.
1806
18072007-05-12 17:16  gb
1808
1809        * compiler/X86/X8664/x8664-backend.lisp: Try to make
1810        cross-compilation with x86-64 targets a little easier, by using a
1811        cross-ftd interface directory.
1812
18132007-05-12 17:16  gb
1814
1815        * compiler/X86/X8664/x8664-arch.lisp: move away from lea/jmp,
1816        towards call/ret.  rcx is now an imm reg; ra0 = temp2.  new tra
1817        scheme.
1818
18192007-05-12 17:15  gb
1820
1821        * compiler/PPC/ppc2.lisp: %immediate-set-xxx: get sign right.
1822        unwind-protect uses nmkunwind (more happens out-of-line.)
1823
18242007-05-12 17:14  gb
1825
1826        * compiler/PPC/PPC64/ppc64-vinsns.lisp: nmkunwind.
1827
18282007-05-12 17:13  gb
1829
1830        * compiler/PPC/PPC32/ppc32-vinsns.lisp: getu32/gets32, nmkunwind.
1831
18322007-05-12 17:12  gb
1833
1834        * compiler/PPC/ppc-arch.lisp: New .SPnmkunwind.
1835
18362007-05-12 17:11  gb
1837
1838        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Make
1839        %GET-KERNEL-GLOBAL-PTR actually work.
1840
18412007-05-07 19:10  gb
1842
1843        * level-1/l1-aprims.lisp: ELT, SET-ELT: don't assume that NTHCDR
1844        returns a CONS, signal the right flavor of TYPE-ERROR if it
1845        doesn't.
1846
18472007-05-05 18:10  gb
1848
1849        * level-0/l0-hash.lisp: If PUTHASH decides that it wants to grow
1850        the hash table, it tries to enable the GC before doing so.
1851
18522007-05-04 22:10  gb
1853
1854        * compiler/nx-basic.lisp: FUNCTION-INFORMATION returns what it
1855        finds in the environment, not just non-nil.
1856
18572007-05-01 18:10  gb
1858
1859        * lisp-kernel/ppc-gc.c: Fix the "bytes allocated" message and
1860        computation for GC-VERBOSE entry.
1861
18622007-05-01 06:11  gb
1863
1864        * level-1/l1-unicode.lisp: Set literal-code-limit to #xd800 for
1865        utf-16 variants.
1866       
1867        Fix the typo (found by Takekiko Abe) in the utf-8 stream-decode
1868        function.
1869
18702007-05-01 06:10  gb
1871
1872        * level-1/ppc-trap-support.lisp: Mis-align some fields in the
1873        darwin ppc64 thread state structure, just like Apple does.  Can I
1874        blame them for getting this wrong, please ?
1875       
1876        Use the right argument names in ppc64 cmain callback; can't blame
1877        Apple.
1878
18792007-04-30 23:12  gb
1880
1881        * lisp-kernel/ppc-exceptions.c: running_under_rosetta only exists
1882        on Darwin, and should probably be removed completely.  Now that
1883        it's explicitly extern, don't try to reference it at runtime on
1884        linuxppc.
1885
18862007-04-30 23:11  gb
1887
1888        * lisp-kernel/pmcl-kernel.c: use_mach_exception_handling is
1889        referenced at runtime and explicitly extern, so make sure that it's
1890        initialized on all platforms.
1891
18922007-04-30 23:10  gb
1893
1894        * lisp-kernel/lisp.h: running_under_rosetta - which is kind of an
1895        oxymoron - is specific to Darwin.
1896
18972007-04-21 00:10  gb
1898
1899        * lib/dumplisp.lisp: In SAVE-APPLICATION: check for containing
1900        directory after translating logical pathnames; it's generally
1901        meaningless to do PROBE-FILE on the directory component of a
1902        logical pathname.
1903
19042007-04-19 15:10  gb
1905
1906        * compiler/X86/x862.lisp: In x862-aset3, maybe push/pop the val reg
1907        if it conflicts with an immediate temporary (we'll need all the imm
1908        temps we have on x86-64.)
1909
19102007-04-17 20:10  gb
1911
1912        * compiler/PPC/ppc2.lisp: Actually remember to check in the PPC
1913        version of recent aset2/aset3 register-conflict changes.
1914
19152007-04-16 15:10  gb
1916
1917        * compiler/nx0.lisp: Don't try to access ARRAY-CTYPE-ELEMENT-TYPE
1918        of things that aren't ARRAY-CTYPEs in ACODE-FORM-TYPE.
1919
19202007-04-16 14:11  gb
1921
1922        * level-1/ppc-trap-support.lisp: :signed-doubleword, not
1923        :signed-doublewod.
1924
19252007-04-16 13:10  gb
1926
1927        * level-1/ppc-trap-support.lisp, lisp-kernel/ppc-exceptions.c:
1928        Memory-fault errors on PPC, too.
1929
19302007-04-16 04:34  gb
1931
1932        * lisp-kernel/lisptypes.h: Define __err, to work around Leopard
1933        renaming nonsense.
1934
19352007-04-16 02:12  gb
1936
1937        * lisp-kernel/x86-exceptions.c: is_write_fault for FreeBSD.
1938
19392007-04-16 02:11  gb
1940
1941        * lisp-kernel/x86-exceptions.c: is_write_vault for x86-64 Linux.
1942
19432007-04-16 02:10  gb
1944
1945        * level-1/l1-error-system.lisp: Change wording of
1946        INVALID-MEMORY-ACCESS error message, a little.
1947
19482007-04-16 01:13  gb
1949
1950        * lisp-kernel/x86-exceptions.c: Call out to lisp on unhandled
1951        memory faults.
1952
19532007-04-16 01:12  gb
1954
1955        * lisp-kernel/lisp-debug.c: "advance PC" command is PPC-only, for
1956        now.
1957
19582007-04-16 01:11  gb
1959
1960        * level-1/x86-trap-support.lisp: Map SIGBUS signal to
1961        INVALID-MEMORY-ACCESS condition.
1962
19632007-04-16 01:10  gb
1964
1965        * level-1/l1-error-system.lisp: INVALID-MEMORY-ACCESS condition.
1966
19672007-04-15 19:11  gb
1968
1969        * compiler/X86/x862.lisp: Use HARD-REGSPEC-VALUE in recent
1970        aset2/aset3 changes.
1971
19722007-04-15 19:10  gb
1973
1974        * compiler/X86/x862.lisp: in aset2/aset3: don't clobber val-reg if
1975        it's an imm-reg; we need another imm-reg to do some index
1976        calculations.
1977
19782007-04-14 18:10  gb
1979
1980        * lisp-kernel/x86-exceptions.c: raise_pending_interrupt():
1981        unscramble what it means for an interrupt to be pending on x86-64.
1982
19832007-04-14 00:13  gb
1984
1985        * lisp-kernel/x86-exceptions.c: I have no idea why SIGSYS is
1986        generated when it is in ... unmentionable OS releases.
1987
19882007-04-14 00:11  gb
1989
1990        * lisp-kernel/: Threads.h, lisp.h: Say "extern" a few times, to
1991        work around laughable Apple ld64 gibberish.
1992
19932007-04-12 02:11  gb
1994
1995        * compiler/: PPC/ppc2.lisp, X86/x862.lisp: (SETF (AREF ...) ...) of
1996        two-dimensional arrays: need to target specific registers if array
1997        has element type T.
1998
19992007-04-12 02:10  gb
2000
2001        * level-0/l0-init.lisp: Add features :x86-64 and :x86_64 if
2002        appropriate, not :x86-64 twice.
2003
20042007-04-11 05:10  gb
2005
2006        * level-1/l1-streams.lisp: Set IOBLOCK-ELEMENT-TYPE to CHARACTER
2007        for bivalent streams.
2008       
2009        STREAM-ELEMENT-TYPE of BASIC-STREAM, BUFFERED-STREAM-MIXIN: don't
2010        maintain the element-type separately, just look in ioblock.
2011        (STREAM-ELEMENT-TYPE isn't required to work on closed streams.)
2012
20132007-04-10 22:10  gb
2014
2015        * lisp-kernel/x86-spentry64.s: Branch at
2016        C(egc_store_node_conditional_success_test) should bracnch
2017        backwards, not forwards.  (This was leading to spurious
2018        "<something> is not a proper list" errors, because the next label
2019        named "0" is in middle of the the _SPprogvsage code that tests for
2020        a proper list.)
2021
20222007-04-10 00:11  gb
2023
2024        * examples/: cocoa-editor.lisp, cocoa-typeout.lisp,
2025        cocoa-window.lisp, objc-support.lisp, tiny.lisp: Don't bother using
2026        RLET or equivalent to avoid making GCable pointers for ObjC
2027        dispatch function args; trust the compiler to do that for us.
2028
20292007-04-10 00:10  gb
2030
2031        * examples/bridge.lisp: If any method defined on a message passes a
2032        structure by value, install a compiler macro on the dispatch
2033        function.
2034       
2035        In that compiler, look for apparent calls to know structure
2036        constructors; replace those with calls to the corresponding
2037        initialization function, and stack-allocate a structure instance
2038        around the call.  (Suggested by Kevin Reid, and something that
2039        SEND/SLET did - sort of - that the new approach didn't.)
2040       
2041        Keep track of info about common foreign structs (initializer,
2042        constructor, etc.) to make doing stuff like this easier.
2043
20442007-04-09 16:10  gb
2045
2046        * examples/objc-clos.lisp: ALLOCATE-INSTANCE of OBJC:OBJC:CLASS: if
2047        the result of sending the init message is a null pointer, return a
2048        null pointer.
2049
20502007-04-09 00:10  gb
2051
2052        * release-notes.txt: Update for 070408.
2053       
2054        (Yes, it's 070409 here already ...)
2055
20562007-04-08 15:12  gb
2057
2058        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump image version.
2059
20602007-04-08 15:10  gb
2061
2062        * xdump/faslenv.lisp: Bump min fasl version.
2063
20642007-04-08 14:11  gb
2065
2066        * lisp-kernel/ppc-spjump.s: Org to the next page boundary at end of
2067        jump table, to work around (still more) Apple ld64 nonsense.
2068
20692007-04-08 13:14  gb
2070
2071        * lib/nfcomp.lisp: Bump current fasl version.
2072
20732007-04-08 13:13  gb
2074
2075        * lib/ccl-export-syms.lisp: Export CCL:FREE.
2076
20772007-04-08 13:12  gb
2078
2079        * xdump/faslenv.lisp: Bump max fasl version.
2080
20812007-04-08 13:11  gb
2082
2083        * lisp-kernel/darwinppc64/Makefile: Pass -arch ppc64 to C, so that
2084        people who try to build this kernel on an x86 mac will take longer
2085        to realize that that's usually a bad idea.
2086
20872007-04-08 12:09  gb
2088
2089        * examples/: cocoa-application.lisp, cocoa-backtrace.lisp,
2090        cocoa-defaults.lisp, cocoa-editor.lisp, cocoa-inspector.lisp,
2091        cocoa-listener.lisp, cocoa-prefs.lisp, cocoa-typeout.lisp,
2092        cocoa-window.lisp, cocoa.lisp:
2093        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2094       
2095        Some changes in font, nsstring stuff to avoid using deprecated
2096        featurs.
2097
20982007-04-08 12:07  gb
2099
2100        * examples/: webkit.lisp, addressbook.lisp:
2101        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2102       
2103        Use OBJC:LOAD-FRAMEWORK.
2104
21052007-04-08 12:06  gb
2106
2107        * examples/tiny.lisp:
2108        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2109
21102007-04-08 12:05  gb
2111
2112        * examples/rubix/: blocks.lisp, lights.lisp, opengl.lisp,
2113        rubix.lisp:
2114        Use new syntax: OBJC:DEFMETHOD, #/, MAKE-INSTANCE.
2115       
2116        Handle CGFLOAT issues in mouse event handlers.
2117
21182007-04-08 12:04  gb
2119
2120        * examples/bridge.lisp: Define CGFLOAT, ObjC-2 foreign types here.
2121       
2122        Define "foreign struct classes" for several common structure types
2123        (rectangle, point, size); generate inlined accessors for their
2124        slots, PRINT-OBJECT methods, initialization functions, WITH-xxx
2125        macros.
2126       
2127        #/ reader macro: reads a string containing "constituent" characters
2128        (including #\:), preserving case.  Does a little bit of
2129        sanity-checking on it, then interns it in NEXTSTEP-FUNCTIONS
2130        package.
2131       
2132        Try to deal with cases where foreign type info may be parsed or
2133        unparsed.
2134       
2135        Introduce OBJC-DISPATCH-FUNCTIONs, which are funcallable instances.
2136         SHARED-INITIALIZE :AFTER method on OBJC-DISPATCH-FUNCTION looks at
2137        message info, tries to determine ambiguity, calls signature
2138        function (possibly after trying to resolve ambiguity.)
2139       
2140        %CALL-NEXT-OBJC-METHOD does some of the same stuff at runtime,
2141        calling a signature function that knows how to dispatch to SUPER
2142        method. (Likewise, %CALL-NEXT-OBJC-CLASS-METHOD for class methods.)
2143       
2144        POSTPROCESS-OBJC-MESSAGE-INFO (re-) initializes the associated
2145        OBJC-DISPATCH-FUNCTION.
2146       
2147        Handle PROTOCOLs differently in ambiguous SEND.
2148
21492007-04-08 12:04  gb
2150
2151        * examples/objc-runtime.lisp: Compile message send functions per
2152        signature.  Handle vararg message sends, partly at runtime.  INIT
2153        messages just have their signature info precomputed.  Defining a
2154        named OBJC-CLASS makes the class name a static variable whose value
2155        is the class (and likewise for the metaclass.)
2156        %DECLARE-OBJC-MESSAGE notes method redefinition, cerrors.
2157        OBJC:DEFMETHOD and support for it.
2158
21592007-04-08 12:03  gb
2160
2161        * examples/objc-support.lisp: Use new syntax.  OBJC:LOAD-FRAMEWORK.
2162         Avoid some deprecated C-string stuff (but wimp out and assume
2163        ASCII.) Keep track of objc-class-count, provide
2164        MAYBE-MAP-OBJC-CLASSES to map new classes iff class count changes.
2165        Handle OBJC-PROTOCOLs a bit differently.  Move CGFLOAT definitions,
2166        etc. elsewhere.
2167
21682007-04-08 12:02  gb
2169
2170        * examples/objc-clos.lisp: RECOGNIZE-OBJC-OBJECT: maybe try mapping
2171        classes if first try fails.  ALLOCATE-INSTANCE of objc-object:
2172        don't canonicalize instance if no lisp slots (so MAKE-INSTANCE is
2173        about as lightweight as MAKE-OBJC-INSTANCE.)
2174
21752007-04-08 12:01  gb
2176
2177        * examples/name-translation.lisp:
2178        COMPUTE-OBJC-TO-LISP-FUNCTION-NAME was once going to do something
2179        non-trivial, now just interns in NEXSTEP-FUNCTIONS.
2180
21812007-04-08 12:00  gb
2182
2183        * examples/objc-package.lisp: New file; export more stuff.  Import
2184        some of it back into CCL.  Provide a NEXTSTEP-FUNCTIONS package for
2185        pseudo-GFs.
2186
21872007-04-08 11:59  gb
2188
2189        * lib/foreign-types.lisp: Foreign-type-ordinals, some of which are
2190        canonical.  Straighten out the auxiliary-foreign-types mess a bit.
2191        Intern integer types up to 64 bits.
2192
21932007-04-08 11:59  gb
2194
2195        * lib/macros.lisp: DEFGLOBAL = DEFSTATIC.  DEFLOADVAR makes its
2196        argument static.  WITH-MACPTRS is saner.  WITH-ENCODED-CSTR writes
2197        NUL octet(s) to the end of the encoded string.  MAKE-GCABLE-RECORD,
2198        COPY-RECORD.
2199
22002007-04-08 11:58  gb
2201
2202        * lib/db-io.lisp: Slight changes (preserve typedef name) in
2203        function/objc method arglists.  UNESCAPE-FOREIGN-NAME: handle
2204        missing brackets.
2205
22062007-04-08 11:57  gb
2207
2208        * lisp-kernel/x86-exceptions.c: Handle signals on the altstack if
2209        not Darwin.  In Darwin, evactuate off of the lisp stack while
2210        interrupts are still disabled.
2211
22122007-04-08 11:56  gb
2213
2214        * lisp-kernel/x86-exceptions.h: USE_SIGALTSTACK, but not on Darwin
2215        (where Apple hasn't yet invented the notion that it needs to be
2216        thread-specific.)
2217
22182007-04-08 11:55  gb
2219
2220        * lisp-kernel/thread_manager.c: Clear pending interrupt flag when
2221        destroying TCR.
2222
22232007-04-08 11:54  gb
2224
2225        * lisp-kernel/ppc-exceptions.c: Lose (commented-out) code which
2226        worked around an old Darwin bug.
2227
22282007-04-08 11:53  gb
2229
2230        * lisp-kernel/lisp.h: Don't define USE_SIGALTSTACK here.
2231
22322007-04-08 11:52  gb
2233
2234        * lisp-kernel/image.c: Don't nuke null pointers.
2235
22362007-04-08 11:52  gb
2237
2238        * lisp-kernel/darwinx8664/.gdbinit: Add gtra.
2239
22402007-04-08 11:51  gb
2241
2242        * lisp-kernel/x86-spentry64.s: zeroed stack-block zeroes all bits
2243        of macptr.domain, macptr.type.
2244
22452007-04-08 11:50  gb
2246
2247        * xdump/xfasload.lisp: Deal with pkg.intern-hook.
2248
22492007-04-08 11:49  gb
2250
2251        * library/lispequ.lisp: add pkg.intern-hook to package.
2252
22532007-04-08 11:48  gb
2254
2255        * lib/describe.lisp: Start trying to conditionalize some of the
2256        stack-frame inspector stuff.
2257
22582007-04-08 11:48  gb
2259
2260        * lib/ffi-darwinppc64.lisp: Structures are basically passed as
2261        64-bit word components, with FP fields passed in registers.  This
2262        requires some special handling ("hybrid" parameters) in the
2263        compiler and %FF-CALL.
2264
22652007-04-08 11:47  gb
2266
2267        * lib/level-2.lisp: %GET-BITFIELD and SETF thereof: deal with
2268        endianness.
2269
22702007-04-08 11:46  gb
2271
2272        * lib/nfcomp.lisp: FASL-SCAN: null-pointers as constants are OK.
2273
22742007-04-08 11:45  gb
2275
2276        * lib/source-files.lisp: From Takehiko Abe: handle EQL specializers
2277        in %SOURCE-FILES-LIKE-EM.
2278
22792007-04-08 11:44  gb
2280
2281        * lib/streams.lisp: DRIBBLE via PROCESS-DRIBBLE.
2282
22832007-04-08 11:43  gb
2284
2285        * lib/xref.lisp: From Takehiko Abe: handle EQL specializers in
2286        MAKE-XREF-ENTRY.
2287
22882007-04-08 11:43  gb
2289
2290        * lib/ccl-export-syms.lisp: Export DEFSTATIC, PAREF, +NULL-PTR+.
2291
22922007-04-08 11:42  gb
2293
2294        * level-1/version.lisp: Bump; new snapshots tomorrow.
2295
22962007-04-08 11:41  gb
2297
2298        * level-1/x86-callback-support.lisp: DEFGLOBAL->DEFSTATIC
2299
23002007-04-08 11:40  gb
2301
2302        * level-1/linux-files.lisp: Very long timeout for
2303        WAIT-ON-SEMAPHORE, don't use PROCESS-WAIT, manipulate the whostate
2304        if we have to wait at all.
2305       
2306        Same idea for TIMED-WAIT-ON-SEMAPHORE.
2307       
2308        Make PIPE code slightly easier to read.
2309
23102007-04-08 11:39  gb
2311
2312        * level-1/l1-utils.lisp: DEFGLOBAL->DEFSTATIC.
2313
23142007-04-08 11:38  gb
2315
2316        * level-1/l1-unicode.lisp: Add NUL-ENCODING field to
2317        CHARACTER-ENCODING, use it to determine number/sequence of octets
2318        used to encode NUL.
2319
23202007-04-08 11:38  gb
2321
2322        * level-1/l1-streams.lisp: DEFGLOBAL->DEFSTATIC.
2323       
2324        READ-TOPLEVEL-FORM on ECHO-STREAM has do I/O on the echo stream (so
2325        DRIBBLE works); on TWO-WAY-STREAM, should read from the input side
2326        so that echoing looks more natural.
2327
23282007-04-08 11:37  gb
2329
2330        * level-1/l1-symhash.lisp: Extra slot  (for intern hook) in PACKAGE
2331        object.
2332
23332007-04-08 11:36  gb
2334
2335        * level-1/l1-readloop-lds.lisp: Some changes, then reverted those
2336        changes manually and most of the effects were cosmetic.
2337        TOPLEVEL-PRINT takes an output stream arg.
2338
23392007-04-08 11:35  gb
2340
2341        * level-1/l1-processes.lisp: Per-process DRIBBLE-ing.
2342
23432007-04-08 11:34  gb
2344
2345        * level-1/l1-lisp-threads.lisp: %TCR-INTERRUPT: don't signal if
2346        interrupt is obviously pending.
2347
23482007-04-08 11:33  gb
2349
2350        * level-1/l1-io.lisp: Change pointer printing.
2351
23522007-04-08 11:33  gb
2353
2354        * level-1/l1-init.lisp: +NULL-PTR+.
2355
23562007-04-08 11:31  gb
2357
2358        * level-1/: l1-dcode.lisp, l1-events.lisp: DEFSTATIC is now the
2359        preferred name for DEFGLOBAL.
2360
23612007-04-08 11:30  gb
2362
2363        * level-1/l1-clos-boot.lisp: DEFSTATIC is now the preferred name
2364        for DEFGLOBAL.
2365       
2366        Mechanism for associating a (built-in) class with a foreign type
2367        ordinal.
2368
23692007-04-08 11:29  gb
2370
2371        * level-1/l1-callbacks.lisp: DEFSTATIC is now the preferred name
2372        for DEFGLOBAL.
2373       
2374        %CALLBACK-FUNCTION accepts a symbol (as well as a pointer that's
2375        likely the global value of some symbol.)
2376
23772007-04-08 11:28  gb
2378
2379        * level-1/l1-boot-2.lisp: DEFSTATIC is now the preferred name for
2380        DEFGLOBAL.
2381       
2382        Standard CL streams now bound per-thread.
2383       
2384        Install standard foreign types here, not every time that
2385        FOREIGN-TYPES is loaded.
2386       
2387        Canonicalize foreign type ordinals as soon as we can.  (This is
2388        part of a scheme to give foreign types "ordinals' that can be used
2389        to assert pointer types; we need some of those ordinal numbers to
2390        be pre-assigned, since we can't reference foreign types early in
2391        the cold load.)
2392
23932007-04-08 11:27  gb
2394
2395        * level-1/l1-aprims.lisp: DEFSTATIC is now the preferred name for
2396        DEFGLOBAL.  GCABLE-PTR-P.
2397
23982007-04-07 21:25  gb
2399
2400        * level-0/nfasload.lisp: %INSERT-SYMBOL might call pkg.intern-hook.
2401         Handle maintenance of auto-export packages differently.
2402        $fasl-timm just needs an :int, not a :long.
2403
24042007-04-07 21:24  gb
2405
2406        * level-0/l0-symbol.lisp: SET-TYPE-PREDICATE returns the
2407        "functional", not random symbol guts.
2408
24092007-04-07 21:23  gb
2410
2411        * level-0/l0-misc.lisp: Use %PTR-STORE-FIXNUM-CONDITIONAL in
2412        %GET-SPIN-LOCK.  Locking code: spin lock must be released before
2413        interrupts are re-enabled.
2414
24152007-04-07 21:22  gb
2416
2417        * level-0/l0-io.lisp: FREE tries to handle gcable pointers.
2418
24192007-04-07 21:20  gb
2420
2421        * level-0/: PPC/ppc-misc.lisp, X86/x86-misc.lisp:
2422        %PTR-STORE-FIXNUM-CONDITIONAL.
2423
24242007-04-07 21:19  gb
2425
2426        * level-0/PPC/ppc-def.lisp: Handle "hybrid" integer/float arguments
2427        in DarwinPPC64 #'%FF-CALL.
2428
24292007-04-07 21:19  gb
2430
2431        * compiler/optimizers.lisp: When trying to infer result type of
2432        MAKE-ARRAY call, unquote quoted type specifier.
2433       
2434        Strength-reduce FLOAT when second argument is of known type.
2435
24362007-04-07 21:18  gb
2437
2438        * compiler/nxenv.lisp: Operators of %SINGLE-FLOAT, %DOUBLE-FLOAT.
2439
24402007-04-07 21:17  gb
2441
2442        * compiler/nx1.lisp: Allow extra "hybrid" ff-call argspecs (for
2443        DarwinPPC64.) Cut-and-paste bug re: nx1-%fixnum-to-single/double.
2444        Parse %short-float, %double-float when no "result" arg; can at
2445        least try to constant-fold late and/or do some cases if we have
2446        more type info.
2447
24482007-04-07 21:16  gb
2449
2450        * compiler/nx0.lisp: Lose some whitespace in the "static var can't
2451        be bound" error message.
2452
24532007-04-07 21:15  gb
2454
2455        * compiler/X86/x862.lisp: Same inline/lambda-bind/dynamic-extent
2456        bug as on PPC.  %SINGLE-FLOAT, %DOUBLE-FLOAT here, too.
2457
24582007-04-07 21:14  gb
2459
2460        * compiler/X86/X8664/x8664-backend.lisp: In EXPAND-FF-CALL, adjust
2461        remaning GPR/FPR counts even if arg is "simple" and passes straight
2462        through to %FF-CALL.
2463
24642007-04-07 21:13  gb
2465
2466        * compiler/PPC/ppc2.lisp: Fix a long-standing bug involving
2467        LAMBDA-BIND operator, dynamic-extent &REST, and stack memoization.
2468        Handle DarwinPPC64 ABI conventions, where SINGLE-FLOATs may be
2469        passed in the same doubleword as GPRs.  %DOUBLE-FLOAT,
2470        %SINGLE-FLOAT stuff: do inlining late, catch some other cases.
2471
24722007-04-07 21:12  gb
2473
2474        * compiler/PPC/PPC64/ppc64-vinsns.lisp: RELOAD-SINGLE-C-ARG-HIGH,
2475        for Darwin structure-passing ABI.
2476
24772007-04-07 21:10  gb
2478
2479        * OpenMCL.app/Contents/Resources/English.lproj/:
2480        MainMenu.nib/info.nib, MainMenu.nib/keyedobjects.nib,
2481        MainMenu.nib/objects.nib, OpenmclInspector.nib/info.nib,
2482        OpenmclInspector.nib/keyedobjects.nib,
2483        OpenmclInspector.nib/objects.nib, backtrace.nib/info.nib,
2484        backtrace.nib/keyedobjects.nib, backtrace.nib/objects.nib,
2485        lispeditor.nib/info.nib, lispeditor.nib/keyedobjects.nib,
2486        lispeditor.nib/objects.nib: Convert .nib to use utf-8
2487        representation, not binary.
2488
24892007-04-06 22:10  gb
2490
2491        * lisp-kernel/pmcl-kernel.c: Patch from Andi Kleen: set vmemoryuse
2492        (RLIMIT_AS) current resource limit to max limit, since some distros
2493        limit it.
2494
24952007-04-03 03:11  gb
2496
2497        * level-1/l1-streams.lisp: Takehiko Abe's fix to
2498        %IOBLOCK-WRITE-U16-ENCODED-CHAR.
2499
25002007-04-02 22:10  gb
2501
2502        * level-1/l1-unicode.lisp: Takehiko Abe's fixes (missing "stream"
2503        arg in utf-16 encode, missing #x in little-endian bom-marker
2504        definition.)
2505
25062007-03-14 23:10  gb
2507
2508        * lisp-kernel/x86-exceptions.c: Remove a debugging fprintf.
2509
25102007-03-14 05:11  gb
2511
2512        * lib/ffi-darwinppc32.lisp: Fix typo (extra quote) in
2513        generate-callback-bindings.
2514
25152007-03-13 06:10  gb
2516
2517        * lisp-kernel/darwinx8664/Makefile: (re-)enable -O2.
2518
25192007-03-13 03:58  gb
2520
2521        * lib/backtrace.lisp: Fix fenceposts in CLOSURE-CLOSED-OVER-VALUES.
2522
25232007-03-12 05:11  gb
2524
2525        * lisp-kernel/x86-exceptions.c: Simplify interrupt_handler() a
2526        little.
2527
25282007-03-12 05:10  gb
2529
2530        * lib/foreign-types.lisp: Fix "extra arguments" error message in
2531        %EXTERNAL-CALL-EXPANDER.
2532
25332007-03-12 05:09  gb
2534
2535        * level-1/l1-clos-boot.lisp: class-wrapper-random-state: use
2536        encapsulation, and a lock.
2537
25382007-03-12 05:08  gb
2539
2540        * level-1/: l1-aprims.lisp, l1-numbers.lisp: *RANDOM-STATE* is
2541        thread-local.
2542
25432007-03-12 02:25  gb
2544
2545        * lisp-kernel/x86-exceptions.c: in catch_exception_raise(), try to
2546        deal with variations in Mach behavior: "exception" may be
2547        EXC_BAD_ACCESS when an illegal instruction causes a "general
2548        protection fault".
2549
25502007-03-09 15:56  gb
2551
2552        * level-1/l1-files.lisp: Bill's fix to (MAKE-PATHNAME :DIRECTORY
2553        NIL ...)
2554
25552007-03-09 00:01  gb
2556
2557        * lib/dumplisp.lisp: Use CLEAR-OPEN-FILE-STREAMS.
2558
25592007-03-09 00:00  gb
2560
2561        * lib/ccl-export-syms.lisp: Accessors of open-file-streams; no more
2562        *OPEN-FILE-STREAMS*.
2563
25642007-03-09 00:00  gb
2565
2566        * level-1/: l1-streams.lisp, l1-sysio.lisp: Encapsulation for
2567        open-file-streams.
2568
25692007-03-08 23:59  gb
2570
2571        * level-1/l1-readloop.lisp: OPEN-FILE-STREAMS is a function,
2572        returns a copy of a list of open file streams in PREPARE-TO-QUIT.
2573
25742007-03-08 23:58  gb
2575
2576        * level-1/l1-init.lisp: Lose *OPEN-FILE-STREAMS* and the lock
2577        associated with it.
2578
25792007-03-08 23:57  gb
2580
2581        * level-1/l1-aprims.lisp: Bind *GENSYM-COUNTER* per-thread.
2582
25832007-03-08 23:47  gb
2584
2585        * level-0/l0-hash.lisp: When REMHASH deletes the last entry in a
2586        hash-table, it fills the hash-table vector with "free" markers.
2587        (There may already be lots of "deleted" markers in the table.)
2588
25892007-03-08 22:26  gb
2590
2591        * level-1/linux-files.lisp: *spin-lock-tries* with a trailing *.
2592
25932007-03-08 22:24  gb
2594
2595        * lib/numbers.lisp: printing random-state: don't shift seeds.
2596
25972007-03-08 22:24  gb
2598
2599        * level-1/l1-numbers.lisp: MAKE-RANDOM-STATE: don't shift.
2600
26012007-03-08 22:24  gb
2602
2603        * level-0/X86/x86-numbers.lisp: Do %next-random-seed more portably.
2604
26052007-03-08 22:23  gb
2606
2607        * level-0/PPC/PPC64/ppc64-bignum.lisp: Typo in comment.
2608
26092007-03-08 22:23  gb
2610
2611        * level-0/PPC/ppc-numbers.lisp: Just a 32-bit version of
2612        %next-random-pair.
2613
26142007-03-08 22:22  gb
2615
2616        * level-0/l0-numbers.lisp: And, while we're at it: do the
2617        next-random-seed permutation in %next-random-pair, which accepts
2618        and returns a pair of 16-bit integers.  That's in lap on ppc32 and
2619        in lisp on 64-bit platforms.
2620
26212007-03-08 22:20  gb
2622
2623        * level-0/l0-numbers.lisp: Don't shift random seeds.
2624
26252007-03-08 03:30  gb
2626
2627        * level-1/x86-error-signal.lisp: Check for trap opcode >= #x70
2628        rather than >= #x80, because of the new way that
2629        uuo-error-slot-unbound is encoded.
2630
26312007-03-08 03:28  gb
2632
2633        * compiler/X86/x86-disassemble.lisp: Recognize
2634        uuo-error-slot-unbound.
2635
26362007-03-08 03:28  gb
2637
2638        * compiler/X86/x86-asm.lisp: Use (int #x7_) for
2639        uuo-error-slot-unbound, since some (int #x8_) traps confuse Mach.
2640
26412007-03-07 08:29  gb
2642
2643        * compiler/PPC/ppc2.lisp: Don't shadow the definition of PPC-DIV2.
2644
26452007-03-07 07:45  gb
2646
2647        * level-1/linux-files.lisp: For #+linux-target, try to use
2648        #_sysconf in CPU-COUNT, and fall back to parsing /proc/cpuinfo only
2649        if that fails.  (CPU-COUNT is called early in the cold load, before
2650        we can make the file-stream necessary to do the parsing.)
2651
26522007-03-07 07:33  gb
2653
2654        * lisp-kernel/: linuxppc/Makefile, linuxppc64/Makefile,
2655        linuxx8664/Makefile: Handle new GNU ld "hash-style" linker options.
2656
26572007-03-07 07:25  gb
2658
2659        * lisp-kernel/x86-exceptions.h: Darwin signal return: logior in the
2660        el-bizarro syscall mask, pass the magic number 0x1e as a second
2661        arg, just in case.
2662
26632007-03-07 07:24  gb
2664
2665        * level-1/l1-sysio.lisp: OPEN, CLOSE lock *OPEN-FILE-STREAMS-LOCK*
2666        before accessing *OPEN-FILE-STREAMS*.
2667
26682007-03-07 07:23  gb
2669
2670        * level-1/l1-readloop.lisp: Add comment about
2671        *OPEN-FILE-STREAMS-LOCK*.
2672
26732007-03-07 07:23  gb
2674
2675        * level-1/l1-init.lisp: Add *OPEN-FILE-STREAMS-LOCK*.
2676
26772007-03-07 07:21  gb
2678
2679        * lib/nfcomp.lisp: Bind *FCOMP-PREVIOUS-POSITION* in
2680        FCOMP-READ-LOOP (e.g., don't just hammer on the static binding.)
2681
26822007-03-07 07:05  gb
2683
2684        * xdump/heap-image.lisp: Bump current image version.
2685
26862007-03-07 07:02  gb
2687
2688        * lisp-kernel/x86-asmutils64.s: Some (currently unused) CPUID
2689        "calls" want an argument in ecx.  Set that arg to 0 for now.
2690
26912007-03-07 07:01  gb
2692
2693        * lisp-kernel/thread_manager.c: Use spinlocks to guard updates to
2694        "real" locks; those updates can be simplified.
2695       
2696        lock_recursive_lock: no (ignored) timeout arg.
2697
26982007-03-07 06:59  gb
2699
2700        * lisp-kernel/image.h: Bump current, max abi versions; continue to
2701        support the old one.
2702
27032007-03-07 06:59  gb
2704
2705        * lisp-kernel/Threads.h: #include #<sched.h>, for sched_yield()
2706        prototype.  Change declaration of LOCK macro: no null timespec
2707        required.  RECURSIVE_LOCKs have spinlock fields.
2708
27092007-03-07 06:56  gb
2710
2711        * level-1/version.lisp: bump, indicate work-in-progress development
2712        version.
2713
27142007-03-07 06:56  gb
2715
2716        * level-1/linux-files.lisp: Determing *spin-lock-tries* at launch
2717        time, based on cpu-count.  YIELD moved here, does #_sched_yield
2718        rather than something lower-level.
2719
27202007-03-07 06:53  gb
2721
2722        * level-0/l0-misc.lisp: Locks use spinlocks, try *spin-lock-tries*
2723        to obtain them before yielding.
2724
27252007-03-07 06:52  gb
2726
2727        * level-0/l0-io.lisp: Move YIELD elsewhere.
2728
27292007-03-07 06:51  gb
2730
2731        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
2732        X86/X8664/x8664-arch.lisp: Add spinlock field to lockptr storage
2733        layout.
2734
27352007-03-02 05:10  gb
2736
2737        * level-1/l1-application.lisp: Toplevel function: initial-listener
2738        class is 'TTY-LISTENER.
2739
27402007-03-02 05:09  gb
2741
2742        * level-1/l1-lisp-threads.lisp: Print n's value, not n in error
2743        message.
2744
27452007-03-02 05:09  gb
2746
2747        * level-1/l1-processes.lisp: New process class: TTY-LISTENER.
2748       
2749        EXIT-INTERACTIVE-PROCESS: for most processes, just PROCESS-KILL.
2750        For TTY-LISTENER, call QUIT.
2751
27522007-03-02 05:08  gb
2753
2754        * level-1/l1-readloop-lds.lisp: Don't call QUIT on EOF, call
2755        EXIT-INTERACTIVE-PROCESS instead.
2756       
2757        Look at *QUIT-ON-EOF* when deciding what to do in response to EOF.
2758
27592007-03-02 05:06  gb
2760
2761        * lib/ccl-export-syms.lisp: Export *quit-on-eof*.
2762
27632007-03-02 05:06  gb
2764
2765        * lib/macros.lisp: WITH-MACPTRS: move initialization/modification
2766        of null pointers into body.
2767
27682007-03-02 05:05  gb
2769
2770        * lisp-kernel/x86-exceptions.c: Try to handle two more cases of
2771        consus-interruptus.
2772
27732007-03-02 05:05  gb
2774
2775        * compiler/nx0.lisp: (the <type> <constant>) transforms to
2776        <constant> if constant is of type <type>.)
2777       
2778        Do we need an ignore-errors here ? Or does <type> need to be
2779        defined ?
2780
27812007-03-02 05:03  gb
2782
2783        * compiler/X86/x862.lisp: Do the / * thing.
2784
27852007-03-02 05:02  gb
2786
2787        * compiler/X86/X8664/x8664-vinsns.lisp: things that do calls need
2788        :call attribute.
2789
27902007-03-01 04:04  gb
2791
2792        * lisp-kernel/x86-spentry64.s: binding primitives: set value after
2793        new binding frame
2794
27952007-02-28 07:04  gb
2796
2797        * level-0/X86/x86-numbers.lisp: In %fixnum-truncate, use -8(sp)
2798        rather than %rbp; trust callback_for_interrupt() to preserve it.
2799
28002007-02-28 07:03  gb
2801
2802        * lisp-kernel/x86-exceptions.c: Try to preserve -8(sp) across
2803        callback_for_interrupt().
2804
28052007-02-28 05:18  gb
2806
2807        * lisp-kernel/x86-gc.c: check_node: ignore tiny things (shift
2808        counts) that may wind up on the vstack.
2809       
2810        Since those tiny things might be tagged as headers, walk the vstack
2811        with new "headerless" functions that ignore headers.
2812
28132007-02-28 05:16  gb
2814
2815        * lisp-kernel/x86-exceptions.c: In pc_luser_xp: if allocating and
2816        before the alloc trap and interrupting, back out of the
2817        modification to save_allocptr (and allocptr register) and set
2818        *interrupt_displacement.
2819
28202007-02-23 10:13  gb
2821
2822        * lib/foreign-types.lisp: Changes to GUESS-ALIGNMENT.  Again, this
2823        only makes sense for cases where we have to guess; a bitfield
2824        that's 8 bits wide still has an alignment of 1.
2825       
2826        Factor in the alignment of the containing int when bitfields are
2827        involved.
2828       
2829        When parsing a record type, set the "bits" slot of each field.
2830        (Not too many things look at that slot, but we want the effect of
2831        loading a record from the database to match the effect of parsing a
2832        definition as exactly as possible, and to be able to use EQUALP to
2833        compare the results.)
2834
28352007-02-23 10:06  gb
2836
2837        * lib/db-io.lisp: Some extra fields in
2838        objc-message-info/objc-method-info structures.
2839       
2840        When calculating overall alignment of a structure, treat bitfields
2841        as if they were :unsigned-int (since there's a "containing"
2842        unsigned int that affects alignment.  N.B: this should be imposed
2843        for anything that has an alignment of 1, not just a size of 1.)
2844       
2845        When loading integer types, try to use the precomputed types rather
2846        than consing a new one.  This (a) reduces consing a little (b) is
2847        more likely to get the alignment correct.  For (b), we really need
2848        to distinguish between bitfields and addressable integers.
2849
28502007-02-23 09:30  gb
2851
2852        * compiler/X86/x862.lisp: Nonsense in x862-set-bit.
2853
28542007-02-22 02:33  gb
2855
2856        * level-0/l0-misc.lisp: Tweak ROOM output a little.
2857
28582007-02-22 02:28  gb
2859
2860        * lisp-kernel/x86-gc.c: Fix up the verbose GC herald a bit (get
2861        heap size right ...).
2862
28632007-02-22 02:27  gb
2864
2865        * lisp-kernel/linuxx8664/Makefile: Tell GNU ld to use the
2866        traditional (sysv) style of hash maps, if it understands that
2867        option.
2868
28692007-02-21 06:01  gb
2870
2871        * lisp-kernel/: ppc-gc.c, x86-gc.c: Handle the case where nothing
2872        has been consed since last GC.  (There are some fenceposts there.)
2873       
2874        verbose GC herald tries to indicate how much is allocated in the
2875        area being GCed.
2876
28772007-02-21 05:58  gb
2878
2879        * lisp-kernel/: ppc-exceptions.c, x86-exceptions.c: If full GC is
2880        deferred, ensure that a full GC happens after WITHOUT-GCING exits.
2881
28822007-02-21 05:57  gb
2883
2884        * compiler/X86/x86-disassemble.lisp: Continue disassembly after
2885        uuo-gc-trap.
2886
28872007-02-19 04:50  gb
2888
2889        * lib/foreign-types.lisp: Use keywords more consistently.
2890       
2891        (Note: there seems to be a bug which is keeping the cdb data
2892        structures from getting defined correctly at load time; the
2893        workaround is to compile foreign-types.lisp - which defines them -
2894        in the same session as and before db-io - which uses them - is
2895        compiled.)
2896
28972007-02-19 04:48  gb
2898
2899        * level-0/X86/x86-clos.lisp: UNSET-FIN-TRAMPOLINE: don't tail-call
2900        error.
2901
29022007-02-19 04:42  gb
2903
2904        * level-0/PPC/ppc-clos.lisp: UNSET-FIN-TRAMPOLINE: don't tail-call
2905        the error function.
2906
29072007-02-19 04:40  gb
2908
2909        * level-1/l1-clos-boot.lisp: MAYBE-UPDATE-OBSOLETE-INSTANCE: handle
2910        funcallable objects that aren't STANDARD-GENERIC-FUNCTIONs.
2911
29122007-02-19 04:40  gb
2913
2914        * level-1/l1-clos.lisp: Move GENERIC-FUNCTION-NAME to
2915        FUNCALLABLE-STANDARD-OBJECT.
2916       
2917        %ALLOCATE-GF-INSTANCE: don't create a dispatch table if not
2918        creating a GF.
2919
29202007-02-19 04:36  gb
2921
2922        * lib/describe.lisp: STANDARD-OBJECT-LINE-N: handle
2923        funcallable-stanard-objects better.
2924
29252007-02-19 04:34  gb
2926
2927        * lib/ccl-export-syms.lisp: Export FUNCALLABLE-STANDARD-OBJECT from
2928        CCL, OPENMCL-MOP.
2929
29302007-02-19 02:09  gb
2931
2932        * level-1/l1-clos-boot.lisp: FUNCALLABLE-STANDARD-OBJECT is a
2933        FUNCALLABLE-STANDARD-CLASS.
2934
29352007-02-19 02:07  gb
2936
2937        * examples/bridge.lisp: MAKE-OPTIMIZED-SEND: missing "msg" arg in
2938        error message.
2939
29402007-02-15 02:46  gb
2941
2942        * examples/objc-support.lisp: Call REGISTER-OBJC-INIT-MESSAGES
2943        after MAP-OBJC-CLASSES in LOAD-OBJC-EXTENSION-FRAMEWORK.
2944
29452007-02-15 02:45  gb
2946
2947        * examples/bridge.lisp: UPDATE-OBJC-METHOD-INFO: don't process init
2948        methods yet.
2949
29502007-02-14 02:39  gb
2951
2952        * release-notes.txt: Fix a typo.
2953
29542007-02-14 02:35  gb
2955
2956        * release-notes.txt: Update for 070214 snapshots.
2957
29582007-02-13 23:36  gb
2959
2960        * level-1/version.lisp: Bump.
2961
29622007-02-13 23:36  gb
2963
2964        * lisp-kernel/image.h, xdump/heap-image.lisp: Update
2965        image-abi-version.
2966
29672007-02-13 23:29  gb
2968
2969        * xdump/faslenv.lisp: Finish bumping fasl version.
2970
29712007-02-13 23:15  gb
2972
2973        * lib/nfcomp.lisp: Bump current fasl version.
2974
29752007-02-13 23:02  gb
2976
2977        * x86-headers64/gl/C/populate.sh: rm -rf ./usr
2978
29792007-02-13 22:45  gb
2980
2981        * xdump/faslenv.lisp: Start bumping fasl-version.
2982
29832007-02-13 22:41  gb
2984
2985        * freebsd-headers64/: gmp/C/populate.sh, gnome2/C/populate.sh,
2986        gtk2/C/populate.sh, libc/C/populate.sh: rm -rf  ./usr
2987
29882007-02-13 21:16  gb
2989
2990        * freebsd-headers64/gl/C/populate.sh: Avoid processing some files
2991        that contain incompatible definitions of some math library stuff
2992        ("log" either has to do with logarithms or logging ...).
2993
29942007-02-13 18:42  gb
2995
2996        * lib/misc.lisp: Change the way that TIME is reported by default:
2997        mention the number of available CPU cores, don't assume that
2998        there's that much of a relationship between CPU time and wall-clock
2999        time.
3000
30012007-02-13 18:41  gb
3002
3003        * level-1/linux-files.lisp: Don't do whatever el-bizarro Mach thing
3004        once seemed to be necessary in %%RUSAGE.  Require syscall stuff
3005        when :execute, too.
3006
30072007-02-13 18:35  gb
3008
3009        * lib/ffi-linuxppc64.lisp: It's %%get-unsigned-longlong, and the
3010        offset arg is required.
3011
30122007-02-13 18:12  gb
3013
3014        * level-0/X86/x86-misc.lisp: Add rdtsc (returns 60 bit non-negative
3015        fixnum) and rdtsc64 (returns 64-bit non-negative integer.)
3016
30172007-02-13 18:10  gb
3018
3019        * lib/time.lisp: Simpler GET-INTERNAL-RUN-TIME (tries harder not to
3020        cons.)
3021
30222007-02-13 18:10  gb
3023
3024        * examples/rubix/rubix.lisp: A little bit of cgfloat stuff; there
3025        are more/other float-size issues deeper down in the code.
3026
30272007-02-13 18:09  gb
3028
3029        * examples/objc-support.lisp: Fixup the x86-64 error-return
3030        callback trampiline code (was missing a byte of machine code.)
3031
30322007-02-13 18:08  gb
3033
3034        * examples/objc-runtime.lisp: Set the mxcsr/fpctrl fields of
3035        jmp-buf to safe/sane values.
3036
30372007-02-13 18:07  gb
3038
3039        * examples/cocoa-window.lisp: Don't change-class
3040        *cocoa-event-process* until we start to run the event loop.
3041       
3042        Don't do _deallocHardCore: explicitly.
3043
30442007-02-13 17:35  gb
3045
3046        * compiler/PPC/ppc2.lisp: poweropen-foreign-args: on ppc64, a
3047        DOUBLE-FLOAT aliases just one gpr.
3048
30492007-02-13 17:34  gb
3050
3051        * darwin-headers64/libc/C/populate.sh: Select the SDK directory.
3052
30532007-02-13 17:34  gb
3054
3055        * library/pty.lisp: return-value pointers in OPEN-PTY-PAIR are just
3056        32-bit ints, not "long".
3057
30582007-02-13 17:33  gb
3059
3060        * lib/ffi-darwinppc64.lisp: Callback arguments: update offset/delta
3061        for each scalar, not each arg.
3062       
3063        Fix some backquoting/indentation.
3064
30652007-02-13 17:31  gb
3066
3067        * lib/ffi-darwinppc32.lisp: Fix typo (^get-signed-long).
3068
30692007-02-12 16:23  gb
3070
3071        * darwin-x86-headers64/libc/C/populate.sh: Select an SDK.
3072
30732007-02-11 20:22  gb
3074
3075        * examples/bridge.lisp: method-typestring needs to be
3076        conditionalized.  How has this been working ?
3077
30782007-02-11 20:22  gb
3079
3080        * examples/cocoa-editor.lisp: remove some debugging code.
3081
30822007-02-11 20:21  gb
3083
3084        * examples/objc-runtime.lisp: %mlist-containing is
3085        #-apple-objc-2.0.
3086
30872007-02-11 20:21  gb
3088
3089        * examples/objc-support.lisp: Lose a quote mark, fix another typo.
3090
30912007-02-11 05:35  gb
3092
3093        * level-1/version.lisp: Bump.
3094
30952007-02-11 05:28  gb
3096
3097        * darwin-headers/: addressbook/C/populate.sh, carbon/C/populate.sh,
3098        cocoa/C/populate.sh, gl/C/populate.sh, libc/C/populate.sh,
3099        quicktime/C/populate.sh, webkit/C/populate.sh: Make the SDK prefix
3100        an optional argument; default to the Tiger SDK.
3101
31022007-02-11 05:26  gb
3103
3104        * lib/ffi-darwinppc32.lisp: Ignore errors; it's an error to ignore
3105        an errror.
3106
31072007-02-11 05:26  gb
3108
3109        * level-1/ppc-trap-support.lisp: Conditionalize for gratuitous
3110        Leopard renaming.  Suffer.
3111
31122007-02-11 05:25  gb
3113
3114        * level-1/l1-boot-lds.lisp: MAKE-MCL-LISTENER-PROCESS will preset
3115        an existing process (so that the listener process appears to be
3116        "persistent".)
3117
31182007-02-11 05:24  gb
3119
3120        * level-1/l1-application.lisp: LISP-DEVELOPMENT-SYSTEM tries to
3121        make the initial-listener object persistent acrosss
3122        SAVE-APPLICATION.
3123
31242007-02-11 00:01  gb
3125
3126        * examples/objc-support.lisp: Deftype for CF-FLOAT.
3127       
3128        Handle callback-error-returns on x86-64.
3129
31302007-02-11 00:00  gb
3131
3132        * examples/objc-runtime.lisp: Pointer comparisons in splay trees
3133        use %ptr<, to hide word-size differences.
3134       
3135        __NSConstantStringClassReference isn't what it used to be, so look
3136        up NSConstantStringClass the hard way.
3137       
3138        Handle ns-exception/lisp-error stuff on x86-64.
3139       
3140        Do arg/result coercions differently.  Does any code depend on
3141        COERCE-TO-ADDRESS behavior ?  (It can cause extra consing of
3142        MACPTRs).
3143       
3144        Use the new FFI interface for message-sends, callbacks to try to
3145        hide platform-specific ABI issues.
3146       
3147        The _deallocate-hook mechanism - which never really worked -
3148        probably can't work on Objc-2.0.
3149
31502007-02-10 23:54  gb
3151
3152        * examples/bridge.lisp: Make structure return-type explicit in
3153        objc-message-send calls in send/stret and variants.
3154
31552007-02-10 22:34  gb
3156
3157        * examples/cocoa-window.lisp: Some indentation changes and slight
3158        reorganization of the code; shouldn't be any functional/semantic
3159        changes.
3160
31612007-02-10 22:30  gb
3162
3163        * examples/: cocoa-editor.lisp, cocoa-prefs.lisp,
3164        cocoa-typeout.lisp: Need to ensure that floats are CG-FLOATs when
3165        appropriate; other changes for 64-bit platforms, Objc-2.0.
3166
31672007-02-10 22:28  gb
3168
3169        * examples/: webkit.lisp, tiny.lisp: Need to ensure that floats are
3170        CG-FLOATs when appropriate.
3171
31722007-02-10 22:28  gb
3173
3174        * hemlock/bin/openmcl/.cvsignore: Ignore fasls for all platforms.
3175
31762007-02-10 22:28  gb
3177
3178        * level-0/X86/x86-misc.lisp: VALUES uses :ARGLIST pseudo-op.
3179
31802007-02-10 22:27  gb
3181
3182        * lib/: ffi-linuxppc64.lisp, ffi-darwinppc32.lisp,
3183        ffi-darwinppc64.lisp, ffi-linuxppc32.lisp: EXPAND-FF-CALL:
3184        ignore-errors when trying to parse the last arglist form as a
3185        foreign type.
3186
31872007-02-10 22:26  gb
3188
3189        * lib/foreign-types.lisp: Pretty much commited to the new FF-CALL
3190        expansion ...
3191
31922007-02-10 22:26  gb
3193
3194        * lisp-kernel/x86-spentry64.s: Preserve %rax when doing ff-call;
3195        use %rdx and %r11 to hold target address.
3196
31972007-02-10 22:23  gb
3198
3199        * library/pty.lisp: Unicode stuff when accessing control char
3200        array; conditionalize for #+darwin-target, not just
3201        #+darwinppc-target.
3202
32032007-02-10 22:22  gb
3204
3205        * level-1/l1-callbacks.lisp: Fix a comment (defcallback isn't
3206        ppc-specific; the comment dated from the days of 68K MCL.)
3207
32082007-02-10 22:21  gb
3209
3210        * compiler/X86/X8664/x8664-backend.lisp: Fix some typos; do struct
3211        return 32 bits at a time, to avoid consing little bignums.
3212
32132007-02-10 22:15  gb
3214
3215        * compiler/X86/x86-lap.lisp: Support :arglist directive.
3216
32172007-02-10 22:15  gb
3218
3219        * compiler/X86/x862.lisp: alloc-c-frame vinsn takes "extra" word
3220        count, not total byte count.
3221       
3222        Fix handling of $undo-x86-c-frame in x862-nlexit.  (Need to check
3223        the PPC case, as well.)
3224
32252007-02-10 22:11  gb
3226
3227        * compiler/X86/X8664/x8664-vinsns.lisp: There doesn't need to be a
3228        "zero-extend-s8" vinsn, but there does need to be a
3229        "zero-extend-u8".
3230
32312007-02-10 05:38  gb
3232
3233        * level-0/PPC/ppc-misc.lisp: Use new :ARGLIST directive in
3234        #'VALUES.
3235
32362007-02-10 05:38  gb
3237
3238        * compiler/PPC/ppc-lap.lisp: Support an :ARGLIST directive, so that
3239        ARGLIST can say -something- about lap functions that don't take a
3240        fixed number of arguments.
3241
32422007-02-07 02:54  gb
3243
3244        * compiler/X86/X8664/x8664-backend.lisp: They spell "valu" with an
3245        "e".
3246
32472007-02-02 02:32  gb
3248
3249        * examples/: bridge.lisp, objc-clos.lisp, objc-runtime.lisp,
3250        objc-support.lisp: Start to integrate with FFI changes.  No more
3251        %SEND, process and precompile "init" messages when interfaces are
3252        accessed.  (Note: should try to handle varargs init messages, even
3253        if we have to call %FF-CALL at runtime.)
3254
32552007-02-02 02:31  gb
3256
3257        * examples/: addressbook.lisp, webkit.lisp: Change the
3258        initialization code a bit.
3259
32602007-02-02 02:27  gb
3261
3262        * lib/foreign-types.lisp: Try to fix another case involving
3263        "auxiliary types".
3264       
3265        I think that the concept of auxiliary types might make sense in a
3266        context like:
3267       
3268        (def-foreign-type nil   (:struct :foo     (:a :int)     (:b
3269        (:struct :bar (:x :int) (:y :int)))))
3270       
3271        In that case, :struct :bar is local to the definition.  In the
3272        similar case:
3273       
3274        (def-foreign-type nil   (:struct :foo     (:a :int)     (:b
3275        (:struct :bar))))
3276       
3277        :BAR is presumably defined (globally) elsewhere.
3278
32792007-02-02 02:17  gb
3280
3281        * darwin-headers/addressbook/C/populate.sh: Specify the SDK to use.
3282         (Setting "SDK=" will hopefully work with older version of xcode.)
3283
32842007-02-02 02:15  gb
3285
3286        * darwin-headers/addressbook/C/.cvsignore: Ignore ./Developer.
3287
32882007-01-31 23:26  gb
3289
3290        * compiler/PPC/ppc2.lisp: Don't treat :registers arg as a real
3291        argument in ppc2-poweropen-foreign-args.
3292
32932007-01-31 22:47  gb
3294
3295        * lib/ffi-darwinppc64.lisp: Needed ,@ to return assign structure
3296        components from registers.
3297
32982007-01-31 22:45  gb
3299
3300        * lib/db-io.lisp: UNESCAPE-FOREIGN-NAME: strings with no angle
3301        brackets are returned verbatim, not downcased.
3302
33032007-01-31 22:44  gb
3304
3305        * level-0/PPC/ppc-def.lisp: Runtime version of 64-bit %ff-call
3306        accepts :registers.
3307
33082007-01-31 16:36  gb
3309
3310        * darwin-headers64/chud/: .cvsignore, C/.cvsignore, C/populate.sh:
3311        New (and, so far, useless) files.
3312
33132007-01-31 16:35  gb
3314
3315        * library/chud-metering.lisp: Add a comment; CHUD.Framework still
3316        seems to be 32-bit only.
3317
33182007-01-31 16:34  gb
3319
3320        * darwin-headers64/libc/C/.cvsignore: Ignore ./Developer.
3321
33222007-01-31 16:34  gb
3323
3324        * darwin-headers64/libc/C/populate.sh: Use SDK; add dlfcn.h.
3325
33262007-01-31 16:33  gb
3327
3328        * lib/db-io.lisp: Tweak the warning given if CDB-OPEN fails:
3329        missing cdb file: dog bytes man; missing parent directory is more
3330        newsworthy.
3331
33322007-01-31 15:38  gb
3333
3334        * library/chud-metering.lisp: Tweak a little, so that it might work
3335        on darwinppc64 (and on darwinx8664 when purify does something
3336        there.)
3337
33382007-01-31 15:06  gb
3339
3340        * darwin-headers/libc/C/populate.sh: Add dlfcn.h.
3341
33422007-01-31 02:49  gb
3343
3344        * level-0/PPC/PPC32/ppc32-bignum.lisp: BIGNUM-NEGATE-TO-PTR.
3345
33462007-01-30 22:53  gb
3347
3348        * freebsd-headers64/: gtk2/C/.cvsignore, gtk2/C/populate.sh,
3349        gl/C/.cvsignore, gl/C/populate.sh, gnome2/.cvsignore,
3350        gnome2/C/.cvsignore, gnome2/C/populate.sh, gtk2/.cvsignore,
3351        gl/.cvsignore: new files.
3352
33532007-01-30 22:21  gb
3354
3355        * freebsd-headers64/gmp/: C/.cvsignore, C/populate.sh, .cvsignore:
3356        new files.
3357
33582007-01-30 21:58  gb
3359
3360        * level-0/l0-bignum64.lisp: BIGNUM-NEGATE-TO-POINTER.
3361
33622007-01-30 21:58  gb
3363
3364        * x86-headers64/gmp/: .cvsignore, C/.cvsignore, C/populate.sh: new
3365        file
3366
33672007-01-30 21:49  gb
3368
3369        * level-1/l1-sockets.lisp: Learn to conditionalize! It's easy and
3370        fun!
3371
33722007-01-30 21:40  gb
3373
3374        * library/openmcl-gtk-support.lisp: Conditionalize out the
3375        event-polling task.
3376
33772007-01-30 21:36  gb
3378
3379        * headers64/: gl/.cvsignore, gl/C/.cvsignore, gl/C/populate.sh,
3380        gnome2/.cvsignore, gnome2/C/.cvsignore, gnome2/C/populate.sh,
3381        gtk2/.cvsignore, gtk2/C/.cvsignore, gtk2/C/populate.sh: new file
3382
33832007-01-30 21:35  gb
3384
3385        * headers/gl/C/populate.sh: process glu.h
3386
33872007-01-30 17:47  gb
3388
3389        * library/parse-ffi.lisp: Always encode explicit structure-typed
3390        function return values.
3391       
3392        Note when we see one, for now.
3393
33942007-01-30 17:45  gb
3395
3396        * lib/foreign-types.lisp: %EXTERNAL-CALL-EXPANDER allows/requires a
3397        leading argument to be paired with a structure-typed return-type.
3398
33992007-01-30 17:43  gb
3400
3401        * lib/ffi-linuxppc32.lisp: linuxppc32 always returns structures via
3402        the first-arg hack.
3403
34042007-01-30 17:42  gb
3405
3406        * lib/db-io.lisp: Bump *interface-abi-version*, but continue to
3407        support the old version.
3408       
3409        Don't check the :struct-by-value flag when encoding function
3410        args/results.  (That decision's made above our pay grade now.)
3411       
3412        When reading a :struct/:union definition, try to update an existing
3413        defintion rather than consing up a new one (this matters if the
3414        record is anonymous.)
3415
34162007-01-30 17:39  gb
3417
3418        * level-1/l1-sockets.lisp: Try to ensure that the :FORMAT argument
3419        gets passed to MAKE-TCP-STREAM-SOCKET and MAKE-FILE-STREAM-SOCKET
3420        correctly.
3421       
3422        Fix c_socket for #+linuxppc.
3423
34242007-01-30 08:20  gb
3425
3426        * level-1/version.lisp: Bump.
3427
34282007-01-30 08:20  gb
3429
3430        * lib/compile-ccl.lisp: Use make -j to build kernel.
3431
34322007-01-30 07:02  gb
3433
3434        * lisp-kernel/x86-spentry64.s: .SPcallback returns rax/rdx,
3435        xmm0/xmm1.
3436
34372007-01-30 07:01  gb
3438
3439        * lib/macros.lisp: Use new callback interface unconditionally.  (A
3440        day's work turned into 2 weeks, somehow.)
3441
34422007-01-30 07:00  gb
3443
3444        * compiler/X86/X8664/x8664-backend.lisp, lib/ffi-darwinx8664.lisp,
3445        lib/ffi-freebsdx8664.lisp, lib/ffi-linuxx8664.lisp: New callback
3446        stuff for x8664 (all platfroms appear to use the same ABI.)
3447
34482007-01-30 03:26  gb
3449
3450        * level-0/X86/x86-misc.lisp: Don't use boxed "disp" for
3451        displacement in %ATOMIC-INCF-NODE.
3452
34532007-01-29 07:27  gb
3454
3455        * lib/macros.lisp: Enable new callback stuff on #+ppc-target.
3456
34572007-01-29 07:27  gb
3458
3459        * lib/ffi-darwinppc64.lisp: new callback stuff.
3460
34612007-01-29 07:27  gb
3462
3463        * lib/ffi-darwinppc32.lisp: typos-r-us.
3464
34652007-01-29 04:37  gb
3466
3467        * lib/ffi-darwinppc32.lisp: Flesh out darwinppc32 callback stuff.
3468
34692007-01-29 04:37  gb
3470
3471        * lib/ffi-linuxppc64.lisp: Fix some typos/bugs; more likely remain.
3472
34732007-01-29 04:36  gb
3474
3475        * lib/foreign-types.lisp: REQUIRE-FOREIGN-TYPE-BITS.
3476
34772007-01-29 04:36  gb
3478
3479        * lib/macros.lisp: Use new callback scheme for darwinppc32, too.
3480
34812007-01-29 04:36  gb
3482
3483        * compiler/PPC/PPC32/ppc32-backend.lisp: No more (old) callback
3484        stuff here.
3485
34862007-01-29 02:33  gb
3487
3488        * lib/ffi-darwinppc32.lisp: Flesh out the new callback stuff.
3489
34902007-01-28 21:47  gb
3491
3492        * lib/: ffi-linuxppc32.lisp, ffi-linuxppc64.lisp: Flesh things out
3493        a bit more, change the API, get things working ... still a moving
3494        target.
3495
34962007-01-28 21:46  gb
3497
3498        * lib/macros.lisp: For linuxppc, use the new callback mechanism.
3499        (Other platforms still need more bootstrapping.)
3500
35012007-01-28 21:44  gb
3502
3503        * compiler/PPC/PPC32/ppc32-backend.lisp: Lose the old eabi-callback
3504        stuff; linuxppc 32/64-bit callbacks now use the new scheme.
3505
35062007-01-28 03:21  gb
3507
3508        * lib/ffi-linuxppc32.lisp: Remove some typos.  Need to pass
3509        dynamic-extent, other decls separately.
3510
35112007-01-28 03:20  gb
3512
3513        * compiler/PPC/PPC32/ppc32-backend.lisp: Fix some of this stuff;
3514        use the new (ftd-based) scheme.
3515
35162007-01-28 01:43  gb
3517
3518        * compiler/PPC/PPC64/ppc64-backend.lisp: Fix some typos.  (This
3519        code's getting replaced, but fix 'em anyway.)
3520
35212007-01-28 01:42  gb
3522
3523        * lib/db-io.lisp: If a .cdb file can't be opened, show the
3524        translated pathname and mention the fact that this might indicate a
3525        problem with "ccl:"'s logical translations.
3526
35272007-01-25 04:37  gb
3528
3529        * lib/foreign-types.lisp: Never fully understood the concept
3530        "auxiliary" foreign types, but try to canonicalize intermediate
3531        struct/union/enum references, so that (EQ (PARSE-FOREIGN-TYPE
3532        '(:STRUCT :FOO))     (PARSE-FOREIGN-TYPE '(:STRUCT :FOO))) is more
3533        likely to return T (e.g., something registered in the FTD.
3534       
3535        It seems clear that this is the right thing when the structure
3536        reference is in global scope; I'm not sure what it'd mean for that
3537        not to be the case.
3538
35392007-01-25 04:32  gb
3540
3541        * lib/ffi-linuxppc32.lisp: More plausible callback-bindings
3542        callback.
3543
35442007-01-24 23:41  gb
3545
3546        * lib/ffi-linuxppc32.lisp: First cut at callback-bindings thing;
3547        may not even compile.
3548
35492007-01-24 02:39  gb
3550
3551        * compiler/: PPC/PPC32/ppc32-backend.lisp,
3552        PPC/PPC64/ppc64-backend.lisp, X86/X8664/x8664-backend.lisp: Stubs
3553        for new FTD functions.
3554
35552007-01-24 02:28  gb
3556
3557        * lib/foreign-types.lisp: A few more fields (for callbacks) in ftd
3558        defstruct.
3559
35602007-01-23 15:28  gb
3561
3562        * compiler/PPC/: PPC32/ppc32-backend.lisp,
3563        PPC64/ppc64-backend.lisp: Get FPRs from where subprim saved them.
3564        Return FPRs in the same place.  (Will need to re-work all of this
3565        for platform-dependent structure stuff.)
3566
35672007-01-23 15:26  gb
3568
3569        * lisp-kernel/ppc-spentry.s: poweropen-callback, callbackX; save fp
3570        args here.  Return all (arg) GPRs and FPRs (needs cooperation from
3571        the lisp side.)
3572
35732007-01-23 15:21  gb
3574
3575        * lisp-kernel/: ppc-constants32.s, ppc-constants64.s: Add room in
3576        c_reg_save for saved fp args (f1-f13).
3577
35782007-01-23 15:14  gb
3579
3580        * lib/foreign-types.lisp: FF-CALL implemented in terms of the new
3581        ftd hook.
3582
35832007-01-23 07:19  gb
3584
3585        * level-1/l1-clos-boot.lisp: ppc32, ppc64 also had trouble with
3586        (CLASS-OF non-simple-string).
3587
35882007-01-23 07:02  gb
3589
3590        * level-1/l1-clos-boot.lisp: x8664 class-of: typo in non-simple
3591        array case, needed new string definition.
3592
35932007-01-23 07:01  gb
3594
3595        * lib/: ffi-darwinx8664.lisp, ffi-freebsdx8664.lisp,
3596        ffi-linuxx8664.lisp: Define ffi stuff in terms of common things in
3597        compiler/X86/X8664/x8664-backend.
3598
35992007-01-23 06:59  gb
3600
3601        * compiler/X86/X8664/x8664-backend.lisp: Define (common) x8664 ffi
3602        stuff here.
3603
36042007-01-21 08:32  gb
3605
3606        * compiler/X86/x862.lisp: Name vinsn ff-call-return-registers (not
3607        "-returning-").
3608       
3609        Typecheck the :registers arg.
3610
36112007-01-21 08:32  gb
3612
3613        * compiler/X86/X8664/x8664-vinsns.lisp: ff-call-return-registers.
3614
36152007-01-21 08:31  gb
3616
3617        * compiler/X86/X8664/x8664-arch.lisp: WITH-FFCALL-RESULTS: zero the
3618        stack-block.
3619
36202007-01-21 08:31  gb
3621
3622        * lisp-kernel/x86-spentry64.s: Don't use save3 in
3623        .SPffcall_return_registers (save3 = r11); use save2 (= r13)
3624        instead.
3625
36262007-01-21 06:46  gb
3627
3628        * compiler/PPC/PPC64/ppc64-arch.lisp: WITH-FFCALL-RESULTS needs
3629        space for 13 float registers, not 31.
3630
36312007-01-21 06:45  gb
3632
3633        * compiler/X86/X8664/x8664-arch.lisp: WITH-FFCALL-RESULTS for
3634        x86-64.
3635
36362007-01-21 06:38  gb
3637
3638        * compiler/X86/x862.lisp: ff-call: handle n-word struct-by-value,
3639        register return without typos.
3640
36412007-01-21 06:15  gb
3642
3643        * compiler/X86/x862.lisp: ff-call: handle n-word struct-by-value,
3644        register return.
3645
36462007-01-21 06:14  gb
3647
3648        * compiler/nx1.lisp: Don't assume that passing a structure by value
3649        in N words is Darwin-specific.  (LinuxPPC32 is probably the only
3650        platform that doesn't support the convention.)
3651
36522007-01-21 06:12  gb
3653
3654        * compiler/X86/X8664/x8664-arch.lisp: .SPffcall-return-registers
3655        replaces .SPunused-4.
3656
36572007-01-21 06:10  gb
3658
3659        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s:
3660        .SPffcall_return_registers (just returns %rax/rdx, %xmm0/%xmm1).
3661        (replaces .SPunused_4).
3662
36632007-01-21 00:05  gb
3664
3665        * lib/: ffi-linuxppc32.lisp, ffi-linuxppc64.lisp: Use
3666        argument/result coercion functions in os::expand-ff-call.
3667
36682007-01-20 23:53  gb
3669
3670        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp: Coerce arg,
3671        results when expanding an ff-call.
3672
36732007-01-20 23:52  gb
3674
3675        * lib/foreign-types.lisp: Default (no-op) functions for coercing
3676        foreign args, results.
3677
36782007-01-20 22:31  gb
3679
3680        * lib/ffi-linuxppc64.lisp: 4 down.  Whether 2 or 3 to go depends on
3681        your perspective (and on how close x86-64 Linux and x86-64 FreeBSD
3682        are to each other.  I'd guess that they're pretty close, and that
3683        x86-64 Darwin is random.)
3684
36852007-01-20 21:55  gb
3686
3687        * lib/ffi-linuxppc32.lisp: Pretty simple.  3 down, 4 to go.
3688
36892007-01-20 19:34  gb
3690
3691        * compiler/X86/X8664/x8664-backend.lisp: Package prefixes.  D'oh!
3692
36932007-01-20 19:25  gb
3694
3695        * compiler/X86/X8664/x8664-backend.lisp: Add references to the
3696        right os::ff-call-expander.
3697
36982007-01-20 19:24  gb
3699
3700        * compiler/PPC/PPC64/ppc64-arch.lisp: Remove some wip code.
3701
37022007-01-20 19:24  gb
3703
3704        * compiler/PPC/: PPC32/ppc32-backend.lisp,
3705        PPC64/ppc64-backend.lisp: Use os::expand-ff-call, for each value of
3706        OS.
3707
37082007-01-20 19:23  gb
3709
3710        * level-1/l1-sockets.lisp: Saw an opportunity to use PAREF;
3711        probably several more.
3712
37132007-01-20 19:22  gb
3714
3715        * lib/ffi-darwinppc64.lisp: Two down, 5 to go.
3716
37172007-01-20 19:21  gb
3718
3719        * lib/ffi-darwinppc32.lisp: Looks mostly right; might need to be
3720        extended to handle coercions at the Cocoa level, and probably needs
3721        some cooperation from %EXTERNAL-CALL-EXPANDER (e.g., what's
3722        installed by #_).
3723
37242007-01-20 19:18  gb
3725
3726        * lib/db-io.lisp: Encode, decode union types in arglists.
3727
37282007-01-20 19:17  gb
3729
3730        * lib/foreign-types.lisp: ftd's :ff-call-expand-function is
3731        os::expand-ff-call.
3732       
3733        Canonicalize the :void type a bit better.
3734
37352007-01-20 19:16  gb
3736
3737        * library/parse-ffi.lisp: Remove the debugging FORMAT call.
3738
37392007-01-18 23:15  gb
3740
3741        * level-1/l1-boot-2.lisp: Load with the new ffi-backend fasls.
3742
37432007-01-18 23:15  gb
3744
3745        * lib/compile-ccl.lisp: Deal with the new ffi-backend sources.
3746
37472007-01-18 23:15  gb
3748
3749        * lib/systems.lisp: Add the new ffi-backend sources.
3750
37512007-01-18 23:14  gb
3752
3753        * lib/: ffi-darwinppc32.lisp, ffi-darwinppc64.lisp,
3754        ffi-darwinx8664.lisp, ffi-freebsdx8664.lisp, ffi-linuxppc32.lisp,
3755        ffi-linuxppc64.lisp, ffi-linuxx8664.lisp: New (so far, empty)
3756        files.
3757
37582007-01-18 04:35  gb
3759
3760        * level-1/version.lisp: Bump.
3761
37622007-01-18 04:17  gb
3763
3764        * examples/bridge.lisp: Some word-size conditionalization.  Will
3765        need more work to handle struct return/asssignment correctly on all
3766        platforms.
3767
37682007-01-18 04:15  gb
3769
3770        * examples/: cocoa-editor.lisp, cocoa-backtrace.lisp: Use CGFloat,
3771        type casts, etc.  Likwise for :<NSI>nteger, :<NSUI>nteger.
3772
37732007-01-18 04:13  gb
3774
3775        * examples/: cocoa-prefs.lisp, cocoa-listener.lisp: Use CGFloat,
3776        type casts, etc.
3777
37782007-01-18 04:12  gb
3779
3780        * examples/cocoa-window.lisp: Use CGFloat, type casts, etc.  Avoid
3781        deprecated NSFont stuff.
3782
37832007-01-18 04:11  gb
3784
3785        * examples/objc-clos.lisp: Handle ivars, class
3786        creation/initialization differently for ObjC 2.0.
3787
37882007-01-18 04:10  gb
3789
3790        * examples/objc-runtime.lisp: More ObjC 2.0, ppc64 changes.
3791
37922007-01-18 04:09  gb
3793
3794        * examples/objc-support.lisp: Note which protocols are actually
3795        used when walking classes.  (There doesn't seem to be a good way of
3796        finding a Protocol object pre-objc-2.0, and we may need to test
3797        protocol compliance to disambiguate message sends in some cases.)
3798
37992007-01-18 04:07  gb
3800
3801        * examples/opengl-ffi.lisp: Conditionalize for darwin (not
3802        necessarily darwinppc).
3803
38042007-01-18 04:06  gb
3805
3806        * examples/addressbook.lisp: Conditionalize for darwin (not
3807        necessarily darwinppc).  May want to conditionalize for bundle
3808        executable name, as well.
3809
38102007-01-18 04:05  gb
3811
3812        * compiler/PPC/PPC64/ppc64-arch.lisp: WITH-FFCALL-RESULTS.  Start
3813        to sketch out structure return code (structures are often
3814        "returned" by returning field values in registers pn DarwinPPC64.)
3815
38162007-01-18 04:04  gb
3817
3818        * compiler/PPC/PPC64/ppc64-backend.lisp: New ftd stuff; new
3819        attributes for structure args/results.
3820
38212007-01-18 04:03  gb
3822
3823        * compiler/PPC/PPC64/ppc64-vinsns.lisp: ffcall-returning registers.
3824         (Will need this for other platforms, too.)
3825
38262007-01-18 04:01  gb
3827
3828        * lib/macros.lisp: Arch-specific macro interface for
3829        WITH-FFCALL-RESULTS.
3830
38312007-01-18 04:00  gb
3832
3833        * lib/db-io.lisp: Handle the case of an encoded structure type as a
3834        return value.
3835
38362007-01-18 04:00  gb
3837
3838        * lisp-kernel/: ppc-spentry.s, ppc-spjump.s:
3839        .SPpoweropen_ffcall_return_registers.
3840
38412007-01-18 03:59  gb
3842
3843        * library/parse-ffi.lisp: At least optionally, make structure
3844        return explicit (expecting it to be handled by higher-level code.)
3845
38462007-01-18 03:58  gb
3847
3848        * lib/foreign-types.lisp: ff-call-expand-function in ftd.  Don't
3849        try to type-expand :registers <exp> form in EXTERNAL-CALL.
3850
38512007-01-18 03:55  gb
3852
3853        * level-0/PPC/ppc-misc.lisp: Get the contents of the register that
3854        may hold OS thread context.
3855
38562007-01-18 03:54  gb
3857
3858        * compiler/PPC/PPC32/ppc32-backend.lisp: ff-call-expander function
3859        in ftd.
3860
38612007-01-18 03:53  gb
3862
3863        * compiler/PPC/PPC32/ppc32-arch.lisp: WITH-FFCALL-RESULTS arch
3864        macro.
3865
38662007-01-18 03:52  gb
3867
3868        * compiler/PPC/ppc2.lisp: Poweropen ff-calls might need to return
3869        all possible result regs.  (Maybe poweropen syscall, too.)
3870
38712007-01-18 03:51  gb
3872
3873        * compiler/PPC/ppc-arch.lisp: Replace unused subprim with
3874        .SPpoweropen-ff-call-return-registers.
3875
38762007-01-18 03:50  gb
3877
3878        * compiler/nx1.lisp: Support :registers <exp> in %ff-call; when
3879        supported, backend will return all (potential) result registers in
3880        buffer at <exp>.
3881
38822007-01-16 02:01  gb
3883
3884        * level-1/l1-streams.lisp: Make sure that STREAM-READ-IVECTOR and
3885        STREAM-WRITE-IVECTOR are defined on binary stream classes.  (These
3886        functions make less sense for character streams/strings than they
3887        used to.)
3888
38892007-01-16 01:39  gb
3890
3891        * level-1/l1-sockets.lisp: Ensure that the :FORMAT argument
3892        defaults to :BIVALENT
3893
38942007-01-16 01:37  gb
3895
3896        * level-0/l0-init.lisp: Put :OPENMCL-UNICODE-STRINGS on *FEATURES*.
3897
38982007-01-11 23:58  gb
3899
3900        * compiler/PPC/ppc2.lisp: Transform (/ (* constant1 exp) constant2)
3901        into (* (/ constant1 constant2) exp).  Not very general, but makes
3902        some foreign address arithmetic better.
3903
39042007-01-11 23:56  gb
3905
3906        * lib/macros.lisp: Simple PAREF: (paref pointer
3907        foreign-pointer-or-array-type index) does simple arithmetic for
3908        you.
3909
39102007-01-11 23:54  gb
3911
3912        * lib/foreign-types.lisp: %FOREIGN-ARRAY-ACCESS-FORM.
3913
39142007-01-10 15:50  gb
3915
3916        * compiler/PPC/ppc2.lisp: ppc2-vref1: lose extra arg to
3917        double->heap vinsn.
3918
39192007-01-09 11:33  gb
3920
3921        * lisp-kernel/x86-spentry64.s: When running an unwind-protect
3922        cleanup and multiple values are being thrown, be sure to set
3923        tcr.xframe from the target catch frame.  This is necessary on
3924        general principles (GC safety), and especially necessary if the
3925        cleanup form does a non-local exit.
3926
39272007-01-08 22:12  gb
3928
3929        * examples/: objc-clos.lisp, objc-runtime.lisp, objc-support.lisp:
3930        Revive some of the old GNUstep support; add partial ObjC 2.0
3931        support (for 64-bit targets only, so far.)
3932
39332007-01-08 22:11  gb
3934
3935        * examples/cocoa.lisp: Conditionalize for darwin-target, not
3936        darwinppc-target.
3937
39382007-01-08 22:10  gb
3939
3940        * examples/cocoa-listener.lisp: Disable background layout in the
3941        listener; the whole two-thread scheme probably isn't viable, but
3942        doing this seems to suppress a timing-related symptom.
3943
39442007-01-08 22:09  gb
3945
3946        * examples/cocoa-editor.lisp: Document-begin-editing,
3947        document-end-editing: both seem to have been conditionalized
3948        backwards.
3949
39502007-01-05 16:22  gb
3951
3952        * level-0/l0-numbers.lisp: Fix another typo ...
3953
39542007-01-05 16:16  gb
3955
3956        * level-0/l0-numbers.lisp: Fix typo (ppc32::, not ppc2::).
3957
39582007-01-05 15:27  gb
3959
3960        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Missing MISC-SET-C-S32 for
3961        PPC32.
3962
39632007-01-05 06:20  gb
3964
3965        * level-0/l0-cfm-support.lisp: OPEN-SHARED-LIBRARY: freebsd version
3966        of #_dlopen doesn't return a link map, but calling #_dlinfo on the
3967        result (with the right arg) does obtain a link map.
3968       
3969        Revive shared libraries on FreeBSD, but don't do the strange
3970        Linux-specific re-opening there.  (It seems like it's possible to
3971        #_dlopen something that already has a loaded link map - like the
3972        FreeBSD dynamic linker - or something.)
3973
39742007-01-04 05:46  gb
3975
3976        * level-1/l1-pathnames.lisp: %component-match-p: handle :WILD,
3977        :WILD-INFERIORS.
3978
39792007-01-04 05:45  gb
3980
3981        * lisp-kernel/pmcl-kernel.c: Try to check for old libc versions
3982        (which may use %gs instead of %fs for tls).
3983
39842007-01-04 05:44  gb
3985
3986        * lib/numbers.lisp: Explicitly require NUMBER-CASE-MACRO.
3987
39882007-01-04 05:44  gb
3989
3990        * level-0/l0-numbers.lisp:
3991        fixnum-sfloat-compare,fixnum-dfloat-compare: if the fixnum can be
3992        accurately represented in float, do so.
3993
39942007-01-03 03:35  gb
3995
3996        * lib/sequences.lisp: Fix a few type errors, check for explicit
3997        vector-type length earlier.
3998
39992007-01-03 03:31  gb
4000
4001        * level-1/l1-files.lisp: %STD-NAME-COMPONENT, %STD-TYPE-COMPONENT:
4002        preserved :WILD, don't map it to "*".
4003
40042007-01-03 03:30  gb
4005
4006        * lib/pathnames.lisp: More whack-a-mole with pathnames
4007        (specifically, preserving :WILD as name/type value and dealing with
4008        the consequences of doing so.)
4009
40102007-01-03 03:27  gb
4011
4012        * lib/numbers.lisp: Small (mostly cosmetic) change to RATIONAL.
4013
40142007-01-02 09:57  gb
4015
4016        * lib/macros.lisp: Keep fixing CTYPECASE.
4017
40182007-01-02 09:57  gb
4019
4020        * level-1/l1-streams.lisp: DOH! STREAM-READ-LINE method on
4021        BASIC-CHARACTER-INPUT-STREAM returns both values.
4022       
4023        "Composite" (two-way, concatenated, etc) streams need a close
4024        protocol.
4025
40262007-01-02 07:00  gb
4027
4028        * level-0/l0-pred.lisp: EQUAL on physical pathnames ignores the
4029        (new) version slot, as does practically everything else.
4030
40312007-01-02 06:59  gb
4032
4033        * level-0/l0-numbers.lisp: Don't assume that fixnums can be
4034        accurately coerced to floats when comparing fixnums and floats; do
4035        the logical equvalent of calling RATIONAL on the float instead.
4036
40372007-01-01 23:41  gb
4038
4039        * level-1/l1-files.lisp: ENOUGH-NAMESTRING: don't incorporate
4040        version into returned namestring for physical pathnames.
4041
40422006-12-31 10:15  gb
4043
4044        * release-notes.txt: Update.
4045
40462006-12-31 09:13  gb
4047
4048        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump image/abi
4049        version.
4050
40512006-12-31 08:57  gb
4052
4053        * xdump/faslenv.lisp: Bump fasl-min-vers.
4054
40552006-12-31 08:49  gb
4056
4057        * lib/nfcomp.lisp: Bump current fasl version.
4058
40592006-12-31 08:33  gb
4060
4061        * lisp-kernel/: linuxppc/elf32ppclinux.x, linuxppc64/elf64ppc.x:
4062        Tweak the executable start address.
4063
40642006-12-31 02:44  gb
4065
4066        * lisp-kernel/x86-spjump64.s: On Darwin, use a .space directive to
4067        ensure that there's nothing interesting in the first few pages of
4068        the address space (and ensure that those pages are mapped.)
4069
40702006-12-31 02:43  gb
4071
4072        * lisp-kernel/darwinx8664/Makefile: Sadly, we can't use -sectalign
4073        on x86-64 (ld64 does some floating-point arithmetic, fails to
4074        account for roundoff error, and claims that 0x1000 isn't a power of
4075        2.) If you can't say anything good about a linker, it's best not to
4076        say anything at all.
4077       
4078        We can force the first segment to be mapped at 0x1000, and can
4079        waste a few pages to ensure that all low-memory pages that the lisp
4080        wants are mapped.
4081
40822006-12-31 02:33  gb
4083
4084        * level-1/l1-pathnames.lisp: %SPLIT-COMPONENT: be a little more
4085        defensive.
4086
40872006-12-31 02:32  gb
4088
4089        * compiler/nx0.lisp: NX-FORM-TYPE: handle quoted constants.
4090
40912006-12-31 02:29  gb
4092
4093        * xdump/faslenv.lisp: Bump $fasl-vers.
4094
40952006-12-31 02:28  gb
4096
4097        * level-1/version.lisp: Bump; remove "Beta" designation.
4098
40992006-12-29 20:13  gb
4100
4101        * compiler/X86/X8664/x8664-arch.lisp, lisp-kernel/area.h,
4102        lisp-kernel/lisp_globals.h, lisp-kernel/x86-constants64.h,
4103        lisp-kernel/x86-constants64.s, xdump/xx8664-fasload.lisp: Move NIL
4104        up a page on x86-64 as well.
4105
41062006-12-29 16:09  gb
4107
4108        * lisp-kernel/ppc-spjump.s: Be a little clearer about where we're
4109        .orged.
4110
41112006-12-29 15:32  gb
4112
4113        * compiler/PPC/PPC32/ppc32-arch.lisp, lisp-kernel/area.h,
4114        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
4115        lisp-kernel/darwinppc/Makefile, xdump/xppcfasload.lisp: Static area
4116        (including NIL) now one page higher on ppc32, as well.
4117
41182006-12-29 02:38  gb
4119
4120        * level-0/PPC/ppc-float.lisp: SQRT in LAP (todo: inline it.)
4121
41222006-12-29 01:38  gb
4123
4124        * compiler/PPC/PPC64/ppc64-arch.lisp: Move ppc64::nil-value (and
4125        ppc64::reservation-discharge) up a page.
4126
41272006-12-29 01:37  gb
4128
4129        * xdump/xppcfasload.lisp: xload-static-space-address for ppc64 is
4130        #x2000; still #x1000 for ppc32.  (need to set this for x86-64)
4131
41322006-12-29 01:36  gb
4133
4134        * xdump/xfasload.lisp: *xload-static-space-address* depends on the
4135        backend.  ppc64 wants it one page higher than it has been, to avoid
4136        letting unmapped pages get claimed by the dynamic linker on Darwin.
4137
41382006-12-29 01:35  gb
4139
4140        * lisp-kernel/darwinppc64/Makefile: Change seg1addr/sectalign, so
4141        that the image starts at #x1000 and aligned section data for the
4142        text section starts on the next page.
4143
41442006-12-29 01:33  gb
4145
4146        * lisp-kernel/ppc-spjump.s: Org the spjump table 3 pages from where
4147        the aligned text section data starts.
4148
41492006-12-29 01:32  gb
4150
4151        * lisp-kernel/: ppc-constants64.h, ppc-constants64.s: nil_value,
4152        etc a page higher.
4153
41542006-12-29 01:32  gb
4155
4156        * lisp-kernel/pmcl-kernel.c: Don't remap ppc64 spjump table if it's
4157        already where it should be.
4158
41592006-12-29 01:32  gb
4160
4161        * lisp-kernel/lisp_globals.h: Access lisp_globals/nrs_symbols a
4162        page higher.
4163
41642006-12-29 01:30  gb
4165
4166        * lisp-kernel/area.h: Move STATIC_BASE_ADDRESS up a page for ppc64.
4167
41682006-12-22 01:40  gb
4169
4170        * lisp-kernel/ppc-exceptions.c: Ensure that sqrt() is prototyped.
4171
41722006-12-22 01:39  gb
4173
4174        * lisp-kernel/pmcl-kernel.c: Insist on at least Panther for
4175        PPC32/Darwin.
4176       
4177        Use dlopen() on 64-bit Darwin variants.  Might want to do a runtime
4178        test and use dlfcn functions if at least Tiger.
4179       
4180        (The old dyld functions are deprecated under Leopard, and there's
4181        reason to believe that they don't work correctly on at least ppc64/
4182        Leopard; attempting to use NSCreateObjectFileImageFromFile to open
4183        a 64-bit .dylib seems to lead to memory corruption rather than
4184        returning NSObjectFileImageInappropriateFile.
4185       
4186        The old functions work better than the dlfcn functions on pre-Tiger
4187        systems.)
4188
41892006-12-19 01:24  gb
4190
4191        * library/parse-ffi.lisp: Just to be on the safe side (new pathname
4192        bugs, or old ?), append -BAK to (NAMESTRING (TRUENAME path)), not
4193        just (NAMESTRING path) when renaming.  (MERGE-PATHNAMES call is
4194        producing a pathane with a non-null VERSION component, as it
4195        arguably should have been all along.
4196
41972006-12-18 13:22  gb
4198
4199        * lib/sequences.lisp: COERCE/MAKE-SEQUENCE try to simplify vector
4200        types into concrete vector types.
4201
42022006-12-18 13:04  gb
4203
4204        * level-1/l1-pathnames.lisp: Try (halfheartedly) to maintain
4205        PATHNAME-VERSION of physical pathnames.  (Totally meaningless, but
4206        failing to do this leads to many test failures.)
4207
42082006-12-18 13:03  gb
4209
4210        * level-1/l1-numbers.lisp: Don't call out to do sqrt.
4211
42122006-12-18 12:57  gb
4213
4214        * level-1/l1-files.lisp: Try (halfheartedly) to maintain
4215        PATHNAME-VERSION of physical pathnames.  (Totally meaningless, but
4216        failing to do this leads to many test failures.)
4217
42182006-12-18 12:54  gb
4219
4220        * level-0/X86/x86-float.lisp: Do single/double-float sqrt inline.
4221
42222006-12-16 05:28  gb
4223
4224        * level-0/PPC/ppc-float.lisp: Recognize that fsqrt/fsqrts
4225        instructions have a minor opcode in frb and only have one source
4226        operand.
4227
42282006-12-16 05:27  gb
4229
4230        * level-1/ppc-error-signal.lisp: If we get an FP exception during a
4231        SQRT, note that there's only one operand and that it's in frb.
4232
42332006-12-16 05:25  gb
4234
4235        * lisp-kernel/ppc-exceptions.c: Handle (some) unimplemented
4236        instructions, notably fsqrt/fqrts, which are optional and not
4237        implemented on some PPC machines.
4238
42392006-12-16 05:24  gb
4240
4241        * lisp-kernel/ppc-asmutils.s: Add get_fpscr().
4242
42432006-12-14 19:47  gb
4244
4245        * lisp-kernel/ppc-exceptions.c: Need to handle SIGQUIT on ppc, too.
4246
42472006-12-14 16:43  gb
4248
4249        * compiler/X86/X8664/x8664-vinsns.lisp: Constraints on some
4250        double-float arithmetic vinsns should say :double-float, not
4251        :single-float.  (I suspect cut-and-paste, frankly.)
4252
42532006-12-14 16:25  gb
4254
4255        * level-1/l1-lisp-threads.lisp: *initial-lisp-thread*, not
4256        initial-thread.
4257
42582006-12-14 16:24  gb
4259
4260        * level-1/x86-trap-support.lisp: Use frame pointer when signaling
4261        error.
4262
42632006-12-14 16:14  gb
4264
4265        * library/lispequ.lisp: Add a %PHYSICAL-PATHAME-VERSION slot to
4266        physical pathnames. (Yes, this is kind of silly.)
4267
42682006-12-14 16:01  gb
4269
4270        * level-1/x86-trap-support.lisp: Recognize the kernel's attempt to
4271        signal errors for (e.g.) failed memory allocation.
4272
42732006-12-14 16:00  gb
4274
4275        * lisp-kernel/x86-exceptions.c: If a memory allocation request
4276        fails, signal a lisp error (what a concept.)
4277
42782006-12-14 15:51  gb
4279
4280        * lisp-kernel/x86-exceptions.h: Define DARWIN_USE_PSEUDO_SIGRETURN.
4281       
4282        Might be worth revisiting this.
4283
42842006-12-14 15:50  gb
4285
4286        * lisp-kernel/x86-exceptions.c: Go back to using the
4287        pseudo_sigreturn mechanism on Darwin, since doing a real sigreturn
4288        from a fake context may not be reliable.
4289       
4290        When handling an interrupt with a partially created temp stack
4291        frame, do the right thing.  (That basically means reset the frame
4292        before calling out and recreating it if we return from the
4293        callout.)
4294       
4295        Handle SIGQUIT on the altstack, to provide a way of forcibly
4296        terminating threads that's a bit more GC-safe than doing it via
4297        #_pthread_cancel.
4298       
4299        Note the tcr of the gc thread on gc entry; if an exception happens
4300        in that thread, print a message and sleep for 60 seconds.
4301       
4302        Note that there's still a race condition here: if thread A gets an
4303        exception and thread B gets the mach_exception_lock (to GC) before
4304        the exception thread can handle the message, we deadlock (thread A
4305        would be suspended in the kernel and can't respond to a suspend
4306        signal.)  We can tell that this has happened and make a good guess
4307        as to why it happened, but dealing with it will require some
4308        thought.  (If we've already issued a suspend signal and eventually
4309        raise the suspended thread's resume semaphore, it'll suspend and
4310        resume once the mach exception thread makes it runnable.  Who
4311        cleans up its exception context in that case ?  Does it matter ?)
4312
43132006-12-14 15:19  gb
4314
4315        * lisp-kernel/thread_manager.c: Ensure that newly-created threads
4316        have all signals unmasked.
4317       
4318        If a tcr is dead, ensure that its stack areas are empty.
4319       
4320        Try to run shutdown_thread_tcr as a pthread cleanup action,
4321        hopefully before Mach clobbers the thread's signal mask.
4322
43232006-12-14 15:16  gb
4324
4325        * lisp-kernel/pmcl-kernel.c: lazarus() runs with a lock on the
4326        TCR_AREA_LOCK.
4327
43282006-12-14 15:15  gb
4329
4330        * lisp-kernel/memprotect.h: Don't declare do_memo_reset(), which
4331        hasn't existed in years.
4332
43332006-12-14 15:14  gb
4334
4335        * level-1/version.lisp: Bump.
4336
43372006-12-14 15:14  gb
4338
4339        * level-1/l1-readloop.lisp: PREPARE-TO-QUIT: wait for the
4340        termination semaphore.
4341
43422006-12-14 15:13  gb
4343
4344        * level-1/l1-processes.lisp: PROCESS objects are created with a
4345        termination semaphore.
4346
43472006-12-14 15:12  gb
4348
4349        * level-1/l1-lisp-threads.lisp: THREAD-ENABLE: second arg is
4350        TERMINATION-SEMAPHORE.
4351       
4352        KILL-LISP-THREAD: don't use #_pthread_cancel, which may force the
4353        target thread to transition from running lisp code to running
4354        foreign code without advertising that fact. Send a SIGQUIT instead,
4355        and trust the SIGQUIT handler to manage that transition.  Don't try
4356        to kill the initial thread.
4357
43582006-12-09 09:52  gb
4359
4360        * level-1/l1-streams.lisp: STRING-OUTPUT-STREAMs need to override
4361        their CLEAR-OUTPUT methods.
4362       
4363        MAKE-STRING-INPUT-STREAM: handle displaced strings better (remember
4364        their displaced-index-offsets.)
4365
43662006-12-09 09:49  gb
4367
4368        * lisp-kernel/thread_manager.c: Disable underflow traps in new
4369        threads on x86-64.  (The PPC never got around to enabling them.)
4370
43712006-12-09 09:47  gb
4372
4373        * lib/macros.lisp: WITH-OUTPUT-TO-STRING: if string provided,
4374        evaluate the ELEMENT-TYPE expression (for side-effects) and ignore
4375        the result of its evaluation.
4376       
4377        Some fixes in CTYPECASE handling, which hopefully didn't break
4378        anything else.
4379
43802006-12-09 09:36  gb
4381
4382        * compiler/X86/x862.lisp: In aset2/aset3, ensure that the (final,
4383        1d) index register is set - even if the index is a constant - if we
4384        think that the store needs EGC memoization.
4385       
4386        (Note that the test case that exposed this involved storing
4387        SINGLE-FLOATs, which don't need EGC write-barrier handling on
4388        64-bit platforms.)
4389       
4390        In aref2, don't worry about reserving unscaled index registers when
4391        targeting the 1d index; the unscaled index registers aren't live
4392        after, could be NULL if the index is a constant, and any overlap
4393        between one of them and the 1d index should be handled in the
4394        vinsn(s).
4395
43962006-12-09 09:30  gb
4397
4398        * level-1/l1-typesys.lisp: Ensure that the (relatively new)
4399        built-in-classes SIMPLE-FIXNUM-VECTOR and FIXNUM-VECTOR have
4400        class-translations.
4401
44022006-12-09 09:27  gb
4403
4404        * level-1/l1-aprims.lisp: In list case of ELT: who says that value
4405        returned by NTHCDR is a LIST ? (It's not necessarily a list, so
4406        don't segfault taking its CAR without checking.)
4407
44082006-12-06 18:48  gb
4409
4410        * level-0/X86/x86-float.lisp: x86-64 version of
4411        SFLOAT-SIGNIFICAND-ZEROS: count zero bits in the shifted float, not
4412        in %imm1 (which is undefined here ...)
4413
44142006-12-06 17:05  gb
4415
4416        * compiler/nx0.lisp: DEFINE-COMPILER-MACRO: if a SETF name, use the
4417        right symbol for the named block.
4418       
4419        COMPILER-MACRO-FUNCTION, (SETF COMPILER-MACRO-FUNCTION): deal with
4420        (SETF NAME).
4421
44222006-12-05 22:44  gb
4423
4424        * release-notes.txt: Update for 061205.
4425
44262006-12-05 20:31  gb
4427
4428        * lisp-kernel/darwinppc64/Makefile: Change LDFLAGS, to keep ld64
4429        from putting a linkedit segment in the wrong place and making
4430        32-bit memory unmappable.
4431
44322006-12-05 20:30  gb
4433
4434        * level-1/version.lisp: Bump.
4435
44362006-12-05 20:29  gb
4437
4438        * lisp-kernel/pmcl-kernel.c: Use _exit(), just in case.
4439
44402006-12-05 18:53  gb
4441
4442        * level-1/l1-reader.lisp: *ALTERNATE-LINE-TERMINATOR* set to
4443        #\Return on #+darwin-target, not just #+darwinppc-target. Change
4444        doc string for *ALTERNATE-LINE-TERMINATOR*.
4445
44462006-12-04 15:13  gb
4447
4448        * level-1/version.lisp: Append a patchlevel to the version string,
4449        at least until new tarballs can be built.
4450
44512006-12-04 15:12  gb
4452
4453        * level-1/l1-streams.lisp: If stream element type upgrades to
4454        FIXNUM, upgrade it further (to largest supported SIGNED-BYTE
4455        element-type.)
4456
44572006-12-04 13:02  gb
4458
4459        * level-0/l0-bignum32.lisp: BIGNUM-BIGNUM-GCD (whatever it's
4460        called): don't bother to shift by 0 bits.  Do shift the initial U
4461        if non-zero trailing 0 BITS (was testing for non-zero trailing
4462        DIGITS.)
4463
44642006-12-04 12:52  gb
4465
4466        * level-1/l1-streams.lisp: Choke earlier on unsupported stream
4467        element-types; do some upgrading to support some more element types
4468        (BIT -> (UNSIGNED-BYTE 8)).
4469       
4470        Maybe support arbitrarily large integer types someday soon.  Maybe
4471        not.
4472
44732006-12-04 12:48  gb
4474
4475        * level-1/l1-clos-boot.lisp: Make built-in classes for istruct
4476        types (compiler stuff, mostly).
4477
44782006-12-04 12:46  gb
4479
4480        * level-0/X86/X8664/x8664-bignum.lisp: Ensure that %ASHL handles
4481        shift count of 32 (and returns 0 in that case.)
4482
44832006-12-04 12:46  gb
4484
4485        * level-0/l0-bignum64.lisp: In BIGNUM-SHIFT-RIGHT-LOOP-1, use
4486        %ASHL, not %ILSL.  (Don't want nonsense in the high 32 bits, just
4487        in case.)
4488
44892006-12-04 12:43  gb
4490
4491        * level-0/l0-numbers.lisp: Bugs in GCD-2.  Long-standing bugs in
4492        GCD-2 ...
4493
44942006-12-04 09:26  gb
4495
4496        * level-1/l1-streams.lisp: STREAM-CLEAR-INPUT: don't inherit method
4497        for STRING-INPUT-STREAMs.
4498
44992006-12-04 09:24  gb
4500
4501        * level-0/l0-bignum64.lisp: BIGNUM-SHIFT-RIGHT-1: handle shift by 0
4502        bits.  BIGNUM-BIGNUM-GCD (whatever it's called): don't bother to
4503        shift by 0 bits.
4504
45052006-12-04 09:21  gb
4506
4507        * level-1/ppc-trap-support.lisp: Reset error-reentry count before
4508        doing %SLOT-UNBOUND-TRAP.
4509
45102006-12-04 09:21  gb
4511
4512        * level-1/l1-streams.lisp: Default STREAM-POSITION method for
4513        STREAMs, returns NIL.  STREAM-POSITION method for
4514        STRING-INPUT-STREAMs.
4515
45162006-12-04 09:19  gb
4517
4518        * level-1/l1-pathnames.lisp: Derive ccl-directory from pathname
4519        containing heap image.
4520
45212006-12-03 07:41  gb
4522
4523        * level-1/l1-streams.lisp: FORCE-OUTPUT, FINISH-OUTPUT on
4524        STRING-OUTPUT-STREAMs are no-ops.
4525       
4526        Need an ioblock-based character-read-vector function for
4527        string-input-streams.
4528
45292006-12-03 07:37  gb
4530
4531        * lib/describe.lisp: Minimal DESCRIBE support for
4532        CCL::BASIC-STREAM.
4533
45342006-12-03 07:36  gb
4535
4536        * lib/macros.lisp: If :element-type is supplied in
4537        WITH-OUTPUT-TO-STRING, don't quote it.
4538
45392006-12-03 05:11  gb
4540
4541        * level-1/x86-trap-support.lisp: Define RIP-REGISTER-OFFSET, which
4542        isn't necessarily 16.
4543
45442006-12-03 05:10  gb
4545
4546        * level-1/x86-error-signal.lisp: Use RIP-REGISTER-OFFSET, which
4547        isn't necessarily 16.
4548       
4549        Use WITH-ERROR-REENTRY-DETECTION n %xerr-disp; dtrt for
4550        %slot-unbound-trap.
4551
45522006-12-03 05:09  gb
4553
4554        * level-1/l1-streams.lisp: Tweak stream hierarchy a little, to
4555        avoid some NO-NEXT-METHODs.
4556
45572006-12-03 02:42  gb
4558
4559        * compiler/nx1.lisp: Handle VALUES type specifiers in THE forms a
4560        bit better.
4561
45622006-12-03 02:41  gb
4563
4564        * compiler/nx0.lisp: Handle VALUES type specifiers in THE forms a
4565        bit.
4566
45672006-12-03 02:28  gb
4568
4569        * lisp-kernel/x86-spentry64.s: Do vector bounds checking by
4570        clearing the low byte of the header, shifting it right, and
4571        comparing the index to that.  (It's not reliable to shift the index
4572        left.)
4573
45742006-12-03 02:26  gb
4575
4576        * level-1/l1-unicode.lisp: Memory/vector encode functions: don't
4577        write BOM, leave that up to higher-level code.
4578       
4579        Start to write some higher-level code.
4580
45812006-12-03 02:23  gb
4582
4583        * level-1/l1-sysio.lisp: Fix some indentation.
4584
45852006-12-03 02:21  gb
4586
4587        * compiler/X86/X8664/x8664-vinsns.lisp: CHECK-MISC-BOUNDS: shift
4588        the header word right (after clearing its low byte) and compare the
4589        index to that.  (Shifting the index left - d'oh - obviously fails
4590        for indices of large magnitude.)
4591
45922006-11-29 21:07  gb
4593
4594        * lib/db-io.lisp: Indentation change.
4595       
4596        Add CDB-ENUMERATE-KEYS.
4597
45982006-11-29 18:37  gb
4599
4600        * lib/level-2.lisp: %DESTRUCTURE-LAMBDA-LIST: other callers of
4601        VERIFY-LAMBDA-LIST (hopefully) check to see if the alleged list is
4602        LISTP first.  (I hope ...).  Do so.
4603
46042006-11-28 18:42  gb
4605
4606        * lisp-kernel/x86-spentry64.s: Wrong register typo in .SPaset2.
4607
46082006-11-28 16:14  gb
4609
4610        * examples/cocoa-window.lisp: DEFAULT-FONT: retain the font.
4611
46122006-11-28 16:12  gb
4613
4614        * examples/objc-runtime.lisp: Wrap a (primitive)
4615        WITH-AUTORELEASE-POOL around the code which detaches the dummy
4616        NSThread.
4617
46182006-11-28 16:09  gb
4619
4620        * examples/cocoa-listener.lisp: Don't claim that a callback
4621        parameter is ignored; use IGNORABLE instead.
4622
46232006-11-21 01:28  gb
4624
4625        * level-1/l1-sockets.lisp: Typo in PATH-FROM-UNIX-ADDRESS
4626        conditionalization.
4627
46282006-11-21 00:55  gb
4629
4630        * level-1/l1-sockets.lisp: INIT-UNIX-SOCKADDR: don't use
4631        %COPY-IVECTOR-TO-PTR to copy string to foreign memory.
4632       
4633        Basic file-socket streams.
4634
46352006-11-10 05:08  gb
4636
4637        * release-notes.txt: Update.
4638
46392006-11-10 04:28  gb
4640
4641        * lisp-kernel/image.h: Bump min image version.
4642
46432006-11-10 04:19  gb
4644
4645        * xdump/heap-image.lisp: bump current image version.
4646
46472006-11-10 04:19  gb
4648
4649        * lisp-kernel/image.h: bump current, max image version.
4650
46512006-11-10 04:10  gb
4652
4653        * xdump/faslenv.lisp: Bump min fasl version.
4654
46552006-11-10 03:56  gb
4656
4657        * lib/nfcomp.lisp: bump current fasl version.
4658
46592006-11-10 03:47  gb
4660
4661        * lisp-kernel/x86-exceptions.c: save_application: use #__exit, not
4662        #_exit
4663
46642006-11-10 03:46  gb
4665
4666        * compiler/X86/x862.lisp: TYPE typo.
4667
46682006-11-10 03:32  gb
4669
4670        * xdump/faslenv.lisp: Bump max fasl version.
4671
46722006-11-10 03:25  gb
4673
4674        * level-1/version.lisp: Bump.  New snapshots today!
4675
46762006-11-09 16:26  gb
4677
4678        * level-1/l1-readloop.lisp: QUIT uses #__quit.
4679       
4680        PREPARE-TO-QUIT kill stragglers without waiting as long.
4681
46822006-11-09 15:50  gb
4683
4684        * lisp-kernel/pmcl-kernel.c: Use #_ _exit for fatal termination.
4685       
4686        Try to run lisp code after #_exit via lazarus(); this is for some
4687        cases of SAVE-APPLICATION (e.g., in the Cocoa GUI).
4688       
4689        The environment in which The Undead code runs is a little funky,
4690        especially on PPC.  There might be GC implications (cstack will
4691        contain call history as of the point when #_exit called atexit
4692        handlers, vstack & tstack are emptied in lazarus()).  We should
4693        barely run any code in this environment, but we will GC a time or
4694        two ...
4695
46962006-11-09 15:45  gb
4697
4698        * lisp-kernel/ppc-exceptions.c: Use _exit afer save-application.
4699
47002006-11-09 15:43  gb
4701
4702        * examples/: cocoa-window.lisp, cocoa.lisp: Change the quit
4703        protocol.
4704
47052006-11-09 15:42  gb
4706
4707        * examples/cocoa-listener.lisp: :set-document-edited for listener
4708        "documents" is a no-op.
4709
47102006-11-09 15:39  gb
4711
4712        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
4713        PPC64/ppc64-vinsns.lisp: 3d-array accessor stuff for PPC as well.
4714
47152006-11-09 12:50  gb
4716
4717        * compiler/X86/x862.lisp: Always check that array-ctype's
4718        dimensions are a list before taking their length.
4719
47202006-11-09 12:13  gb
4721
4722        * compiler/X86/X8664/x8664-vinsns.lisp: 3d-unscaled-index does the
4723        right thing ...
4724
47252006-11-09 10:08  gb
4726
4727        * compiler/: nx1.lisp, X86/x862.lisp, X86/X8664/x8664-vinsns.lisp:
4728        Three-arg aref/(setf aref) for x8664.
4729
47302006-11-09 05:37  gb
4731
4732        * compiler/nx0.lisp: Map array-type keywords to 3d-array type
4733        errors.
4734
47352006-11-09 05:37  gb
4736
4737        * compiler/nxenv.lisp: Operators for 3d array access.
4738
47392006-11-09 05:36  gb
4740
4741        * compiler/arch.lisp, level-1/l1-error-system.lisp,
4742        lisp-kernel/errors.s, lisp-kernel/lisp-errors.h: Type-errors for 3d
4743        array types.
4744
47452006-11-08 12:50  gb
4746
4747        * level-1/x86-trap-support.lisp: In darwin Fake Structures For
4748        Leopard nonsense: define the stack context struct separately, make
4749        the ucontext stack field an instance of it.  (Not -sure- if that
4750        was necessary, but :poweropen-target was accidentally on *FEATURES*
4751        and foreign struct layout was using read-time condtionalization to
4752        decide whether or not to use brain-dead structure-alignment rules
4753        leftover from AIX/PowerOpen.
4754
47552006-11-08 12:46  gb
4756
4757        * lisp-kernel/x86-spentry64.s: Fix comment ("/*", not "/%" ...).
4758
47592006-11-08 12:40  gb
4760
4761        * compiler/optimizers.lisp: Try to infer/insert the array type when
4762        compiler-macroexpanding MAKE-ARRAY calls.
4763
47642006-11-08 12:39  gb
4765
4766        * compiler/PPC/PPC32/ppc32-backend.lisp: DarwinPPC32 FTD follows
4767        :poweropen-alignment rules.
4768
47692006-11-08 12:38  gb
4770
4771        * lib/foreign-types.lisp: parse-foreign-record-fields: conformance
4772        to poweropen structure layout rules should be an attribute of the
4773        FTD, not done via read-time conditionalization.
4774
47752006-11-08 05:15  gb
4776
4777        * level-1/version.lisp: Bump.
4778
47792006-11-08 05:15  gb
4780
4781        * level-1/l1-streams.lisp: Some bivalent/binary fixes.
4782       
4783        TODO: get rid of "bivalent" streams, but allow switching some
4784        streams (sockets) between "character mode" and "binary mode".
4785
47862006-11-08 02:39  gb
4787
4788        * compiler/PPC/ppc2.lisp: Typo in misc-ref-u64 vinsn emit.
4789
47902006-11-07 21:10  gb
4791
4792        * compiler/optimizers.lisp: Transform three-argument AREF->%AREF3,
4793        ASET->%ASET3.
4794
47952006-11-07 20:40  gb
4796
4797        * compiler/X86/x862.lisp: Implement %aset2 in the x8664 backend.
4798
47992006-11-07 20:39  gb
4800
4801        * level-0/X86/x86-array.lisp: %aref3, %aset3.
4802
48032006-11-07 20:38  gb
4804
4805        * level-0/l0-array.lisp: Use %aref2,%aref3.
4806
48072006-11-07 20:37  gb
4808
4809        * compiler/X86/X8664/x8664-vinsns.lisp: More (often redundant)
4810        vector-store vinsns.
4811
48122006-11-07 20:37  gb
4813
4814        * compiler/X86/X8664/x8664-arch.lisp: .SParef3, .SPaset3.
4815
48162006-11-07 10:28  gb
4817
4818        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s: .SParef3,
4819        .SPaset3.
4820
48212006-11-07 10:27  gb
4822
4823        * level-0/PPC/ppc-array.lisp: %ref3, %aset3.
4824
48252006-11-07 10:26  gb
4826
4827        * lisp-kernel/ppc-spentry.s, lisp-kernel/ppc-spjump.s,
4828        compiler/PPC/ppc-arch.lisp: .SPref3, .SPaset3.
4829
48302006-11-07 10:26  gb
4831
4832        * lisp-kernel/ppc-macros.s: Define mullr, which expands into one of
4833        mullw/mulld.
4834
48352006-11-07 04:12  gb
4836
4837        * compiler/PPC/ppc2.lisp: :signed-64-bit-vector is signed ...
4838
48392006-11-06 22:07  gb
4840
4841        * compiler/nx0.lisp: nx-error-for-simple-2d-array-type: forgot the
4842        :fixnum-vector case.
4843
48442006-11-06 22:04  gb
4845
4846        * compiler/PPC/ppc2.lisp: Handle vector assignment differently;
4847        handle (setf (aref ...)) of simple 2d-arrays inline if the type is
4848        known/declared.
4849
48502006-11-06 22:02  gb
4851
4852        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
4853        Add vinsns for misc-set-s* and variants. (Identical to the unsigned
4854        versions, but it helps not to have to remember which are
4855        implemented and which aren't.)
4856
48572006-11-06 22:01  gb
4858
4859        * compiler/nxenv.lisp: general-aset2, simple-typed-aset2.
4860
48612006-11-06 22:00  gb
4862
4863        * compiler/nx1.lisp: New %ASET2 handling.
4864
48652006-11-06 21:59  gb
4866
4867        * compiler/nx0.lisp: ACODE-FORM-TYPE: use var-inittype if var is
4868        never assigned to.
4869
48702006-11-05 22:09  gb
4871
4872        * level-1/x86-trap-support.lisp: Try to work around
4873        incompatibilites in Tiger/Leopard headers.
4874
48752006-11-05 22:08  gb
4876
4877        * level-1/l1-sockets.lisp: LOOKUP-PORT: use the macro HTONS, since
4878        the foreign function may not exist.
4879
48802006-11-05 20:41  gb
4881
4882        * compiler/X86/x862.lisp: 2d array error lookup -> nx.
4883
48842006-11-05 07:55  gb
4885
4886        * level-0/X86/x86-misc.lisp: %VALID-REMAINING-TIMESPEC-TIME-P for
4887        x86-64, as well.
4888
48892006-11-05 07:52  gb
4890
4891        * level-0/X86/x86-array.lisp: %AREF2, %ASET2 in x8664 lap.
4892
48932006-11-05 07:50  gb
4894
4895        * lisp-kernel/x86-spentry64.s: pre-add displacement in .SParef2,
4896        .SPaset2.
4897
48982006-11-05 07:48  gb
4899
4900        * lisp-kernel/ppc-spentry.s: .SParef2, .SPaset2: since we aren't
4901        testing simple-array-ness, add the (possibly 0) displacement from
4902        the header before handling the simple aref of the data vector.
4903
49042006-11-05 07:47  gb
4905
4906        * lib/foreign-types.lisp: PRINT-OBJECT method for EEPS: handle
4907        pointers on PPC(64), print 64-bit addresses on 64-bit platforms.
4908
49092006-11-05 07:46  gb
4910
4911        * level-1/version.lisp: Bump; new binaries soon.
4912
49132006-11-05 07:46  gb
4914
4915        * level-1/l1-lisp-threads.lisp: %NANOSLEEP calls
4916        %VALID-REMAINING-TIMESPEC-TIME-P, which is better than sleeping for
4917        4G seconds after an EINTR on Leopard.
4918
49192006-11-05 07:44  gb
4920
4921        * level-0/PPC/PPC64/ppc64-bignum.lisp: MACPTR->FIXNUM returns NIL
4922        if any non-fixnum bits would be set in the result.  (Should
4923        probably make this true on all platforms; for PPC64, it's important
4924        for foreign function addresses that're ... suboptimally aligned.)
4925
49262006-11-05 07:42  gb
4927
4928        * level-0/PPC/ppc-misc.lisp: Try to detect the case where
4929        %NANOSLEEP's second (by reference) argument contains garbage after
4930        an EINTR.  (The L word, again.)
4931
49322006-11-05 07:41  gb
4933
4934        * level-0/PPC/ppc-array.lisp: %AREF2, %ASET2: in LAP, just call
4935        into the kernel.
4936
49372006-11-05 07:40  gb
4938
4939        * level-0/l0-cfm-support.lisp: Some platforms (the L-word) generate
4940        ppc64 functions whose addresses are not 0 mod 8, so (a) make
4941        MACPTR->FIXNUM return NIL if an address isn't representable as a
4942        fixnum and (b) make FOREIGN-SYMBOL-ENTRY return an address if it
4943        can't return a fixnum on PPC (really just affects PPC64.)
4944
49452006-11-05 07:37  gb
4946
4947        * level-0/l0-array.lisp: %aref2, %aset2: call into kernel.
4948
49492006-11-05 07:36  gb
4950
4951        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
4952        2d aref support/changes.
4953
49542006-11-05 07:36  gb
4955
4956        * compiler/PPC/ppc2.lisp: Get the PPC2 backend caught up with the
4957        x8664 wrt 2d aref.  Stll a ways to go.
4958
49592006-11-05 07:35  gb
4960
4961        * compiler/nx0.lisp: NX-ERROR-FOR-SIMPLE-2D-ARRAY-TYPE.
4962
49632006-11-04 00:05  gb
4964
4965        * level-1/version.lisp: Bump.
4966
49672006-11-03 23:10  gb
4968
4969        * level-1/ppc-error-signal.lisp: fix parens.
4970
49712006-11-03 23:09  gb
4972
4973        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: arch
4974        gvector types contains :struct, not :structure.
4975
49762006-11-03 23:08  gb
4977
4978        * compiler/PPC/ppc2.lisp: aref2: new operator name(s), always call
4979        subprim.
4980       
4981        ppc2-fixed-call-builtin: (tail-)call subprims even if they aren't
4982        in the builtin functions table.
4983
49842006-11-03 15:19  gb
4985
4986        * compiler/PPC/ppc-arch.lisp: New .SParef2, .SPaset2 subprims.
4987
49882006-11-03 15:18  gb
4989
4990        * compiler/PPC/ppc-asm.lisp: Comments/indentation.
4991
49922006-11-03 15:17  gb
4993
4994        * level-1/ppc-error-signal.lisp: Change decoding/handlng of
4995        type-error UUOs.
4996
49972006-11-03 15:16  gb
4998
4999        * lisp-kernel/: ppc-spentry.s, ppc-spjump.s: .SParef2, .SPaset2.
5000
50012006-11-03 15:16  gb
5002
5003        * lisp-kernel/: ppc-constants32.s, ppc-constants64.s: Define arrayH
5004        (array-header) layout.
5005
50062006-11-03 13:46  gb
5007
5008        * level-1/l1-clos-boot.lisp: CANONICALIZE-SPECIALIZERS optionally
5009        returns its argument if all members are SPECIALIZERS.
5010       
5011        Use CANONICALIZE-SPECIALIZERS to canonicalize FIND-METHOD
5012        arguments, for the benefit of people who haven't read the MOP spec
5013        or who don't realize that the MOP defines some things differently
5014        from CLHS.
5015
50162006-11-03 13:38  gb
5017
5018        * compiler/X86/x862.lisp: Consistently use :struct (not :structure)
5019        to refer to primitive structure type.
5020       
5021        Fix array-ctype-dimensions check in %aref1, add it to %aset1.
5022
50232006-11-03 13:37  gb
5024
5025        * compiler/X86/X8664/x8664-arch.lisp: Ensure that :STRUCT (not
5026        :STRUCTURE) is on target-gvector-types.
5027
50282006-11-03 12:53  gb
5029
5030        * lisp-kernel/x86-uuo.s: uuo_error_array_bounds, such as it is.
5031
50322006-11-03 12:52  gb
5033
5034        * lisp-kernel/: x86-spentry64.s, x86-spjump64.s: SParef2, .SPaset2.
5035         More to come ...
5036
50372006-11-03 12:52  gb
5038
5039        * lisp-kernel/x86-constants64.s: Define array-header layout.
5040
50412006-11-03 12:51  gb
5042
5043        * lisp-kernel/: errors.s, lisp-errors.h: New type-error uuo
5044        encodings, new type-error constants.
5045
50462006-11-03 12:50  gb
5047
5048        * level-1/x86-error-signal.lisp: New range/encoding of type-error
5049        traps.
5050
50512006-11-03 12:49  gb
5052
5053        * level-1/l1-utils.lisp: (temporary) mechanism to avoid
5054        constant-redefinition CERRORs.
5055
50562006-11-03 12:48  gb
5057
5058        * level-1/l1-error-system.lisp: New %type-error-typespecs%.
5059
50602006-11-03 12:47  gb
5061
5062        * level-0/l0-pred.lisp: array--header -> array-header.
5063
50642006-11-03 12:47  gb
5065
5066        * compiler/X86/X8664/x8664-vinsns.lisp: Fix misc-set-c-u64 braino;
5067        add/change some 2d array stuff.
5068
50692006-11-03 12:43  gb
5070
5071        * compiler/X86/X8664/x8664-arch.lisp: Define .SParef2/.SPaset2
5072        subprims; seem to be much (>5x) faster than the lisp/lap versions
5073        (though we can generally be faster still when we know the
5074        element-type and/or know whether the array is simple or explicitly
5075        displaced.)
5076
50772006-11-03 12:41  gb
5078
5079        * compiler/X86/x862.lisp: Change handling of 2d-aref; lots of
5080        related changes.
5081       
5082        Split the code which handles bounds/type-checking in vref out from
5083        the code which actually does the reference, so that the latter can
5084        be used in multidimensional cases.
5085       
5086        Need to do this on PPC as well; need to do more (%aset2, 3d cases,
5087        general case.)
5088
50892006-11-03 12:38  gb
5090
5091        * compiler/nx1.lisp: Change handling of 2d-aref.
5092
50932006-11-03 12:37  gb
5094
5095        * compiler/nxenv.lisp: aref2 -> simple-typed-aref2, add
5096        general-aref2.  More changes to come (and this may affect
5097        compilation on PPC until some PPC compiler changes are
5098        made/checked-in.)
5099
51002006-11-03 12:35  gb
5101
5102        * compiler/arch.lisp: type-errors (as encoded in UUOs) are now in
5103        the range 128-255, rather than 64-127; more are defined.
5104
51052006-11-02 09:43  gb
5106
5107        * level-1/l1-error-system.lisp: Move along, nothing to see here.
5108
51092006-11-02 09:37  gb
5110
5111        * compiler/arch.lisp: New error constants; work in progress ...
5112
51132006-11-01 11:40  gb
5114
5115        * lisp-kernel/errors.s: Some new constants; more to check in later.
5116
51172006-10-31 03:39  gb
5118
5119        * level-0/l0-io.lisp: You must be reading the OLD rule book
5120        (Leopard and #$EINTR).
5121
51222006-10-31 03:21  gb
5123
5124        * lisp-kernel/ppc-exceptions.c: handle_protection_violation: pass
5125        the tcr.  Initialize "addr" before testing it ...
5126
51272006-10-31 03:21  gb
5128
5129        * lisp-kernel/lisp-exceptions.h: handle_protection_violation: pass
5130        the tcr.
5131
51322006-10-30 20:40  gb
5133
5134        * lib/defstruct.lisp: DEFSTRUCT-REF-TRANSFORM for typed vector
5135        expands into something more useful.
5136
51372006-10-30 20:39  gb
5138
5139        * lisp-kernel/ppc-spentry.s: Fix ppc32
5140        misc_ref_double_float_vector.
5141
51422006-10-30 00:24  gb
5143
5144        * level-0/l0-bignum64.lisp: Enable the destructive version of
5145        %BIGNUM-BIGNUM-GCD; conditionalize it for 64-bit targets and
5146        provide/fix supporting functions.  Seems to work on ppc64; needs
5147        testing on x8664.
5148
51492006-10-27 17:49  gb
5150
5151        * darwin-x86-headers64/libc/C/: .cvsignore, populate.sh: New file.
5152
51532006-10-25 20:36  gb
5154
5155        * level-1/l1-streams.lisp: %BIVALENT-IOBLOCK-READ-U8-BYTE (and
5156        variants): always clear the untyi-char.
5157       
5158        %ENCODED-IOBLOCK-PEEK-CHAR: the read-char-when-locked function
5159        needs an argument.
5160       
5161        SETUP-IOBLOCK-OUTPUT: there are no special output functions for
5162        bivalent streams.
5163       
5164        %IOBLOCK-BINARY-READ-VECTOR: clear any untyi char.
5165
51662006-10-24 12:35  gb
5167
5168        * level-1/version.lisp: Bump.
5169
51702006-10-24 01:29  gb
5171
5172        * lisp-kernel/x86-spentry64.s: Fix :ALLOW-OTHER-KEYS check in
5173        _SPdestbind1 (still used in inlining, sometimes.)
5174
51752006-10-24 01:05  gb
5176
5177        * release-notes.txt: Change the date, add/change some content.
5178
51792006-10-24 01:05  gb
5180
5181        * lib/macros.lisp: Reference the (bound) STREAM-VAR argument - not
5182        STREAM - in the expansion of WITH-OUTPUT-TO-STRING.
5183
51842006-10-24 00:56  gb
5185
5186        * lib/ccl-export-syms.lisp: Reference the (bound) STREAM-VAR
5187        argument - not STREAM - in the expansion of WITH-OUTPUT-TO-STRING.
5188
51892006-10-24 00:55  gb
5190
5191        * level-1/l1-streams.lisp: When recycling
5192        string-output-stream-ioblocks, set the IOBLOCK-CHARPOS to 0.
5193        (Failure to do this can screw up the pretty-printer, among other
5194        things.)
5195
51962006-10-24 00:52  gb
5197
5198        * level-1/l1-sockets.lisp: DEFAULT-CHARACTER-ENCODING for :SOCKET,
5199        *DEFAULT-SOCKET-CHARACTER-ENCODING*.
5200
52012006-10-23 17:03  gb
5202
5203        * release-notes.txt: Updated; almost ready to go (still a
5204        WITH-OUTPUT-TO-STRING/PPRINT (?) bug).
5205
52062006-10-23 16:43  gb
5207
5208        * level-1/l1-sysio.lisp: NORMALIZE-EXTERNAL-FORMAT: use
5209        *DEFAULT-EXTERNAL-FORMAT* value for :DEFAULT.
5210
52112006-10-23 16:42  gb
5212
5213        * level-1/l1-streams.lisp: Use NORMALIZE-EXTERNAL-FORMAT in (SETF
5214        STREAM-EXTERNAL-FORMAT) methods.
5215
52162006-10-23 16:41  gb
5217
5218        * lib/ccl-export-syms.lisp: Export some unicode/external-format
5219        stuff.
5220
52212006-10-23 08:27  gb
5222
5223        * level-1/version.lisp: Bump; binaries today, honest.
5224
52252006-10-23 08:27  gb
5226
5227        * level-1/l1-streams.lisp: freelist string-output-stream-ioblocks.
5228
52292006-10-23 08:26  gb
5230
5231        * lib/macros.lisp: Some/most/all of the WITH-IOBLOCK-OUTPUT-LOCKED
5232        macros were checking for the presence of an input lock ...
5233
52342006-10-23 05:40  gb
5235
5236        * level-1/l1-streams.lisp: Optimize write-string on string streams
5237        a little.
5238
52392006-10-23 05:26  gb
5240
5241        * lib/macros.lisp: WITH-OUTPUT-TO-STRING: don't expand into code
5242        which evaluates the string form twice; don't do whatever was being
5243        done to default the element type of the string stream.
5244
52452006-10-23 05:24  gb
5246
5247        * compiler/optimizers.lisp: MAKE-STRING-OUTPUT-STREAM: skip some
5248        keyword/subtype checking if element-type not provided.  (Could also
5249        skip it if it's explicit and obviously OK.)
5250
52512006-10-23 05:22  gb
5252
5253        * level-0/X86/x86-misc.lisp: %HEAP-BYTES-ALLOCATED: don't add
5254        "current" allocation if nothing's reserved.
5255
52562006-10-23 05:19  gb
5257
5258        * lisp-kernel/x86-exceptions.c: In handle_alloc_trap(), fix call to
5259        update_bytes_allocated (sign of "disp").
5260
52612006-10-22 08:02  gb
5262
5263        * compiler/PPC/ppc2.lisp: MULTIPLE-VALUE-PROG1: treat the first
5264        form like a PROGN if there are no other forms.
5265
52662006-10-22 08:01  gb
5267
5268        * level-1/l1-streams.lisp: Don't disable interrupts when calling
5269        ioblock functions.
5270       
5271        New string-stream implementation.  Better ...
5272
52732006-10-22 07:59  gb
5274
5275        * lib/macros.lisp: If WITH-OUTPUT-TO-STRING gets the string, do so
5276        before the stream closes.
5277
52782006-10-22 07:59  gb
5279
5280        * lib/pprint.lisp: Don't assume that string output stream strings
5281        have a fill-pointer; use STREAM-POSITION instead.
5282
52832006-10-22 07:57  gb
5284
5285        * lib/streams.lisp: Don't disable interrupts when calling ioblock
5286        functions, after all.
5287       
5288        Go through (new) ioblock-unread-char-function.
5289
52902006-10-22 07:55  gb
5291
5292        * lisp-kernel/darwinppc/.gdbinit: Stop trying to print strings via
5293        x/s
5294
52952006-10-21 18:46  gb
5296
5297        * level-1/l1-streams.lisp: Typo.
5298
52992006-10-21 18:41  gb
5300
5301        * lisp-kernel/x86-exceptions.c: Initialize (zero, usually) more
5302        fields in pseudo sigcontexts.
5303
53042006-10-21 18:40  gb
5305
5306        * level-1/l1-streams.lisp: Mostly locking changes (don't lock
5307        twice, etc.)
5308
53092006-10-21 18:35  gb
5310
5311        * level-0/l0-array.lisp, level-0/l0-init.lisp,
5312        level-0/l0-pred.lisp, level-0/l0-utils.lisp,
5313        level-0/PPC/ppc-array.lisp, level-0/PPC/ppc-symbol.lisp,
5314        level-0/X86/x86-symbol.lisp, level-1/l1-aprims.lisp,
5315        lib/sequences.lisp: Remove vestival #+target-8-bit-chars stuff.
5316
53172006-10-21 16:45  gb
5318
5319        * level-1/l1-unicode.lisp: New! Improved! Now with more iso-8859
5320        encodings!
5321
53222006-10-19 13:48  gb
5323
5324        * level-0/PPC/ppc-misc.lisp: Reference the source argument - not
5325        arg_z - in %safe-get-ptr.
5326
53272006-10-19 13:22  gb
5328
5329        * level-0/l0-aprims.lisp: %CSTR-POINTER: make #\Nul termination
5330        optional, use #\Sub char-code as replaement char.
5331
53322006-10-19 13:21  gb
5333
5334        * examples/objc-runtime.lisp: Missing close paren.
5335
53362006-10-19 13:19  gb
5337
5338        * examples/: cocoa-editor.lisp, cocoa-listener.lisp: Careful BLTing
5339        strings to/from foreign memory.
5340
53412006-10-19 13:18  gb
5342
5343        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Typos in UNBOX-S8.
5344
53452006-10-18 08:04  gb
5346
5347        * level-1/version.lisp: Bump.  Binaries later today ?
5348
53492006-10-18 07:38  gb
5350
5351        * level-1/l1-clos-boot.lisp: The post-bootstrapping version of
5352        (SETF FIND-CLASS) only introduces (or removes) a type name if the
5353        class becomes (or ceases to be) a properly named class.
5354       
5355        The pre-bootstrapping version handles simpler cases of that; use
5356        ALIAS-CLASS to register some early class names as type names.
5357
53582006-10-18 07:36  gb
5359
5360        * level-1/l1-clos.lisp: (SETF CLASS-NAME) can affect the type
5361        system, since only symbols which name properly-named classes are
5362        type specifiers.  Changing the name of a class can either introduce
5363        or remove a properly-named class.
5364       
5365        Classes that have the kernel-p attribute shouldn't have their names
5366        changed casually.
5367
53682006-10-18 07:33  gb
5369
5370        * level-1/l1-sockets.lisp: Accept an :EXTERNAL-FORMAT argument to
5371        MAKE-SOCKET, pass it down to whatever function actually creates a
5372        stream socket.
5373
53742006-10-18 02:12  gb
5375
5376        * compiler/X86/x862.lisp: Allow closed-over addresses in
5377        conditional-form, NOT.
5378
53792006-10-18 01:43  gb
5380
5381        * lisp-kernel/x86-exceptions.c: handle_fault() checks for
5382        safe_ref_addres.
5383
53842006-10-18 01:43  gb
5385
5386        * level-0/X86/x86-misc.lisp: %safe-get-ptr for x8664.
5387
53882006-10-18 01:41  gb
5389
5390        * compiler/X86/X8664/x8664-vinsns.lisp: Compare stack
5391        addresses/vcells to nil.
5392
53932006-10-18 01:41  gb
5394
5395        * compiler/X86/x862.lisp: Stuff for comparing memory (stack)
5396        addresses to NIL.
5397       
5398        Mark arg_z and rcx/nargs as being in use when restoring interrupt
5399        level inline.
5400
54012006-10-18 01:39  gb
5402
5403        * compiler/X86/x86-disassemble.lisp: We've had UUO-ERROR-UNBOUND
5404        for a few months now.  The disassembler is always the last to know.
5405
54062006-10-17 19:15  gb
5407
5408        * compiler/PPC/PPC32/ppc32-arch.lisp,
5409        compiler/PPC/PPC64/ppc64-arch.lisp,
5410        compiler/X86/X8664/x8664-arch.lisp, examples/objc-runtime.lisp,
5411        level-0/l0-misc.lisp, level-0/PPC/ppc-misc.lisp,
5412        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
5413        lisp-kernel/ppc-constants64.h, lisp-kernel/ppc-constants64.s,
5414        lisp-kernel/ppc-exceptions.c, lisp-kernel/x86-constants64.h,
5415        lisp-kernel/x86-constants64.s: add safe-ref-address to tcr.
5416       
5417        Handle memory faults to safe-ref-addres on PPC (so far).
5418       
5419        Try using SAFE-GET-PTR in objc runtime (untested).
5420
54212006-10-17 17:34  gb
5422
5423        * compiler/PPC/ppc2.lisp: ppc backend %aref1/%aset1: notice array
5424        type in acode.
5425
54262006-10-17 14:02  gb
5427
5428        * level-1/l1-unicode.lisp: BOM-ENCODING.
5429
54302006-10-17 14:02  gb
5431
5432        * level-1/l1-sysio.lisp: FILE-STRING-LENGTH actually does
5433        something.
5434       
5435        Clear the pending-bom flag when seeking.
5436
54372006-10-17 14:01  gb
5438
5439        * level-1/l1-streams.lisp: (SETF STREAM-EXTERNAL-FORMAT) for
5440        ioblock-based character streams.
5441
54422006-10-17 13:45  gb
5443
5444        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: bind/unbind
5445        *interrupt-level* inline.
5446
54472006-10-17 13:44  gb
5448
5449        * compiler/X86/x86-disassemble.lisp: Act like ud2a takes a one-byte
5450        immmediate operand (xuuo).
5451
54522006-10-17 13:39  gb
5453
5454        * level-1/l1-streams.lisp, lib/streams.lisp: Disable interrupts
5455        when necessary.
5456
54572006-10-17 13:39  gb
5458
5459        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
5460        PPC64/ppc64-vinsns.lisp: bind/unbind *interrupt-level* inline.
5461
54622006-10-15 17:51  gb
5463
5464        * level-1/l1-streams.lisp: Handle 32-bit character encodings.
5465       
5466        Start to extend STREAM-EXTERNAL-FORMAT, start to make it SETFable.
5467
54682006-10-15 17:51  gb
5469
5470        * level-1/l1-unicode.lisp: utf-32/ucs-4 and variants.
5471
54722006-10-15 17:50  gb
5473
5474        * level-1/l1-sysio.lisp: EXTERNAL-FORMATs are immutable, interned.
5475
54762006-10-14 07:41  gb
5477
5478        * compiler/PPC/ppc2.lisp: Fix use of ^,<- vinsn macros inside
5479        ENSURING-NODE-TARGET.
5480       
5481        Inline the fixnum case of two-arg numeric comparisons.
5482
54832006-10-14 07:39  gb
5484
5485        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
5486        INLINE-SUB2 support.
5487
54882006-10-14 06:30  gb
5489
5490        * lib/defstruct.lisp: Don't (DECLARE (OPTIMIZE (SAFETY 3))) in
5491        generated DEFSTRUCT accessors.
5492
54932006-10-14 06:27  gb
5494
5495        * compiler/X86/x862.lisp: Fix many cases of ENSURING-NODE-TARGET.
5496       
5497        Do the fixnum case of two-argument subtraction inline.
5498       
5499        Inline the fixnum case of two-argument numeric comparisons.
5500       
5501        STRUCT-REF avoids typechecking when reckless.
5502
55032006-10-14 06:21  gb
5504
5505        * compiler/backend.lisp: It makes no sense to use the vinsn macros
5506        <- and ^ inside ENSURING-NODE-TARGET, so make it check for that.
5507
55082006-10-14 06:20  gb
5509
5510        * compiler/X86/X8664/x8664-vinsns.lisp: Do vector bounds-checking a
5511        little differently.
5512       
5513        Add xchg-registers.
5514
55152006-10-13 04:54  gb
5516
5517        * compiler/nx1.lisp: Use new NUMCMP operator.
5518
55192006-10-13 04:53  gb
5520
5521        * compiler/nx0.lisp: Change inline expansion: use optimize settings
5522        in effect at call time, not those in effect at definition time.
5523
55242006-10-13 04:50  gb
5525
5526        * level-0/l0-numbers.lisp: Change >=-2, <=-2, /=-2 to avoid
5527        inlining issues.
5528
55292006-10-13 04:30  gb
5530
5531        * compiler/nxenv.lisp: Replace unused num= with numcmp.
5532
55332006-10-12 19:46  gb
5534
5535        * lisp-kernel/pmcl-kernel.c: Terminate argument processing when
5536        "--" is seen.
5537
55382006-10-12 19:45  gb
5539
5540        * level-1/: l1-streams.lisp, l1-sysio.lisp, l1-unicode.lisp: Handle
5541        newline translation differenly (at the character I/O level, not the
5542        buffer level).
5543       
5544        All character encoding/decoding functions operate on octets, not
5545        necessarily code units.  (The stream encode/decode functions are an
5546        exception; serialization and byte ordering are handled by the
5547        stream.)
5548
55492006-10-09 16:34  gb
5550
5551        * level-1/l1-streams.lisp: Write  #\Sub's char-code if we can't
5552        encode a character in (implicit) iso-8859-1.
5553
55542006-10-09 16:33  gb
5555
5556        * level-0/l0-misc.lisp: %COPY-STRING-TO-U8: use #\Sub (ascii 26) as
5557        a replacement character.
5558
55592006-10-09 16:31  gb
5560
5561        * level-1/l1-unicode.lisp: :stream-encode/decode functions always
5562        write/read something, even if it's a replacement character of some
5563        sort.
5564
55652006-10-09 15:19  gb
5566
5567        * level-1/l1-streams.lisp: More stuff about line termination.  When
5568        will this end ?
5569
55702006-10-09 15:19  gb
5571
5572        * lib/chars.lisp: Use a hashtable to map characters to their names.
5573         (Maybe a sparse vector ?).
5574
55752006-10-09 15:18  gb
5576
5577        * level-1/l1-reader.lisp: Use a hashtable to map characters to
5578        their names.  (Maybe a sparse vector ?).
5579       
5580        Define #\Sub and #\Replacement_Character.
5581
55822006-10-08 21:17  gb
5583
5584        * level-1/l1-readloop-lds.lisp: SELECT-BACKTRACE: it's been all
5585        NEW-BACKTRACE for a while now.
5586
55872006-10-08 21:16  gb
5588
5589        * lisp-kernel/lisptypes.h: Need to #include <sys/signal.h> to keep
5590        Panther happy.
5591
55922006-10-08 20:30  gb
5593
5594        * lisp-kernel/x86_print.c: Print hex with leading #x, not #0x ...
5595
55962006-10-08 20:30  gb
5597
5598        * lib/dumplisp.lisp: Do some sanity checks on SAVE-APPLICATION
5599        pathname, before it's too late ...
5600
56012006-10-08 20:29  gb
5602
5603        * level-1/l1-unicode.lisp: ASCII, some other changes.
5604
56052006-10-08 20:29  gb
5606
5607        * level-1/l1-sysio.lisp: Rearrange a few things; pass
5608        :line-termination option to MAKE-FD-STREAM.
5609
56102006-10-08 20:28  gb
5611
5612        * level-1/l1-streams.lisp: Yet another line-termination translation
5613        scheme; hopefully, the last for a while. (More tedium before it's
5614        actually installed.)
5615
56162006-10-08 20:27  gb
5617
5618        * level-1/l1-reader.lisp: Add character names for #\Line_Separator,
5619        #\Paragraph_separator.
5620
56212006-10-07 20:35  gb
5622
5623        * level-1/l1-init.lisp: *TERMINAL-CHARACTER-ENCODING-NAME*.
5624
56252006-10-07 20:34  gb
5626
5627        * level-1/l1-error-signal.lisp: In %ERROR, go straight to the
5628        kernel debugger if interactive streams aren't initialized yet.
5629        (We'd probably get there sooner or later in that case; try to get
5630        there sooner.)
5631
56322006-10-07 20:33  gb
5633
5634        * level-1/l1-boot-2.lisp: Don't initialize interactive streams via
5635        DEF-LOAD-POINTERS.  Wrap that up in a function, and set a flag when
5636        the function's called (from APPLICATION's TOPLEVEL-FUNCTION
5637        method.)
5638
56392006-10-07 20:32  gb
5640
5641        * level-1/l1-application.lisp: Handle the (new)
5642        -K/--terminal-encoding command-line argument.
5643
56442006-10-07 11:14  gb
5645
5646        * level-1/l1-streams.lisp: INPUT-STREAM-P, OUTPUT-STREAM-P are true
5647        of instances if INPUT-STREAM/ OUTPUT-STREAM, respectively (not just
5648        instances of FUNDAMENTAL-INPUT/OUTPUT-STREAM).
5649
56502006-10-07 11:13  gb
5651
5652        * lisp-kernel/lisp-debug.c: Do abort() if kernel debugger is
5653        entered when --batch is in effect.
5654
56552006-10-07 11:12  gb
5656
5657        * level-1/l1-readloop.lisp: QUIT: flush *STDOUT* in
5658        PROCESS-EXIT-APPLICATION.
5659
56602006-10-07 11:11  gb
5661
5662        * level-1/l1-processes.lisp: PROCESS-EXIT-APPLICATION: flush
5663        *stdout* here.
5664
56652006-10-06 04:49  gb
5666
5667        * level-1/l1-streams.lisp: CODE-UNIT, not CODE-ELEMENT.  Add a
5668        TRANSLATE slot to IO-BUFFER.
5669
56702006-10-06 04:40  gb
5671
5672        * level-1/l1-sockets.lisp: basic (vs fundamental) socket streams.
5673
56742006-10-06 04:39  gb
5675
5676        * level-1/l1-sysio.lisp: Real, live EXTERNAL-FORMAT structures.
5677
56782006-10-06 04:38  gb
5679
5680        * level-1/version.lisp: Bump.
5681
56822006-10-06 04:38  gb
5683
5684        * level-0/l0-misc.lisp: %COPY-STRING-TO-U8: use #\? as a
5685        replacement character.
5686
56872006-10-05 14:46  gb
5688
5689        * lisp-kernel/lisptypes.h: More register name aliases.  FMH.
5690
56912006-10-05 14:46  gb
5692
5693        * lisp-kernel/x86-asmutils64.s: get_mxcsr, set_mxcsr.
5694
56952006-10-05 14:46  gb
5696
5697        * lisp-kernel/x86-exceptions.c: Save the mxcsr, load it with a
5698        C-like value (all exceptions masked) before doing a callback.  (Not
5699        doing this meant that tcr.foreign_mxcsr was often set to a "lispy"
5700        value, where most exceptions were unmasked, and this caused FP
5701        exceptions when calling out to foreign code with the "lispy"
5702        tcr.foreign_mxcsr in effect.)
5703       
5704        Mach exception stuff arranges to return via sigreturn.  Didn't fix
5705        the spurious SIGTRAPs, but might be the right idea (and might save
5706        a context switch or two.)
5707       
5708        Mach exception stuff initializes rflags to exception rflags when
5709        arranging to resume thread at handler.  Leaving them uninitialized
5710        was causing spurious SIGTRAPs, since the trace bit(s) may have been
5711        set.
5712
57132006-10-05 06:09  gb
5714
5715        * lib/macros.lisp: WITH-ENCODED-CSTR(s).  (Hey, it's a start.)
5716
57172006-10-05 06:09  gb
5718
5719        * lib/chars.lisp: CHAR-NAME: try to use at least 4 hex digits for
5720        #\U+xxxx syntax.
5721
57222006-10-05 06:08  gb
5723
5724        * level-1/l1-unicode.lisp: UCS-2, some other changes.
5725
57262006-10-05 06:07  gb
5727
5728        * level-1/l1-sysio.lisp: Try to get
5729        line-termination/external-format stuff working.
5730
57312006-10-05 05:35  gb
5732
5733        * level-1/l1-streams.lisp: Assume that character data is always
5734        encoded as one or more 8-bit octets.
5735
57362006-10-05 04:59  gb
5737
5738        * level-1/l1-boot-2.lisp: Set class-prototypes for basic-streams
5739        just before we make the first one.
5740
57412006-10-02 08:13  gb
5742
5743        * lisp-kernel/x86-exceptions.h: Darwin uses _sigtramp glue to call
5744        handlers, so we need to make handlers do a sigreturn after
5745        switching off the signal stack, etc.
5746
57472006-10-02 08:11  gb
5748
5749        * lisp-kernel/x86-exceptions.c: Don't use SIGRETURN to return from
5750        signal_handler() on Darwin (since we depend on pseudo_sigreturn
5751        handling for cleanup of tcr pending exception and since we can't
5752        easily restore the signal mask.)
5753       
5754        (Up until this point, SIGRETURN has been a nop on Darwin.)
5755
57562006-10-02 04:59  gb
5757
5758        * lisp-kernel/lisptypes.h: Compile on ppc,ppc64 osx 10.4 and
5759        earlier.
5760
57612006-10-02 04:47  gb
5762
5763        * lisp-kernel/: lisptypes.h, ppc-exceptions.c, ppc-exceptions.h:
5764        Compile on post OSX 10.4 systems, for ppc/ppc64.  (Broken on
5765        systems <= 10.4).
5766
57672006-10-02 02:46  gb
5768
5769        * lisp-kernel/: lisptypes.h, x86-exceptions.c, x86-exceptions.h:
5770        Try to make x86-64 version compile under 10.4 again; see if this
5771        breaks post-10.4 compilation.
5772
57732006-10-02 02:33  gb
5774
5775        * lisp-kernel/: lisptypes.h, pmcl-kernel.c, x86-exceptions.c,
5776        x86-exceptions.h: Change things so that they compile for x86-64 on
5777        systems later than 10.4.  Almost certainly break 10.4 compilation
5778        in the process.  (Thanks, Apple!  Any time I can cause you to waste
5779        hours on crap like this, just let me know!)
5780
57812006-09-27 20:33  gb
5782
5783        * lib/misc.lisp: DOCUMENTATION works on character-encodings.
5784
57852006-09-27 20:33  gb
5786
5787        * level-1/l1-unicode.lisp: Character-encodings have doc strings.
5788
57892006-09-27 05:46  gb
5790
5791        * level-1/l1-sysio.lisp: More FILE-STREAM changes.  Give
5792        BASIC-STREAM classes a class prototype.
5793
57942006-09-27 05:45  gb
5795
5796        * level-1/l1-streams.lisp: Some changes to FD-STREAM
5797        initialization, to make it easier to use MAKE-FD-STREAM to open
5798        (seekable) FILE-STREAMs.
5799
58002006-09-27 05:41  gb
5801
5802        * lisp-kernel/: x86-exceptions.c, x86-exceptions.h: Decode and
5803        handle UUO_ERROR_DEBUG_TRAP_WITH_STRING.
5804
58052006-09-27 05:39  gb
5806
5807        * lisp-kernel/x86-spentry64.s: Still get very occasional SIGFPE on
5808        return from (e.g.) #_asin on x86-64 Darwin.  (#_asin often does a
5809        division-by-zero, but that should be masked when in foreign code.)
5810        Don't reload the lisp mxcsr until other registers have been popped,
5811        to make debugging easier in case it's the act of reloading the
5812        mxcsr that causes the spurious trap.)
5813
58142006-09-27 05:36  gb
5815
5816        * level-0/X86/x86-misc.lisp: DEBUG-TRAP-WITH-STRING.
5817
58182006-09-27 05:35  gb
5819
5820        * level-0/nfasload.lisp: Not sure when it happened, but %FASLOAD
5821        was parenthesized in such a way as to not return the error value on
5822        error.
5823
58242006-09-27 05:34  gb
5825
5826        * level-0/l0-misc.lisp: On x8664, use a new UUO for BUG.  (Not
5827        passing context into the kernel makes it too difficult to debug/get
5828        backtrace, etc.)
5829
58302006-09-27 05:33  gb
5831
5832        * compiler/X86/: x86-asm.lisp, x86-disassemble.lisp:
5833        UUO-ERROR-DEBUG-TRAP-WITH-STRING.
5834
58352006-09-27 05:05  gb
5836
5837        * level-1/l1-clos-boot.lisp: CLASS-PROTOTYPE method for CLASS class
5838        (mostly for BUILT-IN-CLASSes).
5839
58402006-09-26 20:49  gb
5841
5842        * level-1/l1-sysio.lisp: SELECT-STREAM-CLASS: should probably take
5843        a BASIC-P argument.
5844
58452006-09-26 20:47  gb
5846
5847        * level-1/l1-streams.lisp: More changes.  Imagine that.
5848
58492006-09-26 20:46  gb
5850
5851        * compiler/: X86/X8664/x8664-vinsns.lisp, X86/x862.lisp,
5852        optimizers.lisp: (Redundant) FIXNUM decls in LDB compiler macro.
5853
58542006-09-26 20:43  gb
5855
5856        * level-1/l1-unicode.lisp: Memory/vector encode/decode functions
5857        take/return strings, not chars.
5858       
5859        Some bom stuff.
5860
58612006-09-24 20:14  gb
5862
5863        * lib/chars.lisp: Check for assumptions about character size.
5864        Remove some %i-isms (fixnum arithmetic), make assertions about type
5865        of char-code.
5866
58672006-09-24 20:12  gb
5868
5869        * level-1/l1-aprims.lisp: Remove unused (probably ancient)
5870        CHKBOUNDS function.  Simpler STRING-START-END.
5871
58722006-09-24 20:11  gb
5873
5874        * level-1/l1-streams.lisp: Some stuff to infer line-termination.
5875        Probably belongs elsewhere; some encodings may not make it at all
5876        possible.
5877
58782006-09-24 20:07  gb
5879
5880        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
5881        Load-character-constant: accept :u32const on PPC32, PPC64, too.
5882
58832006-09-24 20:00  gb
5884
5885        * level-1/l1-streams.lisp: A little more u16 stuff.  Remove
5886        line-termination slot from ioblock and corresponding arg from
5887        functions which initialize it.
5888
58892006-09-24 19:59  gb
5890
5891        * level-1/l1-sysio.lisp: Input-filter, output-filter in
5892        file-ioblock.
5893
58942006-09-24 19:58  gb
5895
5896        * level-1/l1-unicode.lisp: Buffer translation functions don't
5897        belong here; start thinking about BOM.
5898
58992006-09-24 19:57  gb
5900
5901        * compiler/X86/X8664/x8664-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
5902        it's been a :u32const for the last few weeks ...
5903
59042006-09-24 04:29  gb
5905
5906        * lib/chars.lisp: CHAR-NAME looks in the *CHARACTER-NAMES* array if
5907        the code is within its bounds.
5908
59092006-09-24 04:27  gb
5910
5911        * level-1/l1-reader.lisp: Lots more character names.  Maintain
5912        mappings in a vector and a hash table, rather than in an alist.
5913
59142006-09-24 04:26  gb
5915
5916        * level-0/nfasload.lisp, xdump/xfasload.lisp, lib/nfcomp.lisp: Doh!
5917        character constant fasl encoding ($fasl-char).
5918
59192006-09-23 05:31  gb
5920
5921        * level-1/l1-unicode.lisp: Some other iso8859-n encodings.  (Not
5922        sure which are the most important.)
5923
59242006-09-23 05:29  gb
5925
5926        * level-1/l1-sysio.lisp: Start to separate
5927        line-termination/external-format stuff.
5928
59292006-09-23 05:28  gb
5930
5931        * level-1/l1-streams.lisp: Lots-o-changes.
5932
59332006-09-23 05:28  gb
5934
5935        * level-1/l1-boot-2.lisp: Make initial interactive streams use
5936        UTF-8 (mostly for debugging utf-8 ...)
5937
59382006-09-21 04:07  gb
5939
5940        * lisp-kernel/x86-spentry64.s: don't clobber callback index when
5941        doing the DARWIN_GS_HACK stuff in _SPcallback (syscall sometimes
5942        clobbered r11, sometimes didn't.)
5943
59442006-09-21 04:05  gb
5945
5946        * lisp-kernel/pmcl-kernel.c: Require mach/port.h.
5947
59482006-09-21 04:05  gb
5949
5950        * lisp-kernel/x86-exceptions.c: Save and restore errno in
5951        callback_for_interrupt.
5952
59532006-09-21 04:04  gb
5954
5955        * lisp-kernel/lisptypes.h: Guess again about preprocessor stuff for
5956        x86-64 ucontext/mcontext on Darwin.
5957
59582006-09-21 04:02  gb
5959
5960        * level-1/l1-lisp-threads.lisp: Use underscore prefix on all Darwin
5961        flavors.
5962       
5963        Add a type decl in %nanosleep.
5964
59652006-09-21 04:01  gb
5966
5967        * compiler/X86/X8664/x8664-vinsns.lisp: sign-extend/zero-extend
5968        vinsns.
5969
59702006-09-21 04:01  gb
5971
5972        * compiler/X86/x862.lisp: sign/zero-extend ffcall, syscall return
5973        values.  (Probably only matters in a few cases, like the Darwin
5974        x86-64 version of #_nanosleep, which returns a non-sign-extended
5975        "int" value if the sleep is interruted.)
5976
59772006-09-20 06:34  gb
5978
5979        * level-1/version.lisp: Bump.
5980
59812006-09-20 04:24  gb
5982
5983        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
5984        slight improvements in signed-byte boxing, typechecking.
5985
59862006-09-20 04:22  gb
5987
5988        * lib/streams.lisp: WRITE-BYTE for BASIC-STREAMs.
5989
59902006-09-20 04:21  gb
5991
5992        * lib/macros.lisp: %SWAP-U16, %SWAP-U32.
5993
59942006-09-20 04:21  gb
5995
5996        * lib/level-2.lisp: %EVAL-REDEFs for new require-xx functions.
5997
59982006-09-20 04:20  gb
5999
6000        * level-1/l1-unicode.lisp: UTF-16, in native and byte-swapped
6001        versions.  Need a "logical" UTF-16, which deals with byte-order
6002        marks and a means of installing a concrete encoding.  Needs
6003        testing.
6004
60052006-09-20 04:15  gb
6006
6007        * level-1/l1-streams.lisp: Numerous changes.
6008
60092006-09-20 04:15  gb
6010
6011        * level-1/l1-sockets.lisp: %bswap16: fix type declaration.
6012
60132006-09-20 04:14  gb
6014
6015        * compiler/X86/X8664/x8664-vinsns.lisp: vinsns for signed/unsigned
6016        byte 8,16,32,64.  Tighten up some signed-byte boxing.
6017
60182006-09-20 04:12  gb
6019
6020        * compiler/X86/x862.lisp: New require ops for signed/unsigned byte
6021        8,16,32,64
6022
60232006-09-19 01:38  gb
6024
6025        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6026        vinsns for REQUIRE-[US][8,16,32,64]
6027
60282006-09-19 01:37  gb
6029
6030        * compiler/PPC/PPC32/ppc32-arch.lisp: Need
6031        THREE-DIGIT-BIGNUM-HEADER to recognize some cases of (UNSIGNED-BYTE
6032        64).
6033
60342006-09-19 01:36  gb
6035
6036        * compiler/PPC/ppc-backend.lisp: clean up an error message.
6037
60382006-09-19 01:36  gb
6039
6040        * compiler/PPC/ppc2.lisp: handle require-[us][8,16,32,64]
6041        operators.
6042
60432006-09-19 01:34  gb
6044
6045        * compiler/optimizers.lisp: REQUIRE-TYPE: transform into
6046        require-[us][8,16,32,64] when possible.
6047
60482006-09-19 01:34  gb
6049
6050        * compiler/nx1.lisp: inline require-[us][8,16,32,64].
6051
60522006-09-19 01:33  gb
6053
6054        * compiler/nxenv.lisp: New operators for require-[us][8,16,32,64].
6055
60562006-09-19 01:15  gb
6057
6058        * compiler/X86/X8664/x8664-vinsns.lisp: x8664 vinsns for
6059        typechecking signed/unsigned bytes of sizes 8,16,32,64.
6060
60612006-09-19 00:36  gb
6062
6063        * level-1/l1-streams.lisp: More changes; hard to bootstrap.
6064
60652006-09-18 21:42  gb
6066
6067        * lib/macros.lisp: Macros for locking the input/output locks of an
6068        ioblock, assuming that it exists.
6069
60702006-09-17 00:45  gb
6071
6072        * level-1/l1-streams.lisp: more changes
6073
60742006-09-13 06:52  gb
6075
6076        * level-1/l1-io.lisp: Direct BASIC-STREAM stuff for WRITE-CHAR,
6077        WRITE-STRING, TERPRI.
6078
60792006-09-13 06:08  gb
6080
6081        * lib/streams.lisp: READ-LINE changes for BASIC-STREAMs.
6082
60832006-09-13 06:07  gb
6084
6085        * level-1/l1-unicode.lisp: GET-CHARACTER-ENCODING errors if the
6086        named encoding isn't defined.
6087       
6088        Terse PRINT-OBJECT method for CHARACTER-ENCODING.
6089
60902006-09-13 06:06  gb
6091
6092        * level-1/l1-streams.lisp: More functions in the ioblock, some
6093        support for 8-bit encodings (like utf-8).  Not finished, but
6094        getting hard to bootstrap; need to check in and build on all
6095        platforms before it gets even harder.
6096
60972006-09-12 05:34  gb
6098
6099        * level-0/l0-misc.lisp: Use %CSTR-POINTER (not
6100        %copy-ivector-to-pointer) in BUG.
6101
61022006-09-12 05:31  gb
6103
6104        * lisp-kernel/x86-exceptions.c: Enter the debugger if
6105        altstack_signal_handler is entered in foreign code.  (Maybe want to
6106        signal a lisp error in some cases, but this is currently fatal and
6107        we might as well die earlier than with a stack overflow.)
6108
61092006-09-12 05:29  gb
6110
6111        * lisp-kernel/thread_manager.c: os_get_stack_bounds(): get stack
6112        direction right on FreeBSD.  (Much better than randomly scribbling
6113        on memory in the GC, as the FreeBSD port has been doing for months
6114        now ...)
6115
61162006-09-11 21:31  gb
6117
6118        * compiler/X86/x862.lisp: x862-explicit-non-fixnum-type-p looks for
6119        intersection.
6120
61212006-09-11 21:21  gb
6122
6123        * compiler/X86/x862.lisp: Partly inline 2-arg logior, logand.
6124
61252006-09-11 20:10  gb
6126
6127        * level-1/l1-unicode.lisp: Character encodings contain a
6128        LITERAL-CHAR-CODE-LIMIT field.
6129
61302006-09-11 20:09  gb
6131
6132        * level-1/l1-streams.lisp: extend IOBLOCK a bit.  Start to provide
6133        functionality for encoded streams.
6134
61352006-09-11 20:08  gb
6136
6137        * compiler/PPC/ppc2.lisp: Partialy inline 2-arg logior/logand.
6138
61392006-09-09 04:39  gb
6140
6141        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6142        REQUIRE-CHAR-CODE: compare against boxed char-code-limit.
6143
61442006-09-09 04:21  gb
6145
6146        * level-1/l1-reader.lisp: NAME-CHAR: insist on something more
6147        reasonable for ^c syntax; don't do MOD for octal.
6148
61492006-09-09 04:21  gb
6150
6151        * compiler/X86/X8664/x8664-vinsns.lisp: require-char-code checks
6152        agains boxed Unicode limit
6153
61542006-09-09 03:56  gb
6155
6156        * lisp-kernel/x86-gc.c: purify_range(), impurify_range(): handle
6157        x8664 functions, hash tables.  (PPC versions should handle hash
6158        table key movement.)
6159
61602006-09-08 22:47  gb
6161
6162        * lib/chars.lisp: CHAR-NAME: use U+xxxx for chars with codes >=
6163        #x100.
6164
61652006-09-08 22:38  gb
6166
6167        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6168        FIXNUM->CHAR: return NIL for surrogate pairs.
6169
61702006-09-08 22:33  gb
6171
6172        * compiler/PPC/ppc2.lisp: Don't be overly unsafe in %CHAR-CODE.
6173
61742006-09-08 22:31  gb
6175
6176        * lib/ppc-backtrace.lisp: Fix CFP-LFUN (fake stack frame case,
6177        sanity-check fn/lr).
6178
61792006-09-08 18:55  gb
6180
6181        * compiler/X86/x862.lisp: Don't be so reckless in %CODE-CHAR (don't
6182        necessarily want arbitrary expressions to be compiled unsafely; do
6183        want to avoid a little type-checking sometimes.)
6184
61852006-09-08 18:52  gb
6186
6187        * compiler/X86/X8664/x8664-vinsns.lisp: FIXNUM->CHAR returns NIL
6188        for values in the surrogate-pairs range.  (There are other things
6189        that it could plausibly return NIL for.)
6190
61912006-09-08 18:51  gb
6192
6193        * lisp-kernel/x86-gc.c: Start to get purify working on x86-64; for
6194        now, just purify strings.
6195
61962006-09-08 18:48  gb
6197
6198        * lib/macros.lisp: %CODE-CHAR asserts that code is (UNSIGNED-BYTE
6199        8), which is still useful (and exactly what it used to do.)
6200
62012006-09-08 18:47  gb
6202
6203        * lib/: compile-ccl.lisp, systems.lisp: Add l1-unicode.
6204
62052006-09-08 18:44  gb
6206
6207        * level-1/level-1.lisp: Load l1-unicode.
6208
62092006-09-08 18:44  gb
6210
6211        * level-1/l1-unicode.lisp: New file.
6212
62132006-09-07 03:50  gb
6214
6215        * lisp-kernel/area.h: Larger PURESPACE_RESERVE for x8664.
6216
62172006-09-07 03:44  gb
6218
6219        * xdump/: heap-image.lisp, xfasload.lisp, xppcfasload.lisp,
6220        xx8664-fasload.lisp: Bump abi version.  Make purespace-reserve an
6221        attribute of the backend (may need more pure space on x86-64.)
6222
62232006-09-07 03:43  gb
6224
6225        * lisp-kernel/image.h: Bump abi version.
6226
62272006-09-07 03:43  gb
6228
6229        * level-1/version.lisp: Bump.
6230
62312006-09-07 02:58  gb
6232
6233        * lisp-kernel/x86-exceptions.c: FreeBSD (at least with libthr)
6234        seems to mask synchronous signals.  Unmask them in signal handlers.
6235
62362006-09-07 02:57  gb
6237
6238        * lisp-kernel/thread_manager.c: suspend_resume_handler() : ignore
6239        signal mask.
6240
62412006-09-07 02:56  gb
6242
6243        * lisp-kernel/: lisptypes.h, ppc-constants32.h, ppc-constants32.s,
6244        ppc-constants64.h, ppc-constants64.s, ppc-gc.c, x86-constants64.h,
6245        x86-constants64.s: Lose the CHAR_SIZE_32 bootstrapping conditional
6246        (char are 32 bits wide on all platforms now.)
6247
62482006-09-07 00:40  gb
6249
6250        * lisp-kernel/x86-exceptions.c: SIGBUS might be
6251        SIGNUM_FOR_PROCESS_INTERRUPT.
6252
62532006-09-07 00:12  gb
6254
6255        * lisp-kernel/x86-spentry64.s: _SPbuiltin_aref1: use
6256        box_fixnum_no_flags.
6257
62582006-09-07 00:12  gb
6259
6260        * lisp-kernel/x86-macros.s: Define box_fixnum_no_flags (uses lea
6261        vice imul).
6262
62632006-09-06 21:18  gb
6264
6265        * compiler/X86/X8664/x8664-arch.lisp: Need
6266        MIN/MAX-8-BIT-IVECTOR-SUBTAG.
6267
62682006-09-06 18:37  gb
6269
6270        * lisp-kernel/x86-spentry64.s: misc_ref/misc_set: handle 32-bit
6271        strings.
6272
62732006-09-06 18:36  gb
6274
6275        * lisp-kernel/x86-macros.s: Zero-extend early when extracting
6276        typecodes.
6277
62782006-09-06 18:36  gb
6279
6280        * level-1/l1-streams.lisp: GET-OUTPUT-STREAM-STRING: use
6281        ENSURE-SIMPLE-STRING rather than horrible COERCE nonsense.
6282
62832006-09-06 18:35  gb
6284
6285        * level-1/l1-aprims.lisp: x8664 *immheader-1-array-element-types*
6286        contains entry for 32-bit BASE-CHAR.
6287
62882006-09-06 18:35  gb
6289
6290        * compiler/X86/X8664/x8664-vinsns.lisp: zero-extend early when
6291        extracting typecodes.
6292
62932006-09-06 18:34  gb
6294
6295        * compiler/X86/X8664/: x8664-arch.lisp, x8664-backend.lisp:
6296        32-bit-chars.
6297
62982006-09-06 18:33  gb
6299
6300        * compiler/X86/: x86-backend.lisp, x862.lisp: Defer handling of the
6301        :rcontext pseudo-register name until the target backend is in
6302        place.
6303
63042006-09-06 16:39  gb
6305
6306        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: 32-bit chars
6307        stuff for x8664.
6308
63092006-09-06 16:39  gb
6310
6311        * level-1/l1-reader.lisp: kids: bourbon and editing COPY-READTABLE
6312        don't mix!
6313
63142006-09-06 16:38  gb
6315
6316        * lib/compile-ccl.lisp: :verbose argument to rebuild-ccl.
6317
63182006-09-06 16:38  gb
6319
6320        * level-1/linux-files.lisp: process input/output: don't assume
6321        8-bit strings.
6322
63232006-09-06 14:42  gb
6324
6325        * compiler/PPC/PPC64/ppc64-backend.lisp: PPC64 callbacks are always
6326        #+poweropen-target; don't conditionalize the fp-arg-ptr argument
6327        (since that creates confustion when cross-compiling from a
6328        non-poweropen host.)
6329
63302006-09-06 00:08  gb
6331
6332        * compiler/PPC/PPC64/: ppc64-arch.lisp, ppc64-backend.lisp: remove
6333        8-bit char stuff.
6334
63352006-09-06 00:08  gb
6336
6337        * compiler/X86/X8664/x8664-arch.lisp: Forgot to set char-code-limit
6338        here.
6339
63402006-09-05 22:49  gb
6341
6342        * lib/macros.lisp: In DO-GC-AREAS, don't use comma before call to
6343        AREA-SUCC.  (Cross-compilation/ word-size issue.)
6344
63452006-09-05 22:42  gb
6346
6347        * level-0/l0-utils.lisp: If ENSURE-SIMPLE-STRING has to make a copy
6348        of a non-simple string, understand char width issues.
6349
63502006-09-05 22:41  gb
6351
6352        * level-0/nfasload.lisp: Some fixnum decls in %FIND-PKG.
6353
63542006-09-05 22:40  gb
6355
6356        * level-1/l1-aprims.lisp: ppc64 ARRAY-ELEMENT-SUBTYPES includes new
6357        string type.
6358
63592006-09-05 22:39  gb
6360
6361        * level-0/PPC/ppc-array.lisp: cr3, nor c33, in ppc64 %init-misc.
6362
63632006-09-05 22:38  gb
6364
6365        * compiler/nx0.lisp: NX-FORM-TYPEP uses NX-TARGET-TYPE.
6366
63672006-09-05 09:13  gb
6368
6369        * compiler/PPC/PPC32/ppc32-backend.lisp: darwinppc32 backend uses
6370        32-bit chars, too.
6371
63722006-09-05 09:01  gb
6373
6374        * compiler/PPC/PPC32/: ppc32-arch.lisp, ppc32-backend.lisp: ppc32
6375        defaults to 32-bit chars.
6376
63772006-09-05 05:18  gb
6378
6379        * xdump/xfasload.lisp: Deal with 32-bit lisp strings.
6380
63812006-09-05 05:18  gb
6382
6383        * lisp-kernel/linuxppc/.gdbinit: Start to depend on calling
6384        print_lisp_object, since x/s doesn't deal with 32-bit lisp strings.
6385
63862006-09-05 05:17  gb
6387
6388        * lisp-kernel/ppc-gc.c: conditionalize purify_displaced_object()
6389        for char size.
6390
63912006-09-05 05:16  gb
6392
6393        * lisp-kernel/plsym.c: find_symbol(): don't assume 8-bir lisp
6394        strings.
6395
63962006-09-05 05:15  gb
6397
6398        * lisp-kernel/lisptypes.h: Try using "u8_t" and "u32_t" for
6399        lisp_char_code; this may be more portable.
6400
64012006-09-05 05:14  gb
6402
6403        * lib/sequences.lisp: SIMPLE-1D-ARRAY-SUBSEQ: handle new strings.
6404
64052006-09-05 05:13  gb
6406
6407        * level-1/linux-files.lisp: CALL-WITH-STRING-VECTOR: don't assume
6408        8-bit char/strings.
6409
64102006-09-05 05:13  gb
6411
6412        * level-1/l1-streams.lisp: Use heap-ivectors of element-type
6413        (UNSIGNED-BYTE 8) for character streams.  (Should really depend on
6414        the coding system in use.)
6415
64162006-09-05 05:09  gb
6417
6418        * level-1/l1-aprims.lisp: Various archaic string functions: don't
6419        assume 8-bit strings.
6420
64212006-09-05 05:08  gb
6422
6423        * level-0/l0-array.lisp: Handle 32-bit strings in %UVECTOR-REPLACE.
6424
64252006-09-05 05:07  gb
6426
6427        * compiler/PPC/PPC64/ppc64-arch.lisp: No "x" in simple-base-string,
6428        when #-target-8-bit-chars.
6429
64302006-09-05 05:06  gb
6431
6432        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6433        REQUIRE-CHAR-CODE: comparison of OBJECT with TAG is not a CMPI.
6434
64352006-09-05 05:05  gb
6436
6437        * compiler/PPC/ppc2.lisp: PPC2-VREF: handle the 32-bit
6438        :SIMPLE-STRING case with constant index.
6439
64402006-09-04 17:44  gb
6441
6442        * lisp-kernel/lisptypes.h: Linux doesn't define uint8_t.  Try
6443        "unsigned char", and cross fingers.
6444
64452006-09-04 17:38  gb
6446
6447        * lisp-kernel/: lisptypes.h, ppc_print.c, x86_print.c: Define
6448        lisp_char_code type, use it when printing lisp string in the kernel
6449        debugger.
6450
64512006-09-04 17:28  gb
6452
6453        * level-1/version.lisp: Bump.
6454
64552006-09-04 17:18  gb
6456
6457        * level-0/PPC/ppc-array.lisp: Sigh.  Test for 8-bit-char case was
6458        conditionalized backwards in PPC64 %INIT-MISC.
6459
64602006-09-04 17:05  gb
6461
6462        * level-1/l1-init.lisp: Initial value of CHAR-CODE-LIMIT derived
6463        from the target arch (for bootstrapping.)
6464
64652006-09-04 17:04  gb
6466
6467        * level-1/l1-reader.lisp: Use (UNSIGNED-BYTE 8) for array element
6468        type of rdtab.ttab.
6469       
6470        Don't treat (code-char #xca) as whitespace; do treat (code-char
6471        #xa0) as whitespace.  (The former happens to be how the latter was
6472        encoded in MacRoman.)
6473       
6474        Handle U+<hex> syntax in NAME-CHAR.
6475
64762006-09-04 16:16  gb
6477
6478        * compiler/PPC/PPC64/ppc64-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
6479        and the char code with #xff to get the low byte.
6480
64812006-09-04 16:15  gb
6482
6483        * compiler/PPC/PPC32/ppc32-vinsns.lisp: LOAD-CHARACTER-CONSTANT:
6484        and the char code with #xff or 255., not with #x255.  (Cause lots
6485        of wackiness, mostly in readtable initialization.)
6486
64872006-09-04 16:12  gb
6488
6489        * compiler/PPC/ppc2.lisp: Use u32->char (which is defined) vice
6490        u8->char (which is no more) in %CHAR-CODE.
6491
64922006-09-04 06:04  gb
6493
6494        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
6495        Gak.  Get guard/predicate syntax right in LOAD-CHARACTER-CONSTANT.
6496
64972006-09-04 06:03  gb
6498
6499        * level-0/PPC/ppc-array.lisp: New constants in ppc32 typecode range
6500        assertion.
6501
65022006-09-04 03:44  gb
6503
6504        * level-0/PPC/ppc-array.lisp: ppc32/ppc64 %init-misc tweaks.
6505
65062006-09-04 03:43  gb
6507
6508        * compiler/PPC/ppc-lapmacros.lisp: Typo in the (unused) 64-bit/no
6509        crf case of UNBOX-BASE-CHAR.
6510
65112006-09-04 02:30  gb
6512
6513        * level-1/l1-error-system.lisp: Object-not- (mod #x110000) type
6514        error.
6515
65162006-09-04 02:29  gb
6517
6518        * level-0/PPC/ppc-symbol.lisp: conditionalize %pname-hash for char
6519        size.
6520
65212006-09-04 02:26  gb
6522
6523        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s,
6524        ppc-constants64.h, ppc-constants64.s: Conditionalize for
6525        CHAR_SIZE_32.
6526
65272006-09-04 02:24  gb
6528
6529        * compiler/PPC/PPC32/ppc32-arch.lisp,
6530        compiler/PPC/PPC32/ppc32-vinsns.lisp,
6531        compiler/PPC/PPC64/ppc64-arch.lisp,
6532        compiler/PPC/PPC64/ppc64-vinsns.lisp, level-0/l0-array.lisp,
6533        level-0/l0-pred.lisp: Conditionalize for #-target-8-bit-chars.
6534
65352006-09-04 02:23  gb
6536
6537        * compiler/PPC/ppc2.lisp: Deal - sometimes conditionally - with
6538        32-bit characters.
6539
65402006-09-04 02:22  gb
6541
6542        * compiler/arch.lisp: ERROR-OBJECT-NOT-MOD-CHAR-CODE-LIMIT.
6543
65442006-09-03 16:03  gb
6545
6546        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
6547        conditionalize new string types.
6548
65492006-09-03 16:03  gb
6550
6551        * level-0/X86/x86-symbol.lisp: %pname-hash: conditionalize for
6552        string element size.
6553
65542006-09-03 16:02  gb
6555
6556        * compiler/X86/X8664/x8664-arch.lisp, level-0/l0-array.lisp,
6557        level-0/l0-pred.lisp: Sketch out new string types (read-time
6558        conditionalized.)
6559
65602006-09-03 15:02  gb
6561
6562        * level-0/l0-init.lisp: Put :target-8-bit-chars on *features*, for
6563        bootstrapping.
6564
65652006-09-03 14:20  gb
6566
6567        * level-1/l1-streams.lisp: More missing BASIC-STREAM methods.
6568
65692006-09-03 13:22  gb
6570
6571        * compiler/: X86/X8664/x8664-backend.lisp,
6572        PPC/PPC32/ppc32-backend.lisp, PPC/PPC64/ppc64-backend.lisp:
6573        :target-8-bit-chars on target features.
6574
65752006-09-03 13:21  gb
6576
6577        * level-0/l0-int.lisp: Some comments/indentation.
6578
65792006-09-03 13:01  gb
6580
6581        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp: Make
6582        CHAR-CODE-LIMIT an attribute of the target arch, for bootstrapping.
6583
65842006-09-02 11:24  gb
6585
6586        * level-1/x86-error-signal.lisp, lib/db-io.lisp: Fix typo.
6587
65882006-09-02 11:15  gb
6589
6590        * lisp-kernel/x86_print.c: hex/decimal integer printers: 3 is also
6591        a hex digit.
6592
65932006-09-02 11:11  gb
6594
6595        * lisp-kernel/x86-exceptions.c: Install a "bogus signal handler" on
6596        Darwin, to deal with apparent race conditions/Mach kernel lossage.
6597       
6598        Don't do the whole msg_server here; just do the exc_server thing.
6599       
6600        Fix a couple of Mach exception-handling bugs; at least one more may
6601        remain.
6602
66032006-09-02 11:07  gb
6604
6605        * lisp-kernel/x86-asmutils64.s: Use a hlt instruction to trap in
6606        pseudo_sigreturn.
6607       
6608        Still get spurious SIGTRAPs.
6609
66102006-09-02 11:06  gb
6611
6612        * lisp-kernel/thread_manager.c: Define some things in terms of
6613        USE_MACH_SEMAPHORES or USE_POSIX_SEMAPHORES.
6614       
6615        sem_wait_forever() does repeated timed waits, since I thought that
6616        Darwin was having trouble interrpting things that waited
6617        indefinitely.  (That might just be a GDB bug.  Who can tell ?)
6618
66192006-09-02 11:03  gb
6620
6621        * lisp-kernel/Threads.h: Define some things in terms of
6622        USE_MACH_SEMAPHORES or USE_POSIX_SEMAPHORES.  Note that as of Q3
6623        2006, Darwin still doesn't implement enough POSIX semaphore
6624        functionality to make it possible to avoid the use of Mach
6625        semaphores.
6626
66272006-09-02 11:01  gb
6628
6629        * lib/db-io.lisp:
6630        Try to avoid things like %COPY-IVECTOR-TO-IVECTOR when strings are
6631        involved.
6632
66332006-09-02 11:01  gb
6634
6635        * level-1/x86-threads-utils.lisp: Things that're %HEAP-IVECTOR-P
6636        aren't bogus objects.
6637
66382006-09-02 11:00  gb
6639
6640        * level-1/l1-streams.lisp: Try to avoid things like
6641        %COPY-IVECTOR-TO-IVECTOR when strings are involved.
6642
66432006-09-02 10:59  gb
6644
6645        * level-1/l1-events.lisp: AUTO-FLUSH-INTERACTIVE-STREAMS: use
6646        FORCE-OUTPUT.
6647
66482006-09-02 10:57  gb
6649
6650        * level-0/l0-misc.lisp: %COPY-U8-TO-STRING, %COPY-STRING-TO-U8:
6651        new, to avoid %COPY-IVECTOR-TO-IVECTOR when strings are involved.
6652       
6653        %STR-FROM-PTR: take dest string as optional arg, don't assume 8-bit
6654        chars.
6655       
6656        %GET-CSTRING: change type decl, use %GET-UNSIGNED-BYTE.
6657
66582006-09-02 10:55  gb
6659
6660        * level-0/l0-aprims.lisp: %CSTR-POINTER and %CSTR-SEGMENT-POINTER:
6661        don't assume 8-bit chars.
6662
66632006-08-28 17:35  gb
6664
6665        * lisp-kernel/ppc-spentry.s: Fix tag check in 32-bit
6666        misc_set_single_float_vector.
6667
66682006-08-28 17:01  gb
6669
6670        * xdump/faslenv.lisp: Bump max fasl version.
6671
66722006-08-28 16:48  gb
6673
6674        * lib/nfcomp.lisp: Use new string ops.  Bump current fasl version.
6675
66762006-08-28 16:33  gb
6677
6678        * xdump/faslenv.lisp: Bump (max) fasl version.
6679
66802006-08-28 16:30  gb
6681
6682        * xdump/xfasload.lisp: xloader was missing a few new ops.
6683
66842006-08-28 05:34  gb
6685
6686        * xdump/xfasload.lisp: New string stuff here, too.
6687
66882006-08-28 05:28  gb
6689
6690        * level-0/nfasload.lisp: New string stuff.
6691
66922006-08-28 04:57  gb
6693
6694        * level-1/l1-streams.lisp: More missing BASIC-STREAM methods
6695        (STREAM-LINE-COLUMN, STREAM-LISTEN, STREAM-EOFP.)
6696
66972006-08-28 04:57  gb
6698
6699        * level-1/l1-reader.lisp: Use READ-CHAR instead of
6700        STREAM-READ-CHAR, since it may be faster in some cases.
6701
67022006-08-28 04:56  gb
6703
6704        * level-1/l1-events.lisp: Unscramble auto-flush-streams stuff
6705        (don't assume ioblock-based stream.)
6706
67072006-08-28 04:55  gb
6708
6709        * level-1/l1-boot-2.lisp: Initial FD-STREAMs are BASIC-STREAMs.
6710
67112006-08-28 04:55  gb
6712
6713        * level-0/PPC/ppc-symbol.lisp: Change some REQUIRE forms; cosmetic.
6714         (Maybe not even cosmetic.)
6715
67162006-08-28 04:54  gb
6717
6718        * compiler/PPC/: ppc2.lisp, PPC32/ppc32-vinsns.lisp,
6719        PPC64/ppc64-vinsns.lisp: %unbox-u8, u8-vref stuff.
6720
67212006-08-28 04:53  gb
6722
6723        * xdump/faslenv.lisp: New fasl ops for new string encodings.
6724
67252006-08-28 04:52  gb
6726
6727        * lib/macros.lisp: %CHAR-CODE: for how long has limit not been 2^16
6728        ?  For how long will limit be 2^8 ?
6729
67302006-08-28 04:51  gb
6731
6732        * level-0/nfasload.lisp: More fasl ops.
6733
67342006-08-28 04:51  gb
6735
6736        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: %UNBOX-U8,
6737        u8-vref stuff.
6738
67392006-08-28 04:50  gb
6740
6741        * compiler/arch.lisp: Add CHAR-CODE-LIMIT slot to TARGET-ARCH; may
6742        not be the best way to do this.
6743
67442006-08-26 13:58  gb
6745
6746        * release-notes.txt: Updated.
6747
67482006-08-26 13:50  gb
6749
6750        * release-notes.txt: Updated.
6751
67522006-08-26 13:50  gb
6753
6754        * darwin-x86-headers64/libc/.cvsignore: Added.
6755
67562006-08-26 03:17  gb
6757
6758        * level-1/version.lisp: Bump.  New snapshots soon, I hope.
6759
67602006-08-26 03:12  gb
6761
6762        * lisp-kernel/darwinx8664/Makefile: Pass -g in ASFLAGS; same
6763        problems as always, but avoids problems with Darwin x86-64 ld64
6764        segfaulting for unknown reasons.
6765
67662006-08-26 03:11  gb
6767
6768        * lisp-kernel/x86-exceptions.h: Need to do an explicit sigreturn on
6769        Darwin (because of the sigaltstack hacks; Darwin uses sigtramp glue
6770        that we can't just return to after switching off of the alt stack.)
6771
67722006-08-26 03:08  gb
6773
6774        * lib/numbers.lisp: Check fpu overflow bit (not underflow) when
6775        deciding whether or not to signal overflow.
6776
67772006-08-26 03:08  gb
6778
6779        * level-1/x86-trap-support.lisp: Need an indirection to access
6780        mcontext from ucontext on Darwin; invent xp-gp-regs to get at
6781        mcontext64.ss.
6782
67832006-08-26 03:06  gb
6784
6785        * level-1/x86-error-signal.lisp: Add a declaration, to make this
6786        easier to step through.
6787
67882006-08-26 03:05  gb
6789
6790        * level-0/l0-float.lisp: SINGLE-FLOAT-HALF-PI: use f0 not e0, just
6791        in case.
6792
67932006-08-25 20:35  gb
6794
6795        * level-1/l1-boot-lds.lisp, level-1/l1-events.lisp,
6796        lib/ccl-export-syms.lisp: Hyphenate ADD-AUTO-FLUSH-STREAM and
6797        REMOVE-AUTO-FLUSH-STREAM.
6798       
6799        Export them, too.
6800
68012006-08-25 20:22  gb
6802
6803        * lib/streams.lisp: READ-LINE on BASIC-INPUT-STREAM w/o
6804        STREAM-READ-LINE.
6805
68062006-08-25 20:22  gb
6807
6808        * lib/macros.lisp: HANDLER-CASE: the :NO-ERROR clause can appear at
6809        most once but doesn't have to be the last clause.
6810
68112006-08-25 20:21  gb
6812
6813        * level-1/l1-streams.lisp: BASIC-OUTPUT-STREAM isn't an
6814        INPUT-STREAM.
6815       
6816        Some STREAM-READ-LINE support for BASIC-CHARACTER-INPUT-STREAM.
6817
68182006-08-25 20:19  gb
6819
6820        * level-1/l1-readloop.lisp: PREPARE-TO-QUIT: other threads should
6821        be dead by the time that streams on *OPEN-FILE-STREAMS* are closed,
6822        so unlock those streams with extreme prejudice before closing them.
6823
68242006-08-25 20:18  gb
6825
6826        * level-1/l1-pathnames.lisp: FULL-PATHNAME: remove some weird old
6827        code that assumed that interfered with handling of relative logical
6828        pathnames.
6829
68302006-08-25 20:17  gb
6831
6832        * level-1/l1-events.lisp: Rename EVENT-POLL to
6833        AUTO-FLUSH-INTERACTIVE-STREAMS.
6834       
6835        Make AUTO-FLUSH-INTERACTIVE-STREAMS do conditional locking on each
6836        stream (doing nothing if it's not :SHARING :LOCK; unconditional
6837        locking on the *AUTO-FLUSH-STREAMS-LOCK*.
6838       
6839        ADD-AUTOFLUSH-STREAM ensures that the stream is :SHARING :LOCK.
6840       
6841        REMOVE-AUTOFLUSH-STREAM.
6842
68432006-08-25 20:13  gb
6844
6845        * level-1/l1-boot-lds.lisp: MAKE-MCL-LISTENER-STREAM uses
6846        ADD-AUTOFLUSH-STREAM, REMOVE-AUTOFLUSH-STREAM.
6847
68482006-08-23 22:59  gb
6849
6850        * lisp-kernel/x86-exceptions.c: Darwin needs to decode the mxcsr on
6851        SIGFPE.
6852       
6853        DARWIN_GS_HACK changes in altstack handlers for interrupt/suspend.
6854
68552006-08-23 22:58  gb
6856
6857        * lisp-kernel/x86-spentry64.s: x86-64 Darwin's math library is
6858        pretty casual about causing spurious exceptions, so ignore them.
6859
68602006-08-23 22:57  gb
6861
6862        * lisp-kernel/darwinx8664/.gdbinit: New file; like the linuxx8664
6863        version, with different signals to be ignored by gdb.
6864
68652006-08-23 22:56  gb
6866
6867        * lisp-kernel/x86-asmutils64.s: Using ud2b to force an exception in
6868        pseudo_sigreturn() seems to cause/be related to spurious SIGTRAPs.
6869        Use int $0 instead.
6870
68712006-08-23 22:55  gb
6872
6873        * level-1/x86-trap-support.lisp: First attempt at Darwinx8664
6874        support; may need more work.
6875
68762006-08-22 02:08  gb
6877
6878        * lisp-kernel/x86_print.c: Try not to use sprintf() (at least not
6879        for printing integers), since it seems to need access to pthread
6880        data (and calling print_lisp_object() from GDB might fail if %gs is
6881        pointing at the lisp TCR.)
6882
68832006-08-22 02:06  gb
6884
6885        * lisp-kernel/x86-spentry64.s: Unbox %arg_z (boxed entrypoint)
6886        earlier in _SPffcall, before entering foreign context.  (Need to
6887        check PPC version(s) as well.)
6888       
6889        Use DARWIN_GS_HACK to swap %gs memory around when transitioning
6890        between foreign code and lisp.
6891
68922006-08-22 02:04  gb
6893
6894        * lisp-kernel/x86-macros.s: Fix a typo.
6895
68962006-08-22 02:04  gb
6897
6898        * lisp-kernel/x86-exceptions.h: Define a few more things ...
6899
69002006-08-22 02:03  gb
6901
6902        * lisp-kernel/x86-exceptions.c: Lots of changes, especially to Mach
6903        exception handling code.
6904       
6905        Do the DARWIN_GS_HACK things to overload %gs.
6906
69072006-08-22 02:02  gb
6908
6909        * lisp-kernel/x86-asmutils64.s: atomic_and(), pseudo_sigreturn()
6910        for DarwinX8664.
6911
69122006-08-22 02:01  gb
6913
6914        * lisp-kernel/thread_manager.c: Some PPC64 conditionalizations
6915        should really have tested WORD_SIZE.
6916       
6917        DARWIN_GS_HACK stuff around suspend/resume signal handlers.  (May
6918        not be necessary.)
6919       
6920        Ensure that tcr.linear gets set on x86, even if not HAVE_TLS.
6921
69222006-08-22 01:59  gb
6923
6924        * lisp-kernel/pmcl-kernel.c: Don't really flush cache lines on
6925        x8664.
6926       
6927        Some PPC64 conditionalizations should really have tested WORD_SIZE.
6928
69292006-08-22 01:58  gb
6930
6931        * lisp-kernel/m4macros.m4: Define SYSCALL_SETS_CARRY_ON_ERROR for
6932        FreeBSDX664, DarwinX8664.
6933
69342006-08-22 01:57  gb
6935
6936        * lisp-kernel/darwinx8664/Makefile: Much smaller pagezero, much
6937        lower seg1addr.
6938       
6939        Something in the (m4-generated) symbolic info in some .s files is
6940        screwy and causes ld64 to segfault; it's currently necesssary to
6941        use "strip -S" on the assembler-generated .o files.
6942
69432006-08-22 01:55  gb
6944
6945        * scripts/openmcl64: Untested changes for Darwinx8664.
6946
69472006-08-22 01:54  gb
6948
6949        * xdump/xx8664-fasload.lisp: Fix typo in darwinx8664
6950        xload-backend-info (compiler target is :darwinx8664, not
6951        :linuxx8664).
6952
69532006-08-22 01:53  gb
6954
6955        * lib/nfcomp.lisp: Dump concatenated functions from xfunctions when
6956        cross-compiling to x86 from x86.
6957
69582006-08-22 01:52  gb
6959
6960        * lib/misc.lisp: MACHINE-VERSION:  conditionalize on :DARWIN-TARGET
6961        (not :DARWINPPC-TARGET).
6962
69632006-08-22 01:50  gb
6964
6965        * lib/foreign-types.lisp: :DARWIN-TARGET (not :DARWINPPC-TARGET).
6966
69672006-08-22 01:50  gb
6968
6969        * lib/compile-ccl.lisp: :DARWINX8664 stuff.
6970
69712006-08-22 01:49  gb
6972
6973        * level-1/version.lisp: Bump.
6974
69752006-08-22 01:49  gb
6976
6977        * level-1/l1-sysio.lisp: FILE-STREAM-EXTERNAL-FORMAT stuff for
6978        BASIC-STREAMs.
6979
69802006-08-22 01:48  gb
6981
6982        * level-1/: l1-sockets.lisp, linux-files.lisp: Conditionalize on
6983        DARWIN-TARGET, not DARWINPPC-TARGET.
6984
69852006-08-22 01:47  gb
6986
6987        * level-0/l0-init.lisp: DarwinX8664 *features*.
6988
69892006-08-22 01:47  gb
6990
6991        * level-0/l0-cfm-support.lisp: Some DARWINPPC-TARGET conditionals
6992        really want to be DARWIN-TARGET.
6993
69942006-08-22 01:46  gb
6995
6996        * compiler/X86/X8664/x8664-arch.lisp: YIELD-SYSCALL for
6997        DarwinX8664.
6998
69992006-08-22 01:45  gb
7000
7001        * compiler/X86/x862.lisp: Use CROSS-CREATE-X86-FUNCTION if not
7002        compiling natively.
7003       
7004        Fix X862-FIXUP-FWD-REFS if not native function on x86.
7005
70062006-08-22 01:44  gb
7007
7008        * compiler/X86/x86-lap.lisp: Ensure that CROSS-CREATE-X86-FUNCTION
7009        is defined, even on x86.  Use it if not compiling natively on x86.
7010
70112006-08-20 23:59  gb
7012
7013        * lisp-kernel/darwinx8664/Makefile: Define DARWIN_GS_HACK.
7014
70152006-08-20 23:58  gb
7016
7017        * lisp-kernel/x86-exceptions.c: Still needs lots of work.
7018
70192006-08-20 23:58  gb
7020
7021        * lisp-kernel/x86-exceptions.h: Include Mach stuff on Darwin;
7022        prototypes for DARWIN_GS_HACK %gs segment switching.
7023
70242006-08-20 23:57  gb
7025
7026        * lisp-kernel/x86-subprims64.s: Manipulate the %gs register when a
7027        lisp thread starts, exits and DARWIN_GS_HACK is defined.
7028       
7029        This isn't so bad, but doing it around every ff-call might be.
7030
70312006-08-20 23:56  gb
7032
7033        * lisp-kernel/x86-macros.s: DARWIN_GS_HACK macros.
7034
70352006-08-20 23:53  gb
7036
7037        * lisp-kernel/thread_manager.c: Note the need for DARWIN_GS_HACK.
7038
70392006-08-20 23:51  gb
7040
7041        * lisp-kernel/x86-asmutils64.s: DARWIN_GS_HACK hacks.
7042
70432006-08-20 23:51  gb
7044
7045        * lisp-kernel/m4macros.m4: Hope that the need for DARWIN_GS_HACK is
7046        also temporary.
7047
70482006-08-20 23:50  gb
7049
7050        * lisp-kernel/lisptypes.h: Hope that the workaround for missing
7051        mcontext64 in x8664 Darwin is temporary.
7052
70532006-08-20 20:35  gb
7054
7055        * library/darwinx664-syscalls.lisp: typo
7056
70572006-08-20 20:35  gb
7058
7059        * library/darwinx8664-syscalls.lisp: spell name right
7060
70612006-08-20 17:10  gb
7062
7063        * xdump/xx8664-fasload.lisp: :darwinx8664 stuff.
7064
70652006-08-20 17:10  gb
7066
7067        * lib/db-io.lisp: :struct-by-value: don't read-time conditionalize
7068        (do other things still use read-time conditionals ?)
7069
70702006-08-20 17:09  gb
7071
7072        * compiler/X86/X8664/x8664-backend.lisp: Darwinx8664: overload %gs,
7073        setup syscall mask.
7074
70752006-08-20 17:08  gb
7076
7077        * compiler/nx1.lisp: Handle syscall, ff-call for :darwinx8664 as
7078        well.
7079
70802006-08-20 17:06  gb
7081
7082        * library/darwinx664-syscalls.lisp: New file; or's in the bit for
7083        Unix syscalls on Darwinx8664.  (Screw: should (carefully) review
7084        word-size issues.)
7085
70862006-08-20 17:03  gb
7087
7088        * library/darwinppc-syscalls.lisp: Mask for PPC.
7089
70902006-08-20 17:02  gb
7091
7092        * level-0/l0-io.lisp, level-1/l1-sockets.lisp,
7093        level-1/linux-files.lisp: Syscall conditionalization.
7094
70952006-08-20 17:01  gb
7096
7097        * level-1/l1-streams.lisp: Syscall conditionalization.
7098       
7099        SELECTION-INPUT-STREAM created with :sharing :lock.
7100
71012006-08-20 17:00  gb
7102
7103        * examples/objc-runtime.lisp: Fencepost in
7104        POINTER-IN-CFSTRING-SECTION-P.
7105
71062006-08-20 16:16  gb
7107
7108        * library/: darwinppc-syscalls.lisp, darwin-syscalls.lisp: rename
7109
71102006-08-18 09:50  gb
7111
7112        * lisp-kernel/thread_manager.c: Enable FP underflow detection on
7113        x8664.  Should do this on PPC as well, and should probably offer
7114        some backward-compatible behavior for reader.
7115
71162006-08-18 09:47  gb
7117
7118        * compiler/X86/X8664/x8664-backend.lisp: Dress up the Darwin x86-64
7119        backend a little.
7120       
7121        Explicily define lisp-context-register slot in each backend (%gs
7122        for those imolementations that follow the standard ABI, %fs for
7123        Darwin.)
7124
71252006-08-18 09:44  gb
7126
7127        * compiler/X86/X8664/x8664-vinsns.lisp: Use :rcontext when
7128        necessary.
7129
71302006-08-18 09:43  gb
7131
7132        * compiler/X86/: x86-backend.lisp, x86-lap.lisp: Recognize
7133        :rcontext as a reference to the backend's LISP-CONTEXT-REGISTER
7134        slot.
7135
71362006-08-18 09:42  gb
7137
7138        * compiler/backend.lisp: Backend now has a lisp-context-register
7139        slot.
7140
71412006-08-18 09:42  gb
7142
7143        * compiler/X86/X8664/x8664-arch.lisp: No more (constant) rcontext.
7144
71452006-08-18 09:40  gb
7146
7147        * level-0/X86/: x86-def.lisp, x86-float.lisp, x86-io.lisp,
7148        x86-misc.lisp, x86-symbol.lisp, x86-utils.lisp: Refer to rcontext
7149        segment register as :rcontext, since x86-64 Darwin doesn't laugh
7150        and play like the other children.
7151
71522006-08-18 09:29  gb
7153
7154        * lisp-kernel/x86-exceptions.c: Copy some of the Mach exception
7155        code from the PPC version and tweak it a little; needs more work.
7156
71572006-08-18 09:27  gb
7158
7159        * lisp-kernel/x86-exceptions.h: Provide some interim Darwin
7160        conditionalization.
7161
71622006-08-18 09:25  gb
7163
7164        * lisp-kernel/m4macros.m4: Spell FREEBSD correctly.
7165       
7166        Generate an equate for HAVE_TLS.
7167
71682006-08-18 09:23  gb
7169
7170        * lisp-kernel/x86-gc.c: Changes in purify_xp().
7171
71722006-08-18 09:19  gb
7173
7174        * lisp-kernel/x86-spentry64.s: Darwin x86-64 assembler doesn't like
7175        absolute jumps, prefers slower ones.
7176       
7177        Move lock prefixes to their own lines, to satisfy you-know-who.
7178       
7179        If we don't have thread-local-storage (TLS), it's hard to avoid the
7180        get_tcr() call on each calback.
7181
71822006-08-18 09:13  gb
7183
7184        * lisp-kernel/: freebsdx8664/Makefile, linuxx8664/Makefile: Tell m4
7185        that we HAVE_TLS.
7186
71872006-08-17 10:41  phil
7188
7189        * examples/FFI/:
7190        Allocating-foreign-data-on-the-lisp-heap/ptrtest-compile.sh,
7191        Allocating-foreign-data-on-the-lisp-heap/ptrtest.c,
7192        Allocating-foreign-data-on-the-lisp-heap/ptrtest.lisp,
7193        Using-basic-calls-and-types/Readme.rtf,
7194        Using-basic-calls-and-types/typetest-compile.sh,
7195        Using-basic-calls-and-types/typetest.c,
7196        Using-basic-calls-and-types/typetest.lisp: Initial version
7197
71982006-08-17 10:40  phil
7199
7200        * examples/FFI/Allocating-foreign-data-on-the-lisp-heap/Readme.rtf:
7201        [no log message]
7202
72032006-08-08 13:07  gb
7204
7205        * lisp-kernel/darwinx8664/Makefile: New file.
7206
72072006-08-08 13:07  gb
7208
7209        * lisp-kernel/x86-exceptions.h: xp accessors for Darwinx8664.
7210
72112006-08-08 13:06  gb
7212
7213        * lisp-kernel/x86-constants64.h: REG_* constants for Darwin.
7214
72152006-08-08 13:05  gb
7216
7217        * lisp-kernel/x86-asmutils64.s: Darwin assembler doesn't like lock
7218        instructions on the same line as the locked instruction.  (Maybe
7219        there's a better way to do this, than just pretending that lock is
7220        a standalone instruction, but that lock instruction does seem to be
7221        treated as a prefix.)
7222
72232006-08-08 13:03  gb
7224
7225        * lisp-kernel/pmcl-kernel.c: Treat X8664 like PPC64 (e.g., use
7226        dlfcn) on Darwin.
7227
72282006-08-08 13:02  gb
7229
7230        * lisp-kernel/lisptypes.h: xcode 2.4 headers: <i386/ucontext.h>
7231        doesn't define mcontext64, but lots of other things reference it.
7232        #define it here for now, but that'll likely break when the headers
7233        are fixed.
7234
72352006-08-08 12:58  gb
7236
7237        * lisp-kernel/lisp-debug.c: Define Iregnames for darwinx8664.
7238
72392006-08-08 12:58  gb
7240
7241        * lisp-kernel/area.h: Define an IMAGE_BASE_ADDRESS for
7242        x8664/Darwin.
7243
72442006-07-29 08:41  gb
7245
7246        * level-1/l1-streams.lisp: STREAM-WRITE-BYTE, STREAM-WRITE-IVECTOR.
7247         :BASIC defaults to T in OPEN; BASIC-FILE-STREAM probably still
7248        needs READ/WRITE- SEQUENCE support.
7249
72502006-07-29 07:39  gb
7251
7252        * level-1/l1-aprims.lisp: ALLOCATE-RESOURCE, FREE-RESOURCE: use
7253        lock.  TODO: evaluate whether resources are worthwhile;  used for
7254        string-output-stream allocation and DELETE-DUPLICATES.
7255
72562006-07-29 06:27  gb
7257
7258        * library/lispequ.lisp: Resources aren't thread-private, need
7259        locks.
7260
72612006-07-29 06:26  gb
7262
7263        * level-1/l1-sysio.lisp: MAKE-FILE-STREAM: support for
7264        BASIC-STREAMs.
7265
72662006-07-29 06:26  gb
7267
7268        * level-1/l1-streams.lisp: OPEN handles BASIC-STREAMs; not yet the
7269        default.
7270
72712006-07-29 06:25  gb
7272
7273        * level-1/l1-reader.lisp: *PARSE-STRING-RESOURCE* probably hasn't
7274        been used in 10 or 12 years.
7275
72762006-07-29 03:40  gb
7277
7278        * level-1/l1-sysio.lisp: Most BASIC-FILE-STREAM stuff.
7279
72802006-07-29 03:40  gb
7281
7282        * library/lispequ.lisp: BASIC-FILE-STREAM.EXTERNAL-FORMAT, at least
7283        for now.
7284
72852006-07-29 03:39  gb
7286
7287        * level-1/l1-streams.lisp: BASIC-IO-STREAM; ALLOCATE-BASIC-STREAM
7288        makes one more slot in BASIC-FILE-STREAM.
7289
72902006-07-28 04:17  gb
7291
7292        * level-1/version.lisp: Bump.
7293
72942006-07-28 04:15  gb
7295
7296        * level-1/l1-streams.lisp: A couple of more (soon-to-be-used) slots
7297        in IOBLOCK.
7298
72992006-07-28 01:17  gb
7300
7301        * level-1/l1-streams.lisp: Lots of changes; lots more to go.
7302
73032006-07-28 01:16  gb
7304
7305        * level-1/l1-sockets.lisp: Pass :CHARACTER-P T to MAKE-FD-STREAM.
7306
73072006-07-28 00:58  gb
7308
7309        * examples/cocoa-listener.lisp: Want :SHARING :LOCK on listener
7310        output.
7311       
7312        (SLIME probably faces the same issue; should probably do something
7313        in the auto-flush case.  Of course, it's hard to know just what to
7314        do in that case. or at least what to do safely in that case.)
7315
73162006-07-28 00:49  gb
7317
7318        * level-1/l1-sysio.lisp: Define SELECT-STREAM-CLASS on
7319        FUNDAMENTAL-FILE-STREAM.
7320
73212006-07-28 00:49  gb
7322
7323        * lib/streams.lisp: READ-BYTE for BASIC-STREAMs.
7324
73252006-07-28 00:48  gb
7326
7327        * library/lispequ.lisp: Need an explicit
7328        BASIC-STREAM-FLAG.OPEN-CHARACTER bit, due to bivalence.
7329
73302006-07-28 00:47  gb
7331
7332        * lib/macros.lisp: BASIC-STREAM-IOBLOCK.
7333
73342006-07-25 03:48  gb
7335
7336        * compiler/optimizers.lisp: Compiler-macro for BASIC-STREAM-P.
7337
73382006-07-24 04:55  gb
7339
7340        * lib/streams.lisp: READ-CHAR bypasses STREAM-READ-CHAR for
7341        BASIC-STREAMs.
7342
73432006-07-24 04:55  gb
7344
7345        * level-1/l1-streams.lisp: Some BASIC-STREAM stuff starts to
7346        appear.
7347
73482006-07-24 04:51  gb
7349
7350        * library/lispequ.lisp: Add a plist to basic-/basic-file-stream.
7351
73522006-07-24 02:43  gb
7353
7354        * level-1/l1-sysio.lisp: FILE-STREAM is now abstract (and some
7355        sublasses may get that way); FUNDAMENTAL-FILE-STREAM is an
7356        implementation of it (and BASIC-FILE-STREAM soon will be.)
7357
73582006-07-23 03:05  gb
7359
7360        * level-1/l1-clos-boot.lisp: *class-table* entry for BASIC-STREAM.
7361
73622006-07-23 03:03  gb
7363
7364        * level-1/l1-streams.lisp: STREAM-IOBLOCK now takes 2 required args
7365        and is inlined.
7366       
7367        Some bug fixes; STREAM class no longer has slots.
7368       
7369        IOBLOCK-READ-CHAR-FUNCTION used by READ-CHAR.  %ioblock-read-byte
7370        variants; fix read-byte botch (should vector according to
7371        element-type.)
7372
73732006-07-23 02:54  gb
7374
7375        * level-1/: linux-files.lisp, l1-sysio.lisp, l1-sockets.lisp:
7376        STREAM-IOBLOCK now takes 2 required args.
7377
73782006-07-23 02:54  gb
7379
7380        * level-1/version.lisp: Bump.
7381
73822006-07-23 02:53  gb
7383
7384        * library/lispequ.lisp: Start to define what a BASIC-STREAM looks
7385        like.
7386
73872006-07-23 02:53  gb
7388
7389        * lib/macros.lisp: Move stream-ioblock access/locking macros here.
7390       
7391        Likewise WITH-EAGAIN.
7392
73932006-07-23 01:12  gb
7394
7395        * level-1/: l1-sysio.lisp, l1-streams.lisp, l1-boot-2.lisp,
7396        l1-sockets.lisp: Fix a few botches.
7397       
7398        :private arg to stream creation primitives replaced with :sharing,
7399        which can have values:
7400       
7401         :private (the default; stream can only be accessed by the creating
7402        thread)
7403         :lock  (the old, often slow, default); most accesses to stream
7404        involve locking
7405         :nil or :external (stream code doesn't enforce exclusion).
7406
74072006-07-22 23:57  gb
7408
7409        * level-1/l1-streams.lisp: Bootstrapping stuff.
7410       
7411        Move along, nothing to see here.
7412
74132006-07-20 03:43  gb
7414
7415        * level-1/: l1-boot-2.lisp, l1-sockets.lisp, l1-streams.lisp,
7416        l1-sysio.lisp: First (rough) cut at making streams "private"
7417        (effectively always locked by the "owning" thread) to reduce some
7418        locking overhead.  More to come, some of which will be a little
7419        tricky to bootstrap.
7420
74212006-07-20 01:09  gb
7422
7423        * lisp-kernel/: ppc-constants32.h, ppc-constants32.s,
7424        ppc-constants64.h, ppc-constants64.s, x86-constants64.h,
7425        x86-constants64.s: subtag_lisp_thread -> subtag_basic_stream.
7426
74272006-07-20 01:09  gb
7428
7429        * library/lispequ.lisp: new (istruct-based) LISP-THREAD accessors.
7430
74312006-07-20 01:08  gb
7432
7433        * level-1/version.lisp: Bump.
7434
74352006-07-20 01:07  gb
7436
7437        * level-1/l1-streams.lisp: Introduce "owner" slot in basic ioblock.
7438         A little tricky to bootstrap.
7439
74402006-07-20 01:05  gb
7441
7442        * level-0/l0-misc.lisp, level-1/l1-processes.lisp,
7443        level-1/l1-clos-boot.lisp, level-1/l1-lisp-threads.lisp: Use new
7444        (istruct-based) lisp-thread accessors.
7445
74462006-07-20 01:02  gb
7447
7448        * compiler/: PPC/PPC32/ppc32-arch.lisp, PPC/PPC64/ppc64-arch.lisp,
7449        X86/X8664/x8664-arch.lisp: Get rid of the lisp-thread subtag
7450        (lisp-thread's are ISTRUCTs now); re-use it for (to-be-introduced)
7451        BASIC-STREAM.
7452
74532006-07-15 15:02  gb
7454
7455        * level-1/l1-error-system.lisp: Insert some fresh lines in the
7456        IMPOSSIBLE-NUMBER condition :REPORT method.
7457
74582006-07-15 15:00  gb
7459
7460        * compiler/X86/x862.lisp: x862-%aref1,x862-%aset1: don't try to do
7461        simple vector operations unless we're sure that the vector is a
7462        (SIMPLE-ARRAY * (*)) and we know the element-type (these were
7463        leaping into the simple-typed-vector case when the element-type was
7464        known but the vector wasn't known to be SIMPLE.
7465
74662006-07-14 05:57  gb
7467
7468        * compiler/nx0.lisp: NX-FORM-TYPEP: unqoute constants.
7469
74702006-07-13 16:01  gb
7471
7472        * level-1/l1-typesys.lisp: SPECIALIZED-ARRAY-ELEMENT-TYPES needs to
7473        know about FIXNUM arrays.
7474
74752006-07-11 14:23  gb
7476
7477        * compiler/X86/x862.lisp: Destination and 1st source arg overlap
7478        (2-address instructions) in natural logical, arithmetic operations.
7479
74802006-07-05 02:38  gb
7481
7482        * release-notes.txt: Update.
7483
74842006-07-05 02:22  gb
7485
7486        * level-0/l0-init.lisp: Reluctantly put :MCL back on *features*;
7487        its removal needs to be better publicized.
7488
74892006-07-04 22:24  gb
7490
7491        * level-1/linux-files.lisp: Use NATIVE-TRANSLATED-NAMESTRING on the
7492        PROGRAM arg to RUN-PROGRAM.
7493
74942006-07-04 22:23  gb
7495
7496        * level-1/version.lisp: Bump.
7497
74982006-06-29 02:11  gb
7499
7500        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump
7501        image-abi-version.
7502
75032006-06-28 05:24  gb
7504
7505        * level-0/l0-cfm-support.lisp: *rtld-default* wants to be a null
7506        pointer on DarwinPPC32 (at the very least, that platform's
7507        xFindSymbol gets confused by anything but a null pointer/global
7508        lookup.)
7509
75102006-06-28 05:09  gb
7511
7512        * level-1/version.lisp: Bump.  Call the FreeBSD/AMD64 version
7513        "Alpha", which may be a bit generous (pretty regular deadlock,
7514        random thread creation errors, other bugs.)
7515
75162006-06-28 05:07  gb
7517
7518        * lisp-kernel/freebsdx8664/.gdbinit: new; awfully similar to linux
7519        x86-64 version.
7520
75212006-06-28 04:04  gb
7522
7523        * lisp-kernel/x86-exceptions.c: FreeBSD doesn't do a good job of
7524        identifying the cause of XMM FP exceptions.  Try to do that by
7525        looking at MXCSR bits.
7526
75272006-06-28 04:03  gb
7528
7529        * lisp-kernel/x86-spentry64.s: FreeBSD syscalls set carry flag to
7530        indicate error return.
7531
75322006-06-28 04:03  gb
7533
7534        * level-1/: l1-sockets.lisp, linux-files.lisp,
7535        x86-trap-support.lisp: Some FreeBSD changes/fixes.
7536
75372006-06-28 04:02  gb
7538
7539        * level-0/l0-cfm-support.lisp: Remove a #+freebsd-target
7540        breakpoint.
7541
75422006-06-27 18:08  gb
7543
7544        * level-0/l0-cfm-support.lisp: fix (?) nested #+/#-.  Maybe.
7545
75462006-06-27 17:30  gb
7547
7548        * lisp-kernel/x86-exceptions.h: Fix Linux def of IS_MAYBE_INT_TRAP.
7549
75502006-06-27 17:27  gb
7551
7552        * lisp-kernel/pmcl-kernel.c: (possibly) make get_r_debug more
7553        portable; possibly break it completely ...
7554
75552006-06-27 08:55  gb
7556
7557        * lisp-kernel/x86-exceptions.c: map the altstack
7558        read/write/execute.
7559
75602006-06-27 08:54  gb
7561
7562        * lisp-kernel/thread_manager.c: Fix os_get_stack_bounds() for
7563        FreeBSD.
7564
75652006-06-27 08:54  gb
7566
7567        * lisp-kernel/Threads.h: FreeBSD needs prototypes from
7568        <pthread_np.h>
7569
75702006-06-27 08:53  gb
7571
7572        * lib/compile-ccl.lisp: New (renamed) kernel-build-direcory for
7573        :freebsdx8664.
7574
75752006-06-27 08:53  gb
7576
7577        * level-1/x86-trap-support.lisp: freebsd x8664 GPR indices.  (Needs
7578        testing.)
7579       
7580        Don't conditionalize as much code. Indices/offsets are
7581        platform-specific, but accessors defiend in terms of them needn't
7582        be.
7583
75842006-06-27 08:51  gb
7585
7586        * level-1/x86-callback-support.lisp: Remove 1st line (bogus
7587        comment.)
7588
75892006-06-27 08:50  gb
7590
7591        * level-0/l0-init.lisp: More freebsd x8664 features.
7592
75932006-06-27 08:50  gb
7594
7595        * scripts/openmcl64: Update for FreeBSD/amd64.
7596
75972006-06-27 08:47  gb
7598
7599        * compiler/X86/X8664/x8664-backend.lisp: FreeBSD backend has
7600        :freebsdx8664-target as a target-specific-feature.
7601
76022006-06-27 05:05  gb
7603
7604        * lisp-kernel/: freebsdx8664/Makefile, freebsd8664/Makefile,
7605        freebsd8664/elf_x86_64.x: directory rename
7606
76072006-06-27 04:59  gb
7608
7609        * xdump/xx8664-fasload.lisp: FreeBSD xload-backend.
7610
76112006-06-27 04:47  gb
7612
7613        * lisp-kernel/x86-exceptions.h: Some macros for FreeBSD changes.
7614
76152006-06-27 04:46  gb
7616
7617        * lisp-kernel/x86-exceptions.c: FreeBSD changes (at least enough to
7618        recognize UUOs, which generate SIGBUS vice SIGSEGV.)
7619
76202006-06-27 04:45  gb
7621
7622        * lisp-kernel/x86-asmutils64.s: Define freebsd_sigreturn.
7623       
7624        TODO (maybe): copy the sigtramp code when evacuating the altstack.
7625
76262006-06-27 04:44  gb
7627
7628        * lisp-kernel/thread_manager.c: FreeBSD sigreturn from
7629        suspend_resume_handler.
7630
76312006-06-27 04:44  gb
7632
7633        * lisp-kernel/pmcl-kernel.c: Some FreeBSD conditionalization;
7634        get_r_debug() for ELF platforms.  (Needs testing under Linux.)
7635
76362006-06-27 04:43  gb
7637
7638        * lisp-kernel/imports.s: Don't import metering-control; do import
7639        get_r_debug().
7640
76412006-06-27 04:42  gb
7642
7643        * library/x8664-freebsd-syscalls.lisp: New file.  Should check
7644        word-size stuff (here and in other versions.)
7645
76462006-06-27 04:42  gb
7647
7648        * lib/misc.lisp: Find MACHINE-VERSION string via #_sysctl on
7649        FreeBSD.
7650
76512006-06-27 04:39  gb
7652
7653        * lib/foreign-types.lisp: Signed char nonsense (should use target
7654        ftd, not reader macros here.)
7655
76562006-06-27 04:38  gb
7657
7658        * lib/compile-ccl.lisp: Some FreeBSD support.
7659
76602006-06-27 04:36  gb
7661
7662        * level-1/: l1-sockets.lisp, l1-streams.lisp, linux-files.lisp:
7663        Some FreeBSD changes/conditionalization. Maybe not enough.
7664
76652006-06-27 04:35  gb
7666
7667        * level-1/l1-boot-1.lisp: Recognize FREEBSD platform-os-name.
7668
76692006-06-27 04:34  gb
7670
7671        * level-0/X86/: .cvsignore, X8664/.cvsignore: Ignore *fsl.
7672
76732006-06-27 04:34  gb
7674
7675        * level-0/l0-io.lisp: FreeBSD syscalls.
7676
76772006-06-27 04:33  gb
7678
7679        * level-0/l0-init.lisp: Some FreeBSD features.
7680
76812006-06-27 04:33  gb
7682
7683        * level-0/l0-cfm-support.lisp: Lots of FreeBSD conditionalization,
7684        changes.
7685       
7686        MAY HAVE BROKEN LINUX PORTS; need to recompile on those platforms
7687        and test.
7688       
7689        Now depends on an imported lisp-kernel function on ELF platforms
7690        (Linux/FreeBSD), and therefore depends on recent kernel changes.
7691
76922006-06-27 04:30  gb
7693
7694        * level-0/.cvsignore: Ignore *fsl.
7695
76962006-06-27 04:29  gb
7697
7698        * compiler/X86/X8664/x8664-backend.lisp: Fix platform-syscall-mask
7699        in freebsd backend.
7700
77012006-06-27 04:27  gb
7702
7703        * compiler/X86/X8664/x8664-arch.lisp: Don't import
7704        metering-control; do import get-r-debug (for Elf shared libraries.)
7705       
7706        A yield-syscall constant for FreeBSD. (This is all a bad idea ...)
7707
77082006-06-27 04:26  gb
7709
7710        * compiler/PPC/: PPC32/ppc32-arch.lisp, PPC64/ppc64-arch.lisp:
7711        Don't import metering-control; do import get-r-debug (for Elf
7712        shared libraries.)
7713
77142006-06-27 04:26  gb
7715
7716        * compiler/nx1.lisp: Use the non-eabi syscall on freebsd as well.
7717
77182006-06-26 16:38  gb
7719
7720        * compiler/X86/X8664/x8664-vinsns.lisp:
7721        SET-BIGITS-AND-HEADER-FOR-FIXNUM-OVERFLOW: need to change the
7722        (wrong) sign of the top 3 (fixnumshift) bits only.  Where did the
7723        constant #xffff000000000000 come from ?
7724
77252006-06-26 16:35  gb
7726
7727        * compiler/X86/x862.lisp: Fix some indentation.
7728
77292006-06-25 20:32  gb
7730
7731        * compiler/X86/X8664/x8664-backend.lisp: FreeBSD x8664 backend;
7732        change initialiation of x8664 foreign-type stuff.
7733
77342006-06-25 20:31  gb
7735
7736        * compiler/backend.lisp: PLATFORM-OS-FREEBSD.
7737
77382006-06-23 19:52  gb
7739
7740        * darwin-headers/: gl/C/.cvsignore, libc/C/.cvsignore,
7741        quicktime/C/.cvsignore: Ignore Developer subdirectory.  c
7742
77432006-06-23 19:28  gb
7744
7745        * release-notes.txt: Update some.
7746
77472006-06-23 19:11  gb
7748
7749        * examples/gtk2-clock.lisp: New file.
7750
77512006-06-23 18:56  gb
7752
7753        * level-1/version.lisp: Bump.
7754
77552006-06-23 18:52  gb
7756
7757        * lib/ccl-export-syms.lisp: Export DEFLOADVAR.
7758
77592006-06-22 13:39  gb
7760
7761        * x86-headers64/gnome2/C/.cvsignore: new
7762
77632006-06-22 13:36  gb
7764
7765        * x86-headers64/: gl/C/.cvsignore, gnome2/C/populate.sh: new
7766
77672006-06-22 13:33  gb
7768
7769        * x86-headers64/: gl/.cvsignore, gl/C/populate.sh,
7770        gnome2/.cvsignore: new
7771
77722006-06-22 13:30  gb
7773
7774        * examples/opengl-ffi.lisp: #+linuxppc-target -> #+linux-target.
7775
77762006-06-22 13:28  gb
7777
7778        * level-1/version.lisp: Bump.
7779
77802006-06-21 15:15  gb
7781
7782        * lisp-kernel/: ppc-constants64.h, ppc-constants64.s,
7783        ppc-spentry.s: Define new string subtags; handle them in ppc64
7784        misc_ref/misc_set.
7785
77862006-06-21 15:14  gb
7787
7788        * level-0/PPC/ppc-array.lisp: Fix %INIT-MISC (both ppc2 and ppc64
7789        versions) to handle FIXNUM vectors, new UCS4 strings.
7790
77912006-06-21 15:14  gb
7792
7793        * level-0/l0-array.lisp: Fix %INIT-MISC (bot ppc2 and ppc64
7794        versions) to handle FIXNUM vectors, new UCS4 strings.
7795
77962006-06-21 15:12  gb
7797
7798        * darwin-headers/: carbon/C/populate.sh, cocoa/C/populate.sh,
7799        gl/C/populate.sh, libc/C/populate.sh, quicktime/C/populate.sh,
7800        webkit/C/populate.sh: Use 10.4u headers from XCode SDK.
7801
78022006-06-21 15:11  gb
7803
7804        * compiler/PPC/PPC64/ppc64-arch.lisp: Add SUBTAG-NEW-STRING.
7805
78062006-06-21 15:11  gb
7807
7808        * compiler/PPC/PPC32/ppc32-arch.lisp: MAX-32-BIT-IVECTOR-SUBTAG
7809        wasn't updated with the introduction of fixnum vectors, (unused)
7810        UCS4 "new"strings.
7811
78122006-06-16 03:50  gb
7813
7814        * examples/objc-support.lisp: Re-compute static NSString info after
7815        opening an extension framework.
7816
78172006-06-16 03:45  gb
7818
7819        * examples/webkit.lisp: Use new functions for augmenting
7820        interfaces, loading framework.
7821
78222006-06-16 03:43  gb
7823
7824        * examples/objc-runtime.lisp: Juggle things around so that add-on
7825        framework bundles get loaded on appication re-launch.
7826       
7827        REVIVE-OBJC-CLASSES tells MAP-OBJC-CLASSES not to hit the database,
7828        since (a) it may not be there, or may not be where we can find it
7829        yet and (b) it's probably more reasonable to do that than it would
7830        be to teach CLOS about classes that're "discovered" when the
7831        appication's launched on a newer OS release than it was saved on.
7832
78332006-06-16 03:39  gb
7834
7835        * examples/cocoa-application.lisp: Touch tha application bundle
7836        before saving an image into it.  That -may- convincve
7837        LaunchServices to do the right thing.
7838
78392006-06-16 03:38  gb
7840
7841        * examples/objc-support.lisp: Reload any addon/framework bundles
7842        that had been loaded before the image was saved when starting a
7843        bundled application.
7844       
7845        Juggle things around, so that that works (need to be able to use
7846        low-level bridge features early.)
7847
78482006-06-16 03:36  gb
7849
7850        * lib/db-io.lisp: Disable the #? reader macro.
7851
78522006-06-14 15:42  gb
7853
7854        * level-0/: PPC/ppc-def.lisp, X86/x86-def.lisp: Fix #+APPLY+
7855        lfun-bits.
7856
78572006-06-12 20:24  gb
7858
7859        * lib/ppc-backtrace.lisp: PPC version of
7860        %find-register-argument-value had the same sort of fencepost as the
7861        x86-64 version had a few days ago.
7862
78632006-06-10 23:52  gb
7864
7865        * lib/arglist.lisp: %ARGLIST-INTERNAL: if generic-function, return
7866        its GENERIC-FUNCTION-LAMBDA-LIST.
7867
78682006-06-10 23:51  gb
7869
7870        * level-1/l1-clos.lisp: Give reader/writer method args more
7871        descriptive names. (Barely more descriptive ...)
7872
78732006-06-10 19:25  gb
7874
7875        * level-1/l1-clos-boot.lisp: Arrgh.  In
7876        %MAYBE-STD-SETF-SLOT-VALUE-USING-CLASS, we know nothing about the
7877        type of the instance, so don't use INSTANCE.SLOTS (instead, let
7878        INSTANCE-SLOTS do a TYPECASE; it's inlined at this point.)
7879       
7880        This was keeping non-standard instances - like ObjC classes and
7881        metaclasses - from having some of their slots initialized
7882        correctly.
7883
78842006-06-10 19:22  gb
7885
7886        * examples/objc-clos.lisp: PRINT-OBJECT methods for objc-class,
7887        objc-metaclass: don't die if the class is unnamed (makes it easier
7888        to print classes for debugging during initialization.)
7889
78902006-06-10 13:05  gb
7891
7892        * level-1/ppc-trap-support.lisp: Fix LinuxPPC64 versions of
7893        XP-FPSCR-INFO and XP-DOUBLE-FLOAT.
7894
78952006-06-08 05:01  gb
7896
7897        * release-notes.txt: Update a bit.
7898
78992006-06-08 03:56  gb
7900
7901        * lisp-kernel/image.h, xdump/heap-image.lisp: Bump
7902        image-abi-version.
7903
79042006-06-08 03:46  gb
7905
7906        * xdump/faslenv.lisp: Bump (min) fasl version.
7907
79082006-06-08 03:35  gb
7909
7910        * lib/nfcomp.lisp: Bump (current) fasl-version.
7911
79122006-06-08 03:28  gb
7913
7914        * lisp-kernel/linuxx8664/Makefile: -O2.
7915
79162006-06-08 03:26  gb
7917
7918        * xdump/faslenv.lisp: Bump (max) fasl version.
7919
79202006-06-08 03:18  gb
7921
7922        * level-1/version.lisp: Bump; give x86-64 port the benefit of the
7923        doubt and claim that it's a beta.
7924
79252006-06-08 03:18  gb
7926
7927        * lisp-kernel/darwinppc64/Makefile: Enable -O2.
7928
79292006-06-08 03:17  gb
7930
7931        * lisp-kernel/darwinppc/Makefile: Some commented-out debugging
7932        options; enable -O2.
7933
79342006-06-08 02:55  gb
7935
7936        * lisp-kernel/x86-exceptions.c: thread_signal_setup() moved here.
7937        Handle suspend (and maybe someday resume, again) signals on the
7938        altstack, since we don't really want a signal context in the middle
7939        of the tagged lisp stack ...
7940
79412006-06-08 02:52  gb
7942
7943        * lisp-kernel/thread_manager.c: thread_signal_setup() moved to
7944        PLATFORM-exceptions.c; some constants/prototypes moved to
7945        Threads.h.
7946
79472006-06-08 02:51  gb
7948
7949        * lisp-kernel/ppc-exceptions.c: suspend_resume_handler() installed
7950        via install_signal_handler(); thread_signal_setup() moved here, to
7951        do that installation.
7952
79532006-06-08 02:50  gb
7954
7955        * lisp-kernel/pmcl-kernel.c: Don't enable_fp_exceptions() twice.
7956       
7957        Don't call (or define) prepare_for_the_worst(), which is kind of
7958        too bad ...
7959
79602006-06-08 02:49  gb
7961
7962        * lisp-kernel/Threads.h: suspend/resume constants, prototypes.
7963
79642006-06-08 01:11  gb
7965
7966        * level-1/l1-files.lisp: Back out of ill-advised changed to %LOAD;
7967        let OPTIMIZE proclamations persist beyond the LOAD.
7968
79692006-06-07 21:45  gb
7970
7971        * lisp-kernel/x86-subprims64.s: No nore %tsp/%Rnext_tsp.
7972
79732006-06-07 21:38  gb
7974
7975        * lisp-kernel/x86-spentry64.s: Don't maintain current/next tsp in
7976        MMX regs.  Do maintain them in TCR.
7977
79782006-06-07 21:37  gb
7979
7980        * lisp-kernel/x86-macros.s: Don't maintain %tsp when stack-consing;
7981        update (decrement) tcr.next_tsp atomically, use %stack_temp as a
7982        temporary (old tsp), finish frame by storing into tcr.save_tsp.
7983
79842006-06-07 21:34  gb
7985
7986        * lisp-kernel/x86-exceptions.c: tsp is in the TCR now.
7987
79882006-06-07 21:33  gb
7989
7990        * lisp-kernel/x86-constants64.s: No more %tsp, %Rnext_tsp.  Define
7991        %stack_temp.
7992
79932006-06-07 21:32  gb
7994
7995        * lisp-kernel/x86-constants64.h: No more Itsp, Inext_tsp.
7996
79972006-06-07 21:30  gb
7998
7999        * level-0/X86/x86-def.lisp: %CURRENT-TSP: the tsp is in the TCR
8000        now.
8001
80022006-06-07 21:30  gb
8003
8004        * compiler/X86/X8664/x8664-vinsns.lisp: Don't try to maintain %tsp
8005        (since it no longer exists ...).  Use %stack-temp in some cases.
8006
80072006-06-07 21:29  gb
8008
8009        * compiler/X86/X8664/x8664-arch.lisp: No more %tsp or %next-tsp.
8010        %stack-temp is a symbolic name for an MMX register that can be used
8011        for (e.g.) linking frames on the temp/foreign stacks (or for any
8012        other purpose ...)
8013
80142006-06-07 15:29  gb
8015
8016        * compiler/X86/X8664/x8664-vinsns.lisp: No more %Rforeign_sp.  Keep
8017        tcr.next_tsp in sync with %next_tsp Check to ensure that
8018        %tsp,tcr.save_tsp,and tcr.next_tsp all have the same value when
8019        allocating on the temp stack.  (This will soon change, so that %tsp
8020        and %next_tsp will not be canonical and the tcr fields are, then
8021        will change so that %tsp and %next_tsp will cease to exist.)
8022
80232006-06-07 15:25  gb
8024
8025        * lisp-kernel/x86-subprims64.s: No more %Rforeign_sp.
8026
80272006-06-07 15:25  gb
8028
8029        * lisp-kernel/: x86-macros.s, x86-spentry64.s: Keep tcr.next_tsp in
8030        sync with %Rnext_tsp.  No more %Rforeign_sp, but we can use %mm5 as
8031        a temporary.
8032
80332006-06-07 15:23  gb
8034
8035        * lisp-kernel/x86-exceptions.c: Find the foreign RSP from the TCR;
8036        don't need FP regs for this.  (They're sometimes invalid and
8037        sometimes missing, which is the point of recent changes.)
8038
80392006-06-07 15:21  gb
8040
8041        * lisp-kernel/x86-constants64.s: No foreign_sp.  Rename %next_tsp
8042        to %Rnext_tsp to avoid potential m4 lossage.
8043
80442006-06-07 15:20  gb
8045
8046        * lisp-kernel/x86-constants64.h: No Iforeign_sp.
8047
80482006-06-07 15:20  gb
8049
8050        * lisp-kernel/thread_manager.c: Initialize tcr->next_tsp on X86.
8051
80522006-06-07 15:19  gb
8053
8054        * level-1/version.lisp: Bump.
8055
80562006-06-07 15:19  gb
8057
8058        * level-0/X86/x86-def.lisp: Get foreign-sp from the TCR.
8059
80602006-06-07 15:18  gb
8061
8062        * compiler/X86/X8664/x8664-arch.lisp: More bootstrapping: no more
8063        foreign-sp register (though some code still uses %mm5 as a
8064        temporary, the "canonical" foreign SP is maintained in the TCR.)
8065
80662006-06-07 04:52  gb
8067
8068        * lisp-kernel/x86-macros.s: When making a catch/unwind-protect
8069        frame, get the foreign SP out of the TCR.
8070
80712006-06-07 04:52  gb
8072
8073        * compiler/X86/X8664/x8664-vinsns.lisp,
8074        lisp-kernel/x86-spentry64.s: More bootstrapping: continue to
8075        maintain the foreign sp in both the TCR and the MMX register, but
8076        consider the TCR version to be canonical.
8077
80782006-06-07 02:46  gb
8079
8080        * compiler/X86/X8664/x8664-vinsns.lisp: More bootstrapping: if the
8081        %tsp MMX register doesn't match the value in the tcr, trap.
8082        Likewise for %foreign-sp.
8083
80842006-06-07 01:29  gb
8085
8086        * compiler/X86/X8664/x8664-vinsns.lisp, lisp-kernel/x86-macros.s,
8087        lisp-kernel/x86-spentry64.s: Try to keep tcr.save_tsp in synch with
8088        %tsp, and likewise for %Rforeign_sp/tcr.foreign_sp.
8089       
8090        (The idea is to keep the temp/foreign stack pointers in the tcr and
8091        only use the MMX registers as temporaries, since it seems that
8092        handlers for asynchronous signals can't count on the MMX register
8093        values in the signal context being correct.  This seems to either
8094        be a Linux kernel bug or ill-considered if it's intentional
8095        behavior, but it seems better to work around it this way.)
8096       
8097        This is just an early step in bootstrapping that change; it's being
8098        checked into CVS so that it doesn't get lost (and so that I can
8099        recover to this point if/when I hose things on a later step.)
8100
81012006-06-07 01:24  gb
8102
8103        * compiler/X86/X8664/x8664-arch.lisp: Add a next-tsp slot to the
8104        tcr.
8105
81062006-06-07 01:22  gb
8107
8108        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Add a
8109        next_tsp slot to the tcr.
8110
81112006-06-06 04:25  gb
8112
8113        * lib/ppc-metering.lisp: no hope
8114
81152006-06-06 04:22  gb
8116
8117        * lib/x86-backtrace.lisp: %find-register-argument-value: Current
8118        frame (cfp argument) could be an exception callback frame (xcf-p
8119        may be true of it), in which case the saved register value is in
8120        the xcf.xp context.  (Basically, this means look at the first frame
8121        if it's an xcf, otherwise skip it and start with the child.)
8122
81232006-06-06 01:48  gb
8124
8125        * compiler/X86/x86-lapmacros.lisp,
8126        compiler/X86/X8664/x8664-vinsns.lisp, lisp-kernel/x86-macros.s:
8127        Using imul to box fixnums is smaller and seems to be faster than
8128        using lea with a scale factor.
8129
81302006-06-05 23:56  gb
8131
8132        * lisp-kernel/thread_manager.c: I don't think that
8133        suspend_resume_handler wants to have suspend signals unmasked, does
8134        it ?
8135
81362006-06-05 12:43  gb
8137
8138        * library/chud-metering.lisp: area-readonly is in ccl:: now.
8139
81402006-06-03 03:11  gb
8141
8142        * lisp-kernel/x86-spentry64.s: In _SPnthrowvalues: don't skip the
8143        last catch frame, do skip others (test was backwards.  As it
8144        probably had been in the single-value case at one point.)
8145
81462006-06-02 03:48  gb
8147
8148        * lib/encapsulate.lisp: Don't print trace indent/outdent stuff to
8149        *terminal-io*; do print it to *trace-output*.
8150
81512006-06-01 20:20  gb
8152
8153        * level-0/l0-array.lisp: There's a T in subtag.
8154
81552006-06-01 20:17  gb
8156
8157        * compiler/X86/x862.lisp: X862-MVCALL wasn't handling things like:
8158       
8159        (multiple-value-bind (...)   (multiple-value-call #'foo ...))
8160       
8161        correctly.
8162
81632006-06-01 20:16  gb
8164
8165        * compiler/nx0.lisp: Defvars for global optimization quantities
8166        moved to level-0.
8167
81682006-06-01 20:15  gb
8169
8170        * level-1/l1-files.lisp: Bind the variables which hold global
8171        compiler optimization quantities, since people persist in doing
8172        things like:
8173       
8174        (declaim (optimize
8175        <something-that-they-probably-think-has-local-effects>))
8176       
8177        without bothering to use EVAL-WHEN or otherwise thinking very
8178        clearly.
8179       
8180        Note that this means that anyone who wanted such a declamation to
8181        have persistent global effects is now SOL.  Blame whoever wrote
8182        (for instance) clx/glx.lisp.
8183
81842006-06-01 20:11  gb
8185
8186        * level-0/l0-init.lisp: Move *nx-speed*, etc here, so that they can
8187        be referenced early in the cold load.
8188
81892006-06-01 13:13  gb
8190
8191        * lib/x86-backtrace.lisp: In %FIND-REGISTER-ARGUMENT-VALUE, pass a
8192        pointer to ENCODED-GPR-LISP if we have to get the register value
8193        from an exception frame.
8194
81952006-05-30 19:27  gwking
8196
8197        * tools/asdf.lisp: Updated asdf to the current CVS head (revision
8198        1.98)
8199
82002006-05-30 17:12  gb
8201
8202        * level-1/version.lisp: bump again.
8203
82042006-05-30 16:31  gb
8205
8206        * lisp-kernel/x86-spentry64.s: When unwinding the stack, try to
8207        ensure that tcr.xframe is updated from the catch frame (a) in all
8208        execution paths and (b) before RSP is updated.
8209
82102006-05-30 16:30  gb
8211
8212        * level-0/l0-array.lisp, lib/sequences.lisp: Handle (simple) fixnum
8213        vectors.
8214
82152006-05-30 16:29  gb
8216
8217        * level-1/l1-typesys.lisp: Add a DEFTYPE for fixnum vectors.
8218
82192006-05-30 16:29  gb
8220
8221        * release-notes.txt: Update some more ...
8222
82232006-05-30 16:23  gb
8224
8225        * lib/ccl-export-syms.lisp: There are two 'e's in UNPROCESSED.
8226        Apparently.
8227
82282006-05-30 16:15  gb
8229
8230        * release-notes.txt: updated
8231
82322006-05-30 01:58  gb
8233
8234        * level-1/version.lisp: Bump.
8235
82362006-05-30 01:48  gb
8237
8238        * lisp-kernel/x86-exceptions.c: altstack_interrupt_handler: having
8239        made copies of the signal context and siginfo on the foreign stack,
8240        don't pass the originals to interrupt_handler().
8241       
8242        (altstack_interrupt_handler() looks suspiciously like
8243        altstack_signal_handler(), which probably had the same bug a few
8244        months ago ...)
8245       
8246        Since the alternate signal stack (as we use it) isn't reentrant,
8247        the next signal (perhaps a suspend signal) overwrote the context.
8248        Which is one reason to have made a copy in the first place ...
8249
82502006-05-30 01:43  gb
8251
8252        * level-1/l1-lisp-threads.lisp: In THREAD-ENABLE, use the new
8253        %TIMED-WAIT-ON-SEMAPHORE-PTR; regardless of whether or not a
8254        timeout is a good idea here, make sure that the timeout isn't
8255        fooled by #$EINTR.
8256
82572006-05-30 01:39  gb
8258
8259        * level-1/linux-files.lisp: Rename the old
8260        %TIMED-WAIT-ON-SEMAPHORE-PTR to %PROCESS-WAIT-ON-SEMAPHORE-PTR,
8261        since it basically waits indefinitely.
8262       
8263        Split out the functionality in TIMED-WAIT-ON-SEMAPHORE into a new
8264        %TIMED-WAIT-ON-SEMAPHORE-PTR function, so that it's possible to do
8265        a "timed wait" that handles interruptions, etc. when the caller
8266        just has a "raw" (native) semaphore.
8267       
8268        Change callers, endure warnings.  New binaries soon.
8269
82702006-05-30 01:36  gb
8271
8272        * level-0/l0-misc.lisp: When waiting for a lock, use the new
8273        %PROCESS-WAIT-ON-SEMAPHORE-PTR.
8274
82752006-05-29 22:34  gb
8276
8277        * lisp-kernel/x86-exceptions.c: The
8278        clear_tcr_save_allocptr_tag_instruction opcode array was one byte
8279        too small ...
8280
82812006-05-29 14:03  gb
8282
8283        * level-1/linux-files.lisp: In %OS-GETCWD: don't trust
8284        syscall-based getcwd (it doesn't work as it once did/is documented
8285        to on linuxx8664); use the library function on all platforms.
8286
82872006-05-29 14:02  gb
8288
8289        * lisp-kernel/x86-exceptions.c: Clear interrupt_pending flag before
8290        processing interrupt.
8291
82922006-05-28 17:01  gb
8293
8294        * lisp-kernel/ppc-exceptions.c: If we handle a
8295        SIGNAL_FOR_PROCESS_INTERRUPT trap, clear tcr->interrupt_pending.
8296       
8297        Back out of the hack that tried to work around a Darwin bug (FP
8298        exception flags were cleared in the MSR after a thread had been
8299        interrupted via pthread_kill()), since the fix seems not to be
8300        GC-safe.
8301       
8302        Add some debugging code to print when the exception lock is
8303        acquired/released.
8304
83052006-05-28 01:10  gb
8306
8307        * level-1/solaris-files.lisp: long gone
8308
83092006-05-23 20:25  gb
8310
8311        * compiler/: PPC/ppc2.lisp, X86/x862.lisp: D'oh!
8312
83132006-05-22 22:59  gb
8314
8315        * darwin-headers/addressbook/: C/populate.sh, .cvsignore,
8316        C/.cvsignore: New file.
8317
83182006-05-22 22:57  gb
8319
8320        * level-1/l1-processes.lisp: PROCESS-SUSPEND: don't allow current
8321        thread to suspend itself.
8322
83232006-05-22 22:57  gb
8324
8325        * compiler/PPC/PPC64/ppc64-vinsns.lisp: Use the SP red zone to load
8326        SINGLE-FLOAT constants.
8327       
8328        SINGLE-FLOAT foreign args are stored in the low 32 bits of each
8329        64-bit arg word, regardless of whether they're also passed in
8330        f1-f13 as well.
8331
83322006-05-22 22:55  gb
8333
8334        * compiler/PPC/PPC64/ppc64-backend.lisp: Callback fixes:
8335        SINGLE-FLOATs passed in memory are passed in the low 32 bits of the
8336        64-bit word.
8337
83382006-05-22 22:54  gb
8339
8340        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Use the red zone (on SP)
8341        for LOAD-SINGLE-FLOAT-CONSTANT, LOAD-DOUBLE-FLOAT-CONSTANT.
8342
83432006-05-22 22:53  gb
8344
8345        * compiler/PPC/PPC32/ppc32-backend.lisp: "poweropen ABI" (Darwin)
8346        callback fixes: SINGLE-FLOATs passed in memory are passed as ...
8347        SINGLE-FLOATs, so don't use %GET-SINGLE-FLOAT-FROM-DOUBLE-PTR to
8348        access them.
8349
83502006-05-22 03:53  gb
8351
8352        * level-1/version.lisp: Bump.
8353
83542006-05-22 03:32  gb
8355
8356        * compiler/X86/X8664/x8664-vinsns.lisp: fixnum->float vinsns.
8357
83582006-05-22 03:31  gb
8359
8360        * compiler/X86/x862.lisp: Numeric contagion on binops,
8361        fixnum->float.
8362
83632006-05-22 03:29  gb
8364
8365        * compiler/PPC/ppc2.lisp: Do stupid self-tail-call tricks on PPC as
8366        well.
8367
83682006-05-22 03:28  gb
8369
8370        * compiler/PPC/PPC32/ppc32-vinsns.lisp: Load tcr.cs-limit a little
8371        earlier when creating a stack frame inline.  Doesn't seem to affect
8372        latency much.
8373
83742006-05-22 03:27  gb
8375
8376        * compiler/X86/x862.lisp: Comment formatting on the first line of
8377        the file.
8378
83792006-05-22 03:26  gb
8380
8381        * compiler/nx0.lisp: Check argument counts on self-calls.  (AFAIK,
8382        this hasn't been done for at least 20 years in MCL/OpenMCL ...)
8383
83842006-05-21 07:34  gb
8385
8386        * compiler/X86/x862.lisp: Long-standing X862-COPY-REGISTER bug.
8387
83882006-05-21 07:32  gb
8389
8390        * compiler/PPC/ppc2.lisp: Implement (late) div2; use (simple)
8391        numeric-contagion stuff for arithmetic ops.
8392
83932006-05-21 07:31  gb
8394
8395        * compiler/nx1.lisp: Use div2 for /-2.
8396
83972006-05-21 07:31  gb
8398
8399        * compiler/nx0.lisp: Binop numeric contagion.
8400
84012006-05-21 06:49  gb
8402
8403        * compiler/nx0.lisp: ACODE-REAL-CONSTANT-P.
8404
84052006-05-21 06:49  gb
8406
8407        * compiler/PPC/ppc2.lisp: Weird case in ppc2-copy-register wasn't
8408        weird, just wrong.
8409
84102006-05-21 06:17  gb
8411
8412        * level-0/l0-pred.lisp: PPC64: %typep recognizes
8413        SIMPLE-FIXNUM-VECTORs.
8414
84152006-05-21 06:16  gb
8416
8417        * compiler/PPC/: PPC32/ppc32-vinsns.lisp, PPC64/ppc64-vinsns.lisp:
8418        Fixnum vector stuff.  FIXNUM->FPR uses SP red zone.
8419
84202006-05-21 06:16  gb
8421
8422        * compiler/PPC/PPC32/ppc32-arch.lisp,
8423        compiler/PPC/PPC64/ppc64-arch.lisp, lisp-kernel/ppc-constants64.h,
8424        lisp-kernel/ppc-constants64.s, lisp-kernel/ppc-spentry.s: Fixnum
8425        vector stuff.
8426
84272006-05-21 06:15  gb
8428
8429        * compiler/PPC/ppc2.lisp: %fixnum-to-single, %fixnum-to-double.
8430       
8431        Fixnum vector vref/vset.
8432
84332006-05-21 06:15  gb
8434
8435        * compiler/: nx1.lisp, nxenv.lisp: %fixnum-to-single,
8436        %fixnum-to-double.
8437
84382006-05-21 06:14  gb
8439
8440        * compiler/nx0.lisp: More operator result types.
8441
84422006-05-21 04:35  gb
8443
8444        * level-0/l0-array.lisp, level-0/l0-pred.lisp,
8445        level-1/l1-aprims.lisp, level-1/l1-clos-boot.lisp: Integrate
8446        specialized FIXNUM array-element-type into type system, CLOS.
8447        (Knock wood.)
8448
84492006-05-21 04:34  gb
8450
8451        * lisp-kernel/x86-spentry64.s: Support for (out-of-line)
8452        fixnum-vector access (.SPmisc_ref, .SPmisc_set).
8453
84542006-05-21 04:33  gb
8455
8456        * compiler/X86/X8664/x8664-arch.lisp,
8457        lisp-kernel/x86-constants64.h, lisp-kernel/x86-constants64.s: New
8458        subtag for :fixnum-vector.
8459
84602006-05-21 04:32  gb
8461
8462        * compiler/X86/x862.lisp: 64-bit vset wasn't handling non-constant
8463        indices correctly.
8464       
8465        64-bit vset, vref: handle :FIXNUM-VECTOR.
8466
84672006-05-21 00:22  gb
8468
8469        * level-0/l0-aprims.lisp: Spell istruct-typep correctly.
8470
84712006-05-20 18:13  gb
8472
8473        * compiler/X86/x862.lisp: Do some self-tail calls (fixed args, no
8474        stack args) without restoring/re-saving NVRs.
8475
84762006-05-19 15:07  gb
8477
8478        * level-1/linux-files.lisp: RUN-PROGRAM: waiting for the child's
8479        completion semaphore (when :WAIT is true) happens inside an
8480        UNWIND-PROTECT cleanup and therefore needs to explicitly allow
8481        interrupts.
8482
84832006-05-19 15:06  gb
8484
8485        * level-0/l0-aprims.lisp: Add SEMAPHOREP, make it a type-predicate
8486        for SEMAPHORE.
8487
84882006-05-19 12:23  gwking
8489
8490        * lib/misc.lisp: Added help and redisplay to select-item-from-list.
8491        Also changed it so that it displays all items before trying to get
8492        an answer.
8493
84942006-05-19 12:00  gwking
8495
8496        * .cvsignore: The *fsl wasn't cutting it for me..., take two
8497
84982006-05-19 11:57  gwking
8499
8500        * .cvsignore: The *fsl wasn't cutting it for me...
8501
85022006-05-19 11:50  gb
8503
8504        * level-1/version.lisp: Bump.
8505
85062006-05-19 11:49  gb
8507
8508        * level-1/l1-streams.lisp: Change the EVAL-WHEN that requires
8509        syscall definitions so that it can be moused on.
8510
85112006-05-19 11:48  gb
8512
8513        * compiler/X86/X8664/: x8664-arch.lisp, x8664-vinsns.lisp:
8514        .SPeabi-syscall -> .SPsyscall.
8515
85162006-05-19 11:45  gb
8517
8518        * compiler/X86/x862.lisp: Inline ADD2, unless we know that at least
8519        one arg couldn't be a fixnum.  (Should do the same for SUB2.) This
8520        does indeed burn cache lines, but going out of line isn't cheap
8521        either.  (100 million iterations of (+ x (+ y z)) - where X Y and Z
8522        are in fact fixnums and no overflow is involved - seems to be about
8523        2X faster when inlined this way.  Not sure if that'll be the case
8524        on PPC.)
8525
85262006-05-19 11:40  gb
8527
8528        * compiler/nx0.lisp: Use NX-TARGET-TYPE in some of the acode-type
8529        stuff.
8530
85312006-05-18 14:47  gb
8532
8533        * lisp-kernel/ppc-spentry.s: When unwinding the stack (hopefully,
8534        in all places that do so ...), update tcr.xframe from
8535        catch_frame.xframe on all execution paths (in particular, do so
8536        before SP is restored from the catch_frame, since a tcr.xframe
8537        "beyond" SP is clearly bogus.)
8538
85392006-05-18 02:34  gb
8540
8541        * level-1/version.lisp: Bump.
8542
85432006-05-17 23:12  gb
8544
8545        * compiler/PPC/ppc2.lisp: "late" acode-type stuff (add2/sub2/mul2)
8546        for PPC, too.
8547
85482006-05-17 22:53  gb
8549
8550        * level-0/X86/x86-float.lisp: %FP-ERROR-FROM-STATUS: don't cons an
8551        &REST arg.  Should do a quicker test (logandc2 and a shift) to see
8552        if any unmasked exceptions were raised before even calling this ...
8553
85542006-05-17 22:51  gb
8555
8556        * compiler/X86/X8664/x8664-vinsns.lisp: If we have to spill
8557        SINGLE-FLOAT registers, spill them (boxed) on the vstack.
8558
85592006-05-17 22:50  gb
8560
8561        * compiler/X86/x862.lisp: Work harder to find acode types in some
8562        cases.
8563
85642006-05-17 22:50  gb
8565
8566        * compiler/X86/x86-disassemble.lisp: Handle (new-style) byte
8567        registers in OP-REG.
8568       
8569        Don't want to use RET very often if at all, but disassembler should
8570        treat as as a :JUMP.
8571
85722006-05-17 22:48  gb
8573
8574        * compiler/nxenv.lisp: MUL2, DIV2.
8575
85762006-05-17 22:48  gb
8577
8578        * compiler/: nx0.lisp, nx1.lisp: A little of that there
8579        type-inferencing (or, more accurately, paying a little more
8580        attention here and there.)
8581
85822006-05-12 20:40  gwking
8583
8584        * examples/addressbook.lisp: added examples/addressbook.lisp
8585
85862006-05-11 18:42  gb
8587
8588        * level-1/l1-application.lisp: Stop processing command-line
8589        arguments when "--" is encountered; anything after that "--" is
8590        retained in CCL:*UNPROCESSED-COMMAND-LINE-ARGUMENTS*.
8591
85922006-05-11 18:42  gb
8593
8594        * lib/ccl-export-syms.lisp: Export command-line stuff
8595
85962006-05-11 18:40  gb
8597
8598        * level-1/l1-processes.lisp: Lennart Staflin's fix to PRINT-OBJECT
8599        method for LOCKs.
8600
86012006-05-11 18:39  gb
8602
8603        * level-1/l1-files.lisp: In %DIFECTORY-LIST-NAMESTRING: all strings
8604        are base-strings (and always have been in OpenMCL.)
8605
86062006-05-11 18:37  gb
8607
8608        * level-1/l1-sockets.lisp: CCL:BASE-CHARACTER -> CL:BASE-CHAR.
8609
86102006-05-11 08:11  gwking
8611
8612        * lib/db-io.lisp: Added a check that the directory exists to
8613        fid-open-output in order to make it clearer what is wrong when one
8614        is unable to rebuild interface files because they are trying to do
8615        so in a place without FFI files to read!
8616
86172006-05-11 05:14  gb
8618
8619        * level-1/version.lisp, lisp-kernel/image.h, xdump/heap-image.lisp:
8620        Bump lisp-implementation-version, image-abi-version.
8621
86222006-05-11 05:04  gb
8623
8624        * xdump/faslenv.lisp: Bump (min) fasl version.
8625
86262006-05-11 04:52  gb
8627
8628        * lib/nfcomp.lisp: Bump (current) FASL version.
8629
86302006-05-11 04:52  gb
8631
8632        * level-1/l1-files.lisp: FASL-FILE-P looks for inital #xFF00
8633        (big-endian) instead of just #xff, to avoid UTF-16 BOM confusion.
8634
86352006-05-11 04:35  gb
8636
8637        * xdump/faslenv.lisp: Bump (max) fasl version.
8638
86392006-05-11 04:32  gb
8640
8641        * compiler/X86/X8664/x8664-backend.lisp: Little-endianness is a
8642        target-specific feature.
8643
86442006-05-11 03:35  gb
8645
8646        * compiler/PPC/PPC32/ppc32-arch.lisp,
8647        compiler/PPC/PPC32/ppc32-vinsns.lisp, level-0/l0-array.lisp,
8648        level-0/l0-pred.lisp, level-0/PPC/ppc-array.lisp,
8649        level-1/l1-aprims.lisp, level-1/l1-clos-boot.lisp,
8650        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s,
8651        lisp-kernel/ppc-spentry.s, xdump/xppcfasload.lisp: Juggle PPC32
8652        typecodes around: get rid of the (unused) old 16-bit string; add an
8653        (as yet unused) UCS-4 string type.
8654       
8655        These changes generally involve cross-compilation (or some very
8656        tricky bootstrapping that I didn't attempt)  FASL versions and
8657        kernel ABI versions will need to change, and new binaries will be
8658        made available soon.
8659
86602006-05-10 20:20  gb
8661
8662        * compiler/PPC/ppc-lapmacros.lisp,
8663        compiler/PPC/PPC32/ppc32-arch.lisp,
8664        compiler/PPC/PPC32/ppc32-vinsns.lisp,
8665        lisp-kernel/ppc-constants32.h, lisp-kernel/ppc-constants32.s:
8666        Change CHARCODE-SHIFT constant on PPC32, so that the (currently
8667        8-bit) character code is stored in the #x0000xx00 byte of a
8668        CHARACTER, rather than in the #x00xx0000 byte,  This is hard to
8669        bootstrap natively (which is why I was trying to make ppc64->ppc32
8670        cross-compilation work.)
8671       
8672        Change related macros/visnsns as well.
8673
86742006-05-10 19:00  gb
8675
8676        * xdump/xppcfasload.lisp: Reintroduce a TARGET-ARCH-CASE, but I
8677        think that this is just hard to do right the way that it's being
8678        done.
8679
86802006-05-10 18:59  gb
8681
8682        * level-1/ppc-threads-utils.lisp: BOGUS-THING-P is hard to do right
8683        when cross-compiling (because word-size differences aren't handled
8684        correctly by macros.)  Until the macros are fixed, don't even try
8685        ...
8686
86872006-05-10 18:58  gb
8688
8689        * level-1/l1-clos-boot.lisp: In NEW-CLASS-WRAPPER-HASH-INDEX, user
8690        target::target-most-positive-fixnum (not the host's
8691        MOST-POSITIVE-FIXNUM).
8692
86932006-05-10 18:57  gb
8694
8695        * compiler/: nx0.lisp, nx1.lisp: Use NX-TARGET-TYPE in at least a
8696        few places.
8697
86982006-05-10 18:56  gb
8699
8700        * compiler/nx.lisp: XCOMPILE-LAMBDA binds *TARGET-BACKEND*.
8701
87022006-05-10 18:55  gb
8703
8704        * compiler/nx-basic.lisp: NX-TARGET-TYPE: there may be other
8705        differences between host and target types, but try to turn
8706        references to FIXNUM to the appropriate target-specific type.
8707
87082006-05-09 21:01  gb
8709
8710        * compiler/PPC/PPC32/ppc32-vinsns.lisp: UNBOX-BASE-CHAR just checks
8711        that the lowbyte is SUBTAG-CHARACTER; it used to rotate things
8712        around to check the high bits of the char code, but all chars have
8713        been base-chars for several years now ...
8714       
8715        UNBOX-CHARACTER was unused.
8716       
8717        (This is the first step of what may be several bootstrapping steps
8718        to change PPC32::CHARCODE-SHIFT from 16 to 8, so that we have 24
8719        easily-accessed char-code bits on PPC32.)
8720
87212006-05-09 11:48  gb
8722
8723        * lisp-kernel/xlbt.c: No psn in cs_area.
8724
87252006-05-09 02:42  gb
8726
8727        * lisp-kernel/: gc.h, ppc-gc.c: Back out of the extra Boolean arg
8728        to mark_simple_area_range().
8729
87302006-05-09 02:33  gb
8731
8732        * compiler/PPC/: PPC32/ppc32-backend.lisp,
8733        PPC64/ppc64-backend.lisp: Endianness is also target-specific.
8734
87352006-05-09 02:25  gb
8736
8737        * lisp-kernel/thread_manager.c: Thread stack areas are "owned by"
8738        the containing TCR, to make low-level debugging a bit easier.
8739
87402006-05-09 02:25  gb
8741
8742        * lisp-kernel/ppc-gc.c: Mostly some added consistency/sanity checks
8743        and debugging printfs.
8744
87452006-05-09 02:24  gb
8746
8747        * lisp-kernel/ppc-exceptions.h: Note that pc_luser_xp() needs an
8748        extra (signed_natural *) arg, for allocptr displacement.
8749
87502006-05-09 02:23  gb
8751
8752        * lisp-kernel/ppc-exceptions.c: Lots of #ifdef DEBUG fprintfs.
8753       
8754        Change the way that pc_luser_xp() and normalize_tcr() handle alloc
8755        regs/ saved TCR fields.  The general idea is that the after they
8756        run, all threads have tcr->save_allocptr/tcr_save_allocbase set to
8757        VOID_ALLOCPTR; if the thread was interrupted in lisp code, the
8758        allocbase register will be set to VOID_ALLOCPTR and allocptr will
8759        be set to either VOID_ALLOCPTR or to VOID_ALLOCPTR-disp.
8760       
8761        On an interrupt, the caller needs to pass in a signed_natural * to
8762        pick up the allocptr displacement (if consing was interrupted at
8763        the alloc trap); the interrupt handler uses this value to fix up
8764        alloptr when it returns if consing was interrupted.
8765       
8766        This is all pretty clearly right, but something still goes wrong
8767        under some combination of high thread stress, frequent allocation,
8768        and blocking ff-calls.
8769
87702006-05-09 02:17  gb
8771
8772        * lisp-kernel/plbt.c: No psn currently available.
8773
87742006-05-09 02:16  gb
8775
8776        * lisp-kernel/lisp-debug.c: Bug() passes xp to lisp_Debugger(),
8777        where it may come in handy ...
8778
87792006-05-09 02:16  gb
8780
8781        * lisp-kernel/gc.h: mark_simple_area_range() takes an added Boolean
8782        arg.
8783
87842006-05-09 02:13  gb
8785
8786        * lisp-kernel/area.h: area struct's owner is a (TCR *).
8787
87882006-05-09 02:12  gb
8789
8790        * level-1/l1-error-system.lisp: $xfunbnd was used after all.
8791        Restore it.
8792
87932006-05-09 02:12  gb
8794
8795        * level-0/l0-error.lisp, library/lispequ.lisp,
8796        lisp-kernel/errors.s: $xfunbnd was used after all.  Restore it, and
8797        recycle $XNOCDR.
8798
87992006-05-09 02:11  gb
8800
8801        * compiler/PPC/PPC64/ppc64-backend.lisp: :64-bit-target is ...
8802        target-specific.
8803
88042006-05-09 02:11  gb
8805
8806        * compiler/PPC/PPC32/ppc32-backend.lisp: :32-bit-target is ...
8807        target-specific.
8808
88092006-05-09 00:40  gb
8810
8811        * level-1/l1-lisp-threads.lisp: Foreign thread callback stuff moved
8812        here.
8813
88142006-05-09 00:39  gb
8815
8816        * level-1/x86-threads-utils.lisp: Support for BOGUS-THING-P on
8817        x8664.
8818
88192006-05-09 00:39  gb
8820
8821        * level-1/ppc-threads-utils.lisp: Move foreign-thread callback
8822        stuff up to l1-lisp-threads.lisp.
8823
88242006-05-08 22:58  gb
8825
8826        * lisp-kernel/ppc-spentry.s: misc_ref/misc_set jump tables on PPC64
8827        handle array and vector headers.
8828
88292006-05-08 22:57  gb
8830
8831        * library/lispequ.lisp: Synch errors $xbadvec, $xsetbadvec (neither
8832        of which should ever happen) with the kernel.
8833
88342006-05-08 22:56  gb
8835
8836        * level-1/l1-processes.lisp: %PROCESS-PRESET-INTERNAL doesn't need
8837        the TCR either.
8838
88392006-05-08 22:55  gb
8840
8841        * level-1/l1-error-system.lisp: $XFUNBND is no more.
8842
88432006-05-08 22:55  gb
8844
8845        * level-0/l0-error.lisp: Define the format strings for $xbadvec,
8846        $xsetbadvec.
8847
88482006-05-08 03:26  gb
8849
8850        * lisp-kernel/x86-spentry64.s: .SPstkconslist_star: ensure that
8851        flags are set to the result of decrementing %nargs at the end of
8852        the loop.
8853
88542006-05-08 03:25  gb
8855
8856        * level-1/x86-error-signal.lisp: uuo-error-udf: %err-disp-internal
8857        wants a list of condition args, not a single arg.
8858
88592006-05-08 03:24  gb
8860
8861        * level-1/l1-processes.lisp: %PROCESS-PRESET-INTERNAL doesn't need
8862        CS-AREA.
8863
88642006-05-08 03:23  gb
8865
8866        * level-0/X86/x86-symbol.lisp: %FUNCTION: signal error via
8867        uuo_error_udf, not as a type error.
8868
88692006-05-07 16:50  gb
8870
8871        * lib/describe.lisp: INSPECTOR objects haven't had FORWARDED-P
8872        slots in a long time (they probably haven't -needed- them in even
8873        longer; I think that this had to do with the old partial MOP.)
8874        Don't define the slot for FUNCTION-INSPECTOR, and don't call the
8875        accessor in STANDARD-OBJECT-SETF-LINE-N.
8876
88772006-05-07 04:39  gb
8878
8879        * x86-headers64/gtk2/: .cvsignore, C/.cvsignore, C/populate.sh: New
8880        file.
8881
88822006-05-07 04:34  gb
8883
8884        * lisp-kernel/: area.h, lisp_globals.h, memory.c, pmcl-kernel.c,
8885        thread_manager.c: Combine the AREA_LOCK and TCR_LOCK into a single
8886        lock (TCR_AREA_LOCK).  (This makes it a little harder to deadlock
8887        if code that wants both locks isn't careful to try to obtain them
8888        in some canonical order.)
8889
88902006-05-07 04:29  gb
8891
8892        * lib/x86-backtrace.lisp: Finally find those pesky registers.
8893
88942006-05-07 04:29  gb
8895
8896        * level-1/x86-threads-utils.lisp: Stub BOGUS-THING-P moves here.
8897
88982006-05-07 04:28  gb
8899
8900        * level-0/l0-cfm-support.lisp: FOREIGN-SYMBOL-ENTRY: return NIL if
8901        xFindSymbol/dlsym returns 0 on x8664.
8902
89032006-05-07 04:27  gb
8904
8905        * compiler/X86/: x86-lapmacros.lisp, X8664/x8664-vinsns.lisp: Use
8906        PSRLQ/PSLLQ for single-float boxing/unboxing.  (A few months ago,
8907        I'd mistakenly decided that it was faster to go through memory than
8908        to use these instructions.  It seems to actually be substantially
8909        slower, as one would expect.)
8910
89112006-05-07 04:25  gb
8912
8913        * compiler/X86/x86-asm.lisp: Add support for
8914        PSRLQ/PSRLDQ/PSLLQ/PSLLDQ (sse2 shifts.)
8915
89162006-05-07 04:21  gb
8917
8918        * library/hash-cons.lisp: Fix doc in comments.
8919
89202006-05-07 04:21  gb
8921
8922        * lib/ppc-backtrace.lisp: GET/SET-REGISTER-VALUE.
8923
89242006-05-07 04:20  gb
8925
8926        * lib/format.lisp: YES-OR-NO-P: bell goes to *QUERY-IO*.
8927
89282006-05-07 04:19  gb
8929
8930        * lib/backtrace-lds.lisp: Move GET/SET-REGISTER-VALUE to
8931        TARGET-backtrace.lisp.
8932
89332006-05-07 04:18  gb
8934
8935        * level-1/l1-lisp-threads.lisp: Move (implementation-dependent)
8936        BOGUS-THING-P to TARGET-thread-utils.lisp.
8937
89382006-05-07 04:17  gb
8939
8940        * level-1/ppc-threads-utils.lisp: Move (implementation-dependent)
8941        BOGUS-THING-P support here.
8942
89432006-05-07 04:16  gb
8944
8945        * level-1/l1-processes.lisp: Don't set "owner" field of tcr.cs_area
8946        to psn.
8947
89482006-05-06 15:27  gb
8949
8950        * compiler/nx1.lisp: Ash left by constant: prefer the fixnum case
8951        to the "natural" case.
8952
89532006-05-06 15:26  gb
8954
8955        * compiler/X86/x862.lisp: Pass the right number of args to
8956        NATURAL-SHIFT-LEFT and NATURAL-SHIFT-RIGHT.
8957
89582006-05-06 15:26  gb
8959
8960        * compiler/X86/X8664/x8664-vinsns.lisp: Indentation.
8961
89622006-05-06 02:09  gb
8963
8964        * lisp-kernel/thread_manager.c: Let's see: if thread X holds local
8965        A and tries to obtain lock B, and thread Y holds lock B and tries
8966        to obtain lock A, what is that a classic case of ?
8967       
8968        Try to avoid that classic deadlock case in shutdown_thread_tcr()
8969        when HAVE_TLS is in effect.  suspend_other_threads wants to hold
8970        two locks at the same time, and that's always a bit dangerous; it
8971        might be safer to merge TCR_LOCK and AREA_LOCK into a single lock
8972        that must be owned in order to manipulate either the tcr or area
8973        queues.
8974
89752006-05-06 02:04  gb
8976
8977        * level-1/linux-files.lisp: Make (%REALPATH "") behave like
8978        %REALPATH of the current directory namestring, as it does by
8979        default on some platforms (but not Linux.)
8980
89812006-05-05 20:08  gb
8982
8983        * compiler/X86/x862.lisp: x862-ff-call: really implement the
8984        simple-foreign-args stuff.  Box u64/s64, or don't ... but don't do
8985        the el-bizarro <- with a (temp) node target.
8986
89872006-05-05 20:06  gb
8988
8989        * lib/x86-backtrace.lisp: Get PC-FROM-XCF right (it needs to be
8990        relative to the tagged entrypoint, not to the start of the
8991        underlying function-vector.)
8992
89932006-05-05 13:24  gb
8994
8995        * lisp-kernel/x86-spentry64.s: Preserve NEXT-METHOD-CONTEXT when
8996        heap-consing an &REST arg.  (%allocptr and %next-method-context are
8997        the same register, so &rest clobbbers %next-method-context.)
8998       
8999        Could make separate entry points, so that this is only done when
9000        %next-method-context needs to be preserved ...
9001
90022006-05-05 13:21  gb
9003
9004        * level-0/X86/x86-def.lisp: Use RESERVED-FRAME-MARKER.
9005
90062006-05-05 02:23  gb
9007
9008        * freebsd-headers64/libc/C/populate.sh: New file.  Needs some work.
9009
90102006-05-05 02:23  gb
9011
9012        * freebsd-headers64/libc/: .cvsignore, C/.cvsignore: New file.
9013
90142006-05-05 01:37  gb
9015
9016        * level-1/version.lisp: Bump du jour.
9017
90182006-05-05 01:36  gb
9019
9020        * level-0/X86/x86-def.lisp: %FF-CALL: maintain the distinction
9021        between the first 6 words of the outgoing frame (from which GPRs
9022        will be loaded) and other words (which stay on the stack); after
9023        the first 8 FP args, floats have to be passed on the stack, even if
9024        there's still room in the first 6 words of the outgoing frame.
9025       
9026        Need to understand the struct-by-value rules better: can a struct
9027        be passed partly in registers and partly on the stack ? RTFM (or,
9028        in this case, TF ABI spec.)
9029
90302006-05-05 01:31  gb
9031
9032        * compiler/X86/x862.lisp: In X862-FF-CALL:  - the general integer
9033        case should store relative to "other-offset" (rather than   
9034        "gpr-offset") when more than 6 (not 8) GPR args have been passed. 
9035        - both the single and double-float cases were incrementing
9036        "other-offset"     twice when more than 8 FP args were involved.
9037        This had the effect of     storing floats into every other word and
9038        writing beyond the bounds of     the outgoing stack frame, possibly
9039        overwriting return addresses on the     foreign stack.
9040
90412006-05-04 23:12  gb
9042
9043        * level-1/l1-streams.lisp: James Bielman's fix to
9044        READ-TOPLEVEL-FORM (INPUT-STREAM) (EOF handling/peek-char.)
9045
90462006-05-04 18:30  gb
9047
9048        * compiler/X86/X8664/x8664-backend.lisp: When binding FP args,
9049        decrement FPR-ARG-OFFSET by 8, not -8.
9050       
9051        (This could cause values outside of the stack frame to be read, but
9052        I still haven't found what's writing beyond the frame bounds.)
9053
90542006-05-04 18:27  gb
9055
9056        * lib/x86-backtrace.lisp: If its argument is an exception callback
9057        frame, %CFP-LFUN tries to determine the relative PC associated with
9058        the frame's nominal function and return that as a second value
9059        (just as it does for a real frame.)
9060       
9061        I think that this should work a high percentage of the time, but
9062        callers should generally be prepared to deal with a NULL second
9063        return value from %CFP-LFUN.
9064
90652006-05-04 11:12  gb
9066
9067        * compiler/X86/X8664/x8664-backend.lisp: More callback issues:
9068        since we're using the same stack pointer to return values as we are
9069        to find arguments, don't try to "optimize" its initialization.
9070
90712006-05-03 18:52  gb
9072
9073        * compiler/X86/X8664/x8664-backend.lisp: Clean  up x8664 callbacks
9074        a little.  Don't coerce single float results to double; bind
9075        stack-ptr variable even if no args (might be a return value form
9076        that references it.) Failure to do the latter was creating a weird
9077        free variable reference that wasn't handled by the fasloader.
9078
90792006-05-03 18:50  gb
9080
9081        * level-0/nfasload.lisp: $fasl-vmksym-special wasn't implemented.
9082
90832006-05-03 18:49  gb
9084
9085        * lib/nfcomp.lisp: Indent a comment.
9086
90872006-05-03 18:16  gb
9088
9089        * compiler/X86/x862.lisp, level-0/X86/x86-def.lisp: In an %FF-CALL
9090        that might involve a variable-length arglist (at this level,
9091        always), set %rax to the number (0-8) of FP arguments passed in xmm
9092        registers.
9093
90942006-05-03 13:26  gb
9095
9096        * lisp-kernel/x86-exceptions.c: In find_foreign_rsp(), mask with
9097        ~15, not ~!5.  (This was causing segfaults on return from
9098        interrupts sometimes.)
9099
91002006-05-03 13:24  gb
9101
9102        * lib/backtrace.lisp: CLOSURE-CLOSED-OVER-VALUES, which is needed
9103        by SWANK/SLIME.
9104
91052006-05-03 13:23  gb
9106
9107        * lib/backtrace-lds.lisp: FRAME-SUPPLIED-ARGS, hopefully in a form
9108        that'll work on all platforms.  (Note that FRAME-SUPPLIED-ARGS
9109        seems to get many things wrong.)
9110
91112006-05-03 11:37  gb
9112
9113        * level-1/version.lisp: You mist have yesterday's version.
9114
91152006-05-03 11:37  gb
9116
9117        * level-0/X86/x86-def.lisp: Implement #'%FF-CALL.  Not too much
9118        LAP.
9119
91202006-05-03 11:36  gb
9121
9122        * level-0/l0-init.lisp: Put :X86-64 and :AMD64 on *FEATURES* if
9123        #+x8664-target.
9124
91252006-05-03 11:36  gb
9126
9127        * compiler/X86/X8664/x8664-vinsns.lisp: Bad typo in UNBOX-S64, and
9128        it can just check for a 2-digit bignum header if it has something
9129        of tag TAG-MISC.
9130
91312006-05-03 11:34  gb
9132
9133        * compiler/X86/x862.lisp: X862-COPY-REGISTER: handle :S64
9134        destinations.
9135
91362006-05-03 11:33  gb
9137
9138        * compiler/X86/x86-disassemble.lisp: Recognize
9139        uuo-error-eep-unresolved.
9140
91412006-05-02 18:07  gb
9142
9143        * level-1/version.lisp: Bump.
9144
91452006-05-02 18:07  gb
9146
9147        * lib/: backtrace-lds.lisp, describe.lisp: Comment out stuff that's
9148        (mostly ?) unused and currently PPC-specific, if it works at all
9149        ...
9150
91512006-05-02 10:27  gb
9152
9153        * level-1/l1-streams.lisp: Don't definea STREAM-CLEAR-INPUT method
9154        for STRING-INPUT-STREAMs; it's not clear what such a method should
9155        do (and fairly clear that it shouldn't do what the previous
9156        definition was doing.)
9157
91582006-05-02 10:26  gb
9159
9160        * lib/format.lisp: clear input from *query-io*, not from
9161        *terminal-io* in YES-OR-NO-P, Y-OR-N-P
9162
91632006-05-02 10:26  gb
9164
9165        * library/hash-cons.lisp: x8664 lap
9166
91672006-05-02 10:26  gb
9168
9169        * lisp-kernel/x86-gc.c: hons area stuff
9170
91712006-04-29 09:14  gb
9172
9173        * lisp-kernel/x86-exceptions.c: Write-protect handlers for stack
9174        overflow (on value/temp stacks).
9175
91762006-04-29 09:13  gb
9177
9178        * level-1/x86-trap-support.lisp: Handle stack overflow in cmain
9179        callback.
9180
91812006-04-29 09:10  gb
9182
9183        * lisp-kernel/freebsd8664/Makefile: x86-gc.o.
9184       
9185        No linker script.
9186       
9187        Use -lthr, which offers 1:1 threads.
9188
91892006-04-29 09:09  gb
9190
9191        * lisp-kernel/lisptypes.h: Remove the __sighandler typedef.
9192
91932006-04-29 09:01  gb
9194
9195        * lisp-kernel/x86-exceptions.h: xpMMXreg for FreeBSD.
9196
91972006-04-29 09:00  gb
9198
9199        * lisp-kernel/x86-exceptions.c: Don't use __sighandler_t.  (See if
9200        anything cares ...)
9201
92022006-04-29 08:59  gb
9203
9204        * lisp-kernel/x86-constants64.h: FreeBSD register constants.
9205
92062006-04-29 08:58  gb
9207
9208        * lisp-kernel/lisp-debug.c: FreeBSD regiser names.
9209
92102006-04-29 08:58  gb
9211
9212        * lisp-kernel/area.h: Update IMAGE_BASE_ADDRESS for FreeBSD.
9213
92142006-04-28 21:28  gb
9215
9216        * level-1/version.lisp: bump.
9217
92182006-04-28 21:27  gb
9219
9220        * lib/backtrace.lisp: changes to print-call-history (and "internal"
9221        version).
9222
92232006-04-28 21:24  gb
9224
9225        * lib/ppc-backtrace.lisp: Fix typo.
9226
92272006-04-28 21:23  gb
9228
9229        * level-1/l1-readloop-lds.lisp: Add :NFRAMES break loop command.
9230       
9231        Change the command/keyword parser a little, so that :FOO is just
9232        :FOO and not (:FOO).
9233       
9234        Change :B break loop command (and :F) to allow focusing on a range
9235        of frames, and change PRINT-CALL-HISTORY to more easily support
9236        that.
9237
92382006-04-28 19:37  gb
9239
9240        * level-0/PPC/ppc-numbers.lisp: Remove a quote from a LAP
9241        LOAD-CONSTANT form.
9242
92432006-04-28 19:34  gb
9244
9245        * lib/: backtrace.lisp, ppc-backtrace.lisp, x86-backtrace.lisp:
9246        Factor out a little more.  Time to see what's broken on PPC ...
9247
92482006-04-28 19:34  gb
9249
9250        * level-1/: l1-readloop-lds.lisp, l1-streams.lisp: Make parens
9251        around colon-commands optional.
9252
92532006-04-28 04:11  gb
9254
9255        * lisp-kernel/linuxx8664/.gdbinit: 'lregs' calls the kernel
9256        debugger's register display code.
9257
92582006-04-28 04:11  gb
9259
9260        * lisp-kernel/xlbt.c: Don't claim that the (legitimate) last frame
9261        on the stack is bogus.
9262
92632006-04-28 04:10  gb
9264
9265        * lisp-kernel/x86-exceptions.c: Create fake stack frames (sort of
9266        ...) when calling back for an exception.
9267
92682006-04-28 03:36  gb
9269
9270        * lisp-kernel/x86-constants64.h: A few symbolic register names.
9271       
9272        xcf struct.
9273
92742006-04-28 03:36  gb
9275
9276        * library/lispequ.lisp: FAKE-STACK-FRAME is #+ppc-target.
9277
92782006-04-28 03:36  gb
9279
9280        * lib/x86-backtrace.lisp: Implemented some stuff.
9281       
9282        Backtrace (sort of) works on x8664 now; need to find register
9283        values,  hide tagged return addresses, a few other things.
9284
92852006-04-28 03:34  gb
9286
9287        * lib/ppc-backtrace.lisp: Stuff moved here from elsewhere.
9288
92892006-04-28 03:34  gb
9290
9291        * lib/backtrace-lds.lisp: LAST-CATCH-SINCE moved elsewhere.
9292
92932006-04-28 03:33  gb
9294
9295        * level-1/x86-trap-support.lisp: Flags register accessor.
9296       
9297        New exception callback scheme.
9298
92992006-04-28 03:33  gb
9300
9301        * level-1/x86-threads-utils.lisp: The lowlevel system keeps
9302        changing.
9303
93042006-04-28 03:32  gb
9305
9306        * level-1/x86-error-signal.lisp: New exception callback stuff.
9307
93082006-04-28 03:32  gb
9309
9310        * level-1/l1-readloop-lds.lisp: No fake stack frames on x86.
9311
93122006-04-28 03:32  gb
9313
9314        * level-1/l1-lisp-threads.lisp: Move more stuff to arch-specific
9315        files.
9316
93172006-04-28 03:31  gb
9318
9319        * level-1/l1-events.lisp: No fake-stack-frames on x86, but we do
9320        have exception callback frames ...
9321
93222006-04-28 03:30  gb
9323
9324        * level-1/l1-error-system.lisp: Tweak :report method for
9325        wrong-number-of-args errors.
9326
93272006-04-28 03:30  gb
9328
9329        * level-0/X86/x86-def.lisp: Implement APPLY+.
9330
93312006-04-28 03:29  gb
9332
9333        * compiler/X86/X8664/x8664-arch.lisp: eXception Callback Frame.
9334
93352006-04-28 03:27  gb
9336
9337        * compiler/X86/x86-lapmacros.lisp: Add missing IN-PACKAGE.
9338       
9339        CHECK-NARGS: don't enforce upper bound if it's null.
9340
93412006-04-28 03:17  gb
9342
9343        * compiler/X86/x86-arch.lisp: x86 xFLAGS bits.
9344
93452006-04-28 03:16  gb
9346
9347        * compiler/nx0.lisp: Allow (FUNCTION (SETF name)) in
9348        IGNORE/IGNORABLE/DYNAMIC-EXTENT declarations.
9349
93502006-04-26 14:18  gb
9351
9352        * compiler/nx0.lisp: Allow (SETF NAME) in DEFINE-COMPILER-MACRO.
9353
93542006-04-26 14:17  gb
9355
9356        * lib/misc.lisp: Disassemble is supposed to signal an error (or "be
9357        prepared" to do so) if its argument isn't a function designator, so
9358        don't quietly call METHOD-FUNCTION for the user.
9359
93602006-04-26 13:56  gb
9361
9362        * lib/encapsulate.lisp: Use REPLACE-FUNCTION-CODE (not (SETF (UVREF
9363        ...))) in ENCAPSULATE, REMOVE-ENCAPSULATION.
9364
93652006-04-26 03:59  gb
9366
9367        * lisp-kernel/: x86-spentry64.s, x86-subprims64.s: zero out the
9368        exception bits whenever mxcsr is stored in tcr.foreign_mxcsr, so no
9369        exceptions will be pending when we start an ff-call (and the mxcsr
9370        is loaded from that location.)
9371       
9372        tcr.ffi_exception will then contain non-zero exception bits iff the
9373        most recent ff-call raised a (probably masked) FP exception.
9374       
9375        TODO: make this reentrant (PROCESS-INTERRUPT should preserve this.)
9376
93772006-04-26 03:55  gb
9378
9379        * lisp-kernel/x86-constants.s: define mxcsr exception bits.
9380
93812006-04-26 03:23  gb
9382
9383        * lisp-kernel/x86-constants64.s: Update comment on
9384        tcr.ffi_exception.
9385
93862006-04-26 03:22  gb
9387
9388        * lisp-kernel/x86-spentry64.s: Maintain tcr.ffi_exception on return
9389        from ffcall.  (Should maybe clear exception bits on entry to
9390        foreign state, so we're sure that any exception bits set in the
9391        tcr.ffi_exception slot were caused by the most recent ff-call.)
9392
93932006-04-26 03:20  gb
9394
9395        * level-0/X86/x86-float.lisp: Check MXCSR status bits from last
9396        ffcall, compare them to unmasked exception bits in current MXCSR,
9397        maybe raise FP exception.  (Note: compile this change and rebuild
9398        image before making corresponding kernel change.)
9399
94002006-04-26 02:31  gb
9401
9402        * lisp-kernel/x86-spentry64.s: .SPbuiltin-logxor was calling out to
9403        LOGAND-2, not to LOGXOR-2.  Sheesh.
9404
94052006-04-26 02:01  gb
9406
9407        * compiler/X86/X8664/x8664-vinsns.lisp: %ILOGBITP treats "large"
9408        bit numbers as tests of the sign bit.   (This is probably best
9409        viewed as being "formally undefined", but it's not too expensive to
9410        check for that.  The case where the bit number's negative is
9411        definitely undefined; I think that it also gets treated as a test
9412        of the sign bit.)
9413
94142006-04-26 01:58  gb
9415
9416        * lisp-kernel/x86-spentry64.s: Logbitp calls out if bit number
9417        negative.
9418
94192006-04-26 01:32  gb
9420
9421        * lisp-kernel/x86-spentry64.s: If both args fixnums, handle bits >=
9422        61.  (Should check here for negative bit .)
9423
94242006-04-26 01:31  gb
9425
9426        * lisp-kernel/x86-exceptions.c: If we get the "no FP regs in
9427        context" error - which typically indicates a fault during exception
9428        processing - pass the context in to the kernel debugger.
9429
94302006-04-26 01:30  gb
9431
9432        * level-0/X86/x86-pred.lisp: Change EQL doc string.
9433
94342006-04-26 00:56  gb
9435
9436        * level-0/X86/x86-pred.lisp: EQL on two bignums works much better
9437        if it compares all corresponding digits, rather than repeatedly
9438        comparing the 0th digits N times ...
9439
94402006-04-25 17:38  gb
9441
9442        * lisp-kernel/x86-spentry64.s: _SPmvslide: skip the loop if nargs
9443        is 0, not if disp is 0.  ash: always make a signed integer out of
9444        the result,  since arg is always signed.
9445
94462006-04-25 17:37  gb
9447
9448        * level-0/X86/x86-float.lisp: Negate floats by fliping the sign
9449        bit, so (for instance) (- 0.0d0) is -0.0d0.
9450
94512006-04-25 17:36  gb
9452
9453        * level-0/X86/x86-hash.lisp: Hash bignums 32 bits (not 64!) at a
9454        time.
9455
94562006-04-25 17:35  gb
9457
9458        * compiler/X86/x862.lisp: %%INEG: need to ensure that source
9459        operand is in target reg (2-address issue.)
9460
94612006-04-24 16:42  gb
9462
9463        * lisp-kernel/x86-spentry64.s: How hard can misc_set_s32 be ?
9464        Apparently, pretty hard.  It was doing a logical shift right when
9465        typechecking the value, so negative values were rejected.
9466
94672006-04-24 16:41  gb
9468
9469        * lisp-kernel/x86-exceptions.c: Call out to handle SIGFPE.  cmain
9470        callback now takes a 'signo' argument.
9471
94722006-04-24 16:40  gb
9473
9474        * level-1/x86-trap-support.lisp: Initial support for handling
9475        arithmetic errors.  Will need more work to get operation and
9476        operands right.
9477
94782006-04-24 16:39  gb
9479
9480        * lib/compile-ccl.lisp: REBUILD-CCL: :reload arg defaults to T.
9481
94822006-04-24 13:58  gb
9483
9484        * level-1/x86-error-signal.lisp: SETQ (not #'SET) in the
9485        uuo-error-reg-not-type case.
9486
94872006-04-24 13:57  gb
9488
9489        * level-0/X86/x86-float.lisp: Generally want to use FPZERO, not
9490        FP0, for 0.0[d,f]0.  (One case wanted to use fp1, but that's
9491        another story.)
9492
94932006-04-24 13:55  gb
9494
9495        * compiler/X86/X8664/x8664-vinsns.lisp: REQUIRE-REAL,
9496        REQUIRE-NUMBER: mask wont fit in 32 bits.  OTOH, doesn't need to be
9497        boxed, either.
9498
94992006-04-24 12:02  gb
9500
9501        * lisp-kernel/x86-spentry64.s: misc_set_s32: register botch.
9502        _SPtcallnfngen: several bugs, which were already fixed in similar
9503        variants.
9504
95052006-04-24 12:01  gb
9506
9507        * lisp-kernel/x86-gc.c: Use FORCE_DWS_MARK to force use of the
9508        Deutch/Waite/Schorr marker.
9509
95102006-04-24 12:00  gb
9511
9512        * lisp-kernel/pmcl-kernel.c: Only turn on GC debug bit if
9513        GC_INTEGRITY_CHECKING is defined (e.g., in Makefile.)
9514
95152006-04-24 11:59  gb
9516
9517        * level-1/linux-files.lisp: Remove debugging FORMAT call.
9518
95192006-04-24 11:58  gb
9520
9521        * level-0/X86/x86-numbers.lisp: %ROUND-NEAREST-SHORT-FLOAT->FIXNUM:
9522        argument is a SINGLE/SHORT-FLOAT, so don't access as a
9523        DOUBLE-FLOAT.
9524
95252006-04-24 11:58  gb
9526
9527        * level-0/X86/x86-float.lisp: %MAKE-FLOAT-FROM-FIXNUMS: mask the
9528        high and low words of the mantissa, to ensure that no hidden bits
9529        are set.  (Some such bits were set, causing many double-float
9530        constansts - like MOST-POSITVE-DOUBLE-FLOAT - to be bogus NaNs).
9531
95322006-04-24 02:21  gb
9533
9534        * lisp-kernel/image.c: Expect a MANAGED_STATIC section in the
9535        image.
9536       
9537        (Don't expect it to have any contents yet; that'll require several
9538        more changes.   This is all intended to support PURIFY on x8664,
9539        where we'll want to ensure that any constant referenced by a
9540        function in readonly/pure memory has a fixed, static address.)
9541
95422006-04-24 02:14  gb
9543
9544        * lisp-kernel/image.h: Bump IMAGE_ABI_VERSION.  New managed_static
9545        section makes NUM_IMAGE_SECTIONS 4.
9546
95472006-04-24 02:13  gb
9548
9549        * lisp-kernel/area.h: Typo in the definition of
9550        AREA_MANAGED_STATIC.
9551
95522006-04-24 02:12  gb
9553
9554        * lisp-kernel/: pmcl-kernel.c, kernel-globals.h: Global pointers to
9555        more areas.
9556
95572006-04-24 02:12  gb
9558
9559        * lisp-kernel/ppc-exceptions.c: EGC write-barrier labels are the
9560        addresses of instructions (not pointers thereto ...)
9561
95622006-04-24 02:11  gb
9563
9564        * lisp-kernel/ppc-gc.c: Add conditionalization to force DWS marker
9565        (mostly so that I could step through it to remember how it worked
9566        ...).
9567
95682006-04-24 02:10  gb
9569
9570        * lisp-kernel/ppc-spentry.s: write-barrier exported symbols: remove
9571        indirection.
9572
95732006-04-24 02:09  gb
9574
9575        * lisp-kernel/x86-gc.c: Remove a sanity check.
9576
95772006-04-24 02:09  gb
9578
9579        * xdump/xfasload.lisp: Create (empty) managed-static section
9580        (mostly for x8664 PURIFY, but might be useful on PPC someday.)
9581
95822006-04-24 02:08  gb
9583
9584        * xdump/heap-image.lisp: New image-abi-version, for managed-static
9585        section.
9586
95872006-04-24 02:07  gb
9588
9589        * level-1/linux-files.lisp: GET-DESCRIPTOR-FOR: try not to leak
9590        fds, take CLOSE-ON-ERROR more seriously.
9591
95922006-04-24 02:06  gb
9593
9594        * compiler/PPC/ppc2.lisp: (eq %FOREIGN-STACK-POINTER
9595        %CURRENT-FRAME-PTR) on PPC32/64.
9596
95972006-04-24 00:50  gb
9598
9599        * level-1/version.lisp: Bump.  Getting there ...
9600
96012006-04-24 00:50  gb
9602
9603        * level-0/l0-misc.lisp: Use %GET-NATURAL where possible.
9604       
9605        Note that TCRs aren't guaranteed to be in the low 32 bits on x8664,
9606        so pass them as a pointer to avoid word-size issues.
9607
96082006-04-24 00:48  gb
9609
9610        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Implement
9611        things that had been missing.
9612
96132006-04-24 00:48  gb
9614
9615        * compiler/X86/x86-disassemble.lisp: Recognize recently-defined
9616        UUOs.
9617
96182006-04-24 00:48  gb
9619
9620        * compiler/X86/x86-backend.lisp: Fix FIXUP-OPCODE-ORDINALS (again).
9621
96222006-04-24 00:47  gb
9623
9624        * compiler/X86/x86-asm.lisp: UUO-ERROR-ARRAY-BOUNDS.
9625
96262006-04-24 00:47  gb
9627
9628        * compiler/PPC/PPC64/ppc64-vinsns.lisp: A little word-size cleanup.
9629
96302006-04-24 00:47  gb
9631
9632        * compiler/nxenv.lisp: %FOREIGN-STACK-POINTER.
9633
96342006-04-24 00:46  gb
9635
9636        * compiler/nx1.lisp: WITH-C-FRAME, WITH-VARIABLE-C-FRAME: use (new)
9637        %FOREIGN-STACK-POINTER, not %CURRENT-FRAME-PTR (differ on x8664;
9638        need to boostrap on PPC).
9639       
9640        Parse %FOREIGN-STACK-POINTER.
9641
96422006-04-22 03:30  gb
9643
9644        * lisp-kernel/thread_manager.c: If we're using thread-local-storage
9645        (HAVE_TLS is defined), make shutdow_thread_tcr() dequeue the tcr,
9646        because (a) nothing else will and (b) the tcr will likely become
9647        unmapped soon, and we don't want things that walk the tcr list to
9648        segfault.
9649
96502006-04-22 03:27  gb
9651
9652        * lisp-kernel/x86-exceptions.c: Something's clearly wrong in
9653        find_foreign_rsp; call Bug() and exit() if the context has no
9654        fpregs.  (That's a symptom, not the proble, but it's slightly
9655        better to do this than to double fault, which is what seems to be
9656        happening.)
9657
96582006-04-21 10:12  gb
9659
9660        * lisp-kernel/x86-exceptions.c: implement pc_luser_xp; just has to
9661        worry about consing, write-barrier stuff.
9662
96632006-04-21 10:11  gb
9664
9665        * lisp-kernel/x86-constants.h: Define X86 flags register bits
9666        (condition codes.)
9667
96682006-04-21 10:11  gb
9669
9670        * lisp-kernel/x86-exceptions.h: change the signature of pc_luser_xp
9671        (again.)
9672       
9673        Define enumeration constants for matching the instructions that can
9674        occur during consing.
9675
96762006-04-21 10:09  gb
9677
9678        * lisp-kernel/x86-spentry64.s: Preserve %temp0 in
9679        store_node_conditional, in case pc_luser_xp() needs to complete the
9680        memoization.
9681
96822006-04-21 02:50  gb
9683
9684        * lisp-kernel/x86-spentry64.s: Use only the value of the first
9685        instance of :ALLOW-OTHER-KEYS to determine whether unknown keys are
9686        allowed.
9687
96882006-04-21 02:49  gb
9689
9690        * lisp-kernel/lisp-debug.c: Tweak things so that %rip and %flags
9691        line up with GPRs.
9692
96932006-04-21 02:48  gb
9694
9695        * lib/sequences.lisp: SIMPLE-1D-ARRAY-SUBSEQ: 64-bit vector case is
9696        #+64-bit-target, not #+ppc64-target.
9697
96982006-04-21 02:47  gb
9699
9700        * level-0/X86/x86-array.lisp: %SIMPLE-BIT-BOOLE: shift by the right
9701        amount.
9702
97032006-04-21 02:46  gb
9704
9705        * level-0/l0-array.lisp: %UVECTOR-REPLACE: 64-bit vectors aren't
9706        unique to PPC64 (but do depend on #+64-bit-target).
9707
97082006-04-21 02:46  gb
9709
9710        * compiler/X86/x862.lisp: The binding(s) of *INTERRUPT-LEVEL*
9711        confuse PROGV; remove them, for now.
9712
97132006-04-20 23:35  gb
9714
9715        * lisp-kernel/x86-spentry64.s: In the bignum case of
9716        .SPinteger-sign, sign-extend the bignum's sign digit instead of ...
9717        whatever the code was trying to do there.
9718       
9719        In the lexpr-has-two-values case of .SPspread-lexprz, load arg_y
9720        and arg_z from the correct offsets within the lexpr.
9721
97222006-04-20 04:48  gb
9723
9724        * lisp-kernel/x86-gc.c: Get the link-inverting marker written;
9725        force it to always be used, for now.
9726
97272006-04-19 17:11  gb
9728
9729        * lisp-kernel/pmcl-kernel.c: (Very) different
9730        MAXIMUM_MAPPABLE_MEMORY for Solaris.
9731
97322006-04-19 17:10  gb
9733
9734        * lisp-kernel/area.h: (Very) different IMAGE_BASE_ADDRESS for
9735        Solaris.
9736
97372006-04-19 00:35  gb
9738
9739        * lisp-kernel/x86-gc.c: Write a few paragraphs outlining how the
9740        reversing-pointer marker should work.  (Perhaps it's a strong
9741        argument for implementing "purify" soon.)
9742
97432006-04-19 00:34  gb
9744
9745        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
9746        function-boundary-marker.
9747
97482006-04-19 00:33  gb
9749
9750        * lisp-kernel/macros.h: Add node_aligned and indirect_node macros.
9751
97522006-04-18 19:35  gb
9753
9754        * lisp-kernel/x86-spentry64.s: Comparison was backwards in
9755        multiple-value case of THROW: don't want to do unbind_to if tcr's
9756        db-link matches target catch frame's.
9757
97582006-04-18 19:33  gb
9759
9760        * lisp-kernel/x86-uuo.s: Add UUO-ERROR-DEBUG-TRAP, remove
9761        UUO-ERROR-STACK-OVERFLOW.  Still need to get this completely in
9762        synch with x86-asm.
9763
97642006-04-18 19:33  gb
9765
9766        * level-1/l1-readloop-lds.lisp: Say more about the availability of
9767        :R in break messages.
9768       
9769        Say more about :C in :R.
9770
97712006-04-18 19:32  gb
9772
9773        * level-1/l1-readloop.lisp: Remove the #+x86-target debugging code
9774        in QUIT's PROCESS-INTERRUPT call, since the closure- trashing bug
9775        seems to have been fixed.
9776
97772006-04-18 19:31  gb
9778
9779        * level-1/x86-error-signal.lisp: Recognize (uuo-error-not-tag %rn
9780        x8664::subtag-catch-tag) as CANT-THROW-ERROR.  (Yes, this is a
9781        horrible kludge, but it only happens once.)
9782
97832006-04-18 19:19  gb
9784
9785        * level-1/l1-processes.lisp: Remove the #+x86-target debugging code
9786        in PROCESS-EXIT-APPLICATION, since the closure- trashing bug seems
9787        to have been fixed.
9788
97892006-04-18 19:18  gb
9790
9791        * level-0/X86/x86-pred.lisp: EQL on bignums wasn't using
9792        X8664::MISC-DATA-OFFSET, so it was comparing a few bytes beyond the
9793        ends of its arguments and ignoring the first few bytes (as well as
9794        doing misaligned memory references.)
9795
97962006-04-18 19:16  gb
9797
9798        * level-0/X86/x86-def.lisp: Insert the PPC version of APPLY+ here.
9799        This'll require some thought, mostly because of the reserved-frame
9800        issue(s).
9801
98022006-04-18 06:21  gb
9803
9804        * lisp-kernel/ppc-constants32.s: Comment mishaps.  These wacky
9805        adventures are about to end, I'm afraid.
9806
98072006-04-18 06:04  gb
9808
9809        * level-1/version.lisp: Daily bump.
9810
98112006-04-18 05:59  gb
9812
9813        * level-1/l1-sockets.lisp: Comment indentation.
9814
98152006-04-18 05:56  gb
9816
9817        * level-0/PPC/ppc-def.lisp: Move APPLY+ here.
9818
98192006-04-18 05:55  gb
9820
9821        * lib/setf-runtime.lisp: Move APPLY+ (which is defined in LAP) to
9822        ppc-def (that means that there will need to be an APPLY+ for
9823        x8664).
9824
98252006-04-18 05:38  gb
9826
9827        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp: Try to get the
9828        compiler and x8664-vinsn-templates to agree on vinsn-names and
9829        implement some vinsns that had been missing.  (About 15 or so
9830        undefined vinsns remain.)
9831
98322006-04-18 05:37  gb
9833
9834        * compiler/X86/x86-backend.lisp: The mechanism that tries to fixup
9835        opcode ordinals in vinsn templates (e.g., in case new instructions
9836        are defined in the assembler) wasn't checking to see if vinsn
9837        templates named in the hash table were defined.  (It was apparently
9838        getting away with this because CONSP was broken.)  So, don't try to
9839        fixup opcode ordinals in NIL, and optionally report templates
9840        that're referenced but not defined.
9841
98422006-04-18 04:38  gb
9843
9844        * compiler/X86/x862.lisp: CONSP was using the EXTRACT-FULLTAG vinsn
9845        (which only sets the low 8 bits of its destination), then comparing
9846        all 64-bits of the destination to a zero-extended 32-bit constant.
9847        (E.g., CONSP had little chance of being right all other things
9848        being equal, but may have been right more than one in 2^56 times if
9849        some random preceding instruction had zeroed the upper 56 bits.)
9850       
9851        (It's also shorter to do an 8-bit compare.)
9852
98532006-04-18 03:11  gb
9854
9855        * level-0/X86/x86-hash.lisp: box-fixnum arg order in %DFLOAT-HASH.
9856
98572006-04-18 02:51  gb
9858
9859        * compiler/X86/X8664/x8664-vinsns.lisp: Now that all assemblers are
9860        happy (well, as happy as they're going to be ...), back to finding
9861        bugs.  MULTIPLY-FIXNUMS has to unbox one arg (the source).
9862
98632006-04-18 01:26  gb
9864
9865        * lisp-kernel/thread_manager.c: Some Solaris changes.
9866
98672006-04-18 00:48  gb
9868
9869        * lisp-kernel/solarisx64/Makefile: The version of gm4 that Sun
9870        installs in /usr/sfw/bin is both newer and buggier than the version
9871        available on the "Solaris Companion" disk, which gets installed in
9872        /opt/sfw/bin.
9873       
9874        Ordinarily, I'd wonder why a "companion" disk offers to install
9875        software that's bundled as part of the installation (especially old
9876        versions of that software.)  Now I know.
9877
98782006-04-18 00:45  gb
9879
9880        * lisp-kernel/x86-spentry64.s: # __line__ wasn't a comment.
9881
98822006-04-18 00:45  gb
9883
9884        * lisp-kernel/m4macros.m4: Fix changecom.
9885
98862006-04-18 00:11  gb
9887
9888        * lisp-kernel/x86-spentry64.s: x8664 linux as doesn't like typos,
9889        but is otherwise fine with single-line /* */.
9890
98912006-04-18 00:09  gb
9892
9893        * lisp-kernel/: errors.s, imports.s, lisp.s, m4macros.m4,
9894        ppc-asmutils.s, ppc-constants.s, ppc-constants32.s,
9895        ppc-constants64.s, ppc-macros.s, ppc-spentry.s, ppc-spjump.s,
9896        ppc-subprims.s, ppc-uuo.s, x86-asmutils64.s, x86-constants.s,
9897        x86-constants64.s, x86-macros.s, x86-spentry64.s, x86-spjump64.s,
9898        x86-subprims64.s, x86-uuo.s, darwinppc/Makefile,
9899        darwinppc64/Makefile: Whoops.  Darwin as doesn't like #.  I dont
9900        like Darwin as, but we're back to single-line /* */, which is often
9901        pretty ugly and not well-supported by Emacs.
9902
99032006-04-17 23:23  gb
9904
9905        * lisp-kernel/: errors.s, imports.s, lisp.s, m4macros.m4,
9906        ppc-asmutils.s, ppc-constants.s, ppc-constants32.s,
9907        ppc-constants64.s, ppc-uuo.s, x86-asmutils64.s, x86-constants.s,
9908        x86-constants64.s, x86-macros.s, x86-spjump64.s, x86-subprims64.s,
9909        x86-uuo.s: Use #/newline for comment delimiters, which is supported
9910        by Emacs and by all current GAS versions (but see ARM conventions.)
9911         No more jerking around with this, knock wood.
9912
99132006-04-17 23:23  gb
9914
9915        * lisp-kernel/x86-spentry64.s: _SPspread_lexprz wasn't handling the
9916        case where caller provided args before the lexpr, which is much
9917        harder than the simple case.
9918       
9919        Use #/newline for comment delimiters, which is supported by Emacs
9920        and by all current GAS versions (but see ARM conventions.)  No more
9921        jerking around with this, knock wood.
9922
99232006-04-17 23:20  gb
9924
9925        * level-0/X86/x86-numbers.lisp: %FIXNUM-GCD was horrible, espcially
9926        when numbers differed greatly in magnitude.  Current (binary)
9927        algorithm is usually OK.
9928
99292006-04-17 23:17  gb
9930
9931        * compiler/X86/x86-lap.lisp: Condition name should be
9932        UNDEFINED-X86-LAP-LABEL, since it's (a) referenced and (b) that's
9933        not the problem.  Name wasn't spelled correctly in code that
9934        signals the condition, anyway.
9935
99362006-04-17 16:34  gb
9937
9938        * lisp-kernel/x86-exceptions.c: pc_luser_xp always takes a tcr
9939        argument, takes a new boolean to distinguish current tcr from
9940        others.  (The current tcr is only lusered on an interrupt; others
9941        are only lusered on GC entry.)
9942
99432006-04-17 16:33  gb
9944
9945        * lisp-kernel/x86-exceptions.h: X86 prototype for pc_luser_xp moved
9946        here.  (No deep reason not to share the new x86 signature on all
9947        architectures.)
9948
99492006-04-17 16:32  gb
9950
9951        * lisp-kernel/ppc-exceptions.h: PPC prototype for pc_luser_xp moved
9952        here.  (No deep reason not to share the new x86 signature on all
9953        architectures.)
9954
99552006-04-17 16:31  gb
9956
9957        * lisp-kernel/lisp-exceptions.h: prototype for pc_luser_xp is
9958        platform-dependent.
9959
99602006-04-17 06:49  gb
9961
9962        * level-1/l1-readloop.lisp: In the closure created in QUIT, only do
9963        CCL::DBG if (a) we're on X86 and (b) the inner closure is bad
9964        already.
9965
99662006-04-17 06:17  gb
9967
9968        * lisp-kernel/lisptypes.h: Don't know if there's such a thing as
9969        truly portable type name.
9970
99712006-04-17 06:16  gb
9972
9973        * lisp-kernel/: errors.s, lisp.s, m4macros.m4, x86-constants.s,
9974        x86-constants64.h, x86-constants64.s, x86-exceptions.c,
9975        x86-exceptions.h, x86-gc.c, x86-macros.s, x86-spentry64.s,
9976        x86-spjump64.s, x86-uuo.s: Well, // style comments seem to only
9977        work if they're at the start of a line in Linux GAS.  Try /* */
9978        comments, but limit them to a single line.  (May ultimately be
9979        better to use m4 dnl - carefully - and avoid end-of-line comments.)
9980
99812006-04-17 05:28  gb
9982
9983        * lisp-kernel/: x86-macros.s, x86-spentry64.s, x86-spjump64.s,
9984        x86-subprims64.s, x86-uuo.s: // comments.
9985
99862006-04-17 05:28  gb
9987
9988        * lisp-kernel/x86-gc.c: timeradd, timersub.  Other Solaris
9989        conditionalization.
9990
99912006-04-17 05:27  gb
9992
9993        * lisp-kernel/x86-exceptions.h: Solaris-related changes (xp
9994        accessors, etc.)
9995
99962006-04-17 05:26  gb
9997
9998        * lisp-kernel/x86-exceptions.c: Solaris-related changes (mostly in
9999        the sigstack trampoline stuff.)
10000
100012006-04-17 05:25  gb
10002
10003        * lisp-kernel/x86-constants64.h: // comments, Solaris-friendly
10004        integer types.
10005
100062006-04-17 05:24  gb
10007
10008        * lisp-kernel/: x86-asmutils64.s, x86-constants.s,
10009        x86-constants64.s: // comments.
10010
100112006-04-17 05:23  gb
10012
10013        * lisp-kernel/pmcl-kernel.c: Some Solaris conditionalization.
10014        Solaris mmap() is ... unusual.
10015
100162006-04-17 05:21  gb
10017
10018        * lisp-kernel/m4macros.m4: Use C++-style single-line comments,
10019        since Solaris version of GAS doen't handle multi-line comments (/*
10020        ... */).  It -seems- that other assemblers do handle them
10021        correctly; we'll see.
10022       
10023        Some Solaris conditionalization (ELFstabs, etc.)
10024
100252006-04-17 05:20  gb
10026
10027        * lisp-kernel/lisptypes.h: Conditionalize for Solaris (type names).
10028         We'll see what this breaks.
10029
100302006-04-17 05:19  gb
10031
10032        * lisp-kernel/lisp.h: PLATFORM_OS is PLATFORM_OS_SOLARIS when
10033        SOLARIS is defined.
10034
100352006-04-17 05:18  gb
10036
10037        * lisp-kernel/lisp-debug.c: Solaris conditionalization; print
10038        registers in predictable order.
10039
100402006-04-17 05:17  gb
10041
10042        * lisp-kernel/: errors.s, imports.s, lisp.s: Use C++-style
10043        single-line comments, since Solaris version of GAS doen't handle
10044        multi-line comments (/* ... */).  It -seems- that other assemblers
10045        do handle them correctly; we'll see.
10046
100472006-04-17 05:15  gb
10048
10049        * lisp-kernel/area.h: IMAGE_BASE_ADDRESS for SolarisX64.  Wrong.
10050
100512006-04-17 05:15  gb
10052
10053        * lisp-kernel/Threads.h: Conditionalize for Solaris.
10054       
10055        TODO: drop Jaguar support, use POSIX (vice Mach) semaphores on all
10056        platforms ?
10057
100582006-04-17 05:01  gb
10059
10060        * lisp-kernel/solarisx64/Makefile: new file
10061
100622006-04-17 04:56  gb
10063
10064        * lisp-kernel/linuxx8664/Makefile: Make it a little easier to
10065        change the name/usage of the linker script.
10066       
10067        Stop using the linker script (since spjump is the only thing in the
10068        kernel that has to be at a fixed address and we can copy it there.)
10069       
10070        Don't disable the EGC.
10071
100722006-04-17 04:54  gb
10073
10074        * lisp-kernel/x86-spjump64.s: Define spjump_start as the origin of
10075        the spjump table, exported for C (so that spjump can be mapped into
10076        low memory.)
10077
100782006-04-17 04:54  gb
10079
10080        * lisp-kernel/x86-spentry64.s: Use reserved_frame_marker.
10081       
10082        If the tlb's too small when trying to bind a special, push the
10083        binding index of the symbol we're binding (for the benefit of the
10084        handler.)
10085
100862006-04-17 04:52  gb
10087
10088        * lisp-kernel/x86-gc.c: Check for cases where a function has more
10089        code words than it has elements (can't happen, unless the
10090        function's code-words word is garbage, which seems to happen when
10091        closures get consed up in non-zeroed memory.)
10092       
10093        Make sure that we mark and forward Itemp2 (= %rcx = %temp2 =
10094        %nargs.q), which sometimes contains something tagged and
10095        non-immediate.
10096
100972006-04-17 04:48  gb
10098
10099        * lisp-kernel/x86-exceptions.c: new_heap_segment() (slowly) checks
10100        to ensure that everythings's zeroed.
10101       
10102        x8664 implementation of extend_tcr_tlb().
10103       
10104        on a gc trap, use tcr->save_allocptr (not the random value in %rbx)
10105        in call to update_bytes_allocated().
10106       
10107        normalize_tcr() - alway set tcr->save_allocptr/tcr->save_allocbase
10108        to VOID_ALLOCPTR (I -think- that this explains the crash-on-quit
10109        bug, and possibly some other instabiliy.)
10110       
10111        handle_exception: keep trying to guess how to distinguish memory
10112        faults from other sources of SIGSEGV.
10113       
10114        On debug traps, advance the PC past the UUO before entering the
10115        debugger.
10116       
10117        Handle XUUO_TLB_TOO_SMALL.
10118
101192006-04-17 04:42  gb
10120
10121        * lisp-kernel/: x86-constants64.h, x86-constants64.s:
10122        reserved_frame_marker.
10123
101242006-04-17 04:42  gb
10125
10126        * lisp-kernel/thread_manager.c: Remove implementation of
10127        extend_tcr_tlb().
10128
101292006-04-17 04:41  gb
10130
10131        * lisp-kernel/ppc-exceptions.h: Prototype for PPC version of
10132        extend_tcr_tlb().
10133
101342006-04-17 04:41  gb
10135
10136        * lisp-kernel/ppc-exceptions.c: PPC version of extend_tcr_tlb().
10137
101382006-04-17 04:40  gb
10139
10140        * lisp-kernel/pmcl-kernel.c: Remap the spjump table on x8664, so
10141        that we don't need to use a linker script.
10142
101432006-04-17 04:40  gb
10144
10145        * lisp-kernel/Threads.h: extend-tcr-tlb: signature defined by
10146        target xxx-exceptions.h now.
10147
101482006-04-17 04:39  gb
10149
10150        * lib/misc.lisp: Some comment formatting/editing.
10151
101522006-04-17 04:38  gb
10153
10154        * level-1/version.lisp: Bump.
10155
101562006-04-17 04:38  gb
10157
10158        * level-1/l1-readloop.lisp: Some debugging code in the code which
10159        creates the final closure.  It seems that when it's bad, it's bad
10160        on creation (here.)
10161
101622006-04-17 04:37  gb
10163
10164        * level-1/l1-processes.lisp: Some debugging code in
10165        PROCESS-EXIT-APPLICATION, to try to catch whatever's causing the
10166        final closure to be trashed.
10167       
10168        I don't think that other threads were getting their allocptr's
10169        nullified correctly by the GC/normalize_tcr(); with the current
10170        debugging code in place, it seems like the closure is consed on top
10171        of something other than free, thread-private heap memory (when it's
10172        bad, it fails the first check here.  I'm not sure that the latest
10173        round of GC/normalize-tcr() changes have fixed the problem, but I
10174        haven't seen it in a while now, either.)
10175
101762006-04-17 04:32  gb
10177
10178        * level-0/X86/x86-def.lisp: %FUNCTION-CODE-BYTE (for partial
10179        disassembly, etc.).
10180
101812006-04-17 04:31  gb
10182
10183        * compiler/X86/X8664/x8664-vinsns.lisp: Use RESERVED-FRAME-MARKER
10184        in RESERVE-OUTGOING-FRAME; don't use ENSURE-RESERVED-FRAME at all
10185        (anymore.)
10186       
10187        Subprims are down in low memory again; make INIT-CLOSURE skip
10188        setting the high byte of .SPcall-closure's address if it's zero.
10189
101902006-04-17 04:28  gb
10191
10192        * compiler/X86/X8664/x8664-arch.lisp: Define RESERVED-FRAME-MARKER,
10193        which may help backtrace.
10194
101952006-04-17 04:26  gb
10196
10197        * lib/: backtrace.lisp, ppc-backtrace.lisp: Split up RAW-FRAME-REF
10198        (interface/implementation.)
10199
102002006-04-15 09:20  gb
10201
10202        * level-1/x86-callback-support.lisp: Ensure that callback
10203        trampolines are allocated in executable memory.
10204
102052006-04-15 09:12  gb
10206
10207        * lib/dumplisp.lisp: Refresh external entry points before reviving
10208        callbacks.  Reset callback storage before reviving callbacks.
10209
102102006-04-15 09:10  gb
10211
10212        * level-1/x86-error-signal.lisp: Don't prefix the unknown trap
10213        error message with a %.  (Where did that come from ?)
10214
102152006-04-15 09:08  gb
10216
10217        * level-1/ppc-callback-support.lisp: Don't (knock wood) need to do
10218        anything in RESET-CALLBACK-STORAGE for PPC, since malloc()ed memory
10219        is executable.
10220
102212006-04-14 09:02  gb
10222
10223        * lib/time.lisp: Jeez.  Save buffer, why dontcha.
10224
102252006-04-14 08:21  gb
10226
10227        * lib/time.lisp: ENCODE-UNIVERSAL-TIME: treat year 0-99 as
10228        shorthand for the nearest matching year.
10229
102302006-04-14 08:20  gb
10231
10232        * lib/format.lisp: FORMAT-PRINT-NUMBER was printing commas even
10233        when : was missing.
10234
102352006-04-13 23:09  gb
10236
10237        * lib/ppc-backtrace.lisp: Eschew missing parens.
10238
102392006-04-13 23:08  gb
10240
10241        * lib/describe.lisp: Change NTH-VALUE-IN-FRAME call.
10242
102432006-04-13 23:08  gb
10244
10245        * lib/backtrace.lisp: DBG-FORM checks the second return value from
10246        ARGLIST-FROM-MAP.
10247
102482006-04-13 23:02  gb
10249
10250        * lib/arglist.lisp: Don't pass a "conser" function around (the idea
10251        is leftover from 68K MCL).  ARGLIST-FROM-MAP tries to be consistent
10252        about returning a second value; returns values NIL, T for functions
10253        that take no args and don't have a symbol map.
10254
102552006-04-13 22:53  gb
10256
10257        * level-1/l1-lisp-threads.lisp: Try to make args to
10258        NTH-VALUE-IN-FRAME et al a little saner.
10259
102602006-04-13 22:37  gb
10261
10262        * lib/numbers.lisp: Conditionalize on word size, not PPC processor
10263        type.
10264
102652006-04-13 22:36  gb
10266
10267        * level-1/version.lisp: Bump.
10268
102692006-04-13 22:35  gb
10270
10271        * level-1/l1-aprims.lisp: Remove the DBG trap from #'APPLY.  Still
10272        trying to find the cause of the crash-on-quit bug.
10273
102742006-04-13 07:30  gb
10275
10276        * lib/ppc-backtrace.lisp: Migrate some stuff here.
10277
102782006-04-13 07:29  gb
10279
10280        * level-1/l1-lisp-threads.lisp, lib/backtrace.lisp: Migrate some
10281        stuff to target-backtrace.
10282
102832006-04-13 06:45  gb
10284
10285        * lisp-kernel/x86-gc.c: mark_root: need to handle TRAs earlier.
10286
102872006-04-13 06:44  gb
10288
10289        * lisp-kernel/pmcl-kernel.c: Set GC debug bits manually here on
10290        x8664.
10291
102922006-04-13 06:44  gb
10293
10294        * level-1/x86-error-signal.lisp: XP-ARGUMENT-LIST: only the low 13
10295        bytes of %nargs_q contain arg count.
10296
102972006-04-13 06:43  gb
10298
10299        * level-1/l1-error-system.lisp: No EVAL-PROGRAM-ERROR. Please.
10300
103012006-04-13 06:43  gb
10302
10303        * level-1/l1-aprims.lisp: Trying to find what's (sometimes)
10304        trashing a closure during QUIT; embed a #+x86-target breakpoint in
10305        APPLY.
10306
103072006-04-13 06:42  gb
10308
10309        * level-0/X86/x86-numbers.lisp: Bad typo in %FIXNUM-GCD.
10310
103112006-04-13 06:41  gb
10312
10313        * compiler/X86/x862.lisp: Lap expression changes; recycle constant
10314        operands.
10315
103162006-04-13 06:41  gb
10317
10318        * compiler/X86/x86-lap.lisp: Freelist a lot of things; use
10319        "vector-lists" instead of adjustable arrays, simplify handling of
10320        constant expressions.  Still conses hysterically; need to find out
10321        where and tone it down a bit, if possible.
10322
103232006-04-13 06:39  gb
10324
10325        * compiler/X86/x86-disassemble.lisp: Maybe no lap immediate
10326        operands; maybe no lap constant-expressions.
10327
103282006-04-13 06:39  gb
10329
10330        * compiler/X86/x86-asm.lisp: Don't need
10331        *lap-constant-0-expression*.
10332
103332006-04-13 00:46  gb
10334
10335        * lisp-kernel/linuxx8664/Makefile: Kernel depends on Makefile,
10336        linker script.
10337
103382006-04-13 00:45  gb
10339
10340        * lisp-kernel/linuxx8664/elf_x86_64.x: Use linker script from ld
10341        2.16.1 (Thanks to James Bielman).
10342
103432006-04-12 18:53  gb
10344
10345        * lisp-kernel/linuxx8664/elf_x86_64.x: Try to avoid use of
10346        PROVIDE_HIDDEN, since some versions of GNU ld don't like it.  (Most
10347        of this seems to have to do with C++ static constructors, which
10348        aren't really relevant here.)
10349
103502006-04-12 18:28  gb
10351
10352        * lisp-kernel/x86-spentry64.s: Use movd (not movq) when moving
10353        between %Rforeign_sp and GPRs.
10354
103552006-04-12 18:22  gb
10356
10357        * lisp-kernel/linuxx8664/Makefile: egc flag
10358
103592006-04-12 18:08  gb
10360
10361        * lisp-kernel/x86-gc.c: Add current/prev (temporarily) to help find
10362        where we're losing here.
10363
103642006-04-12 18:07  gb
10365
10366        * lisp-kernel/x86-exceptions.c: pc_luser_xp: notice if we're in the
10367        write barrier code, crap out if so.
10368
103692006-04-12 18:06  gb
10370
10371        * lisp-kernel/pmcl-kernel.c: Disable EGC if DISABLE_EGC is defined
10372        (presumably in a Makefile).
10373
103742006-04-12 14:50  gb
10375
10376        * level-1/version.lisp: Bump.
10377
103782006-04-12 14:46  gb
10379
10380        * lib/: compile-ccl.lisp, ppc-backtrace.lisp, systems.lisp,
10381        x86-backtrace.lisp: new target backtrace stuff.
10382
103832006-04-12 14:45  gb
10384
10385        * lib/backtrace.lisp: Start splitting things up, ideally into a
10386        mostly abstract API and gory platform- dependent implementation
10387        details.
10388
103892006-04-11 21:40  gb
10390
10391        * lisp-kernel/pmcl-kernel.c: Only way to stress-test EGC is to turn
10392        the damned thing on.  (A little painful with integrity checking
10393        enabled, as it still is by default.)
10394       
10395        TODO:
10396       
10397        - sleep (me) - non-recursive (link-inverting) marker - pc-lusering
10398        (pc_luser_xp()) - backtrace - ANSI CL tests - purify - 2d-aref - FP
10399        exception handling - check UUO usage in kernel, disassembler,
10400        exception handlers - stack overflow recovery
10401
104022006-04-11 21:24  gb
10403
10404        * lisp-kernel/x86-gc.c: Skip over function code in
10405        check_refmap_consistency.
10406
104072006-04-11 21:23  gb
10408
10409        * lisp-kernel/x86-spentry64.s: Write barrier memoization sets bits
10410        backwards.
10411
104122006-04-11 19:11  gb
10413
10414        * compiler/X86/x862.lisp: Change LABELS for new closure format.
10415
104162006-04-11 19:11  gb
10417
10418        * lisp-kernel/x86-spentry64.s: 3 words of code + inner function in
10419        a closure, no lfname slot in closure.
10420
104212006-04-11 16:29  gb
10422
10423        * lisp-kernel/linuxx8664/.gdbinit: ada  prints active dynamic (GC)
10424        area.
10425
104262006-04-11 16:29  gb
10427
10428        * lisp-kernel/x86-subprims64.s: Maintain the MXCSR on transitions
10429        between lisp/foreign code.
10430
104312006-04-11 16:29  gb
10432
10433        * lisp-kernel/x86-spentry64.s: Add write barrier stuff (may have
10434        bit-order problems.)
10435       
10436        Maintain the MXCSR on transitions between lisp/foreign code.
10437
104382006-04-11 16:28  gb
10439
10440        * lisp-kernel/x86-macros.s: Access globals in expressions.
10441
104422006-04-11 16:27  gb
10443
10444        * lisp-kernel/x86-gc.c: Start to implement EGC for X8664; this'll
10445        need some bootstrapping stuff (function boundary markers) for a few
10446        reasons, as will DWS marker.
10447
104482006-04-11 16:27  gb
10449
10450        * lisp-kernel/x86-exceptions.c: If we get an FP exception, report
10451        the siginfo error code.
10452
104532006-04-11 16:26  gb
10454
10455        * lisp-kernel/: x86-constants64.h, x86-constants64.s: Define MXCSR
10456        fields in tcr.
10457
104582006-04-11 16:25  gb
10459
10460        * lisp-kernel/x86-constants.h: Define MXCSR bits.
10461
104622006-04-11 16:25  gb
10463
10464        * lisp-kernel/thread_manager.c: Setup the MXCSR somewhat sanely
10465        when starting a lisp thread.  (It'll be saner when FP exceptions
10466        are handled.)
10467
104682006-04-11 16:24  gb
10469
10470        * level-1/x86-error-signal.lisp: Recognize what complaints about
10471        non-uvectors are trying to tell us.
10472
104732006-04-11 16:23  gb
10474
10475        * level-1/l1-io.lisp: PRINT-OBJECT method for TRAs, symbol/function
10476        vectors.
10477
104782006-04-11 16:23  gb
10479
10480        * level-1/l1-clos-boot.lisp: Spell TAGGED-RETURN-ADDRESS with more
10481        Ses.  Define classes for function/symbol vectors.
10482
104832006-04-11 16:22  gb
10484
10485        * level-0/X86/x86-def.lisp: %RETURN-ADDRESS-OFFSET.
10486
104872006-04-11 16:21  gb
10488
10489        * compiler/X86/X8664/x8664-vinsns.lisp: Closure initialization
10490        needs to add a function boundary marker (but we can stop padding
10491        each closure with a null function name slot.)
10492
104932006-04-11 16:20  gb
10494
10495        * compiler/X86/X8664/x8664-arch.lisp: Define
10496        FUNCTION-BOUNDARY-MARKER, which should never exist in the wild.
10497
104982006-04-11 16:19  gb
10499
10500        * compiler/X86/x862.lisp: Emit a function boundary marker between
10501        code and constants. (For GC reasons.) Change closure initialization
10502        to account for it.
10503
105042006-04-11 16:18  gb
10505
10506        * compiler/X86/x86-lap.lisp: Emit a function boundary marker
10507        between code and constants. (For GC reasons.)
10508
105092006-04-11 16:17  gb
10510
10511        * compiler/X86/x86-disassemble.lisp: Require more stuff.
10512
105132006-04-11 16:17  gb
10514
10515        * compiler/nxenv.lisp: Require X8664ENV on X8664.
10516       
10517        See if we can get by without 68K condition code ...
10518
105192006-04-11 06:53  gb
10520
10521        * lisp-kernel/x86-exceptions.c: We'll need to handle FP exceptions
10522        soon.
10523
105242006-04-11 06:53  gb
10525
10526        * lib/numbers.lisp: Infinity constants conditionalized on/off
10527        during MXCSR adventures.  On now.
10528
105292006-04-11 06:52  gb
10530
10531        * lib/describe.lisp: Comment indentation.
10532       
10533        No such thing as an interpreted function; hasn't been for years.
10534
105352006-04-11 06:51  gb
10536
10537        * level-1/x86-threads-utils.lisp: Fixup lfun bits of %FIXNUM-SET et
10538        al.
10539
105402006-04-11 06:51  gb
10541
10542        * level-1/version.lisp: Bumped yesterday.
10543
105442006-04-11 06:50  gb
10545
10546        * level-1/l1-error-signal.lisp: Comments.
10547
105482006-04-11 06:50  gb
10549
10550        * level-1/l1-clos-boot.lisp: CLASS-OF handles non-simple vectors,
10551        at least.
10552
105532006-04-11 06:50  gb
10554
10555        * level-0/X86/x86-float.lisp: MXCSR stuff.  Better, mostly because
10556        a fixnum constant is boxed in %SET-MXCSR.
10557
105582006-04-11 06:49  gb
10559
10560        * level-0/X86/x86-def.lisp: Get info about register usage.
10561
105622006-04-11 06:49  gb
10563
10564        * compiler/X86/X8664/x8664-vinsns.lisp: Natural arithmetic; start
10565        work on 2d aref.  Fix MISC-SET-U64 (or some flavor thereof), which
10566        though that it was dealing with a scaled index.
10567
105682006-04-11 06:48  gb
10569
10570        * compiler/X86/x862.lisp: Natural arithmetic; start work on 2d
10571        aref.
10572
105732006-04-11 06:48  gb
10574
10575        * compiler/X86/x86-lap.lisp: FRAGs are freelisted.  Really need to
10576        do something about FRAG-CODE-BUFFERs, and need to tone down
10577        expression overkill.
10578
105792006-04-11 06:46  gb
10580
10581        * compiler/X86/x86-backend.lisp: Vinsn template fixup mechanism,
10582        for when opcode ordinals change.
10583
105842006-04-11 06:46  gb
10585
10586        * compiler/X86/x86-asm.lisp: UUO-ERROR-STACK-OVERFLOW ->
10587        UUO-ERROR-ARRAY-RANK.
10588       
10589        Vinsn template fixup mechanism, for when opcode ordinals change.
10590
105912006-04-11 06:45  gb
10592
10593        * compiler/X86/x86-arch.lisp: Try to unscramble MXCSR bits/masks.
10594
105952006-04-11 06:45  gb
10596
10597        * compiler/nx0.lisp: NX-U31-CONSTANT-P.
10598
105992006-04-11 06:44  gb
10600
10601        * compiler/dll-node.lisp: WITH-DLL-NODE-FREELIST: syntax to allow
10602        specialized list header initialization.
10603
106042006-04-11 06:43  gb
10605
10606        * level-1/l1-error-system.lisp, compiler/arch.lisp: Type errors for
10607        2d float arrays.
10608
106092006-04-10 10:19  gb
10610
10611        * lisp-kernel/x86-spentry64.s: _SPcallback is now called with the
10612        foreign SP properly obeying C alignment conventions.  In order to
10613        get it aligned for lisp usage during the callback, an extra word
10614        needs to be pushed before the backpointer to the old foreign RSP.
10615
106162006-04-10 10:18  gb
10617
10618        * lisp-kernel/x86-exceptions.c: Ensure that the copied sigcontext
10619        is 16-byte aligned, so that the foreign stack pointer is aligned
10620        according to C conventions when we enter the signal handler on that
10621        stack.
10622
106232006-04-10 10:13  gb
10624
10625        * lib/numbers.lisp: Define FP infinities, since we're running with
10626        FP exceptions masked. (We don't handle FP exceptions on X8664 yet,
10627        but this was crashing due to ldmxcsr/stmxcsr confusion, not because
10628        an unmasked FP exception was raised and unhandled.)
10629
106302006-04-10 10:10  gb
10631
10632        * lib/level-2.lisp: Remove the WARN and the conditionalization
10633        around bit/bitfield accessors on X8664.
10634
106352006-04-10 10:09  gb
10636
10637        * level-0/X86/x86-float.lisp: Repeat after me: to load the mxcsr
10638        from memory, we say "ldmxcsr".  We want to do such a load in order
10639        to write new values into the mxcsr.  To store it in memory, we say
10640        "stmxcsr".  We want to do such a store (and a subsequent load from
10641        memory) in order to access the value of the mxcsr.  Simple, no ?
10642
106432006-04-10 10:07  gb
10644
10645        * compiler/X86/: x862.lisp, X8664/x8664-vinsns.lisp:
10646        %GET-BIT/%SET-BIT.
10647
106482006-04-10 08:29  gb
10649
10650        * compiler/X86/X8664/x8664-vinsns.lisp: Float
10651        addition/multiplication: either arg can overlap result (and often
10652        will).  Float subtraction/division: caller should ensure that
10653        result and second arg are disjoint.
10654
106552006-04-10 08:27  gb
10656
10657        * compiler/X86/x862.lisp: Float arithmetic is two-address; ensure
10658        that result doesn't overlap second argument for non-commutative
10659        operations.
10660
106612006-04-10 08:26  gb
10662
10663        * lisp-kernel/lisp-debug.c: Show FPRs on LinuxX8664.
10664
106652006-04-10 05:12  gb
10666
10667        * lisp-kernel/thread_manager.c: Don't free dead TCRs if we didn't
10668        malloc them.
10669
106702006-04-10 05:12  gb
10671
10672        * lib/compile-ccl.lisp: REBUILD-CCL paramaters for :LINUXX8664.
10673
106742006-04-10 05:11  gb
10675
10676        * level-1/l1-pathnames.lisp: No need to reference PPC package, and
10677        good reason not to.
10678
106792006-04-10 04:39  gb
10680
10681        * xdump/xfasload.lisp: signed 32-bit, 64-bit integers in fasl files
10682        are always big-endian.
10683
106842006-04-10 04:38  gb
10685
10686        * lisp-kernel/x86-gc.c: mark_root(): if we're marking a function
10687        reachable via a TRA, update the variable "dnode" so that the
10688        correct bits get set.
10689
106902006-04-10 04:37  gb
10691
10692        * level-0/X86/X8664/x8664-bignum.lisp: Remove some breakpoints.
10693
106942006-04-10 04:37  gb
10695
10696        * level-0/X86/x86-array.lisp: %SIMPLE-BIT-BOOLE.  Could stand to be
10697        a bit simpler.
10698
106992006-04-10 04:36  gb
10700
10701        * level-0/l0-hash.lisp: Whoops: %SET-NEEDS-REHASHING is called from
10702        the MAKE-LOAD-FORM method for hashtables.
10703
107042006-04-09 09:17  gb
10705
10706        * lisp-kernel/thread_manager.c: Inflate control stack size on
10707        x8664, until DWS marker works (and do so correctly this time).
10708
107092006-04-09 09:12  gb
10710
10711        * lisp-kernel/thread_manager.c: Inflate control stack size on
10712        x8664, until DWS marker works.
10713
107142006-04-09 09:09  gb
10715
10716        * level-0/l0-hash.lisp: Now that bitvectors work, remove
10717        #+x86-target DBG trap.
10718
107192006-04-09 08:57  gb
10720
10721        * level-0/l0-hash.lisp: Set/clear rehash bits via SBIT, not AREF.
10722        (Should be exactly the same code, but may not have been 15 years
10723        ago or whenever this was written.)
10724
107252006-04-09 08:56  gb
10726
10727        * lisp-kernel/x86-spentry64.s,
10728        compiler/X86/X8664/x8664-vinsns.lisp: Clear bits in a bit vector
10729        via btrX (Bit Test and Reset), not btcX (Bit Test and Complement.)
10730
107312006-04-09 03:52  gb
10732
10733        * lisp-kernel/x86-macros.s: Parens around negative displacement in
10734        condition_to_boolean.  Not clear why this is necessary, but it
10735        seems to be.
10736
107372006-04-09 03:24  gb
10738
10739        * lisp-kernel/x86-macros.s: Use shorter sequence in
10740        condition_to_boolean.
10741
107422006-04-09 02:32  gb
10743
10744        * compiler/X86/X8664/x8664-vinsns.lisp: Using cmovCC intstead of
10745        setCC for cr-bit->boolean is 1 instruction and 2 bytes shorter, all
10746        other things being equal.
10747
107482006-04-09 01:37  gb
10749
10750        * compiler/X86/x86-asm.lisp: reg/reg variants of bsfX, bsrX had
10751        operands backwards.
10752
107532006-04-09 01:37  gb
10754
10755        * compiler/optimizers.lisp: Comment formatting.
10756
107572006-04-09 01:29  gb
10758
10759        * level-0/X86/X8664/x8664-bignum.lisp: %BIGNUM-SIGN-DIGITS:
10760        bsr/xorl != clz when (zerop n).
10761
107622006-04-08 21:25  gb
10763
10764        * lisp-kernel/x86-exceptions.c: Forget about blocking SIGINT in
10765        current thread before entering kernel debugger.
10766
107672006-04-08 21:21  gb
10768
10769        * lib/compile-ccl.lisp: early def of XLOAD-LEVEL-0: require
10770        (TARGET-XLOAD-MODULES).
10771
107722006-04-08 21:21  gb
10773
10774        * lisp-kernel/x86-spentry64.s: misc_set_s16: forgot a lognot.
10775
107762006-04-08 21:20  gb
10777
10778        * level-0/nfasload.lisp: 64-bit vectors: target::, not ppc64::.
10779
107802006-04-08 20:46  gb
10781
10782        * lib/foreign-types.lisp: Add missing paren ...
10783
107842006-04-08 20:45  gb
10785
10786        * lib/foreign-types.lisp: Recognize a :struct-by-value case.
10787
107882006-04-08 20:44  gb
10789
10790        * compiler/X86/X8664/x8664-backend.lisp: X8664 ABI seems to pass
10791        structs by value, sort of.
10792
107932006-04-08 20:43  gb
10794
10795        * x86-headers64/libc/C/populate.sh: Add -D_GNU_SOURCE to CFLAGS.
10796
107972006-04-08 20:42  gb
10798
10799        * library/hash-cons.lisp: Port some of this to x8664; need to add
10800        code to maintain "used" bitmap.
10801
108022006-04-08 20:42  gb
10803
10804        * lib/numbers.lisp: Conditionalize out the FP infinity stuff in the
10805        short term.
10806
108072006-04-08 20:41  gb
10808
10809        * lib/edit-callers.lisp: %MAP-LFIMMS: lfun-vector changes.  Should
10810        someday fix this crap.
10811
108122006-04-08 20:40  gb
10813
10814        * lib/describe.lisp: Conditionalize, a little.
10815
108162006-04-08 20:40  gb
10817
10818        * lib/db-io.lisp: SAVE-DB-FUNCTION appears to be unused.
10819
108202006-04-08 20:39  gb
10821
10822        * level-1/l1-io.lisp: PRINT-A-NAN not #+ppc-target.
10823
108242006-04-08 20:39  gb
10825
10826        * level-1/l1-readloop-lds.lisp: Error reentry stuff here.
10827
108282006-04-08 20:39  gb
10829
10830        * level-1/l1-sockets.lisp: Workaround ffi translator lossage in
10831        _inet_ntoa (just as Darwin has for years; why not fix this ?)
10832
108332006-04-08 20:38  gb
10834
10835        * level-1/ppc-trap-support.lisp: Error-reentry stuff to
10836        l1-readloop-lds (nothing to do with PPC or traps ...)
10837
108382006-04-08 20:37  gb
10839
10840        * .cvsignore: Ignore *CL*/*cl*, not necessarily *CCL*/*ccl*.
10841
108422006-04-08 04:46  gb
10843
10844        * compiler/X86/x862.lisp: X862-MVCALL needs to always save and
10845        restore, even if there's only one values-producing form (that form
10846        might produce more values than will fit in argument registers, and
10847        we therefore have to reserve space for a stack frame.)
10848
108492006-04-08 04:45  gb
10850
10851        * compiler/X86/x86-asm.lisp: Need to actually define INSERT-IMM64.
10852
108532006-04-08 04:43  gb
10854
10855        * lib/macros.lisp: Scanning backwards for instructions depends on a
10856        reasonable architecture.
10857
108582006-04-08 04:43  gb
10859
10860        * lib/compile-ccl.lisp: TARGET-XLOAD-MODULES for x8664.
10861
108622006-04-08 04:42  gb
10863
10864        * xdump/xfasload.lisp: Hide ppc32 double-float-vector stuff in
10865        target arch.
10866
108672006-04-08 04:41  gb
10868
10869        * xdump/.cvsignore: ignore *.*fsl
10870
108712006-04-07 22:46  gb
10872
10873        * compiler/nx.lisp: XCOMPILE-LAMBDA is #+ppc-target for now.
10874
108752006-04-07 22:45  gb
10876
10877        * compiler/nx1.lisp: Provide an FTYPE declaration for
10878        %DEFINE-PPC-LAP-FUNCTION.
10879
108802006-04-07 22:25  gb
10881
10882        * level-1/version.lisp: Bump.
10883
108842006-04-07 22:19  gb
10885
10886        * compiler/PPC/ppc-asm.lisp, compiler/PPC/ppc-backend.lisp,
10887        compiler/PPC/ppc-disassemble.lisp, compiler/PPC/ppc-lap.lisp,
10888        lib/backtrace-lds.lisp: ARCH::OPCODE, ARCH::OPERAND moved to CCL
10889        package.
10890
108912006-04-07 22:18  gb
10892
10893        * compiler/risc-lap.lisp: OPCODE, OPERAND moved here and from
10894        arch:: to ccl::.
10895
108962006-04-07 22:17  gb
10897
10898        * compiler/arch.lisp: OPERAND, OPCODE belong elsewhere (in
10899        RISC-LAP, for instance).  That's a different package, too.
10900
109012006-04-07 20:46  gb
10902
10903        * library/lispequ.lisp: %CONS-FAKE-STACK-FRAME here.  Really.
10904
109052006-04-07 20:45  gb
10906
10907        * level-0/l0-pred.lisp: *IMMHEADER-1-TYPES* was wrong, too.  Should
10908        I maybe look at the others, or just fix them as I stumble on them ?
10909
109102006-04-07 20:44  gb
10911